Domain Persistence: атака на учетную запись компьютера

Дата: 08.02.2022. Автор: Игорь Б. Категории: Статьи по информационной безопасности
Domain Persistence: атака на учетную запись компьютера
Изображение: Christina Morillo (Pexels)

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

Введение

Часто при конфигурации Active Directory системные администраторы забывают о возможном вреде, который может быть нанесен при получении несанкционированного доступа к учетной записи локального администратора системы, назначенной определенному пользователю. Компании часто считают эту «дыру» в защите нечто необратимым, поскольку она облегчает выполнение различных процессов, таких как установка новых программ в системе. Подобный доступ снижает нагрузку на IT-отдел, поэтому часто системные администраторы предоставляют пользователям возможность получать доступ к локальной учетной записи админа. Ниже в статье читатели смогут увидеть, как хакер, скомпрометировавший систему с активной учетной записью локального администратора и учетной записью компьютера, добавленной в группу администраторов домена, может использовать полученный доступ для дампа хешей. Это позволит ему повысить свои привилегии до контроллера домена. Более того, некоторые учетные записи компьютеров могут использоваться хакерами для сохранения Domain Persistence.

Принцип осуществления атаки

Принцип осуществления атаки может быть описан следующим образом:

  • предварительная компрометация пользователя, имеющего учетную запись локального администратора;
  • использование mimikatz для дампа NTLM-хеша учетной записи «Harshit», которая имеет доступ к группе администраторов домена;
  • проведение атаки для просмотра файлов контроллера домена;
  • добавление новой учетной записи компьютера с привилегиями администратора;
  • изменение параметров управления учетными записями пользователей, чтобы сделать новую учетную запись компьютера контроллером домена Active Directory;
  • достижение Domain Persistence.

Важно отметить, что жертва, которую пользователь скомпрометировал, имеет доступ к учетной записи «Harshit» (она же учетная запись компьютера), что была добавлена в группу администраторов домена. У жертвы также активна учетная запись локального администратора, доступ к которой у хакера есть.

Учетные записи компьютеров и учетные записи пользователей

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

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

  • Пароль учетной записи компьютера генерируется случайным образом и меняется каждые 30 дней
  • При создании учетной записи пользователя также создается связанная с ней учетная запись компьютера
  • Пользователь, если он имеет надлежащие права, может создать несколько учетных записей компьютера. Возможное значение по умолчанию равняется 10

Учетные записи компьютеров в основном используются системными администраторами для классификации лесов и эффективного управления ими. Наиболее распространенным применением является категоризация групп ИБ. Этот вопрос, однако, выходит за рамки данной статьи.

Учетные записи компьютеров можно идентифицировать с помощью символа «$» в конце.

Эскалация домена с помощью Mimikatz

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

Команда «net group “domain admins” /domain» поможет просмотреть всех администраторов домена, присутствующих в AD. Аналогичным образом работает команда «net localgroup administrators /domain» в PowerShell. Хакер узнал, что учетная запись «Harshit» является частью группы администраторов домена. Это можно проверить с помощью данной команды:

net user Harshit

Как видно, учетная запись компьютера «Harshit» добавлена в группу администраторов домена.

Domain Persistence: атака на учетную запись компьютера

Хакер может использовать доступ локального администратора для запуска mimikatz и дампа NTLM-хеша учетной записи компьютера «Harshit».

privilege::debug
sekurlsa::logonPasswords
Domain Persistence: атака на учетную запись компьютера

Хакер заполучил NTLM-хеш учетной записи «Harshit». Он может использовать этот хеш для проведения атаки для повышения привилегий до администратора домена.

sekurlsa::pth /user:harshit /domain:ignite.local /ntlm:64fbae31cc352fc26af97cbdef151e03

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

dir \\dc1.ignite.local\c$\Users\Administrator
Domain Persistence: атака на учетную запись компьютера

Сейчас существует несколько способов полностью скомпрометировать DC. Хакер может загрузить exe-файл и получить Reverse Shell или просто произвести дамп файла SAM. Стоит больше сосредоточиться на том, как можно достигнуть Domain Persistence, используя учетную запись компьютера.

Получение Domain Persistence с помощью powermad

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

Немного погуглив, хакер нашел отличный скрипт PowerShell под названием «powermad», который позволил бы ему добавить учетную запись компьютера. Можно использовать PowerShell и IWR, чтобы доставить его в систему и использовать.

Хакер может создавать учетные записи компьютеров. Системный администратор может изменить настройки и запретить данное действие.

Win+r -> adsiedit.msc
Domain Persistence: атака на учетную запись компьютера

Откроется AD Service Interface Editor. Нужно выбрать необходимый лес и перейти к его свойствам.

Domain Persistence: атака на учетную запись компьютера

Хакер может просмотреть редактор атрибутов (который представляет собой набор объектов, редактируемых с помощью PowerShell и вручную с помощью графического интерфейса) и увидеть атрибут «ms-DS-MachineAccountQuota». Как видно, значение равно 10, поэтому данный пользователь может без проблем создать 10 учетных записей компьютеров.

Это также можно проверить с помощью скрипта «powermad». Далее пользователь импортирует модуль powermad psm1 и создает новую учетную запись компьютера под названием «noob».

powershell -ep bypass
Import-Module .\Powermad.psm1
New-MachineAccount -MachineAccount noob -Domain ignite.local -DomainController dc1.ignite.local

Вот так просто! Новая учетная запись компьютера была добавлена.

Domain Persistence: атака на учетную запись компьютера

Это можно проверить в AD, выполнив команду «get-ADComputer» и использовав «*» в качестве фильтра.

Как можно заметить, добавлена учетная запись «noob» (стоит обратить внимание, что имя учетной записи «noob$» указывает на то, что это учетная запись компьютера).

Domain Persistence: атака на учетную запись компьютера

Под AD можно увидеть, что «noob» была добавлена в группу «Domain Computers».

Domain Persistence: атака на учетную запись компьютера

Атрибут userAccountControl

У хакера есть атрибуты «MachineAccountQuota» и «Account Control». Последний можно просмотреть по следующему пути: «AD server manager->tools->AD users and groups->computers->noob».

Сперва нужно выбрать «view->advanced features first».

Теперь пользователь сможет увидеть редактор атрибутов. В этом большом списке есть параметр «Account Control», имеющий значение 4096.

Это значение 4096 является эквивалентом ASCII шестнадцатеричного значения 0x1000, что классифицирует эту учетную запись компьютера как участника группы «Domain Computers».

Domain Persistence: атака на учетную запись компьютера

Чтобы сделать эту учетную запись компьютера администратором домена, нужно изменить значение на 8096 (0x2000 в шестнадцатеричном формате).

Это можно сделать с помощью PowerShell.

Чтобы просмотреть этот атрибут с помощью PowerShell, следует ввести следующую команду:

Get-ADComputer noob -pro name,primarygroupid, useraccountcontrol

Выполнение команды показывает хакеру, что в настоящее время установлено значение 4096.

Domain Persistence: атака на учетную запись компьютера

Можно изменить его с помощью команды «Set-ADComputer»:

Set-ADComputer noob -replace @{“useraccountcontrol” = 8192}
Get-ADComputer noob -pro name, primarygroupid, useraccountcontrol

Теперь можно увидеть, что эта учетная запись компьютера была добавлена в группу «Domain Controllers», а значение было изменено на 8192.

Domain Persistence: атака на учетную запись компьютера

Это также можно наблюдать и в AD. Стоит обратить внимание на то, что 0x2000 (шестнадцатеричное значение 8192) превратило аккаунт из учетной записи WORKSTATION_TRUST_ACCOUNT в учетную запись SERVER_TRUST_ACCOUNT.

Domain Persistence: атака на учетную запись компьютера

Учетная запись «noob» теперь стала контроллером домена.

Domain Persistence: атака на учетную запись компьютера

Хакер теперь может выполнить ряд атак, поскольку данная учетная запись стала контроллером домена и была получена Domain Persistence. Он может произвести дамп хеша новой учетной записи (атака DCSync), осуществить атаки PTH, сгенерировать Golden Ticket.

Заключение

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

Автор переведенной статьи: Harshit Rajpal.

Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.

Об авторе Игорь Б

Представитель редакции CISOCLUB. Добавляю статьи на сайт.
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован.