Четыре луча
4.03K subscribers
118 photos
1 video
121 links
Облучаем экспертизой

Заметки Solar 4RAYS c полей о DFIRMA, TH, OffSec

Блог: https://rt-solar.ru/solar-4rays/blog/
Download Telegram
/etc/passwd за второй столик

CVE-2026-53435 — уязвимость десериализации, которая позволяет авторизованному пользователю читать произвольные файлы в Jenkins в версиях до 2.567 и LTS до 2.555.2.

🫡 Метрики:
Base Score: 8.8 HIGH
CWE: CWE-502


🫡 Об уязвимости:
Для эксплуатации уязвимости злоумышленнику необходимы права 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> гаджетом:
  <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-инфраструктура находится в РФ, а боты много лет заражают преимущественно российские устройства.

👀 Подробности — в новой статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍63👾1
Santa Stealer: стилер, который ворует у своих

При расследовании атаки на промышленную компанию мы выявили инфостилер 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
Какой из репозиториев выше настоящий?
Anonymous Quiz
74%
На скриншоте № 1
26%
На скриншоте № 2
🫡10🤷‍♂64
Так, это было слишком легко. Давайте чуть-чуть посложнее — новые скриншоты. Отвечайте в опросе ниже.
5👀4👍3
Вопрос тот же: какой репозиторий настоящий?
Anonymous Quiz
11%
Первый
89%
Второй
🏆9🤔76
А тут что скажете?
😁11🔥4🌚3🥴1
Финальный опрос: какой профиль — не фейк?
Anonymous Quiz
5%
Первый
9%
Второй
86%
Третий
🥱24🔥8😁53
🎣 По README встречают, по малвари провожают: как раскусить фейковый репозиторий за 10 секунд

Злоумышленники вовсю паразитируют на теме блокировок и массовом поиске способов их обхода. Особенно достается популярному локальному tg-ws-proxy и аналогам. В некоторых поисковиках, например Яндексе, оригинальные ссылки временно удаляются и на самом верху выдачи образуется вакуум. Его моментально заполняют свежие вредоносные клоны, которые не успели попасть в бан-листы.

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

Внешне подделка выглядит органично: мошенники подчистую копируют оформление README.md, сохраняют оригинальную верстку и даже реквизиты для донатов настоящему автору. Расчет идет исключительно на невнимательность и машинальные действия.

Чек-лист: 4 главных маркера фейка, которые выдадут его целиком и полностью

1️⃣ Возраст аккаунта: профиль «разработчика» обычно зарегистрирован пару недель назад.

2️⃣ История коммитов: вместо нормальной истории изменений весь код заливается за один раз через веб-интерфейс с унылой заглушкой Add files via upload.

3️⃣ Мертвая социальная активность: у клонов на счетчиках звезд и форков горят нули, а вкладка Issues (проблемы/обсуждения) часто отключена.

4️⃣ Инструкции: в README прямым текстом просят отключить антивирус или добавить папку в исключения Windows Defender, списывая на «ложное срабатывание из-за функционала». Никогда так не делайте, если не провели аудит кода лично.

Подробный разбор этой схемы и полный чек-лист безопасности читайте в нашей новой статье 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1311👍10