AWS - Lambda Persistence
Lambda
Para más información consulta:
pageAWS - Lambda EnumPersistencia en Capa Lambda
Es posible introducir/crear una puerta trasera en una capa para ejecutar código arbitrario cuando la lambda se ejecuta de manera sigilosa:
pageAWS - Lambda Layers PersistencePersistencia en Extensión Lambda
Abusando de las Capas Lambda también es posible abusar de extensiones y persistir en la lambda pero también robar y modificar solicitudes.
pageAWS - Abusing Lambda ExtensionsA través de políticas de recursos
Es posible otorgar acceso a diferentes acciones de lambda (como invocar o actualizar código) a cuentas externas:
Versiones, Alias y Pesos
Una Lambda puede tener diferentes versiones (con código diferente en cada versión). Luego, puedes crear diferentes alias con diferentes versiones de la lambda y establecer diferentes pesos para cada uno. De esta manera, un atacante podría crear una versión 1 con puerta trasera y una versión 2 con solo el código legítimo y solo ejecutar la versión 1 en el 1% de las solicitudes para permanecer sigiloso.
Puerta Trasera de Versión + API Gateway
Copia el código original de la Lambda
Crea una nueva versión con puerta trasera del código original (o solo con código malicioso). Publica y implementa esa versión en $LATEST
Llama a la API Gateway relacionada con la lambda para ejecutar el código
Crea una nueva versión con el código original, Publica e implementa esa versión en $LATEST.
Esto ocultará el código con puerta trasera en una versión anterior
Ve a la API Gateway y crea un nuevo método POST (o elige cualquier otro método) que ejecutará la versión con puerta trasera de la lambda:
arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
Toma nota del :1 final del arn indicando la versión de la función (la versión 1 será la con puerta trasera en este escenario).
Selecciona el método POST creado y en Acciones selecciona
Implementar API
Ahora, cuando llames a la función a través de POST tu Puerta Trasera será invocada
Actuador Cron/Evento
El hecho de que puedas hacer que las funciones lambda se ejecuten cuando algo sucede o cuando pasa cierto tiempo hace que lambda sea una forma agradable y común de obtener persistencia y evitar la detección. Aquí tienes algunas ideas para hacer que tu presencia en AWS sea más sigilosa creando lambdas.
Cada vez que se crea un nuevo usuario, lambda genera una nueva clave de usuario y la envía al atacante.
Cada vez que se crea un nuevo rol, lambda otorga permisos de asumir rol a usuarios comprometidos.
Cada vez que se generan nuevos registros de cloudtrail, eliminar/alterarlos
Última actualización