registry

Reference Registry — Binary Exploitation

Propósito

Esta nota estandariza las referencias para la rama binary-exploitation.

Usala para:

  • mantener notas de memory-corruption y exploit-development vinculadas a fuentes primarias canónicas (Phrack, especificaciones Intel/ARM, libros y toolkits mayores)
  • evitar el backlog infinito de CTF write-ups; citá el paper o tool canónico, no el enésimo write-up
  • mantener esta rama centrada en memory corruption, exploitation primitives, ingeniería de mitigaciones y reverse engineering a nivel binario

Regla de fuente de verdad

Para notas de binary-exploitation, este registry es la fuente de verdad primaria.

Usalo junto con:

  • <a href="binary-exploitation/index.html">Binary Exploitation Index</a>
  • <a href="reference-registry-detection-engineering.html">Reference Registry — Detection Engineering</a> cuando las notas entren en telemetría de exploit-detection
  • <a href="reference-registry-cryptography.html">Reference Registry — Cryptography</a> cuando las notas toquen divulgación de memoria criptográfica (issues clase Heartbleed, side channels de extracción de claves)

Política de selección de referencias

Prioridad de fuentes

  1. Fundamental — artículos Phrack, disclosures originales de CVE, blogs de seguridad de vendors (MSRC, Project Zero, Apple Security Research, especificaciones AMD/Intel/ARM)
  2. Investigación / Deep Dive — libros principales (Practical Binary Analysis, Hacking: The Art of Exploitation, Practical Malware Analysis) y papers de investigación nombrados
  3. Docs oficiales de herramienta — pwntools, AddressSanitizer, libFuzzer / AFL++, ROPgadget, Ghidra, Radare2 / Rizin, IDA Pro, angr
  4. Industria / Operacional — estadísticas de memory-safety de Microsoft, Chromium security blog, Apple Security Engineering posts, MITRE CWE

Target por nota

  • mínimo 2 referencias
  • ideal 3 referencias

Etiquetas

Usar:

  • Fundamental
  • Investigación / Deep Dive
  • Docs oficiales de herramienta
  • Hardening (para referencias enfocadas en mitigación)

Mapa de temas binary-exploitation

memory-corruption

Referencias preferidas:

  • Fundamental: Aleph One — Smashing the Stack for Fun and Profit (Phrack 49, 1996) — http://phrack.org/issues/49/14.html
  • Investigación / Deep Dive: Microsoft Security Response Center — A proactive approach to more secure code (memory-safety statistics) — https://msrc.microsoft.com/blog/2019/07/a-proactive-approach-to-more-secure-code/
  • Investigación / Deep Dive: Dennis Andriesse — Practical Binary Analysis (No Starch Press, 2018) — the modern reference
  • Docs oficiales de herramienta: AddressSanitizer — https://clang.llvm.org/docs/AddressSanitizer.html
  • Hardening: ARM — Memory Tagging Extension (MTE) — https://developer.arm.com/documentation/108035/latest/

stack-buffer-overflow

Referencias preferidas:

  • Fundamental: Aleph One — Smashing the Stack for Fun and Profit (Phrack 49, 1996) — http://phrack.org/issues/49/14.html
  • Investigación / Deep Dive: Dennis Andriesse — Practical Binary Analysis (No Starch Press, 2018)
  • Docs oficiales de herramienta: pwntools — https://docs.pwntools.com/
  • Hardening: Intel — Control-flow Enforcement Technology (CET) specification — https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf

exploit-mitigations

Referencias preferidas:

  • Investigación / Deep Dive: Microsoft Security Response Center — A proactive approach to more secure code — https://msrc.microsoft.com/blog/2019/07/a-proactive-approach-to-more-secure-code/
  • Hardening: Intel — Control-flow Enforcement Technology (CET) specification — https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
  • Hardening: ARM — Memory Tagging Extension (MTE) — https://developer.arm.com/documentation/108035/latest/
  • Hardening: Linux kernel — Self-Protection documentation — https://www.kernel.org/doc/html/latest/security/self-protection.html

rop-and-ret2libc

Referencias preferidas:

  • Fundamental: Hovav Shacham — The Geometry of Innocent Flesh on the Bone (CCS 2007, the foundational ROP paper) — https://hovav.net/ucsd/dist/geometry.pdf
  • Fundamental: Solar Designer — Getting around non-executable stack (Bugtraq, 1997, the original ret2libc disclosure) — https://seclists.org/bugtraq/1997/Aug/63
  • Docs oficiales de herramienta: pwntools ROP module — https://docs.pwntools.com/en/stable/rop/rop.html
  • Docs oficiales de herramienta: ROPgadget — https://github.com/JonathanSalwan/ROPgadget

Próximas entradas sugeridas del registry

Agregarlas cuando la rama se expanda:

  • heap-buffer-overflow-and-allocator-exploitation
  • use-after-free-and-dangling-pointers
  • double-free-and-allocator-corruption
  • out-of-bounds-read-and-info-leaks
  • integer-overflow-and-type-confusion
  • rop-and-ret2libc
  • aslr-pie-and-info-leak-chains
  • format-string-bugs
  • got-and-plt-abuse
  • exploit-mitigations
  • stack-canaries-and-shadow-stacks
  • arm-mte-and-memory-tagging
  • control-flow-integrity-cfi
  • elf-binary-format
  • reverse-engineering-loop
  • fuzzing-with-libfuzzer-and-afl
  • sanitizers-asan-msan-ubsan
  • symbolic-execution-and-angr
  • detect-memory-corruption-exploitation

Reglas de uso del registry

  • elegí el set más chico de referencias fuertes para la nota exacta
  • preferí una referencia Phrack/spec/libro + una referencia canónica de docs de herramienta por nota cuando sea posible
  • mantené las referencias centradas en memory corruption, exploitation primitives y mitigaciones a nivel binario; ruteá temas de fallas de protocolo criptográfico por el registry de cryptography y temas de detección kernel por detection-engineering