Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SwishDbgExt — インシデント対応 & デジタルフォレンジックデバッグ拡張機能 | Kitploit
ツール/GitHubGitHub/magnetforensics/swishdbgext
メモリフォレンジックリバースエンジニアリングデバッガマルウェア分析デジタルフォレンジックインシデントレスポンス
GitHubmagnetforensics/swishdbgext

SwishDbgExt

インシデント対応 & デジタルフォレンジックデバッグ拡張機能

リポジトリを見る
401977年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

SwishDbgExt

===========

SwishDbgExtは、Microsoft WinDbgのデバッグ拡張機能であり、利用可能なコマンドセットを拡張するだけでなく、既存のコマンドの修正と改善も行います。 この拡張機能はMatt Suiche(@msuiche)によって開発されました。サポートについては [email protected] までご連絡いただくか、機能リクエスト、コントリビューションの申し出、バグ報告をお願いします。

SwishDbgExtは、一連のデバッグ、インシデントレスポンス、メモリフォレンジックのコマンドを提供することで、カーネル開発者、トラブルシューター、セキュリティ専門家にとって作業をより容易にすることを目的としています。 SwishDbgExtはWinDbgデバッグ拡張機能であるため、ローカルまたはリモートのカーネルデバッグセッション、Microsoft LiveKdによって生成されたライブセッション、さらにブルースクリーンやComae DumpItのようなハイブリッドユーティリティによって生成されたMicrosoftクラッシュダンプでも使用できます。

2016 コンテスト

詳細については https://blog.comae.io/comae-2016-contest-swishdbgext-features-3c9a63c62209#.tnt1b9usx を参照

インストール

WinDbg拡張機能を対応する(x86またはx64)WinDbgフォルダにコピーするか、以下のように !load コマンドを使用して手動でロードできます。ターゲットDLLのフルパスにスペースや引用符を含めることはできません。 !load X:\FullPath\SwishDbgExt.dll

###例:

root@kitploit:~
kd> !load E:\projects\labs\SwishDbgExt\bin\x64\SwishDbgExt.dll;
       SwishDbgExt v0.7.0 (Nov  2 2016) - Incident Response & Digital Forensics Debugging Extension
       SwishDbgExt Copyright (C) 2016 Comae Technologies FZE - http://www.comae.io
       SwishDbgExt Copyright (C) 2014-2016 Matthieu Suiche (@msuiche)

       This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
       This is free software, and you are welcome to redistribute it
       under certain conditions; type `show c' for details.

よりDMLフレンドリーなテンプレートでWinDbgテンプレートを更新したい場合は、パッケージに同梱されている windbg_template.reg ファイルを直接インポートできます。

TODO

  • 構造体の定義
  • コマンドの定義
  • 機能コンテストの告知

コマンド

!SwishDbgExt.help

利用可能な拡張コマンドに関する情報を表示します。

引数を指定しない場合、すべてのコマンドのリストが表示されます。引数として既存のコマンドを指定すると、そのコマンドのパラメータ一覧が表示されます。

!ms_callbacks

コールバック関数を表示

!ms_checkcodecave

使用されているコードケイブを検索

!ms_consoles

コンソールコマンドの履歴を表示

!ms_credentials

ユーザーの資格情報を表示(gentilwikiのmimikatzに基づく)

!ms_drivers

ドライバーのリストを表示 !ms_drivers は現在ロードされているドライバーのリストを表示します。 この例では、このカーネルダンプのクラッシュ時にロードされていたいくつかのドライバーを示しています。 このコマンドでは、ドライバーに関する詳細なIRP情報も表示できます。 上の画像では、e1cexpress.sys のIRP内のドライバー固有のI/Oスタック位置が表示されています。ここでは、IRP_MJ_CREATE などのファンクションコードが表示され、対象のデバイスオブジェクトが開かれ、I/O操作が可能であることを示しています。

!ms_dump

メモリ空間をディスクにダンプ

!ms_exqueue

Exキュー待機ワーカーを表示

!exqueue はWindows 8では適切に動作しないため、動作するバージョンを実装する必要がありました。元のコマンドと同様に、動作中のワーカースレッドキューを表示します。

!ms_fixit

WinDbgのセグメンテーションをリセット("16.kd>" を修正)

!ms_gdt

GDTを表示

!ms_gdt はグローバルディスクリプタテーブルを表示します。x64ではすべてのセレクタがフラット(0x0000000000000000から0xFFFFFFFFFFFFFFFF)であることに注意してください。このコマンドは、GDTへのフッキングが疑われる場合に特に役立ちます。x64でGDTのフッキングを試みると、バグチェックが呼び出されるためです。これはx64がGDTのフッキングを禁止しているためです。

!ms_hivelist

レジストリハイブのリストを表示

ms_hivelist はレジストリハイブのリストを表示します。 ハイブ(例:\Registry\Machine\Software)を直接調べて、そのサブキーや値を表示できます:

Alt text

!ms_idt

IDTを表示

!ms_idt は割り込みディスクリプタテーブルを表示します。GDTと同様に、x64システムでIDTがフックされていると、バグチェックが呼び出されます。これはMicrosoftがプログラム的に、IDTをフックするカーネルモードドライバーに対して防止策を実装したためです(通常はIDTへの呼び出しをインターセプトし、独自の処理を追加するもの)。そのため、上の画像では、見渡す限り「No」と表示されています。

!ms_malscore

メモリ空間を分析し、マルウェアスコアインデックス(MSI)を返します(Frank Boldewinの研究に基づく)

!ms_mbr

マスターブートレコード(MBR)をスキャン

!ms_netstat

ネットワーク情報(ソケット、接続など)を表示

!ms_object

オブジェクトのリストを表示

!ms_process

プロセスのリストを表示 !ms_process は !process と !dml_proc の改良版です。 以下のように、コマンドでDML(デバッガーマークアップ言語)を使用できるのが便利な点の1つです。下線付きのコマンドはすべて、実際にはコマンドへのリンクです。 例えば以下では、/vads /scan を使用してVAD(仮想アドレス記述子)をスキャンした出力を確認できます。「Malware Score Index」という列があり、シェルコードやヒープスプレーの検出に役立ちます。 以下のスクリーンショットでは、複数のVADで異常に高いスコアが見られます(ヒープスプレーの使用による)。スコアをクリックするだけで、スキャンアルゴリズムが実行されます。 スキャンアルゴリズムはFrank BoldewinのOfficeMalScannerユーティリティに基づいています。 そして、シェルコードがどこにあるかに関する情報が返されます。 /scan オプションはエクスポート関数にも使用でき、EAT(Export Address Table)がパッチされているかどうか、または関数のプロローグが変更されているかどうかを確認できます。

同様のテストはSSDT(!ms_ssdt)でも利用可能です。

!ms_readkcb

キーコントロールブロックを読み取り

!ms_readknode

キーノードを読み取り !reg WinDbgコマンドは、いくつかのバグのために長い間不満の種でした。そのためSwishDbgExtには、レジストリデータへのアクセスを可能な限りシンプルにするための独自のレジストリエクスプローラ関数があります。

!ms_readkvalue

キー値を読み取り

!ms_scanndishook

不審なNDISフックをスキャンして表示

!ms_services

サービスのリストを表示

!ms_ssdt

システムサービスのディスパッチテーブル(SDT)関数を表示 !ms_ssdt はシステムサービスのディスパッチテーブルを表示します。このコマンドは、DKOM(ダイレクトカーネルオブジェクト操作)を通じて疑われるルートキットフックの調査に非常に役立ちます。nt!NtEnumerateKey のような低レベルのルーチンがフックされている場合、このコマンドはルートキット感染の可能性を分析するのに役立ちます。

!ms_store

ストアマネージャー(ReadyBoost)に関連する情報を表示

このコマンドでは、現在オペレーティングシステムで使用されているReadyBoost(USB 3.0が必要)キャッシュを一覧表示するだけでなく、ストアマネージャーによって管理されているメモリページのログを表示することもできます。 パラメータ: /cache

!ms_timers

KTIMERのリストを表示

!ms_timers はKTIMER構造体を表示します。これは不透明な構造体で、さまざまなタイマーオブジェクトを表し、含んでいます。このコマンドは、どのドライバーがどのタイマーオブジェクトを作成したか、どのドライバーがどのルーチンを呼び出したかなどを把握するのに役立ちます。

!ms_vacbs

キャッシュされたVACBのリストを表示

!ms_verbose

詳細モードのオン/オフを切り替え

!ms_lxss

以下はAlex Ionescuによって公開された研究に基づいており、こちらから入手可能です: https://github.com/ionescu007/lxss/

この機能はWindows 10以降のOSで利用可能で、以下のPowerShellコマンドでオプション機能としてインストールできます:

root@kitploit:~
Enable-WindowsFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Linux用Windowsサブシステムの詳細については、以下のリンクを参照してください:

  • https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/
  • https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-Architectural-Overview
  • https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
root@kitploit:~
	Windows Subsystem for Linux Overview.
	Instance 0xFFFFE704EEB8F010
	GUID: {E29032FD-35D3-4C53-AB68-6BCEBDA7176F}
	State:            (1) [STARTED]
	Creation Flags:   00000001
	GlobalData:       0xFFFFF802ED4138A0
	Root Handle:      80000834
	Temp Handle:      80000838
	Job Handle:       8000083c
	Token:            80000818
	Event Handle:     800008bc

	Map Paths (0):    0xFFFFE704EF437920
	VFS Context:      0xFFFFE704EEFC4710
	Memory Flags:     0x2

	Last PID:         35
	Thread Groups:    3
		Session 0xFFFFE704EDB79EC0
		Instance:         0xFFFFE704EEB8F010
		Console inode:    0x0
		Foreground PID:   -1
			Process Group 0xFFFFE704EDB79AE0
			Instance:      0xFFFFE704EEB8F010
			Session:       0xFFFFE704EDB79EC0
				Thread Group 0xFFFFE704EF4F8000
				Binary Path:           /init
				Thread(s):             1
				Owner Process Group:   0xFFFFE704EDB79AE0
				Flags:                 0x00000000
				Main Thread:           0xFFFFE704EF5CC010
				Arguments (006 bytes): 0x00007FFFC081D6E0
					Process 0xFFFFE704EF2F1D70
					Instance:            0xFFFFE704EEB8F010
					NT Process Object:   0xFFFFAE05E84EF800
					NT Process Handle:   0xFFFFFFFF80000F58
					VDSO Address:        0x00007FFFC0849000
					Stack Address:       0x00007FFFC001E000
		Session 0xFFFFE704EF5DB830
		Instance:         0xFFFFE704EEB8F010
		Console inode:    0xFFFFE704EF32D7A0
		Foreground PID:   2
			Process Group 0xFFFFE704EF5EF970
			Instance:      0xFFFFE704EEB8F010
			Session:       0xFFFFE704EF5DB830
				Thread Group 0xFFFFE704EF5EE000
				Binary Path:           /bin/bash
				Thread(s):             1
				Owner Process Group:   0xFFFFE704EF5EF970
				Flags:                 0x0000000C
				Main Thread:           0xFFFFE704EF5F8010
				Arguments (010 bytes): 0x00007FFFDF34E418
					Process 0xFFFFE704EDEF6EC0
					Instance:            0xFFFFE704EEB8F010
					NT Process Object:   0xFFFFAE05E84E6800
					NT Process Handle:   0xFFFFFFFF80000D9C
					VDSO Address:        0x00007FFFDF883000
					Stack Address:       0x00007FFFDEB4F000
		Session 0xFFFFE704EF0A8ED0
		Instance:         0xFFFFE704EEB8F010
		Console inode:    0xFFFFE704EF06B9C0
		Foreground PID:   19
			Process Group 0xFFFFE704F059CBC0
			Instance:      0xFFFFE704EEB8F010
			Session:       0xFFFFE704EF0A8ED0
				Thread Group 0xFFFFE704EDE51000
				Binary Path:           /bin/bash
				Thread(s):             1
				Owner Process Group:   0xFFFFE704F059CBC0
				Flags:                 0x0000000C
				Main Thread:           0xFFFFE704EDC78090
				Arguments (010 bytes): 0x00007FFFF78CFB78
					Process 0xFFFFE704F06389B0
					Instance:            0xFFFFE704EEB8F010
					NT Process Object:   0xFFFFAE05E618D800
					NT Process Handle:   0xFFFFFFFF80001650
					VDSO Address:        0x00007FFFF7C99000
					Stack Address:       0x00007FFFF70D0000

!ms_yarascan

yaraルールでプロセスメモリをスキャン

プロセスメモリをスキャンします。

root@kitploit:~
!ms_yarascan /pid 0x228 /yarafile /yarafile C:\Rules.yar

すべてのプロセスメモリをスキャンします。

root@kitploit:~
!for_each_process "r? @$t0 = (nt!_EPROCESS *) @#Process; .process /r /p @$t0; !ms_yarascan /pid @@C++(@$t0->UniqueProcessId) /yarafile C:\\Rules.yar"

クラス

PEFile

MsPEImageFile はWindowsバイナリ(PE)で使用される共通基本情報を含み、以下の3つの異なるクラスに派生しています:

  • MsProcessObject
  • MsDllObject
  • MsDriverObject
ツールをダウンロード