DEV Community

Rocky
Rocky

Posted on

You Found the Same Local Admin Password on Every Workstation. Now What Do You Write?

You're a few days into an internal penetration test. You've got a foothold, you dump the local SAM hashes off your first compromised workstation, and one of them cracks or you get lucky and it's a hash you can pass directly. Out of habit more than expectation, you try that same local administrator credential against a second workstation on the subnet. It works. You try five more, picked at random from the host list. All five. Your scope has three hundred workstations, and you're now fairly confident all three hundred were built from the same golden image with the same local admin password baked in and never rotated per host.

This is one of the most common findings in internal engagements, and it's also where a lot of testers, especially early in their careers, write the weakest version of a strong finding. The instinct is to report it as "weak/reused local administrator password, recommend enforcing password complexity." That's not wrong, exactly, but it completely misses what makes this dangerous, and a client reading that line has no reason to prioritize it over the twenty other medium findings in the same report.

The actual risk isn't password strength. A twenty-character random local admin password shared across every workstation is exactly as dangerous as a weak one, because the vulnerability is the sharing, not the entropy. What you've actually found is a blast radius: compromise any single endpoint through phishing, an unpatched client-side bug, a user plugging in the wrong USB drive, anything, and that one compromise is worth local admin on the entire fleet via pass-the-hash, no cracking required. That's the sentence that gets a remediation budget approved, and it's a completely different sentence from "use stronger passwords."

Getting to that sentence means doing more than finding it once. Within your authorized scope and rules of engagement, and always with explicit written client sign-off before spraying credentials across a network, the standard move is to validate the actual reach of the credential rather than assume it: spray it against a meaningful sample of the host list with a tool built for exactly this (CrackMapExec and similar are the standard here), record how many hosts respond as valid admin, and then demonstrate, not just claim, lateral movement to two or three witnessed hosts using pass-the-hash. That validated count, "this credential grants admin on an estimated 94% of the workstation fleet," turns a bullet point into a number a security director has to act on, and screenshotted proof of hash-based movement to a second and third host turns "we believe" into "we did."

The fix worth recommending isn't just "rotate the password." It's usually LAPS (Local Administrator Password Solution) or an equivalent, so every workstation gets its own randomized, automatically rotated local admin credential instead of one shared secret baked into an image. Naming that specific remediation, instead of a generic "improve password policy" line, is itself a signal to the client that you understand their environment, not just their finding.

This is the actual shape of internal pentest work: enumeration finding through demonstrated lateral movement through a report someone with a budget actually acts on. That arc, host enumeration to lateral movement to client-actionable reporting, is exactly what the Internal Network Penetration Testing Book + Labs walks through end to end: https://resources.codelivly.com/product/enterprise-network-penetration-testing/

If you want to practice the credential side hands-on first, the free Credential Dumping lab and the Pentest Methodology & Reporting learning path on codelivly.com cover the two halves of this exact finding, extraction and the reporting discipline, before you spend anything: https://codelivly.com/labs/credential-dumping and https://codelivly.com/learning-paths/pentest-methodology-reporting

Top comments (0)