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

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

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

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

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

Категории

Все категории
Loading categories
DetectPacket-CVE-2017-8464 — Эксплуатация уязвимостей и реализация их предотвращения | Kitploit
Инструменты/GitHubGitHub/trg-1999/detectpacket-cve-2017-8464
Сниффинг и анализ пакетовСтатический анализАнализ уязвимостейЭксплуатацияФорензикаСетевая безопасностьАнализ вредоносных программОбнаружение ВторженийОбучение и Образование
GitHubtrg-1999/detectpacket-cve-2017-8464

DetectPacket-CVE-2017-8464

Эксплуатация уязвимостей и реализация их предотвращения

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

Популярное

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

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

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

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

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

Разработка приложения для обнаружения уязвимости CVE-2017-8464

Исходный код (нажмите здесь)

СОДЕРЖАНИЕ:

ЧАСТЬ 1: ОБЗОР CVE-2017-8464

  1. ПОНЯТИЕ ФАЙЛА LNK
  2. СОЗДАНИЕ СИСТЕМЫ, УЯЗВИМОЙ К CVE-2017-8464
  3. ИНСТРУМЕНТЫ АТАКИ НА УЯЗВИМОСТЬ CVE-2017-8464

ЧАСТЬ 2: ИСПОЛЬЗОВАНИЕ METASPLOIT ДЛЯ ЭКСПЛУАТАЦИИ CVE-2017-8464

2.1. МОДЕЛЬ ЭКСПЛУАТАЦИИ CVE-2017-8464

2.2. ВЫПОЛНЕНИЕ ЭКСПЛУАТАЦИИ CVE-2017-8464

ЧАСТЬ 3: РАЗРАБОТКА ИНСТРУМЕНТА ОБНАРУЖЕНИЯ CVE-2017-8464 НА ЯЗЫКЕ PYTHON

3.1. АНАЛИЗ СИГНАТУРЫ CVE-2017-8464 НА ОСНОВЕ ПЕРЕХВАЧЕННЫХ СЕТЕВЫХ ПАКЕТОВ

3.2. ФУНКЦИЯ ОБРАБОТКИ ОБНАРУЖЕНИЯ ЭКСПЛУАТАЦИИ CVE-2017-8464 НА ОСНОВЕ АНАЛИЗА СИГНАТУРЫ ПАКЕТА

ЗАКЛЮЧЕНИЕ

**

ЧАСТЬ 1: ОБЗОР CVE-2017-8464

  1. ПОНЯТИЕ ФАЙЛА LNK

LNK - это системные файлы - ярлыки Windows, в двоичном формате, разработанные Microsoft.

Рисунок 1: Иконка ярлыка в Windows

Файл LNK — это ярлык или «ссылка», используемая Windows в качестве ссылки на исходный файл, каталог или приложение, аналогично псевдониму на платформе Macintosh. Он содержит тип цели ярлыка, расположение и имя файла, а также программы, открывающие целевые файлы, и опциональное сочетание клавиш. Файлы можно создавать в Windows, щелкнув правой кнопкой мыши файл, папку или исполняемую программу и выбрав «Создать ярлык».

Используя эту уязвимость в Microsoft Windows, злоумышленник может удаленно выполнить код, если значок ярлыка был создан особым образом.

Рисунок 2: Ручное создание ярлыка для загрузки и запуска вредоносного кода через файл .LNK

Уязвимый компонент связан с сетевым стеком. Такая уязвимость часто называется «удаленно эксплуатируемой» и может считаться атакой, которую можно провести на уровне протокола или через несколько сетевых узлов (например, через один или несколько маршрутизаторов).

  1. СОЗДАНИЕ СИСТЕМЫ, УЯЗВИМОЙ К CVE-2017-8464

