DO - Droplets

Support HackTricks

基本信息

在DigitalOcean中,“droplet”是一个虚拟专用服务器(VPS),可用于托管网站和应用程序。Droplet是一个预配置的计算资源包,包括一定数量的CPU、内存和存储,可以快速轻松地部署在DigitalOcean的云基础设施上。

您可以选择常见操作系统,或已经运行的应用程序(如WordPress、cPanel、Laravel等),甚至可以上传并使用您自己的镜像

Droplets支持用户数据脚本

快照与备份的区别

在DigitalOcean中,快照是Droplet磁盘的时间点副本。它捕获了快照拍摄时Droplet磁盘的状态,包括操作系统、已安装的应用程序以及磁盘上的所有文件和数据。

快照可用于创建与原始Droplet相同配置的新Droplet,或将Droplet恢复到快照拍摄时的状态。快照存储在DigitalOcean的对象存储服务中,并且是增量的,这意味着仅存储自上次快照以来的更改。这使得它们在使用时高效且存储成本低。

另一方面,备份是Droplet的完整副本,包括操作系统、已安装的应用程序、文件和数据,以及Droplet的设置和元数据。备份通常按定期计划执行,并在特定时间点捕获Droplet的整个状态。

与快照不同,备份以压缩和加密格式存储,并且被转移到DigitalOcean基础设施之外的远程位置以进行安全保存。这使得备份非常适合灾难恢复,因为它们提供了Droplet的完整副本,可以在数据丢失或其他灾难事件发生时恢复。

总之,快照是Droplet磁盘的时间点副本,而备份是Droplet的完整副本,包括其设置和元数据。快照存储在DigitalOcean的对象存储服务中,而备份则转移到DigitalOcean基础设施之外的远程位置。快照和备份都可以用于恢复Droplet,但快照在使用和存储上更高效,而备份则为灾难恢复提供了更全面的备份解决方案。

认证

对于认证,可以通过用户名和密码(在创建droplet时定义的密码)启用SSH。或者选择一个或多个上传的SSH密钥

防火墙

默认情况下,droplets是在没有防火墙的情况下创建的(与AWS或GCP等其他云不同)。因此,如果您希望DO保护droplet(VM)的端口,您需要创建并附加它

更多信息请参见:

枚举

# 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

Droplets 有元数据端点,但在 DO 中 没有 IAM 或类似于 AWS 的角色或 GCP 的服务账户。

RCE

通过访问控制台,可以 在 droplet 内获取 shell,访问 URL: https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/

还可以启动 恢复控制台,在主机内运行命令,访问 https://cloud.digitalocean.com/droplets/<droplet-id>/console(但在这种情况下,您需要知道 root 密码)。

支持 HackTricks

Last updated