跳板攻击之: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 服务器

  1. 实现:让外网kali通过对外服务器Win10访问内网CentOS

  2. 对外服务器Win10上执行

    ew_for_win_32.exe -s ssocksd -l 1080
  3. kali上配置

    vim /etc/proxychains4.conf
    socks5 192.168.50.236 1080
  4. 成功访问到内网

2.3 反弹 SOCKS v5 服务器

  1. 实现:让外网kali通过对内网CentOS反弹的SOCKS v5 访问内网CentOS

  2. 外网kali上运行以下命令:

    # 监听1080端口,1080接收的数据通过8888交互传递
    ./ew_for_linux -s rcsocks -l 1080 -e 8888
  3. Win10上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口

    # 开启反向socks服务。反向连接vps(kali)的8888端口
    ./ew_for_linux -s rssocks -d 192.168.50.2 -e 8888
  4. kali上配置

    vim /etc/proxychains4.conf
    socks5 127.0.0.1 8080
  5. 成功访问到内网

2.4 多级级联

2.4.1 正向多级级联

  1. 实现:让外网kali通过对外服务器Win10代理转发到内网CentOS上访问内网CentOS2主机

  2. 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
  3. 在内网CentOS上执行

    # 开启正向socks服务
    ./ew_for_linux -s ssocksd -l 9999
    • 注意:防火墙要放行相应端口
  4. 在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
  5. 成功连接内网10.1.1.0/24网段

2.4.2 反向多级级联

  1. 实现:让内网CentOS反弹的SOCKS v5 通过对外服务器Win10代理转发,反向连接外网kali。最终实现让外网kali内网CentOS2访问。

  2. kali上执行

    ./ew_for_linux -s rcsocks -l 1080 -e 8888
    
    # 配置proxychains
    vim /etc/proxychains4.conf
    socks5 127.0.0.1 1080
  3. 在win10上执行

    # 监听1080端口,1080接收的数据正向传给forward_ip(kali)的8888端口
    ew_for_win_32.exe -s lcx_tran -l 9999 -f 192.168.50.2 -g 8888
  4. 在内网CentOS上执行

    /ew_for_linux -s rssocks -d 10.0.0.6 -e 9999
  5. 成功连接内网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 补充说明:

  1. 为了减少网络资源的消耗,程序中添加了超时机制,默认时间为10000毫秒(10秒),用户可以通过追加 -t 参数来调整这个值,单位为毫秒。在多级级联功能中,超时机制将以隧道中最短的时间为默认值。
  2. 多级级联的三种状态可以转发任意以TCP为基础的通讯服务,包括远程桌面/ssh 服务等。
  3. ew_for_arm_32 在android手机、小米路由器和树莓派 上测试无误

跳板攻击之:EarthWorm代理转发的更多相关文章

  1. ssh代理转发

    实验环境 serverA:172.16.2.116 serverB:172.16.2.225 serverC:172.16.2.115 "代理转发"是针对ssh认证过程的一种转发 ...

  2. curl运行json串,代理转发格式

    curl -b 'uin=o0450654733; skey=@tq9xjRvYy' -H "Content-Type: application/json" -X POST -d ...

  3. windows下使用密钥登录Linux及xshell代理转发

    1.密钥登录原理 一般我们使用xshell访问远程主机(Linux主机)时,都是先请管理员给我们开一个账户,即为我们设置一个一个用户名和对应的密码,然后我们就可以使用下面的方式登录到远程主机了: 在这 ...

  4. IIS充当代理转发请求到Kestrel

    接着上篇博文为ASP.NetCore程序启用SSL的code,这篇将介绍如何用IIS充当反向代理的角色转发请求到Kestrel服务器 与ASP.NET不同,ASP.netCore使用的是自托管web服 ...

  5. Nginx代理转发Apache+svn

    1.安装svn和httpd yum install httpd yum install subversion mod_dav_svn 创建仓库目录 mkdir -p /var/www/svn 3.创建 ...

  6. nginx反向代理转发后页面上的js css文件无法加载【原创】

    故障现象:nginx做代理转发后,发现页面上的js css文件无法加载,页面样式乱了. 原因:没有配置静态资源 解决js css文件无法加载无法访问的问题 解决办法: 修改配置文件nginx.conf ...

  7. Docker Kubernetes hostPort 代理转发

    Docker Kubernetes  hostPort 代理转发 hostPort: 1. 类似docker -p 映射宿主级端口到容器. 2. 容器所在的主机暴露端口转发到指定容器中. 3. hos ...

  8. IIS充当反向代理转发请求到Kestrel

    接着上篇博文为ASP.NetCore程序启用SSL的code,这篇将介绍如何用IIS充当反向代理的角色转发请求到Kestrel服务器 介绍 与ASP.NET不同,ASP.netCore使用的是自托管w ...

  9. iis和apache共用80端口,IIS代理转发apache

    为什么共用80端口应该不用多说了,服务器上程序运行环境有很多套,都想抢用80端口,所以就有了共用80端口的解决方案. 网上很多的教程一般都是设置APACHE使用默认80端口,代理转发IIS的网站,II ...

  10. (转)基于live555的流媒体代理转发服务器

    对于并发量并不大而且对性能要求不是很高的流媒体传输模块,live555还是很好的选择,下面说一下我所实现的流媒体代理服务器(目前只能实现对H264单视频的转发)代理转发主要 对于并发量并不大而且对性能 ...

随机推荐

  1. 高效率开发Web安全扫描器之路(一)

    一.背景 经常看到一些SRC和CNVD上厉害的大佬提交了很多的漏洞,一直好奇它们怎么能挖到这么多漏洞,开始还以为它们不上班除了睡觉就挖漏洞,后来有机会认识了一些大佬,发现它们大部分漏洞其实是通过工具挖 ...

  2. 第二十六节:urllib、requests、selenium请求库代理设置

    1.urllib代理设置 1 from urllib.error import URLError 2 from urllib.request import ProxyHandler 3 from ur ...

  3. SpringBoot3.x中spring.factories功能被移除的解决方案

    背景 笔者所在项目组在搭建一个全新项目的时候选用了SpringBoot3.x,项目中应用了很多SpringBoot2.x时代相关的第三方组件例如baomidou出品的mybatis-plus.dyna ...

  4. Kubernetes-基于容器云构建devops平台

    1.基于kubernetes devops的整体方案 本文以Kubernetes为基础,为基于java语言研发团队提供一套完整的devops解决方案.在此方案中,开发人员基于eclipse集成开发环境 ...

  5. <三>function函数对象类型的应用示例

    std::function是一组函数对象包装类的模板,实现了一个泛型的回调机制.function与函数指针比较相似,优点在于它允许用户在目标的实现上拥有更大的弹性,即目标既可以是普通函数,也可以是函数 ...

  6. Flutter和Rust如何优雅的交互

    前言 文章的图片链接都是在github上,可能需要...你懂得:本文含有大量关键步骤配置图片,强烈建议在合适环境下阅读 Flutter直接调用C层还是蛮有魅力,想想你练习C++,然后直接能用flutt ...

  7. 模型驱动设计的构造块(上)——DDD

    为了保证软件实践得简洁并且与模型保持一致,不管实际情况如何复杂,必须运用建模和设计的实践. 某些设计决策能够使模型和程序紧密结合在一起,互相促进对方的效用.这种结合要求我们注意每个元素的细节,对细节问 ...

  8. 【机器学习】李宏毅——Transformer

    Transformer具体就是属于Sequence-to-Sequence的模型,而且输出的向量的长度并不能够确定,应用场景如语音辨识.机器翻译,甚至是语音翻译等等,在文字上的话例如聊天机器人.文章摘 ...

  9. vue项目引入echarts柱状图

    一.components文件下引入 barCharts.vue文件 <template> <div :class="className" :style=" ...

  10. [数据结构]普里姆(Prim)算法生成最小生成树

    前提介绍:最小生成树概念 一个连通图的生成树是图的极小连通子图,它包含图中的所有定点,并且只含尽可能少的边,这意味着对于生成树来说,就砍去使生成树变成非连通图:若给它怎家一条边就会形成图中的一条回路. ...