DO - Droplets

Reading time: 7 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

基本情報

DigitalOceanにおいて、「ドロップレット」はvirtual private server (VPS)であり、ウェブサイトやアプリケーションをホストするために使用できます。ドロップレットは、特定のCPU、メモリ、ストレージの量を含む事前構成されたコンピューティングリソースのパッケージであり、DigitalOceanのクラウドインフラストラクチャ上で迅速かつ簡単に展開できます。

一般的なOSや、すでに稼働しているアプリケーション(WordPress、cPanel、Laravelなど)を選択することができ、または自分のイメージをアップロードして使用することもできます。

ドロップレットはユーザーデータスクリプトをサポートしています。

スナップショットとバックアップの違い

DigitalOceanにおいて、スナップショットはドロップレットのディスクの時点コピーです。スナップショットが取得された時点でのドロップレットのディスクの状態をキャプチャし、オペレーティングシステム、インストールされたアプリケーション、ディスク上のすべてのファイルとデータを含みます。

スナップショットは、元のドロップレットと同じ構成の新しいドロップレットを作成するためや、スナップショットが取得された時点の状態にドロップレットを復元するために使用できます。スナップショットはDigitalOceanのオブジェクトストレージサービスに保存され、増分であるため、前回のスナップショット以降の変更のみが保存されます。これにより、効率的に使用でき、コスト効果も高くなります。

一方、バックアップはドロップレットの完全なコピーであり、オペレーティングシステム、インストールされたアプリケーション、ファイル、データ、ドロップレットの設定とメタデータを含みます。バックアップは通常、定期的に実行され、特定の時点でのドロップレットの全体の状態をキャプチャします。

スナップショットとは異なり、バックアップは圧縮され暗号化された形式で保存され、DigitalOceanのインフラストラクチャからリモートの場所に転送されて安全に保管されます。これにより、バックアップは災害復旧に理想的であり、データ損失やその他の重大なイベントが発生した場合に復元できるドロップレットの完全なコピーを提供します。

要約すると、スナップショットはドロップレットのディスクの時点コピーであり、バックアップはドロップレットの完全なコピーで、設定とメタデータを含みます。スナップショットはDigitalOceanのオブジェクトストレージサービスに保存され、バックアップはDigitalOceanのインフラストラクチャからリモートの場所に転送されます。スナップショットとバックアップの両方はドロップレットを復元するために使用できますが、スナップショットは使用と保存がより効率的であり、バックアップは災害復旧のためのより包括的なバックアップソリューションを提供します。

認証

認証のために、ユーザー名とパスワード(ドロップレット作成時に定義されたパスワード)を通じてSSHを有効にすることが可能です。または、アップロードされたSSHキーの1つ以上を選択することもできます。

ファイアウォール

caution

デフォルトではドロップレットはファイアウォールなしで作成されます(AWSやGCPなどの他のクラウドとは異なります)。したがって、ドロップレット(VM)のポートをDOに保護させたい場合は、作成して接続する必要があります。

詳細は以下を参照してください:

DO - Networking

列挙

bash
# 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

caution

Dropletsにはメタデータエンドポイントがありますが、DOにはIAMやAWSのロール、GCPのサービスアカウントのようなものはありません。

RCE

コンソールにアクセスすると、ドロップレット内でシェルを取得することが可能で、URLにアクセスします: https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/

ホスト内でコマンドを実行するためにリカバリーコンソールを起動することも可能で、**https://cloud.digitalocean.com/droplets/<droplet-id>/console**にアクセスします(ただし、この場合はルートパスワードを知っている必要があります)。

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする