SHEDは、有用な情報を抽出するためにプログラムの.NETランタイムを検査できるアプリケーションです。マルウェアが実行された後に保存されている情報の最初の一般的な概要を持つために、悪意のあるアプリケーションを検査するために使用できます。
小屋はできます:
Shedはコマンドラインツールです。利用可能なすべてのオプションを表示するには、実行されます。
shed.exe --help
すでに実行されているプロセスを検査するには、PIDを渡すために渡す必要があります。例:
Shed.exe --pid 2356
バイナリを検査するには、 shedは実行時間を検査するためにそれを実行し、それに取り付ける必要があります。例:
Shed.exe --exe malware.exe
また、プロセスを一時停止する前に待つ時間(ミリ秒単位)を指定することもできます。これにより、プログラムがプロパティを初期化する時間を持つことができます。例:
Shed.exe --timeout 2000 --exe malware.exe
SHEDを使用すると、ManageDinjectorライブラリのおかげで、リモートプロセスで.NETアセンブリを注入できます。そのためには、プロセスのPIDとexeを注入するために指定する必要があります。アセンブリが注入されると、特定の方法を呼び出すことでアクティブ化できます。メソッドを特定するためのルールは、 ManageDinjectorプロジェクトによって継承され、次のとおりです。
たとえば、PID 1234を使用してアセンブリ注入型組織をプロセスに注入するには、次のコマンドを使用して実行されます。
shed.exe --pid 1234 --exe InjectedAssembly.dll --inject
-METHODオプションを使用すると、 disjededAssembly.exeから呼び出しまでのメソッドを指定できます。
以下に実行の例を見つけます:
デフォルトでは、ヒープとモジュールの両方を捨てます。そのいずれかが必要な場合は、ヒープにオブジェクトのみをダンプする-dump-heapオプションを指定する場合、または-dump-modulesがモジュールのみをダンプします。
ヒープを捨てることは、分析に厳密に役立たない多くの情報を生成する可能性があります。 2つのファイルを使用してフィルタリングできます。
blacklist.txtこのファイルには、記録してはならないタイプ名のプレフィックスが含まれています
whitelist.txtこのファイルには、ブラックリストに登録されていても記録する必要があるタイプ名のプレフィックスが含まれています
たとえば、すべてのsystem.io namespaceをフィルタリングするが、 system.io.io.memorystreamのログに興味がある場合は、最初の値をblacklist.txtに、2番目の値をwhitelist.txtに追加できます。
例フォルダーには、小屋をテストするために使用できる3つの異なるプロジェクトがあります。例:
Shed.exe --exe ..ExamplesConfigurationSampleConfigurationSample.exe
分析が完了すると、以下に示すように、 Shedが結果を見つけることができる場所で印刷します。
[+]結果はc: shed result 7800に保存されました
Visual Studioをインストールしている場合は、build.batバッチファイルを実行するだけで、ビルドフォルダー内にzipファイルが作成されます。
Copyright(c)2017 Antonio Parata- @s4tan
ライセンス:GNU一般公開ライセンス、バージョン2以降。詳細については、このアーカイブに含まれているライセンスを参照してください。