ciberseguridad
OWASP
``
Relación con Pentesting
- Pentesting
- OWASP actúa como marco de referencia principal para pruebas de seguridad en aplicaciones web
- Proporciona metodologías, guías y estándares usados en auditorías técnicas y pruebas de intrusión
- Complementa otras metodologías como OSSTMM y PTES
- Base habitual para certificaciones, laboratorios y ejercicios tipo CTF enfocados a aplicaciones web
Qué es OWASP
- Open Worldwide Application Security Project
- Comunidad abierta y sin ánimo de lucro centrada en la seguridad de aplicaciones
- Produce documentación, estándares, herramientas y proyectos abiertos
- Enfoque práctico orientado a:
- Prevención de vulnerabilidades
- Detección temprana
- Mejora del ciclo de desarrollo seguro (SSDLC)
- Recursos introductorios:
-
[¿Qué es OWASP? ¿Qué es OWASP TOP 10? Blog de Arsys](https://www.arsys.es/blog/owasp) -
[¿Qué es OWASP? OWASP Top 10 de vulnerabilidades y riesgos F5](https://www.f5.com/es_es/glossary/owasp)
-
Metodología OWASP
- metodologia
- OWASP no es una metodología cerrada, sino un conjunto de guías modulares
- Se adapta a:
- Tipo de aplicación (web, API, móvil)
- Fase del ciclo de vida (diseño, desarrollo, testing, producción)
- Basada en:
- Identificación de activos
- Modelado de amenazas
- Enumeración de superficies de ataque
- Validación técnica mediante pruebas
- Relación directa con:
- testing
- vulnerabilidades
Principios de Seguridad OWASP
- OWASP Security Principles
- Seguridad por diseño (Secure by Design)
- Defensa en profundidad
- Principio de mínimo privilegio
- Validación de entradas y salidas
- Autenticación y autorización robustas
- Manejo seguro de errores y logs
- Uso seguro de criptografía
- Actualización y gestión de dependencias
- Enfoque preventivo:
- Pensado para desarrolladores y arquitectos
- Reduce costes frente a correcciones en producción
OWASP Cheat Sheet Series
- Introduction - OWASP Cheat Sheet Series
- Guías prácticas y concisas
- Orientadas a problemas concretos
- Uso directo en desarrollo y hardening
- Ejemplos de temáticas:
- Authentication Cheat Sheet
- Session Management Cheat Sheet
- SQL Injection Prevention
- XSS Prevention
- REST Security Cheat Sheet
- JWT Security Cheat Sheet
- Uso recomendado:
- Checklists de seguridad
- Referencia rápida durante auditorías
- Apoyo en revisiones de código
OWASP Top 10
- Proyecto más conocido de OWASP
- Lista de las 10 categorías de riesgos más críticos
- Basado en:
- Frecuencia
- Impacto
- Explotabilidad
-
Actualizado periódicamente
- Relación con:
- vulnerabilidades
- Priorización de riesgos
- Concienciación ejecutiva y técnica
Modelado de Amenazas
-
[Threat Modeling Process OWASP Foundation](https://owasp.org/www-community/Threat_Modeling_Process) - Identificación de activos
- Identificación de amenazas
- Evaluación de riesgos
- Definición de mitigaciones
- Validación continua
- Técnicas comunes:
- STRIDE
- Diagramas de flujo de datos (DFD)
- Análisis de superficies de ataque
- Casos de abuso (abuse cases)
- Integración con:
- Diseño de aplicaciones
- testing
- Pentesting orientado a riesgos
OWASP Web Security Testing Guide (WSTG)
-
[WSTG - Stable OWASP Foundation](https://owasp.org/www-project-web-security-testing-guide/stable/2-Introduction/README#The-OWASP-Testing-Project) - OWASP Testing Guide
- Guía exhaustiva de pruebas de seguridad web
- Orientada a pentesters y auditores
- Estructurada por fases y categorías
- Fases principales:
- Information Gathering
- Configuration and Deployment Management Testing
- Identity Management Testing
- Authentication Testing
- Authorization Testing
- Session Management Testing
- Input Validation Testing
- Error Handling
- Cryptography
- Business Logic Testing
- Client-Side Testing
- Uso práctico:
- Base para informes técnicos
- Creación de checklists de auditoría
- Diseño de laboratorios y prácticas
Herramientas OWASP
- Herramientas OWASP
- Listado de herramientas gratuitas y open source
- Clasificadas por tipo de uso
- Categorías habituales:
- DAST (ej. OWASP ZAP)
- SAST
- Dependency Scanning
- Fuzzing
- Threat Modeling
- Secure Code Review
- Integración común:
- Pipelines CI/CD
- Laboratorios de formación
- Auditorías manuales y automáticas
OWASP y Testing Continuo
- testing
- OWASP promueve testing continuo y automatizado
- Integración temprana en el ciclo de desarrollo
- Reducción de vulnerabilidades repetitivas
- Enfoque DevSecOps:
- Shift Left Security
- Automatización de controles
- Concienciación del equipo técnico
OWASP — Conceptos y Proyectos Avanzados
Estándares de Verificación OWASP (ASVS)
- OWASP Application Security Verification Standard
- Marco de control técnico para validar seguridad en aplicaciones
-
Define niveles de seguridad medibles y verificables
- Niveles ASVS:
- Nivel 1: aplicaciones básicas, bajo riesgo
- Nivel 2: aplicaciones con datos sensibles
- Nivel 3: aplicaciones críticas o de alto impacto
- Uso práctico:
- Base para requisitos de seguridad
- Checklists de auditoría
- Contratos y SLAs de seguridad
- Validación de controles en testing
OWASP SAMM (Software Assurance Maturity Model)
- Modelo de madurez en seguridad de software
- Orientado a organizaciones, no a aplicaciones individuales
-
Evalúa procesos, no solo vulnerabilidades
- Dominios principales:
- Governance
- Design
- Implementation
- Verification
- Operations
- Aplicación:
- Evaluación del estado de seguridad
- Roadmap de mejora progresiva
- Integración con DevSecOps
- Complementa auditorías técnicas
OWASP Proactive Controls
- Controles de seguridad prioritarios para desarrolladores
- Enfoque preventivo frente a reactivo
-
Diseñados para reducir las causas raíz de vulnerabilidades
- Controles destacados:
- Validación de entradas
- Control de acceso consistente
- Protección de datos sensibles
- Logging y monitoring
- Manejo seguro de dependencias
- Seguridad en configuración
- Relación con:
- Secure Coding
- Revisión de código
- Formación técnica
OWASP API Security
- Proyecto específico para APIs REST y GraphQL
-
Complemento al OWASP Top 10 tradicional
- OWASP API Security Top 10:
- Broken Object Level Authorization
- Broken Authentication
- Excessive Data Exposure
- Lack of Resources & Rate Limiting
- Broken Function Level Authorization
- Mass Assignment
- Security Misconfiguration
- Injection
- Improper Asset Management
- Unsafe Consumption of APIs
- Enfoque:
- Testing de APIs
- Seguridad en microservicios
- Arquitecturas modernas
Seguridad en Aplicaciones Móviles
- OWASP Mobile Application Security
-
Adaptación de OWASP al entorno móvil
- Proyectos clave:
- OWASP MASVS (Mobile AppSec Verification Standard)
- OWASP MSTG (Mobile Security Testing Guide)
- Cobertura:
- Almacenamiento local
- Comunicación segura
- Autenticación móvil
- Protección de código
- Reverse engineering
- Relación con:
- Pentesting móvil
- Auditorías Android / iOS
Secure Software Development Lifecycle (SSDLC)
- OWASP promueve seguridad en todas las fases del SDLC
-
No limitado a la fase de testing
- Fases cubiertas:
- Requisitos de seguridad
- Diseño seguro
- Desarrollo seguro
- Testing automatizado y manual
- Despliegue seguro
- Monitorización y respuesta
- Beneficios:
- Reducción de riesgos tempranos
- Menor coste de corrección
- Mejora continua
Gobierno y Gestión de Seguridad
- OWASP como soporte a governance
- Alineación con:
- Políticas internas
- Normativas
- Auditorías de cumplimiento
- Uso estratégico:
- Definición de políticas AppSec
- Evaluación de riesgos
- Concienciación organizacional
- Métricas de seguridad
OWASP y DevSecOps
- Integración de seguridad en pipelines CICD
-
Automatización de controles OWASP
- Prácticas comunes:
- SAST temprano
- DAST continuo
- Dependency scanning
- Infraestructura como código segura
- Validaciones ASVS automatizadas
- Objetivo:
- Seguridad como responsabilidad compartida
- Feedback rápido
- Reducción de vulnerabilidades recurrentes
OWASP como Ecosistema
- OWASP no es solo Top 10
-
Conjunto amplio de proyectos activos
- Tipos de proyectos:
- Documentación
- Estándares
- Herramientas
- Frameworks
- Formación
- Uso combinado:
- Top 10 para concienciación
- WSTG para pruebas
- ASVS para verificación
- SAMM para madurez
- Cheat Sheets para ejecución técnica
Recursos y Tools OWASP & Seguridad (2025)
OWASP — Repositorios y Listados Oficiales
- Herramientas OWASP (página oficial)
- Listado curado de herramientas gratuitas y open source para seguridad de aplicaciones y testing
- Incluye SAST, DAST, IAST, dependencias, análisis de código y más
- Guía del Desarrollador OWASP – Herramientas de Verificación
- Sección con herramientas de verificación automatizadas y manuales
- Ejemplos: Amass, OWTF, OWASP Nettacker
DAST / Dynamic Application Security Testing
- OWASP Zed Attack Proxy (ZAP)
- Intercepting proxy + escáner automático y manual para aplicaciones web
- Crawling, fuzzing, scripting e integración CI/CD
- Akto
- DAST y API Security scanner open source
- Descubrimiento automático de endpoints y pruebas continuas
- Arachni
- Escáner web con testing activo y pasivo
- Framework extensible para auditorías web
- Barrion
- Plataforma de escaneo web con informes y recomendaciones
- CI Fuzz CLI
- Herramienta de fuzzing integrada en pipelines de build
- StackHawk
- Basado en OWASP ZAP
- DAST orientado a CI/CD con gestión centralizada de hallazgos
SAST / Static Application Security Testing
- GitHub Code Scanning (CodeQL)
- SAST integrado en GitHub Actions
- Ideal para proyectos open source y privados
- Coverity Scan Static Analysis
- Análisis estático multi-lenguaje
- Enfoque en defectos críticos y seguridad
- Contrast CodeSec
- Escáner SAST para código y serverless
- Versión gratuita disponible
- GuardScan
- SAST CLI open source
- OWASP Top 10, dependencias, secretos e IaC
IAST & Integración Continua
- Contrast Community Edition
- IAST gratuito para Java y .NET
- Instrumentación en tiempo real durante ejecución
Dependencias, SCA & Supply Chain
- OWASP Dependency Check
- Escaneo de librerías contra bases de datos de CVEs
- OWASP Dependency Track
- Plataforma de gestión continua de riesgos en dependencias
- Dependabot
- Actualizaciones automáticas de dependencias vulnerables
- Bytesafe Dependency Firewall
- Control de dependencias con políticas de seguridad y licencias
- Debricked
- Detección y mitigación de riesgos en open source
- Arnica
- Dashboard unificado de riesgos de código, SCA y secretos
Code Quality y Linters Seguridad
- SpotBugs + FindSecBugs
- Análisis de calidad y seguridad para Java
- SonarQube
- Calidad de código con reglas de seguridad OWASP
- DeepScan
- Análisis estático para JavaScript y TypeScript
- MegaLinter
- Más de 100 linters para código, seguridad, IaC y configuraciones
Secret & Credential Detection
- Gitleaks
- Detección de secretos en repositorios y commits
- detect-secrets
- Prevención de inclusión de secretos en el código
- TruffleHog
- Escaneo profundo de secretos en repos y artefactos
- GitGuardian / ggshield
- Monitorización continua de secretos en repositorios
- Kingfisher
- Detección de secretos en repos, imágenes y almacenamiento cloud
Automatización & Remediación
- Mobb
- Generación automática de PRs para corregir vulnerabilidades
- Corgea
- Detección y corrección automática basada en SAST y SCA
Otras Herramientas Relacionadas
- OpenVulnScan
- Plataforma ligera combinando Nmap, ZAP y CVEs
- WebVigil
- Toolkit open source de pentesting web orientado a OWASP Top 10
- Nmap
- Descubrimiento y enumeración de red
- OpenVAS / Greenbone
- Escáner de vulnerabilidades de red y sistemas
Categorías OWASP Relevantes 2025
- OWASP Top 10 (2025)
- Riesgos críticos actualizados: Access Control, Misconfiguration, Supply Chain, etc.
- OWASP GenAI Security Projects
- Riesgos y mitigaciones para LLMs y aplicaciones de IA generativa
OWASP — Laboratorios Prácticos (2025)
Lista de Labs Propuestos
- Inyección SQL clásica y ciega
- Broken Access Control (IDOR)
- Autenticación rota (fuerza bruta y bypass lógico)
- XSS almacenado y reflejado
- CSRF en formularios críticos
- File Upload inseguro
- Command Injection
- SSRF básico a cloud metadata
- Deserialización insegura
- Security Misconfiguration (headers, debug, backups)
- JWT mal configurado
- Business Logic Abuse
- Path Traversal
- Open Redirect
Lab Desarrollado — Broken Access Control (IDOR)
Objetivo del Lab
- Identificar y explotar un fallo de control de acceso horizontal
- Acceder a recursos de otros usuarios modificando identificadores
- Relacionar el fallo con OWASP Top 10 y ASVS
Escenario
- Aplicación web con autenticación
- Endpoint que devuelve datos de usuario por ID
- El backend no valida que el recurso pertenezca al usuario autenticado
Arquitectura del Lab
- Frontend: HTML simple
- Backend: Node.js + Express
- Base de datos: JSON simulado
- Autenticación: Cookie de sesión básica
Configuración del Entorno
- Node.js >= 18
- npm
- Navegador + proxy (OWASP ZAP o Burp)
Configuración — package.json
{
"name": "idor-lab",
"version": "1.0.0",
"main": "app.js",
"dependencies": {
"express": "^4.19.0",
"cookie-parser": "^1.4.6"
}
}
`
Configuración — Base de Datos Simulada
{
"users": [
{ "id": 1, "username": "alice", "email": "alice@lab.local", "role": "user" },
{ "id": 2, "username": "bob", "email": "bob@lab.local", "role": "user" },
{ "id": 3, "username": "admin", "email": "admin@lab.local", "role": "admin" }
]
}
Backend Vulnerable — app.js
const express = require("express");
const cookieParser = require("cookie-parser");
const users = require("./db.json").users;
const app = express();
app.use(cookieParser());
app.get("/login/:userId", (req, res) => {
res.cookie("userId", req.params.userId);
res.send("Login correcto");
});
app.get("/api/user/:id", (req, res) => {
const user = users.find(u => u.id == req.params.id);
if (!user) return res.status(404).send("No encontrado");
res.json(user);
});
app.listen(3000, () => console.log("Lab IDOR en http://localhost:3000"));
Paso a Paso de Explotación
- Autenticarse como usuario normal
- Interceptar la petición legítima
- Modificar el identificador del recurso
- Obtener datos de otros usuarios
Ejemplo — Login como Usuario Normal
GET /login/1 HTTP/1.1
Host: localhost:3000
Ejemplo — Petición Legítima
GET /api/user/1 HTTP/1.1
Host: localhost:3000
Cookie: userId=1
Ejemplo — Explotación IDOR
GET /api/user/3 HTTP/1.1
Host: localhost:3000
Cookie: userId=1
Impacto
- Acceso a información sensible
- Escalada horizontal
- Posible escalada vertical si se accede a usuarios privilegiados
Detección con OWASP ZAP
- Navegar autenticado
- Forzar browse manual
- Modificar parámetros en el Request Editor
- Revisar respuestas 200 inesperadas
Corrección — Validación de Propiedad
app.get("/api/user/:id", (req, res) => {
if (req.cookies.userId != req.params.id)
return res.status(403).send("Acceso denegado");
const user = users.find(u => u.id == req.params.id);
res.json(user);
});
Mejora Recomendada
- Control de acceso centralizado
- Uso de identificadores no predecibles
- Validación de rol y ownership
- Auditoría de endpoints según ASVS
Relación OWASP
- OWASP Top 10: Broken Access Control
- ASVS: V4 Access Control
- WSTG: Authorization Testing
¿Te gusta este contenido? Suscríbete vía RSS