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: "Get-WmiObject — мертв". Переходим на CIM

Если вы в 2025 году все еще пишете Get-WmiObject в своих PowerShell-скриптах, у нас плохие новости. Эта команда мертва (deprecated).

Почему она мертва? Она использует "старый" протокол DCOM, который:

* Медленный.

* Блокируется файрволами (требует 100500 открытых портов).

* Неэффективный.

Новый стандарт: Get-CimInstance (CIM) CIM (Common Information Model) — это современная замена WMI.

Почему CIM — это круто:

Работает по WinRM: (Как и PowerShell Remoting). Ему нужен один порт (5985 http или 5986 https). Он "пробивает" файрволы.

Быстрый: Использует WS-Man, который намного легче, чем DCOM.

Умный: Get-CimInstance возвращает "чистые" объекты, а не системный мусор.

Сравнение "до" и "после":

МЕРТВО (не делайте так):

PowerShell

# Медленно, через DCOM
Get-WmiObject -Class Win32_OperatingSystem -ComputerName SERVER01

ЖИВО (делайте так):

PowerShell

# Быстро, через WinRM
Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName SERVER01

(...или New-CimSession для создания постоянного подключения).

Взгляд архитектора: Выбирать правильный инструмент — это и есть архитектура. Get-WmiObject — это "костыль" из эры Server 2003. Get-CimInstance — это стандарт для современной, автоматизированной Windows-инфраструктуры.

#windows #powershell #automation #wmi #cim #sysadmin #гайд #musthave
🔥1
Windows: Охота на "невидимых". Скрипт для поиска WMI-персистентности

Боль: Ваш EDR/антивирус молчит, но сервер "тормозит" и генерирует странный трафик. Вы не находите .exe или подозрительных служб. Вероятно, вы столкнулись с "бесфайловой" (Fileless) атакой.

Один из любимых методов хакеров — WMI Event Subscription. Злоумышленник "говорит" WMI: "Когда любой пользователь залогинится, пожалуйста, запусти этот powershell -enc ...". Это невидимая автозагрузка.

Реакция админа: Переустановить ОС.
Реакция архитектора: Найти и удалить подписку.

Этот PowerShell-скрипт (на CIM) сканирует "сердце" WMI (`root\subscription`) и показывает вам все активные WMI-подписки.

Код скрипта:
PowerShell

Write-Host "--- Начинаю поиск постоянных (Permanent) WMI-подписок ---" -ForegroundColor Cyan

# Мы ищем три компонента, из которых состоит атака:
# 1. __EventFilter: "За каким событием следить?" (e.g., "logon")
# 2. __EventConsumer: "Что запустить?" (e.g., "powershell.exe ...")
# 3. __FilterToConsumerBinding: "Как они связаны?"

$Namespace = "root\subscription"

Write-Host "`n[+] 1. Поиск Фильтров (__EventFilter):" -ForegroundColor Yellow
$Filters = Get-CimInstance -Namespace $Namespace -ClassName "__EventFilter"
$Filters | Select-Object Name, Query

Write-Host "`n[+] 2. Поиск 'Потребителей' (__EventConsumer):" -ForegroundColor Yellow
$Consumers = Get-CimInstance -Namespace $Namespace -ClassName "__EventConsumer"
$Consumers | Select-Object Name, __CLASS

Write-Host "`n[+] 3. Поиск Связей (Binding):" -ForegroundColor Yellow
$Bindings = Get-CimInstance -Namespace $Namespace -ClassName "__FilterToConsumerBinding"
$Bindings | Select-Object Filter, Consumer

Write-Host "`n--- Проверка завершена ---"
Write-Host "Задача: Вручную проверьте все, что не является 'Microsoft' или вашим ПО (e.g., 'Dell')."

Взгляд архитектора: Это — проактивный Threat Hunting. 99% админов никогда не заглядывают в WMI-подписки. Вы должны. Если вы видите здесь что-то "неродное", особенно CommandLineEventConsumer — вы, скорее всего, нашли активную угрозу.

#windows #powershell #security #threat_hunting #wmi #cybersecurity #скрипты #architect
🎯 WMI Filters: Групповые политики с лазерным прицелом

Вам нужно применить политику только к ноутбукам с Windows 11. Создавать отдельную OU (Organizational Unit) и переносить туда компьютеры? Долго и ломает структуру.

Используйте WMI-фильтры. Это SQL-запросы к железу перед применением политики.

Сценарий: Применить GPO только к Windows 11/Server 2025.

1. В Group Policy Management идем в раздел WMI Filters -> New .

2. Пишем запрос:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "10.0.26%" AND ProductType="1"

(Где ProductType="1" — это рабочие станции, а не серверы).

3. Привязываем фильтр к нужной GPO.

Теперь политика "постучится" на Windows 10, увидит несоответствие версии и пройдет мимо. Чисто, красиво, профессионально.

#windows #gpo #wmi #activedirectory #sysadmin #automation #filtering