横向渗透
隧道技术或代理技术涉及创建一条路径,通过被攻击的主机来路由所需的网络流量,将一种网络协议封装在另一种协议内。各种协议(如 HTTP、SSH 、DNS或自定义代理)可以将流量引导到目标网络。这种技术使渗透测试人员能够在受限的网络环境中安全地传输数据。可以将其比作在防火墙中建立一条秘密通道,以访问内部系统。
端口转发
隧道(Tunneling)指的是将网络上的 A、B 两个端点通过某种方式连接起来,形成一个“隧道”,使得两端的通信能够穿透某些限制(例如防火墙),或将通信内容加密以避免泄漏。

SSH 隧道
SSH 协议创建一个安全的网络隧道,用户可以访问本地防火墙后面的服务,如数据库或私有网络中的 Web 应用。主要内容包括三种端口转发模式:本地端口转发、远程端口转发和动态端口转发。
AllowTcpForwarding 是 OpenSSH 服务器 (sshd_config) 中的一个配置选项,决定是否允许 TCP 转发(SSH 隧道)。各配置选项包括 yes(允许所有转发)、no(禁止转发)、local(仅允许本地转发)、remote(仅允许远程转发)。
https://iximiuz.com/en/posts/ssh-tunnels/
for i in $(seq 254); do ping 10.1.2.${i} -c1 -W1 8 & done | grep from
本地端口转发(ssh -L)允许用户将 SSH 客户端的端口映射到远程服务器的端口。
ssh -fNC -L [bind_address]:local_port:target_host:target_port user@ssh_server
ssh -i $HOME/.ssh/id_iximiuz_lab -o StrictHostKeyChecking=no
user@ssh_server
ssh -fNC -L 8834:localhost:8834 rbt
参数说明:
-f:在连接建立后将 SSH 会话放入后台。-N:告知 SSH 不要在远程服务器上执行任何命令。-C:为 SSH 隧道启用压缩。bind_address,默认 Bind 在 localhost 上。如果你想把 Port 9090 开放给所有人用:ssh -L 0.0.0.0:9090:localhost:8080 johnliu@my-serverlocal_port:您本地计算机上要监听的端口。target_host:您要访问的远程计算机。target_port:远程主机上服务运行的端口。user:您的 SSH 用户名。ssh_server:SSH 服务器(例如,服务器的主机 IP)。
python3 -m http.server 8080
ssh -fNC -o StrictHostKeyChecking=no -L 8080:localhost:8080 bob@127.0.0.1 -p 2222
ssh -fNC -o StrictHostKeyChecking=no -L 8080:192.168.200.4:8080 bob@127.0.0.1 -p 2222
远程端口转发(ssh -R)则使本地服务可以通过 SSH 服务器向外界公开。
SSH 服务器需要配置 GatewayPorts yes 设置
ssh -R [remote_addr:]remote_port:local_addr:local_port [user@]gateway_addr
端口映射
浏览器 安装扩展FoxyProxy
Proxychains 配置