Sample Files

The files that are available for download here are usually malware, please treat these files accordingly. Malicious samples are packed as zip or 7zip archives with the password infected.
[imp@mal.re /tmp/classes/hsbund-2026-06-ss/]$ cat slides1.md
# Überblick - Montag Setup, Intro & String Obfuscation - Dienstag Anti-Analyse & Shellcode - Mittwoch Algorithmusidentifikation - Donnerstag API Hashing Note: Wenn ihr gut Gas gebt in diesem Kurs, könnt ihr statisches Reversing Vielleicht nicht gut, aber es ist ein Anfang. --- # Überblick Montag - Hallo Welt - Ghidra Setup - Windows API - Aufgabe 1 - Reverse Engineering: Ziele & Stile - Aufgabe 2 Note: "Hallo Welt" heißt hier, dass ihr auch etwas C lernt. Wir bringen immer die Konzepte bei, die wir als nächstes brauchen (erst mal grundlegende Features, später etwas Pointer, ...). --- # Komplettinstallation - Kali VirtualBox Appliance https://www.kali.org/get-kali/#kali-virtual-machines - Entpacken und in VirtualBox über Machine -> Open - In der VM in einem Terminal: sudo apt update sudo apt install ghidra - Danach kann man Ghidra in Kali starten --- # Slide 3 - Demo: Hallo Welt. Note: #include #include char HALLO[200] = "Hallo "; int main() { DWORD len = 194; GetUserName(HALLO + 6, &len); printf("%s", HALLO); return 0; } - C: Variablen Deklarationen (DWORD len) - C: Array Deklaration (char HALLO[200]) - C: Datentypen (DWORD) - C: Pointer (+ 6) - C: HALLO ist global, len ist auf dem Stack - Kompiliern & Dekompilieren - C: Speicher (HALLO ist global) --- # Ghidra Setup - JDK - Ghidra - [ghida.kbxml](https://mal.re/tmp/resources/ghIDA.kbxml) - [ReactOS DLLs](https://mal.re/tmp/resources/react-os-dlls.zip) (erstmal nur runterladen) Note: JDK und Ghidra wahrscheinlich mit dem package Manager. Wer fertig ist, kann hallo welt selbst machen. Was bedeutet fertig? Einmal zeigen. --- # Ghidra Intro - Variablen (umbennen) - Datentypen (ändern) - An Dekompiler gewöhnen - Empfohlene Benutzereinstellungen - Key Bindings - Highlight mit linker Maustaste Note: Keybindings sind wichtig Benutze Aufgbabe 1 (geht auf nächster Slide weiter) --- # Slide 6 - Aufgabe 1 - https://mal.re/tmp/classes/hsbund-2026-06-ss/tag1/aufgabe1.md Note: Einmal selbst aufmachen - C: Typecasts erklären - C: FUN_ aufmachen und Funktionskopf erklären - C: Windows API Funktionsaufrufe - 🐘KI - nicht verboten - wir bezweifeln, dass es beim Lernen hier hilft, wenn die KI die Aufgaben für dich löst - KI verwandelt jede Aufgabe in ein YouTube Video (man bildet sich nachher ein, dass man's kann) - es könnte sein, dass etwas komplexere Reversing Themen nicht gut in den Trainingsdaten vorhanden sind - aktuell habt ihr ja uns, stellt gerne Fragen. Quizfragen: Was macht das Programm mit deinen Daten? Was passiert mit nicht-schreibbaren Partitionen? Wie werden Verzeichnisse aufgelistet? Wie überschreibt die Malware Dateien vor dem Löschen? --- # Arten von Malware - Wiper - Backdoor - Remote Access Tool (RAT) - Bot - Rootkit / Bootkit - Banker - Stealer - Ransomware - Mineware Note: So eine Klassifikation hilft dabei, während des Reversings Thesen zu formulieren. Das ist nützlich, weil man damit gerichteter arbeiten kann. --- # Welche Infromationen kann Reverse Engineering liefern - Ist das Malware? - Indicators of Compromise (IoCs) - Signaturen - Capabilities - Klassifikation - Kontextualisierung --- # Slide 9 - Aufgabe 2 - https://mal.re/tmp/classes/hsbund-2026-06-ss/tag1/aufgabe2.md - [ReactOS DLLs](https://mal.re/tmp/resources/react-os-dlls.zip): Options → Edit Paths Note: Den "Options → Edit Paths" Teil einmal vor machen! Wie viele C2s sind in der Malware konfiguriert? Wie verbreitet sich die Malware? Was kann die Malware? (Stealer, Infiziert Archive, Liefert Next-Stages aus) --- # Slide 10 - Demo: Structs Note: - Datenstrukturen erklären (in C) - Kurz zeigen, wie man sie in Ghidra erstellt - Das wird noch ganz oft vorkommen