
REcon 2024에서 2024년 6월 28일에 진행된 Reversing Rust Binaries: One step beyond strings 워크숍의 슬라이드와 파일입니다.
이 저장소는 2024년 6월 28일에 진행된 REcon 2024의 Rust 바이너리 리버싱: 문자열 너머의 한 걸음 워크숍을 위한 보조 파일을 포함하고 있습니다.
프레젠테이션 중에는 매우 간단한 Rust 바이너리(무해한 다운로더)를 빌드하고 리버싱할 예정입니다. 다운로더의 소스 코드는 이 저장소의 simple-downloader/ 폴더에 있습니다.
워크숍 사전 준비 지침은 아래를 읽어주세요!
간편한 설정을 위해 다음을 모두 갖춘 사전 구성된 Ubuntu VM을 다운로드할 수 있습니다:
rust-analyzer 확장 프로그램 (자동 완성 및 문서 툴팁용)simple-downloader/ 폴더에 있는 코드simple-downloader 바이너리의 사전 빌드된 Linux 버전이 포함된 Ghidra 프로젝트VM 파일(.OVA 파일)은 여기에서 다운로드할 수 있습니다: https://drive.google.com/file/d/1pM1MwQf4Ccjt-KokbV1RFh8C9tv48jrt/view?usp=sharing
그런 다음 이 OVA 파일을 VM 소프트웨어(예: VMware Workstation, VMWare Fusion, VirtualBox 등)로 가져올 수 있습니다.
VM의 기본 계정은 사용자 이름 user, 비밀번호 user입니다.
자신의 머신에서 편안하게 이 워크숍을 진행하려면 다음이 필요합니다:
https://sh.rustup.rs/rustup-init.sh)를 다운로드하여 실행합니다. 하지만 이 코드는 Windows용으로도 매우 쉽게 적용할 수 있습니다.simple-downloader 바이너리의 사전 빌드된 Linux 버전이 포함된 Ghidra 프로젝트가 여기에 제공됩니다: prebuilt-files/rust-reversing-workshop-2024_2024_05_17.garsimple-downloader 바이너리는 별도로도 제공됩니다:
공식 툴체인 설치 지침은 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