Cross-Architecture Mirai Configuration Extractor Utilizing Standalone Ghidra Script
-
Tested version
- Ghidra 10.2.2 / Java 17.0.7
-
Supported architectures
- ARM
- MC68000
- MIPS
- PowerPC
- SPARC
- SuperH4
- x86
- x86_64
- Extract xor data (password list) from Mirai scanner.c
- Extract xor data (e.g., C2, Scan Receiver, DoS parameter) from Mirai table.c
*** Malware must be unpacked before running Ghidra script
Two ways of mirai-toushi usage without additional library/tool
- Python interpreter
- Headless analyzer
- Open target malware with Ghidra GUI
- Start Ghidra python interpreter
- "Window" menu -> "Python"
- Copy-paste target Ghidra script to interpreter
- Check your $GHIDRA_INSTALL_DIR
- At REMnux case, default directory is
/opt/ghidra
- At REMnux case, default directory is
- Start runner.sh
$ chmod +x runner.sh
$ GHIDRA_INSTALL_DIR=<GHIDRA_INSTALL_DIR> ./runner.sh <ELF_FILE>
- mirai-toushi results will be output to
./output/<SHA256>/
directory by default- output JSON Schema: ./jsonschema
- output sample: ./sample