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
🪟 Windows: Кто съел мою память? (PowerShell)

Коллеги, ситуация: сервер начал подтормаживать, а лезть в тяжелый Диспетчер задач через RDP лень или канал слишком узкий. Нам нужно быстро понять, какой процесс «отъел» всю оперативную память, и желательно в мегабайтах, а не в непонятных байтах.

PowerShell позволяет сделать это одной строкой, отсортировав процессы по реальному потреблению (WorkingSet).

Скрипт для поиска виновных:


# Топ-10 процессов по потреблению памяти в Мб
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10 Name, @{Name='RAM_MB'; Expression={[math]::round($_.WorkingSet / 1mb, 2)}} | Format-Table -AutoSize


Зачем это нужно:
Для оперативного реагирования. Ты сразу видишь, что это: утечка в браузере, разросшаяся база или «зависшее» приложение. Зная имя процесса, его можно тут же перезапустить или изучить подробнее, не тратя время на графику.

#windows #powershell #performance #monitoring #sysadmin #admin_future
✍2🔥2
📂 Windows: Ищем «тяжелые» папки через PowerShell

Коллеги, ситуация: на диске C: осталось 500 Мб, сервер задыхается, а стандартный проводник Windows считает размер папок целую вечность. Нам нужно мгновенно найти виновника, который забил место логами или временными файлами.

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


Скрипт для поиска топ-5 самых тяжелых папок (копируй и запускай):


# Считаем размер папок в корне диска C: и сортируем по убыванию
Get-ChildItem -Path "C:\" -Directory | ForEach-Object {
$Size = (Get-ChildItem -Path $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum
[PSCustomObject]@{
FolderName = $_.Name
Size_GB = [math]::round($Size / 1GB, 2)
}
} | Sort-Object Size_GB -Descending | Select-Object -First 5 | Format-Table -AutoSize


Зачем это нужно:
Для оперативной очистки. Обычно виноваты либо логи IIS, либо папки Temp, либо чьи-то забытые бэкапы прямо на системном диске. Пять секунд работы скрипта — и ты знаешь, куда бить.


#windows #powershell #storage #cleanup #sysadmin #admin_future
🧹 Windows: Автоматическая чистка старых файлов через PowerShell

Коллеги, признавайтесь: у кого на сервере есть папка Temp или Backup, которая незаметно разрастается до терабайта, пока однажды диск С: не загорается красным? В 2026-м админ не должен удалять мусор руками. Это работа для простого скрипта, который будет делать уборку за тебя каждую ночь.

Мы напишем скрипт, который находит файлы старше 30 дней в конкретной папке и удаляет их, не трогая всё остальное.


Скрипт для планировщика задач:


# Путь к папке, где нужно прибраться
$Path = "C:\Backups\Daily"
# Срок хранения в днях
$Days = 30
$TargetDate = (Get-Date).AddDays(-$Days)

# Ищем файлы и удаляем их
Get-ChildItem -Path $Path -File -Recurse |
Where-Object { $_.LastWriteTime -lt $TargetDate } |
Remove-Item -Force -Verbose


Зачем это нужно:
Для спокойного сна. Настрой этот скрипт в Task Scheduler (Планировщике задач) на запуск раз в сутки. Больше тебе не придется судорожно удалять старые архивы, когда место на сервере внезапно закончится в разгар рабочего дня.


#windows #powershell #cleanup #automation #sysadmin #admin_future
🔥2
📁 Windows: Проверяем, кто заблокировал файл через PowerShell

Знакомая боль: пытаешься удалить лог или переместить папку, а Windows выдает издевательское «Файл открыт в другой программе». И сидишь гадаешь — то ли это антивирус, то ли забытая сессия коллеги, то ли сам сервер решил придержать файл «на память».

Раньше мы качали Unlocker или Process Explorer, но в 2026-м всё, что нам нужно, уже есть в системе.


Скрипт для поиска «виновника» (запускай от админа):


# Ищем процесс, который держит файл (замените путь на свой)
$LockedFile = "C:\inetpub\logs\LogFiles\u_ex260401.log"

Get-Process | Where-Object {
$_.Modules.FileName -contains $LockedFile -or $_.HandleCount -gt 0
} | Select-Object Name, Id, Description | Format-Table -AutoSize

Примечание: Если файл заблокирован системой, используйте команду `handle.exe` из пакета Sysinternals — это база.

Чтобы не гадать и не ребутать весь сервер ради одного файла. Часто виновником оказывается зависший агент бэкапа или старая сессия PowerShell, которую вы сами же забыли закрыть. Пять секунд — и вы знаете, какой PID нужно «прибить».


Инструменты админа стали точнее. Не нужно сносить дерево, если мешает одна ветка.

#windows #powershell #troubleshooting #sysadmin #files #admin_future
❤2✍1
🛡️ Windows: Аудит элитного клуба — мониторим Domain Admins через PowerShell

Доверие — это отлично, но контроль — лучше. Особенно если дело касается группы Domain Admins. Представьте: в вашей инфраструктуре есть только два легитимных администратора — условные Bogdan и Roman. А в один прекрасный день скрипт показывает третьего. Это либо взлом, либо кто-то временно выдал права техподдержке и забыл забрать. В 2026 году такие инциденты стоят бизнесу миллионы.

Вместо того чтобы кликать мышкой по оснастке Active Directory, повесьте в планировщик задач простой скрипт, который будет следить за изменениями.


Скрипт мониторинга критичной группы:


$Domain = "domain.local"
$GroupName = "Domain Admins"
$AllowedAdmins = @("adm1", "adm1", "adm3")

# Получаем текущий состав группы
$CurrentMembers = Get-ADGroupMember -Identity $GroupName -Server $Domain | Select-Object -ExpandProperty SamAccountName

# Ищем чужаков
$Unauthorized = $CurrentMembers | Where-Object { $_ -notin $AllowedAdmins }

if ($Unauthorized) {
Write-Warning "⚠️ АЛАРМ! Найдены неавторизованные пользователи в Domain Admins: $($Unauthorized -join ', ')"
# Здесь можно добавить код отправки алерта в Telegram или на почту
} else {
Write-Host "✅ Состав группы Domain Admins в норме." -ForegroundColor Green
}


Группа политик безопасности (GPO) не всегда спасет, если учетка скомпрометирована. Автоматический аудит критически важных групп — это ваш первый рубеж обнаружения внутренних угроз.
Безопасность домена начинается с понимания того, у кого от него ключи.


#windows #powershell #activedirectory #security #audit #admin_future
🪟 Windows: Официальный sudo — конец эпохи лишних окон консоли

Мы только что обсуждали, как Linux избавляется от sudo в пользу run0. Иронично, но в мире Windows происходит ровно обратное. В Windows 11 и Windows Server 2025 утилита sudo стала официальной встроенной частью операционной системы.

Вы открыли обычный PowerShell, пишите скрипт, пытаетесь перезапустить службу, и получаете Access Denied. Приходилось тянуться за мышкой, искать ярлык PowerShell, нажимать «Запуск от имени администратора», копировать туда команду и выполнять.


Microsoft добавила нативный sudo. Прямо в текущем окне с правами обычного пользователя вы пишете:
sudo Restart-Service -Name W3SVC


В настройках системы (Settings — For developers — Enable sudo) админ может выбрать один из трех режимов работы:
1. В новом окне (In a new window) — классическое поведение Windows.
2. С отключенным вводом (With input disabled) — команда выполнится в этом же окне, но не сможет запрашивать у вас дополнительные данные (безопасный режим для скриптов).
3. Встроенный (Inline) — полная аналогия с Linux. Команда выполняется прямо здесь и сейчас, весь вывод идет в текущую консоль.


Для удобства и скорости. Если вы много работаете в терминале Windows Terminal, вам больше не нужно жонглировать вкладками с разными уровнями привилегий.


Границы между администрированием Windows и Linux продолжают стираться. Консоль становится универсальным и удобным местом для работы.

#windows #sudo #cli #powershell #sysadmin #admin_future
🧹 Windows: Уборка в лесу — ищем GPO-призраки через PowerShell

Коллеги, в любом домене со временем накапливается мусор. Мы создаем тестовые политики, применяем их, а потом забываем удалить. Когда приходит время провести масштабную реструктуризацию политик и передать часть функционала коллеге, этот мусор сильно мешает и путает.

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


Код для PowerShell:

$AllGPOs = Get-GPO -All
foreach ($GPO in $AllGPOs) {
$Report = Get-GPOReport -Guid $GPO.Id -ReportType Xml
if ($GPO.GpoStatus -eq 'AllSettingsDisabled' -or $Report -notmatch 'LinksTo') {
Write-Host "Кандидат на удаление: " $GPO.DisplayName}
}


Чистый Active Directory работает быстрее и предсказуемее. Любая реструктуризация GPO должна начинаться с удаления всего, что не работает и просто висит мертвым грузом.


#windows #powershell #activedirectory #gpo #sysadmin #admin_future
🔥1
🪟 Windows: Обновляем весь зоопарк софта одной командой через WinGet

Раньше для централизованного обновления стороннего софта (браузеры, архиваторы, мессенджеры) на парке машин мы использовали тяжеловесные решения вроде SCCM, сторонние патч-менеджеры или писали километровые скрипты-обертки.

Сейчас все стало гораздо элегантнее. Встроенный пакетный менеджер WinGet давно оброс мускулами и отлично справляется с этой задачей через консоль.

Скрипт для PowerShell (запускать от администратора):

winget upgrade --all --silent --accept-package-agreements --accept-source-agreements

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


Уязвимости нулевого дня в браузерах и PDF-читалках — это любимый вектор атак шифровальщиков. Повесьте этот скрипт в Планировщик задач на компьютерах пользователей, например, на обеденное время среды. Система сама закроет 90% дыр в стороннем софте без вашего ручного вмешательства.

#windows #powershell #winget #automation #sysadmin #admin_future
❤2
👻 WINDOWS: ОХОТА ЗА ПРИЗРАКАМИ. УДАЛЯЕМ МЕРТВЫЕ SID ИЗ ПРАВ ДОСТУПА

При реорганизации инфраструктуры и чистке домена от легаси-объектов мы часто удаляем старые учетные записи. Но права доступа на файловых серверах (NTFS ACL) остаются. Вместо имен пользователей там появляются неопознанные SID (начинаются с S-1-5-21...).

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

PowerShell скрипт для поиска и удаления мертвых SID:


$Path = "C:\Shares\Department"
$ACLs = Get-Acl -Path $Path
$Rules = $ACLs.Access | Where-Object { $_.IdentityReference -match "^S-1-5-21" }

foreach ($Rule in $Rules) {
$ACLs.RemoveAccessRule($Rule) | Out-Null
Write-Host "Удален мертвый SID: " $Rule.IdentityReference
}
Set-Acl -Path $Path -AclObject $ACLs


Зачем это нужно:
Порядок в Active Directory должен отражаться порядком в файловых системах. Идеально подходит для включения в план реструктуризации домена и вывода из эксплуатации старых систем вроде Windows 2012 R2.

#windows #powershell #activedirectory #security #admin_future
❤3
Итог: ИИ — это очень хороший стажёр с фотографической памятью и нулевым чувством ответственности. Он делает то что просишь, не думает о последствиях и иногда уверенно врёт. Твоя задача — быть опытным тимлидом этого стажёра, а не слепо доверять его выводам.

#skills #AI #автоматизация #sysadmin #карьера #powershell #admin_future
💯2
🧠 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
🛡 ПЛАН ДЕЙСТВИЙ (ЧЕКЛИСТ)
Собрать 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
🛡 ПЛАН ДЕЙСТВИЙ (ЧЕКЛИСТ)
Разбор инвентаризации: прогнать скрипт, открыть rmm_inventory.csv и по каждому найденному хосту выяснить: кто, когда и с какой производственной целью ставил софт.

Единый стандарт: утвердить один корпоративный инструмент. Подрядчиков и внешних специалистов пускать строго через него либо через корпоративный VPN с Jump-хостом, без установки их агентов.

Технический запрет:

Внедрить запрещающие политики AppLocker / WDAC (Deny по цифровому сертификату издателя для запрещенного пула).

Заблокировать облачные домены и IP-адреса сторонних RMM на корпоративном шлюзе/прокси.

Алертинг на новые службы: настроить в SIEM / Event Log триггер на Event ID 7045 в журнале System («В системе была установлена новая служба») с фильтром по ключевым словам RMM-агентов.

