Инструментальные средства обеспечения безопасности

       

Реализация


Winfingerprint основана на графическом интерфейсе пользователя (GUI). Программа может сканировать единичный хост или непрерывный интервал сети. Состав запрашиваемой информации определяется установкой соответствующих отметок в формах. В этом есть только один неясный момент: нажимая кнопку OK, вы подразумеваете команду "сканировать хост". Рисунок 7.1 демонстрирует сканирование с отмеченным флагом NetBIOS.


увеличить изображение
Рис. 7.1.  Сканирование Winfingerprint

Это не главный фокус в использовании Winfingerprint. Но, тем не менее, отметим некоторую полезную информацию.

  • Role. Winfingerprint может определить с некоторой степенью подробности тип сервера и его операционную систему. Идентификаторы первичных контроллеров доменов (PDCs), контроллеров доменов резервирования (BDCs), и любые домены, к которым относится компьютер.
  • Date/Time. Помогает сделать предположения о месте физического размещения сервера. Локальное время сервера также может быть использовано, если вы попытаетесь управлять удаленными заданиями с использованием команды AT.
  • Usernames. Winfingerprint выводит список системных идентификаторов ID (SID) для каждого пользователя. Так можно определить администратора (SID 500).
  • Sessions. Здесь приводится список NetBIOS-имен других систем, которые поддерживают соединение с исследуемой. Часто это помогает уточнить список исследуемых систем BDC, баз данных или администраторов.
  • Services. Полный список служб дает возможность узнать, какие программы установлены и активны.
Примечание. Использование кнопки Save приведет к запросу "Winfingerprint Output", но это всего лишь способ вывести информацию в текстовый файл.

Несмотря на извлекаемое количество информации, Winfingerprint, как все программы с графическим интерфейсом, имеет тот же недостаток - он не может быть запущен под управлением файла параметров. Интерфейс также позволяет задать большой интервал для сканирования, что приведет к получению результата в не слишком удобном формате. Можно использовать Perl-скрипт для анализа результата по ключевым полям, но это будет весьма неудобно для большой сети.


Формат вывода очень похож на вывод команды net user, с несколькими мелкими отличиями, на которые важно обратить внимание. Строки, представленные жирным шрифтом, содержат информацию, которой нет в сообщениях команды net user.

C:\>GetUserInfo.exe administrator GetUserInfo V02.05.00cpp Joe Richards (joe@joeware.net) January 2002 User information for [Local]\administrator User Name Administrator Full Name Description Built-in account for administering the computer/domain User's Comment User Type Admin Enhanced Authority Account Type Global Workstations Home Directory User Profile Logon Script Flags NO_PWD_EXPIRE Account Expires Never Password age in days 249 Password last set 7/6/2001 3:22 PM Bad PWD count 0 Num logons (this machine) 2432 Last logon 3/12/2002 8:24 PM Logon hours All Global group memberships *None Local group memberships *Administrators Completed.

Используя информацию о паролях (возраст, счетчик ошибочно введенных паролей, число входов в систему), вы можете сделать несколько выводов об этом пользователе. Неправильно введенные пароли могут свидетельствовать о предпринимаемых атаках или, если вы сами совершаете такую атаку, о том, как близко вы к пределу возможного количества попыток ввода неверного пароля. Возраст пароля может свидетельствовать о старом, не изменявшемся пароле, что является признаком пользовательского профиля, который никогда не использовался. Количество входов в систему может свидетельствовать об интенсивности использования соответствующего пользовательского профиля. Профиль с большим количеством входов может означать, что пользователь часто использует систему; соответственно малое количество входов может говорить о не слишком частой проверке системы. Конечно, количество входов в систему больше нуля для заблокированного пользователя (например, guest) означает, что в сети произошло нечто.

Используя символ точки (.), можно перечислить всех пользователей системы. Посмотрите на правильный синтаксис.

C:\>GetUserInfo.exe \. GetUserInfo V02.05.00cpp Joe Richards (joe@joeware.net) January 2002 User Accounts for [Local] ----------------------------------------------------------------------------------------- Administrator Orc skycladgirl test __vmware_user__

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

C:\>GetUserInfo.exe \\192.168.0.43\. C:\>GetUserInfo.exe domain\\192.168.0.43\. Совет. В сети с большим количеством Windows-доменов в первую очередь обращайте внимание на локальных пользователей (Local user).

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




Несмотря на то, что enum поставляется в исходных кодах, исполняемый модуль также доступен. Программа использует встроенные функции Windows, так что не нужно никаких дополнительных DLL-библиотек. Как только вы обнаружите открытый TCP-порт 139 в Windows, тут же запускайте enum.

C:\>enum.exe usage: enum.exe [switches] [hostname|ip] -U: get userlist -M: get machine list -N: get namelist dump (different from -U|-M) -S: get sharelist -P: get password policy information -G: get group and member list -L: get LSA policy information -D: dictionary crack, needs -u and -f -d: be detailed, applies to -U and -S -c: don't cancel sessions -u: specify username to use (default "") -p: specify password to use (default "") -f: specify dictfile to use (wants -D)

Первые шесть параметров возвращают богатейшую информацию о цели исследования, обеспечивая доступ к общему ресурсу IPC$ через 139 или 445 порт. По умолчанию программа создает соединение с использованием NULL-ресурса - обычно это анонимный пользователь. Вы можете задать одновременно все шесть параметров, но мы сделаем это по отдельности, чтобы получить удобочитаемую выходную информацию.

C:\>enum -UPG 192.168.0.139 server: 192.168.0.139 setting up session... success. password policy: min length: none min age: none max age: 42 days lockout threshold: none lockout duration: 30 mins lockout reset: 30 mins getting user list (pass 1, index 0)... success, got 5. Administrator Guest IUSR_ALPHA IWAM_ALPHA TsInternetUser Group: Administrators ALPHA\Administrator Group: Guests ALPHA\Guest ALPHA\TsInternetUser ALPHA\IUSR_ALPHA ALPHA\IWAM_ALPHA Group: Power Users cleaning up... success.

Строки, помеченные жирным шрифтом, свидетельствуют о том, что выбранная система прекрасно подходит для подбора пароля. Число попыток входа с неправильным паролем не ограничено. На основании списка пользователей мы также сделали вывод, что в системе установлен Internet Information Server (IIS) (IUSR_ALPHA, IWAM_ALPHA) и Terminal Services (TsInternetUser).




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



Содержание раздела