流量操控技术-rinetd、SSH

流量操控技术-Rinetd、SSH

  • Traffic manipulation technique
  • 渗透测试中经常遇到访问受限的网络环境
  • 使用隐蔽的手段逃避安全检查和朔源追踪
  • 证明看似严格的访问控制仍然存在弱点
  • 在非受信任的网络中实现安全的数据传输

  • 重定向(Redirection)
    • IP、Port
  • 隧道(Tunneling)
    • 在不受信任的网络环境中实现安全的通信
    • 通常使用多种加密技术建立通信隧道
    • 点到点(IP2IP)、端到端(Port2Port)隧道
    • VPN:pptp、l2tp、IPSec、SSL vpn
  • 封装(encapsulation)
    • 通常结合在隧道中使用,使用一种协议封装一种协议(RPC o http、VoIP)
    • 使用网关设备实现不同类型网络的互联互通

  • Rinetd
    • 安装:apt-get install rinetd
    • 配置:/etc/rinetd.conf
      • bindadd bindport connectadd connectport
    • 运行:rinetd
  • 应用场景
    • 重定向web流量,突破上网限制
    • 远程桌面重定向
    • Nc重定向获得shell
    • 不兼容FTP等二次连接的协议

SSH隧道

  • SSH支持双向通信隧道

    • 将其它TCP端口的通信通过SSH连接来转发
    • 用SSh作为传输层协议,对流量自动加解密
    • 突破防火墙访问规则的限制,可用于翻墙
  • SSH本地端口转发

    • 使效果类似于rinetd
    • 将一本地端口与远程服务器建立隧道
  • 本地端口转发

    • 本机侦听端口,访问转发到远程主机指定端口
  • 远程端口转发

    • 远程侦听端口,访问转发到本机主机指定端口
  • 动态隧道模式


SSH本地端口转发

  • 启动ssh

    • service ssh start
  • ssh默认不能使用root账号登陆,需要修改配置文件

    • /etc/ssh/sshd_config
      • PermitRootLogin yes
      • Port 53
      • PasswordAuthentication yes
  • ssh -CfNg -L 7001:192.168.2.178:80 root@192.168.2.218 -p 53

    • -C 压缩数据减少占用带宽,增加传输速度
    • -f 后台运行进程
    • -N 不执行登录shell
    • -g 复用访问时作为网关,支持多主机访问本地侦听端口
  • 端口转发基于建立起来的SSH隧道,隧道中断则端口转发中断

  • 只能在建立隧道时创建转发,不能为已有隧道增加端口转发


SSH远程端口转发

  • ssh -CfNg -R<listen port>:<remote ip>:<remote prt>

  • SSH侦听端口开在远程SSH Server上

  • 侦听端口永远开在应用客户端一方

  • 远程 -g 参数无效


SSH动态端口转发

  • 本地、远程端口转发都需要固定应用服务器IP、Port

    • 应用端口繁多,逐个转发效率低
    • 某些应用不固定端口
    • 某些网站不支持IP直接访问
    • 使用非受信网络上网时保护流量不被嗅探
  • 本地侦听socks4/5代理端口

    • 由SSh server决定如何转发
    • 可以作为翻墙代理
    • 配置客户端代理(浏览器)
    • 使用proxychains支持无代理客户端
  • ssh -CfNg -D 7001 root@192.168.2.218 -p 53


X协议转发

  • 远程登陆Linux GUI运行图形化界面工具
    • -VNC
    • X Windows
  • 防火墙限制访问时