DO - 基本情報

Reading time: 11 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は、ユーザーにさまざまなサービスを提供するクラウドコンピューティングプラットフォームであり、仮想プライベートサーバー(VPS)やアプリケーションの構築、展開、管理のための他のリソースを含みます。DigitalOceanのサービスはシンプルで使いやすく設計されており、開発者や小規模ビジネスの間で人気があります

DigitalOceanの主な機能には以下が含まれます:

  • 仮想プライベートサーバー(VPS):DigitalOceanは、ウェブサイトやアプリケーションをホストするために使用できるVPSを提供します。これらのVPSはシンプルさと使いやすさで知られており、さまざまな事前構築された「ドロップレット」やカスタム構成を使用して迅速かつ簡単に展開できます。
  • ストレージ:DigitalOceanは、オブジェクトストレージ、ブロックストレージ、管理されたデータベースなど、ウェブサイトやアプリケーションのデータを保存および管理するために使用できるさまざまなストレージオプションを提供します。
  • 開発および展開ツール:DigitalOceanは、APIや事前構築されたドロップレットを含む、アプリケーションを構築、展開、管理するために使用できるさまざまなツールを提供します。
  • セキュリティ:DigitalOceanはセキュリティに強い重点を置いており、ユーザーがデータやアプリケーションを安全に保つためのさまざまなツールや機能を提供しています。これには暗号化、バックアップ、その他のセキュリティ対策が含まれます。

全体として、DigitalOceanは、ユーザーがクラウドでアプリケーションを構築、展開、管理するために必要なツールとリソースを提供するクラウドコンピューティングプラットフォームです。そのサービスはシンプルで使いやすく設計されており、開発者や小規模ビジネスの間で人気があります。

AWSとの主な違い

DigitalOceanとAWSの主な違いの1つは、提供するサービスの範囲です。DigitalOceanはシンプルで使いやすい仮想プライベートサーバー(VPS)、ストレージ、開発および展開ツールの提供に焦点を当てています。一方、AWSは、VPS、ストレージ、データベース、機械学習、分析、その他多くのサービスを含むはるかに広範なサービスを提供しています。これにより、AWSは複雑なエンタープライズレベルのアプリケーションにより適しているのに対し、DigitalOceanは小規模ビジネスや開発者により適しています。

もう1つの重要な違いは、価格構造です。**DigitalOceanの価格は一般的によりシンプルで理解しやすく、**使用するドロップレットやその他のリソースの数に基づいたさまざまな価格プランがあります。一方、AWSは、使用するリソースの種類や量など、さまざまな要因に基づいたより複雑な価格構造を持っています。これにより、AWSを使用する際のコスト予測が難しくなることがあります。

階層

ユーザー

ユーザーは、あなたが期待する通りのユーザーです。彼はチームを作成し、異なるチームのメンバーになることができます。

チーム

チームはユーザーのグループです。ユーザーがチームを作成すると、彼はそのチームのオーナーの役割を持ち、最初に請求情報を設定します他のユーザーはそのチームに招待されることができます。

チーム内にはいくつかのプロジェクトが存在する場合があります。プロジェクトは単に実行中のサービスのセットです。これは、prod、staging、devなど、異なるインフラの段階を分離するために使用できます

プロジェクト

前述のように、プロジェクトはすべてのサービス(ドロップレット、スペース、データベース、Kubernetesなど)が一緒に実行されるコンテナです。
Digital Oceanのプロジェクトは、IAMなしのGCPプロジェクトに非常に似ています。

権限

チーム

基本的に、チームのすべてのメンバーは、チーム内で作成されたすべてのプロジェクトのDOリソースにアクセスできます(特権の有無にかかわらず)。

役割

チーム内の各ユーザーは、以下の3つの役割のいずれかを持つことができます:

役割共有リソース請求情報チーム設定
オーナーフルアクセスフルアクセスフルアクセス
ビラーアクセスなしフルアクセスアクセスなし
メンバーフルアクセスアクセスなしアクセスなし

オーナーメンバーはユーザーをリストし、彼らの役割を確認できます(ビラーはできません)。

アクセス

ユーザー名 + パスワード(MFA)

ほとんどのプラットフォームと同様に、GUIにアクセスするには、有効なユーザー名とパスワードのセットを使用してクラウドリソースにアクセスできます。ログインすると、https://cloud.digitalocean.com/account/profile参加しているすべてのチームを見ることができます。
また、https://cloud.digitalocean.com/account/activityで自分の活動をすべて見ることができます。

MFAはユーザーに有効化でき、チーム内のすべてのユーザーがチームにアクセスするために強制されることがあります。

APIキー

APIを使用するために、ユーザーはAPIキーを生成できます。これらは常に読み取り権限が付与されますが、書き込み権限はオプションです
APIキーは次のようになります:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

CLIツールはdoctlです。これを初期化します(トークンが必要です):

bash
doctl auth init # Asks for the token
doctl auth init --context my-context # Login with a different token
doctl auth list # List accounts

デフォルトでは、このトークンはMacの/Users/<username>/Library/Application Support/doctl/config.yamlに平文で書き込まれます。

Spacesアクセスキー

これらはSpacesへのアクセスを提供するキーです(AWSのS3やGCPのStorageのように)。

それらは名前keyid、およびsecretで構成されています。例としては次のようになります:

Name: key-example
Keyid: DO00ZW4FABSGZHAABGFX
Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM

OAuthアプリケーション

OAuthアプリケーションはDigital Oceanへのアクセスを許可されることがあります。

https://cloud.digitalocean.com/account/api/applicationsOAuthアプリケーションを作成し、https://cloud.digitalocean.com/account/api/accessで全ての許可されたOAuthアプリケーションを確認できます。

SSHキー

https://cloud.digitalocean.com/account/securityコンソールからDigital OceanチームにSSHキーを追加することができます。

このようにして、新しいドロップレットを作成すると、SSHキーが設定され、パスワードなしでSSH経由でログインできるようになります(新しくアップロードされたSSHキーはセキュリティ上の理由から既存のドロップレットには設定されません)。

関数認証トークン

REST API経由で関数をトリガーする方法(常に有効で、cliが使用する方法)は、認証トークンを使ってリクエストをトリガーすることです。

bash
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="

ログ

ユーザーログ

ユーザーのログhttps://cloud.digitalocean.com/account/activityにあります。

チームログ

チームのログhttps://cloud.digitalocean.com/account/securityにあります。

参考文献

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をサポートする