9.4 KiB
マルウェア分析
{% hint style="success" %}
AWSハッキングの学習と練習:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングの学習と練習: HackTricks Training GCP Red Team Expert (GRTE)
HackTricksのサポート
- サブスクリプションプランをチェックしてください!
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- ハッキングトリックを共有するために、HackTricksとHackTricks CloudのGitHubリポジトリにPRを提出してください。
フォレンジックチートシート
https://www.jaiminton.com/cheatsheet/DFIR/#
オンラインサービス
オフラインアンチウイルスおよび検出ツール
Yara
インストール
sudo apt-get install -y yara
ルールの準備
このスクリプトを使用して、github からすべての yara マルウェアルールをダウンロードしてマージします: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9
rules ディレクトリを作成して、それを実行します。これにより、マルウェアのすべての yara ルールが含まれる malware_rules.yar というファイルが作成されます。
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
スキャン
yara -w malware_rules.yar image #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder
YaraGen: マルウェアのチェックとルールの作成
バイナリからyaraルールを生成するためにツールYaraGenを使用できます。これらのチュートリアルをチェックしてください: Part 1, Part 2, Part 3
python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m ../../mals/
ClamAV
インストール
sudo apt-get install -y clamav
スキャン
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
Capa
Capaは、実行可能ファイル(PE、ELF、.NET)内の潜在的に悪意のある機能を検出します。そのため、Att&ckの戦術や以下のような疑わしい機能を見つけることができます:
- OutputDebugStringエラーのチェック
- サービスとして実行
- プロセスの作成
Githubリポジトリから入手できます。
IOCs
IOCはCompromiseのインジケーターを意味します。IOCは、潜在的に望ましくないソフトウェアまたは確認されたマルウェアを識別する一連の条件です。ブルーチームは、これらの定義を使用して、自分たちのシステムやネットワーク内のこの種の悪意のあるファイルを検索します。
これらの定義を共有することは非常に役立ちます。なぜなら、コンピューターでマルウェアが特定され、そのマルウェアのIOCが作成されると、他のブルーチームがそれを使用してマルウェアをより速く特定できるからです。
IOCを作成または変更するためのツールはIOC Editorです。
Redlineなどのツールを使用して、デバイス内で定義されたIOCを検索することができます。
Loki
Lokiは、シンプルなCompromiseのインジケーターのスキャナーです。
検出は、4つの検出方法に基づいています:
1. File Name IOC
Regex match on full file path/name
2. Yara Rule Check
Yara signature matches on file data and process memory
3. Hash Check
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
4. C2 Back Connect Check
Compares process connection endpoints with C2 IOCs (new since version v.10)
Linux Malware Detect
Linux Malware Detect (LMD)は、GNU GPLv2ライセンスの下でリリースされたLinux用のマルウェアスキャナーであり、共有ホスト環境で直面する脅威を中心に設計されています。ネットワークエッジ侵入検知システムからの脅威データを使用して、攻撃で実際に使用されているマルウェアを抽出し、検出用のシグネチャを生成します。さらに、脅威データは、LMDチェックアウト機能とマルウェアコミュニティリソースからも派生しています。
rkhunter
rkhunterのようなツールは、rootkitやマルウェアの可能性をチェックするために使用できます。
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
FLOSS
FLOSSは、さまざまな技術を使用して、実行可能ファイル内の難読化された文字列を見つけようとするツールです。
PEpper
PEpperは、実行可能ファイル内の基本的な情報(バイナリデータ、エントロピー、URLやIP、一部のyaraルール)をチェックします。
PEstudio
PEstudioは、Windowsの実行可能ファイルのインポート、エクスポート、ヘッダなどの情報を取得できるツールであり、また、ウイルストータルをチェックし、潜在的なAtt&ck技術を見つけることもできます。
Detect It Easy(DiE)
DiEは、ファイルが暗号化されているかどうかを検出し、パッカーを見つけるツールです。
NeoPI
NeoPIは、Pythonスクリプトであり、さまざまな統計的手法を使用して、テキスト/スクリプトファイル内の難読化および暗号化されたコンテンツを検出します。 NeoPIの目的は、隠されたWebシェルコードの検出を支援することです。
php-malware-finder
PHP-malware-finderは、難読化/怪しいコードや、マルウェア/Webシェルでよく使用されるPHP関数を使用しているファイルを検出するために最善を尽くします。
Apple Binary Signatures
マルウェアサンプルをチェックする際には、バイナリの署名を常にチェックする必要があります。署名を行った開発者がすでにマルウェアと関連している可能性があるためです。
#Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
#Check if the app’s contents have been modified
codesign --verify --verbose /Applications/Safari.app
#Check if the signature is valid
spctl --assess --verbose /Applications/Safari.app
検知技術
ファイルの積み重ね
Webサーバーのファイルが含まれるフォルダがある日付に最後に更新されたことを知っている場合は、Webサーバーのすべてのファイルが作成および変更された日付をチェックし、疑わしい日付があればそのファイルをチェックします。
ベースライン
フォルダのファイルが変更されていないはずの場合、フォルダの元のファイルのハッシュを計算し、現在のファイルと比較します。変更されたものは疑わしいです。
統計分析
情報がログに保存されている場合、Webサーバーの各ファイルがアクセスされた回数などの統計情報をチェックできます。Webシェルが最も多い可能性があります。