БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА (ДАНИЯР d4k3)
TRANSCRIPT
WHOAMI ИМЯ: ДАНИЯР
НИК: D4K3
ЭКСПЕРТ ЦАРКА
БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА.
НЕМНОГО ТЕОРИИ.
1. ТИПИЧНАЯ СХЕМА ПАМЯТИ
Адрес памяти
Буфер EIP
2. ВВОД АТАКУЮЩЕГО ПРЕВЫШАЕТ БУФЕР.
Адрес памяти
Буфер EIP
ВВОД АТАКУЮЩЕГО
3. ПРАВИЛЬНО - ВВОД АТАКУЮЩЕГО УСЕКАЕТСЯ В БУФЕР И НИЧЕГО НЕ МОЖЕТ ПЕРЕЗАПИСАТЬ.
Адрес памяти
ВВОД АТАКУЮЩЕГО EIP
4.НЕПРАВИЛЬНО – ВВОД АТАКУЮЩЕГО ПЕРЕПИСЫВАЕТ БУФЕР И EIP, ЗАСТАВЛЯЯ ЕГО ПРЫГАТЬ НА НЕДОПУСТИМЫЙ АДРЕС В ПАМЯТИ.
Адрес памяти
ВВОД АТАКУЮЩЕГО EIPБуфер
ВВОД АТАКУЮЩЕГО
5. АТАКУЮЩИЙ СОЗДАЕТ УНИКАЛЬНЫЙ ВВОД
Адрес памяти
Буфер EIP
Адрес указанный атакующим
Исполнимый код
6. ВВОД АТАКУЮЩЕГО ПЕРЕЗАПИСЫВАЕТ EIP НА ЕГО СОБСТВЕННЫЙ АДРЕС, УКАЗЫВАЮЩИЙ НА НАЧАЛО ИСПОЛНЯЕМОГО КОДА.
Адрес памяти
Буфер EIP
Адрес указанный атакующим
ВВОД АТАКУЮЩЕГО Исполнимый код
ЭТАПЫ ЦИКЛА РАЗРАБОТКИ ЭКСПЛОЙТА
Fuzzing Репликация ошибки Управление EIP Отправка уникального ввода данных Найти место для вашего shellcode Избегать проблемные байты Создание shellcode Перенаправление на выполняемый код (поиск обратного адреса)
ДЕМОНСТРАЦИЯ
СПАСИБО ЗА ВНИМАНИЕ!