Контроль ScreenConnect: если продукт используется официально — срочно проверьте версии на закрытие CVE-2026-84869.

#security #rmm #remoteaccess #threathunting #powershell #windows #linux #sysadmin #admin_future
🗓 Windows Server 2022: 13 октября заканчивается основная поддержка. Что это значит на практике

Коллеги, вторник. Ровно через неделю — октябрьский Patch Tuesday и официальная смена жизненного цикла у самой массовой серверной ОС в текущих корпоративных контурах.

📌 ФАКТЫ
13 октября 2026 года — официальное завершение фазы Mainstream Support для всех редакций Windows Server 2022.

14 октября 2031 года — окончание расширенной поддержки (Extended Support).

Что прекращается: закрывается выпуск несекьюрных хотфиксов (non-security bugfixes), перестают приниматься запросы на изменение функционала (DCR) и аннулируются бесплатные инциденты технической поддержки.

Что остаётся: регулярные ежемесячные кумулятивные обновления безопасности (LCU) будут выходить в штатном режиме ещё 5 лет.

⚠️ ГДЕ НА САМОМ ДЕЛЕ ЗАРЫТ РИСК
Повода для паники нет — серверы не превратятся в тыкву. Однако этот рубеж традиционно запускает процесс бюджетирования и планирования миграций на Windows Server 2025. И вот здесь заложена классическая граната:

В Windows Server 2025 подписание SMB-трафика (SMB Signing) включено и обязательно по умолчанию для всех исходящих и входящих клиентских подключений.

Если просто накатить новую ОС или смигрировать файловый сервер без ревизии, мгновенно отвалятся:

Старые сетевые МФУ (сканирование по SMB в сетевую папку);

Древние офисные NAS и прошивки встроенных систем;

Недоконфигурированные Linux-хосты со старыми демонами Samba, где подпись отключена ради производительности.

🛠 ДИАГНОСТИКА ИНФРАСТРУКТУРЫ ДО СТАРТА МИГРАЦИИ
Выполняем на контроллере домена или серверах через PowerShell:

PowerShell
# 1. Инвентаризация: считаем точное количество инстансов Server 2022 в домене
Get-ADComputer -Filter 'OperatingSystem -like "*Server 2022*"' |
Measure-Object | Select-Object Count

# 2. Проверяем текущую политику требования подписи SMB на сервере и клиенте
Get-SmbServerConfiguration | Select-Object RequireSecuritySignature, EnableSecuritySignature
Get-SmbClientConfiguration | Select-Object RequireSecuritySignature, EnableSecuritySignature

# 3. Аудит с хоста: смотрим, какие текущие сессии висят БЕЗ цифровой подписи (Signed = False)
Get-SmbConnection | Select-Object ServerName, ShareName, Dialect, Signed

💡 В ЧЁМ СУТЬ
Windows Server 2022 без проблем и спешки доживёт до 2031 года в статусе надёжной «рабочей лошадки».

Но если вы уже тестируете или закупаете лицензии под Server 2025, главная задача прямо сейчас — не перенос ролей, а инвентаризация сетевых шар и легаси-оборудования без SMB signing. Иначе в первый же день после миграции техподдержка утонет в тикетах «бухгалтерия не может отсканировать документы».

#windowsserver #lifecycle #smb #activedirectory #migration #powershell #sysadmin #admin_future
🚨 AhsayCBS: два zero-day, SYSTEM на сервере бэкапов без пароля. Эксплуатация началась через сутки после обнаружения

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

📌 ФАКТЫ (отчет Field Effect от 9 октября)
Связка уязвимостей:

CVE-2026-105133 (CVSS 5.5) — логическая ошибка аутентификации в функции проверки пароля checkSysPwd;

CVE-2026-105134 (CVSS 9.3) — критическая инъекция команд ОС (Command Injection) в компоненте Replication Receiver.

Результат цепочки: удаленное неаутентифицированное исполнение произвольного кода (RCE) с наивысшими правами NT AUTHORITY\SYSTEM.

Под ударом: все версии платформы до 10.3.4 включительно. Официальный исправленный релиз на момент публикации вендором не обозначен.

Активная эксплуатация: реальные атаки зафиксированы поздно вечером 7 октября — всего через сутки после первых сигналов. За первые 24 часа подтверждена компрометация как минимум 5 организаций.

Анатомия закрепления: злоумышленники конфигурировали поддельный приемник репликации, заливали JSP веб-шелл, разворачивали скрытый майнер XMRig под маской легитимного процесса Microsoft Edge и прописывали фальшивую службу обновления браузера для автозагрузки.

🛠 ФОРЕНЗИКА И ПОИСК СЛЕДОВ (PowerShell на хосте AhsayCBS)
PowerShell
# 1. Поиск свежих JSP-файлов и шеллов за последнюю неделю
$installDir = 'C:\Program Files\AhsayCBS'
Get-ChildItem -Path $installDir -Recurse -Filter *.jsp -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-7) } |
Select-Object FullName, LastWriteTime

# 2. Выявление процессов msedge, запущенных вне легитимной директории Microsoft
Get-CimInstance Win32_Process |
Where-Object { $_.Name -like 'msedge*' -and $_.ExecutablePath -notlike '*\Microsoft\Edge\*' } |
Select-Object ProcessId, Name, ExecutablePath

# 3. Аудит подозрительных служб с «Edge» в названии
Get-CimInstance Win32_Service |
Where-Object { $_.DisplayName -match 'Edge' -or $_.Name -match 'Edge' } |
Select-Object Name, DisplayName, PathName, StartMode

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

Правило изоляции едино для любого решения (Ahsay, Veeam, Proxmox Backup Server, Commvault):

Любые порты управления, API и сервисы репликации никогда не должны смотреть в публичный интернет — только выделенный Management VLAN, изолированный VPN или защищенный туннель.

Если на сервере бэкапов обнаружены следы веб-шелла или сторонних служб — машина считается скомпрометированной целиком. Она не «лечится» установкой патча, а подлежит полной переустановке с чистого образа с обязательным отзывом и перевыпуском всех ключей доступа.

#security #backup #zeroday #ahsay #threathunting #powershell #windows #sysadmin #admin_future
📧 Skills: 5 RCE в Outlook с CVSS 9.8 — достаточно открыть письмо в области чтения. Проверяем версию Office по всему парку

Коллеги, разбираем детально самый неприятный и опасный блок октябрьского Patch Tuesday.

📌 ФАКТЫ
Идентификаторы уязвимостей: CVE-2026-88156, CVE-2026-97016, CVE-2026-70291, CVE-2026-70242, CVE-2026-97749.

Критичность: максимальный базовый балл CVSS 9.8 (Remote Code Execution, класс — классические переполнения буфера в парсерах форматов сообщений).

Вектор атаки — Preview Pane (Zero-Click): по официальному бюллетеню безопасности Microsoft, эксплуатация инициируется автоматически при отображении письма в области предварительного просмотра (Reading Pane) — пользователю не нужно открывать вложения или переходить по ссылкам.

Затронутые платформы: почтовые клиенты Outlook в составе Microsoft 365 Apps for enterprise, Office LTSC 2021 и Office LTSC 2024 (как под Windows, так и под macOS). Для двух уязвимостей патчи под Mac LTSC задержатся до конца месяца.

Статус эксплуатации: в дикой природе активных эксплойтов пока не зафиксировано («Exploitation Less Likely»).

Главный риск: обходных путей (workarounds) и изолирующих настроек реестра вендор не предоставил — единственным методом защиты является установка апдейта сборок Office.

🛠 ИНВЕНТАРИЗАЦИЯ И ПРИНУДИТЕЛЬНЫЙ ПУШ ОБНОВЛЕНИЙ (Click-to-Run)
В большинстве сетей Microsoft 365 Apps и Office 2021/2024 развернуты по модели Click-to-Run (C2R), минуя классический каталог WSUS:

PowerShell
# 1. Проверка текущей версии, CDN-источника и статуса автообновлений локально
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration' |
Select-Object VersionToReport, CDNBaseUrl, UpdatesEnabled

# 2. Массовая инвентаризация версий Office по доменным рабочим станциям через WinRM
$pcs = (Get-ADComputer -Filter 'OperatingSystem -like "*Windows 1*" -and Enabled -eq $true').Name

Invoke-Command -ComputerName $pcs -ErrorAction SilentlyContinue -ScriptBlock {
$c2r = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration' -ErrorAction SilentlyContinue
if ($c2r) {
[PSCustomObject]@{
Version = $c2r.VersionToReport
Enabled = $c2r.UpdatesEnabled
}
}
} | Select-Object PSComputerName, @{N='OfficeVersion'; E={$_.Version}}, @{N='UpdatesActive'; E={$_.Enabled}} |
Sort-Object OfficeVersion

# 3. Принудительный старт тихой фоновой загрузки и установки обновлений на клиенте
$c2rClient = "$env:CommonProgramFiles\microsoft shared\ClickToRun\OfficeC2RClient.exe"
if (Test-Path $c2rClient) {
Start-Process -FilePath $c2rClient -ArgumentList '/update user displaylevel=false'
}

💡 В ЧЁМ СУТЬ ДЛЯ СИСАДМИНА
Office C2R часто существует обособленно от централизованного патч-менеджмента ОС и тихо обновляется из CDN Microsoft — ровно до тех пор, пока ключ

UpdatesEnabled
не оказывается отключен.

Часто это происходит при развертывании машин из старых кастомных образов, после оптимизационных твикеров или если обновления замораживали локально, «чтобы интерфейс не дёргался посреди рабочего дня».

При RCE через Reading Pane со скорингом 9.8 любая рабочая станция со старой сборкой Outlook внутри корпоративной сети превращается в открытый плацдарм для закрепления через одно-единственное входящее письмо. Скрипт выше выявляет отставшие машины за пару минут.

#skills #outlook #office #security #cve #powershell #patchmanagement #sysadmin #admin_future
🗓 Windows 11 24H2 Home и Pro больше не получают обновлений. В ноябре — очередь 23H2 Enterprise

Коллеги, вместе с рекордным Patch Tuesday незаметно подошли дедлайны жизненного цикла операционных систем Microsoft. Самое время проверить ревизии клиентских сборок в корпоративном сегменте.

📌 ФАКТЫ
Windows 11 24H2 (Home и Pro): октябрьский кумулятивный пакет стал финальным официальным обновлением безопасности для потребительских и стандартных профессиональных редакций.

Windows 10 Enterprise LTSB 2016: полностью завершился 10-летний цикл расширенной поддержки (Extended Support).

Windows 11 23H2 (Enterprise, Education, IoT Enterprise): финальный секьюрити-патч выйдет ровно через месяц, во вторник 10 ноября.

Windows Server 2022: с 13 октября серверная ветка перешла в фазу Extended Support — только обновления безопасности без функциональных доработок (до октября 2031 года).

🛠 ИНВЕНТАРИЗАЦИЯ КЛИЕНТСКИХ ОС ПО ACTIVE DIRECT
Быстрый аудит доменных рабочих станций для выявления устаревших сборок:

PowerShell
# Билды: 22631 = 23H2 | 26100 = 24H2 | 26200 = 25H2
Get-ADComputer -Filter 'Enabled -eq $true -and OperatingSystem -like "Windows 1*"' `
-Properties OperatingSystem, OperatingSystemVersion, LastLogonDate |
Group-Object OperatingSystem, OperatingSystemVersion |
Sort-Object Count -Descending |
Select-Object Count, Name |
Format-Table -AutoSize

PowerShell
# Локальная проверка редакции, версии и точного номера сборки на хосте
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' |
Select-Object ProductName, EditionID, DisplayVersion, CurrentBuild, UBR |
Format-List

⚠️ ГЛАВНАЯ ЛОВУШКА В ПАРКЕ
Во многих филиалах и офисах ноутбуки закупаются сразу с OEM-редакцией Windows 11 Pro. Если апгрейды версий ранее замораживали через GPO или отключали службу доставки обновлений («чтобы не тормозило и не перезагружалось»), эти машины начиная с текущего месяца полностью отрезаны от секьюрити-патчей.

Ни закрытия MotW (CVE-2026-96951), ни критических RCE в превью Outlook они уже не получат штатным образом.

💡 В ЧЁМ СУТЬ
Обновление машин с 24H2 до актуальной 25H2 не требует длительной переустановки ОС или раскатки «тяжелого» WIM-образа — оно выполняется через компактный Enablement Package (eKB) через WSUS, Intune или Windows Update for Business.

Процесс сводится к одной быстрой перезагрузке рабочей станции (занимает 2–3 минуты). Прогоните инвентаризацию скриптом выше, сформируйте список хостов на 24H2 Pro и одобрите пакет перехода до конца недели.

#windows #lifecycle #windows11 #inventory #powershell #security #patchmanagement #sysadmin #admin_future
📦 Office 2021 больше не получает обновлений безопасности. Найдите его в парке до следующего Patch Tuesday

Коллеги, ещё одна критическая дата жизненного цикла ПО Microsoft, прошедшая 13 октября практически незаметно на фоне рекордного количества CVE.

📌 ФАКТЫ
Завершение жизненного цикла: для Office LTSC 2021 (включая классические пакеты Word, Excel, PowerPoint, Outlook, Access, Project и Visio) официальная поддержка окончательно прекращена 13 октября 2026 года.

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

Предшественники: поддержка Office 2016 и Office 2019 завершилась ещё в октябре 2025 года — обе эти ветки уже год находятся в «серой зоне».

Реальный масштаб риска: только в октябрьском выпуске обновлений Microsoft закрыла 173 уязвимости в компонентах Office, из которых 26 получили статус Critical (один только Excel собрал 69 уязвимостей, включая 11 критических RCE). Все новые дыры ноября останутся в Office 2021 навсегда.

Что остаётся на официальной поддержке:

Microsoft 365 Apps (корпоративная подписочная модель с регулярными апдейтами каналов);

Office LTSC 2024 (текущая бессрочная корпоративная редакция с фиксированным циклом поддержки).

🛠 ИНВЕНТАРИЗАЦИЯ УСТАНОВЛЕННЫХ РЕДАКЦИЙ В ДОМЕНЕ
Быстрый аудит машин на выявление неподдерживаемых сборок:

1. Для современных установок Click-to-Run (C2R)
PowerShell
# Определяем точный продуктовый идентификатор установленного пакета:
$prodId = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration' -ErrorAction SilentlyContinue).ProductReleaseIds

# Расшифровка ключевых идентификаторов:
# ProPlus2021Volume / Standard2021Volume -> Office 2021 (ПОДДЕРЖКА ЗАВЕРШЕНА)
# ProPlus2019Volume / Standard2019Volume -> Office 2019 (ПОДДЕРЖКА ЗАВЕРШЕНА)
# O365ProPlusRetail -> Microsoft 365 Apps (ПОДДЕРЖИВАЕТСЯ)
# ProPlus2024Volume / Standard2024Volume -> Office 2024 (ПОДДЕРЖИВАЕТСЯ)

2. Для устаревших MSI-установок (Office 2016 и старше)
PowerShell
# Проверка классической ветки реестра Uninstall (32-бит и 64-бит):
Get-ItemProperty `
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*', `
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' -ErrorAction SilentlyContinue |
Where-Object { $_.DisplayName -match 'Microsoft Office (Professional|Standard|Home|LTSC)' } |
Select-Object DisplayName, DisplayVersion, InstallDate |
Format-Table -AutoSize

💡 В ЧЁМ СУТЬ ДЛЯ СИСАДМИНА
Офисный пакет без регулярных секьюрити-обновлений — главная входная дверь для шифровальщиков и стилеров: входящие таблицы Excel, сметы и коммерческие предложения в Word открываются рядовыми сотрудниками ежедневно и на автомате.

Где искать в первую очередь:

Бухгалтерия, финансовый отдел и отдел кадров — рабочие места с максимальным входящим трафиком внешних документов от контрагентов.

Филиальные ПК и удалённые склады — где исторически «один раз поставили с дистрибутива и забыли».

Если бюджетный апгрейд всего парка на Office LTSC 2024 или облачный Microsoft 365 не согласован:

Рассмотрите гибридную схему: массовый перевод типовых рабочих мест на отечественные/open-source офисные пакеты (Р7-Офис, МойОфис, LibreOffice);

Для единичных пользователей с критической зависимостью от сложных VBA-макросов выделите изолированный терминальный сервер с актуальным поддерживаемым Office, отрезав прямой доступ из интернета.

#office #lifecycle #microsoft #security #inventory #powershell #patchmanagement #sysadmin #admin_future