• 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

  • 相关阅读:
    CSS3 flexbox弹性布局实例
    移动端自适应:flexible.js可伸缩布局使用
    玩转HTML5移动页面(转自http://tqtan.com/)
    CSS3那些不为人知的高级属性
    android开发问题记录1——Android SDK Manager无法更新Packages
    Javascirpt详解之函数function
    SPFA 最短路
    Sonya and Robots
    三角形问题
    平方和与立方和 七夕节
  • 原文地址:https://www.cnblogs.com/wuxinmengyi/p/11599131.html
Copyright © 2020-2023  润新知