> For the complete documentation index, see [llms.txt](https://b4zh.gitbook.io/b4zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://b4zh.gitbook.io/b4zh/pentesting.md).

# PENTESTING

PRINCIPIO KISS - no estandar

## ¿QUÉ ES?

Identificar y explotar el mayor número de vulnerabilidades en activo digitales, siguiendo una metodología.

***

## TIPOS DE PENTESTING

Se pueden clasificar según:

### ENFOQUE

Cantidad de conocimiento que se tiene sobre el activo a auditar antes de empezar a hacer el pentesting, y esto se clasifica en:

* WHITE BOX: conocimiento completo.
* BLACK BOX: conocimiento nulo.
* GREY BOX: conocimiento parcial.

### ENTORNO

Tipo de tecnología a auditar.

### PERSPECTIVA

Ubicación desde donde se realiza el pentesting.

* INTERNA.
* EXTERNA.

### RETEST

Evaluación para comprobar si las vulnerabilidades encontradas han sido corregidas.

***

## METODOLOGÍAS

Los pasos que se siguen durante el pentesting, desde al inicio, hasta el final.

### PRE-ENGAGEMENT

Primer paso previo al compromiso, se crean los documentos necesarios para la realización del pentesting, se discuten los objetivos a cumplir y se aclaran dudas con el cliente, y los documentos a firmar son:

* Acuerda Confidencialidad (NDA): se protege la información que se pueda encontrar durante el pentesting.
* Cuestionario de Alcance: recopila información sobre el entorno a auditar y se define el alcance del pentesting
* Documento de Alcance: se crea a partir del cuestionario de alcance, recopila información sobre los activos que se van a auditar durante el pentesting, como direcciones ip o direcciones url.
* Propuesta de Pentesting (Contrato y Alcance del trabajo (SoW)): se formalizan los objetivos a cumplir, se aclara la metodología a usar, se plantea cuanto durará el pentesting y cuanto va a costar.
* Reglas de Compromiso (RoE) (Rules of Engagement): directrices operativas para la ejecución del pentesting, como los horarios permitidos, los limites y los procedimientos en caso de emergencia.

### RECOPILACIÓN DE INFORMACIÓN

Reconocimiento activo y reconocimiento pasivo.

### ANÁLISIS/ESCANEO/EVALUACIÓN DE VULNERABILIDADES

Con la información recopilada en la fase anterior se buscan las vulnerabilidades.

### EXPLOTACIÓN DE VULNERABILIDADES

Se explotan de forma manual o automatizadas las vulnerabilidades encontradas.

### POST-EXPLOTACIÓN

Acciones a realizar una vez las vulnerabilidades hayan sido explotadas, según los requerimientos del cliente o del alcance establecido en el pre-engagement.

Estas acciones pueden ser: pivoting, movimientos laterales, pesistencia, escalada de privilegios o enumeración de información interna.

### Reporting (con PoC)

De las vulnerabilidades encontradas, hacer una prueba de concepto y documentarlas dentro de un informe/reporte, el cual se divide en 2:

* Ejecutivo: con un lenguaje no tan técnico, con un lenguaje a alto nivel con gráficos y eso.
* Técnico: se incluyen las pruebas de concepto, capturas de pantalla y comandos ejecutados, todo lo realizado a nivel técnico durante el pentesting.

### POST-ENGAGEMENT

Se entrega el informe al cliente y se realiza una reunión para resolver dudas sobre las pruebas y resultados durante el pentesting.

### METODOLOGÍAS ESTÁNDAR

* OSSTMM: Open Source Security Testing Methodology Manual.
* OWASP: Open Web Application Security Project.
* PTES: Penetration Testing Execution Standard.

***

## EXPLOIT

Instrucciones escritas en un lenguaje de programación que explotan una vulnerabiidad.

## PAYLOAD

Acción a realizar una vez la vulnerabilidad a sido explotada.

## ODAY

Exploits que muy pocas personas conocen. El fabricante del activo vulnerable no sabe de la existencia de dicha vulnerabilidad. Existe 0 días para arreglar la vulnerabilidad.

***

## PUNTUACIÓN DE VULNERABILIDADES (CVSS, VPR)

Clasificar las vulnerabilidades según nivel de severidad.

### CVSS (Common Vulnerability Scoring System)

La puntuación se calcula en una escala de 0 a 10. En CVSSv3.1:

* 0.0 = None - Sin impacto.
* 0.1 - 3.9 = Low - Baja.
* 4.0 - 6.9 = Medium - Media.
* 7.0 - 8.9 = High - Alta.
* 9.0 - 10.0 = Critical - Crítica.

Y la puntuación se calcula combinando varias métritcas:

<figure><img src="https://2448382844-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FywHg0FIANmg3uxJJ9jhH%2Fuploads%2FenHpqT9LqJfJLN3rlso5%2Fimagen.png?alt=media&amp;token=989f1145-9658-4c56-b726-9e1304e9da96" alt=""><figcaption></figcaption></figure>

### VPR (Vulnerability Priority Rating)

Clasifica la vulnerabilidad según la severidad en el entorno en el que se encuentra el activo vulnerable, no de forma global, más bien de forma personalizada.

***

## IDENTIFICACIÓN DE VULNERABILIDADES

Identificar y enumerar las vulnerabilidades más conocidas.

### CVE (Common Vulnerabilities and Exposures)

Identifica vulnerabilidades de forma individual y específica.

CVE-AÑO-NÚMERO

EJ: CVE-2014-0160

### CWE (Common Weakness Enumeration)

Identifica vulnerabilidades de forma general y categorizada.

CWE-ID

EJ: CWE-89

### CAPEC (Common Attack Pattern Enumeration and Classification)

Lista de patrones comunes de ataques comunes usados por los ciberdelincuentes.

CAPEC-ID

EJ: CAPEC-66

### MS

Boletines de seguridad de Microsoft que informan de vulnerabilidades en sus productos.

MS-AÑO-ID

EJ: MS17-010
