Техника сетевых атак
Шрифт:
Создание эмулятором таблицы виртуальных имен, чувствительных к регистру
Намного хуже дело обстоит с поддержкой сырых гнезд (SOCK_RAW). Если говорить просто, сырые гнезда позволяют прикладной программе самостоятельно сформировать заголовок IP пакета, - действие редко используемое в нормальной жизни, но необходимое для множества атак.
Спецификация WINSOCK 2.x как будто
К слову сказать, помимо гнезд семейства AF_INET, в UNIX существуют и гнезда используемые для межпроцессорного взаимодействия, не поддерживаемые WINSOCK, но реализуемые подавляющим большинством эмуляторов.
Рассмотрев теоретические различия между UNIX и Windows, перейдем к сравнению конкретных реализаций эмуляторов. Для этого возьмем двух ярких представителей, UWIN от компании AT amp;T (кто знает UNIX лучше AT amp;T?) и CYGWIN, поддерживаемый в рамках проекта GNU [83].
Логотип эмулятора UWIN
Для некоммерческого использования полноценную копию UWIN можно получить бесплатно, посетив сайт автора -Установленный UWIN предоставляет следующие возможности: “UWIN has a set of popular shells like ksh (Kornshell) amp; tcsh (C shell) and more than 300 utilities like vi, ls, ps, grep, tail, uudecode/uuendecode, mailx, find, perl, awk, etc along with a vt100 terminal emulation. It also provides a Telnet server along with other inet daemons and utilities like telnet, ftp, rsh, rlogin, and their corresponding servers for Windows NT, enabling a user to remotely access the system over the network. Optional tools include the Apache Web-server and bind DNS server. [84]”
Врезка «Системные требования UWIN»*
· Software requirements Software requirements
· UWIN Base toolkit + UWIN SDK
· Microsoft Visual C/C++ 4.0 or higher or GNU C/C++ compiler
· Microsoft Windows NT 4.0 or higher (Workstation or Server) or
· Microsoft Windows 95/98
· Hardware requirements Hardware requirements
· Intel x86, Pentium, Pentium Pro and compatible systems
· 30-100MB of available hard-disk space
UWIN содержит множество популярных командных оболочек, свыше 300 необходимых для работы утилит и даже позволяет запускать Apache WEB сервер и DNS сервер. Администраторов Windows NT не может не порадовать наличие полноценного telnetd -демона (как известно в штатную поставку Windows NT не входит никаких средств удаленного управления компьютером) [85].
Рисунок 048 Демонстрация наличия telnet-сервера в эмуляторе UWIN
Разработчикам пригодится компилятор GNU C/C++ и отладчик gdb, или любой другой инструментарий - по выбору. Например, perl, awk, tcl… да всего не перечислишь! Кстати, в UWIN входит «обертка» (wrapper) для Microsoft Visual C++, дополняющая его возможностью обработки исходных текстов UNIX-приложений. Разумеется, откомпилированный текст можно отлаживать чем угодно, в том числе
Наконец, даже никого не собирающиеся атаковать пользователи, со временем обнаружат - пользоваться командными оболочками UNIX, намного удобнее, чем елозить мышью. Благо, UWIN позволяет запускать не только UNIX, но и Windows-приложения, умело обращаясь не только с дисками, но и с реестром.
Отныне ветви реестра будут представлены каталогами, а ключи - файлами. Корневой раздел реестра монтируется в каталог “/reg” На рисунке 049 показано, как вывести на экран содержимое ветви реестра “HKEY_CURRENT_USER\Network\Persistent\H”. Но этим возможности UWIN не ограничиваются. В реестре становится возможным хранить и обрабатывать файлы, точь-в-точь как на обычном жестком диске!
Эмулятор UWIN позволяет обращаться с реестром Windows точно так, как с файлом
Выше был употреблен термин “монтируется” - UWIN эмулирует монтируемую файловую систему, то есть позволяет произвольным образом объединять в одну логическую структуру, файлы и каталоги физически расположенные на разных дисках и даже компьютерах. По умолчанию корневым каталогом назначается директория, в которую инсталлирован UWIN. Корень диска «С» становится каталогом “/C/”, и соответственно “/A/”, “/B/”, “/D/”, “/E” для остальных дисков (если они есть). Каталог Windows доступен как “/C/Windows”, так и через короткий псевдоним “/Win”. Сетевые компьютеры автоматически монтируются так же, как и в Windows, но с наклоном черты в обратную сторону, т.е. “\\SERVER\C” станет называться “//SERVER/C”. Вообще же узнать, как смонтирован тот или иной ресурс можно с помощью команды mount. Например, на компьютере автора результат ее работы выглядел так:
· C:\Program Files\UWIN on / type FAT32 (ic,text,grpid,suid,rw)
· C:\Program Files\Microsoft Visual Studio\vc98\ on /msdev type FAT32 (ic,text,grpid,suid,rw)
· A: on /A type FAT (ic,text,grpid,suid,rw)
· C: on /C type FAT32 (ic,text,grpid,suid,rw)
· D: on /D type FAT32 (ic,text,grpid,suid,rw)
· E: on /E type FAT32 (ic,text,grpid,suid,rw)
· F: on /F type FAT32 (ic,text,grpid,suid,rw)
· //SERVER/C on /H type FAT
· /usr/bin on /bin type LOFS (ic,text,grpid,suid,rw)
· /usr/lib on /lib type LOFS (ic,text,grpid,suid,rw)
· /usr/etc on /etc type LOFS (ic,text,grpid,suid,rw)
· /usr/dev on /dev type LOFS (ic,text,grpid,suid,rw)
· /C/WINDOWS on /win type FAT32 (ic,text,grpid,suid,rw)
· /C/WINDOWS/SYSTEM on /sys type FAT32 (ic,text,grpid,suid,rw)
· /usr/proc on /proc type PROC (ic,text,grpid,suid,rw)
· /usr/reg on /reg type REG (ic,text,grpid,suid,noexec,rw)
Однако, монтируемая файловая система видна только из-под UWIN, а Windows-приложения даже и не подозревают о ней. Поэтому, попытка вызвать notepad для просмотра фала /win/readme.txt провалится, а правильный вариант должен выглядеть так: “/win/notepad C:\\windows\\readme.txt”. Дублирование косой черты обязательно, в противном случае Windows сообщит: “Не удается найти файл C:windowsreadme.txt” (такая ситуация показана на рисунке 050):
Рисунок 050 Демонстрация вызова приложений Windows из эмулятора UNIX
Так происходит потому, что в UNIX (и UWIN), косая черта “\” зарезервирована за управляющими символами (например, “\t” обозначает знак табуляции, а “\n” - перенос строки), а когда требуется отобразить сам символ обратной черты, прибегают к его дублированию.
Каталог “/dev” предназначен для управления устройствами. Его содержимое может быть следующим:
· $ ls /dev
· clipboard ptyp0 ptyq7 tty06 tty29 ttypb