域横向网络 & 传输 & 应用层隧道技术
1.前置知识:
1)代理和隧道技术区别:
代理主要是解决访问问题,而隧道用于在数据通信被拦截的情况下封装改变通信协议进行绕过拦截。
2)具体介绍:
在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统(ips/ids)来检查对外连接情况,如果发现异样,就会对通信进行阻断。
那么什么是隧道呢? 这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后穿过防火墙,与对方进行通信。当封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应服务器上。
3)具体解决:
已经获得一定的控制权,但是不能对控制的东⻄进行信息收集或执行它上面的东⻄,在数据通信被拦截的情况下,利用隧道技术封装改变通信协议进行:绕过拦截CS、MSF无法上线,数据传输不稳定无回显,出口数据被监控,网络通信存在问题等。
4)常用的隧道技术有以下三种:
- 网络层:IPV6隧道、ICMP隧道
- 传输层:TCP、UDP、端口转发
- 应用层:SSH、HTTP/S隧道、DNS隧道
2.演示案例:
3.网络、传输、应用层—检测连接通信:
1)TCP协议
用瑞士军刀-netcat
执行nc命令:nc<IP> <端口>
2)HTTP协议
用“curl”工具,执行curl<IP地址:端口>命令。如果远程主机开启了相应的端口,且内网可连接外网的话,就会输出相应的端口信息
3)ICMP协议
用"ping"命令,执行ping <IP地址/域名>
4)DNS协议
检测DNS连通性常用的命令是"nslookup"和"dig"
nslookup是Windows自带的DNS探测命令
dig是Linux系统自带的DNS探测命令
4.网络层ICMP隧道 ptunnel(老工具,可以使用新的)—使用检测利用:
pingtunnel 是把 tcp/udp/sock5 流量伪装成 icmp 流量进行转发的工具:
-p 表示连接 icmp 隧道另一端的机器