Skip to content

Lab 09 Windows Security Assessment

Welcome to Lab 09 — Windows Security Assessment.

In Lab 08, you assessed the security posture of an authorized Linux host.

Now you will apply the same structured methodology to a Windows system.

A Windows host may appear secure from the network while still containing weaknesses such as excessive local privileges, unnecessary services, weak NTFS permissions, insecure shares, exposed remote administration, insufficient endpoint protection, risky scheduled tasks, or poor logging.

Mission Goal: Perform a structured security assessment of an authorized Windows training system, identify host-level weaknesses, verify defensive controls, prioritize findings, and produce a Windows Security Assessment Report.

Item Details
Difficulty Beginner–Intermediate
Estimated Time 90–120 minutes
Primary Skill Windows Security Assessment
Secondary Skill Windows Hardening Analysis
Environment Authorized Windows Training VM
Testing Type Host-Level Security Review
Primary Outcome Windows Security Findings Register
Evidence Required Command output + screenshots + configuration evidence
Safety Level Authorized Lab Only

By completing this lab, you will be able to:

  • identify Windows operating-system information

  • identify local users and groups

  • review local administrator membership

  • understand User Account Control

  • identify running processes

  • review Windows services

  • identify listening ports

  • review Windows Firewall

  • examine NTFS permissions

  • assess shared folders

  • review scheduled tasks

  • understand PowerShell security considerations

  • review Windows Defender status

  • inspect Windows Event Logs

  • review remote administration exposure

  • understand Windows Update and patch status

  • identify unnecessary software and services

  • document Windows security findings

  • recommend practical remediation

Use:

Host → Identity → Privilege → Process → Service → Filesystem → Security Controls → Logging → Patch → Finding

Conceptually:

Windows Host
System Profile
Users & Groups
Administrative Privileges
Processes & Services
Network Exposure
Filesystem & Shares
Security Controls
Logs & Monitoring
Patch Status
Risk Analysis

Example:

GHC Ethical Hacking Lab
192.168.56.0/24
Kali Linux
Windows Training VM
192.168.56.40
┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
Identity Services Security
│ │ │
▼ ▼ ▼
Privileges Network Ports Defender/Logs

For this lab, use a dedicated Windows training account supplied with the environment.

Record:

Target:
Windows IP:
Authorized Account:
Account Type:
Assessment Start:
Administrative Access:
Yes / No
Configuration Changes:
Not permitted unless explicitly instructed
Excluded Systems:

This lab is primarily a security assessment, not a host-compromise exercise.

Create:

Ethical-Hacking-Labs/
└── Lab-09/
├── Notes/
├── Evidence/
│ ├── System/
│ ├── Identity/
│ ├── Privilege/
│ ├── Services/
│ ├── Network/
│ ├── Filesystem/
│ ├── Firewall/
│ ├── Defender/
│ ├── Logs/
│ └── Patching/
├── Screenshots/
├── Findings/
└── Report/

Create:

Lab-09-Investigation-Journal.md

Use:

# Lab 09 — Windows Security Assessment
## Mission Objective
## Scope
## System Profile
## Users and Groups
## Administrative Privileges
## UAC
## Running Processes
## Services
## Listening Ports
## Windows Firewall
## NTFS Permissions
## Shared Folders
## Scheduled Tasks
## PowerShell Security
## Windows Defender
## Remote Administration
## Event Logs
## Patch Status
## Findings
## Evidence
## Recommendations
## Lessons Learned

Open PowerShell or Command Prompt.

Run:

Terminal window
whoami

Then:

Terminal window
whoami /groups

Record:

Username:
Domain or Computer:
Important Groups:
Administrative Membership:

This establishes the identity context of your assessment.

Part 4 — Determine Whether the Session Is Elevated

Section titled “Part 4 — Determine Whether the Session Is Elevated”

Open PowerShell and observe whether it is running as administrator.

You can also inspect group membership:

Terminal window
whoami /groups

Look for administrative groups such as:

BUILTIN\Administrators

Do not assume membership automatically means every process is running elevated because Windows uses User Account Control.

Run:

Terminal window
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber, OsArchitecture

Alternatively:

Terminal window
systeminfo

Record:

Item Value
Windows Edition
Version
Build
Architecture
Hostname

Run:

Terminal window
hostname

or:

Terminal window
$env:COMPUTERNAME

Record:

Hostname:
IP:
Operating System:
Current User:

Run:

Terminal window
ipconfig /all

Record only the information relevant to the lab:

IPv4 Address:
Subnet Mask:
Default Gateway:
DNS Servers:
Network Adapter:

Compare this information with the network map from Lab 03.

Part 8 — Build the Windows System Profile

Section titled “Part 8 — Build the Windows System Profile”

Create:

Item Observation
Hostname
Windows Version
Build
Architecture
IP
Current User
Domain/Workgroup

This becomes your assessment baseline.

Use:

Terminal window
Get-LocalUser

or:

Terminal window
net user

Record relevant training accounts.

Example:

Account Enabled Purpose Review
Administrator Yes/No Built-in admin Review
lab-user Yes Training user Expected
guest Disabled Built-in guest Positive

Do not assume every Windows account belongs to a real person.

For an authorized training account:

Terminal window
Get-LocalUser -Name "lab-user"

Record:

Enabled:
Password Required:
Password Last Set:
Account Expires:
Notes:

Do not modify the account.

Run:

Terminal window
Get-LocalGroup

Important groups may include:

Administrators
Remote Desktop Users
Remote Management Users
Users
Backup Operators

Group membership can significantly affect system privileges.

Run:

Terminal window
Get-LocalGroupMember -Group "Administrators"

Create:

Account Type Expected Review
Administrator Local User Yes Expected
lab-admin Local User Yes Expected
lab-user Local User No Investigate

Ask:

Does each account genuinely require local administrative rights?

Compare:

Standard User
Daily Work

with:

Administrator
Elevated System Control

Routine users generally should not receive administrative privileges unless required.

An unnecessary administrator account increases the impact of credential compromise.

Part 14 — Understand User Account Control

Section titled “Part 14 — Understand User Account Control”

User Account Control — UAC helps separate normal user activity from elevated administrative actions.

Conceptually:

Administrator Account
Normal User Context
Elevation Requested
UAC Approval
Elevated Context

UAC is not a replacement for proper privilege management.

It is an additional control.

Where permitted, inspect UAC-related settings through:

Control Panel
User Accounts
Change User Account Control Settings

Document the configured level.

Do not reduce UAC protection.

Record:

UAC Enabled:
Prompt Level:
Security Relevance:

Use:

Terminal window
Get-Process

or Task Manager.

Look for:

  • system processes

  • application processes

  • security software

  • unexpected training applications

Create:

Process Purpose Expected
explorer User shell Yes
application service Training app Yes
unknown process Unknown Review

Do not terminate processes during the assessment.

Run:

Terminal window
Get-Service

Focus on running services:

Terminal window
Get-Service | Where-Object {$_.Status -eq "Running"}

Ask:

Is the service required?
Does it expose the network?
Does it run automatically?
Does it run with high privilege?
Is it part of the intended host role?

For example:

Terminal window
Get-Service -Name WinRM

or another service discovered in your lab.

Record:

Service:
Status:
Startup Type:
Purpose:
Expected:
Security Relevance:

Part 19 — Review Service Startup Configuration

Section titled “Part 19 — Review Service Startup Configuration”

Use:

Terminal window
Get-CimInstance Win32_Service |
Select-Object Name, State, StartMode, StartName

This allows you to compare:

  • service name

  • current state

  • startup behavior

  • service account

Services running with highly privileged identities deserve additional scrutiny.

Windows services may run as identities such as:

LocalSystem
LocalService
NetworkService
Dedicated service account

Ask:

Does this service run with more privilege than necessary?

A compromised service running as LocalSystem has greater potential impact than one running under a restricted service identity.

Use:

Terminal window
Get-NetTCPConnection -State Listen

or:

Terminal window
netstat -ano

Record:

Local Address Port State PID
0.0.0.0 3389 Listen
0.0.0.0 445 Listen
127.0.0.1 8080 Listen

Compare this with your Nmap results from Lab 04.

If you identify a listening PID:

Terminal window
Get-Process -Id <PID>

Use the actual PID from your lab.

This provides:

Port
PID
Process
Service/Application

This is host-side service validation.

Part 23 — Understand Listening Addresses

Section titled “Part 23 — Understand Listening Addresses”

Compare:

127.0.0.1:8080

with:

0.0.0.0:8080

A loopback-bound service generally has much less network exposure.

A service listening on all interfaces may be reachable through the network depending on firewall controls.

