
Слайды и файлы для воркшопа Reversing Rust Binaries: One step beyond strings на REcon 2024, прошедшего 28 июня 2024 года.
Этот репозиторий содержит дополнительные файлы для воркшопа Реверс-инжиниринг Rust-бинарников: на шаг дальше строк на REcon 2024, проведённого 28 июня 2024 года.
В ходе презентации мы соберём и подвергнем реверс-инжинирингу очень простой Rust-бинарник — безвредный загрузчик. Исходный код загрузчика находится в этом репозитории, в папке simple-downloader/.
Инструкции по подготовке к воркшопу — ниже!
Для простой настройки вы можете скачать предварительно настроенную Ubuntu VM, в которую уже включено следующее:
rust-analyzer (для автодополнения и всплывающей документации)simple-downloader/ этого репозиторияsimple-downloaderВы можете скачать файл виртуальной машины (.OVA) здесь: https://drive.google.com/file/d/1pM1MwQf4Ccjt-KokbV1RFh8C9tv48jrt/view?usp=sharing
Затем вы можете импортировать этот OVA-файл в ваше ПО для виртуальных машин (например, VMware Workstation, VMware Fusion, VirtualBox и т.д.).
Основная учётная запись в виртуальной машине имеет имя пользователя user и пароль user.
Если вы хотите пройти этот воркшоп на своей собственной машине, вам понадобится следующее:
https://sh.rustup.rs/rustup-init.sh); однако этот код очень легко адаптируется и для Windows.simple-downloader доступен здесь: prebuilt-files/rust-reversing-workshop-2024_2024_05_17.garsimple-downloader из проекта Ghidra также доступны отдельно:
Официальные инструкции по установке тулчейна находятся на https://rustup.rs/. Следуйте инструкциям там; страница покажет конкретные инструкции для вашей операционной системы.
После установки убедитесь, что вы можете запускать оба новых инструмента: rustup и cargo:
$ 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)
В этом воркшопе мы будем использовать Rust версии 1.77.1, поэтому установите эту версию и сделайте её версией по умолчанию для всех сборок:
rustup install 1.77.1
rustup default 1.77.1
Если вы собираете на Windows или macOS, этот шаг можно пропустить.
Если вы собираете на Linux: части этой сборки зависят от gcc, ld, pkg-config и заголовочных файлов разработки OpenSSL. В Ubuntu вы можете установить их с помощью
sudo apt install build-essential
sudo apt install pkg-config
sudo apt install libssl-dev