流量操控技术-ptunnle、proxytunnle

ptunnle

  • ping tunnel ICMP隧道工具,通过ICMP echo(ping requests)和reply(ping reply)实现隧道。
  • 适用于防火墙只允许ping出站流量的环境
  • 支持多并发连接、性能优
  • 支持身份验证
  • 需要root权限
  • 支持抓包
    • Win:winpcap
    • Linux:libpcap
  • 工作过程
    • Proxy、Client、Destination
操作
  • 服务端:

    • ptunnel -x 1234
      • -x 密码
  • 客户端:

    • ptunnel -p <proxyIP> -lp <local listen port> -da <destinationIP> -dp<destination port> -x <passwd>
    • ptunnel -p 192.168.43.72 -lp 2222 -da 192.168.43.72 -dp 22 -x 1234
  • 嵌套ssh隧道

  • 0.72及以前存在DDos漏洞

proxytunnle

  • 通过标准的HTTP/HTTPS代理创建隧道的工具
  • 通过HTTP CONNECT方法封装信息
  • 适用于内网使用代理并且防火墙只允许代理服务器上网的场景
  • 无法创建DNS隧道和ICMP隧道
实验环境1
  • 防火墙只开放了代理服务器访问外网的80端口

  • 内网机器通过1.1.1.13上的squid3 http代理上网

    • 修改/etc/squid/squid.conf
      • http_port 字段加上ip,否则在所有网卡上侦听端口
      • http_access
        • allow !Safe_ports
        • allow CONNECT !SSL_ports
        • allow all
      • 通过/^acl 可以查看到Safe_ports端口
  • 客户端

    • proxytunnel -a 80 -p 1.1.1.2:3128 -d 192.168.43.72:80
      • -a 本地侦听端口
      • -p代理服务器的地址
      • -d目标资源
  • 服务端

    • 常规的代理服务器
实验环境2
  • 外网资源非防火墙允许端口
    • 修改目标资源侦听端口可能无法躲避防火墙深层检测(检测80端口的流量是不是http(协议层检测))
    • 外网安装squid3代理服务器并侦听80端口
    • 创建隧道:
      • proxytunnle -a 80 -p 1.1.1.16:3128 -r 192.168.43.72:80 -d 192.168.43.72:22
        • -r :自己的代理服务器
实验环境3
  • ssh客户端配置自动创建代理链隧道(即,完成实验环境2中的两次代理)
  • 通过ssh配置文件 ~/.ssh/config 来完成

其它

http的X-Forwarded-For字段,如果不做清除会暴露服务器真实ip地址