SkillAgentSearch skills...

offensive-windows-mitigations

Deep-dive on Windows exploit mitigations: ASLR, DEP/NX, CFG, CET/Shadow Stack, SEHOP, Heap Guard, ACG, Arbitrary Code Guard. Covers both the protection mechanism and known bypass techniques.

Install / Use

npx skills add SnailSploit/Claude-Red --skill offensive-windows-mitigations

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

87/100

Category

Security

Supported Platforms

Universal

Our assessment of offensive-windows-mitigations

offensive-windows-mitigations scores 87/100 on our quality scale, 423rd of 653 Security skills we index.

Its SKILL.md is 511 KB long, well organised into 1,268 sections with 253 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.

With 6,850 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
21/30
Structure
20/20
Description
15/15
Adoption
16/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 6 days ago, so offensive-windows-mitigations is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

offensive-windows-mitigations compared with similar skills

All 4 of these similar skills score higher than offensive-windows-mitigations; compare them before choosing.

SkillScoreStarsUpdatedFormat
offensive-windows-mitigations (this skill)by SnailSploit876.8k6d agoSKILL.md
Agent-Reachby Panniantong10085.5k11d agoCLAUDE.md
algorithmic-artby anthropics100177.9k4d agoSKILL.md
pptxby anthropics100177.9k4d agoSKILL.md
designby nextlevelbuilder100130.2k5d agoSKILL.md

Frequently asked questions

How do I install offensive-windows-mitigations?
Run npx skills add SnailSploit/Claude-Red --skill offensive-windows-mitigations. The install tabs above show the steps for each supported agent.
Which AI agents does offensive-windows-mitigations work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is offensive-windows-mitigations safe to use?
It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is offensive-windows-mitigations still maintained?
The repository was last updated 6 days ago, so offensive-windows-mitigations is actively maintained.

SKILL: Week 6: Understanding Windows Mitigations

Metadata

  • Skill Name: windows-mitigations
  • Folder: offensive-windows-mitigations
  • Source: https://github.com/SnailSploit/offensive-checklist/blob/main/6-windows-mitigations.md

Description

Deep-dive on Windows exploit mitigations: ASLR, DEP/NX, CFG, CET/Shadow Stack, SEHOP, Heap Guard, ACG, Arbitrary Code Guard. Covers both the protection mechanism and known bypass techniques. Use when researching Windows exploit mitigations, planning bypass strategies, or understanding protection depth.

Trigger Phrases

Use this skill when the conversation involves any of: Windows mitigations, ASLR, DEP, NX, CFG, CET, shadow stack, SEHOP, heap guard, ACG, mitigation bypass, exploit mitigation, Windows hardening

Instructions for Claude

When this skill is active:

  1. Load and apply the full methodology below as your operational checklist
  2. Follow steps in order unless the user specifies otherwise
  3. For each technique, consider applicability to the current target/context
  4. Track which checklist items have been completed
  5. Suggest next steps based on findings

Full Methodology

Week 6: Understanding Windows Mitigations

Overview

created by AnotherOne from @Pwn3rzs Telegram channel.

Last week you learned basic exploitation in an environment without protections. This week, you'll learn about the defensive mechanisms that modern Windows systems employ to prevent those attacks. Understanding these mitigations is essential before learning to bypass them (Week 8). Week 7 continues with enterprise security topics (offensive reconnaissance, Windows 11 24H2/25H2 mitigations, cross-platform defenses).

This Week's Focus:

  • Understand how each mitigation works
  • Learn to detect active mitigations
  • Verify mitigation effectiveness
  • Test exploits against protected binaries
  • Prepare for Week 7's boundaries and Week 8's bypass techniques

Prerequisites

Before starting this week, ensure you have:

  • Completed Week 5: Basic Exploitation (Linux) - you should be able to exploit stack overflows, build ROP chains, and use pwntools
  • A Windows 11 VM (isolated, snapshot before each exercise)
  • Visual Studio 2022 Build Tools installed
  • WinDbg Preview installed
  • Basic familiarity with x64 assembly and calling conventions

