Reseña de lectura de "Hacking taster", un libro introductorio al hacking para quienes sueñan con ser hackers de sombrero blanco

힘센캥거루
2026년 1월 23일(수정됨)
8
8

Lo más importante al operar un servidor doméstico era la seguridad.

No importaba cuánto construyera las funciones del sitio web a mi gusto, una vez que sufrí un solo ataque de hacking que venía de todas partes, todo se volvió inútil.

La última vez que estuve siendo hackeado durante 3 días seguidos, realmente fue aterrador.

Así que decidí estudiar sobre hacking.

En YouTube decían que un libro llamado 해킹 맛보기 era como una biblia, así que lo compré...

No me di cuenta de que la fecha de publicación era 2015.

Reseña de lectura de "Hacking taster", un libro introductorio al hacking para quienes sueñan con ser hackers de sombrero blanco-2

Al final el libro llegó y, al abrirlo, al ver direcciones con Explorer, Chrome antiguo, http, me di cuenta de que algo iba mal.

Según la ley de Moore, como la densidad de integración de los semiconductores aumenta exponencialmente en potencias de 2, hace 10 años equivale a un libro de hace 100~300 años.

Es como leer los Principia de Newton para estudiar gravedad.

Pero ya era tarde.

Al menos parecía que tendría que conformarme con leerlo lo más rápido posible y captar solo el flujo general.

Reseña de lectura de "Hacking taster", un libro introductorio al hacking para quienes sueñan con ser hackers de sombrero blanco-3

1. Revisión del contenido

Capítulo 1) Toma de contacto

El contenido de toma de contacto del capítulo 1 ahora está tan desfasado que hay muchas cosas que ya no son correctas.

Pero aun así hay cosas que aprender.

El sitio de hacking Wechall que presenta el autor ya es antiguo, y dicen que sitios como TryHackMe o Hack The Box tienen ahora mucha más cuota.

Ítem

WeChall

TryHackMe

Hack The Box

Uso principal

Ranking y recopilación de varios wargames

Práctica de seguridad básica-intermedia + aprendizaje

Pruebas de penetración reales + práctica avanzada

Número de usuarios

(Sin datos oficiales públicos)

~4,5M usuarios

Muy activo, popular también en la industria

Estructura de aprendizaje

Principalmente recopilación de enlaces a wargames externos

Cursos de aprendizaje por etapas + CTF

Centrado en práctica de hacking de sistemas reales

Público principal

Aficionados a wargames, competencia de puntuación

Aprendices de seguridad de nivel inicial a intermedio

Intermedios~expertos y quienes se preparan para entornos reales

Además, el evento 2drunk2hack también ha desaparecido, y herramientas de hacking como Paros ahora se consideran legadas.

Aun así, leyendo el libro supe que existen herramientas específicas de hacking.

No hace falta dominar funcionalidades legadas, basta con pensar ah, existe algo así y seguir adelante.

Ítem

Paros

Burp

ZAP

mitmproxy

Mantenimiento

❌ Interrumpido

✅ Activo

✅ Activo

✅ Activo

Compatibilidad HTTPS moderna

Uso en entornos reales

✅ Abrumador

Automatización

Gratuito

❌(Pro)

En YouTube, la persona del canal Nomaltic Place, al que estoy suscrito actualmente, también presenta sitios de wargames como OverTheWire.

Creo que el contenido de abajo puede ser un poco más útil que el del capítulo 1 de este libro.

Capítulo 2) Hacking web

En el hacking web se trata, desde la instalación de php y mysql, hasta la búsqueda de vulnerabilidades usando buscadores, subida de archivos, cross-site, inyección de consultas, de forma sencilla.

La parte de Google hacking me pareció bastante ingeniosa: se trata de encontrar mediante búsquedas vulnerabilidades expuestas por errores del operador del sitio.

Propósito

Ejemplo de búsqueda

Archivos de copia de seguridad expuestos

ext:bak OR ext:old OR ext:zip

Exposición de variables de entorno

intext:"DB_PASSWORD"

Listado de directorios

intitle:"index of /"

Archivos de log

ext:log error

Archivos de configuración

ext:env OR ext:yaml OR ext:conf

Cámaras

inurl:view/index.shtml

Página de administrador

inurl:admin login

También había un método de hacking mediante imágenes subidas.

Se trata de inyectar algo como <img src="/board/file/shell.php> en la etiqueta de imagen para ejecutar un shell.

Antes, cuando había dejado abierta una API de proxy de imágenes en mi servidor doméstico, vi a algún tipo que insertó onerror={} dentro de la etiqueta de imagen e intentó descargar y ejecutar archivos usando la función fetch y comandos, pero fracasó al no poder obtener privilegios de administrador.

Reseña de lectura de "Hacking taster", un libro introductorio al hacking para quienes sueñan con ser hackers de sombrero blanco-4

También había contenido sobre la creación de Web Shell.

El autor presenta C99, pero eso ya es cosa del pasado.

Dicen que ahora se usan más shells ligeros y cifrados.

Época

Web shells predominantes

Características

2000s–2010s

C99, R57, WSO

Centrados en funcionalidad, basados en PHP, grandes y llamativos

Mitad de 2020s

Variantes de China Chopper

Ligereza + ocultación + cifrado

Reciente (2024–2025)

Tipos de Beima PHP Webshell y shells personalizados/cifrados

Interfaz JSON, peticiones cifradas, integración C2

Ya conocía el concepto de inyección de consultas desde hace tiempo, pero leyendo el libro pude entenderlo con más detalle.

Lo importante es que no se debe confiar en la entrada del usuario.

Es imprescindible que pase por un proceso de validación antes de entrar en el backend.

Capítulo 3) Ingeniería inversa

La ingeniería inversa significa descomponer de nuevo un programa existente.

En pocas palabras, es como pensar en el proceso de reconstituir en .py un archivo exe compilado con pyinstaller tras desarrollarlo en python.

El autor presenta Visual Studio Express y OllyDbg.

He recopilado las herramientas más recientes de reversing.

Herramienta

Uso principal

Características

Plataforma

Ghidra

Análisis estático + descompilación

Potente framework de código abierto, incluye descompilador, desarrollado por la NSA

Windows / Linux / macOS

Radare2

Análisis estático (comandos/script)

Totalmente open source y gratuito, centrado en CLI, soporta varios binarios

Windows / Linux / macOS, etc.

x64dbg

Depuración dinámica

Depurador de 32/64 bits para Windows, con GUI, muy popular

Windows

Frida

Análisis dinámico en tiempo de ejecución

Permite hookear y trazar apps/binarios en ejecución, fuerte en análisis móvil

Windows / Linux / macOS / móvil

Dicen que en el proceso de reversing se usa mucho la calculadora, pero ahora basta con subirlo a apps de automatización como Cursor y listo.

Sin embargo, cuando entra en juego algo como la ofuscación, sigue siendo necesaria la interpretación humana.

Dicen que las siguientes áreas no son fáciles de interpretar para la IA.

Área

Motivo

Errores lógicos

Cuestión de intención

Condiciones límite

Decisiones de diseño

Seguridad/reversing

Dependiente del contexto

Valores anómalos

Requieren intuición

Y la parte de arquitectura de computadores y lenguaje ensamblador me pareció realmente una locura.

Ya conocía la estructura de la CPU porque la estudié antes, pero fue la primera vez que supe que las partes donde se almacenan las variables, donde se calculan números y donde entran cadenas son todas diferentes.

Ver en ensamblador sumas, condicionales, bucles, etc. convertidos a hexadecimal me hizo dar vueltas los ojos.

Reseña de lectura de "Hacking taster", un libro introductorio al hacking para quienes sueñan con ser hackers de sombrero blanco-5

Y después de eso venía una sección de práctica de reversing real con OllyDbg.

Como de todos modos no iba a usar esos programas, pasé directamente al capítulo 4.

Capítulo 4) Hacking de sistemas

El hacking de sistemas es lo mismo que el hacking del sistema operativo.

Hay también partes como la instalación de Python, pero me centraré principalmente en las vulnerabilidades.

(1) Vulnerabilidad de inserción de comandos

El método de inserción de comandos puede ocurrir cuando el desarrollador confía en la entrada del usuario.

Por ejemplo, supongamos que tenemos un código como el siguiente.

system("ping " + user_input);

En este caso, si el usuario introduce ; rm -rf /, se ejecutará un comando no previsto por el desarrollador.

Al recibir la entrada del usuario, es imprescindible pasar por un proceso de validación.

(2) Ataque de condición de carrera

Un ataque de condición de carrera se aprovecha de la diferencia de tiempo que se produce entre la comprobación del estado de un recurso compartido y su uso en entornos multihilo o de múltiples peticiones.

Se trata de explotar una situación en la que se desajusta el orden entre comprobar un recurso y usarlo.

El problema es cómo capturar ese momento.

Por eso, el atacante realiza peticiones rápidas, simultáneas y numerosas para aprovecharse de los huecos entre las ejecuciones.

Reseña de lectura de "Hacking taster", un libro introductorio al hacking para quienes sueñan con ser hackers de sombrero blanco-6

Por ejemplo, supongamos que se entra en un parque de atracciones en el siguiente orden.

El empleado comprueba el ticket del visitante -> abre la puerta > la persona cuyo ticket ha sido comprobado entra -> cierra la puerta

Si en ese momento A, que llegó primero, ha tenido el ticket comprobado, pero B, que llegó tarde, entra por la puerta abierta, eso sería un ataque de condición de carrera.

Para evitarlo, se necesita un diseño como el siguiente.

1. Reducir el estado compartido
2. Garantizar atomicidad -> procesar comprobación + entrada al mismo tiempo
3. Encapsular con un Lock la parte que toca el recurso compartido para procesar una solicitud a la vez
4. Delegar en la BD/almacenamiento
5. Tratar con seguridad los archivos temporales/compartidos
6. Diseñar reintentos/idempotencia -> procesar cada solicitud idéntica solo una vez

(3) Ataques de corrupción de memoria

Pude comprender con un poco más de detalle los ataques de desbordamiento de búfer.

Hace tiempo, cuando aprendí arrays en C, estudié el desbordamiento, así que esta parte fue algo más fácil.

En una situación como la de abajo, si la entrada del usuario se alarga, invade la memoria adyacente.

char arr[3];
scanf("%s", arr);

Capítulo 5) Bug hunting

Entre los bugs, aquellos que pueden causar problemas se llaman vulnerabilidades de seguridad.

Los atacantes pueden usar estas vulnerabilidades para obtener privilegios o atacar a los usuarios.

(1) Encontrar vulnerabilidades

Hay varios métodos para encontrar vulnerabilidades.

  • Auditoría de código fuente: analizar el código en sí, uno por uno, para encontrar vulnerabilidades

  • Auditoría de binarios: analizar el binario compilado cuando no se dispone del código fuente del software

  • Fuzzing: generar automáticamente valores de entrada para el software, introducirlos y buscar vulnerabilidades a través de los resultados

(2) Tipos de vulnerabilidades

  • Corrupción de memoria: desbordamiento de pila, desbordamiento de heap, desreferenciación de puntero nulo, uso después de liberar

  • Diseño: lógica que no ha tenido en cuenta perfectamente el aspecto de seguridad

(3) Bug hunting en la web

El libro describe la ejecución remota de código de Zeroboard XE, pero como el contenido es demasiado antiguo, decidí investigar en su lugar sobre React2Shell, que ocurrió recientemente.

Es una de las mayores vulnerabilidades recientes, que permite la ejecución remota de shell y comandos.

El problema es que el ataque es posible incluso en apps generadas con npx create-next-app sin ninguna API.

El método de ataque fue implementado por el usuario de Github zr0n.

Y si entras en AhnLab, han analizado en detalle la causa de la vulnerabilidad y el método de ataque.

Resumiendo solo lo esencial, sería lo siguiente.

En el stream Flight, parte de la interpretación de referencias/registros pasa por la resolución de Promesas (asimilación thenable). El atacante aprovecha la debilidad en la validación de __proto__ en la asignación de ruta : para contaminar el prototipo. Como resultado, si métodos como _response._formData.get se convierten en Function, la posterior ruta de código normal en la que se llama a get(...) se deforma en ejecución de cadenas. El thenable actúa como el disparador para que esta ruta deformada se ejecute automáticamente.
Reseña de lectura de "Hacking taster", un libro introductorio al hacking para quienes sueñan con ser hackers de sombrero blanco-8

El paso más importante es contaminar el prototipo usando la propiedad mágica __proto__.

A este método de ataque se le llama contaminación de prototipo (Prototype Pollution).

(4) Bug hunting en diversos entornos

En el contenido posterior se tratan temas como bugs de escalada de privilegios en Android, ejecución remota de código en GOM Player y Hangul en Windows, etc.

Capítulo 6) Forense digital

Se tratan características de los datos digitales, las propiedades para garantizar la validez como prueba, tipos de pruebas, etc.

Como el libro es antiguo y aún no tengo gran interés en forense digital, lo hojeé por encima.

Capítulo 7) Mercado de vulnerabilidades

Presenta el mercado negro como mercado de vulnerabilidades, pero dicen que ahora prácticamente no se puede buscar.

Como no necesito saber cómo usar el mercado negro, lo sustituyo con la tabla siguiente.

Categoría

Estado

Mercado negro público

❌ Casi desaparecido

Foros en la dark web

⚠️ Reducidos/camuflados

Transacciones privadas basadas en mensajería

✅ Activas

Ecosistema de ransomware

✅ Muy activo

Bug bounty

✅ Ruta legal

Mercado gris de estados/agencias de inteligencia

✅ Transacciones de alto valor

2. Reseña de lectura

Al leer el libro pude asentar los conceptos básicos del hacking.

El hacking es el proceso de encontrar vulnerabilidades de seguridad, y este proceso es similar a pensar en la seguridad de una casa.

Se trata de ver por dónde podría entrar alguien, cómo entra y cómo obtiene privilegios.

Me pareció bastante interesante, y pensé que me gustaría seguir estudiando hacking de forma constante.

Antes era difícil obtener información sobre programación, pero ahora se ha convertido en un contenido al que cualquiera puede acceder fácilmente a través de la IA o la web.

Y parece que 10 años es un periodo increíblemente largo en el ámbito del desarrollo.

Entre los contenidos tratados en el libro, hay demasiadas cosas que ya han desaparecido.

Si quieres conocer los detalles sobre hacking, parece que ahora hay que comprar otro libro o utilizar la web.

댓글을 불러오는 중...