AWS - EMR Enum

Reading time: 4 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

EMR

Der Elastic MapReduce (EMR) Dienst von AWS, beginnend mit Version 4.8.0, führte eine Sicherheitskonfiguration-Funktion ein, die den Datenschutz verbessert, indem sie es Benutzern ermöglicht, Verschlüsselungseinstellungen für Daten im Ruhezustand und während der Übertragung innerhalb von EMR-Clustern festzulegen, die skalierbare Gruppen von EC2-Instanzen sind, die entwickelt wurden, um Big-Data-Frameworks wie Apache Hadoop und Spark zu verarbeiten.

Wichtige Merkmale sind:

  • Cluster-Verschlüsselung Standard: Standardmäßig sind Daten im Ruhezustand innerhalb eines Clusters nicht verschlüsselt. Die Aktivierung der Verschlüsselung bietet Zugriff auf mehrere Funktionen:
  • Linux Unified Key Setup: Verschlüsselt EBS-Cluster-Volumes. Benutzer können den AWS Key Management Service (KMS) oder einen benutzerdefinierten Schlüsselanbieter wählen.
  • Open-Source HDFS-Verschlüsselung: Bietet zwei Verschlüsselungsoptionen für Hadoop:
  • Sichere Hadoop RPC (Remote Procedure Call), auf Datenschutz eingestellt, nutzt die Simple Authentication Security Layer.
  • HDFS Blockübertragungsverschlüsselung, auf true eingestellt, verwendet den AES-256-Algorithmus.
  • Verschlüsselung während der Übertragung: Konzentriert sich auf die Sicherung von Daten während der Übertragung. Optionen sind:
  • Open Source Transport Layer Security (TLS): Die Verschlüsselung kann aktiviert werden, indem ein Zertifikatsanbieter gewählt wird:
  • PEM: Erfordert die manuelle Erstellung und Bündelung von PEM-Zertifikaten in einer Zip-Datei, die aus einem S3-Bucket referenziert wird.
  • Benutzerdefiniert: Beinhaltet das Hinzufügen einer benutzerdefinierten Java-Klasse als Zertifikatsanbieter, die Verschlüsselungsartefakte bereitstellt.

Sobald ein TLS-Zertifikatsanbieter in die Sicherheitskonfiguration integriert ist, können die folgenden anwendungsspezifischen Verschlüsselungsfunktionen aktiviert werden, die je nach EMR-Version variieren:

  • Hadoop:
  • Könnte die verschlüsselte Shuffle unter Verwendung von TLS reduzieren.
  • Sichere Hadoop RPC mit Simple Authentication Security Layer und HDFS Block Transfer mit AES-256 werden mit der Verschlüsselung im Ruhezustand aktiviert.
  • Presto (EMR-Version 5.6.0+):
  • Die interne Kommunikation zwischen Presto-Knoten wird mit SSL und TLS gesichert.
  • Tez Shuffle Handler:
  • Nutzt TLS zur Verschlüsselung.
  • Spark:
  • Verwendet TLS für das Akka-Protokoll.
  • Nutzt die Simple Authentication Security Layer und 3DES für den Block Transfer Service.
  • Der externe Shuffle-Dienst ist mit der Simple Authentication Security Layer gesichert.

Diese Funktionen verbessern insgesamt die Sicherheitslage von EMR-Clustern, insbesondere in Bezug auf den Datenschutz während der Speicher- und Übertragungsphasen.

Enumeration

bash
aws emr list-clusters
aws emr describe-cluster --cluster-id <id>
aws emr list-instances --cluster-id <id>
aws emr list-instance-fleets --cluster-id <id>
aws emr list-steps --cluster-id <id>
aws emr list-notebook-executions
aws emr list-security-configurations
aws emr list-studios #Get studio URLs

Privesc

AWS - EMR Privesc

Referenzen

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks