Опубликована техника обхода SMEP-защиты при эксплуатации Linux уязвимостей

В ядре Linux 3.0 была представлена поддержка режима SMEP (Supervisor Mode Execution Protection), присутствующего в процессорах Intel на базе архитектуры Ivy Bridge. Использование SMEP не даёт переходить из режима ядра к выполнению кода, находящегося на пользовательском уровне, что позволяет блокировать эксплуатацию многих уязвимостей в ядре Linux (shell-код не будет выполнен, так как он находится в пространстве пользователя).

Один из исследователей безопасности опубликовал интересный способ эксплуатации уязвимостей в ядре в обход защиты SMEP (существуют и другие пути обхода SMEP, но данный метод заслуживает внимания в силу своей оригинальности), сообщает opennet.ru.

Метод построен на основе организации подстановки последовательности инструкций в исполняемую область JIT-компилятора (например, подсистемы BPF - Berkeley Packet Filter), генерирующего код на основе входных данных, которые могут контролироваться атакующим. Так как JIT-компилятор контролирует генерацию кода, так просто подставить инструкции не получится. Но можно воспользоваться тем, что входящие данные используются в качестве аргументов генерируемых инструкций. Например, для входных данных "$0xa8XXYYZZ" и "$0xa8PPQQRR" будет сгенерирован код:

b8 ZZ YY XX a8 mov $0xa8XXYYZZ, %eax
b8 RR QQ PP a8 mov $0xa8PPQQRR, %eax
b8 ...

Если пропустить байт с кодом инструкции mov (b8) и передать управление на следующий за ним байт (ZZ) будет выполнен машинный код "ZZ YY XX". При этом переданные в хвосте данные "a8" будут обработаны как ничего не значащая команда test с аргументом из кода команды mov (b8):

ZZ YY XX (подконтрольные атакующему инструкции)
a8 b8 test $0xb8, %al
RR QQ PP (подконтрольные атакующему инструкции)
a8 b8 test $0xb8, %al

Таким образом у злоумышленника появляется возможность формирования произвольной последовательности трёхбайтовых команд, выполняемой в пространстве ядра. При эксплуатации уязвимости, управление может быть передано на данные команды, в которых можно повысить привилегии процесса или отключить SMEP и передать управление на обычный shell-код в пространстве пользователя.

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

Новый Android-бэкдор Wpeeper использует WordPress-сайты как ретрансляторы

Новый бэкдор, атакующий смартфоны на Android и получивший имя Wpeeper, выдает себя за популярный сторонний магазин приложений Uptodown App Store (насчитывает более 220 млн загрузок). Wpeeper отличается работой в связке со взломанными сайтами на WordPress.

Скомпрометированные веб-ресурсы используются в качестве ретрансляторов для командных серверов (C2), что помогает операторам уйти от детектирования.

Новый вредонос привлек внимание команды QAX XLab 18 апреля 2024 года. На бэкдор исследователи вышли при анализе неизвестного файла ELF, встроенного в APK. В тот момент на этот файл не реагировал ни один из антивирусных движков на площадке VirusTotal.

В отчете специалистов отмечается, что активность Wpeeper резко остановилась 22 апреля, скорее всего, чтобы не «засветиться» и не привлечь внимание исследователей.

Опираясь на данные Google и Passive DNS, команда XLab сделала вывод, что Wpeeper удалось заразить уже тысячи устройств. Однако истинный масштаб кампании по распространению бэкдора пока оценить нельзя.

 

В атаках Wpeeper особый интерес представляет использование скомпрометированных веб-сайтов на WordPress в качестве точек ретрансляции. Такой подход маскирует местоположение реальных командных серверов.

Любые команды, отправленные с C2, проходят через упомянутые ресурсы. Более того, такие команды зашифрованы AES и подписаны с использованием алгоритма ECDSA (задействуется криптография на эллиптических кривых).

 

Wpeeper может также динамически обновлять C2-серверы, поэтому если один из WordPress-сайтов выпал из схемы, на его место оперативно приходят другие. Основная задача Wpeeper — красть данные жертвы, список функциональных возможностей бэкдора выглядит так:

  1. Вытаскивать данные о зараженном устройстве: сведения об операционной системе и аппаратной составляющей;
  2. Формировать список всех установленных приложений;
  3. Получать новые адреса командных серверов и обновлять список источников;
  4. Регулировать частоту связи с командным сервером;
  5. Получать новый открытый ключ для верификации подписей команд;
  6. Загружать произвольные файлы с C2;
  7. Получать информацию о конкретных файлах, хранящихся на устройстве;
  8. Получать информацию о конкретных директориях на устройстве;
  9. Запускать команды;
  10. 10.Загружать и запускать файлы;
  11. 11.Обновлять вредоносную составляющую;
  12. 12.Удалять бэкдор с устройства;
  13. 13.Загружать файл с конкретного URL и запускать его.
Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

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