В современных корпоративных средах учетные записи Active Directory являются полезным подспорьем для атакующих. Независимо от того, участвуете ли вы в Red Team проекте, работаете специалистом по тестированию на проникновение или имитируете действия реальных злоумышленников, добыча учетных данных является ключевым этапом для успешного повышения уровня привилегий, расширения поверхности атаки и устойчивого закрепления. Но каким образом злоумышленники собирают эти учетные данные в реальных условиях? Представляем вам NetExec (nxc) — мощный современный инструмент пост-эксплуатации, наследник популярного инструмента CrackMapExec. NetExec разработан для автоматизации и упрощения процесса сбора учетных данных, делая его одним из наиболее эффективных инструментов для Red Team и специалистов по информационной безопасности, работающих в среде Windows и Active Directory.

Что такое NetExec (nxc)?

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

  • память LSASS (пароли в открытом виде и NTLM хэши);

  • реестр Windows и Winlogon ключи;

  • браузеры, Wi-Fi и SSH клиенты;

  • пароли LAPS, хэши из NTDS.dit;

  • Group Managed Service Accounts (gMSA);

  • сторонние инструменты, такие как PuTTY, mRemoteNG и Notepad++.

В данном руководстве мы рассмотрим варианты использования NetExec для получения доступа к учетным данным в уязвимой среде Active Directory. Каждый этап отражает реальные тактические приемы, часто используемые при тестировании защищенности компаний.

Почему это важно для красных и синих команд?

Для представителей Red Team данное руководство демонстрирует, как эффективно применять NetExec для выявления и эксплуатации слабых конфигураций, при имитации поведение реального злоумышленника.

Для защитников и SOC оно подчеркивает ключевые возможности обнаружения и варианты неправильных настроек, которые часто остаются незамеченными, включая:

  • хранение учетных данных в открытом виде;

  • неправильное использование служебных аккаунтов;

  • плохое управление профилями Wi-Fi и реестром;

  • избыточные права пользователей (например, членство в группе операторов резервного копирования).

Содержание

  • Получение локальных хэшей SAM

  • Проверка валидности полученных хэшей

  • Извлечение секретов LSA

  • Winlogon

  • Дамп учетных записей DPAPI

  • Извлечение учетных данных из памяти LSASS с помощью LSASSY

  • Использование модуля nanodump для дампа памяти LSASS

  • Извлечение сохраненных учетных данных из конфигурации mRemoteNG

  • Доступ к файлам приватных ключей PuTTY

  • Чтение журналов сеансов Notepad++

  • Получение истории команд PowerShell

  • Анализ файлов конфигурации WinSCP

  • Выгрузка паролей VNC

  • Считывание профилей Wi-Fi / PSK

  • Поиск операторов резервного копирования

  • Дамп NTDS.dit

  • Извлечение учетных данных gMSA

  • Получение пароля LAPS с помощью NetExec (nxc)

  • Рекомендации по смягчению угроз

Вы готовы прокачать навыки извлечения учетных данных? Давайте погрузимся в процесс извлечения учетных данных с помощью NetExec различными способами.

Получение локальных хэшей SAM

nxc smb 192.168.1.80 -u ieuser -p 123 –sam

Эта команда инструктирует NetExec подключиться к целевой системе через SMB и извлечь NTLM хэши паролей из локальной базы данных SAM, хранящей учетные данные локальных пользователей.

Доступ к хэшам SAM позволяет злоумышленникам осуществлять оффлайн-подбор паролей. Также возможна атака Pass-the-Hash (на системах с одинаковыми локальными учетными записями).

Тестирование хэша в качестве учетных данных:

impacket-psexec ieuser@192.168.180 -hashes:3dbde697d71690a769204beb12283678

Данная команда использует добытый NTLM-хэш и позволяет удаленно выполнять команды, обеспечивая горизонтальное перемещение и повышение привилегий в сети.

Извлечение секретов LSA

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

nxc smb 192.168.1.80 -u ieuser -p 123 --lsa

Извлечение данных Winlogon

nxc smb 192.168.1.80 -u ieuser -p 123 -M reg-winlogon

Эта команда использует модуль reg-winlogon утилиты NetExec для чтения ключей реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, управляющих автоматическим входом в систему Windows. Значения ключей, такие как AutoAdminLogon, DefaultUsername и DefaultPassword, могут содержать учетные данные в открытом виде, делая их ценной целью для сбора учетных данных, особенно в неправильно настроенных средах, где включен автоматический вход.

Дамп учетных данных DPAPI

DPAPI (Data Protection API) — это встроенная в Windows технология, обеспечивающая надежное хранение секретных данных пользователей, таких как платежные данные, пароли браузеров, учетные записи Outlook, RDP, Wi-Fi и кэшированные доменные учетные данные. DPAPI шифрует их с использованием уникальных ключей, привязанных к конкретному пользователю и хранящихся локально.

nxc smb 192.168.1.80 -u ieuser -p 123 --dpapi

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

В результате выполнения команды получены:

  • Дамп Windows Credential Manager («raj:Password@1»).

  • Восстановленный пароль входа в Facebook из браузера Microsoft Edge.

  • Пароль от аккаунта LinkedIn из браузера Firefox.

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

Извлечение учетных данных из LSASS с помощью LSASSY

nxc smb 192.168.1.80 -u ieuser -p 123 -M lsassy

Эта команда задействует модуль lsassy инструмента NetExec для извлечения учетных данных из службы LSASS (Local Security Authority Subsystem Service), управляющей процессами входа в систему и хранения чувствительных данных, включая хэши паролей и билеты Kerberos. Модуль автоматизирует дамп учетных данных различными способами: с помощью утилиты Procdump; через инъекцию Comsvcs.dll; с помощью MiniDumpWriteDump API.

Почему это важно:

Служба LSASS хранит в памяти конфиденциальные данные, включая NTLM хэши, пароли в открытом виде (если включен механизм WDigest), билеты Kerberos и кэшированные учетные данные. Сбор этой информации предоставляет атакующим новые возможность дальнейшей эксплуатации, особенно если в текущий момент залогинились администраторы домена или другие пользователи с повышенными привилегиями.

Извлечение содержимого памяти LSASS с модулем Nanodump

nxc smb 192.168.1.80 -u ieuser -p 123 -M nanodump

Данная команда применяет модуль nanodump инструмента NetExec для удаленного получения содержимого LSASS с использованием утилиты NanoDump — современного и скрытого средства дампа памяти LSASS, разработанного специально для обхода защитных механизмов вроде Windows Defender, AMSI и ограничений доступа к службе LSASS.

Почему это эффективно:

NanoDump является высокоэффективным инструментом получения учетных данных благодаря своей способности обходить детекты антивирусных решений и EDR-систем, избегать ограничения доступа и возможности получить файл дампа на ПК атакующего, для последующего анализа вне системы. Это делает этот метод менее заметным и более надежным по сравнению с остальными.

Извлечение хранимых учетных данных из конфигурации mRemoteNG

nxc smb 192.168.1.80 -u ieuser -p 123 -M mremoteng

Этот модуль нацелен на приложение mRemoteNG, популярное среди системных администраторов как менеджер удаленных подключений. Модуль mremoteng инструмента NetExec ищет конфигурационные файлы типа confCons.xml, расшифровывает содержащиеся там учетные данные с использованием известных статичных ключей и выводит их в читаемом виде для дальнейшего использования.

Почему это эффективно:

Администраторы часто сохраняют учетные данные от высокопривилегированных УЗ и повторно используют пароли в менеджерах удалённых сессий ради удобства. Извлечённые таким образом УЗ, с высокой долей вероятности, могут оказаться администраторами домена, служебными учётками, или иметь повышенные привилегии, что позволит перемещаться внутри сети через WinRM, RDP или SSH.

Поиск приватных ключей PuTTY

nxc smb 192.168.1.80 -u ieuser -p 123 -M putty

Эта команда задействует модуль putty инструмента NetExec для поиска и извлечения приватных ключей SSH, используемых клиентом PuTTY — популярным решением для Windows. Команда проверяет как реестр Windows (HKCU\\Software\\SimonTatham\\PuTTY\\Sessions), так и сами файлы на диске (обычно формата .ppk), извлекая сохранённые имена хостов, пользователей и приватные ключи.

Почему это эффективно:

Администраторы часто используют PuTTY для управления серверами Linux и сетевыми устройствами, при этом приватные ключи нередко хранятся с простыми или вовсе отсутствующими паролями-фразами. Если SSH-ключи используются повторно в разных местах, злоумышленники получают SSH доступ без необходимости ввода пароля.

Просмотр выгруженного ключа

cat 'putty_IEUser_UbuntuKey_2025-05-22_175949.sec'

Команда отображает извлечённый приватный ключ. Для проверки извлечённых SSH-клюшей на доступных целях используйте команду ssh -i для Linux или инструменты наподобие Plink или WinSCP для Windows.

Чтение журналов сеансов Notepad++

nxc smb 192.168.1.80 -u ieuser -p 123 -M notepad++

Эта команда использует модуль notepad++ инструмента NetExec для поиска данных текущих сеансов, файлов настроек или резервных копий, созданных редактором Notepad++ (широко используемый текстовый редакторо). Хотя сам Notepad++ изначально не предназначен для хранения учетных данных, его автосохранение может случайно сохранить пароли из скриптов, открытых файлов с конфиденциальной информацией или даже буфера обмена.

Почему это важно:

Разработчики и системные администраторы, в процессе работы, могут временно хранить секреты в Notepad++. Файлы восстановления сессии и бэкапы сохраняются даже после закрытия редактора и могут быть получены через SMB (при наличии необходимых прав доступа).

Заметка: Данный шаг помогает углубить разведку в процессе сбора учетных данных. Хотя успех не гарантирован, вы можете найти важные элементы, такие как токены доступа, строки подключения к базам данных, SSH или административные учетные данные в скриптах.

Получение журнала команд PowerShell

nxc smb 192.168.1.80 -u ieuser -p 123 -M powershell_history

Эта команда использует модуль powershell_history инструмента NetExec для извлечения и анализа журналов команд PowerShell с целевой системы пользователя.

По умолчанию PowerShell сохраняет историю введённых команд в следующем месте:

C:\\Users\\<ИмяПользователя>\\AppData\\Roaming\\Microsoft\\Windows\\PowerShell\\PSReadline\\ConsoleHost_history.txt

Почему это важно:

Атакующие, администраторы и разработчики часто используют команды связанные с управлением учетными данными (например, net use с жестко закодированным паролем или команды вида Set-ADAccountPassword и New-ADUser). Если журнал не очищается, эти команды хранятся в логах и могут быть восстановлены, предоставляя доступ к важным данным.

Извлечение конфигурационных файлов WinSCP

nxc smb 192.168.1.80 -u ieuser -p 123 -M winscp

Эта команда использует модуль winscp инструмента NetExec для извлечения профилей WinSCP, которые могут содержать адреса удалённых серверов, имена пользователей, пароли (открытым текстом или в кодировке Base64), а также SSH-ключи. Эти данные могут находиться как в файле WinSCP.ini, так и в реестре Windows. Их наличие потенциально даёт атакующему возможность получать доступ к FTP-, SFTP- и SSH-сервисам, скачивать данные или внедрять вредоносные нагрузки.

Извлечение паролей VNC

nxc smb 192.168.1.80 -u ieuser -p 123 -M vnc

Эта команда задействует модуль vnc инструмента NetExec для поиска сохранённых паролей от VNC на целевом компьютере. Модуль ищет учетные данные в реестре и конфигурационных файлах, используемых клиентами VNC (например, UltraVNC, RealVNC и TightVNC). Проверяются такие местоположения, как:

- HKEY_LOCAL_MACHINE\\SOFTWARE\\ORL\\WinVNC3\\Password

- HKEY_LOCAL_MACHINE\\SOFTWARE\\RealVNC\\vncserver

NetExec пытается дешифровать любые обнаруженные учетные данные.

Почему это важно:

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

Заметка: Получение паролей от VNC позволяет обойти стандартную аутентификацию Windows.

Извлечение учетных данных от Wi-Fi

nxc smb 192.168.1.46 -u administrator -p 123 -M wifi

