Remote Code Execution en Lambda

¿Crees tener lo que se necesita para ser un experto en Pentesting contra AWS? Si nuestro libro te abrió los ojos a las posibilidades de la ciberseguridad ofensiva o si ya cuentas con habilidades en este campo, es momento de subir de nivel. Te retamos a certificarte en el CPNA - Curso Profesional de Pentesting Contra AWS. No será fácil: te enfrentarás a un examen riguroso de 12 horas donde deberás hackear una infraestructura completa alojada en AWS. ¿Listo para el desafío? Acepta el reto y demuestra tu verdadero potencial.

Este escenario presenta una lambda vulnerable a Remote Code Execution y nos muestra como nosotros debemos abordar esta vulnerabilidad en un entorno serverless totalmente cloud.

Primero, debemos el EndPoint encargado de ejecutar la lambda:

Teniendo en cuenta el código fuente de la lambda, podemos apreciar la existencia del parámetro cmd y este debe ser concatenado al endpoint previamente identificado:

curl https://padxwhb4f5.execute-api.us-east-1.amazonaws.com/test/?cmd=whoami

En la evidencia previa, podemos apreciar el retorno del comando whoami y ls.

Si durante una auditoria de seguridad identificas un endpoint que se comunica con una lambda y este es vulnerable a ataques de inyección de comandos o RCE; es recomendable intentar ejecutar el siguiente comando:

curl https://padxwhb4f5.execute-api.us-east-1.amazonaws.com/test/?cmd=env

Los tiempos de ejecución de Lambda establecen varias variables de entorno durante la inicialización. La mayoría de las variables de entorno proporcionan información sobre la función o el tiempo de ejecución. Las claves para estas variables de entorno están reservadas.

Por medio del RCE, hemos logrado obtener las variables de entorno de la lambda y estas contienen unas credenciales relacionadas al rol de ejecución de la función.

Vamos a autenticarnos con estas credenciales para validar los permisos obtenidos por medio de este rol comprometido.

En este punto, el atacante tendría que realizar una enumeración para identificar sus permisos y posteriormente si es necesario proceder realizar una Escalacion de privilegios en IAM

Última actualización