
実践的マルウェア解析&トリアージのラボ
続行する前に注意深くお読みください。
このリポジトリには、Practical Malware Analysis & Triage (PMAT) コースで使用するための生のマルウェアサンプルが含まれています。これらのサンプルは、一般的なマルウェアの特性を模倣するために作成されたものか、実際に「野良で捕獲された」実世界のサンプルです。どちらのカテゴリも危険です。これらのサンプルは常に細心の注意を払って取り扱ってください。
このリポジトリの内容をダウンロードすることにより、コースを購入したかどうかに関わらず、エンドユーザー使用許諾契約に同意したものとみなされます。詳細については EULA.md を参照してください。
コースを購入されてここにいるなら、ようこそ!コンテンツ作成者としての私をサポートしていただきありがとうございます。次のセクションに進み、ラボリポジトリの使い方を学んでください。
コースを購入せずにここにいるなら、ようこそ!コースのラボは無料(今後も無料です)で、興味のある方のために GitHub でホストされています。しかし、どこから始めればよいかわからない、かつ/または9時間以上の高品質な動画コンテンツでマルウェア解析を学びたい場合は、コースの購入を検討してください!動画は、あなたを有能で知識豊富なマルウェアアナリストに育てるために愛情を込めて作られました。
コースを購入して私をコンテンツ作成者としてサポートしたい場合は、アフィリエイトリンクもご利用ください!
このリポジトリの構造はコースの動画に対応しています。トップディレクトリにはセクションの名前が含まれ、サブディレクトリにはそのセクションで使用されるサンプルが格納されています。例:
📦labs
┣ 📂0-1.HandlingAndSafety
┃ ┣ 📜Malware.Calc.exe.7z
┃ ┣ 📜md5sum.txt
┃ ┣ 📜password.txt
┃ ┗ 📜sha256sum.txt
┣ 📂1-1.BasicStaticAnalysis
┃ ┣ 📂Malware.PackedAndNotPacked.exe.malz
┃ ┃ ┣ 📜Malware.PackedAndNotPacked.exe.zip
┃ ┃ ┣ 📜md5sum.txt
┃ ┃ ┣ 📜password.txt
┃ ┃ ┗ 📜sha256sum.txt
┃ ┣ 📂Malware.Unknown.exe.malz
┃ ┃ ┣ 📜Malware.Unknown.exe.7z
┃ ┃ ┣ 📜README.txt
┃ ┃ ┗ 📜password.txt
...[snip]...
上記の例では、0-1.HandlingAndSafety ディレクトリには Malware.Calc.exe.7z の圧縮コピーと、そのサンプルに付属するその他のファイルが含まれています。これはコースの「Handling and Safety」セクションで使用されます。
Handling and Safety サンプルの下にある 1-1.BasicStaticAnalysis ディレクトリには、そのセクションで使用される2つのサンプルが含まれています。コース全体がこの構造に従っているので、現在どのセクションにいるかを確認し、動画が参照するサンプルを確認してください。
各セクションはトピックごとに分かれています:
このセクションでは、マルウェアの無害化や転送・保存のための安全な方法など、基本的なマルウェアの取り扱いと安全性について説明します。
このセクションでは、初期トリアージ、静的解析、初回起動、基本解析の主要な方法論について説明します。
このセクションでは、高度なマルウェア解析方法論をカバーし、アセンブリ、デバッグ、逆コンパイル、Windows API のアセンブリレベルでの調査を紹介します。
このセクションでは、maldocs、C# アセンブリ、スクリプトベースのマルウェアなど、さまざまな特殊クラスのマルウェアについて説明します。また、モバイルプラットフォームのマルウェア解析に関するセクションも含まれています。
ボスファイトでは、悪名高い実世界のマルウェアサンプルと対決し、完全な解析を要求されます。
このセクションでは、効果的なレポート作成、Yara ルールの作成、Blue-Jupyter を使用したトリアージの初期段階の自動化について説明します。
コースの最終試験では、これまでのすべての関連スキルを組み合わせて、コース内の特定のサンプルに関するオープンソース情報を作成し公開するキャップストーンを行います。
コースの結論には、さらなる学習のための参考文献、リソース、役立つリソースが含まれます。
注意: 一部のサンプルは複数のセクションで複数回使用されます。コースの動画が参照しているサンプルを確認し、該当する動画に対して正しいサンプルを入手していることを確認してください。
このコースのチャレンジサンプルは、各セクションのミニキャップストーンとして使用されます。チャレンジとしてマークされた各サンプルには、サンプルに関する一連の質問と answers/ ディレクトリが含まれています。answers/ ディレクトリ内の README には、チャレンジの各質問に対する簡単な回答が含まれています。最初に答えを見ずにできるだけ進めてみてください!
各サンプルは ZIP で圧縮され、パスワードで保護されています。すべてのマルウェアサンプルのパスワードは infected です。
コースの最後のセクションの1つで、簡単なマルウェア解析レポートの書き方を教えています。そのセクションで使用されるテンプレートは こちら です。このコースや作成したいその他のマルウェアレポートのテンプレートとしてご自由にお使いください。

なぜルートディレクトリにハンサムな猫の写真があるのか疑問に思われるかもしれません。
cosmo.jpeg
それは私の猫、Cosmo です。彼はマルウェア解析が得意ではないので、一緒に学ぶために付いてきています。彼にはあまり期待していません(何しろただの猫ですから)。
cosmo.jpeg には2つの機能があります。
このコースのマルウェアサンプルは、さまざまな機能を実行するように作られています。データを破壊するように設計されたものもあれば、盗むように設計されたものもあります。データにまったく触れないものもあります。
cosmo.jpeg は、平均的なエンドユーザーがホストに持っているかもしれない貴重なデータのプレースホルダーです。このコースの一部のマルウェアサンプルは、彼を盗んだり、暗号化したり、エンコードして外部に持ち出したりと、あらゆることを行います。したがって、データの盗難や破壊がどのように見えるかを正確に表現するために、このコースのカスタム作成マルウェアサンプルはこのファイルを特に標的にします。
ファイルサイズは約1.6MBで、Cosmo 自身(決して太った猫ではありません)とは異なり、少し大きいです。そのため、データファイルのプレースホルダーとして十分に機能するはずです。
私はこのコースのサンプルを可能な限り安全にするためにゼロから作成しました。意図がどうであれ、マルウェアサンプルを世に出すことはリスクを伴うことを認識しています。そのため、これらのサンプルが悪意を持って使用される可能性を軽減するために、この特定のファイルにキーイングしました。これは、環境内に特定の識別子が存在する場合にのみペイロードがトリガーされるようにするレッドチームの戦術です。FLARE-VM のデスクトップに存在する cosmo.jpeg が、このコースのほとんどのマルウェアサンプルのキーとして機能します。
このラボリポジトリのダウンロードと展開が完了したら、cosmo.jpeg を Windows FLARE-VM ホストのメインユーザーアカウントのデスクトップにコピーしてください。これで完了です!