Vídeo en YouTube
Si un cliente o tu empresa te pide hacer pentesting sobre una API Rest, ¿cómo lo enfocas?, ¿debes seguir los mismos principios que en las aplicaciones web tradicionales?
Las API Rest se basan en el protocolo HTTP, por lo tanto, aquí también puedes (y debes) aplicar otras metodologías comunes para el pentesting web, tales como el OWASP Top 10, WSTG, etc.
Pero, el contexto de ejecución de una API Rest es un tanto particular y, la forma en la que se crean estos componentes, también es diferente a las aplicaciones web que estamos acostumbrados.
Por ese motivo, no basta con fijarse en las metodologías que ya conocemos y aplicar las mismas pruebas, hay que utilizar otro enfoque. Esta es la razón por la cual en el año 2019 ha surgido la guía OWASP API Security Project. Sigue la misma filosofía del OWASP Top 10, este proyecto pretende listar las vulnerabilidades más habituales en servicios web, las cuales pueden afectar tanto a una API Rest como servicios SOAP.
¿Cuáles son las vulnerabilidades que se listan en este proyecto?
Te las resumo a continuación.
En la guía del 2019, las categorías son las siguientes:
Luego, en el 2023 el proyecto tiene algunos cambios, pero los defectos y sus categorías son prácticamente los mismos.
Ahora te explico las principales categorías de ambas guías para que entiendas en qué consisten.
Se produce cuando se expone un endpoint que gestiona identificadores a objetos de forma insegura, permitiendo a un potencial atacante, consultar, crear, manipular o eliminar objetos en la API Rest sin autorización y sin necesidad de estar autenticado.
Se produce cuando se implementan mecanismos de autenticación inseguros o vulnerables. Si esto ocurre, un atacante puede suplantar la identidad de un usuario en la aplicación o realizar otros tipos de ataques que le proporcionan acceso.
En las API Rest, es muy común exponer más información de la necesaria en las respuestas de los endpoints y, en ocasiones, dicha información puede ser sensible y darle una oportunidad a un atacante de llevar a cabo ataques sobre la infraestructura.
Si una API Rest no impone restricciones sobre el tamaño o número de recursos que se pueden solicitar en un período de tiempo determinado, se pueden llevar a cabo ataques de denegación de servicio (DoS) y afectar el rendimiento general del servidor.
La gestión de roles y permisos en las aplicaciones web suelen ser difíciles de gestionar. Esta categoría indica que se pueden producir problemas cuando un usuario autenticado tiene la posibilidad de ejecutar operaciones que, debido a su perfil de usuario, no debería poder ejecutar.
Esta es, probablemente, la más difícil de probar, pero al mismo tiempo, una de las más frecuentes. Cuando un atacante conoce la estructura de un objeto en la API debido a fugas de información o análisis previo de la aplicación, puede construir peticiones en las que se envíen campos en la estructura JSON que cambien el modelo de datos subyacente. A efectos prácticos, este tipo de vulnerabilidad puede conducir a la elevación de privilegios en la aplicación o la suplantación de usuarios.
Suele ser el resultado de configuraciones por defecto o procesos de implantación mal aplicados. Es el mismo tipo de vulnerabilidad que te encuentras en las últimas versiones del OWASP Top 10
Se produce cuando no se tiene un control sobre el inventario de endpoints de la aplicación y, algunos de ellos, tienen defectos, vulnerabilidades o proporcionan información sensible al usuario final.
Como puedes apreciar, se trata de un proyecto muy interesante que recomiendo estudiar en profundidad. Además, si no lo has hecho ya, te recomiendo apuntarte al curso online de Hacking contra APIs Rest disponible en la plataforma The Hacker Way.
En dicho curso aprenderás a realizar auditorías de seguridad sobre este tipo de componentes, algo que sin duda aportará valor a tu perfil profesional y te ayudará a mejorar profesionalmente.
Recuerda que puedes registrarte en la comunidad THW: https://comunidad.thehackerway.es/registro
En este sitio web recibirás anuncios sobre ofertas de trabajo y novedades del sector, además podrás participar en los foros y ganar premios por ello.
Puedes acceder a los cursos cortos y artículos con una suscripción: https://comunidad.thehackerway.es/suscripcion
El objetivo de los contenidos de la suscripción es que te sean útiles para comprender por qué no consigues trabajo en el sector o mejoras profesionalmente y, por supuesto, proponerte ideas para mejorar esa situación.
Por otro lado, también tienes todas las formaciones y packs de The Hacker Way. Las mejores formaciones en castellano que podrás encontrar. Y no lo digo yo, puedes ver las reseñas en el sitio web. Más de 500 alumnos han aprovechado los cursos online en THW y tú también podrías ser uno de ellos: https://thehackerway.es/cursos
¡Un saludo y Happy Hack!
Adastra.