Архив метки: Python

В блоге компании Sysdig вышел пост о первой хорошо задокументированной агентной ransomware-кампании JADEPUFFER

В блоге компании Sysdig вышел пост о первой хорошо задокументированной агентной ransomware-кампании JADEPUFFER

В блоге компании Sysdig вышел пост о первой хорошо задокументированной агентной ransomware-кампании JADEPUFFER. Суть там в следующем. Первоначальный доступ злоумышленники получили через опубликованный в Интернет сервер Langflow (платформа для создания и развертывания AI-агентов и workflow), проэксплуатировав уязвимость CVE-2025-3248. Эта уязвимость позволяет удалённому неаутентифицированному атакующему с помощью специально сформированного HTTP-запроса выполнить на сервере произвольный код. Далее злоумышленники запустили адаптивную и полностью автоматизированную кампанию, дошли до целевой системы и пошифровали базу данных продакшена. 🤖🤷‍♂️ При компрометации базы эксплуатировалась уязвимость обхода аутентификации в Nacos (CVE-2021-29441). Nacos - платформа для динамического обнаружения сервисов, управления конфигурациями и администрирования сервисов.

Эксперты Sysdig приводят следующие аргументы в пользу того, что эти действия выполнялись полностью автоматически:

🔻 Все полезные нагрузки доставлялись через RCE-уязвимость в Langflow в виде Python-кода, закодированного в Base64. Декодированные полезные нагрузки содержат большое количество комментариев, объясняющих, почему выполняется каждое действие. Там есть приоритизация целей по "окупаемости" (Return on Investment), определение "самой крупной" базы данных и описание назначения каждого шага. Люди обычно не добавляют комментарии к каждой команде вида python3 -c, а LLM делают это по умолчанию.

🔻 Слишком быстрая диагностика и исправление ошибок. Например, за 30-50 секунд был пройден полный цикл от неудачной попытки входа до диагностики причины ошибки, исправления кода и успешной аутентификации.

🔻 Во время атаки LLM читала обычный текст, найденный в системе, и принимала решения на его основе, а не просто искала совпадения по шаблонам. Такое поведение повторялось даже в разных сессиях с интервалом в несколько недель.

Ну и более 600 осмысленных пейлоадов, выполненных за короткий промежуток времени… Не очень похоже на человека с фиксированным набором утилит. 😉

Мораль? Если не будете детектировать и устранять уязвимости, мисконфигурации и прочие экспозиции, то вас рано или поздно взломают и пошифруют. Это произойдёт с нечеловеческой скоростью и эффективностью и не потребует от злоумышленника особой квалификации. 👾👻

Читать далее

Майский "В тренде VM": громкие уязвимости в Linux, ActiveMQ, SharePoint и Adobe Acrobat Reader

Майский В тренде VM: громкие уязвимости в Linux, ActiveMQ, SharePoint и Adobe Acrobat Reader

Майский "В тренде VM": громкие уязвимости в Linux, ActiveMQ, SharePoint и Adobe Acrobat Reader. Представляю традиционную ежемесячную подборку трендовых уязвимостей по версии Positive Technologies. Если в прошлом апрельском выпуске была всего одна уязвимость, то в этот раз уже четыре и весьма разноплановых.

🗞 Пост на Хабре
🗒 Дайджест на сайте PT

🔻 EoP - Linux Kernel "Copy Fail" (CVE-2026-31431). Уязвимость позволяет получить права root на Linux-хосте.

🔻 RCE - Apache ActiveMQ (CVE-2026-34197). Уязвимость в решении, широко используемом в корпоративных системах и интеграционных платформах.

🔻 Spoofing - Microsoft SharePoint Server (CVE-2026-32201). Уязвимость в решении Microsoft, широко используемом в корпоративных системах для организации совместной работы, управления документами и построения внутренних порталов.

🔻 RCE - Adobe Reader (CVE-2026-34621). Уязвимость в распространенном решении для просмотра PDF-документов; эксплуатируется в фишинговых атаках.

🟥 Полный список трендовых уязвимостей смотрите на портале

Про уязвимость Elevation of Privilege - Linux Kernel "Copy Fail" (CVE-2026-31431)

Про уязвимость Elevation of Privilege - Linux Kernel Copy Fail (CVE-2026-31431)

Про уязвимость Elevation of Privilege - Linux Kernel "Copy Fail" (CVE-2026-31431). Уязвимость локального повышения привилегий в компоненте ядра Linux AF_ALG, которая вызвана ошибкой работы с памятью, позволяет непривилегированному пользователю поднять привилегии до root-а. Проэксплуатировав эту уязвимость, злоумышленник может полностью захватить систему: читать и изменять любые файлы, включая пароли и ключи, подменять системные бинарные файлы, отключать защитные механизмы и средства мониторинга, незаметно устанавливать бэкдоры и закрепляться в системе, скрывать следы своей активности, использовать хост как плацдарм для атак на другие сетевые активы.

⚙️🛠 1 апреля патчи, устраняющие уязвимость, были внесены в основную ветку Linux Kernel. 22 апреля был заведён CVE идентификатор уязвимости. 29 апреля эксперты компании Theori опубликовали разбор уязвимости и публичный эксплойт. Эксплуатабельность уязвимости была подтверждена на актуальных версиях популярных дистрибутивов Linux: Ubuntu, Amazon Linux, RHEL, SUSE.

👾 1 мая уязвимость была добавлена в CISA KEV, что свидетельствует об эксплуатации уязвимости в реальных атаках.

Что отличает эту уязвимость от подобных EOP/LPE в Linux?

В Linux Kernel уже были громкие уязвимости повышения привилегий. Dirty Cow требовала выигрыша в race condition. Часто приходилось делать несколько попыток, и иногда это приводило к падению системы. Dirty Pipe была привязана к конкретным версиям и требовала точных манипуляций с pipe buffer.

Но, в отличие от Dirty Cow и Dirty Pipe, как сообщают исследователи, Copy Fail - это прямолинейная логическая ошибка. Она срабатывает без гонок, повторных попыток или нестабильных временных окон, приводящих к сбоям.

🧬 Портируемость. Один и тот же скрипт эксплуатации работает на всех протестированных дистрибутивах и архитектурах, включая Ubuntu, Amazon Linux, Red Hat Enterprise Linux и SUSE Linux Enterprise. Никаких оффсетов под конкретный дистрибутив. Никакой перекомпиляции. В эксплоите нет проверок версии.

✧ Минимализм. Весь эксплойт - это короткий скрипт на Python, использующий только стандартные модули библиотеки os, socket, zlib. Требуется Python 3.10+ для os.splice. Никаких скомпилированных нагрузок, никакой установки зависимостей.

🥷 Скрытность. Операция записи выполняется, минуя обычный путь записи VFS ("ordinary VFS write path"). Повреждённая страница никогда не помечается ядром как dirty в механизме writeback. Стандартные инструменты контроля целостности файлов, сравнивающие контрольные суммы на диске, не заметят эксплуатацию, потому что файл на диске не изменяется. Повреждается только кэш страниц в памяти.

📦 Межконтейнерное воздействие. Кэш страниц разделяется всеми процессами в системе, в том числе между контейнерами. Copy Fail - это не просто локальное повышение привилегий. Это примитив выхода из контейнера и вектор компрометации узла Kubernetes.

Как устранить уязвимость?

Для устранения уязвимости пользователям необходимо обновиться до версий ядра Linux 6.18.22, 6.19.12 и 7.0. Ядро можно собрать самостоятельно или дождаться, когда обновления пакетов ядра выпустит вендор вашего Linux-дистрибутива. По состоянию на 4 мая вышли обновления для Ubuntu, Debian, RHEL, Fedora, SUSE, CloudLinux, Arch Linux, ROSA Linux.

В качестве workaround-а исследователи предлагают заблокировать создание сокетов AF_ALG:

echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null

Небольшой оффтоп про то, как я кардинально упростил себе подготовку MAX-постов

Небольшой оффтоп про то, как я кардинально упростил себе подготовку MAX-постов

Небольшой оффтоп про то, как я кардинально упростил себе подготовку MAX-постов. Форматирование постов в MAX долгое время оставалось для меня весьма мучительной задачей. Судите сами: текстовую разметку (markdown) MAX пока не поддерживает, доступ к API для постинга пока есть только у юрлиц. Конечно, уже есть сервисы, предоставляющие услуги постинга (фактически обёртки над API), но они все какие-то мутные и просят денег буквально за каждый пост. Бесплатных ботов-конвертеров, аналогичных ТГ-шным пока нет. И чего с этим делать? Каждый раз форматировать пост ручками, используя редактор постов в приложении MAX? Ну, такое себе. Но решение, оказывается, всё время было рядом и было очень простым.

Всё началось с того, что я заметил: в веб-версии MAX форматированный текст можно копировать и вставлять без потери форматирования. 👀 А это значит, что веб-приложение MAX кладёт текст в буфер в форматированном виде. Что в свою очередь значит, что форматированный текст в таком же виде можно положить в буфер самостоятельно. 😉 Оказалось, что в Linux это можно сделать буквально вот так с помощью xclip:

cat post.html | xclip -selection clipboard -t text/html

Как-то специально заморачиваться с html не нужно. Если там используются простые теги (a, b, i, br) - всё работает. 🙂 Форматированный текст копируется в буфер и его достаточно вставить в веб-интерфейс MAX. 😇

Важно: это работает именно с веб-клиентом! Десктопный клиент хранит форматированный текст в буфере несколько иначе и там нужно больше танцев с бубном, чтобы достичь +- того же результата. Поэтому лучше работать именно с веб-клиентом.

А что если нам наоборот нужно копировать посты из MAX с сохранением форматирования? Это может быть полезно, если мы изначально пишем посты в MAX, а потом хотим выложить их куда-то ещё с сохранением форматирования. Всё аналогично. Копируем форматированный текст поста в веб-клиенте MAX и читаем буфер (в Linux) с помощью того же xclip:

xclip -selection clipboard -t text/html -o

Но есть проблема, что html-код там навороченный. Чтобы упростить его до простых тегов (a, b, i, br), я навайбкодил скриптик. В том же проекте доступны bash-обвязки, которыми я пользуюсь: HTML2MaxBuffer.sh, MaxBuffer2HTML.sh, show_all_buffers.sh.

Пользуйтесь и рекомендуйте друзьям, которым это может быть актуально.

Сегодня меня спросили: как скачать базу уязвимостей с сайта NVD?

Сегодня меня спросили: как скачать базу уязвимостей с сайта NVD?

Сегодня меня спросили: как скачать базу уязвимостей с сайта NVD? Если нужны данные из NIST NVD по всем уязвимостям, проще всего скачать архивированные фиды в формате JSON.

Запускаем скрипт:

import requests

BASE = "https://nvd.nist.gov/feeds/json/cve/2.0/"

for year in range(2002, 2027): # при необходимости расширяем диапазон
fname = f"nvdcve-2.0-{year}.json.zip"
url = BASE + fname
print("Качаю", fname)

with requests.get(url, stream=True, timeout=300) as r:
r.raise_for_status()
with open(fname, "wb") as f:
for chunk in r.iter_content(8192):
if chunk:
f.write(chunk)

Скрипт пишет:

Качаю nvdcve-2.0-2002.json.zip
...
Качаю nvdcve-2.0-2026.json.zip

И скачивает в текущую директорию zip-архивы с JSON-чиками, которые затем можно обработать по своему усмотрению. 😉

Palo Alto Networks подробно пишут про RCE-уязвимость в трёх open-source AI/ML-проектах на Python

Palo Alto Networks подробно пишут про RCE-уязвимость в трёх open-source AI/ML-проектах на Python

Palo Alto Networks подробно пишут про RCE-уязвимость в трёх open-source AI/ML-проектах на Python. Уязвимость вызвана использованием библиотеки Hydra (разрабатывается экстремистской компанией Meta) для загрузки конфигураций из метаданных модели. Злоумышленник может внедрять произвольный код в метаданные модели, который будет автоматически выполнен в момент загрузки модифицированной модели уязвимыми проектами:

🔻 NeMo - фреймворк на базе PyTorch, разработан NVIDIA. CVE-2025-23304 исправлена в версии 2.3.2.

🔻 Uni2TS - библиотека PyTorch, используемая в Morai от Salesforce - foundation‑модели для анализа временных рядов. CVE-2026-22584 исправлена 31 июля 2025 года.

🔻 FlexTok - фреймворк на Python, позволяющий AI/ML‑моделям обрабатывать изображения; разработан исследователями Apple и VILAB@EPFL. Уязвимость исправлена без CVE в июне 2025 года.

👾 Признаков эксплуатации вживую пока нет.

Игровое обучение основам криптографии и программирования "Разведчики"

Игровое обучение основам криптографии и программирования Разведчики

Игровое обучение основам криптографии и программирования "Разведчики". 🕵️‍♂️

Проводим отпуск во Владимире. Вчера ходили в местный музей науки и человека "Эврика". Среди прочего там был мастер-класс "Шпионские истории". Мастер-класс был так себе, но идея делать введение в защиту информации в контексте рассказа про разведчиков мне очень зашла. 🔥👍

Возможный план занятий:

1. Известные советские и российские разведчики-нелегалы. Романы Юлиана Семёнова про Исаева-Штирлица, Рихард Зорге, Рудольф Абель, Артур Адамс. Из современников - Андрей Безруков и Елена Вавилова. Важность защищённого канала связи.

2. Стеганография с невидимыми чернилами и трафаретами. Шифр Цезаря, шифр простой замены, гаммирование и одноразовый шифроблокнот.

3. Программирование на Python алгоритмов для шифрования, расшифрования и дешифрования.

4. Код Морзе и работа с телеграфным ключом. Автоматизация на Python.

5. Современные методы шифрования (GOST, AES, SSL) и стеганографии.