Представьте, что перед вами скомпилированная программа — тёмный лес из байтов, где могут прятаться зловредные строки, пароли, URL-адреса вредоносных серверов или даже целые скрипты. Как их найти, если исходного кода нет?
FLARE-FLOSS (Fast Library Acquisition for String Sections) — инструмент от Mandiant (ныне часть Google Cloud), который вытаскивает спрятанные строки из исполняемых файлов, даже если они зашифрованы или обфусцированы.
🔴 Зачем нужен FLOSS?
Многие вредоносные программы (и даже легальные приложения) прячут важные строки:
▪️Команды для C2-серверов
▪️Ключи шифрования
▪️Ссылки на дополнительные payload-ы
▪️Системные пути и имена процессов для антиотладки
Обычные утилиты вроде
strings не всегда справляются, особенно если данные закодированы или динамически собираются в памяти. FLOSS решает эту проблему, применяя статический анализ и эмуляцию кода. ⤵️ FLOSS использует три метода извлечения строк:
▪️Обычный поиск (как `strings`) – находит ASCII и Unicode-строки.
▪️Анализ стековых строк – восстанавливает строки, которые собираются в рантайме (например, через
mov или `push`). ▪️Эмуляция кода – выполняет статическую эмуляцию, чтобы выявить строки, которые создаются динамически.
📍 Допустим, у нас есть вредоносный файл
malware.exe. Запустим FLOSS: floss malware.exe
И увидим что-то вроде:
...
0x401020: http://malicious-server.com/payload.bin
0x4020A0: ThisIsASecretKey123
0x4033F0: C:\Windows\System32\wscript.exe
...
Эти строки могли быть скрыты от обычного
strings, но FLOSS их нашёл! 📍 Установка и использование
Способ 1: Через pip
pip install flare-floss
Способ 2: Из исходников
git clone https://github.com/mandiant/flare-floss
cd flare-floss
python3 setup.py install
Проверим установку
floss --version
Базовые команды
# Простой анализ
floss suspicious_file.exe
# Только статические строки (без эмуляции)
floss --no-static-strings malware.bin
🔴 Иногда могут возникать проблемы из-за конфликтов в окружении. Создайте чистое виртуальное окружение и используйте FLOSS дальше:
python3 -m venv ~/floss-venv
source ~/floss-venv/bin/activate
pip install flare-floss
