内网常见隧道工具的使用

公众号:白帽子左一
领取配套练手靶场、安全全套课程及工具...
一、简介学习内网安全的时候,总会见到一些隧道的概念 。搭建隧道对于内网渗透来说是一个必不可少的环节 。简单理解,隧道的概念即是做端口转发,将流量通过某种方式,转发到内部机器 。
 
二、搭建隧道的场景分析在内网渗透的过程中,当获取到边界主机之后,需要继续深入渗透,这时就需要搭建代理或者建立隧道,去探测访问处于内网中的机器 。
常见的方法有:搭建socks5代理、端口转发、建立隧道等
三、常见隧道工具及其使用方法1、frp内网穿透工具frp即高性能反向代理应用,其主要用于将部分内网服务"暴露"到公网上供用户使用(例如http等) 。官方给出的功能列表如下:

利用处于防火墙后的机器,对外网环境提供 http 或 https 服务 。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口 。
利用处于防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司局部环境的主机 。
这里稍微谈论一下反向代理和正向代理:
(1)正向代理
即当客户端由于某种原因,不能访问外部服务的时候(例如防火墙的限制),就需要一台代理服务器来中转一下(例如使用socks5代理服务器) 。比较常见的方式就是使用VPN(俗称翻墙) 。
在内网渗透的过程中,当我们获取到一台边界服务器之后,需要继续向内进行渗透时,可以将该边界服务器作为代理服务器,通过该服务器去访问内网服务 。(即正向代理)
(2)反向代理
反向代理一般用于负载均衡 。即当我们想要访问Web服务时,会发送一条请求给反向代理服务器,该代理服务器会将请求转发给处于内网的Web服务器(根据负载程度,转发到不同服务器),从而实现负载均衡 。
反向代理对于客户端来说(即发送请求的一端)是透明,我们不知道代理服务器将请求发送给哪台主机 。
(3)正向代理与反向代理的区别
正向代理对于服务器来说是透明的,因为它不知道访问它的客户是谁,所有的请求都是通过正向代理服务器转发过去的 。
而反向代理对于客户端来说是透明的,即它不知道请求的目标主机的真正IP,因为它将所有的请求都只是发送到反向代理服务器上面 。
适用场景:
(1)由于防火墙的限制,部分端口不能直接访问,可以将端口转发出去从而绕过防火墙(前提是获取了该目标主机的shell)
(2)利用frp可以搭建socks5服务
采用实验的方式进行理解:
实验拓扑结构:
内网常见隧道工具的使用

文章插图
 
V-PS:192.168.226.130OWASP WEB:外:192.168.226.133内:192.168.100.100Ubuntu Server:192.168.100.101目的:将内网机器Ubuntu Server流量通过OWASP Web服务器转发出来
实验一:将内网机器的22号端口映射到边界服务器的6000端口# frp相关配置如下# frp服务端(边界服务器) frps.ini[common]bind_addr = 0.0.0.0bind_port = 7000# frp客户端(内网机器) frpc.ini[common]server_addr = 192.168.100.100server_port = 7000[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 6000# 启动服务# 服务端./frps -c frps.ini# 客户端./frpc -c frpc.ini
内网常见隧道工具的使用

文章插图
 
接下来在V-PS直接连接边界主机的6000端口即可连接到内网的22端口
内网常见隧道工具的使用

文章插图
 
实验二:使用frp实现socks5代理# frp相关配置如下# frp服务端(边界服务器) frps.ini[common]bind_addr = 0.0.0.0bind_port = 7000# frp客户端(内网机器) frpc.ini[common]server_addr = 192.168.100.100server_port = 7000[socks5]type = tcpremote_port = 6001plugin = socks5# 启动完成以后,在V-P-S配置一下/etc/proxychains.conf[ProxyList]socks5 192.168.226.133 6001接下来通过socks5代理的方式去访问内网机器的22号端口:
内网常见隧道工具的使用

文章插图
 
2、SSHSSH即Secure Shell,它对传输的数据进行了加密处理 。利用SSH,也可以实现端口转发
SSH一般用于本地端口转发和远程端口转发
(1)本地端口转发顾名思义,就是将本机的某个端口转发出去 。
考虑以下这种情况:
内网常见隧道工具的使用


推荐阅读