えもんブログ

社内SEのひとりごと

【最強ペネトレーションツール】PowerShell Empireの基本的な使い方

スポンサーリンク

こんにちは、えもんです。

 

今日は、最強ペネトレーションツールであるPowershell Empireの使い方について説明します。

 

mimikatzでCredentialGuardが突破できるとの噂があるので検証してみた

PowerShell Empireとは

PowerShell Empireとは無料でダウンロードできるオープンソースペネトレーションツールです。

PowerShellの機能を用いて攻撃を再現する事ができ、自分が管理するシステムの脆弱性診断などに利用されています。

実際の攻撃にも使われたことがあるほど、強力な機能が揃っています。

www.powershellempire.com

 

使ってみた

実際に閉鎖環境を構築し、攻撃を行ってみました。

 

検証環境

攻撃端末:Linux kali 4.9.0-kali3-amd64

被害端末:Windows10 pro 1809

 

  1. Empireの起動
    Kali-Linux上でEmpireを起動します。インストール方法などはドキュメントに載っているので確認してください。

    f:id:emonnao:20190606192759p:plain

    現時点で284個ものモジュールがあります。
    helpコマンドでコマンド一覧を見ることができます。

    f:id:emonnao:20190606194113p:plain

  2. Listenersの準備
    Empireが起動できたら、Listenersの準備をします。ListenersはC2サーバの設定をするイメージですかね。
    初期画面から[Listeners] → [uselistenser http]とコマンド打って設定画面に入ります。[info]コマンドを押すと現在の設定情報が確認できます。f:id:emonnao:20190606194413p:plain
    setコマンドで値を設定することができます。
    リスナーの名前やポート、IPアドレスの設定をしておきましょう。
    今回、名前はemon、IPアドレスは攻撃端末のローカルIP、ポートは8080を設定しています。(BindIPは設定しなくても問題ありません。)

    f:id:emonnao:20190606195949p:plain

    設定が終わったら、[execute]コマンドでListenersを起動しておきます。
    初期画面に戻り[listeners]コマンドを打つと先程作成したListenersがアクティブになっていることがわかります。

    f:id:emonnao:20190606200347p:plain

  3. Stagersの作成
    Listenersの作成が終わったら次はStagersの作成を行います。
    Stagersはコールバック専用のプログラムというべきでしょうか。
    被害端末上で実行することでListenersに繋ぐ動きをします。

    今回はbatファイルを実行するとコールバック通信を発生させるプログラムを作成します。

    f:id:emonnao:20190606200738p:plain

    Listenerが空の状態ですので、先程起動したListenerをセットしてください。(今回はemonにしています。)他の項目はデフォルトの設定で問題ありません。

    f:id:emonnao:20190606201312p:plain

    設定が完了したら[execute]コマンドでbatファイルを生成します。
    kali-linuxの場合は/tmp/launcher.batに生成されます。

    f:id:emonnao:20190606201624p:plain

    このバッチファイルを被害端末上で実行してみてください。
    (一般的なウィルス対策ソフトなら検知します。除外設定をするか、機能をオフにして下さい。)
    コールバック通信が成功すれば下記のような表示になります。

    f:id:emonnao:20190606202341p:plain

  4. Agents通信
    コールバック通信が成功すれば、被害端末の制御が可能となります。
    [interact]コマンドでアクティブなAgentを指定します。

    f:id:emonnao:20190606202631p:plain

    下記、画像のように攻撃端末側のコマンド操作で被害端末の情報を見ることができるようになっています。

    f:id:emonnao:20190606203033p:plain

    helpコマンドを押すと実行可能のコマンド一覧が出てきます。
    これだけのことができちゃいます。。。

    f:id:emonnao:20190606203144p:plain


    このようにPowerShell Empireは簡単な作業で即利用することができます。ウィルス対策ソフトの検知能力を確かめたり、EDRを導入した環境にEmpireを用いた攻撃を仕掛けてみても面白いかもしれません。

    EDR(Endpoint Detection and Response)とは?(1)


    インターネット上で行うことは法律で禁じられています。
    検証はインターネットにつながっていない閉鎖環境で行いましょう。