# DO - Droplets {{#include ../../../banners/hacktricks-training.md}} ## Informações Básicas No DigitalOcean, um "droplet" é um v**servidor privado virtual (VPS)** que pode ser usado para hospedar sites e aplicações. Um droplet é um **pacote pré-configurado de recursos computacionais**, incluindo uma certa quantidade de CPU, memória e armazenamento, que pode ser rapidamente e facilmente implantado na infraestrutura de nuvem do DigitalOcean. Você pode selecionar entre **sistemas operacionais comuns**, para **aplicações** já em execução (como WordPress, cPanel, Laravel...), ou até mesmo fazer upload e usar **suas próprias imagens**. Droplets suportam **scripts de dados do usuário**.
Diferença entre um snapshot e um backup No DigitalOcean, um snapshot é uma cópia de ponto no tempo do disco de um Droplet. Ele captura o estado do disco do Droplet no momento em que o snapshot foi tirado, incluindo o sistema operacional, aplicações instaladas e todos os arquivos e dados no disco. Snapshots podem ser usados para criar novos Droplets com a mesma configuração do Droplet original, ou para restaurar um Droplet ao estado em que estava quando o snapshot foi tirado. Snapshots são armazenados no serviço de armazenamento de objetos do DigitalOcean, e são incrementais, o que significa que apenas as mudanças desde o último snapshot são armazenadas. Isso os torna eficientes para usar e econômicos para armazenar. Por outro lado, um backup é uma cópia completa de um Droplet, incluindo o sistema operacional, aplicações instaladas, arquivos e dados, bem como as configurações e metadados do Droplet. Backups são tipicamente realizados em uma programação regular, e capturam todo o estado de um Droplet em um ponto específico no tempo. Ao contrário dos snapshots, backups são armazenados em um formato comprimido e criptografado, e são transferidos para fora da infraestrutura do DigitalOcean para um local remoto para segurança. Isso torna os backups ideais para recuperação de desastres, pois fornecem uma cópia completa de um Droplet que pode ser restaurada em caso de perda de dados ou outros eventos catastróficos. Em resumo, snapshots são cópias de ponto no tempo do disco de um Droplet, enquanto backups são cópias completas de um Droplet, incluindo suas configurações e metadados. Snapshots são armazenados no serviço de armazenamento de objetos do DigitalOcean, enquanto backups são transferidos para fora da infraestrutura do DigitalOcean para um local remoto. Tanto snapshots quanto backups podem ser usados para restaurar um Droplet, mas snapshots são mais eficientes para usar e armazenar, enquanto backups fornecem uma solução de backup mais abrangente para recuperação de desastres.
### Autenticação Para autenticação, é possível **habilitar SSH** através de nome de usuário e **senha** (senha definida quando o droplet é criado). Ou **selecionar uma ou mais das chaves SSH carregadas**. ### Firewall > [!CAUTION] > Por padrão, **droplets são criados SEM UM FIREWALL** (diferente de outras nuvens como AWS ou GCP). Portanto, se você quiser que o DO proteja as portas do droplet (VM), você precisa **criar e anexar um**. Mais informações em: {{#ref}} do-networking.md {{#endref}} ### Enumeração ```bash # VMs doctl compute droplet list # IPs will appear here doctl compute droplet backups doctl compute droplet snapshots doctl compute droplet neighbors # Get network neighbors doctl compute droplet actions # Get droplet actions # VM interesting actions doctl compute droplet-action password-reset # New password is emailed to the user doctl compute droplet-action enable-ipv6 doctl compute droplet-action power-on doctl compute droplet-action disable-backups # SSH doctl compute ssh # This will just run SSH doctl compute ssh-key list doctl compute ssh-key import --public-key-file /path/to/key.pub # Certificates doctl compute certificate list # Snapshots doctl compute snapshot list ``` > [!CAUTION] > **Os Droplets têm endpoints de metadados**, mas no DO **não há IAM** ou coisas como funções do AWS ou contas de serviço do GCP. ### RCE Com acesso ao console, é possível **obter um shell dentro do droplet** acessando a URL: **`https://cloud.digitalocean.com/droplets//terminal/ui/`** Também é possível lançar um **console de recuperação** para executar comandos dentro do host acessando um console de recuperação em **`https://cloud.digitalocean.com/droplets//console`** (mas neste caso você precisará saber a senha do root). {{#include ../../../banners/hacktricks-training.md}}