Το PrivescCheck στοχεύει να ανακαλύψει προβλήματα των Windows που μπορούν να αξιοποιηθούν για κλιμάκωση προνομίων. Συλλέγει επίσης διάφορες πληροφορίες που μπορεί να είναι χρήσιμες για exploitation και post-exploitation.
Ο σκοπός αυτού του εργαλείου είναι να βοηθήσει τους ερευνητές ασφαλείας να εντοπίσουν πιθανές αδυναμίες στα Windows μηχανήματα κατά τη διάρκεια pentest δοκιμών και ελέγχων Workstation/VDI. Δεν προορίζεται να χρησιμοποιηθεί για καθαρά επαγγελματική χρήση από Red Teamers, αν και ενδέχεται να σας παρέχει πολλές χρήσιμες πληροφορίες σχετικά με την ασφάλεια των συστημάτων σας.
Χαρακτηριστικά
Current User
- Invoke-UserCheck – Gets the username and SID of the current user
- Invoke-UserGroupsCheck – Enumerates groups the current user belongs to except default and low-privileged ones
- Invoke-UserPrivilegesCheck – Enumerates the high potential privileges of the current user’s token
Services
- Invoke-InstalledServicesCheck – Enumerates non-default services
- Invoke-ServicesPermissionsCheck – Enumerates the services the current can modify through the service control manager
- Invoke-ServicesPermissionsRegistryCheck – Enumerates services that can be modified in the registry
- Invoke-ServicesImagePermissionsCheck – Enumerates all the services that have a modifiable binary (or argument)
- Invoke-ServicesUnquotedPathCheck – Enumerates services with an unquoted path that can be exploited
Dll Hijacking
- Invoke-DllHijackingCheck – Checks whether any of the system path folders is modifiable
Programs
- Invoke-InstalledProgramsCheck – Enumerates the applications that are not installed by default
- Invoke-ModifiableProgramsCheck – Enumerates applications which have a modifiable EXE of DLL file
- Invoke-RunningProcessCheck – Enumerates the running processes
Credentials
- Invoke-SamBackupFilesCheck – Checks common locations for the SAM/SYSTEM backup files
- Invoke-UnattendFilesCheck – Enumerates Unattend files and extracts credentials
- Invoke-WinlogonCheck – Checks credentials stored in the Winlogon registry key
- Invoke-CredentialFilesCheck – Lists the Credential files that are stored in the current user AppData folders
- Invoke-CredentialManagerCheck – Enumerates credentials saved in the Credential Manager
- Invoke-GPPPasswordCheck – Lists Group Policy Preferences (GPP) containing a non-empty “cpassword” field
Registry
- Invoke-UacCheck – Checks whether UAC (User Access Control) is enabled
- Invoke-LapsCheck – Checks whether LAPS (Local Admin Password Solution) is enabled
- Invoke-PowershellTranscriptionCheck – Checks whether PowerShell Transcription is configured/enabled
- Invoke-RegistryAlwaysInstallElevatedCheck – Checks whether the AlwaysInstallElevated key is set in the registry
- Invoke-LsaProtectionsCheck – Checks whether LSASS is running as a Protected Process (+ additional checks)
Network
- Invoke-TcpEndpointsCheck – Enumerates unusual TCP endpoints on the local machine (IPv4 and IPv6)
- Invoke-UdpEndpointsCheck – Enumerates unusual UDP endpoints on the local machine (IPv4 and IPv6)
Misc
- Invoke-WindowsUpdateCheck – Checks the last update time of the machine
- Invoke-SystemInfoCheck – Gets the name of the operating system and the full version string
- Invoke-LocalAdminGroupCheck – Enumerates the members of the default local admin group
- Invoke-MachineRoleCheck – Gets the role of the machine (workstation, server, domain controller)
- Invoke-SystemStartupHistoryCheck – Gets a list of system startup events
- Invoke-SystemStartupCheck – Gets the last system startup time
- Invoke-SystemDrivesCheck – Gets a list of local drives and network shares that are currently mapped
Χρήση
1. Βασική χρήση
Από γραμμή εντολών:
C:\Temp\>powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck"
Από PowerShell:
PS C:\Temp\> Set-ExecutionPolicy Bypass -Scope process -Force
PS C:\Temp\> . .\PrivescCheck.ps1; Invoke-PrivescCheck
Από PowerShell χωρίς τροποποίηση του policy:
PS C:\Temp\> Get-Content .\PrivescCheck.ps1 | Out-String | IEX
PS C:\Temp\> Invoke-PrivescCheck
2. Εκτεταμένη λειτουργία
Από προεπιλογή, το πεδίο περιορίζεται στην ανακάλυψη ευπαθειών, αλλά μπορείτε να λάβετε πολλές περισσότερες πληροφορίες με την επιλογή -Extended
:
Invoke-PrivescCheck -Extended
3. Δημιουργία αρχείων αναφοράς
Μπορείτε να χρησιμοποιήσετε τις επιλογές -Report
και -Format
για να αποθηκεύσετε τα αποτελέσματα του script σε αρχεία σε διάφορες μορφές. Αποδεκτές μορφές είναι οιTXT
, CSV
, HTML
και XML
. Εάν το -Format
είναι κενό, η προεπιλεγμένη μορφή είναι TXT
, η οποία είναι ένα απλό αντίγραφο αυτού που είναι τυπωμένο στο τερματικό μας.
Η τιμή του -Report
θα χρησιμοποιηθεί ως το βασικό όνομα για την τελική αναφορά, η επέκταση θα προσαρτηθεί αυτόματα ανάλογα με τις επιλεγμένες μορφές.
Invoke-PrivescCheck -Report PrivescCheck_%COMPUTERNAME%
Invoke-PrivescCheck -Report PrivescCheck_%COMPUTERNAME% -Format TXT,CSV,HTML,XML
Μπορείτε να κατεβάσετε το πρόγραμμα από εδώ.