Part 24 — Compare Host vs Network Evidence

Section titled “Part 24 — Compare Host vs Network Evidence”

Example:

3389 listening
3389 filtered

Possible explanation:

Service Running
+
Firewall Restriction
=
Not Reachable from Kali

This demonstrates why local and remote evidence should be correlated.

Use:

Terminal window
Get-NetFirewallProfile

Record the state of:

Domain
Private
Public

Example:

Profile Enabled
Domain True
Private True
Public True

A disabled firewall profile deserves investigation.

You do not need to analyze thousands of rules.

Focus on services identified during your assessment.

For example:

Terminal window
Get-NetFirewallRule -Enabled True |
Select-Object DisplayName, Direction, Action, Profile

Ask:

  • Is inbound access explicitly required?

  • Is the rule too broad?

  • Which profile applies?

  • Is administrative access restricted?

Do not change the rule.

Part 27 — Build a Network Exposure Matrix

Section titled “Part 27 — Build a Network Exposure Matrix”

Create:

Service Listening Firewall Allowed Remote Scan Final Exposure
SMB Yes Yes Open Exposed
RDP Yes Restricted Filtered Restricted
App Localhost N/A Not visible Local only

This is much stronger evidence than relying on Nmap alone.

Windows uses NTFS Access Control Lists to determine access to files and directories.

For a lab-provided directory:

Terminal window
Get-Acl C:\LabData

or:

Terminal window
icacls C:\LabData

Use only authorized training locations.

Part 29 — Understand Common NTFS Permissions

Section titled “Part 29 — Understand Common NTFS Permissions”

Typical rights include:

Full Control
Modify
Read & Execute
Read
Write

Ask:

Who can modify this resource?

Write or Modify access is particularly important when the directory contains:

  • application files

  • scripts

  • configuration

  • sensitive data

Part 30 — Review a Training Application Directory

Section titled “Part 30 — Review a Training Application Directory”

For example:

Terminal window
icacls C:\GHC-Lab\App

Record:

Owner:
Administrators:
Users:
Write Access:
Modify Access:
Unexpected Principals:

Do not change permissions.

Windows permissions may be inherited from parent folders.

Conceptually:

C:\
Parent Folder
Child Folder
Inherited Permissions

An overly broad permission at a parent directory may affect many child resources.

Part 32 — Review Sensitive Configuration Files

Section titled “Part 32 — Review Sensitive Configuration Files”

Within an approved lab application directory, identify configuration files.

Examples could include:

web.config
application configuration
backup configuration
training credential file

Review only permissions and necessary training content.

Do not expose secrets in screenshots or reports.

Redact values.

Use:

Terminal window
Get-SmbShare

or:

Terminal window
net share

You may see administrative shares such as:

C$
ADMIN$
IPC$

These are normal on many Windows systems and should not automatically be reported as vulnerabilities.

Look for lab-specific shares.

Example:

Share Path Purpose Expected
LabShare C:\LabData Training Yes
Backups C:\Backups Backup Review

Custom shares deserve closer access-control review.

Use:

Terminal window
Get-SmbShareAccess -Name "LabShare"

Use the actual authorized share.

Record:

Principal:
AccessControlType:
AccessRight:
Expected:

Remember:

Effective access depends on both SMB share permissions and NTFS permissions.

Part 36 — Understand Share + NTFS Permissions

Section titled “Part 36 — Understand Share + NTFS Permissions”

Conceptually:

SMB Share Permission
+
NTFS Permission
Effective File Access

A secure share should have both layers configured appropriately.

Determine whether Remote Desktop is enabled in your training environment.

You can inspect the relevant Windows Settings interface.

Record:

RDP Enabled:
RDP Port:
Authorized Users:
Network Exposure:
MFA:
If applicable
Security Relevance:

Do not attempt credential guessing.

Run:

Terminal window
Get-LocalGroupMember -Group "Remote Desktop Users"

Assess whether every member requires remote access.

An account should not receive RDP access merely because it exists.

Windows Remote Management may support remote administration.

Check:

Terminal window
Get-Service WinRM

Record:

WinRM Running:
Startup:
Required:
Network Exposure:
Authorized Administrators:

Again, presence does not automatically equal vulnerability.

Use:

Terminal window
Get-ScheduledTask

or:

Terminal window
schtasks /query

Focus on lab or custom tasks rather than analyzing every standard Microsoft task.

Part 41 — Analyze Scheduled Task Security

Section titled “Part 41 — Analyze Scheduled Task Security”

For a custom training task, ask:

What account runs it?
Does it run with highest privileges?
What executable or script does it start?
Who can modify that script?
Who can modify the directory?
Is the task necessary?

A privileged scheduled task referencing a broadly writable script is a serious configuration concern.

Do not exploit it.

Part 42 — Build a Scheduled Task Register

Section titled “Part 42 — Build a Scheduled Task Register”

Example:

Task Runs As Elevated Executable Writable by User Review
Backup SYSTEM Yes backup.ps1 No Expected
LabTask Admin Yes lab.ps1 Review High

Run:

Terminal window
$PSVersionTable

Record:

PowerShell Version:
Edition:
OS:

PowerShell is a legitimate administration platform but is also important from a security-monitoring perspective.

Part 44 — Review PowerShell Execution Policy

Section titled “Part 44 — Review PowerShell Execution Policy”

Run:

Terminal window
Get-ExecutionPolicy -List

Record the result.

Important:

Execution Policy is not intended to be a complete security boundary.

Do not report a permissive value as automatic system compromise.

Consider it in the overall administrative-security context.

Part 45 — Review PowerShell Logging Awareness

Section titled “Part 45 — Review PowerShell Logging Awareness”

Enterprise environments may configure:

  • Script Block Logging

  • Module Logging

  • Transcription

  • centralized event collection

For this lab, determine whether enhanced PowerShell logging is configured if the environment exposes that information.

Do not change policy.

Run:

Terminal window
Get-MpComputerStatus

where Microsoft Defender is present.

Focus on information such as:

Antivirus Enabled
Real-Time Protection
Behavior Monitoring
Signature Status

Record:

Control Status
Antivirus
Real-Time Protection
Behavior Monitoring
Definitions

Part 47 — Do Not Disable Security Controls

Section titled “Part 47 — Do Not Disable Security Controls”

During the lab, do not:

Disable Defender
Add exclusions
Stop security services
Disable firewall
Clear logs

A penetration-test assessment should not weaken security controls without explicit authorization and operational justification.

Where available, Get-MpComputerStatus may show security intelligence update information.

Ask:

Are definitions current?
Is protection active?
Is the endpoint reporting healthy?

An enabled security product with outdated definitions may not provide expected protection.

Open:

Event Viewer

or use PowerShell.

Important log categories include:

Security
System
Application

Your lab may also contain:

PowerShell
Windows Defender
Remote Desktop

events.

Part 50 — Review Your Own Authentication Activity

Section titled “Part 50 — Review Your Own Authentication Activity”

Use Event Viewer to identify events generated during Lab 07.

Look for your own:

  • successful login

  • failed login

  • logout

  • administrative activity

Do not investigate unrelated user activity unnecessarily.

Part 51 — Understand Important Security Events

Section titled “Part 51 — Understand Important Security Events”

You do not need to memorize every Event ID.

The objective is to understand event categories such as:

Authentication Success
Authentication Failure
Account Changes
Privilege Use
Process Activity
Security Control Events

SOC analysts later correlate these events into incident timelines.

Where administrative permissions allow:

Terminal window
Get-WinEvent -LogName Security -MaxEvents 20

Review the structure:

TimeCreated
Id
Level
Provider
Message

Do not dump unnecessary quantities of logs.

Use:

Terminal window
Get-WinEvent -LogName System -MaxEvents 20

Look for:

  • service events

  • system changes

  • errors

  • relevant training activity

The purpose is to assess whether useful telemetry exists.

Ask:

Are authentication events recorded?
Are administrative events available?
Are security-control events visible?
Are timestamps reliable?
Are logs protected?
Is log retention adequate?
Are logs forwarded centrally?

Logging is essential for incident response and forensic investigation.

Where authorized:

Terminal window
auditpol /get /category:*

This displays configured Windows auditing categories.

Do not change them.

Review whether important activity is audited.

Accurate time is important for logs.

Run:

Terminal window
w32tm /query /status

or review Windows time settings.

Record:

Time Source:
Synchronization:
Time Zone:

Poor time synchronization can make event correlation significantly harder.

Use Windows Update through:

Settings
Windows Update

Record:

Last Update:
Pending Updates:
Restart Required:
Update Status:

Do not install patches unless instructed.

One available method is:

Terminal window
Get-HotFix

Record relevant information rather than every update.

The important question is:

Is the host supported and appropriately patched for its role?

Part 59 — Avoid Simple Build-Number Assumptions

Section titled “Part 59 — Avoid Simple Build-Number Assumptions”

Do not conclude:

Old-looking build
=
Vulnerable

Evaluate:

  • support status

  • cumulative updates

  • installed patches

  • vendor security guidance

  • vulnerability applicability

This follows the same validation principle used in Labs 06 and 08.

Depending on the environment, use:

Settings
Apps
Installed Apps

Focus on:

  • unexpected server applications

  • outdated training software

  • unnecessary remote-access tools

  • unnecessary services

Do not uninstall anything.

Example:

Host Role:
Employee Workstation
Observed:
Web Server
FTP Server
Database Server

This deserves investigation.

Unnecessary software:

increases attack surface
+
requires patching
+
creates configuration burden
+
creates monitoring burden

Check:

Terminal window
Get-LocalUser -Name "Guest"

where present.

In many environments, the built-in Guest account should remain disabled unless there is an explicit requirement.

Record:

Guest Enabled:
Requirement:
Security Relevance:

Check the built-in Administrator account.

Ask:

Is it enabled?
Is its use controlled?
Is a separate named administrative account used?
Is activity monitored?

Do not change it.

Use:

Terminal window
net accounts

This may show:

Minimum password length
Maximum password age
Minimum password age
Password history
Lockout threshold

Record the policy.

Part 65 — Compare Password Policy with Lab 07

Section titled “Part 65 — Compare Password Policy with Lab 07”

Correlate:

Lab 07
Authentication Behavior
+
Lab 09
Host Password Policy
=
Stronger Authentication Assessment

For example:

Observed weak training password
+
Minimum password length too low
=
Configuration explanation

From:

Terminal window
net accounts

observe:

Lockout threshold
Lockout duration
Lockout observation window

Do not trigger additional lockouts unless specifically authorized.

Part 67 — Build the Windows Security Control Matrix

Section titled “Part 67 — Build the Windows Security Control Matrix”

Create:

Security Area Status Evidence Priority
Local Users Review Get-LocalUser Medium
Administrators Review Group membership High
UAC Enabled Settings Medium
Services Review Get-Service High
Firewall Enabled Firewall profile High
NTFS Review ACLs High
SMB Shares Review Get-SmbShare High
Defender Enabled Defender status High
Logging Enabled Event Logs High
Updates Review Windows Update High

Document controls that work correctly.

Examples:

Guest account disabled.
Standard user not in Administrators.
UAC enabled.
Windows Firewall enabled.
Defender real-time protection enabled.
Sensitive directory permissions restricted.
RDP restricted.
Security auditing enabled.
System is current with approved updates.

A professional assessment is not only a list of problems.

Part 69 — Finding Example: Excessive Administrator Rights

Section titled “Part 69 — Finding Example: Excessive Administrator Rights”
Finding:
Standard user assigned unnecessary local administrative privileges.
Asset:
Windows Training VM
Observation:
The training account is a member of the local Administrators
group despite its standard-user role.
Impact:
Compromise of the account could provide significantly greater
control over the Windows endpoint.
Recommendation:
Remove unnecessary administrative membership and use controlled
privilege elevation for administrative tasks.

Part 70 — Finding Example: Broad NTFS Permissions

Section titled “Part 70 — Finding Example: Broad NTFS Permissions”
Finding:
Application directory has overly broad modification permissions.
Observation:
Standard users can modify files within a directory used by the
training application.
Impact:
Unauthorized modification could affect application integrity
or expose configuration information.
Recommendation:
Restrict Modify and Write permissions to identities that
require them.

Part 71 — Finding Example: Unnecessary Remote Administration

Section titled “Part 71 — Finding Example: Unnecessary Remote Administration”
Finding:
Remote administration service increases host attack surface.
Observation:
RDP is enabled and reachable from a broader network segment than
required for the host's intended role.
Impact:
The host exposes an additional authentication surface that may
be targeted if user credentials are compromised.
Recommendation:
Restrict RDP to approved administrative networks and users,
apply strong authentication, and monitor remote access.

Part 72 — Finding Example: Endpoint Protection Disabled

Section titled “Part 72 — Finding Example: Endpoint Protection Disabled”
Finding:
Endpoint real-time protection is disabled.
Observation:
The Windows endpoint does not currently have expected real-time
malware protection enabled.
Impact:
Malicious files and suspicious behavior may have reduced
prevention and detection coverage.
Recommendation:
Enable and centrally manage approved endpoint protection and
monitor protection health.
Finding:
Insufficient security auditing reduces investigation visibility.
Observation:
Important authentication or administrative activity is not
covered by the configured audit policy.
Impact:
Security incidents may be more difficult to detect,
investigate, and reconstruct.
Recommendation:
Enable appropriate Windows auditing and forward relevant events
to centralized monitoring.

Example:

ID Area Observation Severity Confidence Recommendation
WIN-01 Privilege User is local admin High Confirmed Least privilege
WIN-02 NTFS Broad Modify rights High Confirmed Restrict ACL
WIN-03 RDP Broad exposure Medium Confirmed Restrict access
WIN-04 Defender Enabled Positive Confirmed Maintain
WIN-05 Logging Audit enabled Positive Confirmed Maintain

Use:

Privilege + Exposure + Asset Importance + Control Weakness + Potential Impact

Example:

Administrative User
+
Weak Authentication
+
RDP Exposure
+
No MFA
=
Higher Identity Risk

Findings should also be correlated with previous labs.

Part 76 — Build the Windows Attack-Surface Map

Section titled “Part 76 — Build the Windows Attack-Surface Map”

Example:

Windows Host
┌───────────────────┼────────────────────┐
│ │ │
▼ ▼ ▼
Identity Network Files
│ │ │
┌─────┼─────┐ ┌─────┼─────┐ ┌─────┼─────┐
│ │ │ │ │ │ │ │ │
User Admin RDP SMB RDP WinRM ACLs Shares Config
│ │ │
└───────────────────┼────────────────────┘
Windows Risk

This helps prepare for later attack-path analysis.

Capture:

Windows system profile.

Current user and groups.

Local user inventory.

Local Administrators membership.

UAC configuration.

Running processes.

Running services.

Listening ports.

Windows Firewall status.

Relevant firewall rules.

NTFS permissions.

SMB shares and share permissions.

Scheduled tasks.

PowerShell configuration observations.

Defender status.

Relevant Windows Event Logs.

Audit policy.

Patch/update status.

Final Windows Security Findings Register.

Answer:

Windows Edition:
Build:
Hostname:
Current User:
Local Administrators:
Unexpected Administrator Accounts:
Guest Account:
UAC Enabled:
Running Services:
Unexpected Services:
Listening Ports:
Externally Reachable Services:
Windows Firewall:
RDP Enabled:
RDP Authorized Users:
WinRM Enabled:
Custom SMB Shares:
Broad Share Permissions:
Broad NTFS Permissions:
Privileged Scheduled Tasks:
Defender Enabled:
Real-Time Protection:
Security Logging:
Audit Policy:
Pending Updates:
Highest-Risk Finding:
Strongest Security Control:
Top Remediation Priority:

Support every answer with evidence.

This lab does not require:

Password dumping
Credential extraction
Registry credential harvesting
Privilege escalation
UAC bypass
Disabling Defender
Firewall manipulation
Persistence
Scheduled-task modification
SAM database extraction
Deleting logs
Exploitation frameworks

The objective is to assess the Windows host’s security posture, not take control of it.

Some Windows editions or PowerShell environments may not expose the module.

Use:

Terminal window
net user

and document the tooling limitation.

This may be expected for a standard account.

Record:

Resource:
Access:
Denied
Account:
Interpretation:
Privilege boundary operating as expected.

Do not bypass the restriction.

The system may use:

  • another endpoint-security product

  • a Windows edition without Defender

  • restricted permissions

Document what can actually be verified.

This may indicate appropriate privilege separation.

Do not circumvent it.

Check:

Listening interface
Firewall
Protocol
Scan source
Service state
Time of assessment

Differences are often useful evidence rather than errors.

Complete:

  • scope confirmed

  • Windows system profile documented

  • current identity reviewed

  • local users reviewed

  • local groups reviewed

  • local Administrators assessed

  • UAC reviewed

  • processes reviewed

  • services reviewed

  • listening ports reviewed

  • network results correlated

  • Windows Firewall assessed

  • NTFS permissions reviewed

  • SMB shares reviewed

  • scheduled tasks reviewed

  • PowerShell security observations documented

  • Defender status reviewed

  • RDP/WinRM exposure assessed

  • Windows Event Logs reviewed

  • audit policy reviewed

  • patch status assessed

  • positive controls documented

  • Windows Security Findings Register completed

  • remediation priorities established

  • final report completed

# Lab 09 — Windows Security Assessment
## Executive Summary
## Mission Objective
## Scope
## Windows System Profile
## Users and Groups
## Administrative Privilege Assessment
## User Account Control
## Running Processes
## Windows Services
## Network Exposure
## Windows Firewall
## NTFS Security
## SMB Shares
## Scheduled Tasks
## PowerShell Security
## Endpoint Protection
## Remote Administration
## Windows Event Logging
## Audit Policy
## Patch and Update Status
## Positive Security Controls
## Security Findings
## Risk Prioritization
## Recommendations
## Evidence
## Limitations
## Lessons Learned
## Conclusion

Question 1 — Why review the local Administrators group?

Section titled “Question 1 — Why review the local Administrators group?”

Because membership provides substantial control over the Windows system and should be limited according to least privilege.

User Account Control helps separate ordinary activity from actions requiring administrative elevation.

Question 3 — Does an open RDP port automatically mean the host is vulnerable?

Section titled “Question 3 — Does an open RDP port automatically mean the host is vulnerable?”

No.

You must evaluate authentication, network restrictions, authorized users, patching, MFA, and business requirements.

Question 4 — Why review both NTFS and SMB permissions?

Section titled “Question 4 — Why review both NTFS and SMB permissions?”

Because effective network file access depends on both the share permissions and underlying filesystem permissions.

Question 5 — Why compare Get-NetTCPConnection with Nmap?

Section titled “Question 5 — Why compare Get-NetTCPConnection with Nmap?”

The local command shows services listening on the Windows host, while Nmap shows which of those services can actually be reached from the assessment workstation.

Question 6 — Is a running service automatically a vulnerability?

Section titled “Question 6 — Is a running service automatically a vulnerability?”

No.

Determine whether it is required, properly configured, patched, restricted, and monitored.

Question 7 — Why is Defender status security-relevant?

Section titled “Question 7 — Why is Defender status security-relevant?”

Endpoint protection provides prevention and detection capabilities that can materially reduce risk from malicious activity.

Question 8 — Why review scheduled tasks?

Section titled “Question 8 — Why review scheduled tasks?”

Privileged scheduled tasks can create serious risk when the executed files or scripts are writable by lower-privileged users.

Question 9 — Why are Windows Event Logs important?

Section titled “Question 9 — Why are Windows Event Logs important?”

They provide evidence of authentication, process, system, security-control, and administrative activity required for monitoring and incident investigation.

After completing this lab, you should understand:

  • Windows system profiling

  • Windows local users and groups

  • local administrator analysis

  • least privilege

  • UAC concepts

  • Windows process assessment

  • Windows service assessment

  • listening-port analysis

  • host vs network exposure

  • Windows Firewall

  • NTFS security

  • SMB share permissions

  • scheduled-task security

  • PowerShell security concepts

  • Defender health assessment

  • remote administration assessment

  • Windows Event Logs

  • audit-policy concepts

  • Windows patch analysis

  • finding prioritization

  • Windows hardening recommendations

  • professional host reporting

A Windows security assessment is not:

“Find something exploitable on the machine.”

A professional assessor asks:

“Who has administrative control, what services are running, what is reachable, who can modify sensitive resources, how is remote administration protected, which defensive controls are active, what evidence is recorded, and where can the host be hardened?”

Use:

Host → Identity → Privilege → Process → Service → Network → Filesystem → Controls → Logs → Patch → Risk

This gives you a repeatable Windows host-assessment methodology that works across workstations, servers, enterprise environments, and certification labs.

➡️ Lab 10 — Web Application Reconnaissance

In the next lab, you will move from host-level assessment into the web application layer.

You will learn how to map an authorized web application before testing its security controls.

You will identify:

  • application pages

  • technologies

  • endpoints

  • authentication areas

  • forms

  • parameters

  • cookies

  • headers

  • client-side resources

  • APIs

  • hidden application functionality

  • trust boundaries

The methodology becomes:

Application → Content → Endpoint → Input → Authentication → Session → Technology → Attack Surface → Evidence

By the end of Lab 10, you should be able to answer:

“What functionality does this web application expose, where does it accept input, which areas require authentication, and what should be assessed in the next stage?”