indexExplotación de Binarios#cybersecurity#binary-exploitation#vulnerability-research#index

Índice de Binary Exploitation

Propósito

Esta rama cubre vulnerabilidades de memory-corruption, exploit development y la carrera de mitigaciones a nivel binario: la capa debajo de web/API/cloud security donde vive código C, C++, unsafe-Rust, kernel y JIT-compiler. El compromiso AD termina en Tier 0 (Identity and Active Directory); el compromiso web termina en la base de datos o el cloud control plane (Web Security); el compromiso binario termina en el instruction pointer de la CPU, por eso esta rama es la más profunda del atlas por distancia de escalera desde el source code.

Usá Reference Registry — Binary Exploitation como fuente de verdad para referencias en esta rama. Volvé a Índice de ciberseguridad para navegación raíz entre ramas.

Antes de esta rama:

  • Fundamentos (Fase 0).
  • Alfabetización de programación C/C++. Esta rama asume que podés leer código C, tenés un modelo mental funcional de stack frames y heap allocation, y estás cómodo con un debugger (gdb / lldb / WinDbg). Si no, trabajá primero las secciones relevantes de Practical Binary Analysis u OpenSecurityTraining x86 / OS internals.
  • Baseline Linux + x86-64. La mayoría de labs targetean Linux sobre x86-64. Los conceptos transfieren a ARM/macOS/Windows con diferencias notacionales; especificidades aarch64 + macOS + Windows se nombran por nota.
  • Emparejá cada nota ofensiva con pensamiento de Detection Engineering. Exploit research es fascinante; las defensas binarias son la mitad que shippea el software del mundo.

Posicionamiento de la rama

Esta rama vive en Fase 4 — Specialty tracks según roadmap-v2: leela cuando el trabajo a nivel binario forme parte de tu contexto laboral (vulnerability researcher, exploit developer, security engineer para sistemas low-level, competidor CTF categoría pwn, autor de security tooling, maintainer de kernel). Es la rama técnicamente más demandante del atlas: los prerequisitos son reales, y saltearlos produce frustración más que aprendizaje. Ver Fase 4 — Specialty Tracks para contexto (Track F).


Orden de aprendizaje recomendado

Core de primera pasada (4 notas — fundamento de la rama)

  1. memory-corruption — el concepto raíz y la taxonomía de 6 clases (stack overflow / heap overflow / use-after-free / double-free / out-of-bounds read / integer overflow). Leé primero; el resto de la rama son especializaciones de esta nota.
  2. stack-buffer-overflow — el ejemplo trabajado canónico de clase 1. El deep-dive que introduce stack layout, control de return-address y el cost-stack de mitigaciones.
  3. exploit-mitigations — la nota par defensiva. El paisaje de mitigaciones de 6 familias (stack canaries / DEP / ASLR / CFI / memory tagging / sandboxing) y la clase de bypass que fuerza cada familia. Leerla después de #2 vuelve concreto el claim "la explotación moderna requiere una cadena"; leerla antes de #4 enmarca la técnica que cubre #4.
  4. rop-and-ret2libc — el deep-dive de técnica. Por qué DEP fue la mitigación equivocada, cómo el chained code-reuse la derrotó, las 5 variantes (ret2libc / classic ROP / JOP-COP / SROP / data-only attacks) y por qué existen CET + PAC + CFI.

Leé en orden. Después de las cuatro tenés el par offense/defense y la técnica que define la explotación moderna. Cada nota futura de la rama es una especialización de estas cuatro.

Futuras notas atómicas sugeridas (roadmap de la rama)

La masa de cluster que justificó abrir esta rama fue de 5 gap notes auditadas más un backlog profundo de trabajo futuro. Las condiciones de entrada de Fase 4 se cumplen con las dos notas starter; la construcción de profundidad de abajo es la expansión planeada.

Subclases de memory-corruption (una por fila de la taxonomía de memory-corruption):

  • heap-buffer-overflow-and-allocator-exploitation — clase 2: ptmalloc / tcmalloc / mimalloc / segment heap.
  • use-after-free-and-dangling-pointers — clase 3: la primitive dominante de browser exploit.
  • double-free-and-allocator-corruption — clase 4: linaje House-of-*.
  • out-of-bounds-read-and-info-leaks — clase 5: patrón Heartbleed, info-leak primitives.
  • integer-overflow-and-type-confusion — clase 6: causa canónica de bugs de allocation-size.

Técnicas de explotación:

  • aslr-pie-and-info-leak-chains — derrotar address-space layout randomization.
  • format-string-bugs — la info-leak primitive canónica emparejada con stack overflows.
  • off-by-one-and-frame-pointer-overwrite — la variante sutil de stack-corruption.
  • got-and-plt-abuse — control-flow hijacking vía primitives de dynamic-linking.
  • srop-and-sigreturn-oriented-programming — el sucesor de classic ROP que bypass-ea CET.
  • jop-cop-and-data-only-attacks — las clases modernas de bypass para sistemas protegidos por indirect-branch.
  • stack-pivots-and-large-rop-chains — patrones small-buffer / heap-located-chain.
  • one-gadget-and-libc-shortcuts — exploit-development práctico del lado libc.
  • pwntools-exploit-development-patterns — la nota práctica de toolkit.

Mitigaciones (deep dives debajo de la nota top-level de mitigaciones):

  • stack-canaries-and-shadow-stacks — SSP + Intel CET shadow stack + ARM PAC.
  • arm-mte-and-memory-tagging — el enfoque de hardware para memory safety.
  • control-flow-integrity-cfi — la capa de protección indirect-branch.
  • cet-and-shadow-stacks-in-depth — la derrota arquitectónica de pure ROP.
  • partitionalloc-and-miracleptr — caso de estudio de allocator hardening.
  • meltdown-spectre-and-side-channel-mitigations — familia de mitigaciones de speculative-execution.

Reverse engineering y discovery:

  • elf-binary-format — el formato executable que toda nota de Linux exploitation asume.
  • reverse-engineering-loop — la metodología iterativa de behavior-discovery.
  • fuzzing-with-libfuzzer-and-afl — coverage-guided fuzzing.
  • sanitizers-asan-msan-ubsan — el toolkit de runtime-detection.
  • dynamic-linking-and-got-plt — el panorama moderno de dynamic-linker.
  • symbolic-execution-and-angr — razonamiento automatizado sobre control flow binario.

Par defensor:

  • detect-memory-corruption-exploitation — el playbook SOC / EDR-side.

  • Windows Privilege Escalation — kernel memory corruption es una de las primitives listadas de Windows privesc; las ramas se cruzan en kernel exploitation.
  • AEAD and nonce misuse — memory corruption que filtra nonces AEAD destruye la seguridad criptográfica; las ramas se cruzan en territorio side-channel y key-extraction.
  • EDR / process correlation — exploits modernos de memory-corruption dejan señales visibles para EDR; esta es la rama par defensiva.
  • Behavioral vs Signature Detection — la detección de explotación es puramente behavioral (anomalías de control-flow, VirtualProtect inusual, patrones de ROP gadget); no hay firmas útiles a nivel bug-class.
  • Tríada CIA — memory corruption suele ser una violación de integridad que habilita violaciones posteriores; el framing importa para clasificación de incidentes.
  • Dualidad atacante-defensor — exploit research y mitigation engineering son el mismo campo visto desde sillas opuestas; la dualidad es especialmente limpia en esta rama.

Notas de mantenimiento de rama

  • Cada nota de esta rama sigue el template de nota atómica de 11 secciones.
  • Binary exploitation moderno requiere componer múltiples primitives contra múltiples mitigaciones. Las notas deberían llamar explícitamente qué mitigaciones derrotan la versión simple de un ataque y qué primitives adicionales necesita la versión moderna.
  • El par defensor de esta rama vive sustancialmente en Detection Engineering (comportamiento de process-tree, detección de ROP, anomalías de VirtualProtect) y en la propia familia exploit-mitigations de esta rama (defensas compile-time + hardware).
  • La rama se abrió el 2026-05-11 con 2 notas starter después de que la auditoría GPT-30 identificó la masa de cluster de 5 notas. Nuevas notas específicas de binary-exploitation aterrizan directamente acá.
  • Genealogía de fuentes: las fuentes primarias de esta rama son Practical Binary Analysis (Andriesse, No Starch 2018), playlist de binary exploitation de LiveOverflow, Low Level YouTube channel, OpenSecurityTraining (especialmente cursos x86 / Intermediate x86 / RE) y contenido de vulnerability-research de Dayzerosec.
  • Expansión futura: cuando el cluster de notas WebAssembly / JIT / VM-corruption alcance masa, podría separarse un sibling cybersecurity/jit-and-vm-exploitation/. Del mismo modo, kernel-specific exploitation podría eventualmente justificar su propia rama.