8月25日笔记(IOX的使用和go环境安装)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

密码小丑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值