diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 0b96b38ef..e70bceed6 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index e70bceed6..d798d9edc 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index d798d9edc..1ec78aebd 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png
index 1ec78aebd..020fb69e2 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png
index 020fb69e2..e3657baf3 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png
index e3657baf3..f95e8e4d5 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1).png
index f95e8e4d5..9dcb86f81 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1).png
index 9dcb86f81..f3314db22 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1).png
index f3314db22..7a07c3343 100644
Binary files a/.gitbook/assets/image (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1).png b/.gitbook/assets/image (1) (1).png
index 7a07c3343..b40c8ed4a 100644
Binary files a/.gitbook/assets/image (1) (1).png and b/.gitbook/assets/image (1) (1).png differ
diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png
index b40c8ed4a..977c3f327 100644
Binary files a/.gitbook/assets/image (1).png and b/.gitbook/assets/image (1).png differ
diff --git a/.gitbook/assets/image (10) (1) (1) (1) (1).png b/.gitbook/assets/image (10) (1) (1) (1) (1).png
new file mode 100644
index 000000000..00fb8b946
Binary files /dev/null and b/.gitbook/assets/image (10) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (10) (1) (1) (1).png b/.gitbook/assets/image (10) (1) (1) (1).png
index 00fb8b946..210d7bd3f 100644
Binary files a/.gitbook/assets/image (10) (1) (1) (1).png and b/.gitbook/assets/image (10) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (10) (1) (1).png b/.gitbook/assets/image (10) (1) (1).png
index 210d7bd3f..b50bbce21 100644
Binary files a/.gitbook/assets/image (10) (1) (1).png and b/.gitbook/assets/image (10) (1) (1).png differ
diff --git a/.gitbook/assets/image (10) (1).png b/.gitbook/assets/image (10) (1).png
index b50bbce21..967f978dc 100644
Binary files a/.gitbook/assets/image (10) (1).png and b/.gitbook/assets/image (10) (1).png differ
diff --git a/.gitbook/assets/image (10).png b/.gitbook/assets/image (10).png
index 967f978dc..5fa35d5f4 100644
Binary files a/.gitbook/assets/image (10).png and b/.gitbook/assets/image (10).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png
index 68b506e08..82f1650c7 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png
index 82f1650c7..176e28e26 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1).png
index 176e28e26..64296ef72 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1).png
index 64296ef72..50038b5d5 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1).png b/.gitbook/assets/image (2) (1) (1).png
index 50038b5d5..9dcb86f81 100644
Binary files a/.gitbook/assets/image (2) (1) (1).png and b/.gitbook/assets/image (2) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1).png b/.gitbook/assets/image (2) (1).png
index 9dcb86f81..5fa9a546e 100644
Binary files a/.gitbook/assets/image (2) (1).png and b/.gitbook/assets/image (2) (1).png differ
diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png
index 5fa9a546e..ed89ddb73 100644
Binary files a/.gitbook/assets/image (2).png and b/.gitbook/assets/image (2).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png
index 78abb7891..f2f640d8c 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png
index f2f640d8c..17acb7d7e 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1).png
index 17acb7d7e..11b8e0e8c 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1).png
index 11b8e0e8c..dffdfc131 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1).png b/.gitbook/assets/image (3) (1) (1).png
index dffdfc131..736d79e58 100644
Binary files a/.gitbook/assets/image (3) (1) (1).png and b/.gitbook/assets/image (3) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1).png b/.gitbook/assets/image (3) (1).png
index 736d79e58..2a0aece08 100644
Binary files a/.gitbook/assets/image (3) (1).png and b/.gitbook/assets/image (3) (1).png differ
diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png
index 2a0aece08..c28b6f1d6 100644
Binary files a/.gitbook/assets/image (3).png and b/.gitbook/assets/image (3).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1).png
index bc4b76df1..ffd8adf04 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1).png
index ffd8adf04..ee3722524 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png
index ee3722524..92ceed745 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1).png
index 92ceed745..4c7c93f13 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1).png
index 4c7c93f13..fc56a6956 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1).png b/.gitbook/assets/image (4) (1) (1).png
index fc56a6956..645f58c3e 100644
Binary files a/.gitbook/assets/image (4) (1) (1).png and b/.gitbook/assets/image (4) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1).png b/.gitbook/assets/image (4) (1).png
index 645f58c3e..2ff839cf1 100644
Binary files a/.gitbook/assets/image (4) (1).png and b/.gitbook/assets/image (4) (1).png differ
diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png
index 2ff839cf1..bf3f22e32 100644
Binary files a/.gitbook/assets/image (4).png and b/.gitbook/assets/image (4).png differ
diff --git a/.gitbook/assets/image (5) (1) (1) (1) (1).png b/.gitbook/assets/image (5) (1) (1) (1) (1).png
index b2c2c3d26..70413c7ff 100644
Binary files a/.gitbook/assets/image (5) (1) (1) (1) (1).png and b/.gitbook/assets/image (5) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (5) (1) (1) (1).png b/.gitbook/assets/image (5) (1) (1) (1).png
index 70413c7ff..e7f03abf8 100644
Binary files a/.gitbook/assets/image (5) (1) (1) (1).png and b/.gitbook/assets/image (5) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (5) (1) (1).png b/.gitbook/assets/image (5) (1) (1).png
index e7f03abf8..ec0ab0837 100644
Binary files a/.gitbook/assets/image (5) (1) (1).png and b/.gitbook/assets/image (5) (1) (1).png differ
diff --git a/.gitbook/assets/image (5) (1).png b/.gitbook/assets/image (5) (1).png
index ec0ab0837..35fb63c4e 100644
Binary files a/.gitbook/assets/image (5) (1).png and b/.gitbook/assets/image (5) (1).png differ
diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png
index 35fb63c4e..4aa826f34 100644
Binary files a/.gitbook/assets/image (5).png and b/.gitbook/assets/image (5).png differ
diff --git a/.gitbook/assets/image (6) (1) (1) (1) (1).png b/.gitbook/assets/image (6) (1) (1) (1) (1).png
new file mode 100644
index 000000000..3646dc3f3
Binary files /dev/null and b/.gitbook/assets/image (6) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (6) (1) (1) (1).png b/.gitbook/assets/image (6) (1) (1) (1).png
index 3646dc3f3..e5ab74cb8 100644
Binary files a/.gitbook/assets/image (6) (1) (1) (1).png and b/.gitbook/assets/image (6) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (6) (1) (1).png b/.gitbook/assets/image (6) (1) (1).png
index e5ab74cb8..862b51b61 100644
Binary files a/.gitbook/assets/image (6) (1) (1).png and b/.gitbook/assets/image (6) (1) (1).png differ
diff --git a/.gitbook/assets/image (6) (1).png b/.gitbook/assets/image (6) (1).png
index 862b51b61..43f76e523 100644
Binary files a/.gitbook/assets/image (6) (1).png and b/.gitbook/assets/image (6) (1).png differ
diff --git a/.gitbook/assets/image (6).png b/.gitbook/assets/image (6).png
index 43f76e523..c8e4824db 100644
Binary files a/.gitbook/assets/image (6).png and b/.gitbook/assets/image (6).png differ
diff --git a/.gitbook/assets/image (7) (1) (1) (1) (1).png b/.gitbook/assets/image (7) (1) (1) (1) (1).png
index 7510b6e7e..13854046c 100644
Binary files a/.gitbook/assets/image (7) (1) (1) (1) (1).png and b/.gitbook/assets/image (7) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (7) (1) (1) (1).png b/.gitbook/assets/image (7) (1) (1) (1).png
index 13854046c..511d74528 100644
Binary files a/.gitbook/assets/image (7) (1) (1) (1).png and b/.gitbook/assets/image (7) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (7) (1) (1).png b/.gitbook/assets/image (7) (1) (1).png
index 511d74528..6b5ed45a3 100644
Binary files a/.gitbook/assets/image (7) (1) (1).png and b/.gitbook/assets/image (7) (1) (1).png differ
diff --git a/.gitbook/assets/image (7) (1).png b/.gitbook/assets/image (7) (1).png
index 6b5ed45a3..1ecf1f881 100644
Binary files a/.gitbook/assets/image (7) (1).png and b/.gitbook/assets/image (7) (1).png differ
diff --git a/.gitbook/assets/image (7).png b/.gitbook/assets/image (7).png
index 1ecf1f881..1a0d0a962 100644
Binary files a/.gitbook/assets/image (7).png and b/.gitbook/assets/image (7).png differ
diff --git a/.gitbook/assets/image (8) (1) (1) (1) (1).png b/.gitbook/assets/image (8) (1) (1) (1) (1).png
new file mode 100644
index 000000000..6c2c20ea1
Binary files /dev/null and b/.gitbook/assets/image (8) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (8) (1) (1) (1).png b/.gitbook/assets/image (8) (1) (1) (1).png
index 6c2c20ea1..4464dc171 100644
Binary files a/.gitbook/assets/image (8) (1) (1) (1).png and b/.gitbook/assets/image (8) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (8) (1) (1).png b/.gitbook/assets/image (8) (1) (1).png
index 4464dc171..f3c1e1e90 100644
Binary files a/.gitbook/assets/image (8) (1) (1).png and b/.gitbook/assets/image (8) (1) (1).png differ
diff --git a/.gitbook/assets/image (8) (1).png b/.gitbook/assets/image (8) (1).png
index f3c1e1e90..74e74b70b 100644
Binary files a/.gitbook/assets/image (8) (1).png and b/.gitbook/assets/image (8) (1).png differ
diff --git a/.gitbook/assets/image (8).png b/.gitbook/assets/image (8).png
index 74e74b70b..ae6e0de9a 100644
Binary files a/.gitbook/assets/image (8).png and b/.gitbook/assets/image (8).png differ
diff --git a/.gitbook/assets/image (9) (1) (1) (1) (1).png b/.gitbook/assets/image (9) (1) (1) (1) (1).png
new file mode 100644
index 000000000..2c0467343
Binary files /dev/null and b/.gitbook/assets/image (9) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (9) (1) (1) (1).png b/.gitbook/assets/image (9) (1) (1) (1).png
index 2c0467343..a3d5f99f0 100644
Binary files a/.gitbook/assets/image (9) (1) (1) (1).png and b/.gitbook/assets/image (9) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (9) (1) (1).png b/.gitbook/assets/image (9) (1) (1).png
index a3d5f99f0..3530fa487 100644
Binary files a/.gitbook/assets/image (9) (1) (1).png and b/.gitbook/assets/image (9) (1) (1).png differ
diff --git a/.gitbook/assets/image (9) (1).png b/.gitbook/assets/image (9) (1).png
index 3530fa487..b415d20a6 100644
Binary files a/.gitbook/assets/image (9) (1).png and b/.gitbook/assets/image (9) (1).png differ
diff --git a/.gitbook/assets/image (9).png b/.gitbook/assets/image (9).png
index b415d20a6..367b6e347 100644
Binary files a/.gitbook/assets/image (9).png and b/.gitbook/assets/image (9).png differ
diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png
index 5fa35d5f4..0b2fb1ac2 100644
Binary files a/.gitbook/assets/image.png and b/.gitbook/assets/image.png differ
diff --git a/binary-exploitation/format-strings/README.md b/binary-exploitation/format-strings/README.md
index 5bd171fe1..0541403fb 100644
--- a/binary-exploitation/format-strings/README.md
+++ b/binary-exploitation/format-strings/README.md
@@ -1,8 +1,8 @@
# Format Strings
{% 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)
@@ -10,23 +10,22 @@ Lerne & übe GCP Hacking:
{% endhint %}
-
+
Wenn du an einer **Hacking-Karriere** interessiert bist und das Unhackbare hacken möchtest - **wir stellen ein!** (_fließend Polnisch in Wort und Schrift erforderlich_).
{% embed url="https://www.stmcyber.com/careers" %}
-
## Grundinformationen
-In C **`printf`** ist eine Funktion, die verwendet werden kann, um **einen** String **auszugeben**. Der **erste Parameter**, den diese Funktion erwartet, ist der **rohe Text mit den Formatierern**. Die **folgenden Parameter**, die erwartet werden, sind die **Werte**, um die **Formatierer** aus dem rohen Text zu **ersetzen**.
+In C **`printf`** ist eine Funktion, die verwendet werden kann, um **einen String auszugeben**. Der **erste Parameter**, den diese Funktion erwartet, ist der **rohe Text mit den Formatierern**. Die **folgenden Parameter**, die erwartet werden, sind die **Werte**, um die **Formatierer** aus dem rohen Text zu **ersetzen**.
-Andere verwundbare Funktionen sind **`sprintf()`** und **`fprintf()`**.
+Andere anfällige Funktionen sind **`sprintf()`** und **`fprintf()`**.
Die Verwundbarkeit tritt auf, wenn ein **Angreifertext als erstes Argument** an diese Funktion übergeben wird. Der Angreifer kann eine **spezielle Eingabe erstellen, die** die **printf-Format**-String-Funktionen ausnutzt, um **beliebige Daten an beliebiger Adresse (lesbar/schreibbar)** zu lesen und **zu schreiben**. Dadurch ist es möglich, **beliebigen Code auszuführen**.
@@ -73,7 +72,7 @@ return 0;
```
### **Zugriff auf Zeiger**
-Das Format **`%$x`**, wobei `n` eine Zahl ist, ermöglicht es, printf anzuweisen, den n-ten Parameter (vom Stack) auszuwählen. Wenn Sie also den 4. Parameter vom Stack mit printf lesen möchten, könnten Sie Folgendes tun:
+Das Format **`%$x`**, wobei `n` eine Zahl ist, ermöglicht es, printf anzuzeigen, dass der n-te Parameter (vom Stack) ausgewählt werden soll. Wenn Sie also den 4. Parameter vom Stack mit printf lesen möchten, könnten Sie Folgendes tun:
```c
printf("%x %x %x %x")
```
@@ -112,7 +111,7 @@ Beachten Sie, dass Sie die Adresse 0x8048000 nicht am Anfang der Eingabe setzen
### Offset finden
-Um den Offset zu Ihrer Eingabe zu finden, könnten Sie 4 oder 8 Bytes (`0x41414141`) gefolgt von **`%1$x`** senden und den Wert **erhöhen**, bis Sie die `A's` erhalten.
+Um den Offset zu Ihrer Eingabe zu finden, könnten Sie 4 oder 8 Bytes (`0x41414141`) senden, gefolgt von **`%1$x`** und den Wert **erhöhen**, bis Sie die `A's` erhalten.
@@ -163,7 +162,7 @@ Glücklicherweise ist es nicht nötig, 9999 "A"s zur Eingabe hinzuzufügen, um d
AAAA%.6000d%4\$n —> Write 6004 in the address indicated by the 4º param
AAAA.%500\$08x —> Param at offset 500
```
-Allerdings ist zu beachten, dass normalerweise, um eine Adresse wie `0x08049724` (was eine RIESIGE Zahl ist, die man auf einmal schreiben muss) zu schreiben, **`$hn`** anstelle von **`$n`** verwendet wird. Dies ermöglicht es, **nur 2 Bytes** zu schreiben. Daher wird dieser Vorgang zweimal durchgeführt, einmal für die höchsten 2B der Adresse und ein weiteres Mal für die niedrigeren.
+Allerdings ist zu beachten, dass normalerweise, um eine Adresse wie `0x08049724` (die eine RIESIGE Zahl ist, die man auf einmal schreiben muss) zu schreiben, **`$hn`** anstelle von **`$n`** verwendet wird. Dies ermöglicht es, **nur 2 Bytes** zu schreiben. Daher wird dieser Vorgang zweimal durchgeführt, einmal für die höchsten 2B der Adresse und ein weiteres Mal für die niedrigeren.
Daher ermöglicht diese Schwachstelle, **alles an jede Adresse zu schreiben (willkürliches Schreiben).**
@@ -222,7 +221,7 @@ p.sendline('/bin/sh')
p.interactive()
```
-## Format-Strings zu BOF
+## Format Strings zu BOF
Es ist möglich, die Schreibaktionen einer Format-String-Sicherheitsanfälligkeit auszunutzen, um **in Adressen des Stacks zu schreiben** und eine **Buffer Overflow**-Art von Sicherheitsanfälligkeit auszunutzen.
@@ -238,21 +237,19 @@ Es ist möglich, die Schreibaktionen einer Format-String-Sicherheitsanfälligkei
* [https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html)
* 32 Bit, relro, kein canary, nx, kein pie, Format-String, um eine Adresse innerhalb von main in `.fini_array` zu schreiben (damit der Fluss ein weiteres Mal zurückläuft) und die Adresse zu `system` in der GOT-Tabelle zu schreiben, die auf `strlen` zeigt. Wenn der Fluss zurück zu main geht, wird `strlen` mit Benutzereingaben ausgeführt und zeigt auf `system`, es werden die übergebenen Befehle ausgeführt.
-
+
Wenn Sie an einer **Hacking-Karriere** interessiert sind und das Unhackbare hacken möchten - **wir stellen ein!** (_fließend Polnisch in Wort und Schrift erforderlich_).
{% embed url="https://www.stmcyber.com/careers" %}
{% 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)
+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
+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)**.**
* **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/binary-exploitation/libc-heap/README.md b/binary-exploitation/libc-heap/README.md
index 5c21c591a..3e08d0756 100644
--- a/binary-exploitation/libc-heap/README.md
+++ b/binary-exploitation/libc-heap/README.md
@@ -90,7 +90,7 @@ Es gibt einige interessante Dinge, die man aus dieser Struktur beachten sollte (
* Daher wird der **erste Chunk** dieser Bins einen **rückwärts gerichteten Zeiger auf diese Struktur** haben und der **letzte Chunk** dieser Bins wird einen **vorwärts gerichteten Zeiger** auf diese Struktur haben. Das bedeutet im Grunde, dass wenn du diese Adressen in der Hauptarena **leaken** kannst, du einen Zeiger auf die Struktur in der **libc** haben wirst.
* Die Strukturen `struct malloc_state *next;` und `struct malloc_state *next_free;` sind verkettete Listen von Arenen
* Der `top` Chunk ist der letzte "Chunk", der im Grunde **den gesamten verbleibenden Speicher des Heaps** darstellt. Sobald der Top-Chuck "leer" ist, ist der Heap vollständig genutzt und es muss mehr Speicher angefordert werden.
-* Der `last reminder` Chunk stammt aus Fällen, in denen ein Chunk mit genau der Größe nicht verfügbar ist und daher ein größerer Chunk geteilt wird, ein Zeiger auf den verbleibenden Teil wird hier platziert.
+* Der `letzte verbleibende` Chunk stammt aus Fällen, in denen ein Chunk in exakter Größe nicht verfügbar ist und daher ein größerer Chunk geteilt wird, ein Zeiger auf den verbleibenden Teil wird hier platziert.
```c
// From https://github.com/bminor/glibc/blob/a07e000e82cb71238259e674529c37c12dc7d423/malloc/malloc.c#L1812
@@ -258,7 +258,7 @@ req = (req + (__MTAG_GRANULE_SIZE - 1)) &
return request2size (req);
}
```
-Beachten Sie, dass für die Berechnung des insgesamt benötigten Speicherplatzes `SIZE_SZ` nur einmal hinzugefügt wird, da das Feld `prev_size` verwendet werden kann, um Daten zu speichern. Daher ist nur der ursprüngliche Header erforderlich.
+Beachten Sie, dass für die Berechnung des benötigten Gesamtraums `SIZE_SZ` nur einmal hinzugefügt wird, da das Feld `prev_size` verwendet werden kann, um Daten zu speichern. Daher ist nur der ursprüngliche Header erforderlich.
### Chunk-Daten abrufen und Metadaten ändern
@@ -470,17 +470,17 @@ return 0;
Beim Debuggen des vorherigen Beispiels ist es möglich zu sehen, dass zu Beginn nur 1 Arena vorhanden ist:
-
+
Dann, nach dem Aufruf des ersten Threads, der malloc aufruft, wird eine neue Arena erstellt:
-
+
und darin können einige Chunks gefunden werden:
-
+
-## Bins & Speicherzuweisungen/-freigaben
+## Bins & Speicherzuweisungen/Freigaben
Überprüfen Sie, was die Bins sind und wie sie organisiert sind und wie Speicher zugewiesen und freigegeben wird in:
@@ -490,7 +490,7 @@ und darin können einige Chunks gefunden werden:
## Sicherheitsprüfungen von Heap-Funktionen
-Funktionen, die mit dem Heap zu tun haben, führen bestimmte Prüfungen durch, bevor sie ihre Aktionen ausführen, um sicherzustellen, dass der Heap nicht beschädigt wurde:
+Funktionen, die im Heap beteiligt sind, führen bestimmte Prüfungen durch, bevor sie ihre Aktionen ausführen, um sicherzustellen, dass der Heap nicht beschädigt wurde:
{% content-ref url="heap-memory-functions/heap-functions-security-checks.md" %}
[heap-functions-security-checks.md](heap-memory-functions/heap-functions-security-checks.md)
diff --git a/binary-exploitation/libc-heap/heap-memory-functions/unlink.md b/binary-exploitation/libc-heap/heap-memory-functions/unlink.md
index fb6c692b8..0f8489e40 100644
--- a/binary-exploitation/libc-heap/heap-memory-functions/unlink.md
+++ b/binary-exploitation/libc-heap/heap-memory-functions/unlink.md
@@ -1,16 +1,16 @@
# unlink
{% 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 %}
@@ -67,7 +67,7 @@ p->bk_nextsize->fd_nextsize = p->fd_nextsize;
Überprüfen Sie diese großartige grafische Erklärung des Unlink-Prozesses:
-
+
### Sicherheitsprüfungen
diff --git a/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md b/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md
index 613260a99..ce88da502 100644
--- a/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md
+++ b/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md
@@ -41,7 +41,7 @@ Dieses Gadget ermöglicht es im Grunde, zu bestätigen, dass etwas Interessantes
Diese Technik verwendet das [**ret2csu**](ret2csu.md) Gadget. Und das liegt daran, dass du, wenn du auf dieses Gadget in der Mitte einiger Anweisungen zugreifst, Gadgets erhältst, um **`rsi`** und **`rdi`** zu steuern:
-
+
Das wären die Gadgets:
@@ -56,11 +56,11 @@ Beachte auch, dass das ret2csu-Gadget eine **sehr einzigartige Signatur** hat, d
Wenn das **STOP ausgeführt wird**, bedeutet das im Grunde, dass eine **Adresse, die 6 Register** vom Stack poppt, verwendet wurde. Oder dass die verwendete Adresse auch eine STOP-Adresse war.
-Um diese letzte Option **zu entfernen**, wird eine neue Kette wie folgt ausgeführt, und sie darf das STOP-Gadget nicht ausführen, um zu bestätigen, dass das vorherige 6 Register gepoppt hat:
+Um diese letzte Option **zu entfernen**, wird eine neue Kette wie die folgende ausgeführt, und sie darf das STOP-Gadget nicht ausführen, um zu bestätigen, dass das vorherige 6 Register gepoppt hat:
`'A' * offset + canary + rbp + ADDR`
-Wenn die Adresse des ret2csu-Gadgets bekannt ist, ist es möglich, die Adresse der Gadgets zu **inferieren, um `rsi` und `rdi` zu steuern**.
+Wenn die Adresse des ret2csu-Gadgets bekannt ist, ist es möglich, die **Adresse der Gadgets zu inferieren, um `rsi` und `rdi` zu steuern**.
### 6. Finde PLT
@@ -83,7 +83,7 @@ Es ist möglich, den Standort von **`strcmp`** in der PLT basierend auf seinem V
* strcmp(\, \) -> Absturz
* strcmp(\, \) -> kein Absturz
-Es ist möglich, dies zu überprüfen, indem man jeden Eintrag der PLT-Tabelle aufruft oder den **PLT-Slow-Path** verwendet, der im Grunde darin besteht, **einen Eintrag in der PLT-Tabelle + 0xb** (was zu **`dlresolve`** aufruft) aufzurufen, gefolgt im Stack von der **Eintragsnummer, die man testen möchte** (beginnend bei null), um alle PLT-Einträge vom ersten an zu scannen:
+Es ist möglich, dies zu überprüfen, indem man jeden Eintrag der PLT-Tabelle aufruft oder den **PLT-Slow-Path** verwendet, der im Grunde darin besteht, **einen Eintrag in der PLT-Tabelle + 0xb** (was zu **`dlresolve`** aufruft) gefolgt im Stack von der **Eintragsnummer, die man testen möchte** (beginnend bei null), um alle PLT-Einträge vom ersten an zu scannen:
* strcmp(\, \) -> Absturz
* `b'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0x300) + p64(0x0) + (PLT + 0xb ) + p64(ENTRY) + STOP` -> Wird abstürzen
@@ -101,7 +101,7 @@ Denke daran, dass:
Nachdem `strcmp` gefunden wurde, ist es möglich, **`rdx`** auf einen Wert größer als 0 zu setzen.
{% hint style="success" %}
-Beachte, dass `rdx` normalerweise bereits einen Wert größer als 0 haben wird, sodass dieser Schritt möglicherweise nicht notwendig ist.
+Beachte, dass `rdx` normalerweise bereits einen Wert größer als 0 enthält, sodass dieser Schritt möglicherweise nicht notwendig ist.
{% endhint %}
### 8. Finden von Write oder Äquivalent
@@ -114,7 +114,7 @@ Es gibt 3 gängige Funktionen, die dafür ausgenutzt werden könnten:
* `dprintf(fd, data)`
* `write(fd, data, len(data))`
-Das ursprüngliche Papier erwähnt jedoch nur die **`write`**-Funktion, also lass uns darüber sprechen:
+Allerdings erwähnt das ursprüngliche Papier nur die **`write`**-Funktion, also lass uns darüber sprechen:
Das aktuelle Problem ist, dass wir nicht wissen, **wo sich die Write-Funktion innerhalb der PLT befindet** und wir wissen nicht, **eine fd-Nummer, um die Daten an unseren Socket zu senden**.
diff --git a/binary-exploitation/rop-return-oriented-programing/ret2csu.md b/binary-exploitation/rop-return-oriented-programing/ret2csu.md
index 8e09d89b7..75b77274d 100644
--- a/binary-exploitation/rop-return-oriented-programing/ret2csu.md
+++ b/binary-exploitation/rop-return-oriented-programing/ret2csu.md
@@ -41,7 +41,7 @@ Dieses Gadget ermöglicht es uns, diese Register zu steuern, indem wir Werte vom
2. Die zweite Sequenz verwendet die Werte, die wir eingerichtet haben, um ein paar Dinge zu tun:
* **Bestimmte Werte in andere Register verschieben**, um sie bereit zu machen, dass wir sie als Parameter in Funktionen verwenden können.
-* **Einen Aufruf zu einem Ort durchführen**, der bestimmt wird, indem die Werte in r15 und rbx zusammenaddiert und dann rbx mit 8 multipliziert wird.
+* **Einen Aufruf zu einem Ort durchführen**, der bestimmt wird, indem die Werte in r15 und rbx zusammenaddiert und dann rbx mit 8 multipliziert werden.
```armasm
mov rdx, r15;
mov rsi, r14;
@@ -80,7 +80,7 @@ gef➤ search-pattern 0x400560
Eine weitere Möglichkeit, **`rdi`** und **`rsi`** vom ret2csu-Gadget zu steuern, besteht darin, auf spezifische Offsets zuzugreifen:
-
+
Überprüfe diese Seite für weitere Informationen:
@@ -99,7 +99,7 @@ Hier kommt **ret2csu** ins Spiel:
1. **Registriere die Register einrichten**: Verwende das erste magische Gadget, um Werte vom Stack in rbx, rbp, r12 (edi), r13 (rsi), r14 (rdx) und r15 zu poppen.
2. **Verwende das zweite Gadget**: Mit diesen Registern kannst du das zweite Gadget verwenden. Dies ermöglicht es dir, deine gewählten Werte in `rdx` und `rsi` (von r14 und r13) zu verschieben und die Parameter für einen Funktionsaufruf vorzubereiten. Darüber hinaus kannst du durch die Kontrolle von `r15` und `rbx` das Programm dazu bringen, eine Funktion an der Adresse aufzurufen, die du berechnest und in `[r15 + rbx*8]` platzierst.
-Du hast ein [**Beispiel, das diese Technik verwendet und es hier erklärt**](https://ir0nstone.gitbook.io/notes/types/stack/ret2csu/exploitation), und dies ist der endgültige Exploit, den es verwendet hat:
+Du hast ein [**Beispiel, das diese Technik verwendet und hier erklärt**](https://ir0nstone.gitbook.io/notes/types/stack/ret2csu/exploitation), und dies ist der endgültige Exploit, den es verwendet hat:
```python
from pwn import *
@@ -124,12 +124,12 @@ p.sendline(p64(elf.sym['win'])) # send to gets() so it's written
print(p.recvline()) # should receive "Awesome work!"
```
{% hint style="warning" %}
-Beachten Sie, dass der vorherige Exploit nicht dazu gedacht ist, ein **`RCE`** durchzuführen, sondern lediglich eine Funktion namens **`win`** aufzurufen (die Adresse von `win` aus stdin zu holen, indem gets in der ROP-Kette aufgerufen wird und sie in r15 gespeichert wird) mit einem dritten Argument mit dem Wert `0xdeadbeefcafed00d`.
+Beachten Sie, dass der vorherige Exploit nicht dazu gedacht ist, ein **`RCE`** durchzuführen, sondern lediglich eine Funktion namens **`win`** aufzurufen (die Adresse von `win` aus stdin zu nehmen, die in der ROP-Kette aufgerufen wird, und sie in r15 zu speichern) mit einem dritten Argument mit dem Wert `0xdeadbeefcafed00d`.
{% endhint %}
### Umgehen des Aufrufs und Erreichen von ret
-Der folgende Exploit wurde [**von dieser Seite**](https://guyinatuxedo.github.io/18-ret2\_csu\_dl/ropemporium\_ret2csu/index.html) extrahiert, wo **ret2csu** verwendet wird, aber anstelle des Aufrufs **die Vergleiche umgeht und das `ret`** nach dem Aufruf erreicht:
+Der folgende Exploit wurde [**von dieser Seite**](https://guyinatuxedo.github.io/18-ret2\_csu\_dl/ropemporium\_ret2csu/index.html) extrahiert, wo **ret2csu** verwendet wird, aber anstelle des Aufrufs wird **die Überprüfung umgangen und `ret`** nach dem Aufruf erreicht:
```python
# Code from https://guyinatuxedo.github.io/18-ret2_csu_dl/ropemporium_ret2csu/index.html
# This exploit is based off of: https://www.rootnetsec.com/ropemporium-ret2csu/
diff --git a/crypto-and-stego/padding-oracle-priv.md b/crypto-and-stego/padding-oracle-priv.md
index 7bde530a0..5d2b64bb1 100644
--- a/crypto-and-stego/padding-oracle-priv.md
+++ b/crypto-and-stego/padding-oracle-priv.md
@@ -1,8 +1,8 @@
# Padding Oracle
{% 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)
+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,13 +10,11 @@ Lernen & üben Sie GCP Hacking:
{% endhint %}
-
-
{% embed url="https://websec.nl/" %}
## CBC - Cipher Block Chaining
@@ -36,7 +34,7 @@ Beachten Sie, dass es notwendig ist, einen **Verschlüsselungs** **schlüssel**
Da die Verschlüsselung in **festen** **Größen** **Blöcken** durchgeführt wird, ist **Padding** normalerweise im **letzten** **Block** erforderlich, um seine Länge zu vervollständigen.\
Normalerweise wird **PKCS7** verwendet, das ein Padding erzeugt, das die **Anzahl** der **benötigten** **Bytes** **wiederholt**, um den Block zu vervollständigen. Wenn der letzte Block beispielsweise 3 Bytes fehlt, wird das Padding `\x03\x03\x03` sein.
-Schauen wir uns weitere Beispiele mit **2 Blöcken von 8 Bytes Länge** an:
+Sehen wir uns weitere Beispiele mit **2 Blöcken von 8 Bytes Länge** an:
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
@@ -105,7 +103,7 @@ Dann die gleichen Schritte wiederholen, um C14 zu entschlüsseln: **`C14 = E6 ^
### Erkennung der Schwachstelle
Registrieren Sie sich und melden Sie sich mit diesem Konto an.\
-Wenn Sie sich **mehrmals anmelden** und immer dasselbe **Cookie** erhalten, ist wahrscheinlich **etwas** **falsch** in der Anwendung. Das **zurückgesendete Cookie sollte jedes Mal einzigartig sein**, wenn Sie sich anmelden. Wenn das Cookie **immer** dasselbe ist, wird es wahrscheinlich immer gültig sein und es **wird keinen Weg geben, es zu invalidieren**.
+Wenn Sie **mehrmals einloggen** und immer dasselbe **Cookie** erhalten, ist wahrscheinlich **etwas** **falsch** in der Anwendung. Das **zurückgesendete Cookie sollte jedes Mal einzigartig sein**, wenn Sie sich anmelden. Wenn das Cookie **immer** dasselbe ist, wird es wahrscheinlich immer gültig sein und es **wird keinen Weg geben, es ungültig zu machen**.
Wenn Sie jetzt versuchen, das **Cookie zu modifizieren**, sehen Sie, dass Sie einen **Fehler** von der Anwendung erhalten.\
Aber wenn Sie das Padding brute-forcen (zum Beispiel mit Padbuster), schaffen Sie es, ein anderes Cookie zu erhalten, das für einen anderen Benutzer gültig ist. Dieses Szenario ist höchstwahrscheinlich anfällig für Padbuster.
@@ -114,13 +112,11 @@ Aber wenn Sie das Padding brute-forcen (zum Beispiel mit Padbuster), schaffen Si
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
-
-
{% embed url="https://websec.nl/" %}
{% 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)
+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/external-recon-methodology/README.md b/generic-methodologies-and-resources/external-recon-methodology/README.md
index 4243d1013..37b1cfc92 100644
--- a/generic-methodologies-and-resources/external-recon-methodology/README.md
+++ b/generic-methodologies-and-resources/external-recon-methodology/README.md
@@ -15,7 +15,7 @@ Lerne & übe GCP Hacking:
{% endhint %}
-
+
Wenn du an einer **Hacking-Karriere** interessiert bist und das Unhackbare hacken möchtest - **wir stellen ein!** (_fließend Polnisch in Wort und Schrift erforderlich_).
@@ -23,11 +23,11 @@ Wenn du an einer **Hacking-Karriere** interessiert bist und das Unhackbare hacke
## Vermögensentdeckungen
-> Man hat dir gesagt, dass alles, was zu einem Unternehmen gehört, im Umfang liegt, und du möchtest herausfinden, was dieses Unternehmen tatsächlich besitzt.
+> Man hat dir gesagt, dass alles, was zu einem Unternehmen gehört, im Geltungsbereich liegt, und du möchtest herausfinden, was dieses Unternehmen tatsächlich besitzt.
Das Ziel dieser Phase ist es, alle **Unternehmen, die im Besitz des Hauptunternehmens sind**, und dann alle **Vermögenswerte** dieser Unternehmen zu ermitteln. Dazu werden wir:
-1. Die Übernahmen des Hauptunternehmens finden, dies wird uns die Unternehmen im Umfang geben.
+1. Die Übernahmen des Hauptunternehmens finden, dies wird uns die Unternehmen im Geltungsbereich geben.
2. Die ASN (falls vorhanden) jedes Unternehmens finden, dies wird uns die IP-Bereiche geben, die jedem Unternehmen gehören.
3. Reverse-Whois-Abfragen verwenden, um nach anderen Einträgen (Organisationsnamen, Domains...) zu suchen, die mit dem ersten verbunden sind (dies kann rekursiv erfolgen).
4. Andere Techniken wie Shodan `org` und `ssl`-Filter verwenden, um nach anderen Vermögenswerten zu suchen (der `ssl`-Trick kann rekursiv durchgeführt werden).
@@ -38,14 +38,14 @@ Zunächst müssen wir wissen, welche **anderen Unternehmen im Besitz des Hauptun
Eine Möglichkeit ist, [https://www.crunchbase.com/](https://www.crunchbase.com) zu besuchen, **nach dem Hauptunternehmen zu suchen** und auf "**Übernahmen**" zu klicken. Dort siehst du andere Unternehmen, die von dem Hauptunternehmen übernommen wurden.\
Eine andere Möglichkeit ist, die **Wikipedia**-Seite des Hauptunternehmens zu besuchen und nach **Übernahmen** zu suchen.
-> Ok, an diesem Punkt solltest du alle Unternehmen im Umfang kennen. Lass uns herausfinden, wie wir ihre Vermögenswerte finden können.
+> Ok, an diesem Punkt solltest du alle Unternehmen im Geltungsbereich kennen. Lass uns herausfinden, wie wir ihre Vermögenswerte finden können.
### **ASNs**
Eine autonome Systemnummer (**ASN**) ist eine **eindeutige Nummer**, die einem **autonomen System** (AS) von der **Internet Assigned Numbers Authority (IANA)** zugewiesen wird.\
Ein **AS** besteht aus **Blöcken** von **IP-Adressen**, die eine eindeutig definierte Richtlinie für den Zugriff auf externe Netzwerke haben und von einer einzigen Organisation verwaltet werden, aber aus mehreren Betreibern bestehen können.
-Es ist interessant herauszufinden, ob das **Unternehmen eine ASN zugewiesen hat**, um seine **IP-Bereiche** zu finden. Es wäre interessant, einen **Sicherheitstest** gegen alle **Hosts** im **Umfang** durchzuführen und **nach Domains** innerhalb dieser IPs zu suchen.\
+Es ist interessant herauszufinden, ob das **Unternehmen eine ASN zugewiesen hat**, um seine **IP-Bereiche** zu finden. Es wäre interessant, einen **Sicherheitstest** gegen alle **Hosts** im **Geltungsbereich** durchzuführen und **nach Domains** innerhalb dieser IPs zu suchen.\
Du kannst **nach dem Unternehmensnamen**, nach **IP** oder nach **Domain** in [**https://bgp.he.net/**](https://bgp.he.net)** suchen.**\
**Je nach Region des Unternehmens könnten diese Links nützlich sein, um weitere Daten zu sammeln:** [**AFRINIC**](https://www.afrinic.net) **(Afrika),** [**Arin**](https://www.arin.net/about/welcome/region/)**(Nordamerika),** [**APNIC**](https://www.apnic.net) **(Asien),** [**LACNIC**](https://www.lacnic.net) **(Lateinamerika),** [**RIPE NCC**](https://www.ripe.net) **(Europa). Jedenfalls erscheinen wahrscheinlich alle** nützlichen Informationen **(IP-Bereiche und Whois)** bereits im ersten Link.
```bash
@@ -53,7 +53,7 @@ Du kannst **nach dem Unternehmensnamen**, nach **IP** oder nach **Domain** in [*
amass intel -org tesla
amass intel -asn 8911,50313,394161
```
-Auch die Subdomainenumeration von [**BBOT**](https://github.com/blacklanternsecurity/bbot)** aggregiert und fasst ASNs am Ende des Scans automatisch zusammen.
+Auch die Subdomainenumeration von [**BBOT**](https://github.com/blacklanternsecurity/bbot)** aggregiert und fasst ASNs am Ende des Scans automatisch zusammen.**
```bash
bbot -t tesla.com -f subdomain-enum
...
@@ -75,21 +75,21 @@ You can find the IP and ASN of a domain using [http://ipv4info.com/](http://ipv4
### **Auf der Suche nach Schwachstellen**
-An diesem Punkt kennen wir **alle Vermögenswerte im Geltungsbereich**, also, wenn es Ihnen erlaubt ist, könnten Sie einige **Schwachstellenscanner** (Nessus, OpenVAS) über alle Hosts starten.\
+An diesem Punkt kennen wir **alle Vermögenswerte innerhalb des Umfangs**, also wenn Sie dürfen, könnten Sie einige **Schwachstellenscanner** (Nessus, OpenVAS) über alle Hosts starten.\
Außerdem könnten Sie einige [**Portscans**](../pentesting-network/#discovering-hosts-from-the-outside) **starten oder Dienste wie** shodan **verwenden, um** offene Ports **zu finden, und je nachdem, was Sie finden, sollten Sie** in diesem Buch nachsehen, wie man mehrere mögliche Dienste testet.\
**Es könnte auch erwähnenswert sein, dass Sie auch einige** Standardbenutzernamen **und** Passwortlisten **vorbereiten und versuchen können,** Dienste mit [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray) zu bruteforcen.
## Domains
-> Wir kennen alle Unternehmen im Geltungsbereich und deren Vermögenswerte, es ist Zeit, die Domains im Geltungsbereich zu finden.
+> Wir kennen alle Unternehmen innerhalb des Umfangs und deren Vermögenswerte, es ist Zeit, die Domains innerhalb des Umfangs zu finden.
_Bitte beachten Sie, dass Sie mit den folgenden vorgeschlagenen Techniken auch Subdomains finden können und diese Informationen nicht unterschätzt werden sollten._
-Zunächst sollten Sie nach der **Hauptdomain**(en) jedes Unternehmens suchen. Zum Beispiel ist für _Tesla Inc._ die Hauptdomain _tesla.com_.
+Zunächst sollten Sie nach der **Hauptdomain**(s) jedes Unternehmens suchen. Zum Beispiel wird für _Tesla Inc._ die Domain _tesla.com_ sein.
### **Reverse DNS**
-Da Sie alle IP-Bereiche der Domains gefunden haben, könnten Sie versuchen, **Reverse-DNS-Abfragen** auf diesen **IPs durchzuführen, um weitere Domains im Geltungsbereich zu finden**. Versuchen Sie, einen DNS-Server des Opfers oder einen bekannten DNS-Server (1.1.1.1, 8.8.8.8) zu verwenden.
+Da Sie alle IP-Bereiche der Domains gefunden haben, könnten Sie versuchen, **Reverse-DNS-Abfragen** auf diesen **IPs durchzuführen, um weitere Domains innerhalb des Umfangs zu finden**. Versuchen Sie, einen DNS-Server des Opfers oder einen bekannten DNS-Server (1.1.1.1, 8.8.8.8) zu verwenden.
```bash
dnsrecon -r -n #DNS reverse of all of the addresses
dnsrecon -d facebook.com -r 157.240.221.35/24 #Using facebooks dns
@@ -141,7 +141,7 @@ python3 favihash.py -f https://target/favicon.ico -t targets.txt -s
Einfach gesagt, favihash ermöglicht es uns, Domains zu entdecken, die denselben Favicon-Icon-Hash wie unser Ziel haben.
-Darüber hinaus kannst du auch Technologien mithilfe des Favicon-Hashes suchen, wie in [**diesem Blogbeitrag**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139) erklärt. Das bedeutet, dass du, wenn du den **Hash des Favicon einer verwundbaren Version einer Web-Technologie** kennst, in Shodan suchen und **weitere verwundbare Stellen finden** kannst:
+Darüber hinaus kannst du auch Technologien mithilfe des Favicon-Hashes suchen, wie in [**diesem Blogbeitrag**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139) erklärt. Das bedeutet, dass du, wenn du den **Hash des Favicon einer verwundbaren Version einer Web-Technologie** kennst, in Shodan suchen und **weitere verwundbare Orte finden** kannst:
```bash
shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}'
```
@@ -169,58 +169,58 @@ Es ist üblich, einen Cron-Job zu haben, wie
# /etc/crontab
37 13 */10 * * certbot renew --post-hook "systemctl reload nginx"
```
-um alle Domainzertifikate auf dem Server zu erneuern. Das bedeutet, dass selbst wenn die CA, die dafür verwendet wird, die Zeit, zu der es generiert wurde, nicht in der Gültigkeitszeit festlegt, es möglich ist, **Domains zu finden, die zur gleichen Firma in den Zertifikatstransparenzprotokollen gehören**.\
-Schau dir diesen [**Artikel für weitere Informationen**](https://swarm.ptsecurity.com/discovering-domains-via-a-time-correlation-attack/) an.
+to renew the all the domain certificates on the server. This means that even if the CA used for this doesn't set the time it was generated in the Validity time, it's possible to **find domains belonging to the same company in the certificate transparency logs**.\
+Check out this [**writeup for more information**](https://swarm.ptsecurity.com/discovering-domains-via-a-time-correlation-attack/).
-### Mail DMARC Informationen
+### Mail DMARC information
-Du kannst eine Webseite wie [https://dmarc.live/info/google.com](https://dmarc.live/info/google.com) oder ein Tool wie [https://github.com/Tedixx/dmarc-subdomains](https://github.com/Tedixx/dmarc-subdomains) verwenden, um **Domains und Subdomains zu finden, die die gleichen DMARC-Informationen teilen**.
+You can use a web such as [https://dmarc.live/info/google.com](https://dmarc.live/info/google.com) or a tool such as [https://github.com/Tedixx/dmarc-subdomains](https://github.com/Tedixx/dmarc-subdomains) to find **domains and subdomain sharing the same dmarc information**.
-### **Passive Übernahme**
+### **Passive Takeover**
-Es ist anscheinend üblich, dass Leute Subdomains IPs zuweisen, die zu Cloud-Anbietern gehören, und irgendwann **diese IP-Adresse verlieren, aber vergessen, den DNS-Eintrag zu entfernen**. Daher wirst du einfach durch **das Erstellen einer VM** in einer Cloud (wie Digital Ocean) tatsächlich **einige Subdomains übernehmen**.
+Offensichtlich ist es üblich, dass Menschen Subdomains IPs zuweisen, die zu Cloud-Anbietern gehören, und irgendwann **diese IP-Adresse verlieren, aber vergessen, den DNS-Eintrag zu entfernen**. Daher wird man durch **das Erstellen einer VM** in einer Cloud (wie Digital Ocean) tatsächlich **einige Subdomains übernehmen**.
-[**Dieser Beitrag**](https://kmsec.uk/blog/passive-takeover/) erklärt eine Geschichte darüber und schlägt ein Skript vor, das **eine VM in DigitalOcean erstellt**, **die IPv4** der neuen Maschine **erhält** und **in Virustotal nach Subdomain-Einträgen** sucht, die darauf verweisen.
+[**Dieser Beitrag**](https://kmsec.uk/blog/passive-takeover/) erklärt eine Geschichte darüber und schlägt ein Skript vor, das **eine VM in DigitalOcean erstellt**, **die** **IPv4** der neuen Maschine **erhält** und **in Virustotal nach Subdomain-Einträgen** sucht, die darauf verweisen.
-### **Andere Möglichkeiten**
+### **Other ways**
-**Beachte, dass du diese Technik verwenden kannst, um jedes Mal mehr Domainnamen zu entdecken, wenn du eine neue Domain findest.**
+**Beachten Sie, dass Sie diese Technik verwenden können, um jedes Mal mehr Domainnamen zu entdecken, wenn Sie eine neue Domain finden.**
**Shodan**
-Wie du bereits weißt, ist der Name der Organisation, die den IP-Bereich besitzt. Du kannst nach diesen Daten in Shodan suchen, indem du: `org:"Tesla, Inc."` verwendest. Überprüfe die gefundenen Hosts auf neue unerwartete Domains im TLS-Zertifikat.
+Wie Sie bereits wissen, ist der Name der Organisation, die den IP-Bereich besitzt. Sie können mit diesen Daten in Shodan suchen: `org:"Tesla, Inc."` Überprüfen Sie die gefundenen Hosts auf neue unerwartete Domains im TLS-Zertifikat.
-Du könntest das **TLS-Zertifikat** der Hauptwebseite abrufen, den **Namen der Organisation** erhalten und dann nach diesem Namen in den **TLS-Zertifikaten** aller Webseiten suchen, die von **Shodan** bekannt sind, mit dem Filter: `ssl:"Tesla Motors"` oder ein Tool wie [**sslsearch**](https://github.com/HarshVaragiya/sslsearch) verwenden.
+Sie könnten das **TLS-Zertifikat** der Hauptwebseite abrufen, den **Namen der Organisation** erhalten und dann nach diesem Namen in den **TLS-Zertifikaten** aller von **shodan** bekannten Webseiten mit dem Filter suchen: `ssl:"Tesla Motors"` oder ein Tool wie [**sslsearch**](https://github.com/HarshVaragiya/sslsearch) verwenden.
**Assetfinder**
-[**Assetfinder**](https://github.com/tomnomnom/assetfinder) ist ein Tool, das nach **Domains sucht, die mit einer Hauptdomain und deren Subdomains** verbunden sind, ziemlich erstaunlich.
+[**Assetfinder** ](https://github.com/tomnomnom/assetfinder) ist ein Tool, das nach **Domains sucht, die mit einer Hauptdomain verbunden sind**, und deren **Subdomains**, ziemlich erstaunlich.
-### **Nach Schwachstellen suchen**
+### **Looking for vulnerabilities**
-Überprüfe einige [Domainübernahmen](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover). Vielleicht verwendet ein Unternehmen **eine Domain**, hat aber **das Eigentum verloren**. Registriere sie einfach (wenn sie günstig genug ist) und informiere das Unternehmen.
+Überprüfen Sie einige [Domainübernahmen](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover). Vielleicht verwendet ein Unternehmen **eine Domain**, aber sie **haben das Eigentum verloren**. Registrieren Sie sie einfach (wenn sie günstig genug ist) und informieren Sie das Unternehmen.
-Wenn du eine **Domain mit einer anderen IP** als den bereits in der Asset-Entdeckung gefundenen findest, solltest du einen **grundlegenden Schwachscann** (mit Nessus oder OpenVAS) und einen [**Portscan**](../pentesting-network/#discovering-hosts-from-the-outside) mit **nmap/masscan/shodan** durchführen. Je nachdem, welche Dienste laufen, kannst du in **diesem Buch einige Tricks finden, um sie zu "angreifen"**.\
-_Beachte, dass die Domain manchmal auf einer IP gehostet wird, die nicht vom Kunden kontrolliert wird, also ist sie nicht im Scope, sei vorsichtig._
+Wenn Sie eine **Domain mit einer anderen IP** als den bereits in der Asset-Entdeckung gefundenen finden, sollten Sie einen **grundlegenden Schwachstellenscan** (mit Nessus oder OpenVAS) und einen [**Portscan**](../pentesting-network/#discovering-hosts-from-the-outside) mit **nmap/masscan/shodan** durchführen. Je nachdem, welche Dienste ausgeführt werden, können Sie in **diesem Buch einige Tricks finden, um sie zu "angreifen"**.\
+_Beachten Sie, dass die Domain manchmal innerhalb einer IP gehostet wird, die nicht vom Kunden kontrolliert wird, sodass sie nicht im Geltungsbereich liegt. Seien Sie vorsichtig._
\
-**Bug-Bounty-Tipp**: **Melde dich an** bei **Intigriti**, einer Premium-**Bug-Bounty-Plattform, die von Hackern für Hacker erstellt wurde**! Schließe dich uns heute an unter [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) und beginne, Prämien von bis zu **100.000 $** zu verdienen!
+**Bug bounty tip**: **melden Sie sich an** für **Intigriti**, eine Premium-**Bug-Bounty-Plattform, die von Hackern für Hacker erstellt wurde**! Treten Sie uns heute bei [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) und beginnen Sie, Prämien von bis zu **$100,000** zu verdienen!
{% embed url="https://go.intigriti.com/hacktricks" %}
## Subdomains
-> Wir kennen alle Unternehmen im Scope, alle Assets jedes Unternehmens und alle Domains, die mit den Unternehmen verbunden sind.
+> Wir kennen alle Unternehmen im Geltungsbereich, alle Vermögenswerte jedes Unternehmens und alle Domains, die mit den Unternehmen verbunden sind.
Es ist Zeit, alle möglichen Subdomains jeder gefundenen Domain zu finden.
{% hint style="success" %}
-Beachte, dass einige der Tools und Techniken zur Auffindung von Domains auch helfen können, Subdomains zu finden!
+Beachten Sie, dass einige der Tools und Techniken zur Auffindung von Domains auch helfen können, Subdomains zu finden!
{% endhint %}
### **DNS**
-Lass uns versuchen, **Subdomains** aus den **DNS**-Einträgen zu erhalten. Wir sollten auch nach **Zonenübertragungen** suchen (wenn verwundbar, solltest du dies melden).
+Lassen Sie uns versuchen, **Subdomains** aus den **DNS**-Einträgen zu erhalten. Wir sollten auch nach **Zone Transfer** suchen (wenn anfällig, sollten Sie es melden).
```bash
dnsrecon -a -d tesla.com
```
@@ -366,11 +366,11 @@ sed 's/$/.domain.com/' subdomains.txt > bf-subdomains.txt
./massdns -r resolvers.txt -w /tmp/results.txt bf-subdomains.txt
grep -E "tesla.com. [0-9]+ IN A .+" /tmp/results.txt
```
-* [**gobuster**](https://github.com/OJ/gobuster): Ich denke, dieser verwendet nur 1 Resolver
+* [**gobuster**](https://github.com/OJ/gobuster): Ich denke, dass dieser nur 1 Resolver verwendet.
```
gobuster dns -d mysite.com -t 50 -w subdomains.txt
```
-* [**shuffledns**](https://github.com/projectdiscovery/shuffledns) ist ein Wrapper um `massdns`, geschrieben in Go, der es Ihnen ermöglicht, gültige Subdomains mithilfe von aktivem Bruteforce zu enumerieren sowie Subdomains mit Wildcard-Verarbeitung und einfacher Eingabe-Ausgabe-Unterstützung aufzulösen.
+* [**shuffledns**](https://github.com/projectdiscovery/shuffledns) ist ein Wrapper um `massdns`, geschrieben in Go, der es Ihnen ermöglicht, gültige Subdomains durch aktives Bruteforcing zu enumerieren sowie Subdomains mit Wildcard-Verarbeitung und einfacher Eingabe-Ausgabe-Unterstützung aufzulösen.
```
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
```
@@ -395,11 +395,11 @@ cat subdomains.txt | dnsgen -
```bash
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
```
-* [**gotator**](https://github.com/Josue87/gotator)**:** Gegebenenfalls die Domains und Subdomains Permutationen generieren. Wenn keine Permutationsdatei angegeben ist, verwendet gotator seine eigene.
+* [**gotator**](https://github.com/Josue87/gotator)**:** Gegebene Domains und Subdomains generieren Permutationen. Wenn keine Permutationsdatei angegeben ist, verwendet gotator seine eigene.
```
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
```
-* [**altdns**](https://github.com/infosec-au/altdns): Neben der Generierung von Subdomain-Permutationen kann es auch versuchen, diese aufzulösen (aber es ist besser, die zuvor kommentierten Tools zu verwenden).
+* [**altdns**](https://github.com/infosec-au/altdns): Abgesehen von der Generierung von Subdomain-Permutationen kann es auch versuchen, diese aufzulösen (aber es ist besser, die zuvor kommentierten Tools zu verwenden).
* Sie können die altdns-Permutationen **Wortliste** [**hier**](https://github.com/infosec-au/altdns/blob/master/words.txt) erhalten.
```
altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
@@ -420,7 +420,7 @@ python3 main.py adobe.com adobe adobe.rules
make_brute_list.sh adobe.rules adobe.brute
puredns resolve adobe.brute --write adobe.valid
```
-* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_ ist ein Subdomain-Brute-Force-Fuzzer, der mit einem äußerst einfachen, aber effektiven, von DNS-Antworten geleiteten Algorithmus gekoppelt ist. Er nutzt einen bereitgestellten Satz von Eingabedaten, wie eine maßgeschneiderte Wortliste oder historische DNS/TLS-Daten, um genauere entsprechende Domainnamen zu synthetisieren und diese in einer Schleife basierend auf den während des DNS-Scans gesammelten Informationen weiter zu erweitern.
+* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_ ist ein Subdomain-Brute-Force-Fuzzer, der mit einem äußerst einfachen, aber effektiven DNS-Antwort-gesteuerten Algorithmus gekoppelt ist. Er nutzt einen bereitgestellten Satz von Eingabedaten, wie eine maßgeschneiderte Wortliste oder historische DNS/TLS-Aufzeichnungen, um genauere entsprechende Domainnamen zu synthetisieren und diese in einer Schleife basierend auf den während des DNS-Scans gesammelten Informationen weiter zu erweitern.
```
echo www | subzuf facebook.com
```
@@ -438,7 +438,7 @@ Wenn Sie eine IP-Adresse gefunden haben, die **eine oder mehrere Webseiten** von
#### OSINT
-Sie können einige **VHosts in IPs finden, indem Sie** [**HostHunter**](https://github.com/SpiderLabs/HostHunter) **oder andere APIs** verwenden.
+Sie können einige **VHosts in IPs finden mit** [**HostHunter**](https://github.com/SpiderLabs/HostHunter) **oder anderen APIs**.
**Brute Force**
@@ -473,14 +473,14 @@ Außerdem, da du zu diesem Zeitpunkt alle Domains im Scope kennst, versuche [**m
### **Monitorisierung**
-Du kannst **überwachen**, ob **neue Subdomains** einer Domain erstellt werden, indem du die **Certificate Transparency** Logs überwachst, was [**sublert**](https://github.com/yassineaboukir/sublert/blob/master/sublert.py) tut.
+Du kannst **überwachen**, ob **neue Subdomains** einer Domain erstellt werden, indem du die **Certificate Transparency** Logs überwachst, was [**sublert** ](https://github.com/yassineaboukir/sublert/blob/master/sublert.py) tut.
### **Nach Schwachstellen suchen**
Überprüfe auf mögliche [**Subdomain-Übernahmen**](../../pentesting-web/domain-subdomain-takeover.md#subdomain-takeover).\
Wenn die **Subdomain** auf einen **S3-Bucket** zeigt, [**prüfe die Berechtigungen**](../../network-services-pentesting/pentesting-web/buckets/).
-Wenn du eine **Subdomain mit einer anderen IP** als den bereits in der Asset-Entdeckung gefundenen findest, solltest du einen **grundlegenden Schwachstellenscan** (mit Nessus oder OpenVAS) und einen [**Portscan**](../pentesting-network/#discovering-hosts-from-the-outside) mit **nmap/masscan/shodan** durchführen. Je nachdem, welche Dienste laufen, kannst du in **diesem Buch einige Tricks finden, um sie zu "attackieren"**.\
+Wenn du eine **Subdomain mit einer anderen IP** als den bereits in der Asset-Entdeckung gefundenen findest, solltest du einen **grundlegenden Schwachstellenscan** (mit Nessus oder OpenVAS) und einen [**Portscan**](../pentesting-network/#discovering-hosts-from-the-outside) mit **nmap/masscan/shodan** durchführen. Je nachdem, welche Dienste laufen, kannst du in **diesem Buch einige Tricks finden, um sie zu "angreifen"**.\
_Bedenke, dass die Subdomain manchmal auf einer IP gehostet wird, die nicht vom Kunden kontrolliert wird, also ist sie nicht im Scope, sei vorsichtig._
## IPs
@@ -509,7 +509,7 @@ In den vorherigen Schritten hast du wahrscheinlich bereits einige **Recon der en
Bitte beachte, dass dies **auf die Entdeckung von Webanwendungen** ausgerichtet ist, sodass du auch **den Schwachstellenscan** und **Portscan** durchführen solltest (**wenn im Scope erlaubt**).
Eine **schnelle Methode**, um **offene Ports** im Zusammenhang mit **Web**-Servern zu entdecken, ist [**masscan** hier zu finden](../pentesting-network/#http-port-discovery).\
-Ein weiteres benutzerfreundliches Tool zur Suche nach Webservern ist [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) und [**httpx**](https://github.com/projectdiscovery/httpx). Du gibst einfach eine Liste von Domains ein, und es wird versuchen, sich mit Port 80 (http) und 443 (https) zu verbinden. Zusätzlich kannst du angeben, andere Ports auszuprobieren:
+Ein weiteres benutzerfreundliches Tool zur Suche nach Webservern ist [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) und [**httpx**](https://github.com/projectdiscovery/httpx). Du gibst einfach eine Liste von Domains ein und es versucht, sich mit Port 80 (http) und 443 (https) zu verbinden. Zusätzlich kannst du angeben, andere Ports auszuprobieren:
```bash
cat /tmp/domains.txt | httprobe #Test all domains inside the file for port 80 and 443
cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 and 8080 and 8443
@@ -579,7 +579,7 @@ Sie können das **Tool** [**Leakos**](https://github.com/carlospolop/Leakos) ver
#### Github Dorks
-Überprüfen Sie auch diese **Seite** auf potenzielle **Github Dorks**, nach denen Sie auch in der Organisation suchen könnten, die Sie angreifen:
+Überprüfen Sie auch diese **Seite** auf potenzielle **Github Dorks**, nach denen Sie in der Organisation, die Sie angreifen, suchen könnten:
{% content-ref url="github-leaked-secrets.md" %}
[github-leaked-secrets.md](github-leaked-secrets.md)
@@ -624,7 +624,7 @@ Ich möchte auch einen besonderen Hinweis auf den Abschnitt [**Web Automated Sca
> Herzlichen Glückwunsch! An diesem Punkt haben Sie bereits **alle grundlegenden Enumeration** durchgeführt. Ja, es ist grundlegend, weil viel mehr Enumeration durchgeführt werden kann (wir werden später mehr Tricks sehen).
-Also haben Sie bereits:
+Sie haben bereits:
1. Alle **Unternehmen** im Geltungsbereich gefunden
2. Alle **Assets** gefunden, die zu den Unternehmen gehören (und einige Schwachstellenscans durchgeführt, wenn im Geltungsbereich)
@@ -633,7 +633,7 @@ Also haben Sie bereits:
5. Alle **IPs** (von und **nicht von CDNs**) im Geltungsbereich gefunden.
6. Alle **Webserver** gefunden und einen **Screenshot** von ihnen gemacht (gibt es etwas Seltsames, das einen genaueren Blick wert ist?)
7. Alle **potenziellen öffentlichen Cloud-Ressourcen** gefunden, die zu dem Unternehmen gehören.
-8. **E-Mails**, **Credential Leaks** und **Secret Leaks**, die Ihnen einen **großen Gewinn sehr leicht** verschaffen könnten.
+8. **E-Mails**, **Credential Leaks** und **Secret Leaks**, die Ihnen einen **großen Gewinn sehr einfach** bringen könnten.
9. **Pentesting aller Webseiten, die Sie gefunden haben**
## **Vollständige Recon Automatische Tools**
@@ -649,7 +649,7 @@ Es gibt mehrere Tools, die Teile der vorgeschlagenen Aktionen gegen einen bestim
* Alle kostenlosen Kurse von [**@Jhaddix**](https://twitter.com/Jhaddix) wie [**The Bug Hunter's Methodology v4.0 - Recon Edition**](https://www.youtube.com/watch?v=p4JgIu1mceI)
-
+
Wenn Sie an einer **Hacking-Karriere** interessiert sind und das Unhackbare hacken möchten - **wir stellen ein!** (_fließend Polnisch in Wort und Schrift erforderlich_).
@@ -661,7 +661,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/generic-methodologies-and-resources/pentesting-methodology.md b/generic-methodologies-and-resources/pentesting-methodology.md
index 9f18c0ab5..36f2145fa 100644
--- a/generic-methodologies-and-resources/pentesting-methodology.md
+++ b/generic-methodologies-and-resources/pentesting-methodology.md
@@ -1,4 +1,4 @@
-# Pentesting Methodologie
+# Pentesting Methodology
{% hint style="success" %}
Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
@@ -6,7 +6,7 @@ Lerne & übe GCP Hacking:
-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)**.**
@@ -15,13 +15,13 @@ Lerne & übe GCP Hacking:
{% endhint %}
-
+
Wenn du an einer **Hacking-Karriere** interessiert bist und das Unhackbare hacken möchtest - **wir stellen ein!** (_fließend Polnisch in Wort und Schrift erforderlich_).
{% embed url="https://www.stmcyber.com/careers" %}
-## Pentesting Methodologie
+## Pentesting Methodology
@@ -36,17 +36,17 @@ Hast du **physischen Zugang** zu der Maschine, die du angreifen möchtest? Du so
**Je nachdem**, ob der **Test**, den du durchführst, ein **interner oder externer Test** ist, könntest du daran interessiert sein, **Hosts im Unternehmensnetzwerk** (interner Test) oder **Vermögenswerte des Unternehmens im Internet** (externer Test) zu finden.
{% hint style="info" %}
-Beachte, dass du, wenn du einen externen Test durchführst, sobald du Zugriff auf das interne Netzwerk des Unternehmens erhalten hast, diese Anleitung neu starten solltest.
+Beachte, dass du, wenn du einen externen Test durchführst, sobald du Zugang zum internen Netzwerk des Unternehmens erhalten hast, diese Anleitung neu starten solltest.
{% endhint %}
### **2-** [**Spaß mit dem Netzwerk haben**](pentesting-network/) **(Intern)**
**Dieser Abschnitt gilt nur, wenn du einen internen Test durchführst.**\
-Bevor du einen Host angreifst, möchtest du vielleicht **einige Anmeldeinformationen** **aus dem Netzwerk stehlen** oder **Daten** **sniffen**, um **passiv/aktiv (MitM)** herauszufinden, was du im Netzwerk finden kannst. Du kannst [**Pentesting Network**](pentesting-network/#sniffing) lesen.
+Bevor du einen Host angreifst, möchtest du vielleicht **einige Anmeldeinformationen** **aus dem Netzwerk stehlen** oder **Daten sniffen**, um **passiv/aktiv (MitM)** herauszufinden, was du im Netzwerk finden kannst. Du kannst [**Pentesting Network**](pentesting-network/#sniffing) lesen.
### 3- [Port-Scan - Dienstentdeckung](pentesting-network/#scanning-hosts)
-Das erste, was du tun solltest, wenn du **nach Schwachstellen in einem Host suchst**, ist zu wissen, welche **Dienste laufen** und an welchen Ports. Lass uns die [**grundlegenden Werkzeuge zum Scannen von Ports von Hosts**](pentesting-network/#scanning-hosts) ansehen.
+Das erste, was du tun solltest, wenn du **nach Schwachstellen in einem Host suchst**, ist zu wissen, welche **Dienste laufen** und an welchen Ports. Lass uns die [**grundlegenden Tools zum Scannen von Ports von Hosts**](pentesting-network/#scanning-hosts) ansehen.
### **4-** [**Suchen nach Dienstversions-Exploits**](search-exploits.md)
@@ -56,16 +56,16 @@ Sobald du weißt, welche Dienste laufen und vielleicht welche Version, musst du
Wenn es keinen ausgefallenen Exploit für einen laufenden Dienst gibt, solltest du nach **häufigen Fehlkonfigurationen in jedem laufenden Dienst suchen.**
-**In diesem Buch findest du einen Leitfaden zum Pentesting der häufigsten Dienste** (und anderer, die nicht so häufig sind)**. Bitte suche im linken Index nach der** _**PENTESTING**_ **Sektion** (die Dienste sind nach ihren Standardports geordnet).
+**In diesem Buch findest du einen Leitfaden zum Pentesting der häufigsten Dienste** (und anderer, die nicht so häufig sind). **Bitte suche im linken Index nach der** _**PENTESTING**_ **Sektion** (die Dienste sind nach ihren Standardports geordnet).
**Ich möchte besonders auf den** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **Teil hinweisen (da er der umfangreichste ist).**\
Außerdem findest du hier einen kleinen Leitfaden, wie man [**bekannte Schwachstellen in Software findet**](search-exploits.md).
**Wenn dein Dienst nicht im Index ist, suche bei Google** nach anderen Tutorials und **lass es mich wissen, wenn du möchtest, dass ich es hinzufüge.** Wenn du **nichts** bei Google finden kannst, führe dein **eigenes blindes Pentesting** durch, du könntest damit beginnen, **eine Verbindung zum Dienst herzustellen, ihn zu fuzzing und die Antworten zu lesen** (falls vorhanden).
-#### 5.1 Automatische Werkzeuge
+#### 5.1 Automatische Tools
-Es gibt auch mehrere Werkzeuge, die **automatische Schwachstellenbewertungen** durchführen können. **Ich würde dir empfehlen,** [**Legion**](https://github.com/carlospolop/legion)** auszuprobieren, das ist das Werkzeug, das ich erstellt habe und das auf den Notizen über Pentesting-Dienste basiert, die du in diesem Buch finden kannst.**
+Es gibt auch mehrere Tools, die **automatische Schwachstellenbewertungen** durchführen können. **Ich würde dir empfehlen,** [**Legion**](https://github.com/carlospolop/legion)** auszuprobieren, das ist das Tool, das ich erstellt habe und das auf den Notizen über Pentesting-Dienste basiert, die du in diesem Buch finden kannst.**
#### **5.2 Brute-Forcing-Dienste**
@@ -73,11 +73,11 @@ In einigen Szenarien könnte ein **Brute-Force** nützlich sein, um einen **Dien
### 6- [Phishing](phishing-methodology/)
-Wenn du an diesem Punkt keine interessanten Schwachstellen gefunden hast, **musst du vielleicht einige Phishing-Versuche** unternehmen, um ins Netzwerk zu gelangen. Du kannst meine Phishing-Methodologie [hier](phishing-methodology/) lesen:
+Wenn du an diesem Punkt keine interessanten Schwachstellen gefunden hast, **musst du vielleicht etwas Phishing versuchen**, um ins Netzwerk zu gelangen. Du kannst meine Phishing-Methodologie [hier](phishing-methodology/) lesen:
### **7-** [**Shell erhalten**](reverse-shells/)
-Irgendwie solltest du **eine Möglichkeit gefunden haben, Code** im Opfer auszuführen. Dann wäre [eine Liste möglicher Werkzeuge im System, die du verwenden kannst, um eine Reverse-Shell zu erhalten, sehr nützlich](reverse-shells/).
+Irgendwie solltest du **eine Möglichkeit gefunden haben, Code** im Opfer auszuführen. Dann wäre [eine Liste möglicher Tools im System, die du verwenden kannst, um eine Reverse-Shell zu erhalten, sehr nützlich](reverse-shells/).
Besonders unter Windows könntest du Hilfe benötigen, um **Antivirenprogramme zu umgehen**: [**Überprüfe diese Seite**](../windows-hardening/av-bypass.md)**.**\\
@@ -91,7 +91,7 @@ Wenn du Probleme mit der Shell hast, findest du hier eine kleine **Zusammenstell
### **9 -** [**Exfiltration**](exfiltration.md)
-Du wirst wahrscheinlich **einige Daten vom Opfer extrahieren** oder sogar **etwas einführen** müssen (wie Skripte zur Privilegieneskalation). **Hier hast du einen** [**Beitrag über gängige Werkzeuge, die du für diese Zwecke verwenden kannst**](exfiltration.md)**.**
+Du wirst wahrscheinlich **einige Daten vom Opfer extrahieren** oder sogar **etwas einführen** müssen (wie Skripte zur Privilegieneskalation). **Hier hast du einen** [**Beitrag über gängige Tools, die du für diese Zwecke verwenden kannst**](exfiltration.md)**.**
### **10- Privilegieneskalation**
@@ -106,7 +106,7 @@ Du solltest auch diese Seiten über die Funktionsweise von **Windows** überprü
* Wie man [**Anmeldeinformationen stiehlt**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) in Windows
* Einige Tricks über [_**Active Directory**_](../windows-hardening/active-directory-methodology/)
-**Vergiss nicht, die besten Werkzeuge zur Aufzählung von Windows- und Linux-Pfaden zur lokalen Privilegieneskalation zu überprüfen:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
+**Vergiss nicht, die besten Tools zur Aufzählung von Windows- und Linux-Pfaden zur lokalen Privilegieneskalation zu überprüfen:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
#### **10.2- Domain Privilegieneskalation**
@@ -116,7 +116,7 @@ Hier findest du eine [**Methodologie, die die häufigsten Aktionen zur Aufzählu
#### **11**.1 - Plündern
-Überprüfe, ob du weitere **Passwörter** im Host finden kannst oder ob du **Zugriff auf andere Maschinen** mit den **Privilegien** deines **Benutzers** hast.\
+Überprüfe, ob du weitere **Passwörter** im Host finden kannst oder ob du **Zugang zu anderen Maschinen** mit den **Privilegien** deines **Benutzers** hast.\
Hier findest du verschiedene Möglichkeiten, um [**Passwörter in Windows zu dumpen**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md).
#### 11.2 - Persistenz
@@ -128,7 +128,7 @@ TODO: Vollständige Persistenz-Post in Windows & Linux
### 12 - Pivoting
-Mit den **gesammelten Anmeldeinformationen** könntest du Zugriff auf andere Maschinen haben, oder vielleicht musst du **neue Hosts entdecken und scannen** (beginne die Pentesting-Methodologie erneut) in neuen Netzwerken, mit denen dein Opfer verbunden ist.\
+Mit den **gesammelten Anmeldeinformationen** könntest du Zugang zu anderen Maschinen haben, oder vielleicht musst du **neue Hosts entdecken und scannen** (beginne die Pentesting-Methodologie erneut) in neuen Netzwerken, mit denen dein Opfer verbunden ist.\
In diesem Fall könnte Tunneling notwendig sein. Hier findest du [**einen Beitrag über Tunneling**](tunneling-and-port-forwarding.md).\
Du solltest auch den Beitrag über die [Pentesting-Methodologie für Active Directory](../windows-hardening/active-directory-methodology/) überprüfen. Dort findest du coole Tricks, um lateral zu bewegen, Privilegien zu eskalieren und Anmeldeinformationen zu dumpen.\
Überprüfe auch die Seite über [**NTLM**](../windows-hardening/ntlm/), sie könnte sehr nützlich sein, um in Windows-Umgebungen zu pivotieren.
@@ -141,9 +141,9 @@ Du solltest auch den Beitrag über die [Pentesting-Methodologie für Active Dire
* [**Grundlegendes Linux-Exploiting**](broken-reference/)
* [**Grundlegendes Windows-Exploiting**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
-* [**Grundlegende Exploiting-Werkzeuge**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/)
+* [**Grundlegende Exploiting-Tools**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/)
-#### [**Grundlegendes Python**](python/)
+#### [**Grundlagen Python**](python/)
#### **Krypto-Tricks**
@@ -151,7 +151,7 @@ Du solltest auch den Beitrag über die [Pentesting-Methodologie für Active Dire
* [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md)
* [**Padding Oracle**](../crypto-and-stego/padding-oracle-priv.md)
-
+
Wenn du an einer **Hacking-Karriere** interessiert bist und das Unhackbare hacken möchtest - **wir stellen ein!** (_fließend Polnisch in Wort und Schrift erforderlich_).
@@ -163,7 +163,7 @@ Lerne & übe GCP Hacking:
-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)**.**
diff --git a/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
index 5445d54aa..19d2a6197 100644
--- a/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
+++ b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
@@ -15,7 +15,7 @@ Lerne & übe GCP Hacking:
{% endhint %}
-
+
Wenn du an einer **Hacking-Karriere** interessiert bist und das Unhackbare hacken möchtest - **wir stellen ein!** (_fließend Polnisch in Wort und Schrift erforderlich_).
@@ -30,7 +30,7 @@ In den folgenden Videos findest du die auf dieser Seite erwähnten Techniken aus
## read-only / no-exec Szenario
-Es ist immer häufiger anzutreffen, dass Linux-Maschinen mit **read-only (ro) Dateisystemschutz** gemountet werden, insbesondere in Containern. Das liegt daran, dass es so einfach ist, einen Container mit ro Dateisystem zu betreiben, wie **`readOnlyRootFilesystem: true`** im `securitycontext` festzulegen:
+Es ist immer häufiger anzutreffen, dass Linux-Maschinen mit **schreibgeschütztem (ro) Dateisystemschutz** gemountet werden, insbesondere in Containern. Das liegt daran, dass es so einfach ist, einen Container mit ro Dateisystem zu betreiben, wie **`readOnlyRootFilesystem: true`** im `securitycontext` festzulegen:
apiVersion: v1
kind: Pod
@@ -45,19 +45,19 @@ securityContext:
command: ["sh", "-c", "while true; do sleep 1000; done"]
-Allerdings, selbst wenn das Dateisystem als ro gemountet ist, ist **`/dev/shm`** weiterhin beschreibbar, sodass es falsch ist zu sagen, dass wir nichts auf die Festplatte schreiben können. Diese Ordner werden jedoch **mit no-exec-Schutz** gemountet, sodass du eine hier heruntergeladene Binärdatei **nicht ausführen kannst**.
+Allerdings, selbst wenn das Dateisystem als ro gemountet ist, bleibt **`/dev/shm`** beschreibbar, sodass es falsch ist zu sagen, dass wir nichts auf die Festplatte schreiben können. Diese Ordner werden jedoch **mit no-exec-Schutz** gemountet, sodass du eine hier heruntergeladene Binärdatei **nicht ausführen kannst**.
{% hint style="warning" %}
-Aus der Perspektive eines Red Teams macht dies das **Herunterladen und Ausführen** von Binärdateien, die sich nicht bereits im System befinden (wie Backdoors oder Aufzähler wie `kubectl`), **kompliziert**.
+Aus der Perspektive eines Red Teams macht dies das **Herunterladen und Ausführen** von Binärdateien, die sich nicht bereits im System befinden (wie Backdoors oder Enumerator wie `kubectl`), **kompliziert**.
{% endhint %}
## Einfachster Bypass: Skripte
-Beachte, dass ich von Binärdateien gesprochen habe, du kannst **jedes Skript ausführen**, solange der Interpreter auf der Maschine vorhanden ist, wie ein **Shell-Skript**, wenn `sh` vorhanden ist, oder ein **Python**-**Skript**, wenn `Python` installiert ist.
+Beachte, dass ich von Binärdateien gesprochen habe, du kannst **jedes Skript ausführen**, solange der Interpreter auf der Maschine vorhanden ist, wie ein **Shell-Skript**, wenn `sh` vorhanden ist, oder ein **Python-Skript**, wenn `python` installiert ist.
Allerdings reicht das nicht aus, um deine Binär-Backdoor oder andere Binärwerkzeuge auszuführen, die du möglicherweise benötigst.
-## Speicher-Bypässe
+## Speicher-Bypasses
Wenn du eine Binärdatei ausführen möchtest, aber das Dateisystem dies nicht zulässt, ist der beste Weg, dies zu tun, indem du sie **aus dem Speicher ausführst**, da die **Schutzmaßnahmen dort nicht gelten**.
@@ -65,10 +65,10 @@ Wenn du eine Binärdatei ausführen möchtest, aber das Dateisystem dies nicht z
Wenn du einige leistungsstarke Skript-Engines auf der Maschine hast, wie **Python**, **Perl** oder **Ruby**, könntest du die Binärdatei herunterladen, um sie aus dem Speicher auszuführen, sie in einem Speicher-Dateideskriptor (`create_memfd` syscall) speichern, der nicht durch diese Schutzmaßnahmen geschützt ist, und dann einen **`exec` syscall** aufrufen, der den **fd als die auszuführende Datei angibt**.
-Dafür kannst du leicht das Projekt [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec) verwenden. Du kannst ihm eine Binärdatei übergeben, und es wird ein Skript in der angegebenen Sprache generiert, mit der **Binärdatei komprimiert und b64 codiert** und den Anweisungen, um sie in einem **fd** zu **dekodieren und zu dekomprimieren**, das durch den Aufruf des `create_memfd` syscalls erstellt wird, und einem Aufruf des **exec** syscalls, um sie auszuführen.
+Dafür kannst du leicht das Projekt [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec) verwenden. Du kannst ihm eine Binärdatei übergeben, und es wird ein Skript in der angegebenen Sprache generiert, das die **Binärdatei komprimiert und b64 kodiert** mit den Anweisungen, um sie in einem **fd** zu **dekodieren und zu dekomprimieren**, das durch den Aufruf des `create_memfd` syscalls erstellt wird, und einen Aufruf des **exec** syscalls, um sie auszuführen.
{% hint style="warning" %}
-Dies funktioniert nicht in anderen Skriptsprache wie PHP oder Node, da sie keinen d**efault Weg haben, rohe syscalls** aus einem Skript aufzurufen, sodass es nicht möglich ist, `create_memfd` aufzurufen, um den **Speicher fd** zu erstellen, um die Binärdatei zu speichern.
+Dies funktioniert nicht in anderen Skriptsprachen wie PHP oder Node, da sie keine **Standardmethode haben, um rohe Syscalls** aus einem Skript aufzurufen, sodass es nicht möglich ist, `create_memfd` aufzurufen, um den **Speicher fd** zu erstellen, um die Binärdatei zu speichern.
Darüber hinaus wird das Erstellen eines **regulären fd** mit einer Datei in `/dev/shm` nicht funktionieren, da du sie nicht ausführen darfst, weil der **no-exec-Schutz** gilt.
{% endhint %}
@@ -96,11 +96,11 @@ Für weitere Informationen zu dieser Technik, siehe das Github oder:
[**Memexec**](https://github.com/arget13/memexec) ist der natürliche nächste Schritt von DDexec. Es ist ein **DDexec Shellcode, der demonisiert wurde**, sodass Sie jedes Mal, wenn Sie **eine andere Binärdatei ausführen** möchten, DDexec nicht neu starten müssen. Sie können einfach den Memexec-Shellcode über die DDexec-Technik ausführen und dann **mit diesem Daemon kommunizieren, um neue Binärdateien zu laden und auszuführen**.
-Ein Beispiel, wie man **memexec verwendet, um Binärdateien von einem PHP-Reverse-Shell auszuführen**, finden Sie unter [https://github.com/arget13/memexec/blob/main/a.php](https://github.com/arget13/memexec/blob/main/a.php).
+Ein Beispiel, wie man **memexec verwendet, um Binärdateien von einer PHP-Reverse-Shell auszuführen**, finden Sie unter [https://github.com/arget13/memexec/blob/main/a.php](https://github.com/arget13/memexec/blob/main/a.php).
### Memdlopen
-Mit einem ähnlichen Zweck wie DDexec ermöglicht die [**memdlopen**](https://github.com/arget13/memdlopen) Technik eine **einfachere Möglichkeit, Binärdateien** im Speicher zu laden, um sie später auszuführen. Es könnte sogar ermöglichen, Binärdateien mit Abhängigkeiten zu laden.
+Mit einem ähnlichen Zweck wie DDexec ermöglicht die Technik [**memdlopen**](https://github.com/arget13/memdlopen) eine **einfachere Möglichkeit, Binärdateien** im Speicher zu laden, um sie später auszuführen. Es könnte sogar ermöglichen, Binärdateien mit Abhängigkeiten zu laden.
## Distroless Bypass
@@ -130,9 +130,9 @@ Wenn es **keine `read-only/no-exec`**-Schutzmaßnahmen gibt, könnten Sie Ihre R
In dieser Art von Containern werden diese Schutzmaßnahmen jedoch normalerweise vorhanden sein, aber Sie könnten die **vorherigen Techniken zur Ausführung im Speicher verwenden, um sie zu umgehen**.
{% endhint %}
-Sie finden **Beispiele**, wie man **einige RCE-Schwachstellen ausnutzt**, um Skriptsprache **Reverse Shells** zu erhalten und Binärdateien aus dem Speicher auszuführen, unter [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE).
+Sie finden **Beispiele**, wie man **einige RCE-Schwachstellen ausnutzt**, um Skriptsprache **Reverse Shells** zu erhalten und Binärdateien aus dem Speicher auszuführen unter [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE).
-
+
Wenn Sie an einer **Hacking-Karriere** interessiert sind und das Unhackbare hacken möchten - **wir stellen ein!** (_fließend Polnisch in Wort und Schrift erforderlich_).
diff --git a/linux-hardening/privilege-escalation/linux-active-directory.md b/linux-hardening/privilege-escalation/linux-active-directory.md
index 36a349d69..4fef5dbcd 100644
--- a/linux-hardening/privilege-escalation/linux-active-directory.md
+++ b/linux-hardening/privilege-escalation/linux-active-directory.md
@@ -1,35 +1,33 @@
# Linux Active Directory
{% 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 %}
-
-
{% embed url="https://websec.nl/" %}
Eine Linux-Maschine kann auch in einer Active Directory-Umgebung vorhanden sein.
-Eine Linux-Maschine in einem AD könnte **verschiedene CCACHE-Tickets in Dateien speichern. Diese Tickets können wie jedes andere Kerberos-Ticket verwendet und missbraucht werden**. Um diese Tickets zu lesen, musst du der Benutzerbesitzer des Tickets oder **root** auf der Maschine sein.
+Eine Linux-Maschine in einem AD könnte **verschiedene CCACHE-Tickets in Dateien speichern. Diese Tickets können wie jedes andere Kerberos-Ticket verwendet und missbraucht werden**. Um diese Tickets zu lesen, müssen Sie der Benutzerbesitzer des Tickets oder **root** auf der Maschine sein.
## Enumeration
### AD Enumeration von Linux
-Wenn du Zugriff auf ein AD in Linux (oder Bash in Windows) hast, kannst du [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) versuchen, um das AD zu enumerieren.
+Wenn Sie Zugriff auf ein AD in Linux (oder Bash in Windows) haben, können Sie [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) versuchen, um das AD zu enumerieren.
-Du kannst auch die folgende Seite überprüfen, um **andere Möglichkeiten zur Enumeration von AD aus Linux zu lernen**:
+Sie können auch die folgende Seite überprüfen, um **andere Möglichkeiten zur Enumeration von AD aus Linux** zu lernen:
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
@@ -37,17 +35,17 @@ Du kannst auch die folgende Seite überprüfen, um **andere Möglichkeiten zur E
### FreeIPA
-FreeIPA ist eine Open-Source-**Alternative** zu Microsoft Windows **Active Directory**, hauptsächlich für **Unix**-Umgebungen. Es kombiniert ein vollständiges **LDAP-Verzeichnis** mit einem MIT **Kerberos** Key Distribution Center für eine Verwaltung ähnlich der von Active Directory. Es nutzt das Dogtag **Zertifikatsystem** für CA- und RA-Zertifikatsmanagement und unterstützt **Multi-Faktor**-Authentifizierung, einschließlich Smartcards. SSSD ist für Unix-Authentifizierungsprozesse integriert. Erfahre mehr darüber in:
+FreeIPA ist eine Open-Source-**Alternative** zu Microsoft Windows **Active Directory**, hauptsächlich für **Unix**-Umgebungen. Es kombiniert ein vollständiges **LDAP-Verzeichnis** mit einem MIT **Kerberos** Key Distribution Center für eine Verwaltung ähnlich der von Active Directory. Es nutzt das Dogtag **Zertifikatssystem** für CA- und RA-Zertifikatsmanagement und unterstützt **Multi-Faktor**-Authentifizierung, einschließlich Smartcards. SSSD ist für Unix-Authentifizierungsprozesse integriert. Erfahren Sie mehr darüber in:
{% content-ref url="../freeipa-pentesting.md" %}
[freeipa-pentesting.md](../freeipa-pentesting.md)
{% endcontent-ref %}
-## Mit Tickets spielen
+## Spielen mit Tickets
### Pass The Ticket
-Auf dieser Seite findest du verschiedene Orte, an denen du **Kerberos-Tickets auf einem Linux-Host finden könntest**. Auf der folgenden Seite kannst du lernen, wie du diese CCache-Ticketformate in Kirbi (das Format, das du in Windows verwenden musst) umwandelst und auch, wie du einen PTT-Angriff durchführst:
+Auf dieser Seite finden Sie verschiedene Orte, an denen Sie **Kerberos-Tickets auf einem Linux-Host finden können**. Auf der folgenden Seite können Sie lernen, wie Sie diese CCache-Ticketformate in Kirbi (das Format, das Sie in Windows verwenden müssen) umwandeln und auch, wie Sie einen PTT-Angriff durchführen:
{% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %}
[pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md)
@@ -57,7 +55,7 @@ Auf dieser Seite findest du verschiedene Orte, an denen du **Kerberos-Tickets au
CCACHE-Dateien sind binäre Formate zum **Speichern von Kerberos-Anmeldeinformationen**, die typischerweise mit 600 Berechtigungen in `/tmp` gespeichert werden. Diese Dateien können durch ihr **Namensformat, `krb5cc_%{uid}`,** identifiziert werden, das mit der UID des Benutzers korreliert. Für die Überprüfung des Authentifizierungstickets sollte die **Umgebungsvariable `KRB5CCNAME`** auf den Pfad der gewünschten Ticketdatei gesetzt werden, um deren Wiederverwendung zu ermöglichen.
-Liste das aktuelle Ticket, das für die Authentifizierung verwendet wird, mit `env | grep KRB5CCNAME` auf. Das Format ist portabel und das Ticket kann **durch Setzen der Umgebungsvariable** mit `export KRB5CCNAME=/tmp/ticket.ccache` wiederverwendet werden. Das Kerberos-Ticket-Namensformat ist `krb5cc_%{uid}`, wobei uid die Benutzer-UID ist.
+Listen Sie das aktuelle Ticket, das für die Authentifizierung verwendet wird, mit `env | grep KRB5CCNAME` auf. Das Format ist portabel und das Ticket kann **durch Setzen der Umgebungsvariable** mit `export KRB5CCNAME=/tmp/ticket.ccache` wiederverwendet werden. Das Kerberos-Ticket-Namensformat ist `krb5cc_%{uid}`, wobei uid die Benutzer-UID ist.
```bash
# Find tickets
ls /tmp/ | grep krb5cc
@@ -68,7 +66,7 @@ export KRB5CCNAME=/tmp/krb5cc_1000
```
### CCACHE Ticket-Wiederverwendung aus dem Keyring
-**Kerberos-Tickets, die im Speicher eines Prozesses gespeichert sind, können extrahiert werden**, insbesondere wenn der ptrace-Schutz der Maschine deaktiviert ist (`/proc/sys/kernel/yama/ptrace_scope`). Ein nützliches Tool zu diesem Zweck ist unter [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) zu finden, das die Extraktion erleichtert, indem es in Sitzungen injiziert und Tickets in `/tmp` dumpet.
+**Kerberos-Tickets, die im Speicher eines Prozesses gespeichert sind, können extrahiert werden**, insbesondere wenn der ptrace-Schutz der Maschine deaktiviert ist (`/proc/sys/kernel/yama/ptrace_scope`). Ein nützliches Tool zu diesem Zweck findet sich unter [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey), das die Extraktion erleichtert, indem es in Sitzungen injiziert und Tickets in `/tmp` dumpet.
Um dieses Tool zu konfigurieren und zu verwenden, werden die folgenden Schritte befolgt:
```bash
@@ -77,8 +75,7 @@ cd tickey/tickey
make CONF=Release
/tmp/tickey -i
```
-Dieses Verfahren wird versuchen, in verschiedene Sitzungen zu injizieren, wobei der Erfolg durch das Speichern extrahierter Tickets in `/tmp` mit einer Namenskonvention von `__krb_UID.ccache` angezeigt wird.
-
+Dieses Verfahren wird versuchen, in verschiedene Sitzungen zu injizieren, wobei der Erfolg durch das Speichern der extrahierten Tickets in `/tmp` mit einer Namenskonvention von `__krb_UID.ccache` angezeigt wird.
### CCACHE-Ticket-Wiederverwendung von SSSD KCM
@@ -120,17 +117,16 @@ Durch die Nutzung der extrahierten Konten- und Hash-Informationen können Verbin
crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDOMAIN"
```
## Referenzen
+
* [https://www.tarlogic.com/blog/how-to-attack-kerberos/](https://www.tarlogic.com/blog/how-to-attack-kerberos/)
* [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory)
-
-
{% embed url="https://websec.nl/" %}
{% 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)
@@ -138,7 +134,7 @@ Lerne & übe GCP Hacking:
{% endhint %}
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-authorizations-db-and-authd.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-authorizations-db-and-authd.md
index 7de1647aa..f83870ef0 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-authorizations-db-and-authd.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-authorizations-db-and-authd.md
@@ -34,7 +34,7 @@ Die Regeln werden in der `rules`-Tabelle innerhalb der Datenbank gespeichert und
* **kofn**: Stellt den "k-of-n"-Parameter dar, der bestimmt, wie viele Unterregeln aus einer Gesamtzahl erfüllt sein müssen.
* **timeout**: Definiert die Dauer in Sekunden, bevor die durch die Regel gewährte Autorisierung abläuft.
* **flags**: Enthält verschiedene Flags, die das Verhalten und die Eigenschaften der Regel ändern.
-* **tries**: Begrenzung der Anzahl der erlaubten Autorisierungsversuche zur Verbesserung der Sicherheit.
+* **tries**: Begrenzung der Anzahl der zulässigen Autorisierungsversuche zur Verbesserung der Sicherheit.
* **version**: Verfolgt die Version der Regel zur Versionskontrolle und Aktualisierungen.
* **created**: Protokolliert den Zeitstempel, wann die Regel erstellt wurde, zu Prüfungszwecken.
* **modified**: Speichert den Zeitstempel der letzten Änderung an der Regel.
@@ -90,11 +90,11 @@ Außerdem ist es möglich, die Bedeutung von `authenticate-admin-nonshared` unte
Es ist ein Daemon, der Anfragen erhält, um Clients zu autorisieren, sensible Aktionen durchzuführen. Es funktioniert als XPC-Dienst, der im `XPCServices/`-Ordner definiert ist, und verwendet, um seine Protokolle in `/var/log/authd.log` zu schreiben.
-Darüber hinaus ist es möglich, mit dem Sicherheitstool viele `Security.framework`-APIs zu testen. Zum Beispiel `AuthorizationExecuteWithPrivileges`, das ausgeführt wird mit: `security execute-with-privileges /bin/ls`
+Darüber hinaus ist es möglich, mit dem Sicherheitstool viele `Security.framework` APIs zu testen. Zum Beispiel `AuthorizationExecuteWithPrivileges`, das ausgeführt wird mit: `security execute-with-privileges /bin/ls`
Das wird `/usr/libexec/security_authtrampoline /bin/ls` als root fork und exec, was nach Berechtigungen in einem Prompt fragt, um ls als root auszuführen:
-
+
{% hint style="success" %}
Learn & practice 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-security-protections/macos-code-signing.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-code-signing.md
index decdbd5ed..c5809247d 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-code-signing.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-code-signing.md
@@ -19,10 +19,10 @@ Learn & practice GCP Hacking:
+
Der magische Header der Code Signature ist **`0xFADE0CC0`**. Dann haben Sie Informationen wie die Länge und die Anzahl der Blobs des SuperBlobs, die sie enthalten.\
-Es ist möglich, diese Informationen im [Quellcode hier](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/osfmk/kern/cs\_blobs.h#L276) zu finden:
+Diese Informationen sind im [Quellcode hier](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/osfmk/kern/cs\_blobs.h#L276) zu finden:
```c
/*
* Structure of an embedded-signature SuperBlob
@@ -58,7 +58,7 @@ Darüber hinaus können Signaturen von den Binärdateien getrennt und in `/var/d
## Codeverzeichnis-Blob
-Es ist möglich, die Deklaration des [Codeverzeichnis-Blob im Code zu finden](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/osfmk/kern/cs\_blobs.h#L104):
+Es ist möglich, die Deklaration des [Codeverzeichnis-Blobs im Code zu finden](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/osfmk/kern/cs\_blobs.h#L104):
```c
typedef struct __CodeDirectory {
uint32_t magic; /* magic number (CSMAGIC_CODEDIRECTORY) */
@@ -118,7 +118,7 @@ Beachten Sie, dass es verschiedene Versionen dieser Struktur gibt, bei denen äl
## Signing Code Pages
-Das Hashen des vollständigen Binaries wäre ineffizient und sogar nutzlos, wenn es nur teilweise im Speicher geladen ist. Daher ist die Codesignatur tatsächlich ein Hash von Hashes, bei dem jede Binärseite einzeln gehasht wird.\
+Das Hashing des vollständigen Binaries wäre ineffizient und sogar nutzlos, wenn es nur teilweise im Speicher geladen ist. Daher ist die Codesignatur tatsächlich ein Hash von Hashes, bei dem jede Binärseite einzeln gehasht wird.\
Tatsächlich können Sie im vorherigen **Code Directory**-Code sehen, dass die **Seitengröße in einem seiner Felder angegeben ist**. Darüber hinaus gibt das Feld **CodeLimit** an, wo das Ende der Signatur liegt, wenn die Größe des Binaries kein Vielfaches der Seitengröße ist.
```bash
# Get all hashes of /bin/ps
@@ -226,9 +226,9 @@ Note that the function [**exec\_mach\_imgact**](https://github.com/apple-oss-dis
Jede Anwendung speichert einige **Anforderungen**, die sie **erfüllen** muss, um ausgeführt werden zu können. Wenn die **Anforderungen der Anwendung nicht von der Anwendung erfüllt werden**, wird sie nicht ausgeführt (da sie wahrscheinlich verändert wurde).
-Die Anforderungen einer Binärdatei verwenden eine **spezielle Grammatik**, die ein Stream von **Ausdrücken** ist und als Blobs mit `0xfade0c00` als Magic kodiert ist, dessen **Hash in einem speziellen Code-Slot gespeichert ist**.
+Die Anforderungen einer Binärdatei verwenden eine **spezielle Grammatik**, die ein Stream von **Ausdrücken** ist und als Blobs mit `0xfade0c00` als Magic kodiert ist, dessen **Hash in einem speziellen Codeslot gespeichert ist**.
-Die Anforderungen einer Binärdatei können wie folgt angezeigt werden:
+Die Anforderungen einer Binärdatei können angezeigt werden, indem man Folgendes ausführt:
{% code overflow="wrap" %}
```bash
@@ -285,7 +285,7 @@ Es ist möglich, auf diese Informationen zuzugreifen und Anforderungen mit einig
#### **Ändern von Code-Anforderungen**
* **`SecCodeSignerCreate`**: Erstellt ein `SecCodeSignerRef`-Objekt für die Durchführung von Codesignierungsoperationen.
-* **`SecCodeSignerSetRequirement`**: Setzt eine neue Anforderung, die der Codesigner während der Signierung anwenden soll.
+* **`SecCodeSignerSetRequirement`**: Setzt eine neue Anforderung für den Codesigner, die während der Signierung angewendet werden soll.
* **`SecCodeSignerAddSignature`**: Fügt eine Signatur zu dem zu signierenden Code mit dem angegebenen Signierer hinzu.
#### **Validierung von Code mit Anforderungen**
@@ -312,7 +312,7 @@ Der **Kernel** ist derjenige, der **die Codesignatur überprüft**, bevor er den
## `cs_blobs` & `cs_blob`
-[**cs\_blob**](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/ubc\_internal.h#L106) Struktur enthält die Informationen über die Berechtigung des laufenden Prozesses. `csb_platform_binary` informiert auch, ob die Anwendung ein Plattform-Binary ist (was zu verschiedenen Zeitpunkten vom OS überprüft wird, um Sicherheitsmechanismen anzuwenden, wie zum Beispiel den Schutz der SEND-Rechte zu den Task-Ports dieser Prozesse).
+[**cs\_blob**](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/ubc_internal.h#L106) Struktur enthält die Informationen über die Berechtigung des laufenden Prozesses. `csb_platform_binary` informiert auch, ob die Anwendung ein Plattform-Binary ist (was zu verschiedenen Zeitpunkten vom OS überprüft wird, um Sicherheitsmechanismen anzuwenden, wie zum Beispiel den Schutz der SEND-Rechte zu den Task-Ports dieser Prozesse).
```c
struct cs_blob {
struct cs_blob *csb_next;
diff --git a/network-services-pentesting/pentesting-smtp/smtp-smuggling.md b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md
index f003c74c2..03c3dc808 100644
--- a/network-services-pentesting/pentesting-smtp/smtp-smuggling.md
+++ b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md
@@ -17,22 +17,22 @@ Lerne & übe GCP Hacking: