Administrator: в поисках сокровищ
Хорошо продуманная стратегия подбора паролей, учитывающая все приведенные выше рекомендации, дает на удивление высокий процент успеха. Однако техника, которая хороша для хакера, подбирающего пароль ради развлечения, вряд ли заинтересует вечно занятого администратора сети, у которого и так хватает забот, чтобы заниматься ручным подбором паролей с целью контроля.
Автоматизированный подбор паролей очень легко выполнить, реализовав единственный цикл FOR с использованием стандартной команды NET USE системы NT. Во-первых, создайте файл с именами пользователей и паролями на основе наиболее вероятных комбинаций, приведенных в табл. 5.1 (или воспользовавшись собственным перечнем). Такой файл может иметь примерно следующий вид (для разделения значений могут использоваться любые символы-разделители; в данном случае – символы табуляции). Обратите внимание, что пустые пароли в правом столбце не указаны.
[file: credentials.txt] password username password Administrator admin Administrator administrator Administrator secret Administrator
…и т.д….
Теперь этот файл можно подать на вход команде FOR следующим образом:
C:\>FOR /F "tokens=l,2*" %i in(credentials.txt)do net use \\target\\IPC$ %i /u:%j
Эта команда построчно анализирует файл credentials .txt, выбирает первые две лексемы из каждой строки, а затем использует первую из них в качестве переменной "i (пароль), а вторую – как переменную %i (имя пользователя) при установке соединения с помощью команды net use с совместно используемым ресурсом IРС$ целевого компьютера. Для получения более подробной информации о команде FOR введите в командной проке FOR /?. Эта команда для хакеров NT является одной из наиболее полезных.
Конечно, имеется много специализированных программ, которые позволяют автоматизировать процессе подбора пароля. В главах 3 и 4 мы уже упоминали программы Legion и NAT (NetBIOS Auditing Tool), которые позволяют автоматизировать процесс подбора пароля. Утилита Legion может не только выполнять сканирование диапазона IP-адресов класса С и выявлять совместно используемые ресурсы. Windows, но и обладает возможностью подбора пароля по заданному словарю.
Программа NAT предоставляет аналогичные возможности, но позволяет одновременно работать с одним компьютером. Однако, поскольку эта утилита запускается из командной строки, ее использование очень легко автоматизировать. В сценарии или командном файле утилита NAT должна подключаться к очередному узду, а затем подбирать пароль как из предопределенного перечня паролей, так и из списка, подготовленного пользователем. Одним из недостатков NAT является то, что как только эта утилита обнаруживает пароль, соответствующий какой-то из учетных записей, она тут же использует эту пару для подключения. Тем самым остальные возможные пароли других учетных записей остаются неизвестными. Ниже приведен пример простого цикла FOR, с помощью которого организуется перебор всех компьютеров сети класса С (Для краткости листинг был отредактирован).
D:\>FOR /L %i IN (1.1.254) DO nat -u userlist.txt -p passlist.txt "92.163.202.>>! >> nat_output.txt [*] – Checking host: 192.168.202.1 [*] – Obtaining list of remote NetBIOS names [*] – Attempting to connect with Username: 'ADMINISTRATOR'Password: 'ADMINISTRATOR' [*] – Attempting to connect with Username: 'ADMINISTRATOR'Password: 'GUEST' … [*] – CONNECTED: Username: 'ADMINISTRATOR' Password: 'PASSWORD' [*] – Attempting to access share: \\*SMBSERVER\TEMP [*]-– WARNING: Able to access share: \\*SM3SERVER\TEMP [*] – Checking write access in: \\*SMBSERVER\TEMP [*] – WARNING: Directory is writeable: \\*SM3SERVER\TEMP [*] – Attempting to exercise.. bug on: \\*SMBSERVER\TEMP