0x01 socat的简介安全
0x02 socat进行文件传输网络
0x03 socat正向端口转发ssh
0x04 socat反向端口转发socket
注:tcp
边界机器 win08 192.168.222.175工具
内网机器 win7 192.168.222.137学习
socat是一个多功能的网络工具,名字来由是” Socket CAT”,能够看做是netcat的N倍增强版,其原版本是基于Linux的,这里咱们使用Windows版本的,由于是移植过来的,须要依赖的库也比较多,因此不是那么的方便,之后的使用可能更多的是基于Linux平台来进行的。spa
socat的主要特色就是在两个数据流之间创建通道;且支持众多协议和连接方式:ip,tcp,udp,ipv6,pipe,exec,system,open,proxy,openssl,socket等。3d
socat的官网:code
http://www.dest-unreach.org/socat/复制代码
socat的下载连接:
http://www.dest-unreach.org/socat/download/复制代码
至于Windows的版本,我在网上找到了如下两种,对其安全性不作任何保证
socat for Windows/Cygwin(这个版本缺乏Cygwin的dll文件,须要自行解决):
http://www.nikhef.nl/~janjust/socat/socat-1.6.0.1-cygwin.bin.tar.gz复制代码
socat for Windows(这个版本已经打包了Cygwin的dll文件):
http://olds.blogcn.com/wp-content/uploads/16/1615/2009/08/socat.rar复制代码
注:这里使用win08做为本地机器,win7做为目标机器来进行演示
这里咱们以上传win08机器上的123.txt为目标进行上传
首先在win08机器上执行命令
socat.exe -u open:123.txt,binary tcp4-listen:53复制代码
执行以后,就会发如今这个文件夹下面已经生成了123.txt文件
注:create在哪一个机器上执行,文件就会留在哪一个机器上
首先咱们须要在边界机器上执行
socat.exe tcp4-listen:53,reuseaddr,fork tcp4:192.168.222.137:3389复制代码
此时并不会有任何的回显,而后咱们在本地使用mstsc进行远程桌面链接
成功链接
注:这里咱们使用win08来表明本地主机,win7来表明边界主机
首先,在win08上执行监听,未来自外部53端口的流量所有转发到本地888端口
socat.exe tcp-listen:53 tcp-listen:888复制代码
而后在win7上执行命令,将本地3389的流量转发到win08的53端口
socat.exe tcp-connect:192.168.222.175:53 tcp:127.0.0.1:3389复制代码
而后回到win08的机器上,执行远程桌面链接
成功登录
*单层端口转发(2)
除了能够转发到本地以外,还能够直接将流量转发到内网主机
首先在本地执行监听
socat.exe tcp-listen:53 tcp-listen:111复制代码
在边界机器win08上执行命令,10.1.111.226是我本机的地址
socat.exe tcp-connect:10.1.111.226:53 tcp:192.168.222.137:3389复制代码
而后回到本地使用mstsc来进行远程链接
成功登录
注:中间可能会有socat超时自动断开等其余状况,多执行几回就能够成功了
*多层端口转发
若是在内网中又发现还有更深一层的内网的机器,咱们就能够使用多层的端口转发来进行,咱们这里假设其IP为192.168.222.134,我本机地址为10.1.111.226
首先咱们在本地机器进行监听
socat.exe tcp-listen:53 tcp-listen:1000复制代码
而后到边界机器win08执行转发
socat.exe tcp4-listen:55,reuseaddr,fork tcp4:10.1.111.226:53复制代码
最后再到内网机器win7上执行转发
socat.exe tcp-connect:192.168.222.175:55 tcp:192.168.222.134:22复制代码
最后回到本地,链接第二层内网中的ssh
若是内网层数再多一些,同样能够经过该方法进行
文章首发公众号:无意的梦呓(wuxinmengyi)
这是一个记录红队学习、信安笔记,我的成长的公众号
扫码关注便可