8月25日笔记

news2024/9/23 11:19:16

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.coloradmin.cn/o/2074521.html

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

相关文章

8月26日星期一今日早报简报微语报早读

8月26日星期一,农历七月廿三,早报微语早读。 1、中国战队EDG获得2024无畏契约全球冠军赛总冠军; 2、亚洲首例猴痘Ib变异病例出现,可通过飞沫传播; 3、三文鱼刺身隔夜返包销售 胖东来:奖励投诉者10万&…

第15届蓝桥杯青少组Scratch初级组省赛真题试卷

第十五届蓝桥杯青少组省赛Scratch初级组真题试卷 题目总数:10 总分数:360 选择题 第 1 题 单选题 Scratch运行以下程序,角色会说( )? A.29 B.31 C.33 D.35 第 2 题 单选题 scratch运行下列哪个程序后,宇航…

windows安全软件之火绒杀毒的密码忘记后处理

一、问题描述 某次,想升级系统补丁,但多次尝试后都失败,排查杀毒软件影响过程中,发现火绒杀毒配置了密码保护,但因时间太久,密码已无从考证,那我们应该怎样处理这种情况呢? 二、处…

机器学习课程学习周报九

机器学习课程学习周报九 文章目录 机器学习课程学习周报九摘要Abstract一、机器学习部分1.1 Word Embedding1.1.1 词嵌入的基本概念1.1.2 word2vec连续词袋模型CBOW1.1.3 word2vec跳字模型Skip-gram 1.2 Transformer代码实践DatasetDataloaderModelLearning rate scheduleModel…

C++STL之list的使用详解

一、简介 1、底层:list为双向链表,即struct中包含一个数据和两个指针,分别指向前一个节点和后一个节点,在堆上分配空间,每插入一个元数都会分配空间,每删除一个元素都会释放空间 2、性能 ① 访问&#x…

C++语言学习(八)—— 继承、派生与多态(二)

目录 一、多继承 1.1 多继承中的二义性问题 1.2 虚基类 二、多态 2.1 静态绑定与静态多态 2.2 动态绑定与动态多态 三、运算符重载 3.1 重载、- -运算符 3.2 重载赋值运算符 3.3 重载输出流<<、输入流>>运算符 3.3.1 重载输出流&#xff08;<<&am…

VirtualBox下安装Centos7.9虚拟机的踩坑记录

目录 0 背景1 安装Centos7.91.1 下载iso镜像1.2 正常安装虚拟机1.3 将用户添加到sudoers并免密1.4 更新yum源1.5 配置静态IP1.6 通过ssh工具传文件1.7 总结 0 背景 最近搞了个便宜的低配台式机用来敲代码&#xff0c;主要是嫌弃笔记本屏幕太小了&#xff0c;想用个大屏。 然后我…

129页《战略推演:获取竞争优势的思维与方法》

知识星球APP搜索【战略咨询文库】&#xff0c;下载700多份资料 一、战略思维 差异化战略 产品或服务差异化&#xff1a;通过提供独特的产品特性、功能、设计或品质&#xff0c;满足特定客户群体的需求&#xff0c;从而与竞争对手区分开来。例如&#xff0c;苹果公司以其创新…

LeetCode 面试经典 150 题回顾

目录 一、数组 / 字符串 1.合并两个有序数组 &#xff08;简单&#xff09; 2.移除元素 &#xff08;简单&#xff09; 3.删除有序数组中的重复项 &#xff08;简单&#xff09; 4.删除有序数组中的重复项 II&#xff08;中等&#xff09; 5.多数元素&#xff08;简单&am…

数据结构与算法的实现与优化

目录 引言 数据结构与算法的重要性 实现与优化的基本原则 线性表的实现 顺序表与链表的实现 静态链表与动态链表的对比 栈与队列的实现 顺序栈与链栈的实现 顺序队列、链队列、循环队列与双端队列的实现 高级树结构的实现 二叉树、平衡树与哈夫曼树的实现 图的实现…

SSRF——redis(未授权访问)①

本文介绍如何复现并利用Redis的未授权访问漏洞&#xff0c;以达到远程代码执行和获取系统权限的目的。Redis版本&#xff08;2.8&#xff09;&#xff0c;于Ubuntu环境下进行。 SSRF&#xff08;Server-Side Request Forgery&#xff09;是一种网络安全漏洞&#xff0c;允许攻击…

前端实现两张图片合成,图片换背景,简单p图程序

前言 最近在自己做一个图文工具网站&#xff0c;图片背景替换功能&#xff0c;后台通过opencv的AI算法抠出了图片主元素&#xff0c;现在需要把抠出来的元素换一个背景色&#xff0c;或者合成到一张背景图片中&#xff0c;如何操作呢&#xff1f; 实现方式Demo 我考虑的是…

linux系统使用 docker 来部署运行 mysql5.7 并配置 docker-compose-mysql.yml 文件

Docker是一个开源的容器化平台&#xff0c;旨在简化应用程序的创建、部署和管理。它基于OS-level虚拟化技术&#xff0c;通过将应用程序和其依赖项打包到一个称为容器的标准化单元中&#xff0c;使得应用程序可以在任何环境中快速、可靠地运行。 Docker的优势有以下几个方面&a…

【解决问题】linux系统运行程序可以打印信息到屏幕,重定向到一个文件,文件中没有信息

在Linux系统中运行程序时&#xff0c;如果你发现程序打印的信息无法通过重定向写入到文件中&#xff0c;那么很可能是因为程序将信息打印到了标准错误流&#xff08;stderr&#xff09;&#xff0c;而不是标准输出流&#xff08;stdout&#xff09;。重定向操作通常只对标准输出…

20240826 每日AI必读资讯

突发&#xff01;IBM中国研发岗访问权限一夜关闭&#xff0c;千人或被裁 - IBM中国区一夜关闭了研发测试岗员工的内部权限&#xff0c;波及1000多名员工。 - 今年3月&#xff0c;IBM大中华区董事长陈旭东在媒体及分析师沟通会上表示&#xff0c;公司在IBM大中华区的战略将聚焦…

《重生到现代之从零开始的C语言生活》—— 指针4

字符指针变量 在指针类型中我们知道有一种指针类型为字符指针char* 如果我们想用他 int main() {char p w;char *d &p;return 0; }他可以存放字符变量的地址 也可以这么使用 int main() {char *d "hello"return 0 ; }其本质是把字符串"hello"的…

动态链接库——深入探讨C++程序中.so技术细节和实现方式及C程序中动静态库的区别(+工程分步骤编译库)

在开发中&#xff0c;动态链接库&#xff08;DLL&#xff09;和共享对象&#xff08;Shared Object&#xff09;.so文件的使用成为提升程序灵活性和重用性的关键手段。如下相关工具&#xff0c;GNU Libtool: 一种用于创建可移植共享库的工具。Dynamic Linker: 关于动态链接器的…

VSCode - 终端使用 code 命令

1、Command Shift P 调出 输入 shell 选择 安装命令 2、授权 3、使用 % code --version 1.92.1 eaa41d57266683296de7d214f574d0c2652e1fc4 arm64% code ~/.zshrc 伊织 2024-08-21&#xff08;三&#xff09;

6.InnoDB引擎

InnoDB引擎 1.逻辑存储结构2.架构2.1内存架构2.2 磁盘结构 3.事务原理3.1 事务3.2 redo log3.3undo log 4.MVCC4.1MVCC 基本概率14.2 实现原理 1.逻辑存储结构 2.架构 2.1内存架构 2.2 磁盘结构 create tablespace mytest add datafile mytest.idb engineinnodb;后台线程 mys…

Ubuntu 24.04 上安装和配置 Zabbix Agent

Zabbix 是一个强大的开源监控工具&#xff0c;可以帮助您跟踪服务器&#xff0c;网络和应用程序。在主机环境中配置了 Zabbix Server 之后&#xff0c;下一步是添加用于监视的远程主机。Zabbix Agent 从您的服务器收集数据并将其发送到 Zabbix 服务器进行监控。 本指南将向您展…