Моисей Сутулин

С 2013 года в IT и образовании. Начинал с веб-разработки и Python, разрабатывал программное обеспечение, занимался пентестом. Сейчас сфокусирован на реверс-инжиниринге и Linux. Создаю курсы и пишу статьи для журналов «Хакер», «Системный администратор» и для Хабра. Веду сообщество «Хакерская кузница».

Курсы

Все курсы

Статьи

Сборники статей

Карточки

Шпаргалки по темам

Курсы

Белый хакер: анализ файлов в Linux

Научитесь анализировать подозрительные файлы в Linux: определять истинный тип, находить скрытые данные, извлекать вшитые программы, перехватывать пароли и отслеживать вредоносное поведение. Все на реальных кейсах с поиском флагов.
Этот курс является базой для дальнейшего изучения реверс-инжиниринга, анализа вредоносного ПО, форензики в Linux и участия в CTF-соревнованиях. После него вы будете готовы осваивать дизассемблеры (Ghidra, IDA Pro) и отладчик GDB.

5 модулей

На Stepik

Основы двоичного анализа

Сборник статей по основам двоичного анализа.

1.

Статический анализ бинарных файлов стандартными консольными средствами Linux. Часть 1

Статический анализ бинарных файлов в Linux: определяем истинный тип через file, ищем строки (strings), сигнатуры (xxd), извлекаем скрытые программы (dd). Без запуска и сторонних инструментов.

#1

23.06.2026

СА № 281 (Апрель, 2026)

2.

Статический анализ бинарных файлов стандартными консольными средствами Linux. Часть 2

Вычисляем точный размер ELF через заголовок и секции. Осваиваем readelf, nm, objdump. Извлекаем и анализируем скрытые программы без запуска.

#3

13.07.2026

СА № 282 (Май, 2026)

3.

Теневая сторона ELF. Сегменты и извлечение без таблицы секций

Извлекаем исполняемые файлы из контейнеров, когда таблица секций отсутствует. Работаем с таблицей заголовков программы, вычисляем размер по сегментам PT_LOAD.

#4

06.08.2026

СА № 283 (Июнь, 2026)

Внутреннее устройство Linux

Сборник статей про внутреннее устройство Linux.

1.

Как программа попадает в память: от execve до main

Вы когда-нибудь задумывались, что происходит внутри Linux после того, как вы вводите ./program в терминале и нажимаете Enter? Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep.

#6

18.05.2026

Хабр

2.

Релокации. Разбираемся, как Linux-программа находит функцию во время выполнения

Когда программа в Linux вызывает printf, sleep или любую другую функцию из динамической библиотеки, ее реальный адрес заранее неизвестен из‑за ASLR. Тем не менее вызов каким‑то образом срабатывает. В этой статье мы шаг за шагом разберем, как работают механизмы PLT, GOT и релокации, проследим процесс разрешения адресов с помощью objdump, readelf и GDB, а также увидим вживую, что происходит при первом и последующих вызовах библиотечной функции.

#2

08.07.2026

Хакер № 328

3.

LD_PRELOAD Reloaded. Закрепляемся в Linux — от перехвата функций до руткита BEURK

«Зорко одно лишь сердце. Самого главного глазами не увидишь». Эта фраза Антуана де Сент‑Экзюпери как нельзя лучше описывает ситуацию, в которой оказывается администратор взломанной системы. Его глаза — ls, ps, netstat — показывают ему не реальность, а то, что им позволено. Чтобы найти правду, нужно смотреть глубже: в механизмы загрузки библиотек, GOT, PLT. В этой статье мы научимся видеть то, что скрыто от глаз.

#5

06.08.2026

Хакер № 328

Реверс в Linux x86-64

Сборник статей про реверс в Linux x86-64.

1.

«Bro, what…?» #1. Первый контакт с crackme на Linux x86-64

Вы запускаете программу, о которой ничего не знаете. Она вежливо просит строку, а в ответ на ваш ввод насмешливо отвечает: «Bro, what are you trying to do?» И правда, что мы пытаемся сделать? Пытаемся понять ее.

#7

08.08.2026

Хабр

Карточки

Визуальные шпаргалки по ключевым темам статей.

Когда ты вызываешь sleep() в Linux, программа понятия не имеет, где эта функция лежит в памяти. ASLR каждый раз меняет адрес libc. Как она её находит?