Windowsベースのホストから認証情報を見つけ出し、盗むための魔法のようなプログラムが存在すると聞いたら、どのように感じるだろうか。コンピュータセキュリティを突破したい犯罪者やペンテスター、Red Team、ブラックハット、ホワイトハットなど、セキュリティに関心のある者にとって非常に魅力的なツールである。しかも、それが完全無料で、多くの人気マルウェアフレームワーク、ツールキット、キャンペーンに含まれているとしたら、刺激的に思えないだろうか?
しかし、これは願望リストや秘密のNSAハッキングツールではなく、広く知られるmimikatzの侵入後ツールであることは、すでに周知の事実である。
ハッカーやセキュリティ担当者が、パスワードや認証情報などの重要なデータを、コンピュータの記憶領域から抽出するために使うプログラムです。多くの場合、制限されたエリアやリソースへのアクセス権を獲得したり、権限を昇格させたり、ネットワーク内で横展開するために利用されます。
攻撃者の目的により、さまざまな使われ方があり、以下はその一例です:
まとめると、攻撃者がネットワーク、システム、アプリを侵害し、その他の悪意ある活動を行うための強力なツールです。
2007年、Benjamin Delpyは、Microsoftの認証方式の脆弱性を調査する概念実証として本ソフトを開発した。
その後、Mimikatzの機能は強力なパスワード盗用ツールへと進化し、近年ではドイツ議会のハッキングやCarbanakグループによる数百万ドル規模の銀行窃盗など、幅広い攻撃に利用されている。また、NotPetyaやBadRabbitのランサムウェアは、NSAのハッキングツールと組み合わせ、攻撃の自動化によりネットワークを感染させ甚大な被害をもたらした。
当初はWindows認証プロトコルの一箇所の脆弱性を突く方法が示されたが、現在のバージョンでは複数のセキュリティホールを露呈し、さまざまな認証情報の収集が可能となっている。
以下の手順でMimikatzの動作を確認できる。
システム管理者としてログインしていても、「管理者として実行」しなければ正しく動作しない。
以下の2種類で提供される:
Windowsが最新の状態であるか確認し、実行ファイルの詳細情報や、現行のWindowsバージョン、または設定により正常に動作していない可能性があるかを知るには、Mimikatzのプロンプトに「version」と入力する。
sekurlsaモジュールを用いてメモリからキーを取得する。sekurlsaのコマンドを実行するには、管理者権限かSYSTEM権限が必要である。
まず、次のコマンドを入力する:
mimikatz # privilege::debug
出力内容で必要な権限があるか確認できる。
その後、進行状況を記録するためにログ記録を開始する:
mimikatz # log nameoflog.log
最後に、このマシン上の全ての暗号化されたパスワードを表示する:
mimikatz # sekurlsa::logonpasswords
OSが十分に対応できない場合、第三者製のプライバシーソリューションで攻撃を防げるかが問われるが、従来型アンチウイルスや一部の次世代技術ではMimikatzに対して十分な防御ができないことがある。前述のように、対策としてパッキングに対応していなかったり、特定の動作やイベントを監視していなければ、攻撃を検知・阻止することは難しい。
さらに、正しく動作させるには対象コンピュータで管理者権限またはSYSTEM権限が必要なため、攻撃者は既にその権限を有するプロセスにコードを注入するか、権限の昇格によりアンチウイルスソフトの対策を回避する必要がある。特に、アンチウイルスが「信頼済み」のOSプロセスをホワイトリストに登録している場合、その対策は困難である。
攻撃者がWindowsマシンでルート権限を取得しなければ実行できないため、防御は難しく、場合によっては被害を最小限に留めるにとどまります。以下に、Mimikatzによるマルウェア攻撃への対策を示します。
さらに、追加のLSA保護機能を設定する。Windows 10へのアップグレードは認証攻撃から守る助けとなり、Microsoftは攻撃対象を減らすためのLSA設定オプションも提供している。
最新情報を購読