TGViewer
LinuxSkill - Сводки с прода и Шпаргалки LinuxSkill - Сводки с прода и Шпаргалки @linuxskill · 10.7K subscribers
Post #454 6.07K
Неожиданный способ взломать систему: что такое бинарный анализ в Linux?

Давай разберёмся, как можно использовать бинарный анализ в Linux для выявления уязвимостей. Покажу на примере анализа подозрительного бинарного файла. Это практический случай, который поможет тебе углубиться в суть.

### Что такое бинарник?
Бинарный файл – это программа, которая уже скомпилирована в машинный код и готова к выполнению системой. В отличие от текстовых файлов или скриптов, бинарники нельзя прочитать обычными средствами — для этого нужны специальные инструменты анализа, чтобы понять, как они работают.

Пример бинарника: любая программа с расширением .exe на Windows или ELF на Linux — такие файлы напрямую выполняются процессором.

### Шаги бинарного анализа на практике

#### 1. Начинаем с общей информации о бинарнике
Получаем базовые сведения:
file suspicious_file

Вывод покажет архитектуру, тип файла и информацию о компиляции. Например:
suspicious_file: ELF 64-bit LSB executable, x86-64, dynamically linked, ...


#### 2. Извлекаем строки из файла
Иногда в бинарнике могут быть скрыты полезные подсказки: строки, команды или даже ключи API.
strings suspicious_file | grep "password"

Вывод:
Default password: admin123

Вуаля! Простой strings уже помог нам найти первую уязвимость.

#### 3. Декомпиляция и разбор функций
Для более глубокого анализа используем Ghidra или Radare2:
- Открываем файл в Ghidra:
bash
ghidraRun

Импортируем файл и видим список функций. Поищи функции с названиями check_auth или login, чтобы понять, как происходит проверка доступа.

#### 4. Анализ системных вызовов
Запускаем бинарник в изолированной среде с strace:
strace ./suspicious_file

Вывод покажет системные вызовы. Например:
open("/etc/passwd", O_RDONLY) = 3
read(3, "root:x:0:0:root:/root:/bin/bash\n", 40) = 40

Это может дать понять, к каким файлам или ресурсам программа обращается.

#### 5. Динамический анализ
Запускаем в gdb для отладки:
gdb suspicious_file

Ставим точку останова на подозрительной функции:
break main
run

Шаг за шагом следим за выполнением программы и ищем уязвимые места.

### Что мы нашли?
- Утечка информации: статическая строка с паролем.
- Обращение к системным файлам без проверки прав.
- Логика проверки аутентификации, уязвимая к подмене данных.


### Зачем тебе это?
Такие техники помогают находить уязвимости в стороннем софте или проверять безопасность собственных программ. Используя Ghidra, Radare2 или strace, ты можешь буквально вскрыть логику работы любого бинарника.

А завтра обсудим, как настроить cron для автоматизации задач! Пока что поделись своими любимыми инструментами для анализа бинарников. Что ты используешь в своей практике?
____________________

Дополнительный материал:
🧠 - Linux команды: file, mv, cp, rmdir, ps, kill 9, find, sort, , clear
🧠 - Linux команды: mv, настройка Терминала
🧠 - Linux команды: cmp, df, apt get install, remove, update, upgrade, chmod

#LinuxJournal @LinuxSkill
Telegram Linux Skill - Бесплатный курс по Linux c нуля до DevOps. Бесплатный курс по Linux c нуля до DevOps Модуль 1. Введение Урок: Терминал и командная строка Linux команды: file, mv, cp, rmdir, ps, kill 9, find, sort, , clear Источник: https://youtu.be/gRU9IIPnf2Qh
  • 👍 25
  • 🔥 1
  • 👀 1
More from @linuxskill
  1. Oct 7, 2026Post #1243
  2. Oct 6, 2026GitOps-практики: развёртываем сервис через ArgoCD Классический CI/CD запускает деплой. Но…
  3. Oct 5, 2026Post #1241
  4. Oct 2, 2026📊 Диск тормозит, а iostat показывает норму? Ищем хвост задержек Приложение подвисает на з…
  5. Sep 30, 2026💀 CPU под 100%, а в top пусто? Ловим невидимые процессы через eBPF Сервер греется, в шапк…
  6. Sep 28, 2026🔥 Знаешь только ip a? 10 неочевидных команд ip для Linux Большинство админов знают про ip…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →