Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
antivmdetection — VirtualBoxで仮想マシン検出を難しくするためのテンプレートを作成するスクリプト | Kitploit
ツール/GitHubGitHub/nsmfoo/antivmdetection
IDS/IPS回避マルウェア分析アンチボット
GitHubnsmfoo/antivmdetection

antivmdetection

VirtualBoxで仮想マシン検出を難しくするためのテンプレートを作成するスクリプト

リポジトリを見る
7771243年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Antivmdetection

背景

VM検出を難しくするためにVirtualBoxで使用できるテンプレートを作成するためのスクリプトです。

このテーマに関する最初の投稿は2012年であり、その後不定期に更新してきました。ブログ形式は情報を公開する最良の方法ではなかったかもしれません。また、内容に基づいた「適用しやすい」便利なスクリプトを作成してくれた方もいました。

新しいコンテンツを追加しやすくするために、私も同じことをすることにしました。

このスクリプトの目的は、VirtualBoxのベースを変更せずに利用可能な設定を使用することです。VirtualBoxにパッチを当てて非常に優れたことを行う人々もいますが、それはこのスクリプトの範囲外です。このアプローチには、VirtualBoxの新しいリリースごとに(できれば)壊れないというメリットがあると思います。 長い間に、VMに直接関係しないものの、マルウェアがインストール環境をフィンガープリントするために使用する「もの」も含めるようになりました。ご了承ください。

メインスクリプトは以下のファイルを作成します:

  • ホストOSから使用して、変更したいVMに適用できるテンプレートとして使用できる1つのシェルスクリプト。
  • 上記のテンプレートスクリプトで使用されるDSDTのダンプ。
  • ゲスト内部で使用するためのWindows Powershellファイル。ホストから変更できない設定を処理します。このスクリプトは2回実行する必要があります。1回目は再起動が必要な変更のため、2回目は再起動後に再発する厄介な事項のためです。

使用方法

ホストからスクリプトを生成する

  • 依存関係をインストール:sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
  • Pythonモジュールをインストール:sudo pip3 install -r requirements.txt
  • 以下のWindowsバイナリをダウンロードし、antivmdetectionディレクトリに展開:wget https://download.sysinternals.com/files/VolumeId.zip https://www.nirsoft.net/utils/devmanview-x64.zip(x64版)。
  • コンピューターとユーザーのテキストファイルを作成:hostname > computer.lst、whoami > user.lst。VMに異なるマシン名とユーザーを使用したい場合は変更してください(推奨はファイルにユーザー名とコンピューター名の長いリストを入れることです)
  • Pythonスクリプトをsudoで実行:sudo python3 antivmdetect.py
  • 生成されたホストスクリプトをカレントユーザーが実行可能に設定:sudo chmod a+x xxxxx.sh
  • 次のメッセージが表示された場合:「ACPI tables bigger than 64KB (VERR_TOO_MUCH_DATA)」、これはVirtualBoxの制限によるものです。詳細はこちらのケースを参照してください:https://github.com/nsmfoo/antivmdetection/issues/37。動作確認はされていませんが、https://www.tonymacx86.com/dsdt-database が良いリソースかもしれません...

VMのセットアップ

  • VMを作成しますが、起動しないでください。また、VirtualBox GUIも終了してください。シェルスクリプトはインストール前に実行する必要があります!
  • 「I/O APIC」が有効になっていることを確認(システム > マザーボードタブ)。
  • 「パラバーチャライゼーション・インターフェース」が「なし」に設定されていることを確認(システム > アクセラレーションタブ)。
  • CPU数を可能であれば2以上に変更。
  • VM IPを設定(ファイル > ホストネットワークマネージャー > アダプターを手動設定 > IPv4アドレス)。
  • スクリプトはストレージ構成が次のようになっていることを前提としています:+ IDE: プライマリマスター(ディスク)およびプライマリスレーブ(CD-ROM) + * ATA: ポート0(ディスク)およびポート1(CD-ROM)
  • カレントユーザーとしてスクリプトを実行(VMはカレントユーザーのホームディレクトリにあるため):/bin/bash xxxxx.sh my-virtual-machine-name
  • Windowsオペレーティングシステムをインストール(W7およびW10をサポート)

VM内部からスクリプトを実行する

  • バッチスクリプト(xxxx.ps1)を新しくインストールしたゲストに移動します。

  • ゲスト内部でバッチスクリプトを実行します。変更される設定のほとんどは、再起動後に元に戻ることに注意してください。必要に応じて起動時に実行するように設定してください。

  • バージョン0.1.4以降、一部の適用された設定は再起動が必要になります。したがって、バッチスクリプトを1回実行すると、ゲストが再起動されます。その後、スクリプトをもう一度実行してセットアップを完了します。

  • ゲスト内部でバッチスクリプトを適用する前に、UACを無効にしてください(再起動が必要)。そうしないと、スクリプトでレジストリを変更できません。

  • Windows 10ユーザーへ:PSスクリプトを管理者として実行(cmd.exeを右クリック → 管理者として実行、PSスクリプトがある場所に移動して実行)

  • 正しく適用された場合、Pafishの実行は次のようになります(Virtualboxを変更する必要はありません)。

  • このスクリプトは、Pafishでカバーされていない他のことも行うことに注意してください(例:W10のアーティファクト)

alt text

注意事項

  • antivmdetectスクリプトが適切な値を見つけられない場合、新しく作成されたスクリプト内でこれらの設定を「#」でコメントアウトします。これらは手動で確認する必要があります。VMに表示される内容に影響を与える可能性があるためです。

バージョン履歴

  • 0.1.9:
    Python3対応
    正しいディスクを抽出するための最初の試み。多くの人にとって頭痛の種でした(Issue #35(およびその他いくつかの古いIssue)、@oaustinに感謝)
    シェルスクリプトの文字列処理を改善(Issue #35と#36、およびPR #44、@oaustin、@dashjuvi、@corownikに感謝)
    オンラインDSDTリソースへのリンクを追加(Issue #37、@MasterCATZに感謝)
    インストール手順をより明確にするためにREADMEを更新、@jorantsに感謝(Issue #38)
    DSDTダンプが実際に作成されたかどうかを確認、@nov3mb3rに感謝(Issue #42)
    ライセンス通知を追加、@obilodeauに感謝(Issue #43)
    コードのクリーンアップ:サーバーハードウェアにアクセスできないためRAIDディスクサポートを削除...およびその他多数の小さな改善

  • 0.1.8:
    Windows 10のサポートを改善
    @bryant1410からのマークアップ修正をマージ(PR #14)
    macOS + VBox/VMWare Fusionを使用してテンプレートを作成する人々の問題を解決
    とにかく仮想マシンからテンプレートを作成するのは最善の方法ではありません...(Issue #12およびおそらく#15)

  • 0.1.7:
    Windows 10をサポート(フィードバック歓迎)
    W10インストール用にいくつかの新しいアーティファクトを「修正」
    新しい依存関係:mesa-utils
    @Fullmetal5からのバグ修正をマージ(#10)
    その他のコード修正
    readmeを更新

  • 0.1.6:
    2回目の実行後にポップアップを追加し、準備ができたことを明確に
    メモ帳のインスタンスをいくつか生成する関数を追加。この機能は将来のバージョンで拡張予定
    RandomDate関数を再編。古い関数の問題を指摘してくれた@Anteloxに感謝(#8)
    古いバージョンのUbuntuに付属するAcpidumpは「-s」スイッチをサポートしていません。これはエラーメッセージで処理されるようになりました。このIssueを報告してくれた@Anteloxに感謝(#7)
    2回目の実行後にDevmanview.exeが削除されなかった問題を修正

  • 0.1.5:
    ファイル拡張子の関連付けと関連付け解除(デフォルトでは無効)のサポートを追加。参照:https://www.proofpoint.com/us/threat-insight/post/massive-adgholas-malvertising-campaigns-use-steganography-and-file-whitelisting-to-hide-in-plain-sight
    ユーザー提供のクリップボードバッファのサポートを追加。存在しない場合はランダムな文字列が生成されます。お好みのハニートークンでファイルを埋めてください
    XPサポートを削除
    バッチスクリプトのセクションをPowershellに変換。より多くのロジックをゲストスクリプトに移動。つまり、テンプレートを頻繁に作成/再生成する理由が減りました。より多くのアイテムがゲスト上でランダム化されるためです。
    デスクトップの背景画像をランダム化する関数を追加
    ゲスト上に「あらゆる」種類のドキュメントを作成する関数を追加
    ゲスト上に「あらゆる」種類のドキュメントを作成し、ごみ箱に移動する関数を追加
    さらに2か所でDigitalProductIdをランダム化:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\DigitalProductId。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\DigitalProductId。
    パラバーチャライゼーション・インターフェースの使用:なし(VBox 5.1.4で確認) - チェックはこの変更を反映するために更新。VBoxのこの変更がTiTi87のおかげであると推測します。ありがとう!

  • 0.1.4:
    python-dmidecode 3.10.13-3を使用するユーザーのバグを修正。これは完全に私のミスでした。
    VolumeIDをランダム化する関数を追加(新しい前提条件:VolumeID.exe)。この情報は例えばRovnixによって収集されます
    ユーザー名とコンピューター名/ホスト名をランダム化する関数を追加(新しい前提条件:ユーザー名とコンピューター名のリスト)
    クリップボードバッファに情報を追加する最初の試み。(コマンドの)アイデアは@shanselmanのツイートから来ました。次のリリースで改善予定
    readmeを更新:新しい依存関係と再起動が必要な新機能

  • 0.1.3:
    CPUブランド文字列をコピーして設定。
    オーディオデバイスがゲストに接続されているか確認。参照: OSアーキテクチャとDevManViewバイナリを確認。 さらに2か所でProductIdをランダム化: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\ProductId。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\ProductId。 レジストリからWindowsプロダクトキーを削除(誰かに盗まれるのを防ぐため...)。 DigitalProductId(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId)を新しいProductIdに合わせて編集。

/Mikael

フィードバックはいつでも歓迎です!=)

ツールをダウンロード
http://www.joesecurity.org/reports/report-61f847bcb69d0fe86ad7a4ba3f057be5.html






  • 0.1.2:
    レガシーパラバーチャライゼーションインターフェースが使用されているか確認(レガシーインターフェースの使用は「cpuid機能」検出を軽減します)。

  • 0.1.1:
    CPU数を確認(2未満 == アラート)。
    メモリサイズを確認(2GB未満 == アラート)。
    vboxnet0にデフォルトのIP/IP範囲が使用されているか確認(使用しない場合は通知を無視できます)。
    ProductIdをランダム化。
    r-sierraからのPR #3をマージ(協力ありがとうございます!)。
    AcpiCreatorIdのバグを修正(報告してくれた@Nadacscに感謝!)。
    DmiBIOSReleaseDate解析のバグを修正。
    DmiBIOSReleaseDateのバグを修正し、「デフォルト」のスペルミスバリアントと正しくスペルされたバリアントの両方を処理(報告してくれた@WanpengQianに感謝!)。
    DevManViewの組み込みが期待通りに機能しませんでした。このリリースで修正されるはずです。
    SATAコントローラもサポート(以前はIDE設定のみ変更されていました)。
    readmeを更新

  • 0.1.0:
    HTで有名になったWMI検出を解決。前提条件に
    DevManView.exe(アーキテクチャは選択可能)を追加。

  • < 0.1.0 これ以前のバージョン履歴はありません。どこかから始める必要があります。