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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/reveng007/amsi-patches-learned-till-now
IDS/IPS回避リバースエンジニアリングポストエクスプロイト学習と教育レッドチーミング厳選リソース
GitHubreveng007/amsi-patches-learned-till-now

AMSI-patches-learned-till-now

これまでに学んだすべてのAMSIパッチを文書化しました。

リポジトリを見る
7211610ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

これまでに学んだAMSIパッチ

これまでに学んだすべてのAMSIパッチを文書化しました。

❗ これまでの私のAMSIパッチ学習。私の会社の資産には属しません!

免責事項: このコードは現時点では回避を目的としたものではありません!あくまで概念的なアプローチです。

リンク:

  1. https://web.archive.org/web/20220718153535/https://pre.empt.dev/posts/maelstrom-etw-amsi/#Antimalware_Scan_Interface_(AMSI)
  2. https://rastamouse.me/memory-patching-amsi-bypass/

未だ実装されていないもの:

  1. ハードウェアブレークポイントとVEHによるAMSIパッチング: In-Process Patchless AMSI Bypass

画像:

Capture

AMSIパッチングの方法の1つ:

AMSI_patch

概念:

1. AmsiOpenSession: 複数のスキャン要求を相互に関連付けることができるセッションを開きます。

a. jne の呼び出し前にすべての命令が成功する場合、jne を介して amsi!AmsiOpenSession+0x4c への進入をスキップする。
=> 最終的に amsi!AmsiCloseSession に直接到達します。

動画リンク: https://drive.google.com/file/d/1H0JheGNGzIyWZ62HNLmJ_oeAAUtDGIKd/view?usp=sharing

amsi!AmsiOpenSession から jne を使用するテクニック Github を紹介してくれた @D1rkMtr に感謝します。彼のAMSIパッチコードのテンプレートを使用し、これまでに私が取り組んだ他の手法を追加しました。

b. amsi!AmsiOpenSession の先頭に c3 を直接貼り付けることで、ret を介して amsi!AmsiOpenSession+0x4c (複数のスキャン要求を関連付けることができるセッションを開く) への進入をスキップする。
=> 最終的に amsi!AmsiCloseSession に直接到達します。

動画リンク: https://drive.google.com/file/d/1_tpCfJ-aO1wzeEx3Id7b7bTJUyc5ExBw/view?usp=sharing

2. AmsiScanBuffer: バッファ一杯のコンテンツをマルウェアの有無についてスキャンします。

a. amsi!AmsiScanBuffer の先頭に c3 を直接貼り付けて、ret を介して amsi!AmsiScanBuffer の主要命令の実行をスキップする。

動画リンク: https://drive.google.com/file/d/1PljZld1aXz89nCO3gQCjYpwSqbEbi4J_/view?usp=sharing

b. amsi!AmsiScanBuffer の先頭に \\xB8\\x57\\x00\\x07\\x80\\xC3 ('mov eax, 0x80070057; ret') を直接貼り付けて、amsi!AmsiScanBuffer 内で実際のスキャンを実行して戻る分岐をスキップする。

ここで、HRESULTの値 (むしろエラー値) は 'E_INVALIDARG' です (出典: https://pre.empt.dev/posts/maelstrom-etw-amsi/#Historic_AMSI_Bypasses)

@_RastaMouse_ によるこの ブログ に感謝します

c. amsi!AmsiScanBuffer の先頭に \\xB8\\x05\\x00\\x07\\x80\\xC3 ('mov eax, 0x80070005; ret') を直接貼り付けて、amsi!AmsiScanBuffer 内で実際のスキャンを実行して戻る分岐をスキップする。

ここで、HRESULTの値 (むしろエラー値) は 'E_ACCESSDENIED' です (出典: https://pre.empt.dev/posts/maelstrom-etw-amsi/#Historic_AMSI_Bypasses)

d. amsi!AmsiScanBuffer の先頭に \\xB8\\x06\\x00\\x07\\x80\\xC3 ('mov eax, 0x80070006; ret') を直接貼り付けて、amsi!AmsiScanBuffer 内で実際のスキャンを実行して戻る分岐をスキップする。

ここで、HRESULTの値 (むしろエラー値) は 'E_HANDLE' です (出典: https://pre.empt.dev/posts/maelstrom-etw-amsi/#Historic_AMSI_Bypasses)

e. amsi!AmsiScanBuffer の先頭に \\xB8\\x0E\\x00\\x07\\x80\\xC3 ('mov eax, 0x8007000E; ret') を直接貼り付けて、amsi!AmsiScanBuffer 内で実際のスキャンを実行して戻る分岐をスキップする。

ここで、HRESULTの値 (むしろエラー値) は 'E_OUTOFMEMORY' です (出典: https://pre.empt.dev/posts/maelstrom-etw-amsi/#Historic_AMSI_Bypasses)

その他の重要なブログ:

著者: Ritaban Das: https://github.com/dosxuz/TradecraftImrprovement

  1. ヌル文字によるAMSIバイパス: https://standa-note.blogspot.com/2018/02/amsi-bypass-with-null-character.html
  2. Win10: AMSIの内部構造: AMSIバイパス: パッチングテクニック: https://www.cyberark.com/resources/threat-research-blog/amsi-bypass-patching-technique
  3. AMSIメモリ改ざんのハンティング: https://blog.f-secure.com/hunting-for-amsi-bypasses/
  4. BlackHat 2018: https://i.blackhat.com/briefings/asia/2018/asia-18-Tal-Liberman-Documenting-the-Undocumented-The-Rise-and-Fall-of-AMSI.pdf
  5. PowerShell AMSI、スクリプトブロックロギング、PowerShellロギングの調査 – 不審な文字列の回避: https://www.mdsec.co.uk/2018/06/exploring-powershell-amsi-and-logging-evasion/
  6. AMSI WLDP Dotnetの無効化: https://modexp.wordpress.com/2019/06/03/disable-amsi-wldp-dotnet/
  7. BlackHat 2022: AMSI & バイパス: 既知のAMSIバイパステクニックの総括と新しい手法の紹介: https://www.youtube.com/watch?v=8y8saWvzeLw
  8. NtCreateSectionをフックするローカルプロセスでのAMSIバイパス: https://waawaa.github.io/es/amsi_bypass-hooking-NtCreateSection/
  9. LifeTime AMSIバイパス: 最初のバイト をパッチし、JE から JMP に変更して直接戻るようにする... : https://github.com/ZeroMemoryEx/Amsi-Killer
  10. 管理者としてAMSIをシステム全体で無力化する: https://www.pavel.gr/blog/neutralising-amsi-system-wide-as-an-admin
  11. セキュリティベンダーによるMicrosoftのAntimalware Scan Interfaceの使用を追跡する取り組み: https://github.com/subat0mik/whoamsi
  12. 実行時にAmsi.dllのコードパッチを探すスキャナーでは検出できないパッチレスAMSIバイパス: https://github.com/CCob/SharpBlock
  13. AMS1バイパス Powershell: https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell
  14. 難読化されたDLLを介したAMSI & ETWの無効化: https://github.com/icyguider/LightsOut
ツールをダウンロード