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
- Fundamental — artículos Phrack, disclosures originales de CVE, blogs de seguridad de vendors (MSRC, Project Zero, Apple Security Research, especificaciones AMD/Intel/ARM)
- Investigación / Deep Dive — libros principales (Practical Binary Analysis, Hacking: The Art of Exploitation, Practical Malware Analysis) y papers de investigación nombrados
- Docs oficiales de herramienta — pwntools, AddressSanitizer, libFuzzer / AFL++, ROPgadget, Ghidra, Radare2 / Rizin, IDA Pro, angr
- 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