Week 6 Deliverables

By the end of this week, you should have completed the following:

  • [ ] Lab Environment: Windows 11 VM with Visual Studio Build Tools, WinDbg Preview, and Sysinternals installed
  • [ ] Test Binaries: Compiled vulnerable_suite_win_mitigated.c and vuln_server_win.c with various mitigation flags
  • [ ] DEP Verified: Demonstrated DEP blocking shellcode execution with crash analysis (Exception Code 0xC0000005, Param 8)
  • [ ] ASLR Measured: Recorded addresses of check_aslr.exe across 3 reboots and documented randomization behavior
  • [ ] Stack Cookie Tested: Triggered /GS cookie check failure and analyzed in WinDbg
  • [ ] CFG Validated: Demonstrated CFG blocking indirect call to invalid target
  • [ ] Crash Dumps Analyzed: Created at least 3 crash dumps and identified which mitigation caused each termination using !analyze -v
  • [ ] Week 5 Exploit Retesting: Re-ran Week 5 exploits against mitigated binaries and documented failures
  • [ ] Mitigation Audit Report: Generated system-wide and per-binary mitigation audit using PowerShell scripts
  • [ ] Hardening Capstone: Completed the SecureServer v1.0 hardening exercise (Day 7)

Context

Why Mitigations Matter: Modern exploits chain multiple vulnerabilities and bypass layers of protection. Understanding mitigations helps you:

  • Recognize when an exploit is blocked vs. when it succeeds
  • Analyze crash dumps to identify exploitation attempts
  • Design defense-in-depth strategies
  • Prepare for Weeks 7-8 (advanced mitigations and bypass techniques)

Recent CVEs Demonstrating Mitigation Importance:

| CVE | Vulnerability | Mitigations Involved | Outcome | | -------------- | ------------------------------- | -------------------- | ------------------------------------- | | CVE-2024-21338 | AppLocker (appid.sys) EoP | KASLR, SMEP, kCFG | Admin-to-Kernel bypass of kCFG | | CVE-2024-30088 | Authz Kernel TOCTOU | KASLR, SMEP, CFG | Exploited via race condition | | CVE-2023-36802 | MSKSSRV Object Type Confusion | KASLR, SMEP, CFG | Pool spray + type confusion to EoP | | CVE-2025-29824 | CLFS Driver Use-After-Free | KASLR, SMEP | Zero-day exploited in wild (Apr 2025) | | CVE-2024-49138 | CLFS Heap-Based Buffer Overflow | DEP, ASLR, KASLR | EoP exploited in wild (Dec 2024) | | CVE-2023-32019 | Windows Kernel Info Disclosure | KASLR | Leaked kernel memory bypassing KASLR | | CVE-2023-28252 | CLFS Driver EoP | KASLR, SMEP | Abused CLFS log file parsing | | CVE-2022-34718 | Windows TCP/IP RCE (EvilESP) | DEP, ASLR, CFG | Required sophisticated heap grooming |

Connection to Week 4 (Crash Analysis):

When you receive a crash dump, the exception codes reveal which mitigation stopped the exploit:

Week 4 Crash Analysis -> Week 6 Mitigation Identification
─────────────────────────────────────────────────────────
Process Exit Code         WinDbg Exception Code        Mitigation
──────────────────────    ─────────────────────        ──────────
0xC0000005 (Param[0]=8)   0xC0000005                   DEP violation (execute on NX page)
0xC0000409                0xC0000409 (subcode 2)        /GS stack cookie corruption
0x80000003                0xC0000409 (subcode 10)       CFG indirect call validation failed
0x80000003                0xC0000407                    CET shadow stack mismatch
0xC0000374                0xC0000374                    Heap integrity check failed

IMPORTANT: Python/cmd see the PROCESS EXIT CODE. WinDbg sees the EXCEPTION CODE.
CFG and CET both use __fastfail() which raises int 0x29 -> exit code 0x80000003,
but the EXCEPTION RECORD inside WinDbg shows the original status code.

Windows Mitigations Relevance

Understanding these bug classes prepares you for real-world vulnerability research:

| Bug Class | Example CVE | Mitigation Interaction | Week 8 Bypass | | ---------------- | -------------------------- | ------------------------------------------------- | -------------------- | | Race Condition | CVE-2024-30088 (Authz) | TOCTOU bypasses simple checks | Timing manipulation | | Type Confusion | CVE-2023-36802 (MSKSSRV) | CFG validates calls, but confused object bypasses | Object spray | | Pointer Deref | CVE-2024-21338 (appid.sys) | kCFG bypass via direct manipulation | Arbitrary read/write | | Integer Overflow | CVE-2021-34535 (RDP) | Safe integer functions | Find unchecked paths | | Arbitrary Write | CVE-2023-28252 (CLFS) | KASLR, SMEP | Info leak chain |

Day 1: DEP and ASLR Fundamentals

Deliverables

  • Lab Report: Documented observations of DEP crashes (Exception Code 0xC0000005, Param 8)
  • ASLR Log: Recorded addresses of check_aslr.exe across 3 reboots
  • Crash Analysis: Completed mitigation identification table for the 4 test dumps
  • Analysis Report: Completed analysis table for all 4 crash dumps
  • Screenshots: WinDbg output showing the "Smoking Gun" for each crash
  • Write-up: 1-paragraph explanation of how you identified each mitigation

Lab Directory Structure

C:\Windows_Mitigations_Lab\
- src\                          # Source code for test binaries
- bin\                          # Compiled binaries
- dumps\                        # Crash dumps from WER/ProcDump
- exploits\                     # Week 5 exploits for testing
- reports\                      # Mitigation audit reports

Transitioning from Linux to Windows Debugging

If you are coming from Week 5 (Linux), use this table to map your pwndbg commands to WinDbg:

| Description | Pwndbg Equivalent | WinDbg Command | | ------------------ | ------------------------ | -------------- | | Crash analysis | bt, regs, context | !analyze -v | | Memory display | x/b, x/w, x/g | db/dd/dq | | Smart pointers | telescope | dps | | Disassembly | x/i or disassemble | u | | Set breakpoint | break or b | bp | | Hardware watch | watch or rwatch | ba w | | Continue | continue or c | g | | Step over/into | next / step | p / t | | Search memory | search "string" | s -a | | List modules | vmmap or info shared | lm | | Heap analysis | heap, bins, arena | !heap |

[!TIP] Week 4 Callback: For more advanced WinDbg usage, refer back to Week 4: Crash Analysis where we covered TTD (Time Travel Debugging) and symbol configuration in detail.

Standardized Vulnerable Targets

To maintain continuity with previous weeks, we will use a Windows port of the vulnerable suite and the capstone server. Save these into C:\Windows_Mitigations_Lab\src.

1. The Mitigation Test Suite (vulnerable_suite_win_mitigated.c)

This replaces generic tests (dep_test.c, etc.) with a unified suite mirroring Week 4's lab.

[!IMPORTANT] Modern MSVC removed gets() - it was removed in C11 as too dangerous. We use fgets() with a size mismatch instead, which MSVC recognizes as needing /GS protection.

/*
 * vulnerable_suite_win_mitigated.c
 * Windows Port of Week 4 Vulnerable Suite
 * Compile with varying flags to test mitigations.
 *
 * NOTE: gets() was removed in modern MSVC. We use fgets() with
 * intentional size mismatch to create the same vulnerability
 * while triggering MSVC's /GS heuristics.
 */
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#pragma comment(lib, "user32.lib")

void stack_overflow() {
    char buffer[64];

    printf("[*] Stack Overflow Target: Buffer at %p\n", buffer);
    printf("[*] Enter payload: ");
    fflush(stdout);

    // Vulnerable: fgets reads up to 256 bytes into 64-byte buffer!
    // This pattern trigger

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars6.8k
CategorySecurity
Updated6d ago
Forks896

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions