Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gopacket — Impacketの完全なGo移植版 - WindowsおよびActive Directoryプロトコル攻撃用の63のCLIツールと24のライブラリを、依存関係のない単一バイナリにコンパイル。 | Kitploit
ツール/GitHubGitHub/mandiant/gopacket
ペネトレーションテストフレームワーク特権昇格エクスプロイトフレームワークパスワード攻撃横移動ポストエクスプロイトネットワークセキュリティコマンド&コントロールレッドチーミングリモートアクセスツール
GitHubmandiant/gopacket
70761801ヶ月前Kitploit レビュー済み

gopacket

Impacketの完全なGo移植版 - WindowsおよびActive Directoryプロトコル攻撃用の63のCLIツールと24のライブラリを、依存関係のない単一バイナリにコンパイル。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

gopacket

Jacob Paullus (@psycep_) 著

Impacket の完全な Go 実装 - Windows ネットワークプロトコル操作、Active Directory 列挙、攻撃実行のための 63 のツールと 24 のライブラリパッケージ。ネイティブ Go フレームワークとして構築されているため、一度コンパイルすれば Python 依存なしでどこでも実行できます。

ベータリリース - 非常に実験的。 gopacket は活発に開発中です。コアツールは Active Directory のラボ環境でテストされていますが、エッジケースやプロトコルの癖が想定されます。何かが動作しない場合は、同じ操作を Impacket で並行してテストし、両方の出力をバグレポートに含めてください。これにより、gopacket 固有の問題か、共有されたプロトコルの制限かを迅速に特定できます。

インストール

root@kitploit:~
git clone https://github.com/mandiant/gopacket
cd gopacket

# Default: Linux/macOS build + install to /usr/local/bin
./install.sh

# Run with no flags and it prompts you through the choices interactively.
# Or pick a target directly:
./install.sh --target portable   # static Linux binaries in ./dist/portable/
./install.sh --target windows    # Windows .exe cross-compiles in ./dist/windows/
./install.sh --target all        # build every target in one run

# Build without installing (native only)
./install.sh --build-only

# Or build with make
make build

デフォルト (--target native) ビルドには Go 1.24.13+、GCC、libpcap 開発ヘッダーが必要です (Debian/Ubuntu/Kali では apt install build-essential libpcap-dev、RHEL/CentOS では 、macOS では )。 と ターゲットは Go ツールチェーンのみが必要です。これらのビルドでは libpcap が必要なため、 と はスタブになります。完全なマトリックスについては を参照してください。

yum install gcc libpcap-devel
brew install libpcap
portable
windows
sniff
split
プラットフォームサポート

プラットフォームサポート

gopacket は Linux、macOS、Windows でビルドできます。動作するツールのセットと利用可能なプロキシパスはビルドフラグによって異なります:

ビルド利用可能なツールプロキシ
Linux / macOS with cgo (default)全 63proxychains (LD_PRELOAD) および/または -proxy SOCKS5
Linux with CGO_ENABLED=061 (sniff、split はスタブ)-proxy のみ (proxychains は libc フックが必要)
Windows (GOOS=windows CGO_ENABLED=0)60 (sniff、split、sniffer スタブ)-proxy のみ (Windows に LD_PRELOAD なし)

sniff と split は cgo 経由で libpcap に依存し、sniffer は Unix 生ソケットに依存します。ツールがターゲット用にビルドできない場合、gopacket は明確なメッセージを出力して終了コード 1 で終了するスタブに置き換えるため、go build ./... は常に成功し、インストールレイアウトはプラットフォーム間で一貫しています。

アンインストールするには:

root@kitploit:~
./install.sh --uninstall

プロキシサポート

gopacket は 2 つの独立したプロキシパスをサポートしています。これらはチェーンすることもできます。

proxychains (LD_PRELOAD)

すべての gopacket ツールは proxychains を通じて動作します。Go バイナリは通常 proxychains をバイパスします。Go ランタイムは DNS とネットワークを内部的に処理し、proxychains が依存する LD_PRELOAD フックをスキップするためです。gopacket はネットワーク操作のためにシステム C ライブラリにリンクすることでこれを回避し、proxychains が通常通り接続を傍受できるようにします。

root@kitploit:~
proxychains gopacket-secretsdump 'domain/user:password@target'
proxychains gopacket-smbclient -k -no-pass 'domain/[email protected]'

内部 SOCKS5 プロキシ (-proxy)

すべてのツールは -proxy を受け付け、LD_PRELOAD に依存せずに送信 TCP を SOCKS5 サーバー経由でルーティングします。受け入れられるスキーム: socks5 と socks5h。-proxy が未設定の場合、ALL_PROXY / all_proxy 環境変数がフォールバックとして参照されます。

root@kitploit:~
gopacket-secretsdump -proxy socks5h://127.0.0.1:1080 'domain/user:password@target'
ALL_PROXY=socks5h://127.0.0.1:1080 gopacket-smbclient 'domain/user:password@target'

UDP 依存の機能は -proxy 下では無効化され、パケットがサイレントに漏洩することはありません (SOCKS5 UDP ASSOCIATE はプロキシでサポートされることが稀であり、UDP でプロキシをバイパスするとオペレーターの実際の送信元 IP が露出するため)。影響を受ける機能とその回避策は KNOWN_ISSUES.md に記載されています。

チェーン: -proxy は proxychains と互換性があります。SOCKS5 プロキシ自体への TCP 接続は依然として libc の connect() を経由するため、proxychains → gopacket → -proxy → target はネストされたルーティングシナリオで機能します。

ドキュメント

gopacket の 24 のプロトコルパッケージ上にカスタムツールを構築するための完全な API ドキュメント、コード例、アーキテクチャ概要については、ライブラリ開発者ガイド を参照してください。

ツール (63)

リモート実行

ツール説明
psexecSMB サービス作成によるリモートコマンド実行
smbexecSMB 経由のリモートコマンド実行 (psexec よりステルス)
wmiexecWMI 経由のリモートコマンド実行
dcomexecDCOM 経由のリモートコマンド実行
atexecタスクスケジューラ経由のリモートコマンド実行

資格情報ダンプ & DPAPI

ツール説明
secretsdumpSAM/LSA/NTDS.dit 抽出と DCSync (リモート + オフライン)
dpapiDPAPI バックアップキー抽出
esentutlオフライン ESE データベースパーサー (NTDS.dit)
registry-readオフライン Windows レジストリハイブパーサー

Kerberos

ツール説明
getTGTパスワード、ハッシュ、または AES キーで TGT を要求
getSTS4U2Self/S4U2Proxy でサービスチケットを要求
GetUserSPNsKerberoasting - SPN を検索して要求
GetNPUsersAS-REP roasting - 事前認証なしのアカウントを検索
ticketerゴールデン/シルバーチケットの偽造
ticketConverterccache と kirbi 形式間の変換
describeTicketKerberos チケットの解析と復号
getPacPAC 情報の要求と解析
keylistattackKERB-KEY-LIST-REQ 攻撃 (RODC)
raiseChildゴールデンチケットによる子から親ドメインへの昇格

Active Directory 列挙

ツール説明
GetADUsersLDAP 経由でドメインユーザーを列挙
GetADComputersLDAP 経由でドメインコンピューターを列挙
GetLAPSPasswordLDAP 経由で LAPS パスワードを読み取り
findDelegation委任設定を検索
lookupsidLSARPC 経由の SID ブルートフォース
samrdumpSAMR 経由でユーザーを列挙
rpcdumpepmapper 経由で RPC エンドポイントをダンプ
rpcmapアクセス可能な RPC インターフェースをスキャン
netSAMR/LSARPC 経由の net user/group/computer 列挙
netviewセッション、共有、ログオンユーザーを列挙
CheckLDAPStatusLDAP 署名とチャネルバインディング要件を確認
DumpNTLMInfoSMB ネゴシエーションから NTLM 認証情報をダンプ
getArchRPC 経由でリモート OS アーキテクチャを検出
machine_roleマシンロール (DC、サーバー、ワークステーション) を検出

Active Directory 攻撃

ツール説明
addcomputerマシンアカウントの作成/変更/削除 (SAMR + LDAP)
rbcdリソースベースの制約付き委任の操作
dacleditAD オブジェクトの DACL の読み取り/書き込み
ownereditオブジェクトの所有権の読み取り/変更
sameditSAM アカウント名スプーフィング (CVE-2021-42278/42287)
badsuccessorBadSuccessor / バックアップオペレーター昇格
changepasswdSAMR と LDAP 経由でパスワードを変更/リセット

SMB ツール

ツール説明
smbclient対話型 SMB クライアント (共有、ls、get、put など)
smbserverファイル共有用の SMB サーバー
attribSMB 経由でファイル属性を照会/変更
filetimeSMB 経由でファイルタイムスタンプを照会/変更
servicesSVCCTL 経由のリモートサービス管理
regWINREG 経由のリモートレジストリ操作
Get-GPPPasswordSYSVOL からグループポリシー設定のパスワードを抽出
karmaSMBハッシュキャプチャ用の不正 SMB サーバー

NTLM リレー

ツール説明
ntlmrelayxマルチプロトコルサポートを備えた完全な NTLM リレーフレームワーク

ntlmrelayx は以下をサポートします:

  • キャプチャサーバー: SMB、HTTP/HTTPS、WCF (ADWS)、RAW、RPC、WinRM
  • リレークライアント: SMB、LDAP/LDAPS、HTTP/HTTPS、MSSQL、WinRM、RPC
  • 攻撃: secretsdump、smbexec、ldapdump、RBCD 委任、ACL 悪用、シャドウ資格情報、ADCS ESC8、addcomputer、DNS 操作など
  • インフラストラクチャ: プロトコル対応プラグインを備えた SOCKS5 プロキシ、対話型コンソール、REST API、マルチターゲットラウンドロビン、WPAD サービス

SQL Server

ツール説明
mssqlclientSQL/Windows/Kerberos 認証を備えた対話型 MSSQL クライアント
mssqlinstanceSQL Browser 経由の MSSQL インスタンス検出

WMI

ツール説明
wmiquery対話型 WMI クエリシェル
wmipersistWMI イベントサブスクリプションの永続化

ターミナルサービス

ツール説明
tstoolターミナルサービスセッションとプロセスの列挙

その他のプロトコル

ツール説明
rdp_checkRDP 認証チェック
mqtt_checkMQTT 認証チェック
exchangerExchange Web Services クライアント

ユーティリティ

ツール説明
ntfs-readオフライン NTFS ファイルシステムパーサー
ping / ping6ICMP ping
sniff / snifferネットワークパケットキャプチャ
split大きなファイルの分割

認証

すべてのネットワークツールは 3 つの認証方法をサポートしています:

root@kitploit:~
# Password
gopacket-secretsdump 'domain/user:password@target'

# NTLM hash (pass-the-hash)
gopacket-secretsdump -hashes ':nthash' 'domain/user@target'

# Kerberos (pass-the-ticket)
KRB5CCNAME=ticket.ccache gopacket-secretsdump -k -no-pass 'domain/user@target'

共通フラグ

フラグ説明
-hashes LMHASH:NTHASHNTLM ハッシュ認証 (LM ハッシュは空でも可)
-kKerberos 認証を使用
-no-passパスワードを要求しない (-k または -hashes と併用)
-dc-ip IPドメインコントローラーの IP アドレス
-target-ip IPターゲットの IP アドレス (Kerberos でホスト名を使用する場合)
-port PORTターゲットポート (デフォルトはツールによって異なる)
-proxy URL送信 TCP を SOCKS5 プロキシ経由でルーティング (例: socks5h://127.0.0.1:1080)。UDP 機能は無効化されます。
-debugデバッグ出力を有効化

クイック例

root@kitploit:~
# Dump domain hashes via DCSync
gopacket-secretsdump 'corp.local/admin:[email protected]'

# Interactive SMB shell
gopacket-smbclient -hashes ':aabbccdd...' 'corp.local/admin@fileserver'

# Kerberoast
gopacket-getuserspns 'corp.local/user:[email protected]'

# Golden ticket
gopacket-ticketer -nthash <krbtgt_hash> -domain-sid S-1-5-21-... -domain corp.local admin

# NTLM relay with SOCKS proxy
sudo gopacket-ntlmrelayx -t smb://target -socks

# LDAP relay for RBCD
sudo gopacket-ntlmrelayx -t ldaps://dc01.corp.local --delegate-access

# Route all outbound traffic through a SOCKS5 proxy
gopacket-secretsdump -proxy socks5h://127.0.0.1:1080 'corp.local/admin:[email protected]'

ライブラリ

pkg/ ディレクトリには、独立してインポートできる 24 の再利用可能なプロトコルパッケージが含まれています。

パッケージ説明
smbNTLM および Kerberos 認証を備えた SMB2/3 クライアント
ldapNTLM/Kerberos バインドを備えた LDAP クライアント
dcerpcDCE/RPC クライアント + 20 のサービス実装 (DRSUAPI、SAMR、SVCCTL、LSARPC、WINREG、NETLOGON、DCOM、TSCH、EPMAPPER など)
kerberosKerberos クライアント、チケット偽造 (ゴールデン/シルバー)、S4U2Self/S4U2Proxy
ntlmNTLM 認証プロトコル
relayNTLM リレーフレームワーク (サーバー、クライアント、攻撃、SOCKS)
tdsSQL Server TDS プロトコル
eseExtensible Storage Engine パーサー
registryWindows レジストリハイブパーサー
ntfsNTFS ファイルシステムパーサー
securityセキュリティ記述子、ACL、SID
dpapiDPAPI 構造
mqttMQTT プロトコルクライアント
sessionターゲット/資格情報の解析 (domain/user:pass@host)
flags統一 CLI フラグフレームワーク

不足している機能 (Impacket との比較)

gopacket は Impacket との完全な同等性を目指しています。以下はまだ実装されていません:

リレープロトコルクライアント:

  • IMAP リレークライアント + 攻撃 (Exchange/IMAP サーバーが必要)
  • SMTP リレークライアント (SMTP サーバーが必要)

リレー攻撃モジュール:

  • SCCM ポリシー/DP 攻撃 (SCCM インフラストラクチャが必要)

スタンドアロンツール:

  • ifmap.py (DCOM インターフェースマッピング)
  • mimikatz.py (RPC 経由の限定的な Mimikatz)
  • goldenPac.py (MS14-068 - パッチ適用済みシステムでは廃止)
  • smbrelayx.py (ntlmrelayx に取って代わられた)
  • kintercept.py (Kerberos 傍受)

これらのギャップは優先度が低いです - ほとんどはテストにニッチなインフラストラクチャが必要か、新しい技術によって廃止されています。

既知の制限

これらは Impacket と共有されるプロトコルレベルの制限であり、gopacket のバグではありません:

  • SMB から LDAPS へのリレーは、NTLM MIC 検証 (CVE-2019-1040 以降) のためパッチ適用済み DC では失敗します。代わりに HTTP 強制を使用してください。
  • WinRM リレーは、パッチ適用済み Server 2019+ の EPA (Extended Protection for Authentication) によってブロックされます。
  • RPC リレー攻撃 (tschexec、enum-local-admins) は PKT_INTEGRITY を必要としますが、リレーセッションでは利用できません。
  • ポート 389 への LDAP リレーは、LDAP 署名を要求する DC では失敗します。常に LDAPS (ポート 636) にリレーしてください。

各問題の詳細と回避策については KNOWN_ISSUES.md を参照してください。

問題の報告と貢献

これはベータリリースです。バグは想定されており、貢献を歓迎します。

最初に Impacket でテストするようお願いする理由

gopacket は Impacket と同じワイヤプロトコルを実装しているため、「バグ」の大部分は gopacket 固有ではなく環境的なものであることが判明します - パッチ適用済み DC、LDAP 署名要件、EPA、PKT_INTEGRITY、SMB 署名、CVE-2019-1040 以降の NTLM MIC 検証、SPN の欠落、時刻のずれ、DNS の癖、ファイアウォールルールなどです。同じ操作を Impacket で並行して実行することで、環境を方程式から除外できます:

  • Impacket が同じように失敗する場合、問題はほぼ常に環境的であり、KNOWN_ISSUES.md に既に記載されている可能性が高いです。バグレポートは不要です。
  • Impacket が成功し gopacket が失敗する場合、それは実際の gopacket のバグであり、まさに私たちが知りたいことです。

この単一のトリアージステップにより多くの往復が節約されるため、省略しないでください。

バグレポートの提出

  1. 同じ操作を Impacket で実行し、成功するか失敗するかを記録する
  2. gopacket を -debug 付きで再実行し、完全な出力をキャプチャする
  3. 投稿する前に機密情報を匿名化してください。 GitHub の issue は公開されています。 実際のホスト名、IP アドレス、ユーザー名、パスワードハッシュ、 Kerberos チケット、ドメイン名、SID、および実際のエンゲージメントに 結びつけられる可能性のある出力行を削除または置換してください。corp.internal → example.local および dc01.corp.internal → dc01.example.local への置換は問題ありません - データの 構造は保ち、識別情報の値だけを変えてください。疑わしい場合は、墨消ししてください。
  4. GitHub issue を開き、以下を含めてください:
    • 両方の出力 (gopacket と Impacket)、スクリーンショットではなくテキストで、匿名化済み
    • 実行した正確なコマンドライン (匿名化済み)
    • ターゲット OS、AD 機能レベル、および関連するハードニング (署名、EPA、チャネルバインディング、パッチレベル)
    • gopacket のバージョン / コミットハッシュ

機能リクエスト

ユースケースと Impacket の同等機能 (存在する場合) を説明する GitHub issue を開いてください。機能が上記の 「不足している機能」リストにある場合は、どれかを言及してください - 優先順位付けに役立ちます。

プルリクエスト

PR を歓迎します。開く前に:

  • go build ./...、go vet ./...、gofmt -l .、go test ./... を実行し、すべてがクリーンにパスすることを確認してください
  • 触れるパッケージの既存のコードスタイルに合わせてください
  • 変更を焦点を絞ってください - リファクタリングと機能作業を分離してください
  • 自明でない変更については、まず issue を開いてアプローチを議論してください

これが防御者にとって重要な理由

脅威アクターは Python から離れつつあります。コンパイルされた Go および Rust のツーリング (Sliver、BRC4、Geacon、および特注のローダー) が、実際の侵入で Impacket に取って代わりつつあります。ほとんどの防御ツーリングと検出 ロジックは Impacket の Python ベースのネットワーク動作を中心に構築されており、攻撃者のエコシステムがコンパイル言語に移行するにつれて、そのカバレッジは侵食されています。

gopacket は、セキュリティコミュニティがこの移行を先取りするのを助けるために存在します。同じプロトコルと技術のオープンソースで読みやすい Go 実装を提供することで、防御者と検出エンジニアは以下が可能になります:

  • インシデント中に遭遇するのを待つのではなく、Go ベースのツーリングがワイヤ上でどのように動作するかを研究する
  • 既存のシグネチャを効果的にしなくする Go と Python 実装間のプロトコルレベルの違いを理解する
  • 脅威アクターが採用しているのと同じコンパイル済み単一バイナリツーリングを使用して、現実的なパープルチーム演習を実行する。ネットワーク層で異なる動作をする Python スクリプトに対してのみテストするのではなく

攻撃者ツーリングと防御者の可視性のギャップは、新しいツーリングが非公開のままであるときに最も広がります。gopacket をオープンソース化することで、そのギャップが狭まります。

注意事項

  • Kerberos 認証には有効な ccache ファイル (TGT またはサービスチケット) が必要です
  • Kerberos の場合、IP アドレスではなく FQDN ホスト名を使用してください
  • KRB5CCNAME が設定されていない場合、ツールはカレントディレクトリで <username>.ccache を探します
  • すべてのツールは proxychains と内部 -proxy SOCKS5 フラグの両方をサポートしています (プロキシサポートを参照)
  • このプロジェクトは許可されたセキュリティテストと研究目的のみを対象としています

ライセンス

Apache License 2.0 の下でリリースされています。

gopacket は Impacket のクリーンな Go 再実装です。完全なサードパーティの謝辞については NOTICE を参照してください。

ツールをダウンロード