Arkendia Classrooms
Lesson 19 of 28 · 14 min

Pass-the-Hash and Replay Attacks: The Concepts

Not every attack on access needs to guess a password at all. Some authentication systems can be tricked using data that was never a plain-text password in the first place: a hash itself, or a previously captured authentication exchange. This lesson introduces these concepts at a principled level, as findings to recognise and explain, not as ready-to-run techniques.

Rethinking what "proving who you are" actually requires

In an ideal authentication system, proving your identity should always require knowledge of your actual, current secret (your password, for example), checked freshly for each attempt. Some systems, particularly certain network authentication protocols designed some time ago, were built around a subtly different model: proving that you possess a particular stored value derived from the secret, such as a password hash, was treated as sufficient to authenticate, without necessarily reproving knowledge of the original password itself.

This design choice was reasonable under the assumptions of its time, but it has a serious consequence once attackers can obtain such a stored value through some other means, for example through the kind of access described in chapter 4.

What "pass-the-hash" means, conceptually

In systems vulnerable to this kind of issue, an attacker who has obtained a user's password hash (not their plain-text password) can, in certain conditions, use that hash value directly to authenticate to other systems that accept the same credential, without ever needing to recover the original plain-text password through cracking at all. This matters enormously in post-exploitation and lateral movement scenarios (which chapter 6 covers in more detail): a single compromised machine holding cached credentials can sometimes become a key that opens several other doors across a network, even though the original passwords themselves were never guessed or cracked.

This course does not provide the specific technical steps to carry this out against any real protocol or product, in line with the "no functional exploit" rule from the brief; what matters here is recognising the pattern as a tester and as a defender, and understanding why it changes how you think about "a compromised machine" in a network.

What "replay attacks" mean, conceptually

A replay attack is a related but distinct idea: an attacker captures a legitimate authentication exchange (for example, network traffic containing an authentication attempt) and later resends, or "replays", that exact captured exchange to impersonate the original user, without ever knowing the underlying secret at all. Well-designed authentication protocols defend against this by including something unique to each attempt, such as a one-time, freshly generated value tied to that specific session, so that a captured exchange cannot simply be reused later; protocols that lack this kind of protection are vulnerable to replay by design.

Why these findings matter so much in a report

Both pass-the-hash and replay issues share an important property worth explaining clearly to a client: they show that protecting the password itself is not enough if the surrounding protocol or system design allows a derived value, or a captured exchange, to work just as well as the original secret. This reframes a common assumption ("our passwords are long and complex, so we are safe") and is exactly the kind of nuance a professional report should communicate, connecting back to the "accuracy and caution" principle from the brief of this course: describe the category of issue and its real consequence clearly, without needing to claim a specific, exact technical mechanism you have not independently verified against the client's precise environment.

The defensive angle: why this shapes good network design

Understanding these attack patterns directly explains several defensive recommendations you may already have encountered in earlier courses of this track, now with a clearer "why":

  • Limiting credential caching on machines that do not strictly need it, so that compromising one machine exposes fewer reusable credentials.
  • Network segmentation (chapter 4's pivoting lesson again), so that even a reusable credential cannot reach as many systems.
  • Modern, challenge-based or multi-factor authentication mechanisms specifically designed to resist both hash reuse and replay, which is why recommending "upgrade to a modern authentication mechanism" is a frequent, well-justified line in professional reports.
  • Prompt credential rotation after any suspected or confirmed compromise, since a reused hash or replayed exchange loses its value once the underlying credential changes.

Legal reminder

Capturing authentication traffic or extracting cached credentials, even for the purpose of demonstrating pass-the-hash or replay risk, requires the same authorised access and explicit scope agreement as any other sensitive technique in this course. These are advanced techniques typically reserved for more mature engagements (such as red team exercises, mentioned in chapter 1) and should never be attempted without a very clear, specific agreement with the client covering exactly this kind of activity.

Your fil rouge: explaining the concept to a non-technical client

Write two or three sentences, in plain language suitable for a non-technical business owner reading your Project Lighthouse report, explaining why "an attacker does not always need to know your actual password" matters, using either the pass-the-hash or the replay concept as your example. Save this in 03-exploit/client-explanations.md, since being able to explain a technical risk in plain words is exactly the skill chapter 7 will develop further.

Your turn: spot the misunderstanding

A client says: "Our passwords are all at least sixteen characters long and randomly generated, so pass-the-hash and replay attacks cannot be a problem for us." Explain what is wrong with this reasoning.

See a solution

Password length and randomness protect specifically against guessing attacks (dictionary and brute-force, covered in the previous lessons), by making correct guesses extremely unlikely. Pass-the-hash and replay attacks, however, do not involve guessing the password at all: they reuse a derived value (a hash) or a captured exchange directly, regardless of how long or random the original password was. A sixteen-character random password produces a hash, or can be involved in a captured authentication exchange, exactly like a short, weak one; the underlying protocol or system design, not the password's own strength, is what determines vulnerability to these specific attack patterns. The client needs to ask about authentication protocol design and credential caching practices, not password policy, to address this particular risk.

Tip

When a client proudly cites a strong password policy as proof of security, it is a good moment to gently ask: "strong against what, exactly?" Password strength and protocol design defend against different things.

Key takeaways

  • Some authentication systems accept a derived value, such as a password hash, as sufficient proof of identity, without reproving the original secret.
  • Pass-the-hash reuses such a value directly; replay attacks resend a captured legitimate authentication exchange.
  • Both show that password strength alone does not protect against every form of credential-based attack.
  • Defences include limiting credential caching, network segmentation, modern authentication protocols, and prompt rotation after compromise.
  • These are advanced techniques requiring very explicit scope agreement, typically in more mature engagements.

The final lesson of this chapter steps back to compare these offensive techniques with the defensive side of the same coin: how organisations should actually manage credentials.

Advertisement
Log in to save your progress. Log in