
Windows 권한 상승 취약점을 감사하기 위한 C# 도구로, 따옴표 없는 서비스 경로, 수정 가능한 바이너리, AlwaysInstallElevated와 같은 잘못된 구성을 위해 PowerUp 검사 기능을 이식합니다.
SharpUp은 다양한 PowerUp 기능의 C# 포트입니다. 현재 가장 일반적인 검사만 포팅되었으며, 무기화 기능은 아직 구현되지 않았습니다.
@harmj0y가 주요 작성자입니다.
SharpUp은 BSD 3-Clause 라이선스에 따라 라이선스가 부여됩니다.
SharpUp.exe [audit] [check1] [check2]...
audit - Specifies whether or not to enable audit mode. If enabled, SharpUp will run vulenrability checks
regardless if the process is in high integrity or the user is in the local administrator's group.
If no checks are specified, audit will run all checks. Otherwise, each check following audit will
be ran.
check* - The individual vulnerability check to be ran. Must be one of the following:
- AlwaysInstallElevated
- CachedGPPPassword
- DomainGPPPassword
- HijackablePaths
- McAfeeSitelistFiles
- ModifiableScheduledTask
- ModifiableServiceBinaries
- ModifiableServiceRegistryKeys
- ModifiableServices
- ProcessDLLHijack
- RegistryAutoLogons
- RegistryAutoruns
- TokenPrivileges
- UnattendedInstallFiles
- UnquotedServicePath
Examples:
SharpUp.exe audit
-> Runs all vulnerability checks regardless of integrity level or group membership.
SharpUp.exe HijackablePaths
-> Check only if there are modifiable paths in the user's %PATH% variable.
SharpUp.exe audit HijackablePaths
-> Check only for modifiable paths in the user's %PATH% regardless of integrity level or group membership.
SharpUp의 바이너리를 배포할 계획이 없으므로 직접 컴파일해야 합니다 :)
SharpUp은 .NET 3.5를 대상으로 빌드되었으며 Visual Studio 2015 Community Edition과 호환됩니다. 프로젝트 .sln 파일을 열고 '릴리스'를 선택한 후 빌드하면 됩니다.
SharpUp은 연구 과정에서 발견된 다양한 C# 코드 조각과 PoC 일부를 통합하여 기능을 구현합니다. 이러한 코드 조각과 작성자는 소스 코드의 적절한 위치에 표시되어 있으며, 다음과 같습니다: