<summary><strong>Erlernen Sie AWS-Hacking von Null auf Held mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](https://peass.creator-spring.com)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositorys einreichen.
**Sofort verfügbare Einrichtung für Schwachstellenbewertung und Penetrationstests**. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Exploit-Module, um ihnen etwas Zeit zurückzugeben, um tiefer zu graben, Shells zu öffnen und Spaß zu haben.
In einigen Fällen wird der Endpunkt **`/console`** durch eine PIN geschützt sein. Wenn Sie eine **Dateitraversal-Schwachstelle** haben, können Sie alle notwendigen Informationen preisgeben, um diese PIN zu generieren.
Eine Nachricht bezüglich des Szenarios "Konsole gesperrt" wird beim Versuch, auf die Debug-Schnittstelle von Werkzeug zuzugreifen, angezeigt, was auf die Notwendigkeit einer PIN zur Entsperrung der Konsole hinweist. Es wird vorgeschlagen, die Konsole-PIN auszunutzen, indem der PIN-Generierungsalgorithmus in der Debug-Initialisierungsdatei von Werkzeug (`__init__.py`) analysiert wird. Der PIN-Generierungsmechanismus kann aus dem [**Werkzeug-Quellcode-Repository**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/__init__.py) studiert werden, obwohl empfohlen wird, den tatsächlichen Servercode über eine Dateitraversierbarkeitslücke zu beschaffen, aufgrund potenzieller Versionsunterschiede.
* **`getattr(mod, '__file__', None)`**: Stellt den vollständigen Pfad zu `app.py` im Flask-Verzeichnis dar (z. B. `/usr/local/lib/python3.5/dist-packages/flask/app.py`). Wenn `app.py` nicht zutreffend ist, **versuchen Sie es mit `app.pyc`**.
* **`uuid.getnode()`**: Ruft die MAC-Adresse des aktuellen Geräts ab, wobei `str(uuid.getnode())` diese in ein Dezimalformat übersetzt.
* Um die **MAC-Adresse des Servers zu bestimmen**, muss die aktive Netzwerkschnittstelle identifiziert werden, die von der App verwendet wird (z. B. `ens3`). Bei Unsicherheit **leaken Sie `/proc/net/arp`**, um die Geräte-ID zu finden, und **extrahieren Sie dann die MAC-Adresse** aus **`/sys/class/net/<Geräte-ID>/address`**.
* Die Umwandlung einer hexadezimalen MAC-Adresse in Dezimal kann wie folgt durchgeführt werden:
* **`get_machine_id()`**: Verknüpft Daten aus `/etc/machine-id` oder `/proc/sys/kernel/random/boot_id` mit der ersten Zeile von `/proc/self/cgroup` nach dem letzten Schrägstrich (`/`).
Nachdem alle erforderlichen Daten gesammelt wurden, kann das Exploit-Skript ausgeführt werden, um die Werkzeug-Konsole-PIN zu generieren. Das Skript verwendet die zusammengestellten `probably_public_bits` und `private_bits`, um einen Hash zu erstellen, der dann weiterverarbeitet wird, um die endgültige PIN zu erzeugen. Im Folgenden finden Sie den Python-Code zur Ausführung dieses Prozesses:
Dieses Skript erzeugt die PIN, indem es die konkatenierten Bits hashiert, spezifische Salze (`cookiesalt` und `pinsalt`) hinzufügt und das Ergebnis formatiert. Es ist wichtig zu beachten, dass die tatsächlichen Werte für `probably_public_bits` und `private_bits` genau vom Zielsystem erhalten werden müssen, um sicherzustellen, dass die generierte PIN mit der von der Werkzeug-Konsole erwarteten übereinstimmt.
Wie in [**diesem Problem**](https://github.com/pallets/werkzeug/issues/2833) festgestellt, schließt Werkzeug keine Anfrage mit Unicode-Zeichen in den Headern. Und wie in [**diesem Bericht**](https://mizu.re/post/twisty-python) erklärt, könnte dies eine CL.0 Request Smuggling-Schwachstelle verursachen.
Dies liegt daran, dass es in Werkzeug möglich ist, einige **Unicode**-Zeichen zu senden und den Server zum **Absturz** zu bringen. Wenn jedoch die HTTP-Verbindung mit dem Header **`Connection: keep-alive`** erstellt wurde, wird der Body der Anfrage nicht gelesen und die Verbindung bleibt offen, sodass der **Body** der Anfrage als **nächste HTTP-Anfrage** behandelt wird.
**Sofort verfügbare Einrichtung für Schwachstellenbewertung & Penetrationstests**. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- & Exploit-Module, um ihnen etwas Zeit zu geben, tiefer zu graben, Shells zu öffnen und Spaß zu haben.
<summary><strong>Erlernen Sie AWS-Hacking von Null auf Held mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen** oder **HackTricks als PDF herunterladen** möchten, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories einreichen.