CyberChef-Rezepte

Inhalt

Apache HTTP Access Log formatiert ausgeben
EXIF-Informationen extrahieren
URLs und E-Mail-Adressen aus Dateien extrahieren
URLs aus .url-Dateien extrahieren
Wegwerf-Mailadressen herausfiltern
Informationen zu E-Mail-Adressen abfragen
INI-Datei in HTML-Tabelle konvertieren
Text zu HTML konvertieren
TSV-Datei in HTML-Tabelle konvertieren
Zeit aus Google ei-Parameter extrahieren
PNG-Bild inline in HTML einbinden

Auf dieser Seite findest du fertige CyberChef-Rezepte. CyberChef ist eine Webanwendung für die Analyse und das Dekodieren von Daten.

Lies mehr über CyberChef, inklusive einer Beschreibung der wichtigsten Funktionen.

Tipps:

Gefällt dir meine Webseite, meine Freeware-Programme oder Online-Tools?

Dann spende bitte per PayPal und hilf mit, den Inhalt weiterhin kostenlos anbieten zu können - jeder Betrag ist willkommen!

Lese mehr über Unterstützungs­möglichkeiten...

Apache HTTP Access Log formatiert ausgeben

Dieses CyberChef-Rezept extrahiert Informationen aus einer oder mehreren Zeilen eines Apache HTTP Access Logs (Combined Log Format) und gibt sie mit Beschriftungen formatiert aus.

Das Datum wird in das ISO-Format konvertiert und die Zeitzone auf UTC umgestellt.

[{"op":"Find / Replace","args":[{"option":"Regex","string":"^\\s*([^\\s].*[^\\s])\\s*$"},"$1",false,true,false,true]},{"op":"Fork","args":["\\n","\\n",false]},{"op":"Subsection","args":[" \\[([^\\]]+)\\] ",true,true,false]},{"op":"Translate DateTime Format","args":["Automatic","DD/MMM/YYYY:HH:mm:ss","UTC","YYYY-MM-DD HH:mm:ss ZZ","UTC"]},{"op":"Merge","args":[false]},{"op":"Register","args":["^(\\S+) (\\S+) (\\S+) \\[([^\\]]+)\\] \"(\\S+) (.*?) (\\S+)\" (\\S+) (\\S+) \"([^\"]*)\" \"([^\"]*)\"",true,false,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":".*"},"Client Request:\\n  Host:      $R0\\n  Date/Time: $R3\\n  Method:    $R4\\n  File/Path: $R5\\nWebserver Response:\\n  Status Code: $R7\\n  Bytes Sent:  $R8\\nInformation from Client:\\n  Referrer:   $R9\\n  User-Agent: $R10\\n",false,false,false,true]}]

Rezept mit Beispiel ausprobieren

Eingabe:

198.51.100.1 - - [03/Apr/2023:10:36:08 +0200] "GET /en/software/ HTTP/1.1" 404 1527 "https://www.gaijin.at/en/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0"

Ausgabe:

Client Request:
  Host:      198.51.100.1
  Date/Time: 2023-04-03 08:36:08 +0000
  Method:    GET
  File/Path: /en/software/
Webserver Response:
  Status Code: 404
  Bytes Sent:  1527
Information from Client:
  Referrer:   https://www.gaijin.at/en/
  User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0

EXIF-Informationen extrahieren

Dieses CyberChef-Rezept extrahiert die EXIF-Informationen aus einer Bilddatei, entfernt nicht benötigte Informationen und formatiert die UNIX-Zeitstempel in ein ISO-Datum um.

[{"op":"Extract EXIF","args":[]},{"op":"Find / Replace","args":[{"option":"Regex","string":"Found \\d+ tags.\\n\\n"},"",true,false,true,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"\\n(StripOffsets|StripByteCounts): [^\\n]+"},"",true,false,true,false]},{"op":"Subsection","args":["\\n(?:ModifyDate|DateTimeOriginal): (\\d+)",true,true,false]},{"op":"Translate DateTime Format","args":["UNIX timestamp (seconds)","X","UTC","YYYY-MM-DD HH:mm:ss z","UTC"]}]

Beispielausgabe:

Make: NIKON CORPORATION
Model: NIKON D70
Orientation: 1
XResolution: 240
YResolution: 240
ResolutionUnit: 2
Software: GIMP 2.4.5
ModifyDate: 2008-06-22 06:17:32 UTC
ExposureTime: 0.005
FNumber: 9
ExposureProgram: 1
ISO: 200
DateTimeOriginal: 2008-04-10 19:42:08 UTC
ShutterSpeedValue: 7.591430
ApertureValue: 6.75239
ExposureCompensation: -1
MaxApertureValue: 3.3
MeteringMode: 2
Flash: 0
FocalLength: 100
ColorSpace: 1
ExifImageWidth: 100
ExifImageHeight: 66
FocalLengthIn35mmFormat: 150

URLs und E-Mail-Adressen aus Dateien extrahieren

CyberChef kann URLs und E-Mail-Adressen aus Texten extrahieren. Um diese Information aus Dateien - auch rekursiv - auszulesen, kann man sich mit Konsolenbefehlen behelfen.

Der Windows Konsolenbefehl

findstr /S "://" *.txt > urls.txt

oder unter Linux der Befehl

grep -Ihr --include="*.txt" "://" * > urls.txt

schreibt die Zeilen aus allen Textdateien, die möglicherweise eine URL enthalten, in die Ausgabedatei "urls.txt". Der Parameter "/S" bzw. "-r" bewirkt die rekursive Suche in Unterverzeichnissen. Die Ausgabedatei wird nun per Drag und Drop oder mit der Öffnen-Funktion als Eingabe in CyberChef geladen. Das folgende Rezept gibt dann die URLs ohne Duplikate und sortiert aus.

Rezept
Extract_URLs(false,true,true)

Für E-Mail-Adressen ist die Vorgangsweise sehr ähnlich. Der Konsolenbefehl wird dazu mit einem kurzen regulären Ausdruck aufgerufen:

findstr /S /R ".+@[a-z0-9]" *.txt > emails.txt

Oder unter Linux:

grep -EIihr --include="*.txt" ".+@[a-z0-9]" * > emails.txt

Die Ausgabedatei wird wieder in CyberChef geladen. Das nachstehende Rezept gibt alle E-Mail-Adressen ohne Duplikate und sortiert aus.

Rezept
Extract_URLs(false,true,true)

URLs aus .url-Dateien extrahieren

Mit dem Windows Konsolenbefehl "type *.url > urls.txt" wird zuerst der Inhalt aller .url-Dateien in die Datei "urls.txt" geschrieben. Danach wird folgendes Rezept in CyberChef geladen:

[{"op":"Regular expression","args":["User defined","(?:^|[\\r\\n])\\[InternetShortcut\\][^\\[]*[\\r\\n]URL=([^\\r\\n]*)(?:[\\r\\n]|$)",true,true,false,false,false,false,"List capture groups"]}]

Anschließend wird die Datei "urls.txt" per Drag und Drop auf das Eingabefeld in CyberChef gezogen. In der Ausgabe sind nur jene Daten enthalten, die in der Zeile "URL" der Sektion "InternetShortcut" eingetragen sind.

Eine andere Methode wäre die Extraktion sämtlicher URLs mit "Extract_URLs(false,true,true)". Die Ausgabe der Adressen erfolgt dabei sortiert und ohne Duplikate.

Wegwerf-Mailadressen herausfiltern

Dieses Rezept filtert aus einer Liste mit Mailadressen jene heraus, die sog. Wegwerf-Mailadressen oder temporäre Mailadressen sind.

[{"op":"Fork","args":["\\n","\\n",false]},{"op":"Register","args":["([\\s\\S]*)",true,false,false]},{"op":"HTTP request","args":["GET","https://open.kickbox.com/v1/disposable/$R0","","Cross-Origin Resource Sharing",false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"^(\\{\"disposable\":true\\})$"},"$R0",true,false,true,false]},{"op":"Merge","args":[true]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"{\"disposable\":false}"},"",true,false,true,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"(\\s+)"},"\\n",true,false,true,false]}]

Rezept mit Beispiel ausprobieren

Eingabe:

test1@byom.de
test@test.tld
test2@byom.de

Ausgabe:

test1@byom.de
test2@byom.de

Informationen zu E-Mail-Adressen abfragen

disify.com

Dieses CyberChef-Rezept ruft Informationen zu einer oder mehreren Mailadressen über den Dienst disify.com ab und formatiert das Ergebnis.

[{"op":"Fork","args":["\\n","\\n",false]},{"op":"Register","args":["([\\s\\S]*)",true,false,false]},{"op":"HTTP request","args":["GET","https://www.disify.com/api/email/$R0","","Cross-Origin Resource Sharing",false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"{"},"$R0:\\n{",true,false,true,false]},{"op":"Merge","args":[true]},{"op":"Find / Replace","args":[{"option":"Regex","string":"(\\{\\n|\\}|\"|,)"},"",true,false,true,false]}]

Rezept mit Beispiel ausprobieren

Eingabe:

test1@byom.de
test@test.tld
test2@byom.de

Ausgabe:

test1@byom.de:
    format: true
    domain: byom.de
    disposable: true

test@test.tld:
    format: true
    domain: test.tld
    disposable: false
    dns: false

test2@byom.de:
    format: true
    domain: byom.de
    disposable: true

mailcheck.ai

Dieses CyberChef-Rezept fragt Informationen zu einer oder mehreren Mailadressen über den Dienst mailcheck.ai ab und formatiert das Ergebnis.

[{"op":"Fork","args":["\\n","\\n",false]},{"op":"Register","args":["([\\s\\S]*)",true,false,false]},{"op":"HTTP request","args":["GET","https://api.mailcheck.ai/email/$R0","","Cross-Origin Resource Sharing",false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"{"},"$R0:\\n{",true,false,true,false]},{"op":"Merge","args":[true]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"\""},"",true,false,true,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":":"},": ",true,false,true,false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"{"},"    ",true,false,true,false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"}"},"\\n",true,false,true,false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":","},"\\n    ",true,false,true,false]}]

Rezept mit Beispiel ausprobieren

Eingabe:

test1@byom.de
test@test.tld
test2@byom.de

Ausgabe:

test1@byom.de: 
    status: 200
    email: test1@byom.de
    domain: byom.de
    mx: true
    disposable: true
    alias: false
    did_you_mean: null

test@test.tld: 
    status: 200
    email: test@test.tld
    domain: test.tld
    mx: false
    disposable: false
    alias: false
    did_you_mean: null

test2@byom.de: 
    status: 200
    email: test2@byom.de
    domain: byom.de
    mx: true
    disposable: true
    alias: false
    did_you_mean: null

INI-Datei in HTML-Tabelle konvertieren

Mit diesem CyberChef-Rezept kann eine INI-Datei in eine HTML-Tabelle konvertiert werden.

[{"op":"Find / Replace","args":[{"option":"Regex","string":"(.+)\\["},"$1</table>\\n[",true,false,false,true]},{"op":"Find / Replace","args":[{"option":"Regex","string":"(.*)$"},"$1\\n</table>",false,false,false,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"^\\[([^\\]]*)\\]"},"<h3>$1</h3>\\n<table>",true,false,true,false]},{"op":"Fork","args":["\\n","\\n",false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"^([^\\=]*)=(.*)$"},"<tr><th>$1</th><td>$2</td></tr>",false,false,false,false]},{"op":"Merge","args":[true]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"<table>"},"<table border=\"1\">",true,false,false,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"^(.*)$"},"<!DOCTYPE html>\\n<html>\\n<body>\\n$1\\n</body>\\n</html>\\n",true,false,true,true]}]

Rezept mit Beispiel ausprobieren

Eingabe:

[Section1]
Key1=Value1
Key2=Value2
[Section2]
Key3=Value3

Ausgabe:

<!DOCTYPE html>
<html>
<body>
<h3>Section1</h3>
<table border="1">
<tr><th>Key1</th><td>Value1</td></tr>
<tr><th>Key2</th><td>Value2</td></tr>
</table>
<h3>Section2</h3>
<table border="1">
<tr><th>Key3</th><td>Value3</td></tr>
</table>
</body>
</html>

Text zu HTML konvertieren

Dieses Rezept konvertiert einen Text mit Absätzen zu einem HTML-Dokument.

[{"op":"Find / Replace","args":[{"option":"Regex","string":"&"},"&amp;",true,false,false,false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"<"},"&lt;",true,false,false,false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":">"},"&gt;",true,false,false,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"^\\s*(.*?)\\s*$"},"$1",true,true,false,true]},{"op":"Find / Replace","args":[{"option":"Regex","string":"\\s*[\\r\\n]+\\s*"},"</p>\\n<p>",true,true,false,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"^(.*)$"},"<!DOCTYPE html>\\n<html lang=\"en\">\\n<body>\\n<p>$1</p>\\n</body>\\n</html>\\n",true,true,false,true]}]

Rezept mit Beispiel ausprobieren

Alternativ dazu wird der Text im folgenden Rezept unverändert übernommen und mit pre-Tags umgeben, damit die Formatierung bei der Anzeige erhalten bleibt.

[{"op":"Find / Replace","args":[{"option":"Regex","string":"&"},"&amp;",true,false,false,false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"<"},"&lt;",true,false,false,false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":">"},"&gt;",true,false,false,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"^(.*)$"},"<!DOCTYPE html>\\n<html lang=\"en\">\\n<body>\\n<pre>$1</pre>\\n</body>\\n</html>\\n",true,true,false,true]}]

Rezept mit Beispiel ausprobieren

Eingabe:

 111
    222 
  333   

Ausgabe (mit Absätzen):

<!DOCTYPE html>
<html lang="en">
<body>
<p>111</p>
<p>222</p>
<p>333</p>
</body>
</html>

Ausgabe (vorformatiert):

<!DOCTYPE html>
<html lang="en">
<body>
<pre> 111
    222 
  333   </pre>
</body>
</html>

TSV-Datei in HTML-Tabelle konvertieren

Mit diesem CyberChef-Rezept kann eine TSV-Datei in eine HTML-Tabelle konvertiert werden.

[{"op":"Find / Replace","args":[{"option":"Extended (\\n, \\t, \\x...)","string":"\\t"},"</td><td>",true,false,true,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"^(.*)$"},"<tr><td>$1</td></tr>",true,false,true,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"(.*)"},"<!DOCTYPE html>\\n<html lang=\"en\">\\n<body>\\n<table border=\"1\">\\n$1\\n</table>\\n</body>\\n</html>\\n",false,false,true,true]}]

Zeit aus Google ei-Parameter extrahieren

Dieses Rezept extrahiert die Zeit der Suchanfrage aus der Datenstruktur des ei-Parameters einer Google-URL. Das Rezept akzeptiert den Wert selbst oder die ganze URL als Eingabe.

Der ei-Parameter is mit Base64 kodiert und enthält in den ersten 4 Bytes eine vorzeichenlose Ganzzahl als Little-Endian. Dies ist ein UNIX-Zeitstempel, der mit dem Zeitpunkt der Suchanfrage übereinstimmt. Von Google gibt es keine gesicherte Beschreibung dieses Wertes.

[{"op":"Conditional Jump","args":["&ei=[A-Za-z0-9+/=]+",true,"decode",10]},{"op":"Regular expression","args":["User defined","&ei=([A-Za-z0-9+/=]+)",false,false,false,false,false,false,"List capture groups"]},{"op":"Label","args":["decode"]},{"op":"From Base64","args":["A-Za-z0-9+/=",true,false]},{"op":"Take bytes","args":[0,4,false]},{"op":"Swap endianness","args":["Raw",4,true]},{"op":"To Hex","args":["None",0]},{"op":"From Base","args":[16]},{"op":"Translate DateTime Format","args":["UNIX timestamp (seconds)","X","UTC","YYYY-MM-DD HH:mm:ss z","UTC"]}]

Rezept mit Beispiel ausprobieren

Eingabe:

qeQ4ZPvBOvmE9u8PrqmyiAM

Ausgabe:

2023-04-14 05:29:13 UTC
Tipp: Das Online-Tool URL Parser findet und dekodiert diesen Wert ebenfalls automatisch in einer URL.

PNG-Bild inline in HTML einbinden

Mit diesem Rezept kann eine PNG-Bilddatei inline in eine HTML-Seite eingebunden werden. Dazu wird die PNG-Datei aus der Eingabe mit Base64 kodiert und der entsprechende HTML-Tag (IMG SRC) ausgegeben.

[{"op":"To Base64","args":["A-Za-z0-9+/="]},{"op":"Find / Replace","args":[{"option":"Regex","string":"^(.*)$"},"<img src=\"data:image/png;base64,$1\" width=\"\" height=\"\" alt=\"Image\">",true,false,false,true]}]

Eingabe:

Eine PNG-Bilddatei

Beispielausgabe:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjEuNv1OCegAAAF2SURBVDhPfZM7SwNBFIVHEbSItqKC2ooIVr5AtFJBbIRVZMlz1WIhvyHoj0ih2GlnZ2MREfwJFmJlY2dhF3yFxO/u3pjJZPDCYWbuOefO4+4aX4RhOJbP57fBUaFQiHO53CHjTjabnVSJPzDMI6yBJmh50ERzC6bV0gnIXfBlif/DaxRFo2o1hqPNkPxwRLLbI+M947vDtchdqD3Z/doh69x7Q2kTx3GG3J3Fv4EbqD55sBEW33YBzCeptROlUmkKblMeWFNpFIvFNdusBRaUNpVKZaBcLg/6ANcvx993C7DbuPqFPwPSlR5w8nXDbnssugqQm1C/tPbc5dtICjBZdQmutah+KVAlJx0SNNoaQVKA4w4z6XpEcKr+rkB3ZeuSAhIsetoIthJSg/wKuWdHlxbgzrMsPm1S8URe+v/i5BP8FZBgEYIfn9CDBtpqEAQZtafBJ70M8YBA2tRjhKszXoI5tfjD+p0jOnLMFQ+YL4EhlWgY8wvWmmR3RmM/WgAAAABJRU5ErkJggg==" width="" height="" alt="Image">

Gefällt dir meine Webseite, meine Freeware-Programme oder Online-Tools?

Dann spende bitte per PayPal und hilf mit, den Inhalt weiterhin kostenlos anbieten zu können - jeder Betrag ist willkommen!

Lese mehr über Unterstützungs­möglichkeiten...




Diese Webseite verwendet Cookies und verarbeitet Daten. Informationen zur Datenverarbeitung sowie zur Möglichkeit, diese abzulehnen, finden Sie in der Datenschutzerklärung. Ok