DO - Droplets

Support HackTricks

Información Básica

En DigitalOcean, un "droplet" es un servidor privado virtual (VPS) que se puede utilizar para alojar sitios web y aplicaciones. Un droplet es un paquete preconfigurado de recursos de computación, que incluye una cierta cantidad de CPU, memoria y almacenamiento, que se puede implementar rápida y fácilmente en la infraestructura en la nube de DigitalOcean.

Puedes seleccionar entre sistemas operativos comunes, aplicaciones ya en funcionamiento (como WordPress, cPanel, Laravel...), o incluso subir y usar tus propias imágenes.

Los droplets soportan scripts de datos de usuario.

Diferencia entre un snapshot y un backup

En DigitalOcean, un snapshot es una copia en un momento dado del disco de un Droplet. Captura el estado del disco del Droplet en el momento en que se tomó el snapshot, incluyendo el sistema operativo, aplicaciones instaladas y todos los archivos y datos en el disco.

Los snapshots se pueden usar para crear nuevos Droplets con la misma configuración que el Droplet original, o para restaurar un Droplet al estado en que se encontraba cuando se tomó el snapshot. Los snapshots se almacenan en el servicio de almacenamiento de objetos de DigitalOcean, y son incrementales, lo que significa que solo se almacenan los cambios desde el último snapshot. Esto los hace eficientes de usar y rentables de almacenar.

Por otro lado, un backup es una copia completa de un Droplet, incluyendo el sistema operativo, aplicaciones instaladas, archivos y datos, así como la configuración y metadatos del Droplet. Los backups se realizan típicamente en un horario regular, y capturan el estado completo de un Droplet en un momento específico.

A diferencia de los snapshots, los backups se almacenan en un formato comprimido y cifrado, y se transfieren fuera de la infraestructura de DigitalOcean a una ubicación remota para su custodia. Esto hace que los backups sean ideales para la recuperación ante desastres, ya que proporcionan una copia completa de un Droplet que se puede restaurar en caso de pérdida de datos u otros eventos catastróficos.

En resumen, los snapshots son copias en un momento dado del disco de un Droplet, mientras que los backups son copias completas de un Droplet, incluyendo su configuración y metadatos. Los snapshots se almacenan en el servicio de almacenamiento de objetos de DigitalOcean, mientras que los backups se transfieren fuera de la infraestructura de DigitalOcean a una ubicación remota. Tanto los snapshots como los backups se pueden usar para restaurar un Droplet, pero los snapshots son más eficientes de usar y almacenar, mientras que los backups proporcionan una solución de respaldo más completa para la recuperación ante desastres.

Autenticación

Para la autenticación, es posible habilitar SSH a través de nombre de usuario y contraseña (contraseña definida cuando se crea el droplet). O seleccionar una o más de las claves SSH subidas.

Firewall

Por defecto, los droplets se crean SIN UN FIREWALL (no como en otras nubes como AWS o GCP). Así que si quieres que DO proteja los puertos del droplet (VM), necesitas crearlo y adjuntarlo.

Más información en:

DO - Networking

Enumeración

# VMs
doctl compute droplet list # IPs will appear here
doctl compute droplet backups <droplet-id>
doctl compute droplet snapshots <droplet-id>
doctl compute droplet neighbors <droplet-id> # Get network neighbors
doctl compute droplet actions <droplet-id> # Get droplet actions

# VM interesting actions
doctl compute droplet-action password-reset <droplet-id> # New password is emailed to the user
doctl compute droplet-action enable-ipv6 <droplet-id>
doctl compute droplet-action power-on <droplet-id>
doctl compute droplet-action disable-backups <droplet-id>

# SSH
doctl compute ssh <droplet-id> # This will just run SSH
doctl compute ssh-key list
doctl compute ssh-key import <key-name> --public-key-file /path/to/key.pub

# Certificates
doctl compute certificate list

# Snapshots
doctl compute snapshot list

Los Droplets tienen puntos finales de metadatos, pero en DO no hay IAM ni cosas como roles de AWS o cuentas de servicio de GCP.

RCE

Con acceso a la consola es posible obtener un shell dentro del droplet accediendo a la URL: https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/

También es posible lanzar una consola de recuperación para ejecutar comandos dentro del host accediendo a una consola de recuperación en https://cloud.digitalocean.com/droplets/<droplet-id>/console (pero en este caso necesitarás conocer la contraseña de root).

Support HackTricks

Last updated