マルウェア分析
Reading time: 9 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、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 は、Indicator Of Compromise の略です。IOC は、潜在的に望ましくないソフトウェアや確認された マルウェア を特定する 条件のセット です。ブルーチームは、この種の定義を使用して、システム や ネットワーク 内のこの種の悪意のあるファイルを 検索 します。
これらの定義を共有することは非常に有用で、コンピュータ内でマルウェアが特定され、そのマルウェアの IOC が作成されると、他のブルーチームはそれを使用してマルウェアをより迅速に特定できます。
IOC を作成または修正するためのツールは IOC Editorです。
Redline のようなツールを使用して、デバイス内の定義された IOC を検索 できます。
Loki
Loki は、シンプルなコンプロマイズの指標をスキャンするツールです。
検出は、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 のようなツールを使用して、ファイルシステムに対して可能な rootkits やマルウェアをチェックできます。
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の目的は、隠れたウェブシェルコードの検出を支援することです。
php-malware-finder
PHP-malware-finderは、難読化された/怪しいコードや、マルウェア/ウェブシェルでよく使用される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
検出技術
ファイルスタッキング
ウェブサーバーのファイルを含むフォルダーが最終更新された日付を知っている場合、ウェブサーバーのすべてのファイルが作成および変更された日付を確認し、疑わしい日付があれば、そのファイルを確認してください。
ベースライン
フォルダーのファイルが変更されるべきではなかった場合、フォルダーの元のファイルのハッシュを計算し、現在のものと比較できます。変更されたものは疑わしいです。
統計分析
情報がログに保存されている場合、各ウェブサーバーのファイルがどれだけアクセスされたかなどの統計を確認できます。ウェブシェルの一つが最も多いかもしれません。
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。