隐藏通信隧道技术
完成内网信息收集后,渗透测试人员需要判断流量是否进得去、出得来。
隐藏通信隧道技术通常用于在访问受限的网络环境中追踪数据流向和在非信任的网站中实现安全数据传输。
一、隐藏通信隧道技术基础知识
1.1隐藏通信隧道概述
什么是隧道?
这里的隧道,就是一种绕过端口屏蔽的通信方式。
常用的隧道列举:
- 网络层:IPv6隧道、ICMP隧道、GRE隧道
- 传输层:TCP隧道、UDP隧道、常规端口转发
- 应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道
1.2判断内网连通性
判断内网的连通性是指判断机器能否上外网等。
需要综合各种协议(TCP、HTTP、DNS、ICMP等)和端口通信的情况。
常规允许流出端口 : 80、8080、443、53、110、123等。
1.2.1ICMP协议
ping
命令
1.2.2TCP协议
netcat
也就是nc
通过使用TCP或UDP协议的网络连接读写数据
命令: nc -nv IP port
nc -h
其他参数
[v1.12 NT http://eternallybored.org/misc/netcat/]
connect to somewhere: nc [-options] hostname port[s] [ports] …
listen for inbound: nc -l -p port [options] [hostname] [port]
options:
-d detach from console, background mode
-e prog inbound program to exec [dangerous!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
-l listen mode, for inbound connects
-L listen harder, re-listen on socket close
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-s addr local source address
-t answer TELNET negotiation
-c send CRLF instead of just LF
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net read