socat在Windows下的使用


目錄

0x01 socat的簡介

0x02 socat進行文件傳輸

0x03 socat正向端口轉發

0x04 socat反向端口轉發

注:

邊界機器 win08 192.168.222.175

內網機器 win7 192.168.222.137

0x01 socat的簡介

socat是一個多功能的網絡工具,名字來由是” Socket CAT”,可以看作是netcat的N倍加強版,其原版本是基於Linux的,這里我們使用Windows版本的,因為是移植過來的,需要依賴的庫也比較多,所以不是那么的方便,以后的使用可能更多的是基於Linux平台來進行的。

socat的主要特點就是在兩個數據流之間建立通道;且支持眾多協議和鏈接方式:ip,tcp,udp,ipv6,pipe,exec,system,open,proxy,openssl,socket等。

socat的官網:

http://www.dest-unreach.org/socat/

socat的下載鏈接:

http://www.dest-unreach.org/socat/download/

file

至於Windows的版本,我在網上找到了以下兩種,對其安全性不做任何保證

socat for Windows/Cygwin(這個版本缺少Cygwin的dll文件,需要自行解決):

http://www.nikhef.nl/~janjust/socat/socat-1.6.0.1-cygwin.bin.tar.gz

file

socat for Windows(這個版本已經打包了Cygwin的dll文件):

http://olds.blogcn.com/wp-content/uploads/16/1615/2009/08/socat.rar

file

0x02 socat進行文件傳輸

注:這里使用win08作為本地機器,win7作為目標機器來進行演示

這里我們以上傳win08機器上的123.txt為目標進行上傳

file

首先在win08機器上執行命令

socat.exe -u open:123.txt,binary tcp4-listen:53

file

執行之后,就會發現在這個文件夾下面已經生成了123.txt文件

file

注:create在哪個機器上執行,文件就會留在哪個機器上

0x03 socat正向端口轉發

首先我們需要在邊界機器上執行

socat.exe tcp4-listen:53,reuseaddr,fork tcp4:192.168.222.137:3389

file

此時並不會有任何的回顯,然后我們在本地使用mstsc進行遠程桌面連接

file

file

成功連接

0x04 socat反向端口轉發

  • 單層端口轉發(1)

注:這里我們使用win08來代表本地主機,win7來代表邊界主機

首先,在win08上執行監聽,將來自外部53端口的流量全部轉發到本地888端口

socat.exe tcp-listen:53 tcp-listen:888

file

然后在win7上執行命令,將本地3389的流量轉發到win08的53端口

socat.exe tcp-connect:192.168.222.175:53 tcp:127.0.0.1:3389

file

然后回到win08的機器上,執行遠程桌面連接

file

file

成功登陸

*單層端口轉發(2)

除了可以轉發到本地之外,還可以直接將流量轉發到內網主機

首先在本地執行監聽

socat.exe tcp-listen:53 tcp-listen:111

file

在邊界機器win08上執行命令,10.1.111.226是我本機的地址

socat.exe tcp-connect:10.1.111.226:53 tcp:192.168.222.137:3389

file

然后回到本地使用mstsc來進行遠程連接

file

file

成功登陸

注:中間可能會有socat超時自動斷開等其他情況,多執行幾次就可以成功了

*多層端口轉發

如果在內網中又發現還有更深一層的內網的機器,我們就可以使用多層的端口轉發來進行,我們這里假設其IP為192.168.222.134,我本機地址為10.1.111.226

首先我們在本地機器進行監聽

socat.exe tcp-listen:53 tcp-listen:1000

file

然后到邊界機器win08執行轉發

socat.exe tcp4-listen:55,reuseaddr,fork tcp4:10.1.111.226:53

file

最后再到內網機器win7上執行轉發

socat.exe tcp-connect:192.168.222.175:55 tcp:192.168.222.134:22

file

最后回到本地,連接第二層內網中的ssh

file

file

如果內網層數再多一些,一樣可以通過該方法進行

文章首發公眾號:無心的夢囈(wuxinmengyi)

這是一個記錄紅隊學習、信安筆記,個人成長的公眾號

掃碼關注即可

file


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM