Хак с самого начала
Как же надо хакать и с чего начать? Для начала попробуй ровать несколько IP по разным портам. Ты увидишь, что некоторые компьютеры отвечают, а некоторые нет. Некоторые компьютеры ответят и только некоторые, возможно некоторые из найденных будут плохо защищенными и ждать пока ты их взломаешь.
Небольшое отступление: Ты скажешь что это за фигня такая — порты и прочая лабуда? Порт — это адрес определенного сервиса, запущенного на данном компьютере в Internet. Также их очень часто называют TCP/IP (Transfer Control Protocol/Internet Protocol) порты, так как на них может обратиться другой пользователь из Internet. Примером может служить принтер или модем — они ведь тоже обращаются с компьютером через свои порты.
Как только человек выходит в Internet, он сразу же получает свой уникальный IP-адрес (например, pppl03-3-5.diaIup. glasnet. ru). После этого любой желающий может воспользоваться твоими ресурсами (которые доступны) также, как и тебе ресурсы других. Для того, чтобы воспользоваться услугами, необходимо указать IP:port (к примеру, 195.34.34.30:21 — для того, чтобы попасть на FTP сервер zone. ru).
Теперь ты, возможно, приконнектишься к какому-нибудь серваку к порту 23 (порт telnet) (Пуск ф выполнить <> telnet ip:port. Если не указывать порт, то по умолчанию это 23 порт). Если ты нормально приконнектишься, то увидишь приглашение с просьбой ввести логин и пароль. Но поскольку ты не знаешь логина/пароля, то сервер через некоторое время пошлет тебя подальше. Если тебе нечего делать, то можешь попытаться поперебирать пароли, а когда надоест, можешь читать дальше.
Если попробовать приконнектиться к серверу не через 23 порт, а через какие-нибудь другие порты, то при большом везении сервер тебе скажет что ты приконнектился удачно и ты сможешь легко найти нужную комбинацию. Это самый простой способ взламывания серверов. Можно проявить себя как «Белый хакер в шляпе» — посылаешь письмо сисадмину и уходишь с этого сервера (типа незаконно и все в таком духе). Ну а если ты никогда не слышал про 273-275 статьи УК РФ, то... ну, я думаю, ты сам догадаешься, что тебе делать...
Небольшое отступление: Сервак — компьютер, подключенный к Internet. Сервис — программа, запущенная на серваке на определенном порту. Каждая такая программа должна отвечать на определенные программы. Если ты дашь этой программе правильную команду, то она должна что-то сделать для тебя. Самый простейший пример — сервис «ЭХО» или по другому — генератор символов (порт 19). Если ты приконнектишь - ся телнетом по этому порту к компьютеру, у которого запущен этот сервис, эта программа будет реагировать на любой нажатый тобой символ и будет показывать его в окне телнета. Все что тебе нужно — прИконнек - титься к на котором запущен нужный тебе сервис.
Другой пример — это сервис поиска нужного человека в сети (Finger). Если ты задашь этой программе искать какого либо человека с другого хоста и при этом программа finger запущена на сервере, а также пользователь не сделал так, чтобы его эта программа не то ты
Получишь об этом пользователе очень много полезной
Какие сервисы запущены, на каких портах и где об этом узнать? Порты находятся в диапазоне от 1 до 1024 и называются «хорошо известные порты» (well-known). Список использованных портов можно посмотреть в файле на компьютере, который называется «services». В Windows он находится в C:TBoft_WindowsSERVICES. В NT это — C:W1NNT SYSTEM32DRIVERSETCSERVICES. Ну а в Юниксе это /etc/services/ (хотя если у тебя стоит Юникс, я думаю тебе это объяснять не надо). Эти порты называются хорошо известными, так как они используются для наиболее распространенных сервисов (WWW, e-mail, FTP, news, telnet). Например, SMTP — отправка почты — 25 порт, РОРЗ — прием почты НО порт, WWW — 80 порт, FTP — 21...
Ты можешь быть сбит с толку тем, то что существует куча прог для сканирования всего, чего только возможно и хакеры ими очень часто пользуются. Но! При этом ты можешь нарваться на неприятности, так как у сисадминов есть привычка (далеко не лучшая в твою пользу) просматривать логи всех коннектов и по каким портам, а так же попытки взлома их сервера. Некоторые сисадмины свободно разрешают сканить их серверы, а некоторые, увидев что-нибудь не ладное, сразу откапывают твоего сисадмина и жалуются ему какой ты нехороший (в исключительных случаях это может окончиться тем, что тебя отключит из Internet твой пров навсегда!). В США сканирование разрешено и сами сисадмины часто ска - нят друг друга в целях нахождения дырок. Но от греха подальше если кого-нибудь собираешься сканить из добрых побуждений — лучше попроси разрешение или хотя бы уведоми об этом сисадмина.
Так что же такое дырки в системах, о которых столько говорят? Дырка — что-нибудь в системе, которое позволяет кому-нибудь контролировать систему в обход сисадмина. Существует очень много типов дырок. Это может быть неправильно сконфигурированная программа, ошибка в самой программе... Наглядным примером плохо сконфигурированной программы может служить старая версия программы sendmail (если сисадмин оставлял команды wiz и debug или дал директории неправильные права доступа на то любой желающий мог скачать файл паролей). В таких случаях вся вина лежит на сисадминах, так как ошибка допущена при конфигурировании, а не из-за самой программы.
Другой очень известный и распространенный баг — расшаривание ресурсов в Windows когда это совершенно не нужно или пустой пароль на полный доступ. Из ошибок программ самые распространенные — переполнение буфера обмена у программ, созданных для Internet. Очень часто это используют для того, чтобы перехватить контроль над серваком и потом делать с ним все что твоей душе угодно.
Ну а теперь перейдем к очень известному сейчас виду атак — Экс - плоитам. Ты уже наверно не раз слышал об этой атаке, но не понимал, что это такое и как этим пользоваться. Так вот. Эксплоит — это программа, написанная на Си++, использующая дырки в системе для получения прав рута (root) — самого главного человека, которому доступно ВСЕ!!! К примеру это так называемая дырка, заключаемая в том, что сервер (служит для скачки/закачки файлов с сервера/на сервер) настроен так, чтобы переадресовывать запрос пользователя на другой компьютер. По идее эта фича вообще на фиг не нужна (в смысле для сисадминов — нам она как раз и нужна). Это только создает возможность взлома, так как эта фича позволяет любому человек просканить порты другого компьютера и представиться компьютеру FTP сервером, с которого идет переадресация и этот человек получит «ключи от квартиры где деньги лежат». Вообще наиболее практичные и довольно таки легко применяются (если голова с руками растет откуда надо). С эксплоитом можно хорошо поиздеваться над сисадмином, а также над его системой (ой — а зачем вот эти файлы — они тут ва-а-а-аще не
Эксплоит хорош еще тем, что он не ломает систему (сам справишься!), а только дает тебе «ключи». Как ты знаешь, сейчас серваки стоят как минимум на трех типах платформ: NT, VMS и UNIX. У них куча разных версий и типов — UNIX делится на BSD, А1Х, SCI, Sun OS, Irixи (наверно) твой любимый Линукс. Ну и конечно же каждая версия глючит по разному и поэтому под разные типы и версии существуют эксплоиты так сказать «нужного калибра», ведь ты понимаешь эксплоит, сделанный под NT, не будет пахать под UNIX, а сделанный для Sun OS не будет пахать под Линукс (ну, хакеру не проблема переделать эксплоит — на то он и хакер). Ну а разные версии не будут пахать, так как очень часто вообще меняют прогу, которая стоит, только оставляют то же имя и номер версии чуть-чуть переделывают. Конечно же все дырки рано или поздно фиксят и нужно стараться пользоваться новыми эксплоитами. Ну, а теперь самое главное — как же найти эти дырки?
Для начала посмотри, что у тебя из сервисов есть на компе — набери команду netstat - а (в Пуск ф Выполнить) и ты увидишь что-то типа этого:
Active Connections
Proto Local Address Foreign Address State
TCP localhost: 1027 0,0.0.0:0 LISTENING
TCP |
Localhost:135 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost:135 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost:1026 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost:1026 |
Localhost:1027 |
ESTABLISHED |
TCP |
Localhost:1027 |
Localhost:1026 |
ESTABLISHED |
TCP |
Localhost: 137 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost:138 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost:nbsession |
0.0.0.0:0 |
LISTENING |
UDP |
Localhost:135 |
* . * |
|
UDP |
Localhost:nbname |
*; * |
|
UDP |
Localhost:nbdatagram |
*! * |
XMMM... вроде ничего интересного. Ну начнем разгребать, что это такое появилось. |
Мы видим, что у Local Address (твой комп) прослушиваются порты 135, 137, 138 и nbsession (в общем это 139 порт прослушивается... можешь написать netstat - an, чтобы увидеть не название портов, а их номера. Насчет этих портов можешь не беспокоиться — это часть Microsoft Networking и они нужны для поддержки LAN (локальной сети). Теперь зайди в Internet и топай, допустим на Www. uxx. com, хотя нет, лучше на Www. happyhacker. org. Одновременно телнеться на какой-нибудь сервак (ну допустим Www.Whitehouse.Gov). Теперь снова жми netstat - а и вот что у тебя примерно должно получиться: Active Connections
Proto |
Local Address |
Foreign Address |
State |
|
TCP |
Localhost: |
1027 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost: |
135 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost: |
135 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost: |
: 2508 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost: |
: 2509 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost: |
: 2510 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost: |
: 2511 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost: |
: 2514 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost: |
: 1026 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost: |
: 1026 |
Localhost:1027 |
ESTABLISHED |
TCP |
Localhost: |
: 1027 |
Localhost:1026 |
ESTABLISHED |
TCP |
Localhost: |
: 137 |
0.0.0.0:0 |
LISTENING |
TCP |
Localhost:138 |
0.0.0.0:0 |
LISTENING |
|
TCP |
Localhost:139 |
0.0.0.0:0 |
LISTENING |
|
TCP |
Localhost:2508 |
Zlliks.505.0RG: 80 |
ESTABLISHED |
|
TCP |
Localhost:2509 |
Zlliks.505.0RG: 80 |
ESTABLISHED |
|
TCP |
Localhost: |
: 2510 |
Zlliks.505.0RG: 80 |
ESTABLISHED |
TCP |
Localhost: |
2511 |
Zlliks.505.0RG: 80 |
ESTABLISHED |
TCP |
Localhost: |
2514 |
Whitehouse. gov: telnet ESTABLISHED |
Теперь посмотрим, что в этот раз за лабуду выдало. Те же порты, что и по началу, вот только добавилось несколько новых активных портов — 4 коннекта с zIlinks.505.0RG по 80 порту и коннект с whitehouse. gov телнетом. Это полная статистика того, что происходит с твоим компом и Internet.
Так ты узнал настоящее имя сервака Www. happyhacker. org (zlliks.505.ORG). По идее у тебя должен возникнуть вопрос — а какого черта есть Порты, у которых номера больше 1024??? Так вот, если ты помнишь начало главы, то я там говорил, что эти порты ждут коннекта к ним. Но вот если эта программа коннетиться куда-нибудь, то ей помимо своего порта еще нужен какой-нибудь порт для приема информации, и этот порт берется за пределами этих 1024 портов. Так понятно? К примеру, браузер может открывать до четырех портов — с 2508 по 2511.
Теперь ты возможно захочешь посканить порты друга? Лучший способ сделать это и не бояться быть выкинутым из Internet своим провайдером — попроси друга (подругу) набрать netstat - r. Тогда у него появится что-то типа: Route Table Active Routes:
Network Address Netmask Gateway Address Interface Metric
0.0.0.0 0.0.0.0 198.59.999.200 198.59.999.200 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
198.59.999.0 255.255.255.0 198.59.999.200 198.59.999.200 1 198.59.999.200 255.255.255.255 127.0.0.1 127.0.0.1 1
198.59.999.255 255.255.255.255 198,59.999.200 198.59.999.200 1 224.0.0.0 224.0.0.0 198,59.999.200 198.59.999.200 1
255.255.255.255 255.255,255.255 198.59.999.200 0.0.0.0 1
Active Connections
Proto Local Address Foreign Address State
TCP lovely-lady: 1093 mack. foo66. com: smtp ESTABLISHED
Gateway Address и Interface покажут твой реальный IP (ну или IP сервера, если ты сидишь через локальную сеть). Учти, если твой друг сидит в локалке, то прежде 10 раз подумай, чем его сканить, ато сисадминам очень не нравится, когда какой недохакер (как они считают) пытается их поломать и могут пойти на все меры, лишь бы отомстить и поразвлечься (иногда самое безобидное — синий экран).
Вообще-то под таким распространенным термином, как взлом Internet подразумевают сразу несколько разных вещей. Во-первых: незаконное подключение к провайдеру и халявные подключения. Как же можно это осуществить? Самый простой вариант — украсть чужой пароль. В наше время при огромном количестве тупых юзверей сие не представляет никакого труда. Так как подавляющее большинство пользователей пользуется таким популярным пакетом e-mail как UUPC Чернова. А также некоторые туповатые провайдеры все еще предоставляют вход в систему как online так и offline под одним паролем. Остается самое простое — переписать файлик init или initl с каталога UUPC. Там будет прописан как login так и password. Пользуйтесь им на здоровье. Но не забывайте про то, что «жадность фраера сгубила».
При более сложном варианте вы запускаете на вирус
Или прогурезидентную, отслеживающую появление строчки login:. Дальше остается грабать клавиатуру и записать полученное в файл.
Если юзверь относительно грамотный и не просто умеет качать почту, а работает более «круто» в Netscape, используя SLIP & РРР, то обратите внимание — при таком качестве связи, как у нашего Совка, связь обрывается частенько. Очень редко можно увидеть, чтобы кто-то из них при соединении набирал логин и пароль вручную. Часто это все делает скрипт командами transmit и им подобными. А все настройки, хитрец, держит под своим паролем в Windows. Как известно, на всякую хитрую жопу... находится очень быстрое решение проблемы: стоит только поискать файлик с расширением. pwl. Там Windows хранит все практически настройки по каждому юзверю. Включая и пароли. Тем паче, что шифрует она все это примитивным вариантом DES. Но алгоритм шифрования в каждом релизе разный. Однако, имея в руках чужой. pwl файл, создав несколько своих с именами 1,2,3,4 и аналогичными паролями, можно проследить интересную зависимость, которая и выведет вас к желаемому результату.
Если на машину юзера доступа нет, то к решению проблемы можно подойти и другим путем. Справедливости ради надо заметить, что практически лавинная доля соединений приходится на телефонные линии. Дальше — лучше. Наверняка у вас в офисе есть мини-АТС. Перепрограммировать ее, чтобы звонки с данного номера лерероучивались на ваш — плевое дело. Осталось только запустить терминальную программу BBS, в заставке указать заставку вашего провайдера. И юзер ведь купится! На 100%. Введет и login, и password. Проверено уже, и не раз. Теперь осталось выдать ему кучу ошибок, а затем линию. После двух-трех попы
Ток (вдруг он неверный пароль введет) верните АТС в нормальное состояние. А то прецеденты с последующей раздачей слонов и пряников уже •бывали.
Если удалось раздобыть то имея пароль с минималь
Ными пользовательскими привилегиями хочется получить их гораздо больше. С минимальными привилегиями получить статус root — задача не одного дня. Но начинать с чего-то надо. А начнем мы с того, что узнаем, с какой системой имеем дело. В настоящее время провайдеры висят на самых популярных UNIX: FreeBSD, BSDI, SCO open server, Linux. Некоторые, правда, используют такую экзотику как NexStep, UnixWare, Solaris, Aix, HP-UX, VAX-ORX5,12. Встречаются уникумы, работающие с Xenix. Но несмотря на видимое обилие операционных систем, все они имеют
Практически одинаковую систему защиты и идентификации пользователей и их ресурсов, которые передавались по наследству от AT&T UNIX с 1971 года. Стандартные средства защиты в UNIX:
♦ защита через пароли;
♦ защита файлов;
♦ команды su, newgrp, at, pmarn, sadc, pt_chmod;
♦ шифрование данных.
Любой пользователь UNIX имеет свой пароль, без которого он не может включиться в систему, писать/читать почту. Практически во всех UNIX пароли находятся в /etc/passwd. Этот файл содержит информацию о пользователе, его пароле и уровне привилегий.
Дописать в этот файл информацию о своем login/passwd и уровне привилегий может только root. Ты можешь его только читать.
Но что же мешает переписать/прочитать его и пользоваться чужими login'aMH? Прочитать можно. И с огорчением увидеть, что не все так в жизни просто. Да, там хранится login пользователя. Но сам пароль хранится только в зашифрованном виде. И вместо пароля в лучшем случае увидишь абракадабру типа
Расшифровкой этого занимаются программы rarnjack, crackerjack, blob и множество подобных. Успех напрямую зависит от данной операционной системы. Чтобы успешно расшифровать passwd, необходимо, как минимум, иметь две пары логинов, паролей расшифрованных и зашифрованных. Напустив на passwd от Linux 2.1.3 крякалку паролей blob и имея пять пар известных паролей, в опытном варианте за 20 минут успешно расшифровываются все пароли. Но проблема в том, что алгоритмы шифрования очень улучшаются с каждой новой версией системы, а в таких коммерческих UNIX как SCO Open Server 5 имеется очень навороченные системы криптования. К примеру, если SCO 3 с уровнем защиты от 1,2,3 сломалась в течение 3 часов перебора, то 4,5 где-то за четверо суток, 6 так и не удалось поломать.