内网穿透基础

什么是内网穿透?

内网穿透简单来说就是将内网外网通过隧道打通,可以从外网获取到内网的数据。

一般在办公室或者在家里,通过拨号可以上互联网,此时办公网就是一个局域网,在局域网内可能有一些内部的系统,比如财务系统、人事考勤系统等等,局域网环境可以用内网IP直接访问,但是在互联网是无法直接访问这些局域网的系统。此时可以用一台公网固定IP的服务器,搭建一条直通内网的隧道,此时我们就可以通过隧道访问内网。

 一些基础概念

1、NAT是什么?

网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术。

它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

 

2、为什么需要NAT?

随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。一般用户几乎申请不到整段的C类IP地址。为了解决IPv4地址紧缺的问题,通过将一个公网IP地址和多个私网IP相对应,从而解决IP地址不够用的情况,但是这种技术仅起到了缓解的作用,真正解决还得靠IPv6来实现。

私有IP地址是指内部网络或主机的IP地址,公有IP地址是指在因特网上全球地址。私有网络预留出了三个IP地址块,如下:

A类:10.0.0.0 - 10.255.255.255

B类:172.16.0.0 - 172.31.255.255

C类:192.168.0.0 - 192.168.255.255

上述三个范围内的地址不会再因特网上被分配,因此可以在公司或者企业内部自由使用。

3、端口映射

端口映射是NAT的一种,是指将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机;利用端口映射功能还可以将一台外网IP地址机器的多个端口映射到内网不同机器上的不同端口。

4、端口转发

端口转发是转发一个网络端口从一个网络端口转发到另一个网络端口或从一个网络节点转发到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内网)上的一个端口。

内网渗透中常遇见的状况

1、目标处于网络边界,内外网都可以访问,网络边界主机未安装防火墙,所有端口都对互联网开放,此类业务场景已经极少出现

2、主机A能够正常访问外网:
我们通过内网主机A映射到外网主机W上的80端口,来访问内网主机A的WEB服务。此时我们仅仅是获取了内网主机A的一个Webshell,此时我们获取到主机A的3389账号密码。由于策略限制我们无法直接连接内网主机A的3389端口。因此我们可以将主机A的3389端口转发给我们可以控制主机的外网主机H的3399端口(不一定是3399,可以是其他未被占用的端口)上,然后我们访问外网主机H的3399端口就相当于访问了内网主机A的3389端口,相当于是创建了一条隧道。

3、主机A无法访问外网
我们通过内网主机A映射到外网主机W上的80端口,来访问内网主机A的WEB服务。此时我们仅仅是获取了内网主机A的一个Webshell。此时主机A无法反向的去连接我们的外网主机H,因此我们可以直接去连接A主机,通过代理脚本使A主机将我们访问的流量转发给本机或者内网B、C、D主机。

正向连接:是指你的机器主动连接到攻击者的控制服务器,建立一个从目标系统到攻击者的网络连接

反向连接:是指攻击者主动连接到你的机器上的漏洞监听端口,建立一个从攻击者到目标系统的网络连接

如何判断内网的连通性

判断内网的连通性是指判断目标机器能否与外网通信。有的情况下TCP协议被边界防火墙阻拦,但是DNS协议一般不会禁用。因此我们在判断时要把各种协议(TCP、HTTP、DNS、ICMP)和端口开放的情况考虑进去,常见允许流量流出的端口有80、8080、443、53、110、123等。因此在Cobalt strike中也是支持多种协议的beacon,对于端口被占用的情况下此时要把端口复用的技术考虑进来。

常用的内网连通性判断方法如下:

1、ICMP协议

执行命令ping ip

 命令:tracert ip

2、TCP协议

Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。

我们可以现在自己公网服务器启动nc监听一个端口例如:nc -lvp 8888

 

此时我们在目标服务器执行telent命令telnet ip 8088

此时nc收到连接此时可以判断目标tcp协议出网

 Netcat 号称 TCP/IP 的瑞士军刀,以体积小(可执行 200KB)功能灵活而著称,在各大发行版中都默认安装,你可以用它来做很多网络相关的工作,熟练使用它可以不依靠其他工具做一些很有用的事情。

3、HTTP协议

 curl是一个利用URL语法在命令行下工作的文件传输工具,支持文件上传和下载。curl支持众多协议:HTTP、HTTPS、FTP等。Linux自带curl命令。

命令:curl ip/域名

 

4、DNS协议

在DNS连通性检测时,常用的命令为nslookup和dig。nslookup是windows系统自带的DNS探测命令。dig是linux默认自带的DNS探测命令。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值