Binsider – это инструмент командной строки, который позволяет легко анализировать двоичные файлы ELF (Executable and Linkable Format).
В этой статье мы рассмотрим возможности Binsider, его удобный интерфейс и то, как использовать его для эффективного анализа файлов ELF на Linux.
Что такое Binsider?
Binsider – это мощный инструмент командной строки, предоставляющий удобный терминальный интерфейс для статического и динамического анализа файлов ELF.
🐛 SAST или DAST: Что лучше использовать для тестирования безопасности приложений
Он предлагает такие возможности, как проверка строк, изучение связанных библиотек и выполнение шестнадцатеричных дампов, аналогично таким популярным инструментам, как readelf и strace.
Binsider предоставляет обширную приборную панель и представление гексдампов для структурированного анализа двоичного содержимого.
Кроме того, с его помощью можно изменять шестнадцатеричные данные и вводить новые значения, подобно редактору, хотя перед внесением изменений рекомендуется сделать резервную копию двоичного файла.
Binsider создан для того, чтобы облегчить обратным инженерам и исследователям безопасности изучение и понимание файлов ELF.
Почему Binsider?
Binsider упрощает сложный мир анализа бинарных файлов.
Вот почему исследователи безопасности, разработчики и все, кто работает с двоичными файлами, должны рассмотреть возможность его использования:
- Удобный интерфейс: Binsider использует TUI, который представляет сложную информацию в удобном для навигации виде.
- Статический и динамический анализ: Binsider позволяет проводить как статический анализ компонентов двоичных файлов, так и динамический анализ поведения двоичного файла во время выполнения.
- Широкий набор функций: Binsider предлагает широкий набор функций: от проверки строк и скомпонованных библиотек до выполнения шестнадцатеричных дампов и трассировки системных вызовов.
Установка Binsider на Linux
Установка Binsider очень проста.
Поскольку он написан на языке программирования Rust, вы можете установить его с помощью менеджера пакетов cargo.
Убедитесь, что у вас установлен Rust:
Как установить язык программирования Rust на Linux
После установки Rust выполните следующую команду для установки binsider с помощью Cargo:
Анализ файлов ELF с помощью Binsider
После установки можно проанализировать двоичный файл ELF, просто запустив его:
Вы даже можете запустить Binsider без каких-либо аргументов, чтобы проанализировать сам файл binsider!
Для перехода к другим разделам используйте клавишу табуляции.
Чтобы выйти, нажмите q.
Общий анализ
Например, рассмотрим бинарник /bin/uname с помощью команды:
- При запуске Binsider вас встречает общая информация о бинарном файле, имитирующая вывод stat(1) и ldd(1). Сюда входят такие сведения о файлах, как размер, разрешения и подключенные общие библиотеки.
- Binsider позволяет плавно переключаться между анализом основного бинарного файла и связанных с ним общих библиотек. Эта функция позволяет получить целостное представление о бинарной экосистеме.
Статический анализ
- Binsider отлично справляется со статическим анализом, обеспечивая глубокое понимание структуры ELF без запуска бинарного файла.
- Вы можете исследовать различные компоненты ELF, включая секции, сегменты, заголовки, символы, перемещения и заметки.
- Визуальное представление структуры ELF в Binsider и удобные навигационные клавиши (например, n/p для следующего/предыдущего и h/j/k/l для прокрутки) делают навигацию по этим компонентам интуитивно понятной.
Динамический анализ
- Binsider позволяет проводить динамический анализ, выполняя бинарный файл и отслеживая его системные вызовы.
Подобно strace(1), Binsider предоставляет подробную информацию о каждом системном вызове, включая идентификатор процесса, имя системного вызова, аргументы и возвращаемое значение. - Binsider предлагает сводную информацию о выполнении, включая затраченное время, ошибки и количество выполненных системных вызовов, что позволяет получить представление о поведении двоичного файла во время выполнения.
Строки
- Binsider может извлекать строки из двоичных файлов, подобно команде strings(1).
- Это особенно полезно для обнаружения скрытой информации в двоичном файле, например URL, паролей или других конфиденциальных данных.
- Вы даже можете настроить длину извлекаемых строк с помощью клавиш +/- или аргумента -n.
Hexdump
- Binsider предоставляет возможность анализа необработанного содержимого двоичных файлов в виде шестнадцатеричного дампа, а также богатую инструментальную панель.
- Эта функция позволяет детально изучить двоичные данные и облегчает выявление закономерностей.
- Binsider делает еще один шаг вперед, позволяя изменять шестнадцатеричные данные и сохранять изменения непосредственно в двоичном файле.
Заключение
Binsider – это мощный и универсальный инструмент, упрощающий анализ двоичных файлов ELF.
Сочетание удобного пользовательского интерфейса, широких возможностей и интуитивно понятной навигации делает его отличным выбором для всех, кто работает с двоичными файлами.
Проводите ли вы исследования в области безопасности, отлаживаете программное обеспечение или изучаете внутреннее устройство файлов ELF, Binsider предоставляет необходимые инструменты в доступном и эффективном виде.