Translated ['src/README.md', 'src/banners/hacktricks-training.md', 'src/

This commit is contained in:
Translator
2024-12-31 20:20:29 +00:00
parent 77a009d308
commit 4bcd54c1b6
245 changed files with 9959 additions and 12700 deletions

View File

@@ -4,46 +4,45 @@
## Amazon Redshift
Redshift is a fully managed service that can scale up to over a petabyte in size, which is used as a **data warehouse for big data solutions**. Using Redshift clusters, you are able to run analytics against your datasets using fast, SQL-based query tools and business intelligence applications to gather greater understanding of vision for your business.
Redshift ist ein vollständig verwalteter Dienst, der auf über ein Petabyte an Größe skalieren kann und als **Datenlager für Big Data-Lösungen** verwendet wird. Mit Redshift-Clustern können Sie Analysen an Ihren Datensätzen durchführen, indem Sie schnelle, SQL-basierte Abfragewerkzeuge und Business-Intelligence-Anwendungen verwenden, um ein besseres Verständnis für die Vision Ihres Unternehmens zu gewinnen.
**Redshift offers encryption at rest using a four-tired hierarchy of encryption keys using either KMS or CloudHSM to manage the top tier of keys**. **When encryption is enabled for your cluster, it can't be disable and vice versa**. When you have an unencrypted cluster, it can't be encrypted.
**Redshift bietet Verschlüsselung im Ruhezustand mit einer vierstufigen Hierarchie von Verschlüsselungsschlüsseln, die entweder KMS oder CloudHSM zur Verwaltung der obersten Ebene von Schlüsseln verwenden**. **Wenn die Verschlüsselung für Ihr Cluster aktiviert ist, kann sie nicht deaktiviert werden und umgekehrt**. Wenn Sie ein unverschlüsseltes Cluster haben, kann es nicht verschlüsselt werden.
Encryption for your cluster can only happen during its creation, and once encrypted, the data, metadata, and any snapshots are also encrypted. The tiering level of encryption keys are as follows, **tier one is the master key, tier two is the cluster encryption key, the CEK, tier three, the database encryption key, the DEK, and finally tier four, the data encryption keys themselves**.
Die Verschlüsselung für Ihr Cluster kann nur während seiner Erstellung erfolgen, und einmal verschlüsselt, sind die Daten, Metadaten und alle Snapshots ebenfalls verschlüsselt. Die Stufen der Verschlüsselungsschlüssel sind wie folgt: **Stufe eins ist der Master-Schlüssel, Stufe zwei ist der Cluster-Verschlüsselungsschlüssel, der CEK, Stufe drei, der Datenbank-Verschlüsselungsschlüssel, der DEK, und schließlich Stufe vier, die Datenverschlüsselungsschlüssel selbst**.
### KMS
During the creation of your cluster, you can either select the **default KMS key** for Redshift or select your **own CMK**, which gives you more flexibility over the control of the key, specifically from an auditable perspective.
Während der Erstellung Ihres Clusters können Sie entweder den **Standard-KMS-Schlüssel** für Redshift auswählen oder Ihren **eigenen CMK** auswählen, was Ihnen mehr Flexibilität bei der Kontrolle des Schlüssels gibt, insbesondere aus einer prüfbaren Perspektive.
The default KMS key for Redshift is automatically created by Redshift the first time the key option is selected and used, and it is fully managed by AWS.
Der Standard-KMS-Schlüssel für Redshift wird automatisch von Redshift erstellt, wenn die Schlüsseloption zum ersten Mal ausgewählt und verwendet wird, und er wird vollständig von AWS verwaltet.
This KMS key is then encrypted with the CMK master key, tier one. This encrypted KMS data key is then used as the cluster encryption key, the CEK, tier two. This CEK is then sent by KMS to Redshift where it is stored separately from the cluster. Redshift then sends this encrypted CEK to the cluster over a secure channel where it is stored in memory.
Dieser KMS-Schlüssel wird dann mit dem CMK-Master-Schlüssel, Stufe eins, verschlüsselt. Dieser verschlüsselte KMS-Datenschlüssel wird dann als Cluster-Verschlüsselungsschlüssel, der CEK, Stufe zwei, verwendet. Dieser CEK wird dann von KMS an Redshift gesendet, wo er separat vom Cluster gespeichert wird. Redshift sendet dann diesen verschlüsselten CEK über einen sicheren Kanal an das Cluster, wo er im Speicher gespeichert wird.
Redshift then requests KMS to decrypt the CEK, tier two. This decrypted CEK is then also stored in memory. Redshift then creates a random database encryption key, the DEK, tier three, and loads that into the memory of the cluster. The decrypted CEK in memory then encrypts the DEK, which is also stored in memory.
Redshift fordert dann KMS auf, den CEK, Stufe zwei, zu entschlüsseln. Dieser entschlüsselte CEK wird dann ebenfalls im Speicher gespeichert. Redshift erstellt dann einen zufälligen Datenbank-Verschlüsselungsschlüssel, den DEK, Stufe drei, und lädt diesen in den Speicher des Clusters. Der entschlüsselte CEK im Speicher verschlüsselt dann den DEK, der ebenfalls im Speicher gespeichert wird.
This encrypted DEK is then sent over a secure channel and stored in Redshift separately from the cluster. Both the CEK and the DEK are now stored in memory of the cluster both in an encrypted and decrypted form. The decrypted DEK is then used to encrypt data keys, tier four, that are randomly generated by Redshift for each data block in the database.
Dieser verschlüsselte DEK wird dann über einen sicheren Kanal gesendet und in Redshift separat vom Cluster gespeichert. Sowohl der CEK als auch der DEK sind jetzt im Speicher des Clusters sowohl in verschlüsselter als auch in entschlüsselter Form gespeichert. Der entschlüsselte DEK wird dann verwendet, um Datenverschlüsselungsschlüssel, Stufe vier, zu verschlüsseln, die von Redshift für jeden Datenblock in der Datenbank zufällig generiert werden.
You can use AWS Trusted Advisor to monitor the configuration of your Amazon S3 buckets and ensure that bucket logging is enabled, which can be useful for performing security audits and tracking usage patterns in S3.
Sie können AWS Trusted Advisor verwenden, um die Konfiguration Ihrer Amazon S3-Buckets zu überwachen und sicherzustellen, dass das Bucket-Logging aktiviert ist, was nützlich sein kann, um Sicherheitsprüfungen durchzuführen und Nutzungsmuster in S3 zu verfolgen.
### CloudHSM
<details>
<summary>Using Redshift with CloudHSM</summary>
<summary>Verwendung von Redshift mit CloudHSM</summary>
When working with CloudHSM to perform your encryption, firstly you must set up a trusted connection between your HSM client and Redshift while using client and server certificates.
Wenn Sie mit CloudHSM arbeiten, um Ihre Verschlüsselung durchzuführen, müssen Sie zunächst eine vertrauenswürdige Verbindung zwischen Ihrem HSM-Client und Redshift einrichten, während Sie Client- und Serverzertifikate verwenden.
This connection is required to provide secure communications, allowing encryption keys to be sent between your HSM client and your Redshift clusters. Using a randomly generated private and public key pair, Redshift creates a public client certificate, which is encrypted and stored by Redshift. This must be downloaded and registered to your HSM client, and assigned to the correct HSM partition.
Diese Verbindung ist erforderlich, um sichere Kommunikationen bereitzustellen, die es ermöglichen, Verschlüsselungsschlüssel zwischen Ihrem HSM-Client und Ihren Redshift-Clustern zu senden. Mit einem zufällig generierten privaten und öffentlichen Schlüsselpaar erstellt Redshift ein öffentliches Client-Zertifikat, das von Redshift verschlüsselt und gespeichert wird. Dies muss heruntergeladen und Ihrem HSM-Client registriert sowie dem richtigen HSM-Partition zugewiesen werden.
You must then configure Redshift with the following details of your HSM client: the HSM IP address, the HSM partition name, the HSM partition password, and the public HSM server certificate, which is encrypted by CloudHSM using an internal master key. Once this information has been provided, Redshift will confirm and verify that it can connect and access development partition.
Sie müssen dann Redshift mit den folgenden Details Ihres HSM-Clients konfigurieren: die HSM-IP-Adresse, den Namen der HSM-Partition, das Passwort der HSM-Partition und das öffentliche HSM-Serverzertifikat, das von CloudHSM mit einem internen Master-Schlüssel verschlüsselt wird. Sobald diese Informationen bereitgestellt wurden, wird Redshift bestätigen und überprüfen, dass es sich mit der Entwicklungspartition verbinden und darauf zugreifen kann.
If your internal security policies or governance controls dictate that you must apply key rotation, then this is possible with Redshift enabling you to rotate encryption keys for encrypted clusters, however, you do need to be aware that during the key rotation process, it will make a cluster unavailable for a very short period of time, and so it's best to only rotate keys as and when you need to, or if you feel they may have been compromised.
Wenn Ihre internen Sicherheitsrichtlinien oder Governance-Kontrollen vorschreiben, dass Sie eine Schlüsselrotation anwenden müssen, ist dies mit Redshift möglich, sodass Sie Verschlüsselungsschlüssel für verschlüsselte Cluster rotieren können. Sie müssen jedoch beachten, dass während des Schlüsselrotationsprozesses das Cluster für einen sehr kurzen Zeitraum nicht verfügbar sein wird, und es ist am besten, Schlüssel nur dann zu rotieren, wenn Sie es benötigen oder wenn Sie das Gefühl haben, dass sie möglicherweise kompromittiert wurden.
During the rotation, Redshift will rotate the CEK for your cluster and for any backups of that cluster. It will rotate a DEK for the cluster but it's not possible to rotate a DEK for the snapshots stored in S3 that have been encrypted using the DEK. It will put the cluster into a state of 'rotating keys' until the process is completed when the status will return to 'available'.
Während der Rotation wird Redshift den CEK für Ihr Cluster und für alle Backups dieses Clusters rotieren. Es wird einen DEK für das Cluster rotieren, aber es ist nicht möglich, einen DEK für die in S3 gespeicherten Snapshots zu rotieren, die mit dem DEK verschlüsselt wurden. Es wird das Cluster in einen Zustand 'Schlüssel rotieren' versetzen, bis der Prozess abgeschlossen ist, wenn der Status wieder auf 'verfügbar' zurückkehrt.
</details>
### Enumeration
```bash
# Get clusters
aws redshift describe-clusters
@@ -82,7 +81,6 @@ aws redshift describe-scheduled-actions
# The redshift instance must be publicly available (not by default), the sg need to allow inbounds connections to the port and you need creds
psql -h redshift-cluster-1.sdflju3jdfkfg.us-east-1.redshift.amazonaws.com -U admin -d dev -p 5439
```
## Privesc
{{#ref}}
@@ -91,13 +89,9 @@ psql -h redshift-cluster-1.sdflju3jdfkfg.us-east-1.redshift.amazonaws.com -U adm
## Persistence
The following actions allow to grant access to other AWS accounts to the cluster:
Die folgenden Aktionen ermöglichen den Zugriff auf den Cluster für andere AWS-Konten:
- [authorize-endpoint-access](https://docs.aws.amazon.com/cli/latest/reference/redshift/authorize-endpoint-access.html)
- [authorize-snapshot-access](https://docs.aws.amazon.com/cli/latest/reference/redshift/authorize-snapshot-access.html)
{{#include ../../../banners/hacktricks-training.md}}