8月25日笔记

IOX的使用

iox是一款功能强大的端口转发&内网代理工具,该工具的功能类似于lcx和ew,但是iox的功能和性能都更加强大。
实际上,lcx和ew都是非常优秀的工具,但还是有地方可以提升的。在一开始使用这些工具的一段时间里,那些复杂的命令行参数是很难记忆的,比如说tran、slave、rcsocks和sssocks等等。这些工具的工作机制非常清晰,明明可以用简单的参数来表示的,为什么要用这么复杂的参数来代替呢?除此之外,这些工具的网络编程逻辑也是可以优化的。比如说,在运行“lcx -listen 8888 9999”命令时,客户端必须先连接“:8888”,再连接“:9999”,实际上这两个端口的连接是没有顺序限制的,但是在iox里则没有这样的限制。再比如说,运行“lcx -slave 1.1.1.1 8888 1.1.1.1 9999”命令时,lcx会以串行的方式连接两个主机,但是并发连接两个主机会更高效,毕竟是纯I/O操作,而iox就是以这种更高效的方式实现的。
因为iox是采用Go编写的,所以静态连接的程序有一点大,原程序有2.2MB,而UPX压缩后只有800KB。

IOX特性

  • 流量加密(可选)
  • 友好的命令行参数
  • 逻辑优化
  • UDP流量转发
  • 反向代理模式中使用 TCP 多路复用

工具下载

项目地址:https://github.com/EddieIvan01/iox
将项目源码克隆到本地

git clone https://github.com/EddieIvan01/iox.git

QQ_1724586587730.png

iox参数

-l:监听本地的端口,带 * 意味着流量加密
-r:连接远程主机的端口,带 * 意味着流量加密
-k:十六进制格式键,用于生成键和 IV
-u:UDP 转发模式
-t:设置连接超时时间,默认是 5000s
-v:开启日志输出
-h:查看帮助

centos7下载go环境

文件地址:https://golang.google.cn/dl/go1.23.0.linux-amd64.tar.gz
安装命令:

tar -zxvf go1.23.0.linux-amd64.tar.gz -C /usr/local/

安装完成之后,通过修改配置文件 /etc/profile,使得环境变量永久生效。打开文件,在文件的最后加上下面的两行代码

export GOROOT=/usr/local/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

QQ_1724592055025.png
改完配置之后下次开机时才会生效。可以使用下面的命令来立刻生效。

source /etc/profile

go环境变量配置之后,查看版本和环境变量。

go version		#查看go的版本号
go env				#查看go的环境变量

QQ_1724592440249.png

iox工具编译安装

go环境安装完之后去到iox的文件夹。
执行以下命令。会生成一个名为iox的可执行文件。

go build -o iox main.go

QQ_1724592571685.png
QQ_1724592943307.png
网络问题,连接被拒绝了。
配置国内代理:

go env -w GOPROXY=https://goproxy.cn,direct

配置完再执行:go build -o iox main.go
QQ_1724593071726.png
成功编译。

iox的使用

所有的参数都是统一的。-l/--local意为监听本地端口;-r/--remote意为连接远端主机

-l 127.0.0.1:9999      -l *127.0.0.1:9999    ----------》 127.0.0.1:9999
-l 9999                -l *9999              ----------》 0.0.0.0:9999

iox有两种工作模式。

fwd转发模式

监听 0.0.0.0:88880.0.0.0:9999(即本地),将两个连接间的流量进行转发

./iox fwd -l 8888 -l 9999

QQ_1724593671054.png
监听本地 8888 端口将流量转发到 39.99.251.19 机器的 9999 端口,流量加密,密钥是:‘AAA’

./iox fwd -l *8888 -l *9999 -k 656565

QQ_1724593867489.png
监听本地 8888 端口将流量转发到 192.168.5.168机器的 9999 端口

./iox fwd -l 8888 -r 192.168.5.168:9999

QQ_1724594014359.png
监听本地 8888 端口将流量转发到 192.168.5.168 机器的 9999 端口,流量加密

./iox fwd -l *8888 -r *192.168.5.168:9999 -k 656565

QQ_1724594185628.png
连接 192.168.5.168:8888 和 192.168.5.168:9999, 在两个连接间转发流量
./iox fwd -r 192.168.5.168:8888 -r 192.168.5.168:9999
QQ_1724594280230.png
连接 192.168.5.168:8888 和 192.168.5.168:9999, 在两个连接间转发流量,流量加密
./iox fwd -r *192.168.5.168:8888 -r *192.168.5.168:9999 -k 656565
QQ_1724594341614.png

实践模拟

