
Windowsの特権昇格の脆弱性を監査するためのC#ツール。PowerUpのチェックを移植し、引用符で囲まれていないサービスパス、変更可能なバイナリ、AlwaysInstallElevatedなどの誤設定をチェックします。
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ファイルを開き、「release」を選択してビルドするだけです。
SharpUpは、その機能のために研究を通じて見つけたさまざまなC#スニペットやPoCの断片を取り入れています。これらのスニペットと作者はソースコード内の適切な場所に記載されており、以下のものが含まれます。