Help us understand the problem. What is going on with this article?

敵対的思考を支援するWindows ディストリビューション - Commando VM

Commando VMとは

Commando VMComplete Mandiant Offensive VM)」とは、ペネトレーション・テストやレッドチームの担当者をサポートすることに焦点を当てたWindows OSディストリビューションです。
サイバーセキュリティ企業のFireEye(ファイア・アイ)が立ち上げたプロジェクトです。

Commando.png

ペネトレーションテストに特化したディストリビューションとして、Kali LinuxParrot Security Linuxが人気です。これらは、いずれもLinux OSをベースとしたディストリビューションです。
これに対して、Command VMは、Windows OSをベースとしたディストリビューションです。
このため、Windows OSおよびActive Directoryをネイティブサポートし、ファイル共有をより簡単に(かつインタラクティブに)実現。標的クライアントの資産上にアウトプットファイルを残すことなく、ツールを使用することができるといった特徴があげられます。

FireEye社の日本語ブログでは、「Commando VM」の概要に関する記事が公開されています。技術詳細を含むブログ全文は英語サイトにて公開されています。

本稿では、Commando VMのインストール手順について紹介します。

Commando VM システム要件

  • Windows 7 Service Pack 1 または Windows 10
  • 60 GBのハードドライブ
  • 2 GB RAM

推奨

  • Windows 10
  • 80 GB以上のハードドライブ
  • 4 GB以上のRAM
  • 2つのネットワークアダプター
  • VMの仮想化サポートを有効にする(Kali または Dockerの利用に必要)

Commando VMは、仮想マシンで使用することが推奨されています。これにより、展開が容易になり、各エンゲージメントの前にクリーンな状態に戻すことができます。

仮想化サポートの有効化

Commando VMでは、「Windows Subsystem for Linux(WSL)」に「Kali Linux」をインストールします。また、「Docker for Windows」をインストールします。
これらソフトウェアは、仮想環境で動作します。このため、仮想マシン(VMware Fusion仮想マシン)上でさらにネストし仮想環境を動かすこと(Nested Virtualization)になります。
Nested Virtualizationのためには、仮想マシンの設定を変更し、「Intel VT-x」という仮想化ハードウェア拡張を有効にする必要があります。その設定方法は次のとおりです。

  1. [ウィンドウ] > [仮想マシンのライブラリ] を選択します。
  2. [仮想マシンのライブラリ] ウィンドウで仮想マシンを選択し、[設定] をクリックします。
  3. [設定] ウィンドウの [システム設定] で、[プロセッサとメモリ] をクリックします。 スクリーンショット 2020-03-11 21.40.58.png
  4. クリックして [詳細オプション] を展開し、[この仮想マシンでハイパーバイザー アプリケーションを有効にする]チェックボックスをチェックします。 スクリーンショット 2020-03-11 21.50.26.png

インストール手順

  1. VMware上に、新規 Windows 10 November 2019 Update の仮想マシンを作成して構成します。
    Winver.PNG
    Commando VMのインストール前に「Windows 10 のディスク クリーンアップ」を実施しておくことをオススメします。

  2. VMware Toolsをインストールします。この時点で、仮想マシンのスナップショットを取得しておくことをオススメします。

  3. あらためて、ディスクに十分な空き容量があることを確認します。容量不足の場合には、仮想ディスクの拡張を検討します。
    disk.PNG

  4. 次のURLに移動し、圧縮されたCommando VMリポジトリをcommando-vm-master.zipファイルとして仮想マシン上にダウンロードします。
    https://github.com/fireeye/commando-vm
    スクリーンショット 2020-03-12 1.44.31.png

  5. 以下の手順に従って、Commando VMのインストールを完了します。

    1. Commando VMリポジトリ(commando-vm-master.zip)をディレクトリ(ここでは、c:¥)に展開します。
    2. 管理者特権でPowerShellの新しいセッションを開始します。Commando VMは追加のソフトウェアをインストールし、システム設定を変更しようとします。したがって、インストールには昇格された特権が必要です。 powershell.PNG
    3. PowerShell内で、Commando VMリポジトリを展開した場所にディレクトリ(ここでは、c:¥commando-vm-master)を変更します。
    4. 次のコマンドを実行し、PowerShellのプロンプトが表示されたら「Y」と応答して、PowerShellの実行ポリシーを無制限に変更します。
      • Set-ExecutionPolicy unrestricted
    5. 最後に、次のようにインストーラースクリプトを実行します。
      • .\install.ps1
      • 引数としてパスワードを渡すこともできます: .\install.ps1 -password <password> commandoVM_install.PNG
    6. インストールを進行させるため、次の設問にNを選択します。
      • [-] Do you need to change this setting? Y/N N
      • [-] Do you need to take a snapshot before continuing? Y/N N
    7. 残りのインストールプロセスは完全に自動化されています。ソフトウェアのインストール要件が多数あるため、仮想マシンは複数回再起動します。インストールが完了すると、PowerShellプロンプトは開いたままになり、終了する前にキーを押すまで待機します。 install.PNG desktop.png
    8. 再起動後に、次のデスクトップ環境が表示されます。 CommandoVM_Desktop.png

一連のスクリプトは「Boxstarter」、「Chocolatey(チョコレティ)」パッケージマネージャー、および「MyGet」を使用して環境をセットアップし、Commando VM環境のダウンロードとインストールを行います。

拡張されたコンテキストメニュー

Commando VMインストール後、コンテキストメニュー(右クリックメニュー)は、次のとおり拡張されています。
スクリーンショット 2020-03-11 15.44.58.png

最新の状態に保つ

次のコマンドを入力して、すべてのパッケージを最新バージョンに更新します。

cup all

新しいパッケージをインストールする

Commando VMはChocolatey Windowsパッケージマネージャーを使用します。新しいパッケージを簡単にインストールできます。たとえば、システムにGithubデスクトップを展開するには、管理者として次のコマンドを入力します。

cinst github

インストール済みツール

スクリーンショット 2020-03-11 15.47.28.png

Active Directory Tools

Command & Control

Developer Tools

  • Dep
  • Git
  • Go
  • Java
  • Python 2
  • Python 3 (default)
  • Ruby
  • Ruby Devkit
  • Visual Studio 2017 Build Tools (Windows 10)
  • Visual Studio Code

Docker

  • OWASP Amass: パブリックデータからの情報収集と偵察技術を使用して、DNS列挙、資産の発見を可能にするツール。GitHub「OWASP Amass - Users' Guide
  • SpiderFoot: パブリックデータを自動的に巡回し、IPアドレス、ドメイン名、電子メールアドレス、名前などに関するインテリジェンスを収集する偵察ツール。SpiderFoot「SpiderFoot Documentation

Evasion

  • CheckPlease
  • Demiguise
  • DefenderCheck
  • DotNetToJScript
  • Invoke-CradleCrafter
  • Invoke-DOSfuscation
  • Invoke-Obfuscation
  • Invoke-Phant0m
  • Not PowerShell (nps)
  • PS>Attack
  • PSAmsi
  • Pafishmacro
  • PowerLessShell
  • PowerShdll
  • StarFighters

Exploitation

  • ADAPE-Script
  • API Monitor
  • CrackMapExec
  • CrackMapExecWin
  • DAMP
  • EvilClippy
  • Exchange-AD-Privesc
  • FuzzySec's PowerShell-Suite
  • FuzzySec's Sharp-Suite
  • Generate-Macro
  • GhostPack
    • Rubeus
    • SafetyKatz
    • Seatbelt
    • SharpDPAPI
    • SharpDump
    • SharpRoast
    • SharpUp
    • SharpWMI
  • GoFetch
  • Impacket
  • Invoke-ACLPwn
  • Invoke-DCOM
  • Invoke-PSImage
  • Invoke-PowerThIEf
  • Kali Binaries for Windows
  • LuckyStrike
  • MetaTwin
  • Metasploit
  • Mr. Unikod3r's RedTeamPowershellScripts
  • NetshHelperBeacon
  • Nishang
  • Orca
  • PSReflect
  • PowerLurk
  • PowerPriv
  • PowerSploit
  • PowerUpSQL
  • PrivExchange
  • RottenPotatoNG
  • Ruler
  • SharpClipHistory
  • SharpExchangePriv
  • SpoolSample
  • SharpSploit
  • UACME
  • impacket-examples-windows
  • vssown
  • Vulcan

Information Gathering

  • ADACLScanner
  • ADExplorer
  • ADOffline
  • ADRecon
  • BloodHound
  • dnsrecon
  • FOCA
  • Get-ReconInfo
  • GoBuster
  • GoWitness
  • NetRipper
  • Nmap
  • PowerView
    • Dev branch included
  • SharpHound
  • SharpView
  • SpoolerScanner
  • Watson

Kali Linux

  • kali-linux-default
  • kali-linux-xfce
  • VcXsrv

Networking Tools

  • Citrix Receiver
  • OpenVPN
  • Proxycap
  • PuTTY
  • Telnet
  • VMWare Horizon Client
  • VMWare vSphere Client
  • VNC-Viewer
  • WinSCP
  • Windump
  • Wireshark

Password Attacks

  • ASREPRoast
  • CredNinja
  • DomainPasswordSpray
  • DSInternals
  • Get-LAPSPasswords
  • Hashcat
  • Internal-Monologue
  • Inveigh
  • Invoke-TheHash
  • KeeFarce
  • KeeThief
  • LAPSToolkit
  • MailSniper
  • Mimikatz
  • Mimikittenz
  • RiskySPN
  • SessionGopher

Reverse Engineering

  • DNSpy
  • Flare-Floss
  • ILSpy
  • PEview
  • Windbg
  • x64dbg

Utilities

  • 7zip
  • Adobe Reader
  • AutoIT
  • Cmder
  • CyberChef
  • Explorer Suite
  • Gimp
  • Greenshot
  • Hashcheck
  • Hexchat
  • HxD
  • Keepass
  • MobaXterm
  • Mozilla Thunderbird
  • Neo4j Community Edition
  • Notepad++
  • Pidgin
  • Process Hacker 2
  • SQLite DB Browser
  • Screentogif
  • Shellcode Launcher
  • Sublime Text 3
  • TortoiseSVN
  • VLC Media Player
  • Winrar
  • yEd Graph Tool

Vulnerability Analysis

  • AD Control Paths
  • Egress-Assess
  • Grouper2
  • NtdsAudit
  • PwndPasswordsNTLM
  • zBang

Web Applications

  • Burp Suite
  • Fiddler
  • Firefox
  • OWASP Zap
  • Subdomain-Bruteforce
  • Wfuzz

Wordlists

  • FuzzDB
  • PayloadsAllTheThings
  • SecLists
  • Probable-Wordlists
  • RobotsDisallowed

参考情報

Commando VM について

FLARE VM について

Chocolatey について

Boxstarter について

v_avenger
セキュリティリサーチャー, RISS, GCIH | サイバー犯罪対策、特にオンライン詐欺が専門。2002年よりこの領域で活動。サポートエンジニア、マルウェア解析、インシデントハンドラー、フォレンジッカー等の経験を経て現職。国内外のカンファレンス登壇や技術講師なども担当。最近の嗜みはVulnHub/HTB攻略, Splunk, Neo4j, GNS3, HackRF/SDR
trendm
セキュリティ製品を作成・販売しています。「安全・安心な社会をつくる」がミッションです
https://www.trendmicro.com/ja_jp/business.html
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした