Mr Robot(爆破后台+suid提权)

mr.robot(无漏洞、爆破后台)

mr.robot(无漏洞、爆破后台)

靶机下载地址:扫一扫,linux系统,发现只开了80、443,进去看一看,web页面是一个模拟linux终端的页面


如果输入指定的命令,则会出现一段视频,或者一些文字,(⊙﹏⊙)这个靶机到底想传达什么。

如果输入以外的命令,显示command not recongnized...

查看主页面的源代码,发现两个注释,什么东东?

1.you are not alone.你并不孤独

2.如果是ie9浏览器,显示,你使用一个过时的浏览器,请到https://browsehappy.com/升级你的浏览器,提升浏览体验。

用paros扫描,没有发现明显的漏洞。

发现目录/audio , /css ,/js ,用浏览器访问,显示403 forbidden


看来,要看看提供的六个命令。依次输入了这些命令,了解到,这个服务器是一个组织fsociety的,这个组织貌似是反||美的一个z-f组织,最后一个命令join会要求你提供一个邮箱,还说会跟你联系。。

然而如何突破防线,没有任何思路。

这时候注意到,浏览器是这样,http://192.168.1.116/wakeup,说明是通过get方式请求页面的。

于是不在终端输入,而直接在url上输入。输入任何东西,都会跳转到下图所示页面,而且显示xx(你输入的字符)404not found.


了解到,该网站是用wordpress搭建的,yoxi~

扫描下后台,用的我写的脚本


em?用浏览器打开,然后页面就一直抽搐。。

wget http://192.168.1.116/admin/index.html

firefox index.html

浏览器打开后,发现是白页,查看源代码,和http://192.168.1.116 的源代码并没有什么差别,不过又注意到了原先没注意的一条代码。


难道要伪造IP——208.185.115.6,才能访问index.html?


然而,并没有什么区别,响应还是那个页面。。

访问/admin页面,显示301 Moved Permanently永久重定向?页面显示重定向的页面是/admin/,打开一看,又是老页面。


好吧,放弃该死的后台寻找,看看writeup

wpscan --url 192.168.1.116 --enumerate p

wpscan介绍:用wordpress专用扫描器,,

http://192.168.1.116/robots.txt

http://192.168.1.116/wp-content/plugins/google-analytics-for-wordpress/readme.txt

http://192.168.1.116/wp-content/plugins/contact-form-7/

...............

扫描出了很多目录,而且获得了一个key(总共有三个,靶机下载介绍过)。而且扫描器指出,可能有存储型XSS。


终于找到一个突破点了,不容易啊。。。对xss不熟悉的同学,跟我复习一下好了。

xss,cross-site-scipt跨站脚本攻击:web提供了输入输出的地方(这是正常功能对吧?),如果没有过滤,就可以输入脚本。

如果脚本可以永久存储,就叫存储型xss(打击面为所有访问网站的客户端),若不能,就叫反射型xss。


并没有弹框

呃。。不会了


nikto扫描器试试,还挺给力的,找到后台。。

nikto -h http://192.168.1.116


wget http://192.168.1.116/fsocity.dic > fsociety.txt    这个目录是robots.txt指出来的

用来爆破后台,作为用户名字典。参考文献

burp爆破,扫描一段时间后,通常错误页面Length长度为4073,然后找到一个4124的,虽然没有找到用户名和密码,但是elliot这个用户名是存在的。。

吐血,居然有登陆表单的错误信息不是“无效的用户名或密码”,而是“你输入的xx用户名的密码是错的哦~”


然后就换一下payload,用户名设置为elliot,密码设置为一个txt字典。

遗憾的是,并没有爆破出来,没有好的字典吧。。

呃,再试试fsociety.txt 作为密码字典,有近86万条,扫了好久。。


方法二:用wpscan爆破,wpscan --url http://192.168.1.116/ --wordlist /root/fs.txt --username elliot

爆破结果,密码是ER28-0652

尝试获取webshell

1.直接上传php脚本,有限制。


2.用msfvenom生成php载荷,参考这个实验中的方式

成功上传攻击载荷。

但是访问http://192.168.1.116/wp-content/uploads/2018/02/xxd.gif

本地没有获得metapreter。

(猜测)反弹metapreter失败了。。

这是为什么,,难道因为没有文件包含就执行不了么,不可能吧。

猜测:本地文件包含是在服务端,运行payload。而访问这个链接,服务端直接将gif文件发送过来,浏览器打开失败(本来就不是真的图片)。所以没有达到运行的目的。


3.F12-响应头,获得服务器php版本,PHP/5.5.29。这个版本有点高啊,不能截断上传了。

抱着死猫碰上瞎耗子的心情,试了试,果然不能。试了试该文件名后缀为.jpg,无效。

4.下载一个php-reverse-shell,然后修改ip。既然不能上传新的php文件,那么修改现有的php文件。


只要运行一下错误页面,就获得了一个shell。


总结:

本次突破防线,利用的是后台提示用户名和密码太“贴心”。

如果提示“登陆失败,错误的用户名或密码。”

再加上一个强密码。(本次爆破成功,密码强度还可以,不算弱密码)爆破的成功率可以忽略不计。

学习了wpscan、nikto扫描。

不要依赖单一的工具。。

学习了一种新的获取webshell的思路

前景提要:上次通过爆破后台,修改404.php获得一个webshell。现在学习提权。

id、whoami、hostname

信息:daemon用户,uid=1说明是系统用户,主机名linux

cd home/robot

信息:获得另一个key(2/3),和passwd文件,文件内容:

robot:c3fcd3d76192e4007dfb496cca67e13b

MD5解码:abcdefghijklmnopqrstuvwxyz

(⊙﹏⊙)这个明显是偏CTF,而不是模拟真实渗透环境啊。

su robot/abcdefghijklmnopqrstuvwxyz


寻找有SUID权限的文件。


于是通过nmap提权。

查看nmap版本:/usr/local/bin/nmap --version   或者 nmap -V

老版本的nmap(2.02-5.21)有一个交互模式,使得用户可以执行shell。

nmap --interactive

!sh

pwd

cd root

ls

获得第三个key.