RAMOS VARÓN, ANTONIO ÁNGEL / BARBERO MUÑOZ, CARLOS ALBERTO / MARTÍNEZ SÁNCHEZ, RUBÉN / GARCÍA MORENO, ÁNGEL / GONZÁLEZ NAVA, JESÚS MARÍA
OBJETIVO DEL LIBRO
CAPÍTULO 1. INTRODUCCIÓN AL PENTEST WEB
1.1 ETAPAS DE UN PENTEST
1.2 ENTORNOS BÁSICOS DE PRUEBAS
1.2.1 Entornos web vulnerables
1.2.2 Entorno del atacante
1.3 FINGERPRINTING WEB SERVERS
1.3.1 Tipo y versión del servidor web
1.3.2 Tecnologías empleadas en el servidor web
1.3.3 Herramientas automatizadas
1.4 INFORMATION GATHERING
1.4.1 Ingeniería social
1.4.2 Información de registro de nombre de dominio
1.4.3 Consultas de zona DNS
1.5 HACKING CON BUSCADORES
1.5.1 Google
1.5.2 Shodan
CAPÍTULO 2. ATAQUES SQL INJECTION A BASE DE DATOS
2.1 OBJETIVOS
2.2 EL LENGUAJE SQL
2.2.1 Referencia a la sintaxis de SQL
2.3 INTRODUCCIÓN A "SQL INJECTION"
2.3.1 Ataque básico de inyección
2.3.2 Añadiendo complejidad a la inyección
2.4 ATAQUES DE "SQL INJECTION"
2.4.1 "SQL Injection" basado en mensajes de error (MSSQL)
2.4.2 Enumeración basada en mensajes de error
2.4.3 Obtener los nombres de las tablas y sus atributos
2.4.4 Identificar el tipo del dato de las columnas
2.4.5 Leer el contenido de las columnas de una tabla
2.4.6 Ataque con BULK INSERT
2.4.7 Particularidades en MySQL
2.4.8 Particularidades en Oracle
2.5 "BLIND SQL INJECTION"
2.5.1 Conociendo las tablas de sistema
2.5.2 "Blind SQLi" basado en respuestas TRUE / FALSE
2.5.3 "Blind SQLi" basado en retardos de tiempo
2.6 ATAQUE "MYSQL INJECTION" PARA CREAR UNA WEBSHELL
2.6.1 Cláusulas de MySQL necesarias para el ataque
2.6.2 Shell en el servidor web
2.6.3 Pasos del ataque
2.6.4 Alternativas ante problemas en el ataque
2.7 ATAQUE CONTRA SERVIDOR DE BASES DE DATOS MEDIANTE METASPLOIT
2.7.1 "Metasploit Framework"
2.7.2 Escaneo en busca de servidor de BBDD
2.7.3 Obtención de credenciales del servidor BBDD
2.7.4 Conseguir el control del servidor (SHELL)
2.8 XML INJECTION
CAPÍTULO 3. CROSS SITE SCRIPTING
3.1 DESCRIPCIÓN DEL PROBLEMA
3.2 XSS REFLEJADO
3.3 XSS PERSISTENTE
3.4 DOM BASED XSS
3.5 CROSS SITE REQUEST FORGERY
3.6 EVASIÓN DE FILTROS
3.7 EJEMPLOS DE ATAQUES
CAPÍTULO 4. OTROS ATAQUES COMUNES
4.1 FILE INCLUSION
4.1.1 Funciones include y require de PHP
4.1.2 Remote File Inclusion
4.1.3 Local File Inclusion
4.2 SESSION FIXATION ATTACKS
4.3 COMMAND INJECTION
4.3.1 ¿Qué es command injection?
4.3.2 Causa y consecuencia
4.4 DIRECTORY TRAVERSAL
4.4.1 Introducción a la vulnerabilidad
4.4.2 Algunos casos reales
4.4.3 Explotación
4.5 PENTEST DE APLICACIONES JAVA
CAPÍTULO 5. HACKING CON HTML5
5.1 PRESENTANDO HTML5
5.2 NUEVOS VECTORES PARA ATAQUES COMUNES
5.2.1 XSS con HTML5
5.2.2 Clickjacking con HTML5
5.2.3 Manipulación del historial del navegador
5.3 LOCAL STORAGE Y SESSION STORAGE
5.3.1 Cross Site Scripting
5.3.2 DNS Spoofing
5.4 CROSS ORIGIN RESOURCE SHARING (CORS)
5.4.1 Web Shell Reversa
5.5 WEBSOCKETS
5.5.1 Websocket para escanear puertos
5.5.2 Websocket para escanear redes
5.6 WEBWORKERS
5.6.1 "Botnet DDoS" mediante webworkers
5.6.2 Crackeo de hashes con webworkers
CAPÍTULO 6. WEB APPLICATION FIREWALL
6.1 INTRODUCCIÓN
6.1.1 Modelos de seguridad
6.1.2 Modos de implementación
6.1.3 Tipo de comprobaciones que realiza un WAF
6.1.4 Diferencia entre IPS y WAF
6.1.5 Productos WAF comerciales
6.1.6 Productos WAF no comerciales
6.1.7 Otras modalidades de WAF
6.2 TÉCNICAS PARA DETECTAR UN WAF
6.3 TÉCNICAS DE EVASIÓN DE WAF BASADO EN HPP Y HPF
BIBLIOGRAFÍA
LIBROS
RECURSOS WEB
Blogs sobre seguridad informática y hacking ético
SQL
FINGERPRINTING
FILE-INCLUSION
HACKING-HTML5
ÍNDICE ALFABÉTICO
El objetivo de este libro es introducir al lector en el mundo del Pentesting Web o Hacking de Páginas y Aplicaciones Web. En él podrá conocer las diferentes técnicas de ataque de manera guiada contra aplicaciones Web, así como las contramedidas cuya implementación es recomendable para proteger sus recursos de este tipo de ataques.
Las páginas y aplicaciones Web son una de las tecnologías dentro del mundo IT con un mayor crecimiento a lo largo del tiempo. La famosa tendencia de llevar todos los servicios al mundo Web. Se ha pasado de un pequeño número de portales Web disponibles en el pasado, a una presencia total de todo tipo de empresas en Internet, siendo, a día de hoy, uno de los medios de comunicación capaz de brindar servicios más efectivos entre empresas y clientes. Por ello este libro se centra en la seguridad de este tipo de aplicaciones Web y el modo de mejorar los niveles de seguridad.
Donde la mejor manera de entender su seguridad es saber cómo se realizan los ataques y cómo se explotan sus vulnerabilidades.
Se trata de un contenido eminentemente práctico, que permitirá al lector iniciarse en este apasionante mundo del Pentesting Web. El primer bloque describe los entornos de prueba que se utilizarán a lo largo del libro, así como los primeros pasos que se deben seguir cuando uno se inicia en la auditoría de portales Web. Tras las técnicas básicas realizadas mediante procesos manuales, se mostrará el uso de herramientas que le ayudarán a automatizar parte de este proceso y análisis de pentesting.
El segundo bloque se centra en técnicas de Pentest Avanzadas, mostrando paso a paso una gran variedad de ataques funcionales diferentes que pueden vulnerar la seguridad de una aplicación Web, así como las medidas de protección necesarias contra ellos. Entre estas técnicas avanzadas de Pentest Web el lector encontrará: SQL Injection, Blind SQL Injection, XSS Reflected, XSS Stored, CSRF, XML Injection, Session Fixation y Botnet DDOS HTML5, entre otras.
El tercer bloque se centra en los WAF (Web Applications Firewall), dando a conocer cómo funcionan estos dispositivos de protección, así como las técnicas más utilizadas para detectar estos sistemas, mostrando a su vez las formas posibles para llegar a evadir la seguridad de un WAF y, complementariamente, cómo impedir que este tipo de ataques surtan efecto tomando las medidas de protección necesarias.