mysql socket socat_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/

3ad11f1acaf3d2ff1dcfd3beb7ebb672.png

至于Windows的版本,我在网上找到了以下两种,对其安全性不做任何保证

socat for Windows/Cygwin(这个版本缺少Cygwin的dll文件,需要自行解决):

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

6167968ca39463ba2f58bcc3e4033173.png

socat for Windows(这个版本已经打包了Cygwin的dll文件):

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

deb4cc70ae8fd34a1bea54a152f8512d.png

0x02 socat进行文件传输

注:这里使用win08作为本地机器,win7作为目标机器来进行演示

这里我们以上传win08机器上的123.txt为目标进行上传

efa02ecb08ced0bebb2f6b305f6c251b.png

首先在win08机器上执行命令

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

02a67745d8da05f0e2f54ced176d1ee5.png

执行之后,就会发现在这个文件夹下面已经生成了123.txt文件

323823f8024378863d73fa1895f4f989.png

注:create在哪个机器上执行,文件就会留在哪个机器上

0x03 socat正向端口转发

首先我们需要在边界机器上执行

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

479b83432e779c38b834c074ce3d10f6.png

此时并不会有任何的回显,然后我们在本地使用mstsc进行远程桌面连接

c9c11d5189a97d9b1dfb0207c5f89272.png

48b5f8dd8720785a19e8d48bc017fc58.png

成功连接

0x04 socat反向端口转发

单层端口转发(1)

注:这里我们使用win08来代表本地主机,win7来代表边界主机

首先,在win08上执行监听,将来自外部53端口的流量全部转发到本地888端口

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

1357d7a30fa73e6ec1a5f65adfdbda15.png

然后在win7上执行命令,将本地3389的流量转发到win08的53端口

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

e58fe1647a35c1633eaeae57faf2ea3d.png

然后回到win08的机器上,执行远程桌面连接

645ff945546c06914db465456bf7dc0d.png

8da3f7d1b0b5613ace3bcb0037081abc.png

成功登陆

*单层端口转发(2)

除了可以转发到本地之外,还可以直接将流量转发到内网主机

首先在本地执行监听

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

653e71b30940764039b3a6c5cf9caf20.png

在边界机器win08上执行命令,10.1.111.226是我本机的地址

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

b02e2316d6086b55a43af6cbfca46131.png

然后回到本地使用mstsc来进行远程连接

1e41ad276c5e51406ec8f4dc4d643adc.png

e714f304c8413170e942d994dbf52e47.png

成功登陆

注:中间可能会有socat超时自动断开等其他情况,多执行几次就可以成功了

*多层端口转发

如果在内网中又发现还有更深一层的内网的机器,我们就可以使用多层的端口转发来进行,我们这里假设其IP为192.168.222.134,我本机地址为10.1.111.226

首先我们在本地机器进行监听

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

5c53da15eff6cbd3ebce747dbce0d526.png

然后到边界机器win08执行转发

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

d0c013f3c7b12ca71c8989e8f3160fe2.png

最后再到内网机器win7上执行转发

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

fe03497e1f5295ea76ed73fde39b6590.png

最后回到本地,连接第二层内网中的ssh

73138ec2d6e72b9eb6b1e35087091eaf.png

87c3601d01c5b335bfcae553edfae555.png

如果内网层数再多一些,一样可以通过该方法进行

文章首发公众号:无心的梦呓(wuxinmengyi)

这是一个记录红队学习、信安笔记,个人成长的公众号

扫码关注即可

原文出处:https://www.cnblogs.com/wuxinmengyi/p/11599131.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值