ステルス仮想化:VirtualBoxでVMの痕跡を隠すツール
仮想環境が自身を明かすとき
仮想マシンでは正常に動作するが、実際のハードウェアでは異なる動作をする不審なファイルに遭遇したことがあるだろうか。現代のマルウェアの多くはVMを検出でき、解析を困難にするために動作を変更する。これがMikael(nsmfoo)のアンチ検出スクリプトが解決する問題だ。
antivmdetectionとは?
これは以下のものを生成するPythonスクリプトだ:
- VirtualBox設定のテンプレート(ホスト上で実行)
- WindowsゲストOSを微調整するためのPowerShellスクリプト
- DSDTダンプ(ACPIテーブル)
主な利点は、VirtualBoxカーネルを変更しないアプローチだ。すべての変更は標準的なAPIと設定を通じて行われる。
誰が使うべきか?
- マルウェアアナリスト
- セキュリティ研究者
- アンチウイルスソリューション開発者
- サイバーセキュリティ愛好家
動作の仕組み:5つの主要機能
-
ハードウェア機能のマスク
- CPUとBIOS IDのスプーフィング
- リアルなファームウェアリリース日の生成
- ディスクコントローラ設定(IDE/SATA)
-
システムパラメータのランダム化
- コンピュータ名とユーザー名
- ディスクVolumeID
- クリップボード
- デスクトップ背景画像
-
信頼できる環境の作成
- 「ジャンク」文書の生成
- ファイル関連付けの設定
- ユーザーアクティビティのシミュレーション
-
Windowsレジストリの操作
- ProductIdとDigitalProductIdのスプーフィング
- ライセンスキー痕跡のクリーンアップ
- Internet Explorerパラメータの設定
-
柔軟な設定
- Windows 7および10のサポート
- ランダム化用のカスタム名前リスト指定機能
- 再起動不要と必要な設定の分離
技術的実装の詳細
このスクリプトは以下のものを使用する:
- テンプレート生成用のPython 3
- DSDTテーブル操作用のACPIツール
- システムユーティリティ(dmidecode、smartmontools)
- ゲストOSの微調整用のWindows PowerShell
アーキテクチャ的には、ソリューションは2つの部分に分かれている:
- テンプレートジェネレーター(ホスト)
- 微調整スクリプト(ゲスト)
実践的な応用例
シナリオ1:マルウェア解析
仮想化指標をチェックするマルウェアの動作を調査する必要がある場合。
シナリオ2:保護メカニズムのテスト
ペネトレーションテストシナリオで、VMをどの程度適切に検出できるかをチェックする場合。
シナリオ3:トレーニング環境の作成
情報セキュリティコース用のリアルな仮想マシンを準備する場合。
設定例
# На хосте
sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
sudo pip3 install -r requirements.txt
wget https://download.sysinternals.com/files/VolumeId.zip
wget https://www.nirsoft.net/utils/devmanview-x64.zip
sudo python3 antivmdetect.py
/bin/bash generated_script.sh my-vm-name
# В гостевой ОС
# После первого запуска PowerShell-скрипта требуется перезагрузка
制限事項
- VirtualBoxでのみ動作
- 一部の設定は手動での介入が必要
- 最新のWindows 11バージョンには未対応

結論:試してみる価値はあるか?
antivmdetectionプロジェクトは以下の用途に最適なソリューションだ:
- 「目に見えない」VMが必要な研究者
- セキュリティ専門家
- 不審な実行ファイルを扱うすべての人
2022年以降プロジェクトは更新されていないが、コア機能は依然として関連性がある。シンプルなシナリオではスクリプトはそのまま動作し、モジュラー構造によりニーズに合わせて簡単に適応できる。
以下の必要がある場合に試してみることをおすすめする:
- 「リアルな」環境でのマルウェア動作をチェックする
- VM検出システムをテストする
- マルウェア解析コース用のトレーニングラボを作成する
このプロジェクトはMITライセンスの下で公開されており、タスクに自由に使用・改変できる。
関連プロジェクト