mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-30 08:30:57 +00:00
92 lines
7.9 KiB
Markdown
92 lines
7.9 KiB
Markdown
# Pentesting de API web
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Otras formas de apoyar a HackTricks:
|
|
|
|
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
|
|
|
</details>
|
|
|
|
<figure><img src="../../.gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
|
|
¡Accede hoy mismo:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
|
|
|
## Resumen de la Metodología de Pentesting de API
|
|
|
|
El pentesting de APIs implica un enfoque estructurado para descubrir vulnerabilidades. Esta guía encapsula una metodología integral, enfatizando técnicas y herramientas prácticas.
|
|
|
|
### **Comprendiendo los Tipos de API**
|
|
|
|
* **Servicios Web SOAP/XML**: Utiliza el formato WSDL para la documentación, que suele encontrarse en rutas `?wsdl`. Herramientas como **SOAPUI** y **WSDLer** (Extensión de Burp Suite) son fundamentales para analizar y generar solicitudes. La documentación de ejemplo está disponible en [DNE Online](http://www.dneonline.com/calculator.asmx).
|
|
* **APIs REST (JSON)**: La documentación a menudo se presenta en archivos WADL, pero herramientas como [Swagger UI](https://swagger.io/tools/swagger-ui/) ofrecen una interfaz más amigable para la interacción. **Postman** es una herramienta valiosa para crear y gestionar solicitudes de ejemplo.
|
|
* **GraphQL**: Un lenguaje de consulta para APIs que ofrece una descripción completa y comprensible de los datos en tu API.
|
|
|
|
### **Laboratorios de Práctica**
|
|
|
|
* [**VAmPI**](https://github.com/erev0s/VAmPI): Una API deliberadamente vulnerable para prácticas prácticas, que cubre las 10 principales vulnerabilidades de API de OWASP.
|
|
|
|
### **Trucos Efectivos para el Pentesting de API**
|
|
|
|
* **Vulnerabilidades SOAP/XML**: Explora vulnerabilidades XXE, aunque las declaraciones DTD suelen estar restringidas. Las etiquetas CDATA pueden permitir la inserción de payloads si el XML sigue siendo válido.
|
|
* **Elevación de Privilegios**: Prueba los endpoints con diferentes niveles de privilegio para identificar posibles accesos no autorizados.
|
|
* **Configuraciones Incorrectas de CORS**: Investiga la configuración de CORS para posibles explotaciones a través de ataques CSRF desde sesiones autenticadas.
|
|
* **Descubrimiento de Endpoints**: Aprovecha los patrones de la API para descubrir endpoints ocultos. Las herramientas como los fuzzers pueden automatizar este proceso.
|
|
* **Manipulación de Parámetros**: Experimenta añadiendo o reemplazando parámetros en las solicitudes para acceder a datos o funcionalidades no autorizados.
|
|
* **Pruebas de Métodos HTTP**: Varía los métodos de solicitud (GET, POST, PUT, DELETE, PATCH) para descubrir comportamientos inesperados o revelaciones de información.
|
|
* **Manipulación de Tipo de Contenido**: Cambia entre diferentes tipos de contenido (x-www-form-urlencoded, application/xml, application/json) para probar problemas de análisis o vulnerabilidades.
|
|
* **Técnicas Avanzadas de Parámetros**: Prueba con tipos de datos inesperados en cargas JSON o juega con datos XML para inyecciones XXE. También prueba la contaminación de parámetros y caracteres comodín para pruebas más amplias.
|
|
* **Pruebas de Versiones**: Las versiones antiguas de API pueden ser más susceptibles a ataques. Siempre verifica y prueba contra múltiples versiones de API.
|
|
|
|
### **Herramientas y Recursos para el Pentesting de API**
|
|
|
|
* [**kiterunner**](https://github.com/assetnote/kiterunner): Excelente para descubrir endpoints de API. Úsalo para escanear y realizar fuerza bruta en rutas y parámetros contra APIs objetivo.
|
|
```bash
|
|
kr scan https://domain.com/api/ -w routes-large.kite -x 20
|
|
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
|
|
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
|
|
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
|
|
```
|
|
* Herramientas adicionales como **automatic-api-attack-tool**, **Astra** y **restler-fuzzer** ofrecen funcionalidades personalizadas para pruebas de seguridad de API, que van desde simulación de ataques hasta fuzzing y escaneo de vulnerabilidades.
|
|
* [**Cherrybomb**](https://github.com/blst-security/cherrybomb): Es una herramienta de seguridad de API que audita tu API basándose en un archivo OAS (la herramienta está escrita en rust).
|
|
|
|
### **Recursos de Aprendizaje y Práctica**
|
|
|
|
* **OWASP API Security Top 10**: Lectura esencial para comprender las vulnerabilidades comunes de API ([OWASP Top 10](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
|
|
* **API Security Checklist**: Una lista de verificación completa para asegurar APIs ([enlace de GitHub](https://github.com/shieldfy/API-Security-Checklist)).
|
|
* **Filtros Logger++**: Para buscar vulnerabilidades de API, Logger++ ofrece filtros útiles ([enlace de GitHub](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
|
|
* **Lista de Endpoints de API**: Una lista seleccionada de posibles endpoints de API para propósitos de prueba ([gist de GitHub](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
|
|
|
|
## Referencias
|
|
|
|
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
|
|
|
|
<figure><img src="../../.gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
|
|
¡Accede hoy mismo:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Otras formas de apoyar a HackTricks:
|
|
|
|
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, ¡consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|