Data/Locales/checks/ru/ADLogonScriptChecks.json
|
{ "_family": "ADLogonScriptChecks.json", "ADSCRIPT-001": { "name": { "value": "Разрешения общего ресурса NETLOGON", "status": "machine-draft" }, "description": { "value": "Общий ресурс NETLOGON содержит сценарии входа, которые выполняются на каждой присоединённой к домену системе при входе пользователя. Чрезмерно широкие разрешения NTFS или общего ресурса на NETLOGON позволяют любому аутентифицированному пользователю изменять сценарии, что даёт возможность массового выполнения кода. Право на запись должны иметь только Domain Admins и уполномоченные администраторы", "status": "machine-draft" }, "recommendedValue": { "value": "Общий ресурс NETLOGON: Authenticated Users только чтение; право на запись ограничено Domain Admins и уполномоченными администраторами GPO", "status": "machine-draft" }, "remediationSteps": { "value": "Проверьте разрешения NTFS на папке NETLOGON (обычно %SystemRoot%\\SYSVOL\\sysvol\\<domain>\\Scripts) на каждом контроллере домена. Удалите разрешения на запись, изменение или полный доступ для неадминистративных групп. Убедитесь, что разрешения общего ресурса соответствуют разрешениям NTFS. Обеспечьте единообразие разрешений на всех контроллерах домена через репликацию DFSR", "status": "machine-draft" } }, "ADSCRIPT-002": { "name": { "value": "Разрешения общего ресурса SYSVOL", "status": "machine-draft" }, "description": { "value": "Общий ресурс SYSVOL содержит шаблоны групповой политики, сценарии и файлы конфигурации, применяемые ко всем присоединённым к домену системам. Неверные разрешения SYSVOL могут позволить неавторизованным пользователям изменять параметры групповой политики, развёртывать вредоносные сценарии или подделывать конфигурации безопасности, затрагивающие весь домен", "status": "machine-draft" }, "recommendedValue": { "value": "Общий ресурс SYSVOL: Authenticated Users только чтение; право на запись ограничено Domain Admins и SYSTEM", "status": "machine-draft" }, "remediationSteps": { "value": "Проведите аудит разрешений NTFS на дереве папок SYSVOL на каждом контроллере домена. Корневая папка SYSVOL должна предоставлять Authenticated Users чтение и выполнение. Вложенные папки GPO должны соответствовать разрешениям, заданным на соответствующем объекте GPC в AD. Запустите dcdiag /test:sysvolcheck для выявления проблем с разрешениями. При необходимости сбросьте разрешения с помощью icacls", "status": "machine-draft" } }, "ADSCRIPT-003": { "name": { "value": "Инвентаризация сценариев входа", "status": "machine-draft" }, "description": { "value": "Инвентаризация всех сценариев входа, на которые ссылаются учётные записи пользователей (атрибут scriptPath), сценариев входа/выхода групповой политики и сценариев запуска/завершения работы обеспечивает видимость всего кода, который выполняется автоматически в среде. Сценарии, существующие в NETLOGON, но ни на что не ссылающиеся, могут быть осиротевшими или индикаторами прошлой компрометации", "status": "machine-draft" }, "recommendedValue": { "value": "Полная инвентаризация всех сценариев входа с документированным назначением, владельцем и датой последнего изменения", "status": "machine-draft" }, "remediationSteps": { "value": "Перечислите все атрибуты scriptPath пользователей с помощью Get-ADUser -Filter {scriptPath -like '*'} -Properties scriptPath. Выведите список всех сценариев, настроенных в GPO, из отчётов GPO. Проинвентаризируйте все файлы в общем ресурсе NETLOGON. Сопоставьте данные, чтобы выявить осиротевшие сценарии, неиспользуемые сценарии и сценарии, на которые ссылаются учётные записи, но отсутствующие в NETLOGON. Задокументируйте назначение и владельца каждого сценария", "status": "machine-draft" } }, "ADSCRIPT-004": { "name": { "value": "Жёстко закодированные учётные данные в сценариях", "status": "machine-draft" }, "description": { "value": "Сценарии входа часто содержат жёстко закодированные учётные данные, включая пароли для подключения сетевых дисков, учётные записи служб, подключения к базам данных и ключи API. Эти учётные данные доступны для чтения всем аутентифицированным пользователям через общий ресурс NETLOGON и представляют собой тривиальную возможность сбора учётных данных для злоумышленников", "status": "machine-draft" }, "recommendedValue": { "value": "Нет жёстко закодированных учётных данных, паролей или ключей API ни в одном сценарии NETLOGON или SYSVOL", "status": "machine-draft" }, "remediationSteps": { "value": "Просканируйте все сценарии в NETLOGON и SYSVOL на предмет шаблонов, указывающих на учётные данные: password, passwd, pwd, credential, secret, apikey, token, connectionstring и подобных ключевых слов. Замените жёстко закодированные учётные данные безопасными альтернативами, такими как Windows Credential Manager, учётные записи gMSA или зашифрованные файлы конфигурации с ограниченным доступом. Немедленно смените любые обнаруженные в сценариях учётные данные", "status": "machine-draft" } }, "ADSCRIPT-005": { "name": { "value": "Использование LOLBins в сценариях", "status": "machine-draft" }, "description": { "value": "Living Off The Land Binaries (LOLBins) представляют собой легитимные исполняемые файлы Windows, которые могут использоваться во вредоносных целях. Их наличие в сценариях входа может указывать на то, что злоумышленник внедрил вредоносные команды, сливающиеся с обычными операциями. Распространённые LOLBins включают certutil, bitsadmin, mshta, regsvr32, rundll32 и wscript, используемые для загрузки или выполнения полезной нагрузки", "status": "machine-draft" }, "recommendedValue": { "value": "Нет использования LOLBins в сценариях входа, кроме документированного и обоснованного эксплуатационной необходимостью", "status": "machine-draft" }, "remediationSteps": { "value": "Просканируйте все сценарии на предмет ссылок на известные LOLBins, включая certutil, bitsadmin, mshta, regsvr32, rundll32, wscript, cscript, msiexec, installutil, regasm, regsvcs, msconfig и control. Проверьте каждое вхождение, чтобы определить, является ли использование легитимным. По возможности замените LOLBins более безопасными альтернативами. Задокументируйте любое использование LOLBins, требуемое эксплуатационной необходимостью", "status": "machine-draft" } }, "ADSCRIPT-006": { "name": { "value": "Пароли открытым текстом в сценариях", "status": "machine-draft" }, "description": { "value": "Сценарии, содержащие пароли открытым текстом в командах net use, строках подключения к базам данных или присваиваниях переменных, раскрывают учётные данные каждому аутентифицированному пользователю домена, который может прочитать общий ресурс NETLOGON. Сюда входят пароли учётных записей служб, учётных записей баз данных и сетевых ресурсов, которые могут обеспечить пути горизонтального перемещения", "status": "machine-draft" }, "recommendedValue": { "value": "Нет паролей открытым текстом ни в одном файле сценария; вся аутентификация использует встроенную безопасность или защищённое хранилище учётных данных", "status": "machine-draft" }, "remediationSteps": { "value": "Найдите во всех файлах сценариев шаблоны, такие как 'net use * /user:', присваивания паролей в PowerShell или batch, строки подключения с Password= или Pwd= и вызовы WScript.Network.MapNetworkDrive с учётными данными. Замените всё использование учётных данных открытым текстом на встроенную аутентификацию Windows, Credential Manager или учётные записи gMSA. Немедленно смените все раскрытые пароли", "status": "machine-draft" } }, "ADSCRIPT-007": { "name": { "value": "Разрешения сценариев с доступом на запись для всех", "status": "machine-draft" }, "description": { "value": "Отдельные файлы сценариев в NETLOGON или SYSVOL, предоставляющие права на запись или изменение неадминистративным пользователям, могут быть изменены любым злоумышленником с учётными данными домена. Даже если разрешения на уровне общего ресурса корректны, чрезмерно широкие разрешения NTFS на уровне файлов для отдельных сценариев создают возможность выполнения кода", "status": "machine-draft" }, "recommendedValue": { "value": "Все файлы сценариев в NETLOGON и SYSVOL доступны для записи только Domain Admins и SYSTEM; нет доступа на запись для Domain Users или Authenticated Users", "status": "machine-draft" }, "remediationSteps": { "value": "Перечислите разрешения NTFS для каждого файла в общем ресурсе NETLOGON и папках сценариев SYSVOL. Выявите файлы, где Domain Users, Authenticated Users, Everyone или другие широкие группы имеют разрешения на запись, изменение или полный доступ. Сбросьте разрешения с помощью icacls, предоставив чтение и выполнение для Authenticated Users и полный доступ только для Domain Admins и SYSTEM", "status": "machine-draft" } }, "ADSCRIPT-008": { "name": { "value": "Ссылки на внешние ресурсы", "status": "machine-draft" }, "description": { "value": "Сценарии входа, ссылающиеся на внешние ресурсы, такие как URL-адреса в интернете, недоменные пути UNC или места облачного хранения, вносят риск цепочки поставок. Если внешний ресурс скомпрометирован, все системы, выполняющие сценарий, загрузят и выполнят вредоносное содержимое. Внешние ссылки также создают возможности для эксфильтрации данных", "status": "machine-draft" }, "recommendedValue": { "value": "Нет ссылок на внешние URL-адреса, интернет-ресурсы или недоменные пути UNC в сценариях входа", "status": "machine-draft" }, "remediationSteps": { "value": "Просканируйте все сценарии на предмет URL-адресов HTTP/HTTPS, ссылок FTP, недоменных путей UNC и URL-адресов облачного хранения (OneDrive, SharePoint Online, Azure Blob, AWS S3). Замените внешние ссылки локально размещёнными копиями на внутренних файловых ресурсах. Если внешние ресурсы необходимы, внедрите проверку целостности (проверку хешей) перед выполнением. Задокументируйте все одобренные зависимости от внешних ресурсов", "status": "machine-draft" } }, "ADSCRIPT-009": { "name": { "value": "Некорректно сформированные сценарии", "status": "machine-draft" }, "description": { "value": "Сценарии с синтаксическими ошибками, проблемами кодировки или повреждённым содержимым могут беззвучно завершаться сбоем при выполнении, что приводит к неполной настройке безопасности или отсутствующим подключениям дисков. Некорректно сформированные сценарии также могут указывать на подделку, когда злоумышленник изменил сценарий, но внёс ошибки, или когда проблемы кодировки маскируют внедрённое вредоносное содержимое", "status": "machine-draft" }, "recommendedValue": { "value": "Все сценарии проходят проверку синтаксиса без аномалий кодировки или структурных ошибок", "status": "machine-draft" }, "remediationSteps": { "value": "Проверьте синтаксис сценариев подходящими инструментами: сценарии PowerShell с помощью Test-ScriptFileInfo или PSScriptAnalyzer, файлы batch путём ручного просмотра на предмет незакрытых блоков и недопустимых команд, VBScript с помощью проверки синтаксиса WSH. Проверьте кодировку файлов на предмет неожиданных последовательностей байтов или смешанной кодировки. Проверьте сценарии с необычной кодировкой (UTF-16 с BOM в файлах batch, нулевые байты) на предмет возможного внедрения", "status": "machine-draft" } }, "ADSCRIPT-010": { "name": { "value": "Пути UNC к расположениям вне контроллеров домена", "status": "machine-draft" }, "description": { "value": "Сценарии входа, ссылающиеся на пути UNC, указывающие на файловые ресурсы вне контроллеров домена, создают зависимость от дополнительных систем и расширяют поверхность атаки. Если файловый сервер, на который есть ссылка, скомпрометирован, злоумышленник может изменить общие ресурсы, чтобы доставить вредоносную полезную нагрузку через доверенный механизм сценария входа. Пути UNC также могут использоваться для атак ретрансляции NTLM", "status": "machine-draft" }, "recommendedValue": { "value": "Все пути UNC в сценариях ссылаются на SYSVOL или NETLOGON на контроллерах домена; нет ссылок на файловые ресурсы вне контроллеров домена для содержимого сценариев", "status": "machine-draft" }, "remediationSteps": { "value": "Просканируйте все сценарии на предмет путей UNC (шаблоны \\\\server\\share). Выявите пути, не указывающие на общие ресурсы домена SYSVOL или NETLOGON. По возможности перенесите ресурсы, на которые есть ссылки, в общий ресурс NETLOGON. Для легитимных ссылок на файловые ресурсы убедитесь, что целевые серверы являются активами Tier 0 или Tier 1 с надлежащей защитой. Задокументируйте все одобренные зависимости от путей UNC вне контроллеров домена", "status": "machine-draft" } }, "ADSCRIPT-011": { "name": { "value": "Анализ содержимого сценариев", "status": "machine-draft" }, "description": { "value": "Комплексный анализ содержимого всех сценариев входа может выявить подозрительные шаблоны помимо конкретных проверок, такие как обфусцированный код, команды в кодировке base64, загрузочные механизмы PowerShell, закодированные исполняемые файлы и техники противодействия анализу. Эти шаблоны являются сильными индикаторами внедрения вредоносных сценариев или бэкдоров, установленных злоумышленниками", "status": "machine-draft" }, "recommendedValue": { "value": "Нет обфусцированного кода, закодированной полезной нагрузки, загрузочных механизмов или техник противодействия анализу ни в одном сценарии входа", "status": "machine-draft" }, "remediationSteps": { "value": "Проанализируйте все сценарии на предмет подозрительных шаблонов, включая кодировку base64 (Convert-FromBase64, certutil -decode), загрузочные механизмы (Invoke-WebRequest, Net.WebClient, BitsTransfer), техники обфускации (конкатенация строк, коды символов, подстановка переменных для сокрытия команд) и техники противодействия анализу (таймеры ожидания, проверки среды). Расследуйте и замените любые сценарии, содержащие подозрительные шаблоны", "status": "machine-draft" } } } |