Kali Linux渗透测试 119 隧道工具--SOCAT

本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程

Kali Linux渗透测试(苑房弘)博客记录

1. 简介

  • 被称为 nc++(增强增强版的nc)

    • 双向数据流通道工具
  • 连接端口

    • Socat - tcp:1.1.1.1:80
  • 侦听端口(作为服务端)

    • socat - tcp4-listen:22 / socat - tcp-l:333
  • 接收文件

    • socat tcp4-listen:333 open:2.txt,creat,append
  • 发送文件

    • cat 1.txt | socat - tcp4:1.1.1.1:333
  • 远程shell – 服务器端

    • socat tcp-l:23 exec:sh,pty,stderr
  • 端口转发

    • socat tcp4-listen:22,fork tcp4:1.1.1.1:22
    • fork:为新连接创建独立的进程
  • 远程执行命令

    • 服务器:socat - udp-l:2001
    • 客户端:echo “id” | socat - udp4-datagram:1.1.1.1:2001
  • UDP 全端口任意内容发包
    for PORT in {1…65535}; do echo “aaaaa" | socat - UDP4-DATAGRAM:+
    1.1.1.1:$PORT; sleep .1; done

  • 二进制编辑器

      echo -e "\0\14\0\0\c" | socat -u - file:/usr/bin/
      squid.exe,seek,seek=0x00074420
    
  • 简单的 web 服务器

      socat -T 1 -d -d TCP-L:10081,reuseaddr,fork,crlf SYSTEM:"echo -e \"\\\"HTTP/1.0 200 OK\\\nDocumentType: text/plain\\\n\\\ndate: \$\(date\)\\\nserver:\$SOCAT_SOCKADDR:\$SOCAT_SOCKPORT\\\nclient: \$SOCAT_PEERADDR:\$SOCAT_PEERPORT\\\n\\\"\"; cat; echo -e \"\\\"\\\n\\\"\""
    

2. socat 基本使用

1. 连接端口

  • 请求 80 端口

      root@kali:~# socat - tcp:192.168.1.1:80
      get / http 1.1/
    

    在这里插入图片描述

2. 侦听端口(作为服务端)##

  • 服务端打开侦听端口

      root@kali:~# socat - tcp4-listen:2222
    

    在这里插入图片描述

  • 客户端连接 2222 端口

      root@lamp:~# socat - tcp:192.168.1.14:2222
    

    在这里插入图片描述

  • 服务端可以查看接收到的消息

3. 接收文件

  • 服务器端接收客户端发来的文件

      # 服务端设置将接收到的信息保存到 2.txt
      root@kali:~# socat tcp4-listen:333 open:2.txt,creat,append
    
      # 客户端发送文件
      root@lamp:~# echo "I am xubuntu!" > 1.txt
      root@lamp:~# cat 1.txt | socat - tcp4:192.168.1.14:333
    

    在这里插入图片描述

      # 服务端查看信息
      root@kali:~# cat 2.txt 
    

    在这里插入图片描述

3. socat 流量操控技术

1. 远程shell – 服务器端

  • 服务端侦听 23 端口

      root@kali:~# socat tcp-l:23 exec:sh,pty,stderr
    
  • 客户端连接端口

      root@lamp:~# socat - tcp:192.168.1.14:23
    

    在这里插入图片描述

  • 应用场景

      防火墙只允许内网的23端口访问外网,可以在外网的机器侦听 23 端口,然后在内网连接此 23 端口,然后在内外网建立 ssh 动态端口转发隧道(隧道嵌套)。
    

2. 端口转发

  • 服务端设置端口转发

      当有流量访问本机8080端口,就转发到 192.168.1.1:80
      fork:为新连接创建独立的进程
      root@kali:~# socat tcp4-listen:8080,fork tcp4:192.168.1.1:80
    

    在这里插入图片描述

  • 客户端浏览器访问 http://192.168.1.14:8080/

    在这里插入图片描述

3. UDP 远程执行命令

  • 服务器:

      root@kali:~# socat - udp-l:2000
    
  • 客户端:

      root@lamp:~# echo "I am xubuntu!" | socat - udp4-datagram:192.168.1.14:2000
    

    在这里插入图片描述

      # 重启服务端重新开始
      root@lamp:~# echo "`id`" | socat - udp4-datagram:192.168.1.14:2000
    

    在这里插入图片描述

      # 重启服务端重新开始
      root@lamp:~# socat - udp-datagram:192.168.1.14:2000
    

    在这里插入图片描述
    在这里插入图片描述

4. UDP 全端口任意内容发包

  • 往服务器发送 UDP 所有端口指定内容

      root@lamp:~# for PORT in {1..65535}; do echo "I am xubuntu!" | socat - UDP4-DATAGRAM:192.168.1.14:$PORT; sleep .1; done
    

    在这里插入图片描述

5. 二进制编辑器

  • 可以用来编辑二进制文件

      echo -e "\0\14\0\0\c" | socat -u - file:/usr/bin、squid.exe,seek,seek=0x00074420
    

6. 简单的 web 服务器

  • 服务端开启监听端口:10081

      root@kali:~# socat -T 1 -d -d TCP-L:10081,reuseaddr,fork,crlf SYSTEM:"echo -e \"\\\"HTTP/1.0 200 OK\\\nDocumentType: text/plain\\\n\\\ndate: \$\(date\)\\\nserver:\$SOCAT_SOCKADDR:\$SOCAT_SOCKPORT\\\nclient: \$SOCAT_PEERADDR:\$SOCAT_PEERPORT\\\n\\\"\"; cat; echo -e \"\\\"\\\n\\\"\""
    

    在这里插入图片描述
    在这里插入图片描述

  • 客户端浏览器访问 10081 端口

    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值