Десять уроков сетевого хакаDelphi , Интернет и Сети , Сеть
Оформил: DeeCo Для самых начинающих... Сетевые хаки это круто
и просто. Однако, как именно, и
что именно нужно делать знают еще далеко не все. В
народе очень популярны exploit, -то есть готовые инструментарии для
взлома, написанные другими хакерами. Но, во-первых, это не интересно и ставит в зависимость от тех, других хакеров (дадут ли они нам или опять зажмут все самое ценное?), а во-вторых, они очень быстро перестают работать - дырки-то затыкаются, а свежих exploit раз два и обчелся, да и те устаревают не по дням, а по часам. Пусть среди аминов много лохов, но и они начинают чесаться, когда их взломают раз - другой кряду. Поэтому единственная возможность учится ломать самим. Самим искать дыры и писать простейший инструментарий для взлома. Однако, как бы это ни было просто, но все же требует определенной усидчивости и умственных усилий. Зато потом можно не просто считать себя хакером, но и быть им! Стоит ли одно другого? Несомненно! Тогда - в путь.. Путь долгий и тернистый. Ведь в двух словах, как это ломают, не расскажешь. Но за десять уроков мы обязательно справимся! (Примечание:эта серия была задумана для журнала "Хакер", но отклонена редакцией, поэтому остальные статьи написаны не были, да и вряд ли будут. Разве, что по настоятельным просьбам читателей. Пишите, если хотите увидеть продолжение) Запасайтесь пивом и быстренько подключайтесь к интернату (начальный доступ у вас все же должен быть). Сейчас начнется самое интересное!
ALMA MATER В конференциях
RU.HACKER и RU.NETHACK периодически вспыхивают дискуссии: как утащить
из-под лап администратора знаменитый файл etc/passwd? А после того,
как утащили - что с ним можно делать? Сказывают, что якобы там хранится несметное количество паролей, логинов, аккаунтов, словом всего, что только пасется на этом сервере. Другие же утверждают, что нет там ничего, а если что и есть, так оно зашифровано и никакой жизни не хватит, что бы вернуть его в читабельное состояние. Кто же из них прав? Тем более, что некоторые уже не раз оглашали мир радостным мявом, что, дескать, пароли они утащили и сейчас будут сидеть их расшифровывать. Конечно, же, ни с кем другим они делиться своим богатством не собираются! Ну и не надо! Мы и сами с усами! Вот как пойдем по ссылке http://kpnc.webprovider.com/hack.pl да и посмотрим etc/passwd одного далекого заокеанского провайдера, да еще в читабельном виде. Вот, что мы увидим на экране!(Тут надобно заметить, что если стоит Netscape, то ничегошеньки видно не будет; а если мы установили IE 4.0 (5.0) и не все равно ничего не видно, - так это просто надо подождать, - файл etc/passwd очень длинный, и если канал у вас не шибко быстрый, то перекачка может занять, возможно, очень длинное время, - ждите тогда) Наконец на экране появится следующее: Пожалуйста, постетите этот сайт PRO HACK DISPLAY ETC/PASSWORD FILE...
Выше показана только малая часть от всей таблицы. Правда, паролей там нет. То есть они не показы в явном виде - законодательство надо же соблюдать хотя бы формально. Как их получить об этом будет рассказано ниже. А пока можно изучив список логинов юзеров, попробовать угадать, кто же из них окажется таким лохом, что выберет короткий пароль, или что еще лучше пароль совпадающий с логином. Уверяю вас, таких лохов значительно больше одного, так что на всех хватит, не говоря уже о такой халяве как
На этом наш первый маленький взлом можно считать завершенным. Теперь разберемся, что же в действительности произошло и можно ли так ломать других провайдеров или нет? ЧТО ЭТО БЫЛО? Так что же произошло на самом деле? Хитрый автор только дал
кликнуть по ссылке, а все остальное сделал сам. Это конечно хорошо, но
будет лучше, если не только дать рыбу, но еще и научить ее ловить!
Рыбу ловить изволите? В самом деле? Тогда приготовьтесь, что это будет долгий и муторный процесс, но зато потом вы станете настоящим хакером (шутка, однако)! Итак, начнем разбираться, с премудростями автора. Для начла заглянем внутрь файла nethackk1.htm (для этого в меню "Вид" браузера выберем "просмотр в виде HTML") - нам представится следующие: <CENTER><B>Ты хочешь посмотреть etc/pasw одного
провайдера?<BR> Не нужно быть посвященным в тонкости программирования HTML, что бы понять, что выделенная жирным красным цветом строка - перенаправила нас на другой сервер и попыталась открыть, хм, какой-то "hack.pl" Странно? А почему не html? Ну что же, попробуем открыть hack.pl самостоятельно. Наберем эту строчку в окне браузера, - как вновь выскочит табличка с паролями. Быть может это hack.pl и есть? И автор нас просто разыграл, - смастерил фэйк, то есть составил эту таблицу от балды? Но нетрудно убедиться, что таблица эта живет своей "жизнью" - уходят одни пользователи - добавляются новые и самое главное, что все логины правильные! Возьмем один, выбранный наугад. Вот, например, madmama. Что скрывается за ним? Набираем в строке браузера "madmama.webprovider.com" и что мы видим?
Эге! Да тут директория _private. А ну, пустят нас в нее или нет? Кликнем мышеем и замираем, сердца ждем. Вот черт не пускают! А узнать, что там ой как хочется! Ну что же, попробуем атаковать "в лоб". Вводим пароль "madmama" и с нетерпением ждем... Держите нас, это сработало!!! (Впрочем, к моменту выхода статьи в свет, MadMama может малость поумнеть и пароль свой сменить) [так оно и случилось - К.К.] Ну и что же в приватах? Гм, одна большая dbf с названием prices. А, ну прайс - по русcки. Словом, ничего интересного. Но вот сам факт взлома! А юзеров-то на сервере сотни, поэтому это увлекательно путешествие можно только продолжать и продолжать! Ладно, все это очень интересно, но как же автор утянул, сей ценный стуфф? И не боится ли он, что к выходу статьи в свет его прикроют? Разумеется, нет, и я готов поделиться с вами своим ББС (большим буржуинским секретом). Ведь никакого взлома автор не совершал. Файл Etc/password доступен с теми правами, которые ему (да и любому другому пользователю) выделил администратор. И нечего огород городить! Etc/password это общедоступный ресурс - во всяком случае на чтение и всякий может его поглядеть было бы желание! А администратор вовсе не лох - ведь паролей в etc/password нет, как мы в этом в последствии убедимся. Однако, как мы выяснили, что пароли для взлома не всегда обязательны, - достаточно вполне знать логины и проявить малость интуиции и находчивости. К тому же мы многое смогли узнать и о сервисах самого провайдера, о которых он почему-то публично умалчивает. Например, мы ясно видим, что сервер новостей установлен:
Но если просканировать порты сервера (любой программой, например NetInfo), то наc грязно обломают и скажут, что никаких тут ньюсов нет. Вот так: Ну, как дорваться до ньюсов, это тема отдельного разговора, а вот простенький сендмайл можно юзать и так. Порты открытые - как на POP3 (то есть чтение почты), так на SMTP (то есть ее отправку). Впрочем, и почту и ньюсы ломать не интересно - другое дело еще раз взглянуть на etc/password! Только как? Попробует подрубаться по ftp (ну, а как же иначе-то) Набираем в браузере "ftp://ftp.werbprovider.com" так нас грязно пошлют подальше. Да и если бы не послали, - все равно бы мы ничего не смогли увидеть. Ведь все директории, которые видны по WWW или FTP - это виртуальные директории, которые ничего не имеют общего с физически, расположенными на диске. И оттуда etc/password действительно никогда (ну разве что очень-очень редко) не бывает виден. Как же автор получил его? Очень просто - исполнил на удаленной машине скрипт... СКРИПТЫ Что-то сделал автор? Говорит, запустил скрипт на удаленной машине? Но что это значит? Давайте разбираться. Вероятно, читатель уже сталкивался с различными скриптами, в web-страничках. Обычно они написаны на Java или Visual Basic. Ну, а если не сталкивался - так это не беда, можно установить Нетскейпу и совсем немного пробродить по Иннету, как тот начнет ругаться "Скрипт Еррор такой-то". Ну что делать, - глючная вещь Нетскэеп. А скрипты - это такие программы, которые расширяют возможности языка HTML. Ведь HTML позволяет только управлять форматированием текста - там отбивочки, тут курсивчик, вверху заголовок с картинкой. Вот на этом возможности HTML и исчерпываются. Чаты, скажем, уже требуют сложных операций, и не могут обойтись без Java или подобных языков. Это скрипты и есть. Но для хака они не годятся. Почему? Да потому что исполняются на локальной машине, то есть вашем домашнем компьютере. А сервер только посылает и принимает от них данные. Печально. Но есть другая категория скриптов - тех, что исполняются на удаленном компьютере, то есть сервере, а вам отсылают (или не отсылают) результат своей работы. Они имеют непосредственный доступ к системе, и если администратор не ограничит вас в правах, то скрип может даже отформатировать жесткий диск сервера или подпустить вируса или трояна. Ну, на худой конец, просто полазить и шпионить по всем директориям (это, кстати, часто и не запрещается). Итак, что бы ломать нужно всего лишь иметь право выполнять программы на удаленном компьютере. На жаргоне это обзывается "иметь доступ к директории CGI-BIN". Тогда вы можете закинуть туда любую программу, и ее исполнить. Хоть обычный exe файл типа BackOrifice2000. Правда, за одним небольшим исключением. Исполняемый файл должен соответствовать модели компьютера и операционной системе, которая установлена на сервере. Другими словами, если это Pentium Pro и Windows NT, то можно смело кидать всех Энтевых троянов и вирей - и они успешно сработают. Правда, вот такую конфигурацию найти можно не так уж часто. Гораздо вероятнее встретить DEC Alpha и UNIX. Это несколько хуже... Но существует ли способ, одинаково хорошо приглядный для всех систем? Разумеется да. Для любого Юникса подойдет программа, написанная на Си. Правда ее не "берет" NT. Зато Perl (есть такой язык) одинаково хорошо воспринимается, как UNIX, так и NT. Если, правда, установлен его интерпретатор. Но, обычно он все же установлен. Выходит, Перловым скриптом мы смогли просмотреть всех юзеров? Ведь расширение-то у файла было PL! Действительно, это Перл. И если мы найдем в себе труд хотя бы поверхностно изучить этот замечательный язык, то потом наши хакерские возможности неограниченно расширятся! За дело, начнем изучать Перл! Однако, для начала придется немного огорчить читателя. Что бы исполнять Перловый скрипт - это же надо еще права иметь! А большинство бомажатников с халявными страничками таких прав не имеют. Правда, все солидные и платные серверы такой доступ непременно дают. И многие просто в обмен на баненную рекламу (например, http://www.agava.ru/ Но, у какого хакера найдется лишняя деньга? Выходит, что все загвоздка в том, что бы найти удобный и хороший сервер. А главное бесплатный! К счастью такие сервера есть! Пусть немного, но нам хватит.. для начла, а потом, потом мы научимся получать доступ и к тем, кто такие права зажимает. Кстати, многие www сервера имеют незакрытый доступ к cgi-bin и если хорошо поискать, то их можно найти! Правда, если тамошний админ не совсем лох, то такую дырку он быстро прикроет, стоит только сунуться! Но, об этом потом, а пока смотрите список серверов, где такой доступ дается за просто так! СЕРВЕРА, ДАЮЩИЕ СТРАНИЧКИ И ПРАВО ИСПОЛНЯТЬ
CGI Вообще-то традиционно за право выполнить CGI, нужно платить, да еще и зарегистрироваться так, что бы в случае чего администратор мог вас найти и надавать по ушам. Ведь имея такой доступ к системе можно сделать очень и очень много плохого. Кому это понравится? Но, тем не менее, в Интернет найти можно все! И даже таких администраторов, которые расщедриваются на такой доступ, да еще и предоставляют его на халяву! Что бы их найти, можно набить в любом поисковике "CGI+Free+Perl" или побродить по страничкам, сборникам ссылок на хяляву. Словом, если вас не устроит ни один пункт из списка, приведенного ниже, то всегда можно найти что-то и самим.
ЗАЛИВАЕМ НАШ ПЕРВЫЙ СКРИПТ! Итак, будем считать, что на сервере вы себе аккаунт
поимели по полной программе. Это не такая сложная операция, что бы на ней
останавливаться. Достаточно лишь заполнить форму, в которой нас будут
придирчиво расспрашивать о наших занятиях и доходах, - если что введем не
правильно, и нас пошлют, так можно попробовать еще раз! А если какие проблемы и возникнут, то вот сходите - почитайте, http://sesna.kharkiv.org/freeall/page/old.shtml - тогда многие стразу станет ясно. Теперь остается только залить на наш новый аккаунт свой первый скрипт и полюбоваться результатами его работы. Заливать, конечно, будем по FTP. Для этого нам потребуется FTP-клиент, поддерживающий закачку. Например, всем известный FAR. Запустим его и в панели дисков выберем "FTP" Теперь нажмем <Shift-F4> и в появившемся окне диалога введем наш логин, пароль и хост (то есть имя сервера). Обращаю внимание, что имя хоста по FTP может не совпадать с WWW, - читайте об этом подробнее в инструкции на сервере! Вот и все. Дважды долбанем по Enter и дождемся пока оно соединиться. Если при этом, вас отошлют, то что-то сделано неправильно, а может, аккаунт еще не был зарегистрирован. Подождите и попробуйте снова! После того, как вы соединитесь с сервером, заливать файлы будет можно, как в обычном Norton Commander, только естественно, намного медленнее. Но в какую директорию закачивать скрипты? Конечно же, в /CGI-BIN, если только она есть! Но ее может и не быть! Это не повод нервничать и волноваться. Значит, скрипты могут выполняться в другой директории. Так у "HyperMart" это корневая директория Вашего аккаунта, а на "Virualave" это /public_html. Но прежде чем что-то закачивать, это "что-то" надо создать. А для этого нужно знать Perl. Впрочем, можно по началу поучиться на чужих скриптах. Например, ниже приведен текст скрипта, о котором рассказывалось в начале статьи. Кажется, стоит только набрать его в обычном текстовом редакторе и... И при попытке исполнить скрипт, вы получите полный облом, если сервер работает под управлением UNIX. Дело в том, что ей не нравится досовскоей завершение строки Нужен редактор, который работает с учетом особенностей UNIX. Например, знаменитый DOS NAVIGATOR (http://www.ritlabls.com/) В меню "Опции" редактора необходимо выбрать "Тип Текста" - "ЮНИКС" и вот теперь можно вводить Перловый скрипт, который будет благополучно "проглочен" UNIX. Но это еще не все! После того, как скрипт залит на сервер, ему необходимо установить атрибуты исполняемого, иначе он исполнятся не захочет. Для этого опять воспользуется уже успевшим нам полюбиться FAR-ом. Встаньте на только что закаченный файл и нажмите <Ctrl-A>. Установите атрибуты <X> от eXecutable - то есть исполняемый и нажмите Enter. Но, возможно, этого делать и не придется, если директория, куда вы собрались копировать скрипт, уже имеет такие атрибуты (тогда они наследуются, то есть передаются по умолчанию, всем расположенным в этой директории файлам). Просмотреть их можно точно так же, переместив на нее курсор и нажав <Ctrl-A> Все! Теперь пришло время испытать сей агрегат в действии. Наберите в строке браузера путь к скрипту,: стоп, а откуда мы его знаем? Как он должен выглядеть? Сложно сказать однозначно. Все зависит от конкретных настоек сервера. Поэтому ничего, кроме как сходить и почитать об этом в faq, заботливо расположенном на сервере не останется. Впрочем, вам на е-майл так же должна прийти инструкция с подробными разъяснениями. Итак, набираем сие в браузере, например, http://kpnc.hypermart.net/hello.pl для "Hypermart" и любуемся файлом etc/password этого сервера, Любуется настолько, что я даже рискнул привести всю таблицу целиком
КАРАУЛ! ТУТ НЕТ НИ ОДНОГО ЮЗЕРА! (ну, кроме demo). Верно, а что вы хотели? Сказано же было, что сервер старый, вылизанный, дыры все убраны, и пользователи за просто так не отображаются. Впрочем, в дальнейшем мы все же на него попадем, но это будет не сейчас... Сейчас же мы попробуем какой-нибудь другой сервер, что настроен по отношению к юным хакерам не так агрессивно. НЕМНОГО ХИТРОСТЕЙ И УЛОВОК
Приложение 1 Скрипт hack.pl
ПРИЛОЖЕНИЕ 2 Где хранятся пароли? Если админ не совсем лох, то в etc/passwd паролей не будет. Там можно обнаружить только "крестики". А сами пароли где? А пароли совсем в другом месте, и обычно это место от рядового юзера скрыто. То есть доступ отрублен. Но иногда случается так, что это сделать забыли! Так скажи те же, то золотое место! Увы, оно не одно и зависит от настоек администратора и выбранной системы. Ниже в таблице приводятся конфигурации по умолчанию. Попытайтесь, - быть может вам повезет (таблица взята из alt2600 faq)
Как ей пользоваться? Очень просто - заменить путь в следующей сточке скрипта на новый.
This is a text-based tutorial on hacking and Perl scripting, written in Russian. The author claims to have discovered several vulnerabilities in various web servers and provides examples of how to exploit them using Perl scripts. The tutorial begins by e Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |