Black Hat Go: Programación en Go para hackers y pentesters
Black Hat Go: Programación en Go para hackers y pentesters
Resumen:
Introducción
El libro «Black Hat Go: Programación en Go para hackers y pentesters» (título original: Black Hat Go: Go Programming for Hackers and Pentesters) es una guía práctica escrita por tres expertos en seguridad informática: Tom Steele, Chris Patten y Dan Kottmann. Publicado en 2020 por No Starch Press, el libro rápidamente ganó popularidad entre los especialistas en ciberseguridad y desarrolladores Go que desean ampliar sus habilidades en la creación de herramientas para pruebas de penetración.
A diferencia de los libros tradicionales sobre Go, que se centran en el desarrollo web o microservicios, Black Hat Go ofrece una perspectiva única del lenguaje desde el punto de vista del atacante. Los autores muestran cómo usar el poder de Go (velocidad de compilación, soporte integrado para concurrencia, compilación cruzada) para crear herramientas rápidas, confiables y sigilosas que pueden usarse tanto en pentests legales como con fines de investigación.
¿De qué trata este libro?
Black Hat Go consta de 12 capítulos, cada uno dedicado a un aspecto específico de la escritura de herramientas de seguridad. El libro comienza con los fundamentos de Go para quienes ya están familiarizados con la programación, pero rápidamente pasa a temas avanzados:
- Capítulos 1-2: Resumen rápido de la sintaxis de Go, trabajo con paquetes, estructuras, interfaces y manejo de errores.
- Capítulo 3: Creación de clientes y servidores TCP y HTTP, escritura de un escáner de puertos simple y un rastreador web.
- Capítulo 4: Trabajo con DNS: escritura de un resolvedor DNS propio, falsificación de consultas DNS, uso de DNS para exfiltración de datos.
- Capítulo 5: Ataques HTTP: creación de herramientas para fuerza bruta de contraseñas, sniffing de tráfico, falsificación de encabezados y omisión de autenticación.
- Capítulo 6: Explotación de vulnerabilidades: escritura de shellcode en Go, trabajo con Metasploit, creación de payloads.
- Capítulo 7: Sniffing y spoofing: interceptación de paquetes, ARP-spoofing, análisis de tráfico con gopacket.
- Capítulo 8: Post-explotación: escritura de backdoors, implantes, trabajo con C2 (Command & Control) a través de WebSocket y TLS.
- Capítulo 9: Ingeniería inversa: desensamblado de binarios Go, evasión de antivirus, empaquetado y ofuscación de código.
- Capítulo 10: Criptografía: implementación de cifrado, hash, trabajo con TLS y certificados.
- Capítulo 11: Automatización: escritura de escáneres de vulnerabilidades, integración con Shodan, Censys, VirusTotal.
- Capítulo 12: Casos reales: ejemplos de uso de Go en pentests reales, consejos para escribir herramientas propias.
¿Para quién es este libro?
El libro está dirigido a lectores que ya tienen conocimientos básicos de programación (preferiblemente en Go u otro lenguaje compilado) y están interesados en la ciberseguridad. Será útil para:
- Especialistas en pruebas de penetración (pentesters) que desean automatizar sus tareas y escribir sus propias herramientas.
- Desarrolladores Go que quieran incursionar en el ámbito de la seguridad o entender cómo su código puede ser atacado.
- Estudiantes de cursos de ciberseguridad que buscan ejemplos prácticos en un lenguaje moderno.
- Cualquier persona que quiera aprender a crear herramientas efectivas y sigilosas para el hacking ético.
¿Qué aprenderá el lector?
Después de leer el libro, podrá:
- Escribir escáneres de puertos rápidos y rastreadores web en Go.
- Crear herramientas DNS y HTTP propias para reconocimiento y ataques.
- Desarrollar payloads y backdoors resistentes a la detección.
- Interceptar y analizar tráfico de red con la biblioteca gopacket.
- Implementar cifrado y canales de comunicación seguros para C2.
- Ofuscar y empaquetar binarios Go para evadir antivirus.