Команда использует модуль wifi инструмента NetExec для извлечения сохранённых паролей от беспроводных сетей (SSID и PSK) с целевого устройства Windows через PowerShell или чтение соответствующих путей реестра. Это позволяет атакующим проникнуть внутрь корпоративной сетей через Wi-Fi и попробовать полученные учетные данные в других местах.

Поиск операторов резервного копирования

nxc smb 192.168.1.53 -u raj -p Password@1 -M backup_operator

Эта команда использует модуль backup_operator инструмента NetExec для проверки принадлежности пользователя (например, raj) к группе операторов резервного копирования. Аналогично проверяется, имеет ли пользователь право читать защищённые файлы, такие как SAM, SYSTEM, SECURITY и NTDS.dit, доступ к которым обычным пользователям ограничен.

Почему это важно:

Операторам резервного копирования предоставлены полномочия обходить ограничения файловой системы для операций резервного копирования и восстановления. Даже без административных прав участник группы может:

  • Экспортировать базу данных NTDS.dit,

  • Получить доступ к SAM и SYSTEM,

  • Обойти некоторые элементы системной защиты.

Таким образом, обычный пользователь, с правами оператора резервного копирования, становится значимым фактором риска захвата всей доменной среды.

Примечание: Группа операторов резервного копирования относится к категории высокого риска. Она должна рассматриваться как привилегированная группа с регулярным аудитом состава участников.

Выгрузка файла NTDS.dit

nxc smb 192.168.1.53 -u yashika -p Password@1 --ntds

Команда для извлечения файла NTDS.dit, содержащего ключевые данные Active Directory (имена пользователей, хеши паролей NTLM, информацию о группах и подробности доверительных связей доменов). NetExec автоматически создаёт теневую копию диска и экспортирует SYSTEM для расшифровки хешей.

Почему это важно:

Файл NTDS.dit играет ключевую в среде Active Directory. Его получение позволяет проводить оффлайн-подбор паролей, атаки методом Pass-the-hash и полностью контролировать всех пользователей домена, включая администраторов и служебные учётные записи.

Заметка: Дамп NTDS.dit позволяет получить все учетные данные домена, предоставляя возможность взломать слабые хеши, повторно использовать их в атаках Pass-the-Hash или создать Золотой Билет (Golden Ticket) с помощью учетных данных krbtgt.

Извлечение учетных данных gMSA

nxc smb 192.168.1.53 -u komal -p Passwor@1 –gmsa

Команда для выявления Group Managed Service Account (gMSA). Она извлекает имена, криптографические ключи Kerberos и сопутствующие метаданные (если доступ разрешён).

Почему это важно:

Извлечение секрета управляемой учетной записи сервиса (gMSA) позволяет злоумышленникам действовать от его лица, расширяя поверхность атаки.

Извлечение пароля LAPS с помощью NetExec (nxc)

nxc smb 192.168.1.53 -u komal -p Passwor@1 -M laps

Эта команда активирует модуль laps инструмента NetExec для извлечения LAPS (Local Administrator Password Solution — хранит уникальные пароли локальных администраторов Active Directory). Модуль запрашивает атрибут ms-Mcs-AdmPwd объектов компьютер, пытаясь достать действующий пароль локального администратора.

Почему это важно:

Успешное выполнение операции даёт доступ с правами локального администратора к компьютерам под управлением LAPS. Это позволяет повысить уровень привилегий и свободно передвигаться по сети, используя SMB, PSExec, WinRM и другие методы, а также получить полный контроль над устройствами.

Дополнительную информацию по вопросам получения учетных данных можно посмотреть здесь.

Способы защиты:

  • Ограничение доступа по SMB: ограничьте удалённый доступ к реестру и файловым ресурсам для обычных пользователей.

  • Контроль доступ: настройте отправку уведомлений при попытках обращения к компонентам LSA, SAM или реестру через SMB.

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

  • Сократите число ролей: минимизируйте количество членов группы "Операторы резервного копирования" и "gMSA".

  • Следите за подозрительной активностью: выявляйте подозрительные паттерны обращения к конфигурациям WinSCP, PuTTY, VNC.

Еще больше познавательного контента в Telegram-канале — Life-Hack - Хакер

Комментарии (0)