
PrivKit는 Windows OS에서 잘못된 구성으로 인해 발생하는 권한 상승 취약점을 탐지하는 간단한 beacon object file입니다.
Windows 로컬 권한 상승 점검을 위한 Beacon Object Files (BOF) 모음입니다.

PrivKit는 레드 팀원과 침투 테스터가 Cobalt Strike Beacon Object Files (BOF)를 사용하여 일반적인 Windows 로컬 권한 상승 벡터를 신속하게 식별할 수 있도록 지원하는 오픈소스 도구입니다.
명령줄 사용법과 예제는 사용법 섹션을 참조하세요.
버그를 발견하시면 주저하지 말고 알려주세요. 여러분의 피드백은 이 프로젝트의 품질 향상에 큰 도움이 됩니다!
이 프로젝트의 작성자와 기여자는 도구의 불법적인 사용에 대해 책임을 지지 않습니다. 이 도구는 교육 및 승인된 보안 테스트 목적으로만 사용됩니다. 사용자는 합법적인 사용을 보장할 책임이 있습니다.
제 친구 @nickvourd에게 모든 기여에 대해 특별히 감사드립니다.
이 도구에 영감을 준 TrustedSec 팀의 훌륭한 CS-Situational-Awareness-BOF 프로젝트에 특별히 감사드립니다.
포괄적인 BOF 문서와 예제를 제공한 Cobalt Strike 팀에게 깊은 감사를 표합니다.
PrivKit는 @merterpreter에 의해 ❤️로 만들어졌습니다.
PrivKit는 다음과 같은 포괄적인 권한 상승 점검 세트를 제공합니다:
PrivKit는 C로 작성되어 Beacon Object Files로 컴파일되며, Windows 대상에서 Cobalt Strike 4.x와 호환됩니다.
⚠️ 시스템에 MinGW-w64가 설치되어 있는지 확인하세요.
ℹ️ Linux 플랫폼(Ubuntu/Debian)의 경우 다음 패키지를 설치하십시오:
sudo apt update && sudo apt install mingw-w64 -y
ℹ️ MacOS 플랫폼의 경우 다음 패키지를 설치하십시오:
brew install mingw-w64
git clone https://github.com/mertdas/PrivKit.git
cd PrivKit
make_all.sh 스크립트를 사용하여 x64 및 x86 아키텍처용 BOF를 모두 컴파일합니다:./make_all.sh
Cobalt Strike -> Script Manager -> Load -> PrivCheck.cna
beacon> help
모든 권한 상승 점검을 한 번에 실행:
beacon> PrivCheck
필요에 따라 특정 점검을 실행:
beacon> AlwaysInstallElevatedCheck
beacon> AutologonCheck
beacon> CredentialManagerCheck
beacon> HijackablePathCheck
beacon> ModifiableAutorunCheck
beacon> ModifiableSVCCheck
beacon> TokenPrivilegesCheck
beacon> UnquotedSVCPathCheck
beacon> PowerShellHistoryCheck
beacon> UACStatusCheck
beacon> AlwaysInstallElevatedCheck
[*] BOF by @merterpreter && @nickvourd
[*] Checking AlwaysInstallElevated privilege escalation vulnerability...
=== AlwaysInstallElevated Check ===
[*] HKCU\...\Installer\AlwaysInstallElevated = 1
[*] HKLM\...\Installer\AlwaysInstallElevated = 1
[+] VULNERABLE: AlwaysInstallElevated is set in both HKCU and HKLM
beacon> UACStatusCheck
[*] BOF by @merterpreter && @nickvourd
[*] Checking UAC status, integrity level, and admin membership...
=== UAC Status Check ===
[11/27 15:08:08] [+] received output:
[*] UAC Enabled (EnableLUA): Yes
[11/27 15:08:08] [+] received output:
[*] ConsentPromptBehaviorAdmin: 5
[11/27 15:08:08] [+] received output:
(Prompt for consent for non-Windows binaries)
[11/27 15:08:08] [+] received output:
[*] PromptOnSecureDesktop: Yes
[11/27 15:08:08] [+] received output:
[11/27 15:08:08] [+] received output:
[*] Integrity Level:
[11/27 15:08:08] [+] received output:
Medium
[11/27 15:08:08] [+] received output:
[*] Local Admin Group Member: Yes
[11/27 15:08:08] [+] received output:
[*] Summary:
[11/27 15:08:08] [+] received output:
[+] User is local admin but NOT elevated (UAC filtered token)
[11/27 15:08:08] [+] received output:
[+] UAC bypass may be possible
| 점검 항목 | 설명 |
|---|
| AlwaysInstallElevatedCheck | HKCU 및 HKLM에서 AlwaysInstallElevated 설정 오류 확인 |
| AutologonCheck | Winlogon 레지스트리에 저장된 자동 로그인 자격 증명 열거 |
| CredentialManagerCheck | Windows 자격 증명 관리자에서 자격 증명 덤프 |
| HijackablePathCheck | 시스템 PATH에서 쓰기 가능한 디렉터리 식별 |
| ModifiableAutorunCheck | Run/RunOnce 키에서 쓰기 가능한 자동 실행 실행 파일 찾기 |
| ModifiableSVCCheck | 수정 가능한 권한(DACL)을 가진 서비스 찾기 |
| TokenPrivilegesCheck | 현재 프로세스 토큰 권한 열거 |
| UnquotedSVCPathCheck | 공백이 있는 따옴표 없는 서비스 경로 감지 |
| PowerShellHistoryCheck | PowerShell PSReadLine 기록 파일 확인 |
| UACStatusCheck | UAC 상태, 무결성 수준 및 관리자 그룹 소속 확인 |