Admin Future
241 subscribers
51 photos
1 video
4 files
120 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
⚡️ [ root@admin-future ~ ]# new_post

Windows Event Viewer для Linux-админа: как парсить логи без потери разума

🔗 https://mfgit.ru/2026/09/30/windows-event-viewer-2026/

#безрубрики
🧠 Skills: Branch Target Reuse — свежий вариант Spectre v2 крадёт хеш root за 3–5 минут. Дежурный sysctl не спасёт

Коллеги, среда — время хардкорных разборов. Сегодня погружаемся в фундаментальные проблемы кремния, которые нельзя решить галочкой в GUI.

📌 ФАКТЫ (исследование VUsec + Scuola Superiore Sant'Anna)
Механика Branch Target Reuse: когда JIT-компилятор переиспользует память под новые инструкции, аппаратный предсказатель ветвлений процессора (Branch Target Buffer) продолжает помнить старые адреса ветвлений. Атакующий манипулирует спекулятивным исполнением и читает память соседних процессов.

Масштаб по кремнию: уязвимы актуальные архитектуры Intel, AMD и Arm. На уровне микроархитектуры современных CPU банально нет механизма мгновенной синхронизации предсказателя с динамически генерируемым кодом.

PoC на Linux: непривилегированный пользователь через классический cBPF считывает хеш пароля root прямо из процесса su. Скорость утечки — около 8 байт/с (~3 минуты на ядрах Raptor Cove и ~5 минут на Lion Cove).

Идентификаторы:

CVE-2026-64507 — внедрение IBPB-flush при выделении памяти под BPF JIT.

CVE-2026-64508 — защита от JIT spraying.

Софт под ударом: затронуты не только ядра ОС, но и рантаймы: Oracle уже рандомизирует кэш кода в GraalVM, а Mozilla экстренно ужесточает изоляцию сайтов в SpiderMonkey/Firefox. Патчи для ядра Linux уже в апстриме.

⚠️ ГЛАВНЫЙ НЮАНС (почему старые рецепты не работают)
Многие админы выставляют kernel.unprivileged_bpf_disabled, будучи уверенными, что закрыли тему. Но этот параметр режет только современный eBPF.

Вектор эксплойта опирается на классический cBPF, который по умолчанию открыт любому пользователю системы через штатные сокет-фильтры (

SO_ATTACH_FILTER
).
Режим

net.core.bpf_jit_harden=2
(constant blinding) исследователи также обошли: атака замедляется, но всё равно занимает смешные 5 минут. Единственное реальное лечение — ядро с патчем.

🛠 АУДИТ ХОСТА ЧЕРЕЗ ТЕРМИНАЛ
Bash
# 1. Смотрим текущую версию ядра
uname -r

# 2. Проверяем состояние BPF и механизмов защиты
sysctl net.core.bpf_jit_enable net.core.bpf_jit_harden kernel.unprivileged_bpf_disabled

# 3. Проверяем, можно ли в теории отключить BPF JIT (если =y — флаг зашит намертво)
grep CONFIG_BPF_JIT_ALWAYS_ON /boot/config-$(uname -r)

# 4. Проверяем алгоритм хеша root в /etc/shadow:
# $y$ = yescrypt (хорошо), $6$ = SHA-512 (нормально), $1$ = MD5 (катастрофа)
awk -F: '$1=="root"{print substr($2,1,3)}' /etc/shadow

# 5. Проверяем доступность обновлений ядра в дистрибутиве
apt update && apt list --upgradable 2>/dev/null | grep -E 'linux-image|proxmox-kernel'

💡 В ЧЁМ СУТЬ И ГДЕ РЕАЛЬНЫЙ РИСК
Атака локальная, и наружу улетает хеш, а не открытый пароль.

Где риск минимален: на изолированном сервере или одиночном гипервизоре, где в консоль ходите только вы по ключам.

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

Общие терминальные Linux-серверы и VDI;

CI/CD раннеры с общим ядром (shared Docker-хосты без изоляции гипервизором);

Jump-хосты и бастионы с пулом из десятков инженеров.

Если пароль root у вас до сих пор захэширован в устаревший MD5 или сотрудники авторизуются через интерактивный su с общим паролем — вам не нужен никакой Spectre, чтобы получить инцидент.

🛡 ЧЕКЛИСТ ДЕЙСТВИЙ
Обновить ядра: в первую очередь накатить свежие сборки ядра на shared-хостах, терминалах и сборочных нодах CI/CD.

Аудит /etc/shadow: убедиться, что пароли хешируются современными функциями (yescrypt или SHA-512), а устаревшие алгоритмы выпилены из PAM.

Отказ от su: окончательно заблокировать прямой вход под root и перевести администрирование на персональные учетки с гранулярным sudo и логированием.

#skills #linux #kernel #security #spectre #cpu #bpf #cve #sysadmin #admin_future
🧠 Skills: RC4 в Kerberos окончательно похоронен. Если в AD что-то «само сломалось» с лета — проверяйте это первым

Коллеги, второй разбор на сегодня. Тема не просто горит — она уже сгорела у тех, кто проспал таймлайн обновлений Microsoft. Если сервисы внезапно начали сыпать ошибками аутентификации, дело наверняка в протоколах шифрования.

📌 ФАКТЫ (CVE-2026-20833, этапы выпиливания RC4)
Январь 2026 — Режим аудита: включен мониторинг событий KDCSVC с кодами 201–209 в журнале System без блокировки трафика.

Апрель 2026 — Дефолтный AES: для всех аккаунтов без явно заданных алгоритмов шифрования дефолтом стал AES. Фолбэк на устаревший RC4 был практически отключен.

Июль 2026 — Полный отказ: режим аудита окончательно удален из кода. Параметр реестра RC4DefaultDisablementPhase больше не учитывается операционной системой, а фолбэк на RC4 вырезан из протокола на уровне KDC.

Что ломается: любые учетные записи, у которых атрибут msDS-SupportedEncryptionTypes равен 0x4 / 0x7 (только RC4/DES) или вообще не задан, если клиент или сервис не умеют согласовывать AES.

💥 КТО В ЗОНЕ РИСКА
Сервисные учетки (gMSA / sMSA / обычные пользователи с SPN) с древними паролями: в базе NTDS банально отсутствуют AES-ключи до тех пор, пока учетке не сбросят пароль.

Linux-интеграции и демоны с устаревшими keytab: Samba, прокси-серверы, Java-бэкенды, Tomcat, веб-SSO, где keytab нарезался сто лет назад под RC4 (rc4-hmac).

Legacy-железо: древние СХД, прошивки принтеров/МФУ и сетевые сканеры с доменной авторизацией.

🛠 ДИАГНОСТИКА ЧЕРЕЗ POWERSHELL
Выполняем на контроллере домена или рабочей станции с RSAT:

PowerShell
# 1. Поиск сервисных учеток (с SPN) без явного AES или застрявших на RC4
Get-ADUser -LDAPFilter '(&(servicePrincipalName=*)(|(!(msDS-SupportedEncryptionTypes=*))(msDS-SupportedEncryptionTypes=4)(msDS-SupportedEncryptionTypes=7)))' `
-Properties servicePrincipalName, msDS-SupportedEncryptionTypes, PasswordLastSet |
Select SamAccountName, msDS-SupportedEncryptionTypes, PasswordLastSet

# 2. Мониторинг запросов билетов с шифрованием RC4 (TicketEncryptionType = 0x17)
Get-WinEvent -LogName Security -MaxEvents 2000 -FilterXPath `
"*[System[EventID=4769] and EventData[Data[@Name='TicketEncryptionType']='0x17']]" |
ForEach-Object { ([xml]$_.ToXml()).Event.EventData.Data |
Where-Object { $_.Name -in 'TargetUserName','ServiceName','IpAddress' } |
ForEach-Object { "$($_.Name)=$($_.'#text')" } } | Select-Object -First 60

# 3. Проверка событий KDC в журнале System (ошибки согласования типов шифрования)
Get-WinEvent -FilterHashtable @{
LogName = 'System';
ProviderName = 'Microsoft-Windows-Kerberos-Key-Distribution-Center';
Id = 201..209
} -MaxEvents 50 -ErrorAction SilentlyContinue

🔧 РЕШЕНИЕ ПРОБЛЕМЫ
Включить флаг в реестре для возврата к RC4 больше нельзя — лазейку закрыли. Выход только один: планомерно переводить всё на AES.

PowerShell
# Шаг 1. Явно разрешаем использование современных типов шифрования
Set-ADUser svc_app -KerberosEncryptionType AES128,AES256

# Шаг 2. ОБЯЗАТЕЛЬНО меняем пароль (только в этот момент генерируются хеши AES!)
Set-ADAccountPassword svc_app -Reset

# Шаг 3. Перевыпускаем keytab для Linux-хостов с поддержкой AES256
# Через ktpass:
# ktpass /princ HTTP/app.corp.local@CORP.LOCAL /pass * /crypto AES256-SHA1 /ptype KRB5_NT_PRINCIPAL /out app.keytab
# Либо через msktutil:
# msktutil --enctypes 0x18 --auto-update

💡 В ЧЁМ СУТЬ
Времени на плавную раскатку больше нет — фолбэка нет физически. Отдельный маркер при ревизии: колонка

PasswordLastSet
. Если у сервисной учетки пароль не трогали с 2012 года, то помимо отсутствия AES-ключей вы получаете готовую дыру для атак Kerberoasting с мгновенным подбором слабого хеша в офлайне.

План на смену: выгрузить сервисные аккаунты без AES, запланировать смену паролей с владельцами сервисов и пересобрать ключевые keytab-файлы. Это час спокойной работы, который избавит вас от ночного дежурства при падении SSO.

#skills #activedirectory #kerberos #rc4 #aes #security #windows #powershell #sysadmin #admin_future
📋 Итоги сентября: 12 критических проверок до октябрьского Patch Tuesday

Коллеги, сегодня финал месяца и квартала. Сентябрь выдался рекордным по плотности zero-day атак и пересмотру базовых практик безопасности.

Собрал всю аналитику месяца в единый операционный чек-лист. Пройдитесь по пунктам со своей командой — для каждого блока указаны конкретное действие и целевой статус.

🔴 ПЕРИМЕТР (активная эксплуатация «в дикой природе», внесено в CISA KEV)
[ ] MikroTik RouterOS: обновить до 7.23.6+ / 7.24.3+ / 6.49.21+ (версий 7.23.5 и 7.24.2 уже недостаточно!). SSH, WinBox и WebFig категорически убрать с внешних интерфейсов.

[ ] Citrix NetScaler ADC / Gateway: накат сборок 14.1-73.37 / 13.1-64.23. Дедлайн CISA — сегодня. Обязательный съем дампов памяти и логов до обновления.

[ ] Check Point: раскатать актуальный Jumbo HF под свою ветку (R81.20 Take 166, R82 Take 126 и др.). Веб-интерфейс Management изолировать строго внутри mgmt-сети.

[ ] Roundcube Webmail: версии 1.6.19 / 1.7.4. Провести ревизию конфига virtuser_query.

[ ] WordPress: ядро 7.1.2 (или крайний бэкпорт своей ветки). Проверить флаг register_argc_argv = Off и вычистить PEAR.

🟠 ИНФРАСТРУКТУРА WINDOWS / ACTIVE DIRECTORY
[ ] Кумулятивные патчи + OOB для RDS: помимо сентябрьского LCU накатить внеплановые фиксы для Remote Desktop Services (KB5129238 / KB5129237 / KB5129235 — забираются вручную через Microsoft Update Catalog).

[ ] Microsoft SharePoint Server: убедиться в установке августовских обновлений безопасности (CVE-2026-65660, вектор переклассифицирован из Spoofing в полноценный RCE).

[ ] Окончательный отказ от Kerberos RC4: перевод всех сервисных аккаунтов (SPN) на AES128/AES256 с обязательным сбросом паролей и перевыпуском Linux-keytab.

[ ] Veeam Agent: обновить агенты резервного копирования до 13.0.3.1220+ / 13.1.1.700.

🟡 СЕРВЕРЫ LINUX И ВИРТУАЛИЗАЦИЯ
[ ] Ядро Linux: закрыть 3 критические CVE из каталога KEV (уязвимости в kTLS, ebtables, AF_ALG) + вариант Spectre v2 (Branch Target Reuse). Накатить апдейт ядра и спланировать ребут нод.

[ ] Docker Engine: просканировать сеть и убедиться, что ни один сокет демона dockerd не слушает порт TCP/2375 без mutual TLS.

[ ] Гипервизоры (ESXi / vCenter / Proxmox VE): интерфейсы управления изолированы в отдельный Management VLAN без маршрутизации в пользовательские сети; на хостах ESXi включены Lockdown Mode и execInstalledOnly.

🔵 ЖИЗНЕННЫЙ ЦИКЛ И ПЛАНИРОВАНИЕ (EOL)
[ ] Windows Server 2016: до конца поддержки (12 января 2027 г.) осталось всего 104 дня. Проекты миграции на 2022/2025 должны быть в активной стадии.

[ ] Microsoft SQL Server 2016: фаза Extended Support завершилась 14 июля 2026 г. Инстансы без контракта ESU находятся в зоне риска.

[ ] Службы WDS (Windows Deployment Services): функционал признан устаревшим (deprecated) — перевод инфраструктуры развертывания на современные механизмы.

💡 ГЛАВНЫЕ ВЫВОДЫ СЕНТЯБРЯ
Периметр — ключевая точка входа. Векторы атак на MikroTik, NetScaler, Check Point и Zyxel подтверждают: взлом начинается не с фишингового письма бухгалтеру, а с пограничного шлюза.

Окно «дикого» zero-day исчисляется неделями. Check Point Management ломали с 23 июля, NetScaler — неделями до релиза билдов вендора. Парадигма «накатил патч = чист» мертва — периметр требует форензики.

Оценки вендоров запаздывают. Баги в SharePoint мутировали из безобидного спуфинга в критический RCE, а ранние «патчи» MikroTik потребовали повторных исправлений. Каталог CISA KEV нужно перечитывать регулярно.

AI масштабирует классическую разведку. Кампании вроде Carbonato и Aurora показали: злоумышленники поручают агентам черновую работу по перебору, NTLM relay и сканированию AD, пробивая старые огрехи конфигурации за считанные минуты.

📌 План действий: забирайте чеклист, распределяйте задачи между инженерами и закрывайте хвосты до пятницы. 13 октября — следующий Patch Tuesday, встречать его нужно с чистыми хвостами по сентябрю.

#итоги #patchmanagement #checklist #security #sysadmin #admin_future
⚡️ [ root@admin-future ~ ]# new_post

Windows Event Viewer для Linux-админа

🔗 https://mfgit.ru/2026/09/30/windows-event-viewer-2026-2/

#безрубрики
🔐 OpenSSL CVE-2026-84782: утечка сырой памяти через DTLS и тихий EOL ветки OpenSSL 3.0

Коллеги, четверг. Свежая сводка по OpenSSL — библиотеке, лежащей в фундаменте практически каждого Linux-сервера, сетевого шлюза и контейнера.

Здесь важен не только сам баг, но и тектонический сдвиг в статусе поддержки релизов.

📌 ФАКТЫ (релиз OpenSSL от 29 сентября)
Уязвимость: CVE-2026-84782, уровень критичности — High (всего в апдейте закрыто 14 CVE).

Вектор и механика: баг стреляет, если во время DTLS-рукопожатия срабатывает таймер повторной отправки (retransmission timer), когда крупное сообщение фрагментировано и ушло лишь частично. При повторе указатель буфера съезжает на середину — в результате процесс либо ловит сегфолт (DoS), либо отправляет в сырой UDP-сокет фрагменты кучи (heap memory) вообще без шифрования.

Ограничение вектора: затрагивает и клиентов, и серверы, но исключительно DTLS (Datagram TLS поверх UDP). Классический TLS поверх TCP уязвимости не подвержен.

Где закрыто публично: версии 4.0.3, 3.6.5, 3.5.9, 3.4.8.

Где фикс только платный: релизы 3.0.23, 1.1.1zj, 1.0.2zs доступны строго по контракту Premium Support. Ветки 3.1–3.3 официально EOL и даже не тестировались вендором.

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

⚠️ ГЛАВНАЯ СИСТЕМНАЯ НОВОСТЬ: EOL ДЛЯ OPENSSL 3.0
Публичный жизненный цикл LTS-ветки OpenSSL 3.0 завершился 7 сентября 2026 года.

Пакеты дистрибутивов: Enterprise-дистрибутивы (RHEL, Debian, Ubuntu LTS) продолжат бэкпортировать секьюрити-фиксы силами собственных мейнтейнеров в рамках своего цикла поддержки.

Где заложена бомба: кастомные Docker-образы, вендорские appliance, прошивки сетевого оборудования и софт со статической линковкой библиотек апстримных патчей бесплатно больше не получат.

🎯 КТО РЕАЛЬНО ИСПОЛЬЗУЕТ DTLS НА СЕРВЕРАХ
Если обычный HTTPS-трафик в безопасности, то под прицелом сервисы реального времени:

Корпоративные SSL VPN с быстрым UDP-транспортом: демоны ocserv (OpenConnect), шлюзы Cisco AnyConnect / FortiClient / Palo Alto GlobalProtect.

IP-телефония и видеоконференции: медиашлюзы SIP/SRTP (Asterisk, FreeSWITCH, Kamailio), узлы WebRTC (Janus, Jitsi, mediasoup).

IoT и телеметрия: протоколы CoAP over DTLS, сборщики Syslog / RADIUS over DTLS.

🛠 АУДИТ СИСТЕМЫ И ПОИСК СТОРОННИХ СБОРОК
Bash
# 1. Проверяем системную версию и установленные пакеты
openssl version -a
dpkg -l | grep -E 'libssl[0-9]' || rpm -qa | grep -i openssl

# 2. Ищем слушающие UDP-порты (потенциальные сервисы DTLS)
ss -lunp

# 3. Смотрим, какие процессы держат системную библиотеку прямо сейчас
lsof -nP 2>/dev/null | grep -E 'libssl\.so' | awk '{print $1,$2}' | sort -u

# 4. Проверяем бинарники со встроенной/статической линковкой OpenSSL
strings -a /usr/sbin/ocserv 2>/dev/null | grep -m1 -E '^OpenSSL [0-9]'

💡 В ЧЁМ СУТЬ
Сама по себе

CVE-2026-84782
— не повод для ночных дежурств: эксплуатация нестабильна, завязана на специфичный тайминг потери UDP-пакетов, а атак «в поле» пока нет.

Настоящий риск — неконтролируемый OpenSSL 3.0. Сейчас идеальный момент провести инвентаризацию: пока дыра относительно мягкая, нужно найти все изолированные бинарники и виртуальные аплайнсы, собранные на 3.0, и затребовать роадмап у вендоров до появления первого «дикого» zero-day.

🛡 ЧТО ДЕЛАТЬ
Обновить пакеты: накатить апдейты openssl / libssl из официальных репозиториев ОС.

Перезапустить VPN и телефонию: после обновления библиотек обязательно перезапустить демоны, обслуживающие DTLS (ocserv, asterisk, turnserver).

Инвентаризация: составить реестр проприетарных и контейнеризированных решений, использующих внутренний OpenSSL 3.x вне пакетного менеджера.

#openssl #dtls #tls #linux #security #vpn #cve #sysadmin #admin_future
🤖 AI-агент взломал DIVD за секунды. Вход — две zero-day в helpdesk-системе Zammad

Коллеги, показательный кейс, после которого пора окончательно пересмотреть статус «внутренних» веб-приложений и тикет-систем.

Жертвой атаки стал DIVD (Dutch Institute for Vulnerability Disclosure) — организация, которая сама специализируется на этичном хакинге, поиске уязвимостей и нотификации бизнеса о пробитом периметре.

📌 ФАКТЫ
Точка входа: цепочка из двух 0-day в популярном open-source хелпдеске Zammad:

CVE-2026-102489 (CVSS 9.4) — перехват сессии с выходом в RCE от сервисного пользователя zammad. Эксплуатируема на версиях 6.3.0–6.5.4 (в ветках 7.0.0–7.1.3 код присутствует, но не срабатывает).

CVE-2026-102490 (CVSS 9.4) — локальное повышение привилегий (LPE) из контекста zammad до чистого root. Затронут огромный пласт релизов: от 1.5 вплоть до 7.1.0-alpha. Комьюнити подтверждает активную эксплуатацию «в дикой природе».

Скорость и исполнитель: по заявлению DIVD, взлом вел автономный AI-агент. Он без участия человека выбирал следующие шаги в цепочке, поднял привилегии до root и начал эксфильтрацию данных буквально за секунды.

Что спасло инфраструктуру: дальше хоста helpdesk агент не ушел — сработала жесткая сегментация сети и автоматическая изоляция хоста.

Вердикт исследователей: немедленно накатывать актуальные сборки 7-й ветки либо наглухо закрывать доступ к Zammad извне.

🛠 БЫСТРЫЙ ЧЕК ЧЕРЕЗ ТЕРМИНАЛ
Bash
# 1. Проверяем установленную версию Zammad (deb/rpm пакет)
zammad run rails r 'puts Version.get'

# 2. Если развернуто в контейнерах (Docker Compose)
docker compose exec zammad-railsserver rails r 'puts Version.get'

# 3. Проверяем доступность веб-интерфейса извне (отдаёт ли 200/302)
curl -sI https://helpdesk.example.ru | head -1

# 4. Форензика: подозрительные процессы и сессии от сервисного юзера zammad
ps -u zammad -o pid,lstart,cmd
last -n 50
journalctl _UID=$(id -u zammad) --since "2026-09-01" | tail -50

💡 В ЧЁМ СУТЬ И ВЫВОДЫ
Тикет-система — это критический шлюз, а не просто веб-морда. Хелпдески для удобства пользователей часто выставляют наружу без VPN. При этом внутри лежат креды от почтовых ящиков (IMAP/SMTP), сервисные учетки LDAP/Active Directory и токены API. Скомпрометированный helpdesk мгновенно превращается в трамплин во внутрянку.

Время реакции человека стало равно нулю. Когда атаку ведет AI-агент со скоростью выполнения миллисекундных API-вызовов, дежурный админ или SOC физически не успеют открыть алерт. Защищает только архитектура, выстроенная заранее (в случае DIVD — изоляция хоста и запрет бокового движения).

🛡 ПЛАН ДЕЙСТВИЙ (ЧЕКЛИСТ)
Апдейт ядра системы: обновиться до актуальной версии ветки 7.x (сверьтесь со спецбюллетенем DIVD-2026-00015 на предмет точного патча под 102490).

Убрать веб-интерфейс из интернета: если мгновенно пропатчиться нет возможности — спрятать инстанс за корпоративный VPN или Cloudflare Access / ZTNA с обязательной MFA.

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

Ротация секретов: если инстанс висел в сети неприкрытым, сбросьте пароли служебных учеток Active Directory / LDAP, почтовых ящиков и перевыпустите все API-ключи внешних интеграций.

Helpdesk, корпоративная Wiki, CRM и внутренние трекеры, смотрящие в мир «для клиентов и подрядчиков», должны проектироваться и изолироваться с той же паранойей, что и публичный почтовый сервер.

#security #zammad #helpdesk #ai #segmentation #cve #sysadmin #admin_future
📊 86–97% критических уязвимостей висят дольше 90 дней. Начало квартала — повод зафиксировать жесткие SLA

Коллеги, 1 октября — точка отсчета нового квартала. Вместо очередного разбора свежего эксплойта поговорим о сухих цифрах: как инфраструктура патчится на самом деле, а не в отчетах руководству.

📌 ФАКТЫ (исследование Detectify по 1 293 организациям в США, UK и Северной Европе)
Масштаб прокрастинации: доля брешей уровня Critical / High, остающихся открытыми дольше 90 дней:

Скандинавия — 97%

Великобритания — 92%

США — 86%

Процент реального закрытия: за всё время наблюдения устранено лишь 18.6% – 31.9% найденных уязвимостей. В госсекторе за 90 дней закрывают всего 8.3% критических находок.

Фактор хайпа вокруг AI: компании с выставленными наружу AI-инструментами и LLM-сервисами устраняют критику в 2 раза медленнее. Эксперты связывают это с теневым IT (Shadow IT) и полным отсутствием инвентаризации активов.

Главный феномен — «Risk Tolerance Drift»: если уязвимость провисела в сканере достаточно долго и инцидента не случилось, система психологически начинает воспринимать ее как «допустимый и принятый риск».

⚠️ РЕАЛЬНОСТЬ СЕНТЯБРЯ: ПОЧЕМУ 90 ДНЕЙ — ЭТО ПРИГОВОР
Вспомните кейс Roundcube: вендор выпустил патч еще в мае, а массовая автоматизированная эксплуатация накрыла периметры в сентябре. Окно между релизом и атакой составило ровно 4 месяца.

Большинство компаний в это окно физически не уложились. Злоумышленникам давно не нужны дорогие zero-day — им с головой хватает n-day, годами пылящихся на периметре.

🎯 ПРАКТИЧЕСКИЙ SLA НА ПАТЧИНГ (рекомендуемая матрица)
Plaintext
Категория риска                         Целевой срок устранения
───────────────────────────────────────────────────────────────
CISA KEV + сервис торчит наружу 48 часов (авральный режим)
CISA KEV, изолированный внутренний узел 7 календарных дней
EPSS > 0.5 либо публичный рабочий PoC 14 дней
Critical / High общего профиля 30 дней
Medium и ниже Плановый цикл (спринт / релиз)
───────────────────────────────────────────────────────────────
Невозможно закрыть в срок: Только через письменное
согласование исключения:
конкретный владелец +
дедлайн пересмотра

🛠 БЫСТРЫЙ АНАЛИЗ ЗАВИСШИХ БАГОВ ЧЕРЕЗ PYTHON
Берем свежую выгрузку из вашего сканера уязвимостей (Tenable, OpenVAS, Qualys, Trivy) в формате CSV со столбцами host, cve, severity, first_seen:

Bash
python3 - <<'EOF'
import csv, datetime as d

now = d.date.today()
buckets = {'0-30': 0, '31-90': 0, '90+': 0}

with open('findings.csv', mode='r', encoding='utf-8') as f:
for r in csv.DictReader(f):
if r.get('severity', '').lower() not in ('critical', 'high'):
continue
try:
first_seen = d.date.fromisoformat(r['first_seen'][:10])
age = (now - first_seen).days
bucket = '0-30' if age <= 30 else '31-90' if age <= 90 else '90+'
buckets[bucket] += 1
except (ValueError, KeyError):
continue

print("=== ВОЗРАСТ УЯЗВИМОСТЕЙ CRITICAL / HIGH ===")
for k in ('0-30', '31-90', '90+'):
print(f"{k:>6} дней: {buckets[k]}")
EOF

💡 В ЧЁМ СУТЬ
Основной ступор кроется не в нехватке времени у админов, а в размытой ответственности. У висящей месяцами дыры банально нет персонального владельца системы.

Срок без назначенного инженера превращается в пустой звук.

Инженер без жесткого дедлайна откладывает патч до первой аварии.

«Временное исключение» без зафиксированной даты пересмотра навсегда хоронит проблему в бэклоге.

🛡 ПЛАН НА СЕГОДНЯ
Снять слепок: сделать выгрузку из сканера и посчитать свой реальный процент хвостов «90+ дней».

Утвердить матрицу: согласовать с бизнесом и лидами разработок/эксплуатации внятные SLA по устранению.

Назначить ответственных: привязать каждую критическую дыру к конкретному системному инженеру или техлиду сервиса.

Засечь таймер: через три месяца, на старте следующего квартала, оценить динамику.
🔑 Октябрь 2026: Windows по умолчанию блокирует NTLMv1 для SSO. Wi-Fi и VPN через MS-CHAPv2 могут тихо отвалиться

Коллеги, пятница. Наступает дедлайн, о котором Microsoft предупреждал ещё в августе 2025 года. Под прицелом — корпоративный Wi-Fi (802.1X), проводная аутентификация и VPN, завязанные на связку NPS/RADIUS.

📌 ФАКТЫ (Microsoft Support)
Что меняется: сам протокол NTLMv1 вырезан ещё в Windows 11 24H2 и Windows Server 2025. Однако оставался легаси-рудимент: генерация учетных данных NTLMv1 для прозрачного SSO при аутентификации по MS-CHAPv2 (802.1X Wi-Fi/Ethernet, VPN).

Ключевой параметр в реестре:
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 → BlockNtlmv1SSO (тип REG_DWORD)
0 — аудит (попытка фиксируется в логе, но подключение пропускается);
1 — принудительная блокировка.

Таймлайн раскатки:
Август 2025 — включен режим аудита на Windows 11 24H2;
Ноябрь 2025 — аудит раскатан на Windows Server 2025;
Октябрь 2026 — дефолтное значение переключается на 1 (Enforce).

События в журнале: мониторим ветку Microsoft-Windows-NTLM/Operational:
Event ID 4024 — событие аудита (успех с предупреждением);
Event ID 4025 — факт блокировки попытки SSO.

Исключение: на хостах с включенным Credential Guard ничего не изменится — служба изолированного LSA и так не выдает NTLMv1 для SSO.

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

🗺 ОБЩАЯ КАРТИНА: NTLM ВЫПИЛИВАЮТ ЦЕЛИКОМ
Microsoft планомерно хоронит устаревший протокол в три шага:

Этап 1 (текущий): расширенный аудит и блокировка легаси-механизмов в Server 2025 / Win11 24H2.
Этап 2 (второе полугодие 2026): полномасштабное внедрение IAKerb (Kerberos через прокси без прямой видимости контроллера домена) и Local KDC (Kerberos для локальных учетных записей).
Этап 3 (следующий релиз Windows Server): сетевой NTLM полностью отключен по умолчанию, возврат — строго через явные GPO.

🛠 ДИАГНОСТИКА ЧЕРЕЗ POWERSHELL
PowerShell
# 1. Проверяем текущее значение ключа (если ключа нет — работает дефолт ОС)
reg query HKLM\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 /v BlockNtlmv1SSO

# 2. Ищем попытки NTLMv1 SSO и факты блокировок в журнале NTLM
Get-WinEvent -LogName 'Microsoft-Windows-NTLM/Operational' `
-FilterXPath '*[System[EventID=4024 or EventID=4025]]' -MaxEvents 50 -ErrorAction SilentlyContinue |
Select-Object TimeCreated, Id, Message

# 3. Проверяем статус Credential Guard (наличие службы 1 = активно)
(Get-CimInstance -Namespace root\Microsoft\Windows\DeviceGuard -ClassName Win32_DeviceGuard).SecurityServicesRunning

# 4. Проверяем на сервере NPS, какие сетевые политики завязаны на MS-CHAPv2 / PEAP
netsh nps show np

💡 В ЧЁМ СУТЬ
Это не внезапный 0-day, а планомерный вывод легаси-технологий.

Главная засада — скрытый паттерн сбоя: новенькие ноутбуки с Windows 11 24H2 в понедельник внезапно не смогут подключиться к офисному Wi-Fi, тогда как парк на Windows 10 продолжит работать штатно. Первая реакция инженеров первой линии — «сломалась точка доступа или контроллер Wi-Fi», хотя проблема сугубо в аутентификации.

PEAP-MSCHAPv2 — это по сути устаревшая парольная аутентификация, несущая в себе хвосты NTLM.

Единственный стратегически верный шаг — переход на EAP-TLS. Сертификаты компьютеров выпускаются автоматически через AD CS. В этом сценарии пароли и NTLM в сетевом обмене не участвуют вовсе.

Выставить через GPO

BlockNtlmv1SSO=0
— это временный костыль для тушения пожара, а не решение проблемы.
👍1
🛡 ПЛАН ДЕЙСТВИЙ (ЧЕКЛИСТ)
Собрать Event ID 4024 с парка: выгрузить события с машин под управлением 24H2 и Server 2025 — это готовый перечень узлов, которые потеряют связь при переключении режима.
Аудит политик на серверах NPS: локализовать все сетевые политики, где активен PEAP-MSCHAPv2, и оценить охват инфраструктуры.
Пилотное внедрение EAP-TLS: настроить шаблон сертификата Workstation Authentication, включить автоподписку (Auto-Enrollment) через GPO и подготовить новую сетевую политику на NPS.
Глобальный аудит NTLM: активировать GPO «Сетевая безопасность: ограничения NTLM: Аудит…» (события 8001–8004) для выявления всех оставшихся в домене NTLM-зависимостей перед Этапом 3.

#activedirectory #ntlm #nps #radius #wifi #security #windows #powershell #sysadmin #admin_future
🧩 Storm-3068: от сброса пароля до kubeconfig за несколько часов. CI/CD-раннер — ключ от всей инфраструктуры

Коллеги, свежий разбор инцидента от команды Microsoft Threat Intelligence. Кейс показателен тем, что здесь нет ни единой экзотической CVE — атакующие использовали исключительно штатную функциональность платформ автоматизации.

Урок касается не только Azure DevOps, но и любой связки «Git + раннер + кластер»: GitLab CI, Jenkins, GitHub Actions или TeamCity.

📌 ФАКТЫ (Microsoft Security Blog, отчет от 29 сентября)
Точка входа (SSPR Abuse): эксплуатация механизма Self-Service Password Reset. Злоумышленники сбросили пароль учетной записи, оперативно привязали свои методы подтверждения и целиком удалили легитимные факторы MFA законного владельца.

Тихая рекогносцировка: штатными API и CLI собрали список проектов, репозиториев, пайплайнов и сервисных подключений к облакам.

Компрометация Kubernetes: внедрили изменения в конфигурационные файлы пайплайнов и запустили вспомогательные джобы (в паттернах мелькал шаблон DUMPCLUSTERNAME). Скрипты автоматически вытягивали и эксфильтровали полные kubeconfig: API-эндпоинты, CA-сертификаты, токены и приватные ключи ServiceAccount.

Закрепление и C2:

Atera RMM — легитимный агент удаленного управления, установленный на сборочные ноды прямо через скрипт пайплайна (Living off the Land).

Chisel — развернутый туннель для проброса портов внутрь кластера и проксирования обратных сессий к API Kubernetes в обход фаервола.

Масштаб и скорость: один скомпрометированный пайплайн имел доступы к 50+ целевым ресурсам. От момента первичного захвата учетки до полного слива kubeconfig прошли считанные часы.

Как вычислили: через глубокую корреляцию событий аудита Azure DevOps и коммитов в истории Git.

🛠 АУДИТ РАННЕРОВ И РЕПОЗИТОРИЕВ
Bash
# 1. Поиск статичных файлов kubeconfig на раннере (их не должно быть на диске!)
find / \( -path '*/.kube/config' -o -name '*kubeconfig*' \) -type f 2>/dev/null

# 2. GitLab Runner: проверяем опасные директивы (privileged и смонтированный сокет докера)
grep -nE 'privileged|docker.sock' /etc/gitlab-runner/config.toml

# 3. Мониторинг скрытых туннелей и RMM-утилит на хосте раннера
ps -eo pid,user,lstart,cmd | grep -Ei 'chisel|ngrok|frpc|frps|atera' | grep -v grep

# 4. Проверка истории Git на случайную утечку сертификатов и ключей кластера
git log --all --oneline -S 'client-key-data'
git log --all --oneline -S 'BEGIN OPENSSH PRIVATE KEY'

# 5. Ревизия суперпользователей в Kubernetes: кто держит права cluster-admin
kubectl get clusterrolebindings -o json | \
jq -r '.items[] | select(.roleRef.name=="cluster-admin") | .metadata.name + " -> " + ([.subjects[]?.name]|join(","))'

💡 В ЧЁМ СУТЬ
Здесь не было эксплойтов. Атакующие двигались строго по рельсам штатного функционала: сброс пароля → коммит в репозиторий → запуск пайплайна → легитимный агент техподдержки.

Права на коммит = права раннера. Раннер вслепую выполнит любой шелл-код, который прилетел в ветку. Если у сборочной ноды есть доступ к прод-кластеру, то любой разработчик с правом пуша в репозиторий (или тот, кто увел его учетку) фактически держит права уровня root на боевой инфраструктуре.

Постоянный kubeconfig — мина замедленного действия. Хранить статичный

kubeconfig
с ролью

cluster-admin
в переменных CI/CD или на диске раннера — грубейшая ошибка.

Смена факторов MFA — это критический инцидент. Удаление старых методов MFA или добавление нового аутентификатора должно генерировать мгновенный алерт дежурному инженеру ИБ, а не просто оседать строкой в архиве логов.
🛡 ЧЕКЛИСТ ПО ЗАЩИТЕ CI/CD И КЛАСТЕРА
Защита веток (Branch Protection): жесткий запрет прямых пушей в main / master / release. Слияние — строго через Pull Request / Merge Request минимум с одним аппрувом.

Контроль CI-манифестов: любые правки в .gitlab-ci.yml, azure-pipelines.yml, Jenkinsfile требуют обязательного согласования (Code Owners) со стороны DevSecOps / инфраструктурной команды.

Отказ от статичных токенов: миграция на динамическую федерацию удостоверений через OpenID Connect (OIDC) с выдачей короткоживущих токенов. Никаких постоянных kubeconfig на файловой системе!

Принцип наименьших привилегий в K8s: гранулярные роли RBAC на каждый отдельный namespace. Запретить CI/CD-пайплайнам использовать глобальный cluster-admin.

Харденинг сборочных хостов: категорический запрет на запуск контейнеров с флагом --privileged и проброс /var/run/docker.sock. Ограничение исходящего трафика (Egress Firewall) только доверенными реестрами и репозиториями.

Алертинг на аномалии IAM: настройка триггеров на сброс паролей привилегированных пользователей, добавление новых устройств MFA и нетипичные изменения геопозиции входа.

#devops #cicd #kubernetes #gitlab #security #sysadmin #admin_future
🕵️ Atera, ScreenConnect, AnyDesk: легитимный удалённый доступ — любимый бэкдор сентября. Инвентаризация за 10 минут

Коллеги, общий знаменатель сразу нескольких громких инцидентов сентября: злоумышленники всё реже тащат самописную малварь и всё чаще закрепляются через штатные утилиты удалённого администрирования (RMM). Антивирусы и EDR молчат, потому что бинарники легальны, подписаны доверенными вендорами и не детектятся как угроза.

📌 ФАКТЫ (сентябрь 2026)
Группировка Storm-3068: развернула Atera RMM прямо через скрипт сборки в скомпрометированном пайплайне и вывела наружу реверс-туннель Chisel для управления инфраструктурой в обход корпоративного фаервола.

ConnectWise ScreenConnect (CVE-2026-84869): критическая уязвимость (CVSS 9.9, в каталоге CISA KEV), позволяющая скрытно передавать и запускать файлы через активную сессию без подтверждения пользователем на хосте. Активно эксплуатировалась для раскатки вредоносных VBScript.

Анатомия закрепления: RMM-агент даёт атакующему постоянный интерактивный канал с привилегиями NT AUTHORITY\SYSTEM, при этом трафик неотличим от рутинных действий дежурного сисадмина.

⚠️ ПОЧЕМУ ТАКТИКА РАБОТАЕТ БЕЗОТКАЗНО
Легитимная цифровая подпись: классический антивирус видит софт Microsoft/ConnectWise/AnyDesk и пропускает его в «белый список».

Маскировка под HTTPS: весь управляющий трафик уходит в облако вендора по TCP/443. Для пограничного фаервола это выглядит как обычный веб-серфинг.

Зоопарк утилит: в корпоративной сети нередко уживаются 2–3 разных инструмента («исторически сложилось», «ставил интегратор 1С», «попросил подрядчик»). Появление четвертого никто не замечает.

Специфика СНГ-сегмента: помимо зарубежных гигантов в инцидентах постоянно всплывают RMS (Remote Utilities), LiteManager, Ammyy Admin, AeroAdmin и RuDesktop.

🛠 АУДИТ ИНФРАСТРУКТУРЫ
1. Windows: централизованная выгрузка по всему Active Directory
Запускаем скрипт с контроллера домена или рабочей станции с RSAT (требуется включенный WinRM):

PowerShell
$rmmPattern = 'AnyDesk|TeamViewer|Atera|ScreenConnect|ConnectWise|Splashtop|RustDesk|' +
'Remote Utilities|rutserv|LiteManager|Ammyy|AeroAdmin|RuDesktop|' +
'MeshAgent|NetSupport|Radmin|ngrok|chisel'

$pcs = (Get-ADComputer -Filter 'Enabled -eq $true').Name

Invoke-Command -ComputerName $pcs -ErrorAction SilentlyContinue -ScriptBlock {
param($pattern)

# Поиск зарегистрированных служб
$services = Get-CimInstance Win32_Service |
Where-Object { $_.Name -match $pattern -or $_.DisplayName -match $pattern -or $_.PathName -match $pattern }

# Поиск записей в деинсталляторах (реестр 32/64-bit)
$installed = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' |
Where-Object { $_.DisplayName -match $pattern }

$services | ForEach-Object {
[PSCustomObject]@{ Type = 'Service'; Name = $_.DisplayName; Path = $_.PathName }
}
$installed | ForEach-Object {
[PSCustomObject]@{ Type = 'Installed'; Name = $_.DisplayName; Path = $_.InstallLocation }
}
} -ArgumentList $rmmPattern |
Select-Object PSComputerName, Type, Name, Path |
Export-Csv .\rmm_inventory.csv -NoTypeInformation -Encoding UTF8

2. Linux: поиск скрытых туннелей и демонов на серверах
Bash
# Процессы: ищем туннели, агенты и реверс-прокси
ps -eo pid,user,lstart,cmd | grep -Ei 'chisel|ngrok|frpc|gost|meshagent|rustdesk|anydesk' | grep -v grep

# Службы systemd: проверяем зарегистрированные демоны
systemctl list-units --type=service --all | grep -Ei 'chisel|ngrok|frp|mesh|rustdesk|anydesk'

# Сеть: ищем установленные наружу соединения
ss -tnp state established | grep -Ei 'chisel|ngrok|frpc'

💡 В ЧЁМ СУТЬ
Вопрос не в том, «хорош» или «плох» AnyDesk сам по себе. Главный вопрос: сколько утверждённых инструментов удаленного доступа разрешено регламентом вашей компании?

Правильный ответ — ровно один.
Любой неучтенный софт из отчета — это либо самодеятельность сотрудников/подрядчиков, либо следы чужого закрепления в сети. Снаружи эти два состояния выглядят совершенно одинаково.