|
Рубрика:
Администрирование /
Работа с Linux
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
«Белый хакер: анализ файлов в Linux»
Так называется бесплатный авторский курс по Linux для начинающих, который разработал Моисей Сутулин. Пройдя его, вы научитесь анализировать подозрительные файлы в Linux: определять истинный тип, находить скрытые данные, извлекать вшитые программы, перехватывать пароли и отслеживать вредоносное поведение. Все на реальных кейсах с поиском флагов.
Почему он нужен? Этот курс является базой для дальнейшего изучения реверс-инжиниринга, анализа вредоносного ПО, форензики в Linux и участия в CTF-соревнованиях. После него вы будете готовы осваивать дизассемблеры (Ghidra, IDA Pro) и отладчик GDB.
Чему вы научитесь
- Распознавать истинный тип подозрительного файла, используя file и анализ магических чисел, чтобы не пропустить замаскированный исполняемый файл.
- Обнаруживать скрытые IP-адреса, домены и подозрительные строки в бинарном файле с помощью strings с разными опциями.
- Читать hex-дамп файла и идентифицировать по первым байтам его формат (ELF, PDF, PNG), чтобы вручную подтвердить или опровергнуть выводы утилиты file.
- Находить и извлекать программы, вшитые внутрь других (например, ELF внутри PNG), комбинируя xxd для поиска сигнатур, dd для вырезания и diff/cmp для сравнения.
- Восстанавливать заголовки испорченных файлов, проанализировав его hex-дамп и сверив с эталонной сигнатурой.
- Определять точную точку входа программы, проанализировав ELF-заголовок (с учётом порядка байт).
- Вычислять точный размер вшитого файла внутри другого файла, используя readelf для анализа сегментов и секций.
- Находить функцию main в stripped-бинарнике (с удалёнными символами), проанализировав дизассемблированный код в objdump.
- Запускать извлечённую программу и диагностировать причину скрытой ошибки запуска.
- Прослеживать системные вызовы подозрительных программ с помощью strace, для обнаружения скрытой файловой активности, создания процессов или сетевых подключений.
- Перехватывать вызовы библиотечных функций через ltrace.
- Выявлять подозрительное поведение программ (самокопирование, запуск в фоне, сетевые запросы), комбинируя strace и ltrace.
- Объяснять, почему программа не может найти адрес функции до запуска, и демонстрировать работу механизма релокаций и PLT на примере.
Цели курса
Научить вас самостоятельно проводить базовый статический и динамический анализ подозрительных бинарных файлов в Linux, используя те же инструменты и методы, что применяются в реальных расследованиях инцидентов информационной безопасности.
Проще говоря, вы получите готовую методологию: с чего начать, какие инструменты использовать и как интерпретировать результаты.
Почему стоит выбрать именно этот курс?
- Упор на практику. Никаких лекций ради лекций: все инструменты изучаются в контексте решения реальных задач.
- Детективный сюжет. Теорию и практику пронизывает один детективный сюжет про сисадмина Алексея, который нашёл на сервере подозрительный процесс.
- Проблемно-ориентированный подход. В курсе сначала столкнётесь с проблемой, а затем через призму теории сами найдете ее решение. Вас никто не будет заставлять читать скучную теорию – у вас самих появится это желание.
- Реалистичные кейсы. Вы не будете решать абстрактные и далекие от реальности задачи. В курсе вы столкнетесь с реальными сигнатурами, вшитыми ELF-файлами, stripped-бинарниками и динамическими библиотеками.
- Плавный переход от простого к сложному. Вы начнете с базового анализа файлов с помощью file и strings, затем перейдете к более низкоуровневым xxd и dd. После чего глубоко погрузитесь в структуру формата ELF и статический анализ с помощью readelf и objdump. И только в конце курса вы познакомитесь с динамическим анализом подозрительных исполняемых файлов в Linux.
Что приобретете после освоения курса?
После освоения курса вы сможете:
- Распознавать истинный тип любого файла, даже если он замаскирован под картинку или лог.
- Вытаскивать скрытые IP-адреса, домены, пароли, команды и другую информацию из бинарных файлов.
- Находить и извлекать исполняемые программы, вшитые внутрь изображений.
- Восстанавливать испорченные заголовки файлов.
- Читать ELF-заголовок и находить точку входа даже в stripped-бинарниках.
- Отслеживать системные вызовы и библиотечные функции, чтобы увидеть, что программа делает на самом деле.
- Проводить полный анализ подозрительного файла: от первичного осмотра и до динамической трассировки.
Что нужно будет делать
В курсе вы будете:
- Исследовать подозрительные файлы с помощью инструментов командной строки Linux.
- Извлекать вшитые данные из различных файлов с целью дальнейшего анализа.
- Анализировать структуру ELF-файлов: заголовки, секции, символы, релокации.
- Дизассемблировать программы и сравнивать ассемблерный код.
- Выполнять трассировку выполнения программ для поиска скрытой логики.
- Находить скрытые пароли, флаги и вредоносную активность.
- Восстанавливать испорченные файлы вручную.
Разделы курса
- Модуль 1. Знакомство с курсом Вы познакомитесь с историей Алексея, узнаете, какие инструменты и навыки предстоит освоить, повторите базовые команды Linux и подготовите лабораторную среду: виртуальную машину с Ubuntu и всеми необходимыми инструментами.
- Модуль 2. Первичный осмотр файла. Вы научитесь определять истинный тип файла (file), находить скрытые строки (strings), читать hex-дамп (xxd) и извлекать фрагменты файлов (dd).
Практикум: три загадочных файла, для которых нужно определить тип, найти флаг в нестандартной кодировке и восстановить испорченное изображение.
- Модуль 3. Внутреннее устройство формата ELF. Вы глубже познакомитесь с форматом ELF: изучите заголовок (readelf), секции, дизассемблирование (objdump) и символы (nm). Научитесь находить функцию main даже в stripped-бинарниках.
Практикум: анализ неизвестного файла из сетевого дампа, извлечение вшитых ELF-файлов и поиск флага.
- Модуль 4. Динамический анализ. Вы узнаете, как загружается ELF-файл в память, научитесь отслеживать системные вызовы (strace) и библиотечные функции (ltrace), разберётесь с релокациями, PLT и GOT.
Практикум: возвращение к программе из предыдущего модуля, поиск недостающей библиотеки и получение второго флага.
- Модуль 5. Итоги курса. Вы повторите ключевые темы и пройдёте финальное тестирование, которое закрепит знания.
Для кого этот курс
- Студенты технических специальностей. Вы учитесь на ИБ, разработке или системном администрировании. Прочитали тонны теории про форматы файлов и память Linux, но ни разу не применяли эти знания на практике. Курс даст прикладные навыки, которые можно показать на собеседовании.
- Начинающие SOC-аналитики (Blue Team) и специалисты по реагированию на инциденты. Вы устроились в SOC. Сработало детектирование: на сервере найден подозрительный файл. Это угроза или ложное срабатывание? Курс научит проводить быстрый анализ подозрительного файла.
- Системные администраторы Linux. Вы администрируете серверы. Мониторинг показал наличие неизвестных файлов. Вы не хотите запускать подозрительный файл на своём сервере. Что делать? Курс познакомит вас со статическим анализом – исследованием файла без его запуска.
- Участники CTF. Вы участвуете в CTF и там встречаются задания на реверс-инжиниринг. Может можно обойтись без Ghidra и IDA Pro? Курс даст базовые навыки быстрого анализа файла с помощью простых консольных команд.
- Разработчики С/С++ под Linux. Ваша программа странно себя ведет в продакшене, но в логах ничего нет. Или вы получили бинарник от подрядчика и хотите проверить, какие системные вызовы он делает? Курс даст навыки отладки программы без исходников, трассировки системных и библиотечных вызовов, а также глубокое понимание формата ELF и процесса загрузки программ в память.
Начальные требования
Для комфортного прохождения курса необходимо умение открывать терминал в Linux и запускать в нем команды. Желательно иметь базовое знакомство с командной строкой Linux (навигация по директориям, работа с файлами).
Всему остальному научитесь в процессе обучения. Курс не требует знаний ассемблера, опыта реверс-инжиниринга или владения сложными инструментами.
Как проходит обучение
Курс состоит из 5 модулей, которые последовательно ведут вас от первичного осмотра файла до полного динамического анализа. Все уроки в текстовом формате.
В каждом модуле вас ждут:
- Короткие теоретические шаги: только те, которые необходимы для практики.
- Интерактивные задания: выбор ответа, сопоставление, ввод чисел, строк и команд.
- Практикумы с флагами: вы будете анализировать реальные (но безопасные) файлы и искать флаги в формате FLAG{...}. Флаг – это доказательство, что вы всё сделали правильно.
- В конце курса финальный тест, который проверяет понимание, а не запоминание.
Что нужно для прохождения:
Любой компьютер с выходом в интернет.
- VirtualBox (бесплатно) для запуска Linux на домашнем компьютере (если вы работаете на Windows).
- Желание разбираться, а не просто кликать «далее».
- Никаких лекций на часы: вы сразу начнете решать задачи.
|
Ссылка на курс: vk.cc/cXoYWO
|
Подпишитесь на журнал
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|