На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Предотвращение блокировки учетных записей

Хакеры и тестировщики защиты систем одинаково не хотят, чтобы учетная запись была заблокирована при подборе пароля. Блокировка делает невозможными дальнейшие атаки на период времени, заданный системным администратором (отметим, что заблокированная учетная запись отличается от отключенной учетной записи, которая остается недоступной, пока ее не включит администратор).
Если был включен аудит, то запись о блокировании заносится в журналы, и обычно адми­нистратор или пользователь может по ней сделать вывод о том, что кто-то пытается восполь­зоваться их учетными записями. Более того, если на машине выполняется программа для вы­явления вторжений на уровне узла, то существует вероятность ее срабатывания, в зависимо­сти от количества неудачных попыток входа в систему, и тогда администратору или группе реагирования на угрозы будет отправлено соответствующее сообщение.
Каким же образом можно определить, приведут ли попытки угадывания паролей к блоки­рованию учетной записи? Наиболее простой способ определить политику блокировки учет­ных записей на удаленной системе — получить информацию об установленной политике с помощью нулевого сеанса. Напомним сказанное в главе 4, "Инвентаризация", — пара­метр -Р программы enum позволяет узнать предельное значение неправильных попыток вво­да пароля до блокирования учетной записи при наличии нулевого сеанса. Это наиболее про­стой способ узнать о возможности блокировки учетных записей.
НА ЗАМЕТКУ
Напоминаем, что получение сведений о политике назначения паролей отключено по умолчанию в системах Windows Server 2003 (кроме контроллеров доменов}.
Если же по некоторым причинам политику паролей невозможно выяснить напрямую, то есть еще один простой способ — начать подбор паролей с учетной записи Guest. По умолчанию в системах Windows Server 2003 учетная запись Guest отключена, но если вы перейдете порог срабатывания блокировки, то в любом случае (даже при отключенной учетной записи) система зарегистрирует это событие. Первый опробованный пароль к случайно выбранному совместно используемому ресурсу 1РС$ на целевом сервере не подошел, после этого можно сделать еще несколько попыток подключения к ресурсу. Число неудачных попыток — предельное значение до срабатывания блокирования, определяется политикой безопасности машины.
C:\>net иве \\victim.сom\ipc$ * /uig-ueet
Type the password for \\mgmgrand\ipc$: System error 1326 has occurred.
Logon failure: unknown user name or bad password.
Как только будет достигнуто предельное значение блокировки записи, каждая следующая попытка будет завершаться сообщением о блокировании, даже если учетная запись отключена.
C:\>net use \\victlm.com\ipc$ * /u:g~uest
Type the password for \\mgmgrand\ipcS; System error 1909 has occurred.

The referenced account is currently locked out and may % not be logged on to.
Также отметим, что при попытке подбора пароля к учетной записи Guest (или любой другой) в случае, если учетная запись отключена, и использован правильный пароль, будет выдано следующее сообщение об ошибке.
C:\>n*t us* \\victim.com\ipe$ ■ /utguest
Type the password for \\mgmgrand\ipc$: System error 1331 has occurred.
Logon failure: account currently disabled.
Удивительно, что по умолчанию в Windows Server 2003 для учетной записи Guest используется пустой пароль. Таким образом, если постоянно пытаться использовать пустой па­роль при подборе для записи Guest, блокировка никогда не сработает (если только пароль не был изменен). Если разрешен вывод сообщений о неудачных попытках входа в систему, то для отключенной записи появится сообщение об ошибке "учетная запись отключена" ("account disabled"), даже при правильном пароле.
О Снижение ценности учетной записи Guest
Конечно же, лучший способ предотвратить подбор паролей — отключить доступ к службам входа в систему (logon), но если этого делать нельзя, то как же предотвратить использование учетной записи Guest удаленными злоумышленниками? Можно удалить ее, воспользовавшись программой DelGuest от Арне Видстрома (Ame Vidstrom), ссылка на эту программу дается в конце главы. Компания Microsoft никаким образом не поддерживает DelGuest, поэтому ее ис­пользование может привести к самым непредсказуемым результатам (хотя в течение года авторы использовали ее на системах Windows 2000 Professional без всяких проблем).
Если учетную запись Guest нельзя удалять, попробуйте ее заблокировать. Тогда подбор паролей К этой учетной записи не даст возможности выяснить политику паролей.

Важность служебных учетных записей и записи администратора
В этой главе мы опишем выявление самых разных комбинаций "имя пользовате­ля/пароль", включая попытки доступа к неограниченной в правах учетной записи админист­ратора. Мы не можем не подчеркнуть особую важность защиты этой учетной записи. Один из самых эффективных методов взлома домена, который мы встречали на практике, был осно­ван на взломе единственной машины обычно большого домена, в котором можно с большой вероятностью обнаружить учетную запись администратора с пустым паролем. Сразу после компрометации такой системы опытный хакер загружает на нес свои утилиты, в том числе — программу lsadump2, которую мы рассмотрим в главе8, "Расширение сферы влияния". Программа lsadump2 извлекает пароли тех учетных записей домена, которые подключаются К системе как службы (это еще одно общее свойство для доменов семейства Windows NT). Как только эти пароли будут получены, становится элементарным и взлом контроллеров до­мена путем подключения к ним под видом служб.
В дополнение рассмотрим еще один факт. Ответственные пользователи стараются регу­лярно менять пароли в соответствии с установленной политикой, поэтому подобрать такой пароль довольно трудно, а права пользовательской учетной записи ограничены уровнем дос­тупа пользователя.
А для каких же учетных записей пароли меняются редко? Конечно же, для записей админи­страторов! Они, ко всему прочему, склонны использовать один и тот же пароль на нескольких системах, включая и собственную рабочую станцию. Столь же редко меняются пароли служеб­ных учетных записей и служб резервного копирования. Поскольку все эти учетные записи обычно имеют высокие привилегии, а их пароли меняются значительно реже, чем пароли учет­ных записей пользователей, то именно они становятся мишенью для подбора паролей.
Помните, что в домене систем семейства Windows NT нет совершенно отдельных систем, и один плохо выбранный пароль может разрушить систему защиты всего окружения Windows.
Подбор пароля вручную
После того как при сканировании портов были обнаружены службы и совместно исполь­зуемые ресурсы, системе Windows NT уже довольно сложно выдержать атаку путем подбора пароля (или десяток попыток подбора паролей). Для этой цели применяется следующая про­стая команда.
C:\>net use Wvictim.comMpcS пароль /а:victim.саа\имя_полъзователя System error 1326 has occurred.
Logon failure: unknown user name or bad password-Обратите внимание, что в этом примере было использовано полностью определенное имя пользователя, victim, сот\имд_ пользorателя, которое явным образом указывает атакуе­мую учетную запись. Хотя такая форма команды не всегда необходима, она позволяет избе­жать неожиданностей в некоторых ситуациях, например, когда команда net use запускается из командного интерпретатора, работающего от имени учетной записи LocalSystem.

 

Популярность

10

 

Простота

9

 

Опасность

5

 

Степень риска

8

Эффективность подбора пароля вручную либо стремится к 100 %, либо к нулю, в зависи­мости от количества информации о системе, собранной злоумышленником, и использования в системе одного из вы со ко вероятны к сочетаний "имя пользователя/пароль", которые пере­числены втабл. 5.1.
Таблица 5.1. Наиболее вероятные ко»
Имя учетной записи Пароль
Administrator, admin, root
test, lab, demo
-
имя_лользовагеля backup
arcserve t ivo1i symbiator backupexec
пустой, password, administrator, admin, root, system, имя^машины, имя_домена, название_рабочей_группы
густой, test, lab, password, temp, share, write, full, both, read, files, demo, test, access, user, server, local, имя_машины, имя_доменэ, названии_раоочей_фуппы
густой, welcome, имя_лольэовагеля, наэваниекмлании
backup, system, server, local, имя_машины, ИМЯ_Д0**ена, назва­ние.рабочейгруппы
arcserve, backup tivoli, tmesrvd symbiator, as400 backup, arcada
Заметим, что для всех паролей используются символы нижнего регистра, а поскольку в системах семейства Windows NT учитывается регистр символов пароля, то различные комби­нации регистра символов в приведенных выше паролях тоже могут дать положительный ре­зультат (для имен пользователей регистр не учитывается). Нет необходимости говорить, что эти комбинации не должны использоваться в ваших системах, иначе вы сами рискуете через некоторое время стать жертвой атаки.
НА ЗАМЕТКУ
Защиту от подбора паролей мы обсудим в разделе "Меры противодействия подбору паролей".
Атаки по словарю


Популярность

8

 

Простота

9

 

Опасность

7

Степень риска

8

