内网渗透(四)--通信技术
本文最后更新于:2 年前
主要通信技术
当拿到某网络主机的权限,发现无法将流量或者权限发送出来,对渗透造成了很大的影响,所以内网渗透必须需要了解到两种主要的通信技术–代理与隧道(端口转发)技术。
代理技术解决的问题:代理简单来讲解决网络之间的通信问题,如内网与外网之间或者两者自己之间的通信,两个不同内网的通信就必须借助到代理,否则无法通讯。
隧道技术解决的问题:简单来讲就是解决流量无法发送,隧道技术多用来绕过一些安全设备的监控,如防火墙过滤问题,网络连接通讯问题,数据回链封装问题,对我们发送的流量进行了拦截,这个时候需要接触隧道技术绕过拦截,隧道技术就是使用不同的协议把走不通的路走通。走不同的协议技术建立通讯,可以说是其中也包括了一些代理的技术。
代理
正向代理和反向代理
正向代理就是你主动请求连接服务器,反向代理就是服务器主动连接你。
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率;
反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。
另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。
隧道(端口转发)
一般情况,在渗透测试后获取主机权限后下一步就是内网渗透,内网中的其他机器是不允许外网机器访问的。这时候,我们可以通过 隧道(端口转发) 或将这台外网服务器设置成为 代理,使得我们自己的攻击机可以直接访问与操作内网中的其他机器。实现这一过程的手段就叫做端口转发。
隧道技术使用在不同的OSI层进行,大体总结了以下三种:
网络层:IPV6隧道,ICMP隧道
传输层:TCP隧道,UDP隧道,常规的端口转发
应用层:SSH隧道,HTTP/S隧道,DNS隧道
需要注意的是,使用某种隧道之前,需要检查环境本身是否支持这种协议的使用,才能去使用响应的隧道传输。
常用工具
内网渗透中常用的代理工具有很多,例如lcx,nps,frp,venom,proxifier/proxychains+reGeorg等等。这里我就不全部讲解了。
1.LCX(Windows)/Portmap(Linux)
很有名的一款工具,杀软直接秒杀,上传到目标机器前要提前做好免杀。下载地址:https://github.com/AA8j/SecTools/tree/main/lcx
下面介绍一下使用该工具的两种场景。
(1)假如此时已经拿到了边界服务器的权限,但是由于防火墙限制,进网端口被限制,但可以出网,此时就可以将边界服务器的端口转发到攻击机上,然后访问攻击机的端口。
边界服务器为Windows:
1 |
|
边界服务器为Linux:
1 |
|
(2)假如此时已经拿到了边界服务器的权限,但是由于防火墙策略限制导致3389端口无法出网,此时可以将此端口映射到可以出网的端口。
边界服务器为Windows:
1 |
|
此时远程桌面连接192.168.8.56的53端口即可。
边界服务器为Linux:
推荐使用ssh隧道。
可能有师傅会问,既然已经把远程端口转发到本地了,为什么还要在本地再转发一次呢?这是因为-slave
参数和-listen
参数必须成对出现,否则连接远程桌面会一直连不上。
2.netsh
Windows自带的一款工具,不需要上传到目标机器。值得注意的是,它不能把本地端口转发到其它机器上。
1 |
|
3.reGeorg
reGeorg是一款把内网服务器端口的数据通过http/https隧道转发到本机,实现基于HTTP通信的工具。使用时需要配合webshell建立一个socks5代理来进行内网穿透,支持多种类型的webshell。因为使用频繁,所以较多的杀软都会拦截,需要做免杀处理。
免杀版本下载:GitHub - L-codes/Neo-reGeorg: Neo-reGeorg is a project that seeks to aggressively refactor reGeorg
在边界服务器上传webshell后,浏览器访问边界服务器webshell所在地址,如果出现提示:Georg says,'All seems fine'
,则说明连接建立成功。
不过这款工具一般搭配proxifier或者proxychains使用。启用上面的脚本后,命令行会显示转发到本地的端口,这时再搭配proxifier或者proxychains使用就可以了。
4.netcat(nc)
这款工具太有名了,被称为“网络界的瑞士军刀”。除了用来端口转发以外,还能用来传输文件、端口扫描,不过这里我们不作讲解,有兴趣的自行研究进阶用法。
常用命令行参数:
1 |
|
一般用作反弹shell,正向连接很少用。在公网vps上监听:
1 |
|
目标机则可以利用各种方式进行主动连接,例如bash反弹一句话、Python、PHP等。推荐给大家一个谷歌浏览器插件–Hack-Tools,里面可以生成各种正向连接命令,再也不用担心命令记不住了!
5.venom
参考文章:Venom工具的使用(内网渗透 多级代理)_rang#的博客-CSDN博客_venom工具
6.nps、frp
由于官方文档很详细,所以这里不再讲解。
还有一些极端情况,比如目标内网防火墙禁用了http协议,那么只能采用dns隧道、icmp隧道、ssh隧道了。由于篇幅有限,这里不再讲解,需要时搜索对应工具即可。