Translated ['.github/pull_request_template.md', 'src/pentesting-cloud/az

This commit is contained in:
Translator
2024-12-31 19:09:14 +00:00
parent 7770a50092
commit 388bdfdf0a
244 changed files with 7988 additions and 10827 deletions

View File

@@ -4,9 +4,9 @@
## Basic Information
**Before start pentesting** a Digital Ocean environment there are a few **basics things you need to know** about how DO works to help you understand what you need to do, how to find misconfigurations and how to exploit them.
**Pentesting शुरू करने से पहले** एक Digital Ocean वातावरण के बारे में कुछ **बुनियादी बातें आपको जाननी चाहिए** कि DO कैसे काम करता है, ताकि आप समझ सकें कि आपको क्या करना है, गलत कॉन्फ़िगरेशन कैसे खोजें और उन्हें कैसे भुनाएं।
Concepts such as hierarchy, access and other basic concepts are explained in:
हायरार्की, एक्सेस और अन्य बुनियादी अवधारणाओं जैसे सिद्धांतों को समझाया गया है:
{{#ref}}
do-basic-information.md
@@ -22,26 +22,20 @@ https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/clou
### Projects
To get a list of the projects and resources running on each of them from the CLI check:
CLI से प्रत्येक पर चल रहे प्रोजेक्ट्स और संसाधनों की सूची प्राप्त करने के लिए जांचें:
{{#ref}}
do-services/do-projects.md
{{#endref}}
### Whoami
```bash
doctl account get
```
## Services Enumeration
## सेवाओं की गणना
{{#ref}}
do-services/
{{#endref}}
{{#include ../../banners/hacktricks-training.md}}

View File

@@ -4,49 +4,49 @@
## Basic Information
DigitalOcean is a **cloud computing platform that provides users with a variety of services**, including virtual private servers (VPS) and other resources for building, deploying, and managing applications. **DigitalOcean's services are designed to be simple and easy to use**, making them **popular among developers and small businesses**.
DigitalOcean एक **क्लाउड कंप्यूटिंग प्लेटफॉर्म है जो उपयोगकर्ताओं को विभिन्न सेवाएँ प्रदान करता है**, जिसमें वर्चुअल प्राइवेट सर्वर (VPS) और अनुप्रयोगों के निर्माण, तैनाती और प्रबंधन के लिए अन्य संसाधन शामिल हैं। **DigitalOcean की सेवाएँ सरल और उपयोग में आसान होने के लिए डिज़ाइन की गई हैं**, जिससे ये **डेवलपर्स और छोटे व्यवसायों के बीच लोकप्रिय हैं**
Some of the key features of DigitalOcean include:
DigitalOcean की कुछ प्रमुख विशेषताएँ हैं:
- **Virtual private servers (VPS)**: DigitalOcean provides VPS that can be used to host websites and applications. These VPS are known for their simplicity and ease of use, and can be quickly and easily deployed using a variety of pre-built "droplets" or custom configurations.
- **Storage**: DigitalOcean offers a range of storage options, including object storage, block storage, and managed databases, that can be used to store and manage data for websites and applications.
- **Development and deployment tools**: DigitalOcean provides a range of tools that can be used to build, deploy, and manage applications, including APIs and pre-built droplets.
- **Security**: DigitalOcean places a strong emphasis on security, and offers a range of tools and features to help users keep their data and applications safe. This includes encryption, backups, and other security measures.
- **वर्चुअल प्राइवेट सर्वर (VPS)**: DigitalOcean VPS प्रदान करता है जिसका उपयोग वेबसाइटों और अनुप्रयोगों को होस्ट करने के लिए किया जा सकता है। ये VPS अपनी सरलता और उपयोग में आसानी के लिए जाने जाते हैं, और इन्हें विभिन्न पूर्व-निर्मित "ड्रॉपलेट्स" या कस्टम कॉन्फ़िगरेशन का उपयोग करके जल्दी और आसानी से तैनात किया जा सकता है।
- **स्टोरेज**: DigitalOcean विभिन्न स्टोरेज विकल्प प्रदान करता है, जिसमें ऑब्जेक्ट स्टोरेज, ब्लॉक स्टोरेज, और प्रबंधित डेटाबेस शामिल हैं, जिन्हें वेबसाइटों और अनुप्रयोगों के लिए डेटा संग्रहीत और प्रबंधित करने के लिए उपयोग किया जा सकता है।
- **विकास और तैनाती उपकरण**: DigitalOcean विभिन्न उपकरण प्रदान करता है जिनका उपयोग अनुप्रयोगों के निर्माण, तैनाती और प्रबंधन के लिए किया जा सकता है, जिसमें APIs और पूर्व-निर्मित ड्रॉपलेट्स शामिल हैं।
- **सुरक्षा**: DigitalOcean सुरक्षा पर जोर देता है, और उपयोगकर्ताओं को उनके डेटा और अनुप्रयोगों को सुरक्षित रखने में मदद करने के लिए विभिन्न उपकरण और सुविधाएँ प्रदान करता है। इसमें एन्क्रिप्शन, बैकअप, और अन्य सुरक्षा उपाय शामिल हैं।
Overall, DigitalOcean is a cloud computing platform that provides users with the tools and resources they need to build, deploy, and manage applications in the cloud. Its services are designed to be simple and easy to use, making them popular among developers and small businesses.
कुल मिलाकर, DigitalOcean एक क्लाउड कंप्यूटिंग प्लेटफॉर्म है जो उपयोगकर्ताओं को क्लाउड में अनुप्रयोगों के निर्माण, तैनाती और प्रबंधन के लिए आवश्यक उपकरण और संसाधन प्रदान करता है। इसकी सेवाएँ सरल और उपयोग में आसान होने के लिए डिज़ाइन की गई हैं, जिससे ये डेवलपर्स और छोटे व्यवसायों के बीच लोकप्रिय हैं।
### Main Differences from AWS
One of the main differences between DigitalOcean and AWS is the **range of services they offer**. **DigitalOcean focuses on providing simple** and easy-to-use virtual private servers (VPS), storage, and development and deployment tools. **AWS**, on the other hand, offers a **much broader range of services**, including VPS, storage, databases, machine learning, analytics, and many other services. This means that AWS is more suitable for complex, enterprise-level applications, while DigitalOcean is more suited to small businesses and developers.
DigitalOcean और AWS के बीच एक मुख्य अंतर है **वे सेवाएँ जो वे प्रदान करते हैं** **DigitalOcean सरल** और उपयोग में आसान वर्चुअल प्राइवेट सर्वर (VPS), स्टोरेज, और विकास और तैनाती उपकरण प्रदान करने पर ध्यान केंद्रित करता है। **AWS**, दूसरी ओर, **बहुत व्यापक सेवाओं की रेंज** प्रदान करता है, जिसमें VPS, स्टोरेज, डेटाबेस, मशीन लर्निंग, एनालिटिक्स, और कई अन्य सेवाएँ शामिल हैं। इसका मतलब है कि AWS जटिल, एंटरप्राइज-स्तरीय अनुप्रयोगों के लिए अधिक उपयुक्त है, जबकि DigitalOcean छोटे व्यवसायों और डेवलपर्स के लिए अधिक उपयुक्त है।
Another key difference between the two platforms is the **pricing structure**. **DigitalOcean's pricing is generally more straightforward and easier** to understand than AWS, with a range of pricing plans that are based on the number of droplets and other resources used. AWS, on the other hand, has a more complex pricing structure that is based on a variety of factors, including the type and amount of resources used. This can make it more difficult to predict costs when using AWS.
दोनों प्लेटफार्मों के बीच एक और प्रमुख अंतर है **मूल्य निर्धारण संरचना** **DigitalOcean की मूल्य निर्धारण सामान्यतः अधिक सीधी और समझने में आसान** होती है, जिसमें ड्रॉपलेट्स और अन्य संसाधनों की संख्या के आधार पर विभिन्न मूल्य निर्धारण योजनाएँ होती हैं। AWS, दूसरी ओर, एक अधिक जटिल मूल्य निर्धारण संरचना है जो विभिन्न कारकों के आधार पर होती है, जिसमें उपयोग किए गए संसाधनों का प्रकार और मात्रा शामिल है। इससे AWS का उपयोग करते समय लागत का अनुमान लगाना अधिक कठिन हो सकता है।
## Hierarchy
### User
A user is what you expect, a user. He can **create Teams** and **be a member of different teams.**
एक उपयोगकर्ता वही है जिसकी आप अपेक्षा करते हैं, एक उपयोगकर्ता। वह **टीम बना सकता है** और **विभिन्न टीमों का सदस्य हो सकता है।**
### **Team**
A team is a group of **users**. When a user creates a team he has the **role owner on that team** and he initially **sets up the billing info**. **Other** user can then be **invited** to the team.
एक टीम **उपयोगकर्ताओं** का एक समूह है। जब एक उपयोगकर्ता एक टीम बनाता है, तो उसके पास उस टीम पर **स्वामी की भूमिका** होती है और वह प्रारंभ में **बिलिंग जानकारी सेट करता है** **अन्य** उपयोगकर्ता फिर टीम में **निमंत्रित** किए जा सकते हैं।
Inside the team there might be several **projects**. A project is just a **set of services running**. It can be used to **separate different infra stages**, like prod, staging, dev...
टीम के भीतर कई **परियोजनाएँ** हो सकती हैं। एक परियोजना बस एक **सेवाओं का सेट है जो एक साथ चल रहा है**। इसका उपयोग विभिन्न इन्फ्रा चरणों को **अलग करने** के लिए किया जा सकता है, जैसे प्रोड, स्टेजिंग, डेवलप...
### Project
As explained, a project is just a container for all the **services** (droplets, spaces, databases, kubernetes...) **running together inside of it**.\
A Digital Ocean project is very similar to a GCP project without IAM.
जैसा कि समझाया गया है, एक परियोजना बस सभी **सेवाओं** (ड्रॉपलेट्स, स्पेस, डेटाबेस, कुबेरनेट्स...) का एक कंटेनर है जो इसके भीतर **साथ में चल रही हैं**\
एक Digital Ocean परियोजना GCP परियोजना के समान है बिना IAM के।
## Permissions
### Team
Basically all members of a team have **access to the DO resources in all the projects created within the team (with more or less privileges).**
बुनियादी रूप से एक टीम के सभी सदस्यों के पास **टीम के भीतर बनाए गए सभी परियोजनाओं में DO संसाधनों तक पहुँच होती है (अधिक या कम विशेषाधिकार के साथ)।**
### Roles
Each **user inside a team** can have **one** of the following three **roles** inside of it:
एक **टीम के भीतर प्रत्येक उपयोगकर्ता** के पास निम्नलिखित तीन **भूमिकाओं** में से **एक** हो सकती है:
| Role | Shared Resources | Billing Information | Team Settings |
| ---------- | ---------------- | ------------------- | ------------- |
@@ -54,86 +54,74 @@ Each **user inside a team** can have **one** of the following three **roles** in
| **Biller** | No access | Full access | No access |
| **Member** | Full access | No access | No access |
**Owner** and **member can list the users** and check their **roles** (biller cannot).
**Owner** और **member उपयोगकर्ताओं की सूची बना सकते हैं** और उनकी **भूमिकाएँ** देख सकते हैं (biller नहीं कर सकता)।
## Access
### Username + password (MFA)
As in most of the platforms, in order to access to the GUI you can use a set of **valid username and password** to **access** the cloud **resources**. Once logged in you can see **all the teams you are part** of in [https://cloud.digitalocean.com/account/profile](https://cloud.digitalocean.com/account/profile).\
And you can see all your activity in [https://cloud.digitalocean.com/account/activity](https://cloud.digitalocean.com/account/activity).
ज्यादातर प्लेटफार्मों की तरह, GUI तक पहुँचने के लिए आप **मान्य उपयोगकर्ता नाम और पासवर्ड** का एक सेट उपयोग कर सकते हैं ताकि **क्लाउड** **संसाधनों** तक पहुँच सकें। एक बार लॉग इन करने के बाद, आप [https://cloud.digitalocean.com/account/profile](https://cloud.digitalocean.com/account/profile) पर **आपके भाग की सभी टीमों** को देख सकते हैं।\
और आप [https://cloud.digitalocean.com/account/activity](https://cloud.digitalocean.com/account/activity) पर अपनी सभी गतिविधियाँ देख सकते हैं।
**MFA** can be **enabled** in a user and **enforced** for all the users in a **team** to access the team.
**MFA** को एक उपयोगकर्ता में **सक्षम** किया जा सकता है और **टीम** में सभी उपयोगकर्ताओं के लिए **अनिवार्य** किया जा सकता है।
### API keys
In order to use the API, users can **generate API keys**. These will always come with Read permissions but **Write permission are optional**.\
The API keys look like this:
API का उपयोग करने के लिए, उपयोगकर्ता **API कुंजी उत्पन्न कर सकते हैं**। ये हमेशा पढ़ने की अनुमति के साथ आती हैं लेकिन **लिखने की अनुमति वैकल्पिक** होती है।\
API कुंजी इस तरह दिखती हैं:
```
dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836
```
The cli tool is [**doctl**](https://github.com/digitalocean/doctl#installing-doctl). Initialise it (you need a token) with:
The cli tool is [**doctl**](https://github.com/digitalocean/doctl#installing-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
```
डिफ़ॉल्ट रूप से, यह टोकन मैक में `/Users/<username>/Library/Application Support/doctl/config.yaml` में स्पष्ट पाठ में लिखा जाएगा।
By default this token will be written in clear-text in Mac in `/Users/<username>/Library/Application Support/doctl/config.yaml`.
### Spaces एक्सेस कुंजी
### Spaces access keys
These are keys that give **access to the Spaces** (like S3 in AWS or Storage in GCP).
They are composed by a **name**, a **keyid** and a **secret**. An example could be:
ये कुंजी **Spaces** (जैसे AWS में S3 या GCP में Storage) तक **पहुँच** देती हैं।
ये एक **नाम**, एक **keyid** और एक **secret** से मिलकर बनी होती हैं। एक उदाहरण हो सकता है:
```
Name: key-example
Keyid: DO00ZW4FABSGZHAABGFX
Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM
```
### OAuth Application
OAuth applications can be granted **access over Digital Ocean**.
OAuth अनुप्रयोगों को **Digital Ocean पर पहुँच** दी जा सकती है।
It's possible to **create OAuth applications** in [https://cloud.digitalocean.com/account/api/applications](https://cloud.digitalocean.com/account/api/applications) and check all **allowed OAuth applications** in [https://cloud.digitalocean.com/account/api/access](https://cloud.digitalocean.com/account/api/access).
यह संभव है कि आप [https://cloud.digitalocean.com/account/api/applications](https://cloud.digitalocean.com/account/api/applications) पर **OAuth अनुप्रयोगों** को **बनाएँ** और [https://cloud.digitalocean.com/account/api/access](https://cloud.digitalocean.com/account/api/access) पर सभी **अनुमत OAuth अनुप्रयोगों** की जाँच करें।
### SSH Keys
It's possible to add **SSH keys to a Digital Ocean Team** from the **console** in [https://cloud.digitalocean.com/account/security](https://cloud.digitalocean.com/account/security).
यह संभव है कि आप [https://cloud.digitalocean.com/account/security](https://cloud.digitalocean.com/account/security) में **कंसोल** से **Digital Ocean टीम** में **SSH कुंजियाँ** जोड़ें।
This way, if you create a **new droplet, the SSH key will be set** on it and you will be able to **login via SSH** without password (note that newly [uploaded SSH keys aren't set in already existent droplets for security reasons](https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/to-existing-droplet/)).
इस तरह, यदि आप एक **नया ड्रॉपलेट बनाते हैं, तो SSH कुंजी उस पर सेट की जाएगी** और आप बिना पासवर्ड के **SSH के माध्यम से लॉगिन** कर सकेंगे (ध्यान दें कि नए [अपलोड किए गए SSH कुंजियाँ पहले से मौजूद ड्रॉपलेट्स में सुरक्षा कारणों से सेट नहीं की जाती हैं](https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/to-existing-droplet/))
### Functions Authentication Token
The way **to trigger a function via REST API** (always enabled, it's the method the cli uses) is by triggering a request with an **authentication token** like:
**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="
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="
```
## Logs
### User logs
The **logs of a user** can be found in [**https://cloud.digitalocean.com/account/activity**](https://cloud.digitalocean.com/account/activity)
एक **उपयोगकर्ता के लॉग** [**https://cloud.digitalocean.com/account/activity**](https://cloud.digitalocean.com/account/activity) पर पाए जा सकते हैं।
### Team logs
The **logs of a team** can be found in [**https://cloud.digitalocean.com/account/security**](https://cloud.digitalocean.com/account/security)
एक **टीम के लॉग** [**https://cloud.digitalocean.com/account/security**](https://cloud.digitalocean.com/account/security) पर पाए जा सकते हैं।
## References
- [https://docs.digitalocean.com/products/teams/how-to/manage-membership/](https://docs.digitalocean.com/products/teams/how-to/manage-membership/)
{{#include ../../banners/hacktricks-training.md}}

View File

@@ -2,10 +2,6 @@
{{#include ../../banners/hacktricks-training.md}}
DO doesn't support granular permissions. So the **minimum role** that allows a user to review all the resources is **member**. A pentester with this permission will be able to perform harmful activities, but it's what it's.
DO ग्रैन्युलर अनुमतियों का समर्थन नहीं करता है। इसलिए **न्यूनतम भूमिका** जो एक उपयोगकर्ता को सभी संसाधनों की समीक्षा करने की अनुमति देती है, वह **सदस्य** है। इस अनुमति के साथ एक pentester हानिकारक गतिविधियाँ करने में सक्षम होगा, लेकिन यही है।
{{#include ../../banners/hacktricks-training.md}}

View File

@@ -1,23 +1,19 @@
# DO - Services
# DO - सेवाएँ
{{#include ../../../banners/hacktricks-training.md}}
DO offers a few services, here you can find how to **enumerate them:**
DO कुछ सेवाएँ प्रदान करता है, यहाँ आप **उनका पता लगाने का तरीका** पा सकते हैं:
- [**Apps**](do-apps.md)
- [**Container Registry**](do-container-registry.md)
- [**Databases**](do-databases.md)
- [**Droplets**](do-droplets.md)
- [**Functions**](do-functions.md)
- [**Images**](do-images.md)
- [**Kubernetes (DOKS)**](do-kubernetes-doks.md)
- [**Networking**](do-networking.md)
- [**Projects**](do-projects.md)
- [**Spaces**](do-spaces.md)
- [**Volumes**](do-volumes.md)
- [**ऐप्स**](do-apps.md)
- [**कंटेनर रजिस्ट्री**](do-container-registry.md)
- [**डेटाबेस**](do-databases.md)
- [**ड्रॉपलेट्स**](do-droplets.md)
- [**फंक्शंस**](do-functions.md)
- [**इमेजेस**](do-images.md)
- [**कुबरनेट्स (DOKS)**](do-kubernetes-doks.md)
- [**नेटवर्किंग**](do-networking.md)
- [**प्रोजेक्ट्स**](do-projects.md)
- [**स्पेस**](do-spaces.md)
- [**वॉल्यूम्स**](do-volumes.md)
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,16 +4,15 @@
## Basic Information
[From the docs:](https://docs.digitalocean.com/glossary/app-platform/) App Platform is a Platform-as-a-Service (PaaS) offering that allows developers to **publish code directly to DigitalOcean** servers without worrying about the underlying infrastructure.
[From the docs:](https://docs.digitalocean.com/glossary/app-platform/) App Platform एक Platform-as-a-Service (PaaS) पेशकश है जो डेवलपर्स को **कोड को सीधे DigitalOcean** सर्वरों पर प्रकाशित करने की अनुमति देती है बिना अंतर्निहित बुनियादी ढांचे की चिंता किए।
You can run code directly from **github**, **gitlab**, **docker hub**, **DO container registry** (or a sample app).
आप **github**, **gitlab**, **docker hub**, **DO container registry** (या एक नमूना ऐप) से सीधे कोड चला सकते हैं।
When defining an **env var** you can set it as **encrypted**. The only way to **retreive** its value is executing **commands** inside the host runnig the app.
जब आप एक **env var** को परिभाषित करते हैं, तो आप इसे **encrypted** के रूप में सेट कर सकते हैं। इसके मान को **retreive** करने का एकमात्र तरीका है ऐप को चलाने वाले होस्ट के अंदर **commands** निष्पादित करना।
An **App URL** looks like this [https://dolphin-app-2tofz.ondigitalocean.app](https://dolphin-app-2tofz.ondigitalocean.app)
एक **App URL** इस तरह दिखता है [https://dolphin-app-2tofz.ondigitalocean.app](https://dolphin-app-2tofz.ondigitalocean.app)
### Enumeration
```bash
doctl apps list # You should get URLs here
doctl apps spec get <app-id> # Get yaml (including env vars, might be encrypted)
@@ -21,18 +20,13 @@ doctl apps logs <app-id> # Get HTTP logs
doctl apps list-alerts <app-id> # Get alerts
doctl apps list-regions # Get available regions and the default one
```
> [!CAUTION]
> **Apps doesn't have metadata endpoint**
> **ऐप्स में मेटाडेटा एंडपॉइंट नहीं है**
### RCE & Encrypted env vars
### RCE & एन्क्रिप्टेड env vars
To execute code directly in the container executing the App you will need **access to the console** and go to **`https://cloud.digitalocean.com/apps/<app-id>/console/<app-name>`**.
कंटेनर में सीधे कोड निष्पादित करने के लिए जो ऐप चला रहा है, आपको **कंसोल तक पहुंच** की आवश्यकता होगी और **`https://cloud.digitalocean.com/apps/<app-id>/console/<app-name>`** पर जाना होगा।
That will give you a **shell**, and just executing **`env`** you will be able to see **all the env vars** (including the ones defined as **encrypted**).
यह आपको एक **शेल** देगा, और बस **`env`** निष्पादित करके आप **सभी env vars** (उनमें से भी जो **एन्क्रिप्टेड** के रूप में परिभाषित हैं) देख सकेंगे।
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,12 +4,11 @@
## Basic Information
DigitalOcean Container Registry is a service provided by DigitalOcean that **allows you to store and manage Docker images**. It is a **private** registry, which means that the images that you store in it are only accessible to you and users that you grant access to. This allows you to securely store and manage your Docker images, and use them to deploy containers on DigitalOcean or any other environment that supports Docker.
DigitalOcean Container Registry एक सेवा है जो DigitalOcean द्वारा प्रदान की जाती है जो **आपको Docker छवियों को स्टोर और प्रबंधित करने की अनुमति देती है**। यह एक **निजी** रजिस्ट्री है, जिसका अर्थ है कि आप जो छवियाँ इसमें स्टोर करते हैं, वे केवल आपके और उन उपयोगकर्ताओं के लिए उपलब्ध हैं जिन्हें आप एक्सेस देते हैं। यह आपको अपनी Docker छवियों को सुरक्षित रूप से स्टोर और प्रबंधित करने की अनुमति देता है, और उन्हें DigitalOcean या किसी अन्य वातावरण में तैनात करने के लिए उपयोग करने की अनुमति देता है जो Docker का समर्थन करता है।
When creating a Container Registry it's possible to **create a secret with pull images access (read) over it in all the namespaces** of Kubernetes clusters.
Container Registry बनाते समय यह संभव है कि **Kubernetes क्लस्टरों के सभी नामस्थान में छवि खींचने की पहुंच (पढ़ने) के साथ एक गुप्त बनाएँ**
### Connection
```bash
# Using doctl
doctl registry login
@@ -19,9 +18,7 @@ docker login registry.digitalocean.com
Username: <paste-api-token>
Password: <paste-api-token>
```
### Enumeration
```bash
# Get creds to access the registry from the API
doctl registry docker-config
@@ -29,9 +26,4 @@ doctl registry docker-config
# List
doctl registry repository list-v2
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,20 +4,17 @@
## Basic Information
With DigitalOcean Databases, you can easily **create and manage databases in the cloud** without having to worry about the underlying infrastructure. The service offers a variety of database options, including **MySQL**, **PostgreSQL**, **MongoDB**, and **Redis**, and provides tools for administering and monitoring your databases. DigitalOcean Databases is designed to be highly scalable, reliable, and secure, making it an ideal choice for powering modern applications and websites.
DigitalOcean Databases के साथ, आप आसानी से **क्लाउड में डेटाबेस बना और प्रबंधित कर सकते हैं** बिना अंतर्निहित बुनियादी ढांचे की चिंता किए। यह सेवा विभिन्न डेटाबेस विकल्प प्रदान करती है, जिसमें **MySQL**, **PostgreSQL**, **MongoDB**, और **Redis** शामिल हैं, और आपके डेटाबेस के प्रशासन और निगरानी के लिए उपकरण प्रदान करती है। DigitalOcean Databases को अत्यधिक स्केलेबल, विश्वसनीय, और सुरक्षित बनाने के लिए डिज़ाइन किया गया है, जो आधुनिक अनुप्रयोगों और वेबसाइटों को संचालित करने के लिए एक आदर्श विकल्प है।
### Connections details
When creating a database you can select to configure it **accessible from a public network**, or just from inside a **VPC**. Moreover, it request you to **whitelist IPs that can access it** (your IPv4 can be one).
The **host**, **port**, **dbname**, **username**, and **password** are shown in the **console**. You can even download the AD certificate to connect securely.
जब आप एक डेटाबेस बना रहे होते हैं, तो आप इसे **सार्वजनिक नेटवर्क से सुलभ** करने के लिए कॉन्फ़िगर करने का चयन कर सकते हैं, या केवल **VPC** के अंदर से। इसके अलावा, यह आपसे **उन IPs को व्हाइटलिस्ट करने के लिए कहता है जो इसे एक्सेस कर सकते हैं** (आपका IPv4 एक हो सकता है)।
**host**, **port**, **dbname**, **username**, और **password** **console** में दिखाए जाते हैं। आप सुरक्षित रूप से कनेक्ट करने के लिए AD प्रमाणपत्र भी डाउनलोड कर सकते हैं।
```bash
sql -h db-postgresql-ams3-90864-do-user-2700959-0.b.db.ondigitalocean.com -U doadmin -d defaultdb -p 25060
```
### Enumeration
### गणना
```bash
# Databse clusters
doctl databases list
@@ -39,9 +36,4 @@ doctl databases backups <db-id> # List backups of DB
# Pools
doctl databases pool list <db-id> # List pools of DB
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,45 +4,44 @@
## Basic Information
In DigitalOcean, a "droplet" is a v**irtual private server (VPS)** that can be used to host websites and applications. A droplet is a **pre-configured package of computing resources**, including a certain amount of CPU, memory, and storage, that can be quickly and easily deployed on DigitalOcean's cloud infrastructure.
DigitalOcean में, "droplet" एक v**irtual private server (VPS)** है जिसका उपयोग वेबसाइटों और अनुप्रयोगों को होस्ट करने के लिए किया जा सकता है। एक droplet एक **पूर्व-निर्धारित पैकेज है जिसमें कंप्यूटिंग संसाधन** शामिल हैं, जिसमें CPU, मेमोरी, और स्टोरेज की एक निश्चित मात्रा होती है, जिसे DigitalOcean के क्लाउड इन्फ्रास्ट्रक्चर पर जल्दी और आसानी से तैनात किया जा सकता है।
You can select from **common OS**, to **applications** already running (such as WordPress, cPanel, Laravel...), or even upload and use **your own images**.
आप **सामान्य OS**, से **पहले से चल रहे अनुप्रयोगों** (जैसे WordPress, cPanel, Laravel...) का चयन कर सकते हैं, या यहां तक कि **अपने स्वयं के इमेज** अपलोड और उपयोग कर सकते हैं।
Droplets support **User data scripts**.
Droplets **User data scripts** का समर्थन करते हैं।
<details>
<summary>Difference between a snapshot and a backup</summary>
<summary>Snapshot और Backup के बीच का अंतर</summary>
In DigitalOcean, a snapshot is a point-in-time copy of a Droplet's disk. It captures the state of the Droplet's disk at the time the snapshot was taken, including the operating system, installed applications, and all the files and data on the disk.
DigitalOcean में, एक snapshot एक Droplet के डिस्क की एक समय-विशिष्ट प्रति है। यह उस समय Droplet के डिस्क की स्थिति को कैप्चर करता है जब snapshot लिया गया था, जिसमें ऑपरेटिंग सिस्टम, स्थापित अनुप्रयोग, और डिस्क पर सभी फ़ाइलें और डेटा शामिल हैं।
Snapshots can be used to create new Droplets with the same configuration as the original Droplet, or to restore a Droplet to the state it was in when the snapshot was taken. Snapshots are stored on DigitalOcean's object storage service, and they are incremental, meaning that only the changes since the last snapshot are stored. This makes them efficient to use and cost-effective to store.
Snapshots का उपयोग नए Droplets बनाने के लिए किया जा सकता है जो मूल Droplet के समान कॉन्फ़िगरेशन के साथ हैं, या एक Droplet को उस स्थिति में पुनर्स्थापित करने के लिए जब snapshot लिया गया था। Snapshots DigitalOcean की ऑब्जेक्ट स्टोरेज सेवा पर संग्रहीत होते हैं, और ये वृद्धिशील होते हैं, जिसका अर्थ है कि केवल अंतिम snapshot के बाद के परिवर्तन संग्रहीत होते हैं। यह उन्हें उपयोग करने में कुशल और संग्रहीत करने में लागत-कुशल बनाता है।
On the other hand, a backup is a complete copy of a Droplet, including the operating system, installed applications, files, and data, as well as the Droplet's settings and metadata. Backups are typically performed on a regular schedule, and they capture the entire state of a Droplet at a specific point in time.
दूसरी ओर, एक backup एक Droplet की पूरी प्रति है, जिसमें ऑपरेटिंग सिस्टम, स्थापित अनुप्रयोग, फ़ाइलें, और डेटा, साथ ही Droplet की सेटिंग्स और मेटाडेटा शामिल हैं। Backups आमतौर पर नियमित कार्यक्रम पर किए जाते हैं, और ये एक विशिष्ट समय पर Droplet की पूरी स्थिति को कैप्चर करते हैं।
Unlike snapshots, backups are stored in a compressed and encrypted format, and they are transferred off of DigitalOcean's infrastructure to a remote location for safekeeping. This makes backups ideal for disaster recovery, as they provide a complete copy of a Droplet that can be restored in the event of data loss or other catastrophic events.
Snapshots के विपरीत, backups को संकुचित और एन्क्रिप्टेड प्रारूप में संग्रहीत किया जाता है, और इन्हें DigitalOcean के इन्फ्रास्ट्रक्चर से एक दूरस्थ स्थान पर सुरक्षित रखने के लिए स्थानांतरित किया जाता है। यह backups को आपदा पुनर्प्राप्ति के लिए आदर्श बनाता है, क्योंकि ये एक Droplet की पूरी प्रति प्रदान करते हैं जिसे डेटा हानि या अन्य आपातकालीन घटनाओं की स्थिति में पुनर्स्थापित किया जा सकता है।
In summary, snapshots are point-in-time copies of a Droplet's disk, while backups are complete copies of a Droplet, including its settings and metadata. Snapshots are stored on DigitalOcean's object storage service, while backups are transferred off of DigitalOcean's infrastructure to a remote location. Both snapshots and backups can be used to restore a Droplet, but snapshots are more efficient to use and store, while backups provide a more comprehensive backup solution for disaster recovery.
संक्षेप में, snapshots एक Droplet के डिस्क की समय-विशिष्ट प्रतियां हैं, जबकि backups एक Droplet की पूरी प्रतियां हैं, जिसमें इसकी सेटिंग्स और मेटाडेटा शामिल हैं। Snapshots DigitalOcean की ऑब्जेक्ट स्टोरेज सेवा पर संग्रहीत होते हैं, जबकि backups DigitalOcean के इन्फ्रास्ट्रक्चर से एक दूरस्थ स्थान पर स्थानांतरित किए जाते हैं। दोनों snapshots और backups का उपयोग एक Droplet को पुनर्स्थापित करने के लिए किया जा सकता है, लेकिन snapshots का उपयोग और संग्रहण अधिक कुशल होता है, जबकि backups आपदा पुनर्प्राप्ति के लिए एक अधिक व्यापक बैकअप समाधान प्रदान करते हैं।
</details>
### Authentication
For authentication it's possible to **enable SSH** through username and **password** (password defined when the droplet is created). Or **select one or more of the uploaded SSH keys**.
प्रमाणीकरण के लिए, यह संभव है कि **SSH को सक्षम करें** उपयोगकर्ता नाम और **पासवर्ड** (पासवर्ड जो droplet बनाते समय परिभाषित किया गया था) के माध्यम से। या **अपलोड किए गए SSH कुंजियों में से एक या अधिक का चयन करें**
### Firewall
> [!CAUTION]
> By default **droplets are created WITHOUT A FIREWALL** (not like in oder clouds such as AWS or GCP). So if you want DO to protect the ports of the droplet (VM), you need to **create it and attach it**.
> डिफ़ॉल्ट रूप से **droplets बिना फ़ायरवॉल के बनाए जाते हैं** (AWS या GCP जैसे अन्य क्लाउड की तरह नहीं)। इसलिए यदि आप DO को droplet (VM) के पोर्ट की सुरक्षा करना चाहते हैं, तो आपको **इसे बनाना और संलग्न करना** होगा।
More info in:
अधिक जानकारी के लिए:
{{#ref}}
do-networking.md
{{#endref}}
### Enumeration
```bash
# VMs
doctl compute droplet list # IPs will appear here
@@ -68,18 +67,13 @@ doctl compute certificate list
# Snapshots
doctl compute snapshot list
```
> [!CAUTION]
> **Droplets have metadata endpoints**, but in DO there **isn't IAM** or things such as role from AWS or service accounts from GCP.
> **ड्रॉपलेट्स में मेटाडेटा एंडपॉइंट्स होते हैं**, लेकिन DO में **IAM** या AWS से भूमिका या GCP से सेवा खातों जैसी चीजें **नहीं हैं**।
### RCE
With access to the console it's possible to **get a shell inside the droplet** accessing the URL: **`https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/`**
कंसोल तक पहुंच के साथ, यह संभव है कि **ड्रॉपलेट के अंदर एक शेल प्राप्त करें** URL तक पहुंचकर: **`https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/`**
It's also possible to launch a **recovery console** to run commands inside the host accessing a recovery console in **`https://cloud.digitalocean.com/droplets/<droplet-id>/console`**(but in this case you will need to know the root password).
यह भी संभव है कि **रिकवरी कंसोल** लॉन्च करें ताकि होस्ट के अंदर कमांड चलाए जा सकें, **`https://cloud.digitalocean.com/droplets/<droplet-id>/console`** पर रिकवरी कंसोल तक पहुंचकर (लेकिन इस मामले में आपको रूट पासवर्ड जानना होगा)।
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,37 +4,32 @@
## Basic Information
DigitalOcean Functions, also known as "DO Functions," is a serverless computing platform that lets you **run code without having to worry about the underlying infrastructure**. With DO Functions, you can write and deploy your code as "functions" that can be **triggered** via **API**, **HTTP requests** (if enabled) or **cron**. These functions are executed in a fully managed environment, so you **don't need to worry** about scaling, security, or maintenance.
DigitalOcean Functions, जिसे "DO Functions" के नाम से भी जाना जाता है, एक सर्वरलेस कंप्यूटिंग प्लेटफॉर्म है जो आपको **बुनियादी ढांचे की चिंता किए बिना कोड चलाने** की अनुमति देता है। DO Functions के साथ, आप अपने कोड को "फंक्शंस" के रूप में लिख और तैनात कर सकते हैं जिन्हें **API**, **HTTP अनुरोधों** (यदि सक्षम हो) या **क्रॉन** के माध्यम से **प्रेरित** किया जा सकता है। ये फंक्शंस एक पूरी तरह से प्रबंधित वातावरण में निष्पादित होते हैं, इसलिए आपको **स्केलिंग, सुरक्षा, या रखरखाव** की चिंता करने की आवश्यकता नहीं है।
In DO, to create a function first you need to **create a namespace** which will be **grouping functions**.\
Inside the namespace you can then create a function.
DO में, एक फंक्शन बनाने के लिए सबसे पहले आपको **एक नामस्थान बनाना** होगा जो **फंक्शंस को समूहित करेगा**\
नामस्थान के अंदर आप फिर एक फंक्शन बना सकते हैं।
### Triggers
The way **to trigger a function via REST API** (always enabled, it's the method the cli uses) is by triggering a request with an **authentication token** like:
**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="
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="
```
To see how is the **`doctl`** cli tool getting this token (so you can replicate it), the **following command shows the complete network trace:**
**`doctl`** CLI टूल इस टोकन को कैसे प्राप्त कर रहा है (ताकि आप इसे दोहरा सकें), **निम्नलिखित कमांड पूरा नेटवर्क ट्रेस दिखाता है:**
```bash
doctl serverless connect --trace
```
**When HTTP trigger is enabled**, a web function can be invoked through these **HTTP methods GET, POST, PUT, PATCH, DELETE, HEAD and OPTIONS**.
**जब HTTP ट्रिगर सक्षम होता है**, एक वेब फ़ंक्शन को इन **HTTP विधियों GET, POST, PUT, PATCH, DELETE, HEAD और OPTIONS** के माध्यम से बुलाया जा सकता है।
> [!CAUTION]
> In DO functions, **environment variables cannot be encrypted** (at the time of this writing).\
> I couldn't find any way to read them from the CLI but from the console it's straight forward.
> DO फ़ंक्शंस में, **पर्यावरण चर को एन्क्रिप्ट नहीं किया जा सकता** (इस लेखन के समय)।\
> मुझे CLI से उन्हें पढ़ने का कोई तरीका नहीं मिला, लेकिन कंसोल से यह सीधा है।
**Functions URLs** look like this: `https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>`
### Enumeration
**फ़ंक्शंस URLs** इस तरह दिखते हैं: `https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>`
### गणना
```bash
# Namespace
doctl serverless namespaces list
@@ -53,12 +48,7 @@ doctl serverless activations result <activation-id> # get only the response resu
# I couldn't find any way to get the env variables form the CLI
```
> [!CAUTION]
> There **isn't metadata endpoint** from the Functions sandbox.
> Functions सैंडबॉक्स से **कोई मेटाडेटा एंडपॉइंट नहीं है**।
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,20 +4,14 @@
## Basic Information
DigitalOcean Images are **pre-built operating system or application images** that can be used to create new Droplets (virtual machines) on DigitalOcean. They are similar to virtual machine templates, and they allow you to **quickly and easily create new Droplets with the operating system** and applications that you need.
DigitalOcean Images **पूर्व-निर्मित ऑपरेटिंग सिस्टम या एप्लिकेशन इमेज** हैं जिन्हें DigitalOcean पर नए Droplets (वर्चुअल मशीन) बनाने के लिए उपयोग किया जा सकता है। ये वर्चुअल मशीन टेम्पलेट्स के समान हैं, और ये आपको **ऑपरेटिंग सिस्टम** और एप्लिकेशनों के साथ नए Droplets को **त्वरित और आसान** तरीके से बनाने की अनुमति देते हैं।
DigitalOcean provides a wide range of Images, including popular operating systems such as Ubuntu, CentOS, and FreeBSD, as well as pre-configured application Images such as LAMP, MEAN, and LEMP stacks. You can also create your own custom Images, or use Images from the community.
DigitalOcean कई प्रकार की Images प्रदान करता है, जिसमें लोकप्रिय ऑपरेटिंग सिस्टम जैसे Ubuntu, CentOS, और FreeBSD शामिल हैं, साथ ही पूर्व-निर्धारित एप्लिकेशन Images जैसे LAMP, MEAN, और LEMP स्टैक्स। आप अपनी खुद की कस्टम Images भी बना सकते हैं, या समुदाय से Images का उपयोग कर सकते हैं।
When you create a new Droplet on DigitalOcean, you can choose an Image to use as the basis for the Droplet. This will automatically install the operating system and any pre-installed applications on the new Droplet, so you can start using it right away. Images can also be used to create snapshots and backups of your Droplets, so you can easily create new Droplets from the same configuration in the future.
जब आप DigitalOcean पर एक नया Droplet बनाते हैं, तो आप Droplet के आधार के रूप में उपयोग करने के लिए एक Image चुन सकते हैं। यह स्वचालित रूप से नए Droplet पर ऑपरेटिंग सिस्टम और किसी भी पूर्व-स्थापित एप्लिकेशनों को स्थापित करेगा, ताकि आप तुरंत इसका उपयोग शुरू कर सकें। Images का उपयोग आपके Droplets के स्नैपशॉट और बैकअप बनाने के लिए भी किया जा सकता है, ताकि आप भविष्य में उसी कॉन्फ़िगरेशन से नए Droplets आसानी से बना सकें।
### Enumeration
```
doctl compute image list
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -6,15 +6,14 @@
### DigitalOcean Kubernetes (DOKS)
DOKS is a managed Kubernetes service offered by DigitalOcean. The service is designed to **deploy and manage Kubernetes clusters on DigitalOcean's platform**. The key aspects of DOKS include:
DOKS एक प्रबंधित Kubernetes सेवा है जो DigitalOcean द्वारा प्रदान की जाती है। यह सेवा **DigitalOcean के प्लेटफॉर्म पर Kubernetes क्लस्टर को तैनात और प्रबंधित करने के लिए डिज़ाइन की गई है**। DOKS के मुख्य पहलुओं में शामिल हैं:
1. **Ease of Management**: The requirement to set up and maintain the underlying infrastructure is eliminated, simplifying the management of Kubernetes clusters.
2. **User-Friendly Interface**: It provides an intuitive interface that facilitates the creation and administration of clusters.
3. **Integration with DigitalOcean Services**: It seamlessly integrates with other services provided by DigitalOcean, such as Load Balancers and Block Storage.
4. **Automatic Updates and Upgrades**: The service includes the automatic updating and upgrading of clusters to ensure they are up-to-date.
1. **प्रबंधन में आसानी**: अंतर्निहित बुनियादी ढांचे को सेटअप और बनाए रखने की आवश्यकता समाप्त हो जाती है, जिससे Kubernetes क्लस्टर का प्रबंधन सरल हो जाता है।
2. **उपयोगकर्ता-अनुकूल इंटरफ़ेस**: यह एक सहज इंटरफ़ेस प्रदान करता है जो क्लस्टरों के निर्माण और प्रशासन को सुविधाजनक बनाता है।
3. **DigitalOcean सेवाओं के साथ एकीकरण**: यह DigitalOcean द्वारा प्रदान की गई अन्य सेवाओं जैसे कि लोड बैलेंसर और ब्लॉक स्टोरेज के साथ सहजता से एकीकृत होता है।
4. **स्वचालित अपडेट और अपग्रेड**: सेवा में क्लस्टरों के स्वचालित अपडेट और अपग्रेड शामिल हैं ताकि यह सुनिश्चित किया जा सके कि वे अद्यतित हैं।
### Connection
```bash
# Generate kubeconfig from doctl
doctl kubernetes cluster kubeconfig save <cluster-id>
@@ -22,9 +21,7 @@ doctl kubernetes cluster kubeconfig save <cluster-id>
# Use a kubeconfig file that you can download from the console
kubectl --kubeconfig=/<pathtodirectory>/k8s-1-25-4-do-0-ams3-1670939911166-kubeconfig.yaml get nodes
```
### Enumeration
```bash
# Get clusters
doctl kubernetes cluster list
@@ -35,9 +32,4 @@ doctl kubernetes cluster node-pool list <cluster-id>
# Get DO resources used by the cluster
doctl kubernetes cluster list-associated-resources <cluster-id>
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,48 +2,34 @@
{{#include ../../../banners/hacktricks-training.md}}
### Domains
### डोमेन
```bash
doctl compute domain list
doctl compute domain records list <domain>
# You can also create records
```
### Reserverd IPs
### आरक्षित IPs
```bash
doctl compute reserved-ip list
doctl compute reserved-ip-action unassign <ip>
```
### Load Balancers
### लोड बैलेंसर
```bash
doctl compute load-balancer list
doctl compute load-balancer remove-droplets <id> --droplet-ids 12,33
doctl compute load-balancer add-forwarding-rules <id> --forwarding-rules entry_protocol:tcp,entry_port:3306,...
```
### VPC
```
doctl vpcs list
```
### Firewall
> [!CAUTION]
> By default **droplets are created WITHOUT A FIREWALL** (not like in oder clouds such as AWS or GCP). So if you want DO to protect the ports of the droplet (VM), you need to **create it and attach it**.
> डिफ़ॉल्ट रूप से **ड्रॉपलेट बिना फ़ायरवॉल के बनाए जाते हैं** (AWS या GCP जैसे अन्य क्लाउड की तरह नहीं)। इसलिए यदि आप DO से ड्रॉपलेट (VM) के पोर्ट्स की सुरक्षा कराना चाहते हैं, तो आपको **इसे बनाना और संलग्न करना** होगा।
```bash
doctl compute firewall list
doctl compute firewall list-by-droplet <droplet-id>
doctl compute firewall remove-droplets <fw-id> --droplet-ids <droplet-id>
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,8 +4,8 @@
## Basic Information
> project is just a container for all the **services** (droplets, spaces, databases, kubernetes...) **running together inside of it**.\
> For more info check:
> प्रोजेक्ट बस सभी **सेवाओं** (ड्रॉपलेट्स, स्पेस, डेटाबेस, कुबेरनेट्स...) का एक कंटेनर है जो **इसके अंदर एक साथ चल रही हैं**\
> अधिक जानकारी के लिए देखें:
{{#ref}}
../do-basic-information.md
@@ -13,15 +13,9 @@
### Enumeration
It's possible to **enumerate all the projects a user have access to** and all the resources that are running inside a project very easily:
यह संभव है कि **एक उपयोगकर्ता के पास पहुंच वाले सभी प्रोजेक्ट्स और एक प्रोजेक्ट के अंदर चल रहे सभी संसाधनों को आसानी से सूचीबद्ध किया जा सके:**
```bash
doctl projects list # Get projects
doctl projects resources list <proj-id> # Get all the resources of a project
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,23 +4,22 @@
## Basic Information
DigitalOcean Spaces are **object storage services**. They allow users to **store and serve large amounts of data**, such as images and other files, in a scalable and cost-effective way. Spaces can be accessed via the DigitalOcean control panel, or using the DigitalOcean API, and are integrated with other DigitalOcean services such as Droplets (virtual private servers) and Load Balancers.
DigitalOcean Spaces **ऑब्जेक्ट स्टोरेज सेवाएँ** हैं। ये उपयोगकर्ताओं को **बड़ी मात्रा में डेटा** जैसे कि चित्र और अन्य फ़ाइलें, को स्केलेबल और लागत-कुशल तरीके से **स्टोर** और **सर्व** करने की अनुमति देती हैं। स्पेसेस को DigitalOcean नियंत्रण पैनल के माध्यम से या DigitalOcean API का उपयोग करके एक्सेस किया जा सकता है, और ये अन्य DigitalOcean सेवाओं जैसे कि Droplets (वर्चुअल प्राइवेट सर्वर) और Load Balancers के साथ एकीकृत हैं।
### Access
Spaces can be **public** (anyone can access them from the Internet) or **private** (only authorised users). To access the files from a private space outside of the Control Panel, we need to generate an **access key** and **secret**. These are a pair of random tokens that serve as a **username** and **password** to grant access to your Space.
स्पेसेस **सार्वजनिक** (कोई भी इंटरनेट से उन तक पहुँच सकता है) या **निजी** (केवल अधिकृत उपयोगकर्ता) हो सकते हैं। नियंत्रण पैनल के बाहर एक निजी स्पेस से फ़ाइलों तक पहुँचने के लिए, हमें एक **एक्सेस की** और **गुप्त** उत्पन्न करने की आवश्यकता है। ये एक जोड़ी यादृच्छिक टोकन हैं जो आपके स्पेस तक पहुँच प्रदान करने के लिए **उपयोगकर्ता नाम** और **पासवर्ड** के रूप में कार्य करते हैं।
A **URL of a space** looks like this: **`https://uniqbucketname.fra1.digitaloceanspaces.com/`**\
Note the **region** as **subdomain**.
एक **स्पेस का URL** इस तरह दिखता है: **`https://uniqbucketname.fra1.digitaloceanspaces.com/`**\
**क्षेत्र** को **सबडोमेन** के रूप में नोट करें।
Even if the **space** is **public**, **files** **inside** of it can be **private** (you will be able to access them only with credentials).
यहां तक कि यदि **स्पेस** **सार्वजनिक** है, तो इसके **अंदर** **फाइलें** **निजी** हो सकती हैं (आप केवल प्रमाणपत्रों के साथ उन्हें एक्सेस कर पाएंगे)।
However, **even** if the file is **private**, from the console it's possible to share a file with a link such as `https://fra1.digitaloceanspaces.com/uniqbucketname/filename?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=DO00PL3RA373GBV4TRF7%2F20221213%2Ffra1%2Fs3%2Faws4_request&X-Amz-Date=20221213T121017Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=6a183dbc42453a8d30d7cd2068b66aeb9ebc066123629d44a8108115def975bc` for a period of time:
हालांकि, **यहां तक कि** यदि फ़ाइल **निजी** है, तो कंसोल से एक लिंक के साथ फ़ाइल साझा करना संभव है जैसे `https://fra1.digitaloceanspaces.com/uniqbucketname/filename?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=DO00PL3RA373GBV4TRF7%2F20221213%2Ffra1%2Fs3%2Faws4_request&X-Amz-Date=20221213T121017Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=6a183dbc42453a8d30d7cd2068b66aeb9ebc066123629d44a8108115def975bc` एक निश्चित समय के लिए:
<figure><img src="../../../images/image (277).png" alt=""><figcaption></figcaption></figure>
### Enumeration
```bash
# Unauthenticated
## Note how the region is specified in the endpoint
@@ -42,9 +41,4 @@ aws s3 ls --endpoint=https://fra1.digitaloceanspaces.com s3://uniqbucketname
## It's also possible to generate authorized access to buckets from the API
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,16 +4,10 @@
## Basic Information
DigitalOcean volumes are **block storage** devices that can be **attached to and detached from Droplets**. Volumes are useful for **storing data** that needs to **persist** independently of the Droplet itself, such as databases or file storage. They can be resized, attached to multiple Droplets, and snapshot for backups.
DigitalOcean volumes **ब्लॉक स्टोरेज** उपकरण हैं जिन्हें **Droplets से जोड़ा और हटाया** जा सकता है। वॉल्यूम्स **डेटा स्टोर करने** के लिए उपयोगी हैं जिन्हें **Droplet** से स्वतंत्र रूप से **स्थायी** रहने की आवश्यकता होती है, जैसे डेटाबेस या फ़ाइल स्टोरेज। इन्हें आकार में बदला जा सकता है, कई Droplets से जोड़ा जा सकता है, और बैकअप के लिए स्नैपशॉट लिया जा सकता है।
### Enumeration
```
compute volume list
```
{{#include ../../../banners/hacktricks-training.md}}