DO - Functions
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
Información Básica
DigitalOcean Functions, también conocido como “DO Functions”, es una plataforma de computación sin servidor que te permite ejecutar código sin tener que preocuparte por la infraestructura subyacente. Con DO Functions, puedes escribir y desplegar tu código como “funciones” que pueden ser activadas a través de API, solicitudes HTTP (si están habilitadas) o cron. Estas funciones se ejecutan en un entorno completamente gestionado, por lo que no necesitas preocuparte por la escalabilidad, la seguridad o el mantenimiento.
En DO, para crear una función primero necesitas crear un espacio de nombres que agrupará las funciones.
Dentro del espacio de nombres, puedes crear una función.
Activadores
La forma de activar una función a través de REST API (siempre habilitado, es el método que utiliza el cli) es activando una solicitud con un token de autenticación como:
curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c100c012-65bf-4040-1230-2183764b7c23/actions/functionname?blocking=true&result=true" \
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="
Para ver cómo la herramienta de línea de comandos doctl obtiene este token (para que puedas replicarlo), el siguiente comando muestra el rastro de red completo:
doctl serverless connect --trace
Cuando se habilita el desencadenador HTTP, una función web se puede invocar a través de estos métodos HTTP GET, POST, PUT, PATCH, DELETE, HEAD y OPTIONS.
Caution
En las funciones de DO, las variables de entorno no se pueden cifrar (en el momento de escribir esto).
No pude encontrar ninguna manera de leerlas desde la CLI, pero desde la consola es directo.
Las URL de las funciones se ven así: https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>
Enumeración
# Namespace
doctl serverless namespaces list
# Functions (need to connect to a namespace)
doctl serverless connect
doctl serverless functions list
doctl serverless functions invoke <func-name>
doctl serverless functions get <func-name>
# Logs of executions
doctl serverless activations list
doctl serverless activations get <activation-id> # Get all the info about execution
doctl serverless activations logs <activation-id> # get only the logs of execution
doctl serverless activations result <activation-id> # get only the response result of execution
# I couldn't find any way to get the env variables form the CLI
Caution
No hay un endpoint de metadatos desde el sandbox de Functions.
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