Естественно, что все старания человека по подбору пароля теряют смысл по сравнению с эффективностью работы компьютера, который намного лучше подходит для выполнения такой повторяющейся задачи. Существует множество методов для автоматизированного под­бора паролей, некоторые из которых мы рассмотрим ниже.
Атаки с использованием циклов for
Пользуясь простой командой FOR, которая встроена в консоль Windows Server 2003, мож­но перебрать почти неограниченное количество сочетаний "имя пользователя/пароль" на удаленной системе при наличии доступных служб аутентификации. Покажем, как работает атака с циклом FOR.
Сначала создаем текстовый файл с парами значений "имя пользователя/пароль", разде­ленными пробелами или знаками табуляции. Содержимое такого файла (назовем его credentials. txt) может иметь следующий вид.
(file: credentials, oct] administrator "" administrator password administrator administrator (и т.д.I
Этот файл будет служить нам словарем, из которого главный цикл for выбирает имена пользователей и пароли, последовательно считывая строки. Термин "атака по словарю" озна­чает использование при поборе паролей заранее вычисленных (подобранных) значений криптографических ключей, в чем и состоит его коренное отличие от атак "в лоб" (brute force attack), при которой вместо подобранных паролей из подготовленного заранее файла или таблицы используются сгенерированные некоторым образом значения.
После этого из каталога, для которого доступен файл credentials . txt, выполняются следующие команды (команды были разделены символами для удобства, что бы не вво­дить все одной строкой).
C:\>FOR /F "toJc«nB=l,2*" ^i in {credentials.txt) -
More? da net use \\ victim. com\IPC$ %-j /u:Vlctim.com\S6i*
More? 2»nul*
More? && echo %±1те% %date4 >> outfile.txt1
More? as echo \\ victim.сои acct:  %i pass: 4j  >> outfile.txt
(Проследите, чтобы в начале строк 3, 4 и 5 был пробел, но не в строке 2). Опишем дейст­вия, выполняемые каждой командой.
т Строка 1. Открывает файл credentials. txt, разбирает каждую строку на отдельные элементы, разделенные пробелом или символом табуляции, на каждой итерации пере­дает первый и второй элементы в тело цикла FOR как значения переменных %i и %j (имя


пользователя и пароль

соответственно).

 

 

■ Строка 2. Повторяет

команду net use,

используя в качестве имени пользователя

и пароля значения, полученные из переменных %i и %j.

 

■ Строка 3. Канал стандартного вывода об ошибках (stderr) перенаправляется на устройство

null, поэтому сообщения о неудачных попытках входа в систему не выводятся на экран (для перенаправления стандартного вывода stdout используйте команду 1»).
■ Строка 4. В файл outf ile. txt добавляется текущие время и дата.
А Строка 5. В файл outfile.txt добавляется имя сервера и успешно подобранные имя пользователя и пароль.
После выполнения этих команд (в случае, если в файле credentials . txt присутствова­ли правильные имя пользователя и пароль) будет создан файл outf ile. txt, который будет выглядеть примерно следующим образом.
c:\>type outfile.txt
11:53:43.42 Wed 05/09/2001
Wvictim.com acct: administrator pass: ""
В системе злоумышленника также останется открытое соединение с атакованным сервером.
C:\>net иве
New connections will not be remembered.
•   Wis t|Hfti3t№"i; Status     Local   Remote Network

 

OK

\\victim. comMPCS

Microsoft Windows Network

 

The command completed successfully.
Этот простой пример предназначен только для демонстрации одного из возможных путей подбора паролей с использованием цикла FOR. Естественно, эту идею можно расширить, если в качестве входных данных использовать информацию, полученную от программы сканирования портов (например ScanLine — см. главу 3, "Предварительный сбор данных и сканирование"), чтобы загрузить список доступных серверов смежных сетей, использовать проверку ошибок и так далее. Тем не менее, главное здесь — простота автоматизации атак подбором паролей с ис­пользованием только команд, встроенных в системы семейства Windows NT. При наличии в системе незащищенных служб аутентификации надо немедленно исправлять ситуацию!
НА ЗАМЕТКУ
Единственный недостаток использования команд net use из командной стро­ки состоит в том, что каждая команда создает отдельный сеанс входа а сис­тему (logon), который на удаленном узле представляется отдельной записью в журнале. При использовании для аутентификации программы с графиче­ским пользовательским интерфейсом попытки подбора пароля в течение од­ного сеанса заносятся в журнал одной записью.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика