跳板攻击之:EarthWorm代理转发
跳板攻击之:EarthWorm代理转发
1 EarthWorm官方介绍
- EarthWorm是一款用于开启 SOCKS v5 代理服务的工具,基于标准 C 开发,可提供多平台间的转接通讯,用于复杂网络环境下的数据转发。
- 下载地址:rootkiter/EarthWorm: Tool for tunnel (github.com)
- 软件位置:
.\EarthWorm\server\download
2 官方使用方法:
该工具共有 6 种命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。
- 其中 SOCKS5 服务的核心逻辑支持由 ssocksd 和 rssocks 提供,分别对应正向与反向socks代理。
- 其余的 lcx 链路状态用于打通测试主机同 socks 服务器之间的通路。
- lcx 类别管道:
- lcx_slave: 该管道一侧通过反弹方式连接代理请求方,另一侧连接代理提供主机。
- lcx_tran: 该管道,通过监听本地端口接收代理请求,并转交给代理提供主机。
- lcx_listen:该管道,通过监听本地端口接收数据,并将其转交给目标网络回连的代理提供主机。
2.1 环境

2.2 正向 SOCKS v5 服务器
实现:让外网kali通过对外服务器Win10访问内网CentOS
对外服务器Win10上执行
ew_for_win_32.exe -s ssocksd -l 1080
kali上配置
vim /etc/proxychains4.conf
socks5 192.168.50.236 1080
成功访问到内网

2.3 反弹 SOCKS v5 服务器
实现:让外网kali通过对内网CentOS反弹的SOCKS v5 访问内网CentOS
在外网kali上运行以下命令:
# 监听1080端口,1080接收的数据通过8888交互传递
./ew_for_linux -s rcsocks -l 1080 -e 8888
在Win10上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口
# 开启反向socks服务。反向连接vps(kali)的8888端口
./ew_for_linux -s rssocks -d 192.168.50.2 -e 8888
kali上配置
vim /etc/proxychains4.conf
socks5 127.0.0.1 8080
成功访问到内网

2.4 多级级联

2.4.1 正向多级级联
实现:让外网kali通过对外服务器Win10代理转发到内网CentOS上访问内网CentOS2主机
kali上执行
# 监听1080端口,1080接收的数据通过8888交互传递
./ew_for_linux -s lcx_listen -l 1080 -e 8888 # 配置proxychains
vim /etc/proxychains4.conf
socks5 127.0.0.1 1080
在内网CentOS上执行
# 开启正向socks服务
./ew_for_linux -s ssocksd -l 9999
- 注意:防火墙要放行相应端口
在Win10上执行
# 作为中间角色,反向连接vps(kali)的8888,正向连接Innet2(CentOS2)的9999。打通两者
ew_for_win_32.exe -s lcx_slave -d 192.168.50.2 -e 8888 -f 10.0.0.7 -g 9999
成功连接内网
10.1.1.0/24网段
2.4.2 反向多级级联
实现:让内网CentOS反弹的SOCKS v5 通过对外服务器Win10代理转发,反向连接外网kali。最终实现让外网kali对内网CentOS2访问。
kali上执行
./ew_for_linux -s rcsocks -l 1080 -e 8888 # 配置proxychains
vim /etc/proxychains4.conf
socks5 127.0.0.1 1080
在win10上执行
# 监听1080端口,1080接收的数据正向传给forward_ip(kali)的8888端口
ew_for_win_32.exe -s lcx_tran -l 9999 -f 192.168.50.2 -g 8888
在内网CentOS上执行
/ew_for_linux -s rssocks -d 10.0.0.6 -e 9999
成功连接内网
10.1.1.0/24网段
2.4.3 三级级联本地SOCKS测试用例
卷不动了,有兴趣的测试下
$ ./ew -s rcsocks -l 1080 -e 8888
$ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999
$ ./ew -s lcx_listen -l 9999 -e 7777
$ ./ew -s rssocks -d 127.0.0.1 -e 7777
- 数据流向: SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks
3 补充说明:
- 为了减少网络资源的消耗,程序中添加了超时机制,默认时间为10000毫秒(10秒),用户可以通过追加 -t 参数来调整这个值,单位为毫秒。在多级级联功能中,超时机制将以隧道中最短的时间为默认值。
- 多级级联的三种状态可以转发任意以TCP为基础的通讯服务,包括远程桌面/ssh 服务等。
- ew_for_arm_32 在android手机、小米路由器和树莓派 上测试无误
跳板攻击之:EarthWorm代理转发的更多相关文章
- ssh代理转发
实验环境 serverA:172.16.2.116 serverB:172.16.2.225 serverC:172.16.2.115 "代理转发"是针对ssh认证过程的一种转发 ...
- curl运行json串,代理转发格式
curl -b 'uin=o0450654733; skey=@tq9xjRvYy' -H "Content-Type: application/json" -X POST -d ...
- windows下使用密钥登录Linux及xshell代理转发
1.密钥登录原理 一般我们使用xshell访问远程主机(Linux主机)时,都是先请管理员给我们开一个账户,即为我们设置一个一个用户名和对应的密码,然后我们就可以使用下面的方式登录到远程主机了: 在这 ...
- IIS充当代理转发请求到Kestrel
接着上篇博文为ASP.NetCore程序启用SSL的code,这篇将介绍如何用IIS充当反向代理的角色转发请求到Kestrel服务器 与ASP.NET不同,ASP.netCore使用的是自托管web服 ...
- Nginx代理转发Apache+svn
1.安装svn和httpd yum install httpd yum install subversion mod_dav_svn 创建仓库目录 mkdir -p /var/www/svn 3.创建 ...
- nginx反向代理转发后页面上的js css文件无法加载【原创】
故障现象:nginx做代理转发后,发现页面上的js css文件无法加载,页面样式乱了. 原因:没有配置静态资源 解决js css文件无法加载无法访问的问题 解决办法: 修改配置文件nginx.conf ...
- Docker Kubernetes hostPort 代理转发
Docker Kubernetes hostPort 代理转发 hostPort: 1. 类似docker -p 映射宿主级端口到容器. 2. 容器所在的主机暴露端口转发到指定容器中. 3. hos ...
- IIS充当反向代理转发请求到Kestrel
接着上篇博文为ASP.NetCore程序启用SSL的code,这篇将介绍如何用IIS充当反向代理的角色转发请求到Kestrel服务器 介绍 与ASP.NET不同,ASP.netCore使用的是自托管w ...
- iis和apache共用80端口,IIS代理转发apache
为什么共用80端口应该不用多说了,服务器上程序运行环境有很多套,都想抢用80端口,所以就有了共用80端口的解决方案. 网上很多的教程一般都是设置APACHE使用默认80端口,代理转发IIS的网站,II ...
- (转)基于live555的流媒体代理转发服务器
对于并发量并不大而且对性能要求不是很高的流媒体传输模块,live555还是很好的选择,下面说一下我所实现的流媒体代理服务器(目前只能实现对H264单视频的转发)代理转发主要 对于并发量并不大而且对性能 ...
随机推荐
- day34 JSTL标签
JSTL标签 <!-- 写在jsp文件的最前 --> <!-- JSTL标签库是一个JSP标签的集合,封装了许多jsp应用程序通用的核心功能 prefix="c" ...
- VSCode解决Python中空格和制表符混用报错
Python对缩进的要求非常严格,缩进控制不正确可能会造成代码执行不正确甚至报错. 遇到报错"TabError: inconsistent use of tabs and spaces in ...
- Jmeter 之 jp@gc - Stepping Thread Group
jp@gc - Stepping Thread Group 自定义线程组,根据业务需要进行设计用户增加间隔时间等 1. 下载jmeter-plugins-manager-1.3.jar插件放入lib ...
- nuxt 登录注册加重置密码
<!-- 登录弹框 --> <div class="mask" v-show="flag"> <div class="m ...
- 重学c#系列——元组 [三十一]
前言 元组并不是c# 7.0的东西,早之前就有,叫做tuple.7.0加了valuetuple. 来看下元组吧,主要一些注意的地方. 正文 为什么在7.0 之前,元组用的不多呢? 因为tuple 在代 ...
- JavaScript:操作符:赋值运算符和空赋值(??=)
=号是赋值运算,即返回符号右边的结果,同时将结果赋值给符号左边的变量,考虑下面代码的运行结果: 赋值运算b = 1 + 1,做了两件事,先返回符号右边的结果,即2,这个2将参与a = 1 + 2的计算 ...
- 跟光磊学Java-macOS版Java8开发环境搭建(基于Intel x86 64-bit)
Java语言核心技术 日常办公和软件开发除了可以使用Windows系统以外,还可以使用macOS系统,至于具体使用什么系统取决于你入职公司之后公司给你发的什么电脑,如果是MacBookPro那么就 ...
- 如何通过Terraform Associate考试并获得证书
1 什么是Terraform? Terraform是一个IaC工具,IaC全称为Infrastructure as Code,基础设施即代码.它的理念是通过代码来管理基础设施,如服务器.数据库等,更多 ...
- 史上最简单 OpenCV for C++ 在 Windows 和 Ubuntu 上编译安装使用教程
准备工作 原材料 Ubuntu 系统(非必须,Windows 也可以,主要是 Ubuntu 适合编译) OpenCV 3.4.1 压缩包 OpenCV contrib 3.4.1 压缩包 MinGW( ...
- .NET周报【1月第4期 2023-01-28】
由于微信公众号排版问题,建议大家在PC端浏览. 国内文章 C# 很少人知道的科技 https://blog.lindexi.com/post/C-很少人知道的科技.html 本文来告诉大家在C#很少有 ...