将内网主机的RDP端口转发到VPS上。
场景:公司拥有一台位于内网环境中的服务器,该服务器运行着 Windows Server 操作系统,并提供了远程桌面服务(RDP)。为了便于远程管理和维护这台服务器,您希望能够从外部网络通过 RDP 访问到这台内网服务器。然而,由于公司的网络策略和安全限制,内网服务器无法直接从外部网络访问。为了解决这个问题,使用了一台位于公共网络上的 VPS 作为跳板和拥有内网那台主机的权限。
VPS执行以下命令:

./iox fwd -l *9999 -l 3389 -k 656565

目标机器上执行

iox.exe fwd -r 192.168.5.128:3389 -r *192.168.5.168:9999 -k 656565

执行完命令之后连接192.168.5.168的3389端口就能连接登录上内网主机。
QQ_1724598618127.png
QQ_1724598607905.png
这里被控主机和 VPS:8888 之间的流量会被加密,预共享的密钥是’AAA’。

proxy代理模式

socks5反向代理

场景:我们获得了一个位于内网的通过 NAT 方式对外提供服务的主机的权限,现在我们需要对其所在的内网继续进行渗透。于是,我们就需要通过iox 建立一个 socks5 隧道代理,让我们的主机可以通过隧道访问其内网。
VPS执行以下命令:

./iox proxy -l *9999 -l *1080 -k 656565

目标机器执行以下命令:
将流量转发到192.168.5.168的 9999 端口

iox.exe proxy -r *192.168.5.168:9999 -k 656565

QQ_1724600026762.png
成功建立socks5隧道。接着使用socks5代理192.168.5.168的1080端口即可访问内网.
QQ_1724600254684.png
成功访问。

socks5正向代理

目标机器执行

./iox proxy -l 1080

QQ_1724600443186.png
QQ_1724600459377.png

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端常见**MS题 [3]

css部分 1、简单说明一下盒模型 CSS盒模型定义了盒的每个部分包含: margin, border, padding, content 。根据盒子大小的计算方式不同盒模型分成了两种,标准盒模型和怪异盒模型。 标准模型,给盒设置 width 和 height,实际设置的是…

C语言 | Leetcode C语言题解之第373题查找和最小的K对数字

题目&#xff1a; 题解&#xff1a; #define MIN(a, b) ((a) > (b) ? (b) : (a))int** kSmallestPairs(int* nums1, int nums1Size, int* nums2, int nums2Size, int k, int* returnSize, int** returnColumnSizes) {if (nums1Size 0 || nums2Size 0 || k < 0) {*ret…

Gerapy 分布式爬虫管理框架

什么是 Gerapy Gerapy 是一个基于 Scrapy 的分布式爬虫管理框架。它提供了一个图形化的用户界面&#xff0c;使得用户可以更方便地进行 Scrapy 项目的管理和调度。Gerapy 支持项目的创建、编辑、部署以及调度任务的管理。 功能作用 项目管理&#xff1a;Gerapy 允许用户通过 W…

数据结构系列-归并排序

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 归并排序 递归版本 首先&#xff0c;我们来看一下归并的示意图&#xff1a; 这是归并排序当中分解的过程。 然后便是两个两个进行排序&#xff0c;组合的过程。 归并完美的诠释…

C++类和对象(2)——拷贝构造函数

拷贝构造函数的语法 拷贝构造函数是构造函数的重载&#xff0c; 用于这种情况&#xff1a;用已经构造好的对象去给另一个对象初始化。 int main() {Date d1(2024, 8, 1);Date d2(d1);//用d1初始化d2return 0; } 我们以Date类为例子讲解一下。 class Date { public://全缺省…

【计算机网络】计算机网络的概念

什么是计算机网络&#xff1f; 计算机网络&#xff08;Computer networking&#xff09;是一个将众多分散的、自治的计算机系统&#xff0c;通过通信设备与线路连接起来&#xff0c;由功能完善的软件实现资源共享和信息传递的系统。 计算机网络、互连网、互联网的区别 计算机…

OpenCV几何图像变换(4)亚像素图像截取函数getRectSubPix()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 从图像中以亚像素精度检索像素矩形。 getRectSubPix 函数从 src 中提取像素&#xff1a; p a t c h ( x , y ) s r c ( x center.x − ( dst.…

指针之旅(1)—— 指针基础概念知识(详细解析)

前言&#xff1a;该篇我将详细讲解指针当中的一些基本概念&#xff0c;有内存和地址的部分硬件知识&#xff0c;有专门服务于指针的操作符&和*&#xff0c;有指针大小固定不变的原因&#xff0c;还有专属于指针的运算规则。 目录 1. 内存和地址 1.1 内存地址的概念&…

