Опубликован инструмент для написания бинарных эксплойтов

Опубликован инструмент для написания бинарных эксплойтов

Опубликован инструмент для написания бинарных эксплойтов

Пользователь GitHub под именем t00sh опубликовал инструмент, призванный помочь в написании бинарных эксплойтов. На данный момент этот инструмент поддерживает следующие архитектуры: x86, x86_64, ARM и ARM64.

Утилита, получившая имя rop-tool v2.4.1, доступна для скачивании на GitHub. В список ее возможностей на данном этапе входят:

  • Поиск строк, поиск гаджетов, патчинг, визуализация кучи (heap visualization), дизассемблинг;
  • Раскрашенный результат на выходе;
  • Intel and AT&T flavor;
  • Поддержка двоичного формата ELF, PE и MACH-O;
  • Поддержка большого и маленького endian;
  • Поддержка архитектуры x86, x86_64, ARM и ARM64.

В качестве примеров t00sh приводит следующий список команд:

  • Простой поиск гаджетов — rop-tool gadget ./program
  • Отображение всех гаджетов с синтаксисом AT&T — rop-tool gadget ./program -f att –a
  • Поиск в файле RAW x86 — rop-tool gadget ./program -A x86
  • Поиск «разделенной» строки в бинарнике — rop-tool search ./program -s "/bin/sh"
  • Поиск всех строк в бинарнике — rop-tool search ./program –a
  • Патч бинарника со смещением 0x1000, добавляется «\xaa\xbb\xcc\xdd» и сохраняется как «patched» — rop-tool patch ./program -o 0x1000 -b "\xaa\xbb\xcc\xdd" -O patched
  • Визуализация распределения кучи команды /bin/ls — rop-tool heap /bin/ls
  • Дизассемблинг 0x100 байт по адресу 0x08048452 — rop-tool dis /bin/ls -l 0x100 -a 0x08048452

Уязвимость переполнения глобального буфера в zlib грозит DoS и даже RCE

В широко используемой библиотеке zlib выявлена критическая уязвимость, позволяющая через порчу памяти вызвать сбой программы (DoS). Ее также потенциально можно использовать для удаленного выполнения стороннего кода в системе.

Пока не решенной проблеме, классифицируемой как переполнение буфера в глобальной памяти, присвоен идентификатор CVE-2026-22184. Поскольку эксплойт тривиален, степень опасности уязвимости была оценена в 9,3 балла по шкале CVSS.

Катастрофическая ошибка возникает при запуске утилиты untgz, а точнее, при выполнении функции TGZfname(), отвечающей за обработку имен архивных файлов, вводимых через консоль.

Как оказалось, уязвимый код не проверяет длину ввода перед копированием. Когда она превышает 1024 байт, происходит запись за границей буфера, что приводит к нарушению целостности памяти.

Проблему усугубляет тот факт, что untgz отрабатывает до парсинга и валидации архива. Эксплойт в данном случае не требует создания вредоносного файла со сложной структурой, достаточно лишь передать длинное имя в качестве аргумента командной строки.

Уязвимости подвержены все сборки zlib до 1.3.1.2 включительно. В качестве временной меры защиты админам и разработчикам рекомендуется ограничить использование untgz либо вовсе удалить соответствующий пакет до появления пропатченной версии.

RSS: Новости на портале Anti-Malware.ru