Enumerating Windows
Obtaining Information About a Windows System
Obtain username and hostname
Group memberships of the current user
Existing users and groups
Operating system, version and architecture
Network information
Installed applications
Running processes
These are key pieces of information we should always obtain
Username and Hostname
C:\Users\dave>whoami
whoami
clientwk220\daveThis hostname implies that our shell is running on a client system rather than a server. The hostname can often be used to infer the purpose and type of a machine. For example, if it is WEB01 for a web server or MSSQL01 for a MSSQL server.
Groups
The user being a member of BUILTIN\Remote Desktop Users group offers the possibility of connecting to the system via RDP.
Discovering System Users and Groups
Apart from non-standard groups, there are several built-in groups that we should analyze such as
Administrators
Backup Operators
Remote Desktop Users
Remote Management Users
Getting Members of a Group
System Operating System Information
Network Information
List all network interfaces
Display Routing Table
List Active Network Connections
Check Installed Applications
To check for installed applications, we can query two registry keys to list both 32-bit and 64-bit applications in the Windows Registry with the Get-ItemProperty Cmdlet. We pipe the output to select with the argument displayname to display only the application names.
We can search for public exploits for the identified applications after we finish enumerating the system.
The list of applications here may not be complete. This could be due to an incomplete or flawed installation process. Therefore we can also check 32-bit and 64-bit Program Files directories and review the contents of Downloads directory of our user to find more potential programs.
List Running Processes
Get more details about a specific process using Select-Object *
Finding Credentials and Sensitive Information on Windows
Sensitive information may be stored in meeting notes, configuration files, or on boarding documents. With the information we gathered in the initial enumeration process we can make educated guesses on where to find such sensitive files.
Finding Database Files
On an example system where we have identified XAMPP and KeePass are installed on a system, we can search for the database and configuration files for these applications.
Searching For Files in User Directories
Last updated