<数据集>非洲动物识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;1504张 标注数量(xml文件个数)&#xff1a;1504 标注数量(txt文件个数)&#xff1a;1504 标注类别数&#xff1a;4 标注类别名称&#xff1a;[buffalo, elephant, rhino, zebra] 序号类别名称图片数框数1buffalo3…

水凝胶与柔性电子啥关系?能用来干啥?

大家好&#xff0c;今天我们来聊一聊一篇关于水凝胶在柔性电子领域应用的文章——《Smart materials for flexible electronics and devices: hydrogel》发表于《RSC Advances》。随着科技的不断发展&#xff0c;柔性电子设备越来越受到关注&#xff0c;而水凝胶作为一种具有独…

Apache Flink内存模型

Flink 内存模型 大数据中所有开源的框架都会使用到JVM&#xff0c;不如&#xff0c;MapReduce&#xff0c;Storm&#xff0c;Spark等&#xff0c;这些计算框架处理数据过程中涉及到将大量数据存储到内存中&#xff0c;此时如果内存管理过渡依赖JVM&#xff0c;会出现java对象存…

docke进阶---镜像迁移、容器的ip地址、端口映射和持久化

1.镜像的迁移 1.镜像打包 #查看镜像有一个centos的镜像 [rootdocker0 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 5d0da3dc9764 2 years ago 231MB 3查看帮助文件 docker --help save Save one or more…

stm32-SD卡实验

1. SD简介 SD卡&#xff0c;Secure Digital Card&#xff0c;称为安全数字卡&#xff08;安全数码卡&#xff09;。 SD卡系列主要有三种&#xff1a;SD卡(full size)、MiniSD卡和MicroSD卡&#xff08;原名 TF卡&#xff09;。 特点&#xff1a;容量大、高安全性、体积小、传…

打包资料优化目录

这篇文章主要写一下这一次更新的几个地方&#xff0c;有对原来的代码及模型进行优化的部分&#xff0c;也有新增加的代码和模型&#xff0c;我就把几个比较典型的给列了出来。但是还有好多的更新没有在下面展示出来&#xff0c;因为一个个展示出来太复杂了。如果你对更新的内容…

暑期算法训练

目录 A.糖果&#xff08;Candy) B.小红的数组重排 C.牛牛与LCM D.子串 E.勤奋的杨老师 F.清楚姐姐跳格子 G.方块 I H.PUBG A.糖果&#xff08;Candy) 思路 &#xff1a;贪心&#xff0c;为了使操作数最少&#xff0c;我们要尽可能的先吃第二个盒子里的糖果&#x…

UE5.4 - 下载和安装

一. 简介 虚幻引擎&#xff08;Unreal Engine&#xff09;是由 Epic Games 公司推出的一款功能强大的游戏开发引擎。它于 1998 年推出第一代&#xff0c;其口号是 “全球最开放、最先进的实时 3D 创作工具”。 虚幻引擎被广泛应用于游戏产业&#xff0c;创作出了众多知名的 3…

【工具类】Java优雅的将XML转为JSON格式、XML转JSON

Java优雅的将XML转为JSON格式、XML转JSON 1. 导入依赖1.1 Maven使用1.2 Gradle使用 2. 代码编写3.运行示例 1. 导入依赖 1.1 Maven使用 <dependency><groupId>org.dom4j</groupId><artifactId>dom4j</artifactId><version>2.1.3</vers…

黑神话悟空,高清壁纸、原画,游戏截图

黑神话悟空&#xff0c;高清壁纸、原画&#xff0c;游戏截图&#xff1a; 链接&#xff1a;https://pan.quark.cn/s/cd17c05c4f33

【STM32】驱动LCD

没买LCD屏&#xff0c;没有上机实践&#xff0c;只是学习了理论。 大部分图片来源&#xff1a;正点原子HAL库课程 专栏目录&#xff1a;记录自己的嵌入式学习之路-CSDN博客 目录 1 屏幕接口 2 屏幕驱动的基本步骤 3 8080时序的各信号线 4 8080的读和写 5 屏…

二分查找算法:朴素二分+左右边界二分力扣实战应用

目录&#xff1a; 1、二分查找算法简介 2、算法原理及时间复杂度分析 2.1 朴素二分算法 3.2 查找左右边界的二分算法 3.2.1 查找左边界 3.2.2 查找右边界 3.3 时间复杂度分析 3、二分查找算法模版 3.1 朴素二分模版 3.2 查找左右边界的二分模版 4、算法应用【leetco…