
Folien und Dateien für den Workshop Reversing Rust Binaries: One step beyond strings auf der REcon 2024, präsentiert am 28. Juni 2024.
Dieses Repository enthält die begleitenden Dateien für den Reverse Engineering von Rust-Binaries: Ein Schritt über Strings hinaus Workshop auf der REcon 2024, der am 28. Juni 2024 präsentiert wurde.
Während der Präsentation werden wir eine sehr einfache Rust-Binary erstellen und reversieren – einen harmlosen Downloader. Der Quellcode des Downloaders befindet sich in diesem Repository im Ordner simple-downloader/.
Lies unten die Einrichtungsanweisungen vor dem Workshop!
Für eine einfache Einrichtung kannst du eine vorkonfigurierte Ubuntu-VM herunterladen, die über Folgendes verfügt:
rust-analyzer-Erweiterung (für Autovervollständigung und Dokumentations-Tooltips)simple-downloader/ dieses Repositoryssimple-downloader-BinaryDu kannst die VM-Datei (eine .OVA-Datei) hier herunterladen: https://drive.google.com/file/d/1pM1MwQf4Ccjt-KokbV1RFh8C9tv48jrt/view?usp=sharing
Du kannst diese OVA-Datei anschließend in deine VM-Software importieren (z. B. VMware Workstation, VMware Fusion, VirtualBox usw.).
Das Hauptkonto auf der VM hat den Benutzernamen user und das Passwort user.
Wenn du diesen Workshop bequem von deinem eigenen Rechner aus durchführen möchtest, benötigst du Folgendes:
https://sh.rustup.rs/rustup-init.sh); der Code lässt sich jedoch auch sehr einfach an Windows anpassen.simple-downloader-Binary wird hier bereitgestellt: prebuilt-files/rust-reversing-workshop-2024_2024_05_17.garsimple-downloader-Binaries des Ghidra-Projekts sind auch separat verfügbar:
Die offiziellen Anweisungen zur Toolchain-Einrichtung findest du unter https://rustup.rs/. Folge den dortigen Anweisungen; die Seite zeigt spezifische Anweisungen für dein Betriebssystem an.
Überprüfe nach der Installation, dass du sowohl die neu installierten rustup- als auch cargo-Tools ausführen kannst:
$ rustup --version
rustup 1.27.0 (bbb9276d2 2024-03-08)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.77.1 (7cf61ebde 2024-03-27)`
$ cargo --version
cargo 1.77.1 (e52e36006 2024-03-26)
Wir werden in diesem Workshop Rust-Version 1.77.1 verwenden. Installiere also diese Version und stelle deine Toolchain für alle Builds standardmäßig auf diese Version um:
rustup install 1.77.1
rustup default 1.77.1
Wenn du unter Windows oder macOS baust, kannst du diesen Schritt überspringen.
Wenn du unter Linux baust: Teile dieses Builds hängen von gcc, ld, pkg-config und den OpenSSL-Entwicklungs-Headern ab. Unter Ubuntu kannst du sie wie folgt installieren:
sudo apt install build-essential
sudo apt install pkg-config
sudo apt install libssl-dev