用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/AeonDave/malskill --skill ssh-tunneling命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | ssh-tunneling |
| description | Pivoting and Tunneling via SSH: Dynamic (SOCKS), Local (-L), Remote (-R), and full subnet routing via Sshuttle. |
Goal: Exploit authorized or compromised SSH access to route attack traffic into internal subnets, bypassing firewalls and NAT without needing external binaries like Chisel.
SSH is the quintessential "Living off the Land" pivoting tool on Unix systems.
# Creates a SOCKS proxy on your attacker machine at 127.0.0.1:1080
# -f: go to background, -N: do not execute remote command
ssh -fN -D 1080 user@<COMPROMISED_HOST>
Setup: Ensure /etc/proxychains4.conf has socks4 127.0.0.1 1080 (or socks5). You can now run proxychains4 nmap -sT ... to scan the internal network safely. TCP only.
Forward a specific port on the compromised host's internal network to your local attacker machine.
# Example: The compromised host can see an internal database at 10.10.10.50:3306
# We forward our LOCAL port 3306 to that internal IP via the SSH tunnel.
ssh -fN -L 3306:10.10.10.50:3306 user@<COMPROMISED_HOST>
# Attack:
mysql -h 127.0.0.1 -u root -p
Forward a port on the compromised host back to the attacker machine. Extremely useful when catching reverse shells from deeper internal networks that cannot reach the internet.
# Example: We want the compromised host's port 8080 to forward to OUR port 80 (Attacker)
ssh -fN -R 8080:127.0.0.1:80 user@<COMPROMISED_HOST>
(Note: To bind to 0.0.0.0 instead of loopback on the remote host, GatewayPorts yes must be set in the target's sshd_config).
Sshuttle requires Python to be installed on the remote target. It creates an iptables/pf NAT layer locally, routing whole subnets transparently without proxychains (meaning UDP and DNS tunneling work better).
# Route the entire 10.10.20.0/24 subnet through the SSH connection.
# --dns forces DNS resolution over the tunnel.
sshuttle -r user@<COMPROMISED_HOST> 10.10.20.0/24 --dns
-sS) do not work through SOCKS proxies. You must force TCP Connect scans (-sT). Also, do not run high-speed scans (-T4/-T5) via Proxychains or SSH control channels will collapse. Use -T2 or -T3.socks5 127.0.0.1 1080 and socks5 127.0.0.1 1081. Order matters in strict_chain.