Мини-курсЭксперт334 мин3 модуля · 15 карт

Binary Exploitation основы

Доступ открывается сразу после подтверждения оплаты и не сгорает. Услуга оказывается дистанционно, на платформе. Указана итоговая стоимость, НДС не облагается. Условия — в публичной оферте и правилах возврата.

О курсе

Хардкор начинается здесь — stack overflow, shellcode, ROP chains и pwntools! 15 уроков, которые откроют тебе мир бинарной эксплуатации. Обход canary, NX, ASLR и PIE — после этого курса ты будешь ломать бинарники на CTF и в реальной жизни.

Чему ты научишься

  • понимать организацию памяти процесса и стековые фреймы
  • эксплуатировать классическое переполнение буфера на стеке
  • обходить защитные механизмы: canary, NX, ASLR, PIE
  • писать и внедрять shellcode для Linux x86/x64
  • строить ROP-цепочки для обхода NX-бита
  • использовать pwntools для автоматизации эксплуатации
  • эксплуатировать format string уязвимости

Что нужно знать

  • знание C на базовом уровне (указатели, массивы, структуры)
  • понимание архитектуры x86/x64 (регистры, стек)
  • опыт работы с Linux командной строкой
  • установленные GDB и Python 3.x с pwntools

Программа

  1. M1

    Архитектура и память

    5 карт

    Фундамент бинарной эксплуатации — регистры, стек, куча и вызовы функций. Без этого модуля дальше никуда, зато после него ты увидишь программы совершенно другими глазами

    • 1.
      Архитектура x86/x64: регистры и инструкцииРазбираем регистры общего назначения, флаги, сегменты и основные инструкции x86/x64 — фундамент для binary exploitation.
    • 2.
      Организация памяти процессаИзучаем layout памяти Linux-процесса — text, data, heap, stack, shared libraries — и как каждый сегмент используется при эксплуатации.
    • 3.
      Вызов функций и стековые фреймыДетально разбираем, как call/ret организуют стек, что такое stack frame, где лежит return address и почему buffer overflow позволяет перехватить управление.
    • 4.
      Компиляция и отладка программ на CНастраиваем среду для binary exploitation: флаги GCC для отключения защит, gef/pwndbg для GDB, и автоматизация через Makefile.
    • 5.
      Инструменты: GDB, pwntools, checksecГлубокое погружение в инструментарий binary exploitation: продвинутый GDB с pwndbg, автоматизация через pwntools, анализ защит checksec и поиск гаджетов через ropper.
  2. M2

    Stack Overflow

    5 карт

    Классика жанра — переполнение буфера, перезапись ret, обход канарейки и format string. Каждая уязвимость с живым exploit-ом, который ты напишешь сам

    • 1.
      Классическое переполнение буфера на стекеПрактикуем stack buffer overflow от A до Z: находим уязвимость, вычисляем offset, перезаписываем return address и перехватываем control flow.
    • 2.
      Перезапись адреса возврата: ret2winТехника ret2win — перенаправление control flow на функцию-победитель, включая передачу аргументов через ROP gadgets.
    • 3.
      Защитные механизмы: canary, NX, ASLR, PIEРазбираем четыре основных защитных механизма — stack canary, NX/DEP, ASLR, PIE — как они работают на уровне ассемблера и что нужно для их обхода.
    • 4.
      Обход стековой канарейкиПрактические техники обхода stack canary: leak через format string, byte-by-byte brute force на forking-серверах, и перезапись __stack_chk_fail.
    • 5.
      Format string уязвимостиFormat string bugs — чтение и запись произвольной памяти через printf: утечка canary, адресов libc, перезапись GOT — без buffer overflow.
  3. M3

    ROP и Shellcode

    5 карт

    Высший пилотаж — пишем shellcode, строим ROP-цепочки, обходим ASLR через утечки адресов и собираем всё вместе в финальном challenge полной эксплуатации

    • 1.
      Написание и внедрение шеллкодаПишем shellcode вручную на x86-64 NASM: execve('/bin/sh'), избегаем null-байтов, внедряем через buffer overflow при отключённом NX.
    • 2.
      Return-Oriented Programming: теорияROP — техника обхода NX, использующая короткие фрагменты существующего кода (gadgets), оканчивающиеся ret, для выполнения произвольных операций.
    • 3.
      Построение ROP-цепочекПрактическое построение ROP-цепочек: от простого ret2win до многоступенчатых цепочек с leak, вычислением libc base и вызовом system('/bin/sh').
    • 4.
      Обход ASLR через утечки адресовПрактические методы обхода ASLR: leak адресов через GOT/PLT, вычисление libc base, идентификация версии libc и эксплуатация с полной рандомизацией.
    • 5.
      Финальный challenge: полная эксплуатацияОбъединяем все техники курса в одном challenge: разведка, leak canary, leak PIE, leak libc, построение ROP-цепочки и получение shell на полностью защищённом бинарнике.