
Generate malicious files using recently published homoglyphic-attack (CVE-2021-42694)
Generieren Sie bösartige Dateien unter Verwendung der kürzlich veröffentlichten Homoglyph-Angriff-Schwachstelle, die zumindest in C, C++, C#, Go, Python, Rust, JS, ... entdeckt wurde.
Zitat von cve.mitre.org
Ein Problem wurde in den Zeichendefinitionen der Unicode-Spezifikation bis Version 14.0 entdeckt. Die Spezifikation erlaubt es einem Angreifer, Quellcode-Identifikatoren wie Funktionsnamen unter Verwendung von Homoglyphen zu erzeugen, die visuell identisch zu einem Zielidentifikator erscheinen. Angreifer können dies ausnutzen, um Code über bösartige Identifikatordefinitionen in vorgelagerten Softwareabhängigkeiten einzuschleusen, die in nachgelagerter Software betrügerisch aufgerufen werden.
Rohdaten für Homoglyphen (homoglyphs.txt) stammen von hier und bereinigte Daten, um kursive und unähnliche Zeichen auszusortieren.
Siehe die Originalquelle von der Camebridge University:
https://www.trojansource.codes/trojan-source.pdf
python3 codegen.py [-h] [-i INFILE] [-o OUTFILE] [-r] [-a]
| arg | long arg | param | descrption |
|---|---|---|---|
| -h | --help | none | show this help message and exit |
| -i | --infile | INFILE | Input file containing homoglyph placeholders |
| -o | --outfile | OUTFILE | Output file to store the final code |
| -r | --random | none | SET flag to choose random homoglyph; take first one if not set |
| -a | --about | none | Print about text |
Beispiele wurden von mir erstellt oder sind takem aus dem referenzierten PDF. Um diese Beispiele auszuführen, führen Sie codegen.py mit den erforderlichen Argumenten aus:
python3 codegen.py -i infile.xyz -o outfile.xyz und führen/kompilieren Sie outfile.xyz.
Derzeit werden nur Ziffern [0-9] sowie Klein- und Großbuchstaben [a-zA-Z] unterstützt. Um ein unterstütztes Zeichen in Ihrer Vorlage durch ein (zufälliges) Homoglyph zu ersetzen, schließen Sie das Zeichen einfach mit Dollarzeichen $ ein. Sehen Sie sich die Beispiele an, um einen ersten Eindruck zu bekommen, wie eine Vorlage aussehen könnte.