mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-27 05:03:31 -08:00
Translated ['.github/pull_request_template.md', 'src/README.md', 'src/pe
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
## Basic Information
|
||||
|
||||
**Pentesting शुरू करने से पहले** एक Digital Ocean वातावरण के बारे में कुछ **बुनियादी बातें आपको जाननी चाहिए** कि DO कैसे काम करता है, ताकि आप समझ सकें कि आपको क्या करना है, गलत कॉन्फ़िगरेशन कैसे खोजें और उन्हें कैसे भुनाएं।
|
||||
**Pentesting शुरू करने से पहले** एक Digital Ocean वातावरण के बारे में कुछ **बुनियादी बातें आपको जाननी चाहिए** कि DO कैसे काम करता है, ताकि आप समझ सकें कि आपको क्या करना है, गलत कॉन्फ़िगरेशन कैसे खोजें और उनका कैसे लाभ उठाएं।
|
||||
|
||||
हायरार्की, एक्सेस और अन्य बुनियादी अवधारणाओं जैसे सिद्धांतों को समझाया गया है:
|
||||
|
||||
|
||||
@@ -25,28 +25,28 @@ DigitalOcean और AWS के बीच एक मुख्य अंतर ह
|
||||
|
||||
### User
|
||||
|
||||
एक उपयोगकर्ता वही है जिसकी आप अपेक्षा करते हैं, एक उपयोगकर्ता। वह **टीम बना सकता है** और **विभिन्न टीमों का सदस्य हो सकता है।**
|
||||
एक उपयोगकर्ता वही है जो आप अपेक्षित करते हैं, एक उपयोगकर्ता। वह **टीम बना सकता है** और **विभिन्न टीमों का सदस्य हो सकता है।**
|
||||
|
||||
### **Team**
|
||||
|
||||
एक टीम **उपयोगकर्ताओं** का एक समूह है। जब एक उपयोगकर्ता एक टीम बनाता है, तो उसके पास उस टीम पर **स्वामी की भूमिका** होती है और वह प्रारंभ में **बिलिंग जानकारी सेट करता है**। **अन्य** उपयोगकर्ता फिर टीम में **निमंत्रित** किए जा सकते हैं।
|
||||
|
||||
टीम के भीतर कई **परियोजनाएँ** हो सकती हैं। एक परियोजना बस एक **सेवाओं का सेट है जो एक साथ चल रहा है**। इसका उपयोग विभिन्न इन्फ्रा चरणों को **अलग करने** के लिए किया जा सकता है, जैसे प्रोड, स्टेजिंग, डेवलप...
|
||||
टीम के अंदर कई **परियोजनाएँ** हो सकती हैं। एक परियोजना बस एक **सेवाओं का सेट है जो चल रहा है**। इसका उपयोग विभिन्न इन्फ्रा चरणों को **अलग करने** के लिए किया जा सकता है, जैसे प्रोड, स्टेजिंग, डेवलप...
|
||||
|
||||
### Project
|
||||
|
||||
जैसा कि समझाया गया है, एक परियोजना बस सभी **सेवाओं** (ड्रॉपलेट्स, स्पेस, डेटाबेस, कुबेरनेट्स...) का एक कंटेनर है जो इसके भीतर **साथ में चल रही हैं**।\
|
||||
एक Digital Ocean परियोजना GCP परियोजना के समान है बिना IAM के।
|
||||
जैसा कि समझाया गया है, एक परियोजना बस सभी **सेवाओं** (ड्रॉपलेट्स, स्पेस, डेटाबेस, कुबेरनेट्स...) का एक कंटेनर है जो **इसके अंदर एक साथ चल रही हैं**।\
|
||||
एक Digital Ocean परियोजना GCP परियोजना के समान है जिसमें IAM नहीं है।
|
||||
|
||||
## Permissions
|
||||
|
||||
### Team
|
||||
|
||||
बुनियादी रूप से एक टीम के सभी सदस्यों के पास **टीम के भीतर बनाए गए सभी परियोजनाओं में DO संसाधनों तक पहुँच होती है (अधिक या कम विशेषाधिकार के साथ)।**
|
||||
बुनियादी रूप से टीम के सभी सदस्यों के पास **टीम के भीतर बनाए गए सभी परियोजनाओं में DO संसाधनों तक पहुँच होती है (अधिक या कम विशेषाधिकार के साथ)।**
|
||||
|
||||
### Roles
|
||||
|
||||
एक **टीम के भीतर प्रत्येक उपयोगकर्ता** के पास निम्नलिखित तीन **भूमिकाओं** में से **एक** हो सकती है:
|
||||
टीम के भीतर प्रत्येक **उपयोगकर्ता** में से **एक** निम्नलिखित तीन **भूमिकाओं** में से एक हो सकती है:
|
||||
|
||||
| Role | Shared Resources | Billing Information | Team Settings |
|
||||
| ---------- | ---------------- | ------------------- | ------------- |
|
||||
@@ -60,8 +60,8 @@ DigitalOcean और AWS के बीच एक मुख्य अंतर ह
|
||||
|
||||
### Username + password (MFA)
|
||||
|
||||
ज्यादातर प्लेटफार्मों की तरह, 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) पर अपनी सभी गतिविधियाँ देख सकते हैं।
|
||||
ज्यादातर प्लेटफार्मों की तरह, 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** को एक उपयोगकर्ता में **सक्षम** किया जा सकता है और **टीम** में सभी उपयोगकर्ताओं के लिए **अनिवार्य** किया जा सकता है।
|
||||
|
||||
@@ -72,7 +72,7 @@ API कुंजी इस तरह दिखती हैं:
|
||||
```
|
||||
dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836
|
||||
```
|
||||
The cli tool is [**doctl**](https://github.com/digitalocean/doctl#installing-doctl). इसे प्रारंभ करें (आपको एक टोकन की आवश्यकता है) के साथ:
|
||||
CLI टूल [**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
|
||||
@@ -82,7 +82,7 @@ doctl auth list # List accounts
|
||||
|
||||
### Spaces एक्सेस कुंजी
|
||||
|
||||
ये कुंजी **Spaces** (जैसे AWS में S3 या GCP में Storage) तक **पहुँच** देती हैं।
|
||||
ये कुंजी **Spaces तक पहुँच** देती हैं (जैसे AWS में S3 या GCP में Storage)।
|
||||
|
||||
ये एक **नाम**, एक **keyid** और एक **secret** से मिलकर बनी होती हैं। एक उदाहरण हो सकता है:
|
||||
```
|
||||
@@ -92,15 +92,15 @@ Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM
|
||||
```
|
||||
### OAuth Application
|
||||
|
||||
OAuth अनुप्रयोगों को **Digital Ocean पर पहुँच** दी जा सकती है।
|
||||
OAuth अनुप्रयोगों को **Digital Ocean पर पहुंच** दी जा सकती है।
|
||||
|
||||
यह संभव है कि आप [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 अनुप्रयोगों** की जाँच करें।
|
||||
यह संभव है कि आप [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
|
||||
|
||||
यह संभव है कि आप [https://cloud.digitalocean.com/account/security](https://cloud.digitalocean.com/account/security) में **कंसोल** से **Digital Ocean टीम** में **SSH कुंजियाँ** जोड़ें।
|
||||
यह संभव है कि आप [https://cloud.digitalocean.com/account/security](https://cloud.digitalocean.com/account/security) में **कंसोल** से **Digital Ocean टीम** में **SSH कुंजी** जोड़ें।
|
||||
|
||||
इस तरह, यदि आप एक **नया ड्रॉपलेट बनाते हैं, तो SSH कुंजी उस पर सेट की जाएगी** और आप बिना पासवर्ड के **SSH के माध्यम से लॉगिन** कर सकेंगे (ध्यान दें कि नए [अपलोड किए गए SSH कुंजियाँ पहले से मौजूद ड्रॉपलेट्स में सुरक्षा कारणों से सेट नहीं की जाती हैं](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
|
||||
|
||||
@@ -114,11 +114,11 @@ curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c1
|
||||
|
||||
### User logs
|
||||
|
||||
एक **उपयोगकर्ता के लॉग** [**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
|
||||
|
||||
एक **टीम के लॉग** [**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
|
||||
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
DO ग्रैन्युलर अनुमतियों का समर्थन नहीं करता है। इसलिए **न्यूनतम भूमिका** जो एक उपयोगकर्ता को सभी संसाधनों की समीक्षा करने की अनुमति देती है, वह **सदस्य** है। इस अनुमति के साथ एक pentester हानिकारक गतिविधियाँ करने में सक्षम होगा, लेकिन यही है।
|
||||
DO ग्रैन्युलर अनुमतियों का समर्थन नहीं करता है। इसलिए **न्यूनतम भूमिका** जो एक उपयोगकर्ता को सभी संसाधनों की समीक्षा करने की अनुमति देती है, वह है **सदस्य**। इस अनुमति के साथ एक pentester हानिकारक गतिविधियाँ करने में सक्षम होगा, लेकिन यही है।
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
## Basic Information
|
||||
|
||||
[From the docs:](https://docs.digitalocean.com/glossary/app-platform/) App Platform एक Platform-as-a-Service (PaaS) पेशकश है जो डेवलपर्स को **कोड को सीधे DigitalOcean** सर्वरों पर प्रकाशित करने की अनुमति देती है बिना अंतर्निहित बुनियादी ढांचे की चिंता किए।
|
||||
[From the docs:](https://docs.digitalocean.com/glossary/app-platform/) App Platform एक Platform-as-a-Service (PaaS) सेवा है जो डेवलपर्स को **कोड को सीधे DigitalOcean** सर्वरों पर प्रकाशित करने की अनुमति देती है बिना अंतर्निहित बुनियादी ढांचे की चिंता किए।
|
||||
|
||||
आप **github**, **gitlab**, **docker hub**, **DO container registry** (या एक नमूना ऐप) से सीधे कोड चला सकते हैं।
|
||||
|
||||
जब आप एक **env var** को परिभाषित करते हैं, तो आप इसे **encrypted** के रूप में सेट कर सकते हैं। इसके मान को **retreive** करने का एकमात्र तरीका है ऐप को चलाने वाले होस्ट के अंदर **commands** निष्पादित करना।
|
||||
जब आप एक **env var** को परिभाषित करते हैं, तो आप इसे **encrypted** के रूप में सेट कर सकते हैं। इसके मान को **retreive** करने का एकमात्र तरीका है ऐप को चलाने वाले होस्ट के अंदर **commands** को निष्पादित करना।
|
||||
|
||||
एक **App URL** इस तरह दिखता है [https://dolphin-app-2tofz.ondigitalocean.app](https://dolphin-app-2tofz.ondigitalocean.app)
|
||||
|
||||
@@ -27,6 +27,6 @@ doctl apps list-regions # Get available regions and the default one
|
||||
|
||||
कंटेनर में सीधे कोड निष्पादित करने के लिए जो ऐप चला रहा है, आपको **कंसोल तक पहुंच** की आवश्यकता होगी और **`https://cloud.digitalocean.com/apps/<app-id>/console/<app-name>`** पर जाना होगा।
|
||||
|
||||
यह आपको एक **शेल** देगा, और बस **`env`** निष्पादित करके आप **सभी env vars** (उनमें से भी जो **एन्क्रिप्टेड** के रूप में परिभाषित हैं) देख सकेंगे।
|
||||
यह आपको एक **शेल** देगा, और बस **`env`** निष्पादित करके आप **सभी env vars** (जिसमें **एन्क्रिप्टेड** के रूप में परिभाषित किए गए) देख सकेंगे।
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
## Basic Information
|
||||
|
||||
DigitalOcean Container Registry एक सेवा है जो DigitalOcean द्वारा प्रदान की जाती है जो **आपको Docker छवियों को स्टोर और प्रबंधित करने की अनुमति देती है**। यह एक **निजी** रजिस्ट्री है, जिसका अर्थ है कि आप जो छवियाँ इसमें स्टोर करते हैं, वे केवल आपके और उन उपयोगकर्ताओं के लिए उपलब्ध हैं जिन्हें आप एक्सेस देते हैं। यह आपको अपनी Docker छवियों को सुरक्षित रूप से स्टोर और प्रबंधित करने की अनुमति देता है, और उन्हें DigitalOcean या किसी अन्य वातावरण में तैनात करने के लिए उपयोग करने की अनुमति देता है जो Docker का समर्थन करता है।
|
||||
DigitalOcean Container Registry एक सेवा है जो DigitalOcean द्वारा प्रदान की जाती है जो **आपको Docker छवियों को स्टोर और प्रबंधित करने की अनुमति देती है**। यह एक **निजी** रजिस्ट्री है, जिसका अर्थ है कि आप जो छवियाँ इसमें स्टोर करते हैं, वे केवल आपके और उन उपयोगकर्ताओं के लिए उपलब्ध हैं जिन्हें आप एक्सेस देते हैं। यह आपको अपनी Docker छवियों को सुरक्षित रूप से स्टोर और प्रबंधित करने की अनुमति देता है, और उन्हें DigitalOcean या किसी अन्य वातावरण पर कंटेनर तैनात करने के लिए उपयोग करने की अनुमति देता है जो Docker का समर्थन करता है।
|
||||
|
||||
Container Registry बनाते समय यह संभव है कि **Kubernetes क्लस्टरों के सभी नामस्थान में छवि खींचने की पहुंच (पढ़ने) के साथ एक गुप्त बनाएँ**।
|
||||
Container Registry बनाते समय यह संभव है कि **Kubernetes क्लस्टरों के सभी नामस्थान में छवियों को खींचने (पढ़ने) के लिए एक गुप्त बनाएं**।
|
||||
|
||||
### Connection
|
||||
```bash
|
||||
@@ -18,7 +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
|
||||
|
||||
@@ -8,7 +8,7 @@ DigitalOcean Databases के साथ, आप आसानी से **क्
|
||||
|
||||
### Connections details
|
||||
|
||||
जब आप एक डेटाबेस बना रहे होते हैं, तो आप इसे **सार्वजनिक नेटवर्क से सुलभ** करने के लिए कॉन्फ़िगर करने का चयन कर सकते हैं, या केवल **VPC** के अंदर से। इसके अलावा, यह आपसे **उन IPs को व्हाइटलिस्ट करने के लिए कहता है जो इसे एक्सेस कर सकते हैं** (आपका IPv4 एक हो सकता है)।
|
||||
जब आप एक डेटाबेस बना रहे होते हैं, तो आप इसे **सार्वजनिक नेटवर्क से सुलभ** करने के लिए कॉन्फ़िगर करने का चयन कर सकते हैं, या केवल एक **VPC** के अंदर से। इसके अलावा, यह आपसे **उन IPs को व्हाइटलिस्ट करने के लिए कहता है जो इसे एक्सेस कर सकते हैं** (आपका IPv4 एक हो सकता है)।
|
||||
|
||||
**host**, **port**, **dbname**, **username**, और **password** **console** में दिखाए जाते हैं। आप सुरक्षित रूप से कनेक्ट करने के लिए AD प्रमाणपत्र भी डाउनलोड कर सकते हैं।
|
||||
```bash
|
||||
|
||||
@@ -4,31 +4,31 @@
|
||||
|
||||
## Basic Information
|
||||
|
||||
DigitalOcean में, "droplet" एक v**irtual private server (VPS)** है जिसका उपयोग वेबसाइटों और अनुप्रयोगों को होस्ट करने के लिए किया जा सकता है। एक droplet एक **पूर्व-निर्धारित पैकेज है जिसमें कंप्यूटिंग संसाधन** शामिल हैं, जिसमें CPU, मेमोरी, और स्टोरेज की एक निश्चित मात्रा होती है, जिसे DigitalOcean के क्लाउड इन्फ्रास्ट्रक्चर पर जल्दी और आसानी से तैनात किया जा सकता है।
|
||||
DigitalOcean में, "droplet" एक v**irtual private server (VPS)** है जिसका उपयोग वेबसाइटों और अनुप्रयोगों को होस्ट करने के लिए किया जा सकता है। एक droplet एक **पूर्व-निर्धारित पैकेज है जिसमें कंप्यूटिंग संसाधन** शामिल हैं, जिसमें CPU, मेमोरी और स्टोरेज की एक निश्चित मात्रा होती है, जिसे DigitalOcean के क्लाउड इन्फ्रास्ट्रक्चर पर जल्दी और आसानी से तैनात किया जा सकता है।
|
||||
|
||||
आप **सामान्य OS**, से **पहले से चल रहे अनुप्रयोगों** (जैसे WordPress, cPanel, Laravel...) का चयन कर सकते हैं, या यहां तक कि **अपने स्वयं के इमेज** अपलोड और उपयोग कर सकते हैं।
|
||||
आप **सामान्य OS** से चुन सकते हैं, **ऐसे अनुप्रयोगों** तक जो पहले से चल रहे हैं (जैसे WordPress, cPanel, Laravel...), या यहां तक कि **अपने स्वयं के इमेज** अपलोड और उपयोग कर सकते हैं।
|
||||
|
||||
Droplets **User data scripts** का समर्थन करते हैं।
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Snapshot और Backup के बीच का अंतर</summary>
|
||||
<summary>Snapshot और बैकअप के बीच का अंतर</summary>
|
||||
|
||||
DigitalOcean में, एक snapshot एक Droplet के डिस्क की एक समय-विशिष्ट प्रति है। यह उस समय Droplet के डिस्क की स्थिति को कैप्चर करता है जब snapshot लिया गया था, जिसमें ऑपरेटिंग सिस्टम, स्थापित अनुप्रयोग, और डिस्क पर सभी फ़ाइलें और डेटा शामिल हैं।
|
||||
|
||||
Snapshots का उपयोग नए Droplets बनाने के लिए किया जा सकता है जो मूल Droplet के समान कॉन्फ़िगरेशन के साथ हैं, या एक Droplet को उस स्थिति में पुनर्स्थापित करने के लिए जब snapshot लिया गया था। Snapshots DigitalOcean की ऑब्जेक्ट स्टोरेज सेवा पर संग्रहीत होते हैं, और ये वृद्धिशील होते हैं, जिसका अर्थ है कि केवल अंतिम snapshot के बाद के परिवर्तन संग्रहीत होते हैं। यह उन्हें उपयोग करने में कुशल और संग्रहीत करने में लागत-कुशल बनाता है।
|
||||
Snapshots का उपयोग नए Droplets बनाने के लिए किया जा सकता है जो मूल Droplet के समान कॉन्फ़िगरेशन रखते हैं, या एक Droplet को उस स्थिति में पुनर्स्थापित करने के लिए जब snapshot लिया गया था। Snapshots को DigitalOcean की ऑब्जेक्ट स्टोरेज सेवा पर संग्रहीत किया जाता है, और ये वृद्धिशील होते हैं, जिसका अर्थ है कि केवल अंतिम snapshot के बाद के परिवर्तन संग्रहीत होते हैं। यह उन्हें उपयोग करने में कुशल और संग्रहीत करने में लागत-कुशल बनाता है।
|
||||
|
||||
दूसरी ओर, एक backup एक Droplet की पूरी प्रति है, जिसमें ऑपरेटिंग सिस्टम, स्थापित अनुप्रयोग, फ़ाइलें, और डेटा, साथ ही Droplet की सेटिंग्स और मेटाडेटा शामिल हैं। Backups आमतौर पर नियमित कार्यक्रम पर किए जाते हैं, और ये एक विशिष्ट समय पर Droplet की पूरी स्थिति को कैप्चर करते हैं।
|
||||
दूसरी ओर, एक बैकअप एक Droplet की पूरी प्रति है, जिसमें ऑपरेटिंग सिस्टम, स्थापित अनुप्रयोग, फ़ाइलें, और डेटा, साथ ही Droplet की सेटिंग्स और मेटाडेटा शामिल हैं। बैकअप आमतौर पर नियमित कार्यक्रम पर किए जाते हैं, और ये एक विशिष्ट समय पर Droplet की पूरी स्थिति को कैप्चर करते हैं।
|
||||
|
||||
Snapshots के विपरीत, backups को संकुचित और एन्क्रिप्टेड प्रारूप में संग्रहीत किया जाता है, और इन्हें DigitalOcean के इन्फ्रास्ट्रक्चर से एक दूरस्थ स्थान पर सुरक्षित रखने के लिए स्थानांतरित किया जाता है। यह backups को आपदा पुनर्प्राप्ति के लिए आदर्श बनाता है, क्योंकि ये एक Droplet की पूरी प्रति प्रदान करते हैं जिसे डेटा हानि या अन्य आपातकालीन घटनाओं की स्थिति में पुनर्स्थापित किया जा सकता है।
|
||||
Snapshots के विपरीत, बैकअप को संकुचित और एन्क्रिप्टेड प्रारूप में संग्रहीत किया जाता है, और इन्हें DigitalOcean के इन्फ्रास्ट्रक्चर से एक दूरस्थ स्थान पर सुरक्षित रखने के लिए स्थानांतरित किया जाता है। यह बैकअप को आपदा पुनर्प्राप्ति के लिए आदर्श बनाता है, क्योंकि ये डेटा हानि या अन्य विनाशकारी घटनाओं की स्थिति में पुनर्स्थापित करने के लिए Droplet की पूरी प्रति प्रदान करते हैं।
|
||||
|
||||
संक्षेप में, snapshots एक Droplet के डिस्क की समय-विशिष्ट प्रतियां हैं, जबकि backups एक Droplet की पूरी प्रतियां हैं, जिसमें इसकी सेटिंग्स और मेटाडेटा शामिल हैं। Snapshots DigitalOcean की ऑब्जेक्ट स्टोरेज सेवा पर संग्रहीत होते हैं, जबकि backups DigitalOcean के इन्फ्रास्ट्रक्चर से एक दूरस्थ स्थान पर स्थानांतरित किए जाते हैं। दोनों snapshots और backups का उपयोग एक Droplet को पुनर्स्थापित करने के लिए किया जा सकता है, लेकिन snapshots का उपयोग और संग्रहण अधिक कुशल होता है, जबकि backups आपदा पुनर्प्राप्ति के लिए एक अधिक व्यापक बैकअप समाधान प्रदान करते हैं।
|
||||
संक्षेप में, snapshots एक Droplet के डिस्क की समय-विशिष्ट प्रतियां हैं, जबकि बैकअप एक Droplet की पूरी प्रतियां हैं, जिसमें इसकी सेटिंग्स और मेटाडेटा शामिल हैं। Snapshots को DigitalOcean की ऑब्जेक्ट स्टोरेज सेवा पर संग्रहीत किया जाता है, जबकि बैकअप को DigitalOcean के इन्फ्रास्ट्रक्चर से एक दूरस्थ स्थान पर स्थानांतरित किया जाता है। दोनों snapshots और बैकअप का उपयोग एक Droplet को पुनर्स्थापित करने के लिए किया जा सकता है, लेकिन snapshots का उपयोग और संग्रहण अधिक कुशल होता है, जबकि बैकअप आपदा पुनर्प्राप्ति के लिए एक अधिक व्यापक बैकअप समाधान प्रदान करते हैं।
|
||||
|
||||
</details>
|
||||
|
||||
### Authentication
|
||||
|
||||
प्रमाणीकरण के लिए, यह संभव है कि **SSH को सक्षम करें** उपयोगकर्ता नाम और **पासवर्ड** (पासवर्ड जो droplet बनाते समय परिभाषित किया गया था) के माध्यम से। या **अपलोड किए गए SSH कुंजियों में से एक या अधिक का चयन करें**।
|
||||
प्रमाणीकरण के लिए, **SSH** को उपयोगकर्ता नाम और **पासवर्ड** (पासवर्ड जो droplet बनाते समय परिभाषित किया गया था) के माध्यम से **सक्षम करना संभव है**। या **अपलोड किए गए SSH कुंजियों में से एक या अधिक का चयन करें**।
|
||||
|
||||
### Firewall
|
||||
|
||||
@@ -72,8 +72,8 @@ doctl compute snapshot list
|
||||
|
||||
### RCE
|
||||
|
||||
कंसोल तक पहुंच के साथ, यह संभव है कि **ड्रॉपलेट के अंदर एक शेल प्राप्त करें** URL तक पहुंचकर: **`https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/`**
|
||||
कंसोल तक पहुंच के साथ, **ड्रॉपलेट के अंदर एक शेल प्राप्त करना संभव है** URL तक पहुंचकर: **`https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/`**
|
||||
|
||||
यह भी संभव है कि **रिकवरी कंसोल** लॉन्च करें ताकि होस्ट के अंदर कमांड चलाए जा सकें, **`https://cloud.digitalocean.com/droplets/<droplet-id>/console`** पर रिकवरी कंसोल तक पहुंचकर (लेकिन इस मामले में आपको रूट पासवर्ड जानना होगा)।
|
||||
यह भी संभव है कि **रिकवरी कंसोल** लॉन्च किया जाए ताकि होस्ट के अंदर कमांड चलाए जा सकें, **`https://cloud.digitalocean.com/droplets/<droplet-id>/console`** पर रिकवरी कंसोल तक पहुंचकर (लेकिन इस मामले में आपको रूट पासवर्ड जानना होगा)।
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
|
||||
DigitalOcean Functions, जिसे "DO Functions" के नाम से भी जाना जाता है, एक सर्वरलेस कंप्यूटिंग प्लेटफॉर्म है जो आपको **बुनियादी ढांचे की चिंता किए बिना कोड चलाने** की अनुमति देता है। DO Functions के साथ, आप अपने कोड को "फंक्शंस" के रूप में लिख और तैनात कर सकते हैं जिन्हें **API**, **HTTP अनुरोधों** (यदि सक्षम हो) या **क्रॉन** के माध्यम से **प्रेरित** किया जा सकता है। ये फंक्शंस एक पूरी तरह से प्रबंधित वातावरण में निष्पादित होते हैं, इसलिए आपको **स्केलिंग, सुरक्षा, या रखरखाव** की चिंता करने की आवश्यकता नहीं है।
|
||||
|
||||
DO में, एक फंक्शन बनाने के लिए सबसे पहले आपको **एक नामस्थान बनाना** होगा जो **फंक्शंस को समूहित करेगा**।\
|
||||
DO में, एक फंक्शन बनाने के लिए सबसे पहले आपको **एक नामस्थान बनाना** होगा जो **फंक्शंस को समूहित** करेगा।\
|
||||
नामस्थान के अंदर आप फिर एक फंक्शन बना सकते हैं।
|
||||
|
||||
### Triggers
|
||||
|
||||
**REST API के माध्यम से एक फंक्शन को प्रेरित करने का तरीका** (हमेशा सक्षम, यह वह विधि है जिसका उपयोग cli करता है) एक **प्रमाणीकरण टोकन** के साथ अनुरोध को प्रेरित करके है जैसे:
|
||||
**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" \
|
||||
@@ -25,11 +25,11 @@ doctl serverless connect --trace
|
||||
|
||||
> [!CAUTION]
|
||||
> DO फ़ंक्शंस में, **पर्यावरण चर को एन्क्रिप्ट नहीं किया जा सकता** (इस लेखन के समय)।\
|
||||
> मुझे CLI से उन्हें पढ़ने का कोई तरीका नहीं मिला, लेकिन कंसोल से यह सीधा है।
|
||||
> मुझे CLI से उन्हें पढ़ने का कोई तरीका नहीं मिला लेकिन कंसोल से यह सीधा है।
|
||||
|
||||
**फ़ंक्शंस URLs** इस तरह दिखते हैं: `https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>`
|
||||
|
||||
### गणना
|
||||
### Enumeration
|
||||
```bash
|
||||
# Namespace
|
||||
doctl serverless namespaces list
|
||||
@@ -49,6 +49,6 @@ 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]
|
||||
> Functions सैंडबॉक्स से **कोई मेटाडेटा एंडपॉइंट नहीं है**।
|
||||
> वहाँ **मेटाडेटा एंडपॉइंट नहीं है** Functions सैंडबॉक्स से।
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
## Basic Information
|
||||
|
||||
DigitalOcean Images **पूर्व-निर्मित ऑपरेटिंग सिस्टम या एप्लिकेशन इमेज** हैं जिन्हें DigitalOcean पर नए Droplets (वर्चुअल मशीन) बनाने के लिए उपयोग किया जा सकता है। ये वर्चुअल मशीन टेम्पलेट्स के समान हैं, और ये आपको **ऑपरेटिंग सिस्टम** और एप्लिकेशनों के साथ नए Droplets को **त्वरित और आसान** तरीके से बनाने की अनुमति देते हैं।
|
||||
DigitalOcean Images **पूर्व-निर्मित ऑपरेटिंग सिस्टम या एप्लिकेशन इमेज** हैं जिन्हें DigitalOcean पर नए Droplets (वर्चुअल मशीन) बनाने के लिए उपयोग किया जा सकता है। ये वर्चुअल मशीन टेम्पलेट्स के समान हैं, और ये आपको **आपके आवश्यक ऑपरेटिंग सिस्टम** और एप्लिकेशनों के साथ नए Droplets को **त्वरित और आसान** तरीके से बनाने की अनुमति देते हैं।
|
||||
|
||||
DigitalOcean कई प्रकार की Images प्रदान करता है, जिसमें लोकप्रिय ऑपरेटिंग सिस्टम जैसे Ubuntu, CentOS, और FreeBSD शामिल हैं, साथ ही पूर्व-निर्धारित एप्लिकेशन Images जैसे LAMP, MEAN, और LEMP स्टैक्स। आप अपनी खुद की कस्टम Images भी बना सकते हैं, या समुदाय से Images का उपयोग कर सकते हैं।
|
||||
DigitalOcean कई प्रकार की Images प्रदान करता है, जिसमें लोकप्रिय ऑपरेटिंग सिस्टम जैसे Ubuntu, CentOS, और FreeBSD शामिल हैं, साथ ही LAMP, MEAN, और LEMP स्टैक्स जैसी पूर्व-निर्धारित एप्लिकेशन Images भी हैं। आप अपनी स्वयं की कस्टम Images भी बना सकते हैं, या समुदाय से Images का उपयोग कर सकते हैं।
|
||||
|
||||
जब आप DigitalOcean पर एक नया Droplet बनाते हैं, तो आप Droplet के आधार के रूप में उपयोग करने के लिए एक Image चुन सकते हैं। यह स्वचालित रूप से नए Droplet पर ऑपरेटिंग सिस्टम और किसी भी पूर्व-स्थापित एप्लिकेशनों को स्थापित करेगा, ताकि आप तुरंत इसका उपयोग शुरू कर सकें। Images का उपयोग आपके Droplets के स्नैपशॉट और बैकअप बनाने के लिए भी किया जा सकता है, ताकि आप भविष्य में उसी कॉन्फ़िगरेशन से नए Droplets आसानी से बना सकें।
|
||||
जब आप DigitalOcean पर एक नया Droplet बनाते हैं, तो आप Droplet के लिए आधार के रूप में उपयोग करने के लिए एक Image चुन सकते हैं। यह स्वचालित रूप से नए Droplet पर ऑपरेटिंग सिस्टम और किसी भी पूर्व-स्थापित एप्लिकेशनों को स्थापित करेगा, ताकि आप इसे तुरंत उपयोग करना शुरू कर सकें। Images का उपयोग आपके Droplets के स्नैपशॉट और बैकअप बनाने के लिए भी किया जा सकता है, ताकि आप भविष्य में उसी कॉन्फ़िगरेशन से नए Droplets आसानी से बना सकें।
|
||||
|
||||
### Enumeration
|
||||
```
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Basic Information
|
||||
## मूल जानकारी
|
||||
|
||||
### DigitalOcean Kubernetes (DOKS)
|
||||
|
||||
DOKS एक प्रबंधित Kubernetes सेवा है जो DigitalOcean द्वारा प्रदान की जाती है। यह सेवा **DigitalOcean के प्लेटफॉर्म पर Kubernetes क्लस्टर को तैनात और प्रबंधित करने के लिए डिज़ाइन की गई है**। DOKS के मुख्य पहलुओं में शामिल हैं:
|
||||
DOKS एक प्रबंधित Kubernetes सेवा है जो DigitalOcean द्वारा प्रदान की जाती है। यह सेवा **DigitalOcean के प्लेटफॉर्म पर Kubernetes क्लस्टर को तैनात और प्रबंधित करने के लिए डिज़ाइन की गई है**। DOKS के प्रमुख पहलुओं में शामिल हैं:
|
||||
|
||||
1. **प्रबंधन में आसानी**: अंतर्निहित बुनियादी ढांचे को सेटअप और बनाए रखने की आवश्यकता समाप्त हो जाती है, जिससे Kubernetes क्लस्टर का प्रबंधन सरल हो जाता है।
|
||||
1. **प्रबंधन में आसानी**: अंतर्निहित बुनियादी ढांचे को सेट अप और बनाए रखने की आवश्यकता समाप्त हो जाती है, जिससे Kubernetes क्लस्टर का प्रबंधन सरल हो जाता है।
|
||||
2. **उपयोगकर्ता-अनुकूल इंटरफ़ेस**: यह एक सहज इंटरफ़ेस प्रदान करता है जो क्लस्टरों के निर्माण और प्रशासन को सुविधाजनक बनाता है।
|
||||
3. **DigitalOcean सेवाओं के साथ एकीकरण**: यह DigitalOcean द्वारा प्रदान की गई अन्य सेवाओं जैसे कि लोड बैलेंसर और ब्लॉक स्टोरेज के साथ सहजता से एकीकृत होता है।
|
||||
4. **स्वचालित अपडेट और अपग्रेड**: सेवा में क्लस्टरों के स्वचालित अपडेट और अपग्रेड शामिल हैं ताकि यह सुनिश्चित किया जा सके कि वे अद्यतित हैं।
|
||||
|
||||
### Connection
|
||||
### कनेक्शन
|
||||
```bash
|
||||
# Generate kubeconfig from doctl
|
||||
doctl kubernetes cluster kubeconfig save <cluster-id>
|
||||
@@ -21,7 +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
|
||||
|
||||
@@ -26,7 +26,7 @@ doctl vpcs list
|
||||
### Firewall
|
||||
|
||||
> [!CAUTION]
|
||||
> डिफ़ॉल्ट रूप से **ड्रॉपलेट बिना फ़ायरवॉल के बनाए जाते हैं** (AWS या GCP जैसे अन्य क्लाउड की तरह नहीं)। इसलिए यदि आप DO से ड्रॉपलेट (VM) के पोर्ट्स की सुरक्षा कराना चाहते हैं, तो आपको **इसे बनाना और संलग्न करना** होगा।
|
||||
> डिफ़ॉल्ट रूप से **ड्रॉपलेट बिना फ़ायरवॉल के बनाए जाते हैं** (AWS या GCP जैसे अन्य क्लाउड की तरह नहीं)। इसलिए यदि आप DO को ड्रॉपलेट (VM) के पोर्ट्स की सुरक्षा करना चाहते हैं, तो आपको **इसे बनाना और संलग्न करना** होगा।
|
||||
```bash
|
||||
doctl compute firewall list
|
||||
doctl compute firewall list-by-droplet <droplet-id>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
### Enumeration
|
||||
|
||||
यह संभव है कि **एक उपयोगकर्ता के पास पहुंच वाले सभी प्रोजेक्ट्स और एक प्रोजेक्ट के अंदर चल रहे सभी संसाधनों को आसानी से सूचीबद्ध किया जा सके:**
|
||||
यह संभव है कि **एक उपयोगकर्ता के पास पहुंच वाले सभी प्रोजेक्ट्स** और एक प्रोजेक्ट के अंदर चल रहे सभी संसाधनों को बहुत आसानी से **गणना** किया जा सके:
|
||||
```bash
|
||||
doctl projects list # Get projects
|
||||
doctl projects resources list <proj-id> # Get all the resources of a project
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
|
||||
## Basic Information
|
||||
|
||||
DigitalOcean Spaces **ऑब्जेक्ट स्टोरेज सेवाएँ** हैं। ये उपयोगकर्ताओं को **बड़ी मात्रा में डेटा** जैसे कि चित्र और अन्य फ़ाइलें, को स्केलेबल और लागत-कुशल तरीके से **स्टोर** और **सर्व** करने की अनुमति देती हैं। स्पेसेस को DigitalOcean नियंत्रण पैनल के माध्यम से या DigitalOcean API का उपयोग करके एक्सेस किया जा सकता है, और ये अन्य DigitalOcean सेवाओं जैसे कि Droplets (वर्चुअल प्राइवेट सर्वर) और Load Balancers के साथ एकीकृत हैं।
|
||||
DigitalOcean Spaces **ऑब्जेक्ट स्टोरेज सेवाएँ** हैं। ये उपयोगकर्ताओं को **बड़ी मात्रा में डेटा** जैसे कि चित्र और अन्य फ़ाइलें, को स्केलेबल और लागत-कुशल तरीके से **स्टोर** और **सर्व** करने की अनुमति देती हैं। Spaces को DigitalOcean नियंत्रण पैनल के माध्यम से या DigitalOcean API का उपयोग करके एक्सेस किया जा सकता है, और ये अन्य DigitalOcean सेवाओं जैसे Droplets (वर्चुअल प्राइवेट सर्वर) और Load Balancers के साथ एकीकृत हैं।
|
||||
|
||||
### Access
|
||||
|
||||
स्पेसेस **सार्वजनिक** (कोई भी इंटरनेट से उन तक पहुँच सकता है) या **निजी** (केवल अधिकृत उपयोगकर्ता) हो सकते हैं। नियंत्रण पैनल के बाहर एक निजी स्पेस से फ़ाइलों तक पहुँचने के लिए, हमें एक **एक्सेस की** और **गुप्त** उत्पन्न करने की आवश्यकता है। ये एक जोड़ी यादृच्छिक टोकन हैं जो आपके स्पेस तक पहुँच प्रदान करने के लिए **उपयोगकर्ता नाम** और **पासवर्ड** के रूप में कार्य करते हैं।
|
||||
Spaces **सार्वजनिक** (कोई भी इंटरनेट से उन तक पहुँच सकता है) या **निजी** (केवल अधिकृत उपयोगकर्ता) हो सकते हैं। नियंत्रण पैनल के बाहर एक निजी स्पेस से फ़ाइलों तक पहुँचने के लिए, हमें एक **एक्सेस की** और **गुप्त** उत्पन्न करने की आवश्यकता है। ये एक जोड़ी यादृच्छिक टोकन हैं जो आपके स्पेस तक पहुँच प्रदान करने के लिए **उपयोगकर्ता नाम** और **पासवर्ड** के रूप में कार्य करते हैं।
|
||||
|
||||
एक **स्पेस का URL** इस तरह दिखता है: **`https://uniqbucketname.fra1.digitaloceanspaces.com/`**\
|
||||
**क्षेत्र** को **सबडोमेन** के रूप में नोट करें।
|
||||
|
||||
यहां तक कि यदि **स्पेस** **सार्वजनिक** है, तो इसके **अंदर** **फाइलें** **निजी** हो सकती हैं (आप केवल प्रमाणपत्रों के साथ उन्हें एक्सेस कर पाएंगे)।
|
||||
यहां तक कि यदि **स्पेस** **सार्वजनिक** है, तो इसके **अंदर** **फाइलें** **निजी** हो सकती हैं (आप केवल प्रमाण पत्र के साथ उन्हें एक्सेस कर सकेंगे)।
|
||||
|
||||
हालांकि, **यहां तक कि** यदि फ़ाइल **निजी** है, तो कंसोल से एक लिंक के साथ फ़ाइल साझा करना संभव है जैसे `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` एक निश्चित समय के लिए:
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Basic Information
|
||||
|
||||
DigitalOcean volumes **ब्लॉक स्टोरेज** उपकरण हैं जिन्हें **Droplets से जोड़ा और हटाया** जा सकता है। वॉल्यूम्स **डेटा स्टोर करने** के लिए उपयोगी हैं जिन्हें **Droplet** से स्वतंत्र रूप से **स्थायी** रहने की आवश्यकता होती है, जैसे डेटाबेस या फ़ाइल स्टोरेज। इन्हें आकार में बदला जा सकता है, कई Droplets से जोड़ा जा सकता है, और बैकअप के लिए स्नैपशॉट लिया जा सकता है।
|
||||
DigitalOcean वॉल्यूम **ब्लॉक स्टोरेज** उपकरण हैं जिन्हें **ड्रॉपलेट्स से जोड़ा और हटाया** जा सकता है। वॉल्यूम **डेटा स्टोर करने** के लिए उपयोगी हैं जिसे **ड्रॉपलेट** से स्वतंत्र रूप से **स्थायी** रहने की आवश्यकता होती है, जैसे डेटाबेस या फ़ाइल स्टोरेज। इन्हें आकार में बदला जा सकता है, कई ड्रॉपलेट्स से जोड़ा जा सकता है, और बैकअप के लिए स्नैपशॉट लिया जा सकता है।
|
||||
|
||||
### Enumeration
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user