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

Positive Technologies объявляет новый набор на стажировки PT Start

Positive Technologies объявляет новый набор на стажировки PT Start

Positive Technologies объявляет новый набор на стажировки PT Start. В этом году программа разделена на два трека в зависимости от уровня подготовки кандидатов: стажировка с обучением и Fast Track.

1️⃣ Стажировка с обучением предназначена для студентов математических, технических, ИТ- и ИБ-специальностей, которые только начинают профессиональный путь. Программа рассчитана на восемь недель: шесть недель обучения и две недели практики в командах, чтобы познакомиться с разными направлениями ИБ и выбрать подходящее. Участники изучат устройство и принципы работы Unix/Linux и Windows, основы сетевого взаимодействия и администрирования информационных систем, безопасность веб-приложений, а также основы кибератак и защиты от них. После обучения стажёры выполнят практические задачи в различных направлениях: продуктовая экспертиза, Threat Intelligence, Киберпогода, антивирусная лаборатория, исследование безопасности операционных систем и комплексное реагирование на киберугрозы. По итогам тестового задания лучшие участники получат приглашение на оплачиваемую стажировку. Подать заявку на этот трек можно до 20 августа.

А что после прохождения стажировки? Решение о дальнейшем сотрудничестве - от продления стажировки до приглашения в штат - принимается с учётом обратной связи от команды, количества времени, которое стажёр готов уделять работе, и наличия вакансий, соответствующих его навыкам.

Что нужно, чтобы на стажировке поработать над задачами VM/Carbon? Для этого нужно отобраться на направление продуктовой экспертизы (где я работаю 😇). Это направление включает в себя центр компетенций по исследованию современных киберугроз и созданию интеллектуального наполнения для флагманских продуктов компании классов SIEM, NTA, vulnerability and exposure management и EDR. Эти продукты позволяют заказчикам заранее выявлять и устранять проблемы в защите ИТ-инфраструктуры, а при атаке - своевременно обнаруживать действия злоумышленников и реагировать на них.

2️⃣ Fast Track предназначен для тех, у кого уже есть профильные знания и практический опыт. Участники сразу проходят отбор и после него подключаются к задачам команды. В процессе стажировки они работают с наставником и проходят внутреннее обучение, необходимое для работы в выбранном направлении. Подать заявку на Fast Track можно в течение всего года. Но в рамках этого трека стажировки доступны только по двум направлениям: Python-разработка и QA.

Перекиньте это знакомым студентам и молодым специалистам. 😉

Разбор VM-ной вакансии от R-Vision "Инженер-аналитик по выявлению уязвимостей"

Разбор VM-ной вакансии от R-Vision Инженер-аналитик по выявлению уязвимостей

Разбор VM-ной вакансии от R-Vision "Инженер-аналитик по выявлению уязвимостей". Давненько не было у меня постов в этой рубрике. Но вот попалась вакансия в R-Vision, которая очень характерна для VM-вендоров. Я и сам на похожей позиции начинал свой путь в Vulnerability Management. 😇

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

🔻 Проводить поиск, разбор и последующий анализ источников данных, предоставляющих информацию по уязвимостям;

Затем нужно разобраться, как превратить информацию об уязвимостях в чёткую логику их детектирования. И нормально это описать. Иными словами:

🔻 Заниматься разработкой и формированием экспертизы (технические стандарты безопасности и информация по уязвимостям) в области информационной безопасности для продуктов компании;

И наконец, нужно написать скрипт, который будет автоматически генерировать правила детектирования уязвимостей:

🔻 Автоматизировать процессы по формированию экспертизы ИБ;

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

Обратите внимание, что выше было про "технические стандарты безопасности". Это про харденинг. На вход аналитику подаётся стандарт по безопасному конфигурированию какого-то продукта (например, от CIS, ФСТЭК или самого вендора продукта). Задача аналитика - разработать для каждого требования автоматическую проверку конкретной инсталляции продукта на соответствие этому требованию. Пока накидываешь проверки, волей-неволей разбираешься и с безопасным конфигурированием. 👍

Все разработанные проверки будут работать в рамках конкретного решения (видимо, R-Vision VM, но возможно, что и не только), поэтому соискателю неизбежно придётся:

🔻 Взаимодействовать с продуктовыми командами с целью улучшения работы продуктов.

Какие скиллы нужны для этой работы? Ну, очевидно, что нужно уметь как-то кодить:

🔸 Знание Git, Python - ваши хорошие друзья;

Очевидно, что соискатель не должен бояться консоли и должен +- быть в курсе, что из себя представляет современная IT-инфраструктура:

🔸 Наличие навыков администрирования Windows, Linux систем;
🔹 Опыт администрирования сетевого и иного оборудования;

Чёткого ТЗ на такой позиции ждать не приходится. Придётся много копать самому, поэтому:

🔸 Способность работать самостоятельно, но и в команде.

Очевидно, было бы неплохо, чтобы соискатель на старте понимал, экспертизу для какого решения он делает. Поэтому желателен:

🔹 Опыт проведения работ по инструментальному анализу защищенности или опыт работы с одним из сканеров безопасности (Nessus, Nexpose, Qualys, Max Patrol, OpenVas, RedCheck, nmap);
🔹 Навыки работы с режимом "Комплаенс" для оценки соответствия;

Тут не могу не поправить коллег, что MaxPatrol пишется в одно слово, и не "OpenVas", а OpenVAS. 😉

Также было бы неплохо, чтобы и про уязвимости соискатель тоже что-то знал:

🔹 Знание актуальных угроз и уязвимостей на Windows/ Linux платформах;
🔹 Опыт применения методологий по описанию, приоритизации и устранению уязвимостей (CVE, CVSS, VPR, OWASP);

Хотя, честно говоря, увидеть в списке сплошь проприетарный Tenable VPR (Vulnerability Priority Rating) было неожиданно. Интересно, что именно имеют в виду под OWASP. OWASP Top 10? 🤔 И в случае R-Vision странно, что в этом списке нет OVAL.

А в этом пункте коллеги намекнули на внутреннюю кухню:

🔹 Понимание принципов работы инструментов автоматизации (Apache Airflow);

Интересно было бы послушать, как именно они Apache Airflow используют при создании VM-ной экспертизы. 😉

В блоге компании 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-чиками, которые затем можно обработать по своему усмотрению. 😉