TryHackMe

【TryHackMe】Microsoft Windows Hardening

HardeningにおいてはWindowsの対応も重要ですよね!ってことでお勉強した記録です。

Linux版の記事はこちら↓

もくじ
  1. Task1 Introduction
  2. Task2 Understanding General Concepts
  3. Task3 Identity & Access Management
  4. Task4 Network Management
  5. Task5 Application Management
  6. Task6 Srrage Management
  7. Task7 Updating Windows
  8. Task 8 Cheatsheet for Hardening Windows
  9. まとめ

Task1 Introduction

No answer needed

Windowsにリモートデスクトップしながら解答を進めるルーム。自分で環境を用意しなくていいのはありがたいが英語OSなのでUIが全部英語なのが難点。まあだいたい雰囲気でわかる。

分割画面表示で仮想マシンを使うとぽちっとするだけで3年前、一部の人間に大きなトラウマを残したGuacamoleが起動してブラウザでWindowsが操作できます。

まあ私は微妙な操作感が嫌いなので普通にRDP使ってます。

Task2 Understanding General Concepts

与えられた環境の中を探検してみる

What is the startup type of App Readiness service in the services panel?

サービス パネルの App Readiness サービスのスタートアップの種類は何ですか?

Manual

Open Registry Editor and find the key “tryhackme”. What is the default value of the key? 

レジストリ エディターを開き、キー「tryhackme」を見つけます。キーのデフォルト値は何ですか? 

人力で探すのはしんどいので検索をしよう。{THM_REG_FLAG}

Open the Diagnosis folder and go through the various log files. Can you find the flag?

Diagnosis フォルダーを開き、さまざまなログ ファイルを確認します。旗を見つけられますか?

notepadをAdministratorで開く必要があった。{THM_1000710}

Open the Event Viewer and play with various event viewer filters like Information, Error, Warning etc. Which error type has the maximum number of logs?

イベント ビューアを開いて、情報、エラー、警告などのさまざまなイベント ビューア フィルタを試してみましょう。ログの最大数はどのエラー タイプですか?

No answer needed

え、なんでここノーアンサーなの。言ってみただけ??なぜ聞いた??普通にInformationが答えでいいよね?

Task3 Identity & Access Management

ローカルの標準アカウントと管理者アカウントの話。ちなみにAD周りについては別のルームがあるのでそれはそれで今度やろうと思う。Hardening本戦で役立つように手元のWindowsの環境と見比べながらタスクをすすめていく。

標準アカウントと管理者アカウントの違い

Windowsのローカルアカウントの見方の説明

ユーザーアカウントの一覧を確認してみる。Hardenさんしかいない

ユーザーを選択するとパスワードの変更とかできるぽい

ちなみに手元のWindows11だとこういう画面だった。

UAC(ユーザーアカウント制御)の確認

一応このへんの設定も確認したほうがいいのかなあ。一番上にしたほうが堅牢なのはわかるんだけど、副作用ってないのかなあ??(ちなみに私の個人的なPCでは下から二番目になってました)

ローカルグループポリシー

ファイルを指定して実行のところで「gpedit」と入力してエンター。パスワードポリシーとアカウントロックアウトポリシーの設定ができるのを確認した。けどこれはHardeningでは使わないかな…ロックアウトしちゃったら最悪だし…。使わないアカウントに対してやるのがいいかなあ。

日本語だとこう

こないだノリでWindows11 Proにアップグレードした甲斐があった。

遊びはこのへんにしてタスクに答えていくよー。

Find the name of the Administrator Account of the attached VM.

接続されているVMの管理者アカウントの名前を見つけます。

Harden

1人しかおらんかった。

Go to the User Account Control Setting Panel (Control Panel > All Control Panel Items > User Accounts). What is the default level of Notification?

ユーザー アカウント制御設定パネルに移動します ([コントロール パネル] > [すべてのコントロール パネル項目] > [ユーザー アカウント])。デフォルトの通知レベルは何ですか?

Always notify

さっき見た

How many standard accounts are created in the VM?

VM には標準アカウントがいくつ作成されていますか?

0

管理アカウントのHardenさんしかいなかったやん。

Task4 Network Management

ネットワーク越しの攻撃の防御のコツ的な章。役立ちそうな気がする。

Windows Defender ファイアウォール

ファイル名を指定して実行のところで「WF.msc」と入力してエンター

プロファイルが規定の状態になっていることを確認。なってないことってあるのかなあ。一応確認したほうがいいかな。

プロファイルの違いがわかんなかったのでChatGPTに聞いた。

あとは細かいルールで変なのがはいってないか確認…なんだろうけどHardeningでは見切れる自信がないなあ…普段の自分のPCも確認してみたけど、このルールはこの理由で設定してます!って全部言いきれないというか。自分の端末のHardeningすら難しいのになあ。と思った。プロならここからなにかわかるのだろうか(ただのぼやき)

SMB1の無効

SMB1(Server Message Block 1.0)は古いバージョンのネットワークプロトコルで、セキュリティが弱いです。攻撃者によって悪用される可能性が高いため、無効化することが推奨されます。

管理者権限でPowershellを打つと無効になる。設定変更後は再起動が必要っぽい。

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

GUIの画面からやるやり方もある

効果は同じ。

DNSの保護

hostsが勝手に書き換えられちゃうことがあるから気をつけなよって話。どう気をつけたらええんや。一応開いて変な設定が入ってないかを確認するのかなあ。

改ざん検知の監視のしくみを作っている場合は監視対象に入れても良いのかもね。

C:\Windows\System32\Drivers\etc\hosts

arp攻撃の軽減

arpテーブルをみて、テーブルに 2 つの IP にマッピングされた MAC が含まれている場合は、ARP ポイズニング攻撃の影響を受ける可能性があります。だって、そうなの?

怪しい時は消す

arp -d

マシンのリモートアクセスの防止

不要ならリモートアクセスを消したほうがいいよって話。Hardeningでこれやると死ぬ。

さてタスク解いていくよ

Open Windows Firewall and click on Monitoring in the left pane – which of the following profiles is active? Domain, Private, Public?

Windows ファイアウォールを開き、左側のペインで [監視] をクリックします。次のプロファイルのうちどれがアクティブですか? ドメイン、プライベート、パブリック?

Private

Find the IP address resolved for the website tryhack.me in the Virtual Machine as per the local hosts file.

ローカル ホスト ファイルに従って、仮想マシン内の Web サイト tryhack.me に対して解決された IP アドレスを見つけます。

さっき見といてよかったね~

192.168.1.140

Open the command prompt and enter arp -a. What is the Physical address for the IP address 255.255.255.255?

コマンド プロンプトを開き、「arp -a」と入力します。IP アドレス 255.255.255.255 の物理アドレスは何ですか?

やべえさっき消してもうた。スクショとっといてよかった~。こないだのiptablesといい、取り返しのつかない要素をさらっと解説してくる初見殺し的なところありますよね。

ff-ff-ff-ff-ff-ff

Task5 Application Management

不正なアプリケーションをどうやって防ぐかって話。

Microsoft Storeからのインストールのみ許可

これやっちゃうと色々困りそうだけど…まあこんなこともできるんだなあという気持ちで。Hardeningでは新しくツールをインストールとかしないならやってみてもいいかも。意味ないかもしれないけど。

Windows Defenderウイルス対策

これもHardeningではどれだけ役立つのやら…って感じではあるが一応オンになっているか確認してみておいてもいいかもしれない。

Microsoft Officeの強化

マクロを無効にするPowershellを実行するといいよって話。デスクトップにバッチファイルとして置いてるだけでコードの記載がないのは教育目的として微妙では…

デスクトップのバッチファイルを右クリックして管理者として実行。powershellから実行だとなんかうまくいかんかった…。

:: Office Hardening Script
:: Based on best practices
::#######################################################################
::
::#######################################################################
:: References
::#######################################################################
:: https://gist.github.com/ceramic-skate0/2270c9d54a64a63a309b8bf62c6e01ab
:: Windows Defender References
:: ASR Rules https://www.darkoperator.com/blog/2017/11/11/windows-defender-exploit-guard-asr-rules-for-office
:: ASR and Exploit Guard https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard
:: ASR Rules https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction
:: Easy methods to test rules https://demo.wd.microsoft.com/?ocid=cx-wddocs-testground
:: Resource on the rules and associated event IDs https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/event-views
:: Defender sandboxing https://cloudblogs.microsoft.com/microsoftsecure/2018/10/26/windows-defender-antivirus-can-now-run-in-a-sandbox/
:: Defender exploit protection https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-exploit-guard/customize-exploit-protection
:: Application Guard https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-guard/install-wd-app-guard 
:: Defender cmdline https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/command-line-arguments-windows-defender-antivirus
::
:: General hardening references
:: LSA Protection https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn408187(v=ws.11)?redirectedfrom=MSDN
::
:: Microsoft Office References: 
:: Disable DDE https://gist.github.com/wdormann/732bb88d9b5dd5a66c9f1e1498f31a1b
:: Disable macros https://decentsecurity.com/block-office-macros/
::
:: Enable and configure Windows Defender and advanced settings
::#######################################################################
::
:: Reset Defender to defaults. Commented out but available for reference
::"%programfiles%"\"Windows Defender"\MpCmdRun.exe -RestoreDefaults
:: https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-defender#defender-submitsamplesconsent
:: https://docs.microsoft.com/en-us/powershell/module/defender/set-mppreference?view=win10-ps
::
:: Start Defender Service
sc start WinDefend
::Enable Windows Defender sandboxing
setx /M MP_FORCE_USE_SANDBOX 1
:: Update signatures
"%ProgramFiles%"\"Windows Defender"\MpCmdRun.exe -SignatureUpdate
:: Enable Defender signatures for Potentially Unwanted Applications (PUA)
powershell.exe Set-MpPreference -PUAProtection enable
:: Enable Defender periodic scanning
reg add "HKCU\SOFTWARE\Microsoft\Windows Defender" /v PassiveMode /t REG_DWORD /d 2 /f
:: Enable Cloud functionality of Windows Defender
powershell.exe Set-MpPreference -MAPSReporting Advanced
powershell.exe Set-MpPreference -SubmitSamplesConsent 0
::
:: Enable early launch antimalware driver for scan of boot-start drivers
:: 3 is the default which allows good, unknown and 'bad but critical'. Recommend trying 1 for 'good and unknown' or 8 which is 'good only'
reg add "HKCU\SYSTEM\CurrentControlSet\Policies\EarlyLaunch" /v DriverLoadPolicy /t REG_DWORD /d 3 /f
::
:: Enable ASR rules in Win10 1903 ExploitGuard to mitigate Office malspam
:: Blocks Office childprocs, Office proc injection, Office win32 api calls & executable content creation
:: Note these only work when Defender is your primary AV
::
:: Block Office Child Process Creation 
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids D4F940AB-401B-4EFC-AADC-AD5F3C50688A -AttackSurfaceReductionRules_Actions Enabled
:: Block Process Injection
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids 75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84 -AttackSurfaceReductionRules_Actions Enabled
:: Block Win32 API calls in macros
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids 92E97FA1-2EDF-4476-BDD6-9DD0B4DDDC7B -AttackSurfaceReductionRules_Actions Enabled
:: Block Office from creating executables
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids 3B576869-A4EC-4529-8536-B80A7769E899 -AttackSurfaceReductionRules_Actions Enabled
:: Block execution of potentially obfuscated scripts
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids 5BEB7EFE-FD9A-4556-801D-275E5FFC04CC -AttackSurfaceReductionRules_Actions Enabled
:: Block executable content from email client and webmail
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550 -AttackSurfaceReductionRules_Actions Enabled
:: Block JavaScript or VBScript from launching downloaded executable content
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids D3E037E1-3EB8-44C8-A917-57927947596D -AttackSurfaceReductionRules_Actions Enabled
:: Block lsass cred theft
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 -AttackSurfaceReductionRules_Actions Enabled
:: Block untrusted and unsigned processes that run from USB
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 -AttackSurfaceReductionRules_Actions Enabled
:: Block Adobe Reader from creating child processes
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c -AttackSurfaceReductionRules_Actions Enabled
:: Block persistence through WMI event subscription
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids e6db77e5-3df2-4cf1-b95a-636979351e5b -AttackSurfaceReductionRules_Actions Enabled
:: Block process creations originating from PSExec and WMI commands
powershell.exe Add-MpPreference -AttackSurfaceReductionRules_Ids d1e49aac-8f56-4280-b9ba-993a6d77406c -AttackSurfaceReductionRules_Actions Enabled


::
::#######################################################################
:: Enable and Configure Microsoft Office Security Settings
::#######################################################################
::
:: Harden all version of MS Office itself against common malspam attacks
:: Disables Macros, enables ProtectedView
:: ---------------------
reg add "HKCU\Software\Policies\Microsoft\Office\12.0\Publisher\Security" /v vbawarnings /t REG_DWORD /d 4 /f
reg add "HKCU\Software\Policies\Microsoft\Office\12.0\Word\Security" /v vbawarnings /t REG_DWORD /d 4 /f
reg add "HKCU\Software\Policies\Microsoft\Office\14.0\Publisher\Security" /v vbawarnings /t REG_DWORD /d 4 /f
reg add "HKCU\Software\Policies\Microsoft\Office\14.0\Word\Security" /v vbawarnings /t REG_DWORD /d 4 /f
reg add "HKCU\Software\Policies\Microsoft\Office\15.0\Outlook\Security" /v markinternalasunsafe /t REG_DWORD /d 0 /f
reg add "HKCU\Software\Policies\Microsoft\Office\15.0\Word\Security" /v blockcontentexecutionfrominternet /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Policies\Microsoft\Office\15.0\Excel\Security" /v blockcontentexecutionfrominternet /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Policies\Microsoft\Office\15.0\PowerPoint\Security" /v blockcontentexecutionfrominternet /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Policies\Microsoft\Office\15.0\Word\Security" /v vbawarnings /t REG_DWORD /d 4 /f
reg add "HKCU\Software\Policies\Microsoft\Office\15.0\Publisher\Security" /v vbawarnings /t REG_DWORD /d 4 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Outlook\Security" /v markinternalasunsafe /t REG_DWORD /d 0 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Word\Security" /v blockcontentexecutionfrominternet /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Excel\Security" /v blockcontentexecutionfrominternet /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\PowerPoint\Security" /v blockcontentexecutionfrominternet /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Word\Security" /v vbawarnings /t REG_DWORD /d 4 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Publisher\Security" /v vbawarnings /t REG_DWORD /d 4 /f
reg add "HKCU\Software\Policies\Microsoft\Office\19.0\Outlook\Security" /v markinternalasunsafe /t REG_DWORD /d 0 /f
reg add "HKCU\Software\Policies\Microsoft\Office\19.0\Word\Security" /v blockcontentexecutionfrominternet /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Policies\Microsoft\Office\19.0\Excel\Security" /v blockcontentexecutionfrominternet /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Policies\Microsoft\Office\19.0\PowerPoint\Security" /v blockcontentexecutionfrominternet /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Policies\Microsoft\Office\19.0\Word\Security" /v vbawarnings /t REG_DWORD /d 4 /f
reg add "HKCU\Software\Policies\Microsoft\Office\19.0\Publisher\Security" /v vbawarnings /t REG_DWORD /d 4 /f
::
:: Harden all version of MS Office itself against DDE malspam attacks
:: Disables Macros, enables ProtectedView
:: ---------------------
::
reg add "HKCU\Software\Microsoft\Office\14.0\Word\Options" /v DontUpdateLinks /t REG_DWORD /d 00000001 /f
reg add "HKCU\Software\Microsoft\Office\14.0\Word\Options\WordMail" /v DontUpdateLinks /t REG_DWORD /d 00000001 /f
reg add "HKCU\Software\Microsoft\Office\15.0\Word\Options" /v DontUpdateLinks /t REG_DWORD /d 00000001 /f
reg add "HKCU\Software\Microsoft\Office\15.0\Word\Options\WordMail" /v DontUpdateLinks /t REG_DWORD /d 00000001 /f
reg add "HKCU\Software\Microsoft\Office\16.0\Word\Options" /v DontUpdateLinks /t REG_DWORD /d 00000001 /f
reg add "HKCU\Software\Microsoft\Office\16.0\Word\Options\WordMail" /v DontUpdateLinks /t REG_DWORD /d 00000001 /f
::

:: Windows Update Settings
:: Prevent Delivery Optimization from downloading Updates from other computers across the internet
:: 1 will restrict to LAN only. 0 will disable the feature entirely
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization" /v DODownloadMode /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config\" /v DODownloadMode /t REG_DWORD /d 1 /f

echo "Microsoft Office Hardened Successfully - Here is your Flag {THM_1101110}"
pause

AppLocker

ユーザーは一連のルールを通じて特定の実行可能ファイル、スクリプト、およびインストーラーの実行をブロックできます。知らなかったけどWindowsって標準でけっこうなセキュリティ機能が備わってるんだなあ(今更)使いこなすのは難しそうだ…

変なルールが入ってないか確認するくらいはしたほうがいいのかな。

Windows Defender Antivirus is configured to exclude a particular extension from scanning. What is the extension?

Windows Defender ウイルス対策は、特定の拡張機能をスキャンから除外するように構成されています。拡張子は何ですか?

.ps

たしかに変な除外ルールが入ってないかの確認は必要だなあ。

A Word document is received from an unknown email address. It is best practice to open it immediately on your personal computer (yay/nay).

不明な電子メール アドレスから Word 文書を受信しました。パソコンですぐに開くのがベストプラクティスです (はい/いいえ)。

nay

それはそう

What is the flag you received after executing the Office Hardening Batch file?

実行するかバッチファイルの中身をみればわかる。

Task6 Srrage Management

要するにディスク暗号化の話。

BitLockerがONかどうか確認する

オフだった。Hardeningではあんまり意味ない気もする。

有効バージョンも確認した。

バックアップ

別のドライブにバックアップが取れる機能がある。File Historyをとるといいよってことだったけど別のドライブがなくて有効にできなかった。

折角なので自分のPCにドライブつないで設定変更してみた。また私のPCが堅牢になった。

Hardeningではどうバックアップをとったらいいのだろう…そういやぜんぜんわからんな…。

A security engineer has misconfigured the attached VM and stored a BitLocker recovery key in the same computer. Can you read the last six digits of the recovery key?

セキュリティ エンジニアが、接続された VM の構成を誤って、BitLocker 回復キーを同じコンピューターに保存しました。回復キーの下 6 桁を読み取ることができますか?

マイドキュメントにキーが保存されていた。悲しみ。

377564

How many characters does the BitLocker recovery key have in the attached VM?

接続された VM 内の BitLocker 回復キーは何文字ありますか?

普通に桁数を数えてしまった…ハイフンは入れなくてよかった。

6*8=48

A backup file is placed on the Desktop of the attached VM. What is the extension of that file?

バックアップ ファイルは、接続された VM のデスクトップに配置されます。そのファイルの拡張子は何ですか?

.bkf

Task7 Updating Windows

Windowsアップグレードは当てろよって話。それができればいいんだけどねえ。

What is the CVE score for the vulnerability CVE ID CVE-2022-32230?

脆弱性 CVE ID CVE-2022-32230 の CVE スコアは何ですか?

ググった。CVSS Version2.0の方を答えたら正解だった(古いな)

7.8

Task 8 Cheatsheet for Hardening Windows

チートシートっていうかどういう順番でHardeningをやっていくといいですよって表をくれた。けっこういいな、参考になりそう。

これくらいの粒度でやることを決めて準備していくと良さそうな気がするので取り入れて行きたいな。

No answer needed.

まとめ

Linuxのルームよりは具体的にどういうことをやったらいいかが書いてあってよかった。Hardening本戦でもそこそこ役立つ情報があった気がする。