Не удалось установить доверительные отношения

Сброс пароля локального администратора

На каждом компьютере Windows, подключенном к сети, есть встроенная учетная запись администратора. Управление паролем этой учетной записи имеет большое значение, поскольку от этого зависит полный административный доступ к компьютеру. Групповая политика позволяет задавать пароль учетной записи администратора, но объект групповой политики (GPO) не обеспечивает его безопасного хранения. Для защиты пароля применяется запутывание кода, обфускация, а не шифрование. Установка административных паролей с использованием групповой политики идет вразрез с рекомендациями Microsoft, поскольку это считается небезопасным.

Одним из возможных решений проблемы является применение сценария, реализующего сброс пароля администратора на компьютерах. Это относительно просто сделать с помощью сценария на VBScript (см. листинг 1) или Windows PowerShell (см. листинг 2). Однако такой метод имеет два недостатка:

  1. Пароль сохраняется как открытый текст прямо в сценарии, что еще менее безопасно, чем обфускация, предусматриваемая групповой политикой.
  2. В сценарии жестко закодировано имя учетной записи, Administrator, поэтому если политика предусматривает переименование учетной записи администратора или если используется неанглоязычная версия Windows, сценарий придется изменить.

Обе проблемы решаются с помощью PowerShell. Сначала рассмотрим первую из них.

Microsoft. NET Framework имеет объект SecureString – безопасное представление строки. Многие команды PowerShell и объекты. NET задействуют объекты SecureString вместо строк открытого текста. Например, параметр -AccountPassword команды New-ADUser использует аргумент SecureString. Объект SecureString легко создать с помощью команды Read-Host с параметром -AsSecureString. Ниже приведен пример команды, маскирующей строку на экране во время ее ввода и сохранения в объекте SecureString:

PowerShell не позволяет напрямую восстанавливать защищенную строку, сохраненную в объекте SecureString, то есть извлекать ее в виде открытого текста, однако это может делать функция ConvertTo-String (см. листинг 3). С помощью. NET Framework защищенная строка, сохраненная в объекте SecureString, копируется и преобразуется в базовую строку (BSTR). Затем BSTR копируется и преобразуется в открытый текст, сохраняемый в объекте. NET String.

После этого BSTR стирается из памяти. Это необходимо, так как BSTR относится к данным неуправляемого типа, а это означает, что. NET Framework не удаляет данные из памяти автоматически. В заключение функция выводит объект String, то есть защищенную строку в виде открытого текста.

При создании новых паролей полезно организовать два запроса (ввод и подтверждение) и сравнивать строки для контроля их идентичности. Именно эту задачу решает сценарий New-SecureString.ps1 (см. листинг 3), который запрашивает два объекта SecureString и сравнивает строки с помощью функции ConvertTo-String. Если строки не совпадают, сценарий повторяет запрос. В заключение выводится объект SecureString. На экране 1 показан сценарий в действии.

Ввод и?подтверждение нового пароля
Экран 1. Ввод и? подтверждение нового пароля

PowerShell позволяет конвертировать объект SecureString в зашифрованную стандартную строку, которую можно безопасно хранить и повторно использовать. Такую возможность предусматривают команды ConvertFrom-SecureString и ConvertTo-SecureString. ConvertFrom-SecureString преобразует объект SecureString в зашифрованную стандартную строку, а ConvertTo-SecureString – зашифрованную стандартную строку в объект SecureString.

Команда ConvertFrom-SecureString реализует шифрование с помощью API-интерфейса защиты данных Windows (DPAPI) или заданного ключа шифрования (с использованием параметра -Key или -SecureKey). Если параметр -Key или -SecureKey опущен, то используется API-интерфейс защиты данных Windows (DPAPI). На практике это означает, что зашифрованная строка может быть расшифрована только под той учетной записью, под которой она была зашифрована. Если сохранить зашифрованную строку в файл, то попытка расшифровать ее под другой учетной записью закончится неудачей.

На экране 2 показан пример создания, шифрования и расшифровки объекта SecureString. Первая команда создает объект SecureString. Вторая преобразует объект SecureString в зашифрованную стандартную строку и записывает ее в текстовый файл. Третья команда (Get-ContentEncPass.txt) выводит зашифрованное содержимое текстового файла. Четвертая расшифровывает пароль и сохраняет его во второй объект SecureString (переменная $secureString2). Последняя команда показывает, что переменная $secureString2 действительно содержит объект SecureString.

Создание, шифрование и расшифровка объекта SecureString
Экран 2. Создание, шифрование и расшифровка объекта SecureString

На экране 2 пароль шифруется без применения параметров -Key и –SecureKey, поэтому его можно расшифровать только под той же учетной записью. На экране 3 показан результат попытки войти в систему под другой учетной записью и расшифровать зашифрованный пароль. Как видите, расшифровка завершается отказом, и PowerShell выдает ошибку.

Ошибка расшифровки пароля под другой учетной записью
Экран 3. Ошибка расшифровки пароля под другой учетной записью

Таким образом, чтобы решить проблему хранения паролей в виде открытого текста в сценарии, можно создать объект SecureString, содержащий пароль, зашифровать его с помощью команды ConvertFrom-SecureString (как зашифрованную стандартную строку) и сохранить в текстовый файл. При необходимости зашифрованный пароль можно расшифровать и преобразовать обратно в объект SecureString с помощью команды ConvertTo-SecureString.

Теперь переходим ко второй проблеме. Как отмечалось выше, все компьютеры Windows имеют встроенную учетную запись Administrator, но эта учетная запись не всегда именуется так. Неанглоязычные версии Windows для данной учетной записи используют другое имя. Кроме того, учетная запись может быть переименована вручную или с помощью политики. Поскольку на разных системах имя может различаться, лучше использовать сценарий, который программным способом выясняет правильное имя учетной записи.

Каждая учетная запись имеет идентификатор SID, остающийся неизменным на протяжении всей ее жизни. Пример SID: — S-1-5-21-4535438673-234387905-476317865-1004. Часть SID за последним дефисом (-) называется относительным идентификатором (RID). В нашем примере учетная запись имеет RID -1004. Часть SID до RID определяется доменом или компьютером, на котором находится учетная запись.

Проблема в том, что локальная учетная запись не имеет свойства, заключающего в себе копию строки SID. Вместо этого у локальной учетной записи есть свойство objectSid – массив байтов, а не строка. Чтобы преобразовать значение objectSid в строку, можно создать объект SecurityIdentifier с использованием свойства objectSid в качестве входных данных. Этот метод реализован в сценарии Get-AdminAccount.ps1 (см. листинг 4). На вход берутся все дочерние объекты с текущего компьютера, а объекты, не являющиеся пользователями, пропускаются. Callout A выделяет создание объекта SecurityIdentifier из свойства objectSid. Если свойство Value объекта SecurityIdentifier (строковое представление идентификатора SID) оканчивается на 500, это означает, что учетная запись администратора найдена. Найдя учетную запись администратора, сценарий выводит ее имя и SID и выходит из цикла foreach по оператору break. Пример выходных данных сценария показан на экране 4.

Найденное имя учетной записи администратора
Экран 4. Найденное имя учетной записи администратора

Таким образом, проблема, связанная с возможностью другого имени у встроенной учетной записи администратора, решается перебором всех объектов пользователей на компьютере, для каждого из которых создается объект SecurityIdentifier. Встроенная учетная запись администратора – это тот объект SecurityIdentifier, у которого свойство Value оканчивается на 500.

Восстановить доверительные отношения путём повторного ввода в домен

Самый долгий, но самый верный способ, который поможет восстановить доверительные отношения с доменом при любом раскладе! Работет железебетонно ?.

Открываем свойства системы Win + R sysdm.cpl Enter и переходим в Изменение имени компьютера или домена через кнопку изменить. . Возвращаем компьютер в любую рабочую группу (придумываем сами), сохраняемся без перезагрузки. Теперь повторно вводим компьютер в домен и перезагружаемся чтобы восстановить доверительные отношения с доменом.

Выводим компьютер из домена

Переименование учетной записи администратора в первом домене AD

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

Было написано много статей на тему, как правильно задать политику паролей для домена, чтобы снизить поверхность атак для хакеров. До тех пор, пока такие меры не были приняты, ваша сеть уязвима. Поэтому, в доменной политике по умолчанию (Default Domain Policy) настройки политики для паролей должны быть заданы так, как изображено на рисунке 1.

112.jpg

Здесь некоторые пояснения для настройки этих политик:

Policy Setting (настройка политики) Minimum Value (минимальное значение) Secure value (безопасное значение)
Min Password Age (минимальный возраст пароля) 1 1
Max Password Age (максимальный возраст пароля) 180 45
Min Password Length (минимальная длина пароля) 8 14+
Password Complexity (сложность пароля) Enabled (включено) Enabled (включено)

Командлет PowerShell 3.0

В отличие от утилиты Netdom, PowerShell 3.0 входит в состав системы начиная с Windows 8 / Server 2012, для более старых систем его можно установить вручную, поддерживаются Windows 7, Server 2008 и Server 2008 R2. В качестве зависимости требуется Net Framework не ниже 4.0.

Точно также войдите на системе, для которой нужно восстановить доверительные отношения, локальным администратором, запустите консоль PowerShell и выполните команду:

  • Server — имя любого контроллера домена
  • Credential — имя домена / учетной записи администратора домена

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

trust-relationship-failed-005.jpg

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

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

Администрирование учетной записи компьютеров в Active Directory.

Переименование компьютера в AD.

Запускаем командную строку и с помощью команды Netdom переименовываем компьютер в AD:

Netdom renamecomputer /Newname:

Пример: Netdom renamecomputer COMP01 /Newname: COMP02

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

1 Удалить учетную запись компьютера с помощью оснастки «Active Directory – пользователи и компьютеры«. Запускаете оснастку «Active Directory – пользователи и компьютеры» находите необходимый компьютер нажимаете не нем правой кнопкой мыши, в контекстном меню выбираете «Удалить«, подтверждаете удаление

2 Удалить компьютер можно с помощью команды DSRM:

DSRM CN=COMP001,OU=Moscow,OU=Departments,DC=pk-help,DC=com
.

Устранение ошибки «Не удалось установить доверительных отношений между этой рабочей станцией и основным доменом».

Иногда при попыдке войти в компьютер пользователь получает сообщение «Не удалось установить доверительных отношений между этой рабочей станцией и основным доменом«. Это ошибка возникает при отказе в работе безопасного канала между машиной и контроллером домена. Что бы это устранить необходимо сбросить безопасный канал. Можно воспользоваться одним из методов:

1 Зайти оснастку «Active Directory – пользователи и компьютеры», найти проблемный компьтер, нажать на нем правой кнопкой мыши и выбрать «Переустановить учетную запись» (Reset Account). После этого компьютер следует заново присоединить к домену и перезагрузить.

2 С помощью команды Netdom:

Netdom reset /domain /User0 /Password0 без кавычек <>

Пример: Netdom reset COMP01 /domain pk-help.com /User0 Ivanov /Password *****
Перезагрузка компьютера не нужна.

3 С помощью команды Nltest:

Пример:Nltest /server:Comp01 /sc_reset:pk-help.comad1
Перезагрузка компьютера не нужна.

Как создать учетную запись компьютера в AD

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

Создание учетной записи компьютера с помощью ADUC

Запустите ADUC (dsa.msc).

Перейдите к OU, в которой вы хотите хранить такие объекты, щелкните правой кнопкой мыши на этой OU -> New-> Computer:

Или вы можете сделать это, нажав на Action -> New -> Computer.

В окне New Object – Computer введите имя компьютера и имя pre Windows 2000 в соответствии с вашей политикой именования. Выберите, какая группа может ввести эту машину в домен и нажмите OK.

Поздравляю учетная запись компьютера создана!

Создание учетной записи компьютера с помощью ADAC

Запустите ADAC(dsac.exe), щелкните правой кнопкой мыши на имени домена, выберите New->Computer. Появится окно Create Computer, где вам нужно ввести имя компьютера, имя NetBIOS, в соответствии с вашей политикой именования. Укажите OU, где вы хотите хранить компьютер, нажав на Change. Вы также можете указать, какая группа может ввести этот компьютер в домен и защитить его от удаления. В конце нажмите OK.

Создание учетной записи компьютера с помощью Cmd.exe

Для этой задачи нам необходимо использовать dsadd.exe. Используйте следующую команду для создания объекта компьютера в Active Directory:

dsadd.exe computer «CN=WKS033,CN=Computers,DC=office,DC=local»

Создание учетной записи компьютера с помощью PowerShell

Используйте следующие строки кода PowerShell для создания учетной записи компьютера с именем «WKS033» в домене office.local.

Import-Module ActiveDirectory
New-ADComputer -Name «WKS033″ -sAMAccountName » WKS033″ -Path «CN=Computers,DC=office,DC=local»

Групповая политика LAPS.

Необходимо создать новый объект GPO (групповых политик) и назначить его на OU, в которой содержатся компьютеры, на которых мы хотим управлять паролями локальных администраторов.

Создадим политику с именем Password_Administrador_Local следующей командой:

Создание групповой политики

Откроем на редактирование созданную политику и настроим ее. Для чего перейдём в раздел GPO: Computer Configuration -> Administrative Templates -> LAPS

Редактирование политики LAPS

В этой политики имеются 4 настраиваемых параметра. Настраиваем их следующим образом:

  • Enable local admin password management: Enabled
  • Password Settings: Enabled – в политике задается сложности пароля, его длину и частота изменения
    • Complexity: Large letters, small letters, numbers, specials
    • Length: 12 characters
    • Age: 30 days

    Свойства пароля локального администратора

    Далее назначаем созданную политику Password_Administrador_Local на OU Desktops .

    Создание компьютеров при помощи оснастки «Active Directory – пользователи и компьютеры»

    Создание учетной записи компьютера перед тем, как учетная запись будет присоединяться к домену, называется предварительным размещением компьютера. Для того чтобы предварительно разместить учетную запись компьютера при помощи оснастки «Active Directory – пользователи и компьютеры», выполните следующие действия:

    1. Откройте оснастку «Active Directory – пользователи и компьютеры». Для этого вам нужно открыть панель управления, в ней открыть раздел «Система и безопасность», затем «Администрирование» и в появившемся окне открыть оснастку «Active Directory – пользователи и компьютеры». Также вы можете воспользоваться комбинацией клавиш +R для открытия диалога «Выполнить» и в диалоговом окне «Выполнить», в поле «Открыть» ввести dsa.msc, а затем нажать на кнопку «ОК»;
    2. В дереве оснастки разверните домен, в котором будет создаваться учетная запись компьютера, после чего выберите подразделение. Щелкните на этом подразделении правой кнопкой мыши, выберите команду «Создать», а после чего команду «Компьютер»;
    3. В отобразившемся диалоговом окне «Новый объект — Компьютер», в текстовых полях «Имя компьютера» и «Имя компьютера (пред-Windows 2000)» введите имя учетной записи компьютера, причем, во избежание возможных проблем, эти имена должны быть одинаковыми. Так как присоединить компьютер к домену могут только определенные пользователи или группы, в поле «Имя пользователи или группы» вы можете указать конкретного пользователя или группу, которым будет разрешено присоединять данный компьютер к домену. Для того чтобы указать такую учетную запись, нажмите на кнопку «Изменить» и в отобразившемся диалоговом окне «Выбор «Пользователь» или «Группа»» укажите имя пользователя или группы, которым будет разрешено присоединить компьютер к домену. После того как вся информация будет задана, нажмите на кнопку «ОК». Диалоговое окно «Новый объект – Компьютер» отображено ниже:

    *

    Рис. 1. Добавление учетной записи компьютера при помощи графического интерфейса

    Ситуация вторая: у вас есть возможность войти в систему под учетной записью без прав администратора или вовсе нет такой возможности из-за утраченного пароля для входа

    Как мы уже говорили выше, изменять настройки учётных записей для входа в Windows можно только войдя в систему с правами администратора. Поэтому вам не удастся восстановить доступ из консоли, просто войдя в систему. Тем более не получится, если вы вообще не можете попасть на рабочий стол Windows. Однако, решение есть.

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

    • попросить загрузочный диск или флешку у знакомого
    • скачать установочный образ с сайта Microsoft или с торрентов и записать его на носитель любой подходящей программой (например, Rufus или UltraISO).

    Итак, вставляем в наш ПК/ноутбук установочный диск с Windows и загружаемся с него.

    Примечание. Все необходимые действия можно выполнить с любого другого загрузочного диска (LiveCD) или даже просто подключив ваш жёсткий диск к другому компьютеру в качестве внешнего или или второго. Главное получить доступ к файлам и папкам операционной системы, доступ к которой утрачен. Мы же рассмотрим как это сделать с помощью установочного диска с Windows 7.

    Независимо от того, образ с какой версией Windows у вас записан на носитель, любая загрузка с установочного диска начинается с выбора языка, метода ввода и формата даты/времени. Выставляем параметры и жмём кнопку Далее

    SAM 2859 - Сброс пароля при входе в Windows

    В следующем окне выбираем Восстановление системы

    SAM 2860 - Сброс пароля при входе в Windows

    Дожидаемся, пока программа установки найдет установленную операционную систему…

    SAM 2861 - Сброс пароля при входе в Windows

    … и снова жмём кнопку Далее.

    В следующем окне программа предложит вам выбрать способ восстановления Windows. Выбираем пункт Командная строка.

    SAM 2863 - Сброс пароля при входе в Windows

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

    SAM 2865 - Сброс пароля при входе в Windows

    В командной строке вводим команду notepad и жмём Enter.

    SAM 2867 - Сброс пароля при входе в Windows

    Запустится стандартное приложение Блокнот, в котором нам надо будет выбрать в верхнем меню Файл/Открыть:

    SAM 2868 - Сброс пароля при входе в Windows

    SAM 2869 - Сброс пароля при входе в Windows

    Появится окно Проводника Windows для выбора файла, который нужно открыть. Но мы ничего открывать не будем. Данные действия нужны только лишь для того, чтобы получить доступ к файлам и папкам на диске. Если вы используете LiveCD или подключили жёсткий диск к другому компьютеру, то всё гораздо проще — описанные выше действия не потребуются.

    Прежде чем приступить к работе с файлами не забудьте сменить тип файлов с Текстовых документов (*.txt) на Все файлы.

    SAM 2871 - Сброс пароля при входе в Windows

    Далее жмём кнопку Компьютер и находим жёсткий диск с нашей Windows. Его легко распознать по объёму самого диска и по наличию в корне диска папок Windows, Program Files, System, System32. На жёстком диске идем по следующему пути:

    /Windows/System32

    В папке System32 находим файл с именем osk и переименовываем его в osk.old, затем находим файл cmd и переименовываем его в osk. В итоге должно получиться как на фото:

    SAM 2872 - Сброс пароля при входе в Windows

    Еще раз отметим, что все эти манипуляции делались только для того чтобы переименовать эти два файла. С помощью LiveCD или подключив жёсткий диск к другому компьютеру всё гораздо проще — там вы получите прямой доступ к папкам и файлам без «танцев с бубном». С загрузочного же диска с Windows известен только такой способ получить доступ к файловой системе. Можно, конечно, не запускать Блокнот, а сделать всё из командной строки, но это еще дольше и сложнее.

    Для чего мы переименовали файлы osk и cmd?

    Всё одновременно просто и сложно. Файл osk — это программа Экранная клавиатура, которую можно запустить при старте Windows как раз на том этапе, где система запрашивает пароль пользователя. Файл cmd — это консоль Windows, которая нам нужна для работы с учетными записями пользователей. Мы подменяем файл Экранной клавиатуры файлом Консоли и, таким образом, получаем возможность запустить командную строку с нашего жёсткого диска не имея возможности войти в систему с правами администратора. При этом у нас будут эти права и мы сможем сбросить пароли пользователей.

    После переименования файлов osk->osk.old и cmd->osk перезагружаем компьютер с нашего жёсткого диска. В окне входа, где предлагается выбрать пользователя и ввести пароль, нажимаем на кнопку специальных возможностей. Она находится в левом нижнем углу экрана и выглядит как на фото ниже:

    SAM 2864 - Сброс пароля при входе в Windows

    Появится окно выбора параметров, в котором надо поставить галочку возле пункта Ввод текста без клавиатуры (экранная клавиатура) и нажать кнопку Применить

    SAM 2865 1 - Сброс пароля при входе в Windows

    Поскольку в предыдущем действии мы с вами подменили файл экранной клавиатуры файлом командной строки, то запустится уже знакомая нам консоль Windows. Причём, с правами администратора.

    SAM 2866 - Сброс пароля при входе в Windows

    Таким образом, вы не имея пароля для входа и возможности попасть на рабочий стол Windows, сможете включить/отключить любую из имеющихся учетных записей, а также сменить/сбросить пароли пользователей с помощью команды net user, как это описано в самом начале этой статьи.

    Не забудьте после всех операций над учётными записями вновь перезагрузить компьютер с установочного/загрузочного носителя и тем же способом переименовать файлы обратно: вначале файл osk в cmd, затем файл osk.old в osk. С этого момента установочный/загрузочный носитель нам больше не понадобится. Перезагружаем ПК/ноутбук в обычном режиме и входим в систему под восстановленной учётной записью.

    Важные лайфхаки

    • Манипуляции с учётными записями можно производить с рабочего стола, активировав стандартную учётную запись Администратор командой:

    net user Администратор /active:yes

    • По умолчанию у пользователя Администратор нет пароля, но на всякий случай можно сразу его сбросить, чтобы не возвращаться к этому пункту. Команда:

    net user Администратор «»

    • Активировав «учётку» Администратора, можно смело заходить под ней в Windows и использовать инструкции для первого случая, описанного в начале статьи. Не забудьте перед входом переименовать файлы osk и cmd обратно.
    • Если изначально у вас активна только одна учётная запись, и на неё не установлен пароль для входа, то при старте Windows после переименования файлов cmd и osk система загрузится как обычно, без выбора пользователя и ввода пароля. Получится замкнутый круг: вы не сможете изменить параметры учётных записей, поскольку не обладаете правами администратора, а войти в консоль под админом не можете, поскольку система не показывает окно выбора пользователя. Решить эту проблему можно на любом этапе, войдя под своей «учёткой» и установив на нее пароль через командную строку (для любой версии Windows) или через панель управления (для Windows 7):

    Пуск->Панель управления->Учётные записи пользователей->Создание пароля для своей учётной записи

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector