
Diapositive e file per il workshop Reversing Rust Binaries: One step beyond strings al REcon 2024, presentato il 28 giugno 2024.
Questo repository contiene i file supplementari per il workshop Reversing di binari Rust: un passo oltre le stringhe workshop al REcon 2024, presentato il 28 giugno 2024.
Durante la presentazione, costruiremo e faremo reversing di un binario Rust molto semplice: un downloader benigno. Il codice sorgente del downloader si trova all'interno di questo repository, nella cartella simple-downloader/.
Leggi qui sotto per le istruzioni di configurazione pre-workshop!
Per una configurazione semplice, puoi scaricare una VM Ubuntu preconfigurata che include tutto quanto segue:
rust-analyzer preinstallata (per autocompletamento e suggerimenti di documentazione)simple-downloader/ di questo repositorysimple-downloaderPuoi scaricare il file VM (un file .OVA) qui: https://drive.google.com/file/d/1pM1MwQf4Ccjt-KokbV1RFh8C9tv48jrt/view?usp=sharing
Puoi quindi importare questo file OVA nel tuo software per VM (ad es. VMware Workstation, VMware Fusion, VirtualBox, ecc.)
L'account principale sulla VM ha nome utente user e password user.
Se desideri seguire questo workshop dalla comodità della tua macchina, avrai bisogno di quanto segue:
https://sh.rustup.rs/rustup-init.sh); tuttavia, il codice è facilmente adattabile anche a Windows.simple-downloader: prebuilt-files/rust-reversing-workshop-2024_2024_05_17.garsimple-downloader precompilati nel progetto Ghidra sono disponibili anche separatamente:
Le istruzioni ufficiali per la configurazione del toolchain sono disponibili su https://rustup.rs/. Segui le istruzioni riportate lì; la pagina mostrerà istruzioni specifiche per il tuo sistema operativo.
Dopo l'installazione, verifica di poter eseguire sia il tool rustup che il tool cargo appena installati:
$ 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)
In questo workshop useremo la versione Rust 1.77.1, quindi installa quella versione e imposta il toolchain su quella versione come predefinita per tutte le compilazioni:
rustup install 1.77.1
rustup default 1.77.1
Se stai compilando su Windows o macOS, puoi saltare questo passaggio.
Se stai compilando su Linux: parti di questa compilazione dipendono da gcc, ld, pkg-config e dagli header di sviluppo di OpenSSL. Su Ubuntu, puoi installarli con
sudo apt install build-essential
sudo apt install pkg-config
sudo apt install libssl-dev