Part1 工具簡介
yuze是我學習socket網絡編程后產出的工具,它幫助我深入了解了內網滲透中常見基于socks協議的隧道代理,流量轉發的原理。最初用go語言實現了正向、反向代理。由于編譯后體積問題,改用純C實現,支持ew的全部數據轉發方式。
它的很多的靈感來自于對EarthWorm(ew)的逆向,向前輩致敬。
特點
支持正向、反向代理
支持多種數據轉發方式,穿透復雜的網絡環境
支持任意以tcp協議為基礎的服務
體積小, 極輕量的內網穿透工具 (僅有25kb)
Part2 使用簡介
下面是對具體功能的使用場景和演示,為了方便使用,工具的部分功能承襲了ew,lcx的命名
yuze提供的正向代理
使用場景
可控主機有公網IP且可開啟任意監聽端口
示意圖
a) ./yuze -m s_server -l 7878
b) HackTools可使用Host_One主機的7878端口提供的socks5代理
yuze提供的反向代理
使用場景
可控主機不存在公網IP,但是可出網,通過主動連接的方式建立反向socks代理。類似frp
示意圖
a) ./yuze -m yuze_listen -s 7878 -e 9999
// 在具有公網IP的主機上添加轉接隧道,將7878端口收到的代理請求轉交給反連9999端口的主機
b) ./yuze -m r_server -r 127.0.0.1 -s 9999
// 將目標主機反向連接公網轉接主機
c) HackTools可使用Host_One主機的7878端口提供的socks5代理
同時支持了ew的幾種二重網絡環境的數據轉發方式
yuze_tran 使用場景
1. 獲得目標網絡內兩臺主機 A、B 的權限,情況描述如下:
A 主機:存在公網 IP,且自由監聽任意端口,無法訪問特定資源
B 主機:目標網絡內部主機,可訪問特定資源,但無法訪問公網
A 主機可直連 B 主機
示意圖
a) ./yuze -m s_server -l 9999
// 在 Host_Two 主機上利用 s_server 模式啟動 9999 端口的正向 socks 代理
b) ./yuze -m yuze_tran -s 7878 -d 127.0.0.1 -e 9999
// 在Host_One上將 7878 端口收到的 socks 代理請求轉交給 Host_Two 主機。
c) HackTools可使用Host_One主機的7878端口提供的socks5代理
yuze_slave 使用場景
2. 獲得目標網絡內兩臺主機 A、B 的權限,情況描述如下:
A 主機:目標網絡的邊界主機,無公網 IP,無法訪問特定資源。
B 主機:目標網絡內部主機,可訪問特定資源,卻無法回連公網。
A 主機可直連 B 主機
a) ./yuze -m yuze_listen -s 7878 -e 8888
// 在 Host_One 公網主機添加轉接隧道,將 7878 收到的代理請求
// 轉交給反連 8888 端口的主機
b) ./yuze -m s_server -l 9999
// 在 Host_Three 主機上利用 s_server 模式啟動 9999 端口的正向 socks 代理
c) ./yuze -m yuze_slave -r 127.0.0.1 -s 8888 -d 127.0.0.1 -e 9999
// 在 Host_Two 上,通過工具的 yuze_slave 模式,
// 打通Host_One:8888 和 Host_Three:9999 之間的通訊隧道
d) HackTools可使用Host_One主機的7878端口提供的socks5代理
TODO
致謝
https://rootkiter.com/EarthWorm/
項目地址:
https://github.com/P001water/yuze
下載:
源碼:yuze-master.zip
附件:yuze_for_win_x86.rar
附件:yuze_for_linux_x64.rar?
閱讀原文:https://xz.aliyun.com/t/13331?time__1311=GqmxuiDQiQo7qGXeCxU2GxgmRwhxAK43x
該文章在 2024/12/5 17:44:15 編輯過