Системы, затронутые уязвимостью CVE-2017-8464: Windows Shell в Microsoft Windows Server 2008 SP2 и R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2012 Gold и R2, Windows RT 8.1, Windows 10 Gold, 1511, 1607, 1703 и Windows Server 2016. Уязвимость позволяет локальным или удаленным злоумышленникам выполнять произвольный код через специально созданный файл .LNK, который неправильно обрабатывается при отображении значка в проводнике Windows или любом другом приложении, анализирующем значок ярлыка. Также известна как «LNK Remote Code Execution Vulnerability.»

Обновление безопасности исправляет уязвимость путем исправления проверки ссылки на значок ярлыка. Microsoft Windows выпустила обновление для этой уязвимости в июне 2017 года. Данная уязвимость не затрагивает Windows XP и более старые версии Windows.

  1. ИНСТРУМЕНТЫ АТАКИ НА УЯЗВИМОСТЬ CVE-2017-8464

Metasploit

Metasploit Framework — это среда для тестирования, атаки и эксплуатации уязвимостей сервисов из командной строки. Этот инструмент доступен в Kali Linux (версия VMware).

Рисунок 3: Инструмент Metasploit

Armitage

Инструмент с графическим интерфейсом на основе проекта Metasploit.

Рисунок 4: Инструмент Armitage.

ЧАСТЬ 2: ИСПОЛЬЗОВАНИЕ METASPLOIT ДЛЯ ЭКСПЛУАТАЦИИ CVE-2017-8464

2.1. МОДЕЛЬ ЭКСПЛУАТАЦИИ CVE-2017-8464

Жертва – Windows 7 Pro

Рисунок 5: Версия операционной системы жертвы

Рисунок 6: IP-адрес жертвы

Атакующая машина – Kali Linux – Используется Metasploit.

Рисунок 7: IP-адрес атакующего

Сетевая среда: VMnet8, подсеть 192.168.169.0

2.2. ВЫПОЛНЕНИЕ ЭКСПЛУАТАЦИИ CVE-2017-8464

  • Создание payload reverse_tcp и прослушивание TCP-соединений на Kali.

Рисунок 8: Создание payload и прослушивание TCP-соединений на машине атакующего

  • Создание файла ярлыка с уязвимостью CVE-2017-8464 для автоматического запуска встроенного reverse_tcp payload.

Рисунок 9: Создание файла .lnk для автоматического запуска вредоносного кода

Рисунок 10: Информация о настройке Payload

  • Запуск команды exploit для создания ярлыков с уязвимостью, указывающих на файл payload.
  • Как описано выше, будет создан файл payload FlashPlayerCPApp.cpl и файл ярлыка с уязвимостью, автоматически запускающий этот payload.
  • После создания всех необходимых файлов они сохраняются в папку /root/.msf4/local/ на машине атакующего, затем атакующий копирует все файлы из этой папки на любой USB-накопитель.

Рисунок 11: Создание файла .lnk с вредоносным кодом

Рисунок 12: Копирование всех вредоносных файлов на USB

  • После того как жертва вставит USB в свой компьютер. Жертве не нужно нажимать на какие-либо приложения на USB, но уязвимость в файле .lnk автоматически запускает вредоносный payload, выполняя удаленный код.

Рисунок 13: Жертва вставляет USB с вредоносным файлом .lnk

  • На машине атакующего видно, что жертва подключилась к атакующему, теперь атакующий успешно эксплуатирует CVE-2017-8464 и удаленно выполняет вредоносный код на машине жертвы.

Рисунок 14: Атакующий успешно провел эксплуатацию и проник на машину жертвы

**

ЧАСТЬ 3: РАЗРАБОТКА ИНСТРУМЕНТА ОБНАРУЖЕНИЯ CVE-2017-8464 НА ЯЗЫКЕ PYTHON

3.1. АНАЛИЗ СИГНАТУРЫ CVE-2017-8464 НА ОСНОВЕ ПЕРЕХВАЧЕННЫХ СЕТЕВЫХ ПАКЕТОВ

  • При перехвате пакетов во время атаки видно, что после автоматического запуска файла .lnk машина жертвы инициирует TCP-соединение с адресом атакующего, указанным в payload.

Рисунок 15: Перехваченный пакет атаки на уязвимость CVE-2017-8464

  • Пакет с флагом PSH позволяет отправлять данные непосредственно на машину жертвы, минуя буферизацию.

Рисунок 16: Пакет с флагом PSH после успешного TCP-соединения с атакующим

  • Затем пакет с подозрительным признаком "MZ" указывает на то, что это, вероятно, PE-файл вредоносного ПО, отправляемый на машину жертвы.

Рисунок 17: Подозрительный признак в перехваченном пакете, отправленном атакующим жертве.

PE File Format (Portable Executable File Format) — это собственный формат файлов Win32. Все исполняемые файлы Win32, такие как *.EXE, *.DLL (32-бит), *.COM, *.NET, *.CPL и т.д., имеют формат PE; за исключением файлов VxD и *.DLL (16-бит).

PE_File_Struct.png

Рисунок 18: Структура PE-файла.

DOS MZ Header

Все PE-файлы начинаются с простого DOS MZ Header. Он занимает первые 64 байта. Эта область используется при запуске программы в среде DOS.

e_magic: Сигнатура PE-файла, значение: 4Dh, 5Ah (символы "MZ", инициалы создателя MS-DOS Марка Збиковски). Это значение отмечает действительный DOS Header, позволяющий дальнейшее выполнение.

Рисунок 19: Сигнатура PE-файла в перехваченном пакете

e_lfanew: DWORD, находящийся в конце DOS Header, содержит смещение PE Header относительно начала файла.

DOS STUB

DOS Stub — это небольшая программа DOS EXE, отображающая сообщение об ошибке, для совместимости с 16-битными Windows.

Рисунок 20: Информация в пакете DOS STUB, перехваченном от атакующего к жертве

PE Header

PE Header — это структура IMAGE_NT_HEADERS, содержащая информацию, необходимую для загрузки файла в память.

Signature: DWORD, начинающий PE Header, содержит сигнатуру PE: 50h, 45h, 00h, 00

Рисунок 21: Информация от e_lfanew указывает на раздел Signature PE-заголовка.

SECTION TABLE

Section Table — это компонент, следующий сразу за PE Header, представляющий собой массив структур IMAGE_SECTION_HEADER.

Рисунок 22: Содержимое Section table в перехваченном пакете

  • Последующие пакеты будут содержать данные разделов (SECTION) PE-файла.
  • Соответственно, мы берем только заголовок (HEADER) из структуры PE-файла вредоносного ПО, хэшируем его с помощью MD5 для создания сигнатуры обнаружения этой вредоносной программы. Конкретно мы берем 1024 байта данных из обнаруженного пакета, которые включают заголовок. Соответствующая информация о вредоносном ПО сохраняется в CSV-файле для формирования набора данных для обнаружения.

Рисунок 23: Сохранение сигнатуры и связанной информации о вредоносном ПО в CSV-файле

3.2. ФУНКЦИЯ ОБРАБОТКИ ОБНАРУЖЕНИЯ ЭКСПЛУАТАЦИИ CVE-2017-8464 НА ОСНОВЕ АНАЛИЗА СИГНАТУРЫ ПАКЕТА

  • Функция извлекает информацию о соответствующих протоколах из frame_info; если есть поле данных, она получает протокол, ближайший к данным.

Рисунок 24: Функция получения информации о протоколе пакета

  • Get_info извлекает важную информацию, аналогичную полю info в Wireshark.

Рисунок 25: Функция получения информации из поля info пакета

  • Функция преобразования из pcap в csv сначала использует pyshark для загрузки временного файла захваченных пакетов (temp.pcap). Затем извлекает информацию, аналогичную полям Wireshark, и записывает во временный CSV-файл. Эта функция обрабатывает только пакеты, начиная с уровня IP и IPv6 и выше.
  • После преобразования во временный CSV-файл создается копия в папку packet для будущего использования в качестве документации.

Рисунок 26: Функция преобразования пакетов из Pcap в CSV-файл

  • Сначала функция detectRemoteCode обращается к файлу-образцу, содержащему сигнатуры (md5), собранные и проанализированные ранее. Затем открывает CSV-файл с временными данными, захваченными из сетевого трафика, извлекает данные из протокола TCP длиной 1024 байт (что эквивалентно 2048 шестнадцатеричным символам), декодирует их и проверяет, начинаются ли они с символов "MZ". Если да, то хэширует их и сравнивает с утвержденной сигнатурой. В случае совпадения выдается предупреждение и запись в журнал, аналогично статическому анализу (Static Analysis), обычно применяемому в антивирусных средствах.

Рисунок 27: Функция проверки вредоносного ПО в сетевом трафике

  • После основных функций идет код мониторинга трафика в строках 88–109, до конца программы.
  • Первая строка проверяет наличие каталога и создает его при отсутствии.
  • Затем бесконечный цикл до прерывания программы пользователем с помощью Ctrl+C.
  • В начале цикла используется pyshark для захвата пакетов с указанного сетевого интерфейса, вывод сохраняется в temp.pcap.
  • Захват длится 6 секунд, затем выполняется функция преобразования pcap в CSV.
  • После создания CSV-файла запускается функция проверки уязвимости CVE-2017-8464. Этот цикл повторяется до остановки программы пользователем.

Рисунок 28: Цикл захвата трафика и проверки вредоносного ПО

Проверка работы программы путем выполнения эксплуатации.

  • Запуск программы мониторинга на реальной машине Windows 10, в той же сети, где будет повторена атака, как описано в части 2.

Рисунок 29: Запуск программы мониторинга на реальной машине

  • Возвращаемся к двум виртуальным машинам и повторяем атаку, как в части 2. Видим, что захваченный сетевой трафик был проанализирован, и программа обнаружила, что атакующий выполняет LNK Remote Code, о чем свидетельствует уведомление на рисунке ниже.
  • Чтобы завершить процесс сканирования сети, достаточно нажать Ctrl+C, и программа остановится.

Рисунок 30: Обнаружение и предупреждение при прослушивании сетевого трафика

  • После сканирования в папке программы мониторинга появится папка packet, содержащая файлы, преобразованные в CSV после захвата пакетов с помощью pyshark, а также файл log.txt с записями об обнаруженных активностях за время работы программы.
  • Также создаются два временных файла, используемые программой для чтения и преобразования; эти файлы часто меняются, поэтому преобразованные пакеты сохраняются в папке packet.
  • Файл sample-detect.csv, как упоминалось ранее, содержит проанализированные сигнатуры для обнаружения угроз методом статического анализа, обычно используемого антивирусами.

Рисунок 31: Папка программы мониторинга CVE-2017-8464

Рисунок 32: Папка packet с файлами, записывающими пакеты после каждого преобразования при захвате

  • Затем проверяется файл log.txt на наличие обнаруженных активностей. Обнаруженные атаки на основе CVE-2017-8464 также регистрируются в журнале с указанием конкретного времени и IP, как в уведомлениях во время работы программы.

Рисунок 33: Все предупреждения сохранены в журнале

ЗАКЛЮЧЕНИЕ

В процессе эксплуатации и разработки программы обнаружения уязвимости CVE-2017-8464 студенты понимают, как эксплуатировать уязвимость, анализировать сигнатуру и поведение вредоносного ПО в рамках этой уязвимости. Анализ поведения и сигнатур позволяет студентам самостоятельно писать программы для автоматического сбора, анализа и обработки информации мониторинга сетевой безопасности с целью выдачи предупреждений об обнаружении вредоносного ПО.

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