流量操控技术-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
- /etc/ssh/sshd_config
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
- 防火墙限制访问时
- 基于SSH的X转发
- ssh -X user@1.1.1.1 -p53