Глава 42. Как запустить Metasploit Framework в Kali Linux 1.1
Metasploit Exploitation Framework — это инструмент для тестирования на проникновение. Он содержит большую базу эксплойтов, позволяет использовать их прямо из Metasploit. Существует две версии Metasploit, в этом уроке я рассматриваю бесплатную версию.
searchsploit — это инструмент для поиска эксплойтов. Содержит базу, по моим наблюдениям, более обширную, чем Metasploit. Но не содержит функции использования эксплойтов.
На всякий случай, разберёмся с терминологией. Эксплойт — это готовая программа,
которая, используя конкретную уязвимость, автоматизирует процесс проникновения
или повышения прав или другое несанкционированное действие, которое является
следствием уязвимости.
Обе программы не сложны, но нужно знать, что и как там делать. Обе эти программы включены в Kali Linux «из коробки». Поэтому, возможно, вас также заинтересуют статьи:
Как запустить Metasploit Framework в Kali Linux
Как установить Kali Linux: подробная инструкция для установки на компьютер и в виртуальную машину
Я буду рассматривать работу с этими программами в Kali Linux, но на самом деле, эти утилиты можно установить на любой Linux.
searchsploit
Это программа только для поиска известных эксплойтов. Чтобы вывести справку по ней, наберите в командной строке:
1| searchsploit -h
По материалам сайта WebWare.biz
257
Тестирование на проникновение с помощью Kali Linux 2.0
Всё просто как 5 копеек:
Ключ -c для выполнения чувствительного к регистру поиска.
Ключ -v для подробного вывода, линии с описанием могут переполнять их колонки.
На мой взгляд, обе опции не несут ничего интересного. Для поиска просто набираете searchsploit и ключевые слова (можно несколько), разделённые пробелом:
1| searchsploit phpmyadmin
По материалам сайта WebWare.biz
258
Тестирование на проникновение с помощью Kali Linux 2.0
1| searchsploit wordpress
Думаю, идея понятна. Можете искать по конкретным приложениям (и их версиям), операционным системам, плагинам и т. д.
Давайте посмотрим внимательно на вывод: есть файлы следующих типов: .c, .pl, .txt,
.sh, .php, .rb, .py, .zip, .java, .asm, .htm и др.
Файлы с расширением .txt можно только читать — открывайте его любым блокнотом и читай об уязвимости. Содержимое этих файлов, обычно, следующее: описание
По материалам сайта WebWare.biz
259
Тестирование на проникновение с помощью Kali Linux 2.0
уязвимости, пример использования, источник, информация о подверженных уязвимости версиях и т. д.
Файлы с расширением .rb написаны на языке Ruby, запускать их нужно так: ruby + пробел + расположение файла.
Пример:
1| ruby /usr/share/exploitdb/platforms/php/webapps/28126.rb
По материалам сайта WebWare.biz
260
Тестирование на проникновение с помощью Kali Linux 2.0Некоторые файлы .rb выдернуты из Metasploit. Если при обычном запуске программа жалуется на отсутствие чего-то, а в коде программы встречается строка:
1| require 'msf/core'
То самый простой способ запуска — найти этот же плагин в Metasploit и запустить его оттуда
Файлы
.c нужно компилировать.
Файлы
.php запускать из командной строки. При чём если Ruby может выводить диалоговые окна для ввода данных, то в PHP нужно сразу задавать необходимые аргументы в командной строке через пробелы после имени файла (ну или прописывать в коде скрипта, если это предусмотрено).
Например:
1| php /usr/share/exploitdb/platforms/php/webapps/35413.php webware.biz Alexey 50
Файлы
.pl написаны на языке Perl, перед именем файла, для запуска, нужно ставить perl. Аргументы передаются в командной строке (или вписываются в исходный код) как и с PHP.
Думаю, с поиском всё предельно просто. С конкретным применением — зависит от конкретного эксплойта. Переходим к Metasploit.
Metasploit Программа Metasploit расположена в меню в двух местах. Самый быстрый способ — это найти её среди 10 самых популярных приложений. Там она называется Metasploit
Framework.
Запуск каждый раз занимает какое-то время, поэтому просто ждём:
По материалам сайта WebWare.biz
261
Тестирование на проникновение с помощью Kali Linux 2.0
Если программа пишет вам что-то про базу данных и про медленный поиск, то воспользуйтесь этой инструкцией. А также можете вручную пересобрать кэш:
1| msf > db_rebuild_cache
Для поиска наберите search + пробел + ключевые слова. Например:
1| msf > search wordpress
По материалам сайта WebWare.biz
262
Тестирование на проникновение с помощью Kali Linux 2.0
Расширьте окно терминала, как это сделал я, иначе ничего непонятно.
В выводе должно быть всё понятно: первый столбец — расположение эксплойта, второй — дата, третий — ранг (насколько хороший среднестатистический результат), четвёртый — краткое описание.
Думаю, хакеры не любят WordPress за его автообновления, т. к. все известные уязвимости протухают в первый же день.
Я выбрал, например, этот:
1| exploit/unix/webapp/wp_downloadmanager_upload 2014-12-03 excellent WordPress
Download Manager (download-manager) Unauthenticated File Upload
Нужно скопировать его расположение — exploit/unix/webapp/wp_downloadmanager_upload
И теперь набираем команду use и после пробела расположение эксплойта:
1| msf > use exploit/unix/webapp/wp_downloadmanager_upload
Обратите внимание, что строка приветствия сменилась на:
Теперь набираем:
1| show options
(работает для всех эксплойтов — отображает варианты настойки).
По материалам сайта WebWare.biz
263
Тестирование на проникновение с помощью Kali Linux 2.0
Как минимум, нам нужно задать удалённый хост. Все настройки делаются через команду set
Например:
1| set RHOST webware.biz
В данном эксплойте можно больше ничего не менять. Но обратите внимание на
TARGETURI. В отдельных эксплоитах, например, для phpMyAdmin, этот параметр изначально задан как phpmyadmin и если целевой скрипт находится в другом каталоге, то эксплойт просто не найдёт адрес.
Для начала выполнения эксплойта наберите:
1| exploit
Думаю, общие принципы работы понятны.
По материалам сайта WebWare.biz
264
Тестирование на проникновение с помощью Kali Linux 2.0Порекомендую ещё одну команду, чтобы было понятно, в
какую сторону нужно копать, для чего искать эксплойты, какие порты открыты и для каких служб и т. д. Это команда
nmap. Применять так:
1| msf > nmap 10.0.2.2 1| msf > nmap webware.biz
По материалам сайта WebWare.biz
265
Тестирование на проникновение с помощью Kali Linux 2.0Ну и, конечно, для того чтобы знать, какие эксплойты использовать, нужно знать работающие на целевой машине программы и их версии. Определённую помощь в этом может оказать вам статья "Обзор разделов инструментов Kali Linux 1.0.9a. Часть 2.
Инструменты для сбора информации".
Заключительные слова Скажу честно, базы эксплойтов меня разочаровали: я слежу за обновлениями самых популярных веб-приложений (phpMyAdmin, WordPress, Drupal и т. д.) и за последние месяцы в списках изменений мелькало достаточно много закрытых уязвимостей. Под большинство из них я не нашёл эксплойтов. Возможно, это касается только эксплойтов для веб-приложений. Вполне возможно, что для операционных систем и программ всё намного интереснее. Отсутствие в паблике эксплойтов на свежие версии популярных веб-приложений я связываю с тем, что: а) не так уж и просто потенциальную уязвимость раскрутить, хотя бы, до работающего концепта; б) самые интересные эксплойты собраны в закрытых базах, возможно, доступных за плату или только для определённого круга лиц.
Глава 43. DIRB: поиск скрытых каталогов и файлов на веб-сайтах Статья написана по материалам Энциклопедии Kali.Tools Никогда не бывает лишним просканировать веб-сайт на наличие скрытых каталогов и файлов (скрытых — имеются ввиду каталоги и файлы, на которые не ведут ссылки, и о которых знает только веб-мастер). Как минимум, можно узнать что-то новое о сайте, а бывает просто выпадает супер-приз — архив сайта или базы данных, бэкап чувствительных файлов и т.д.
DIRB — это сканер веб-контента. Он ищет существующие (возможно, скрытые) веб- объекты. В основе его работы лежит поиск по словарю, он формирует запросы к веб- серверу и анализирует ответ.
DIRB поставляется с набором настроенных на атаку словарей для простого использования, но вы можете использовать и ваш собственный список слов. Также иногда DIRB можно использовать как классический CGI сканер, но помните, что в
первую очередь это сканер содержимого, а не сканер уязвимостей.
Главная цель DIRB — это помочь профессионалам в аудите веб-приложений. Особенно в тестах ориентированных на безопасность. Она покрывает некоторые дыры, не охваченные классическими сканерами веб-уязвимостей. DIRB ищет специфические веб- объекты, которые другие сканеры CGI не ищут. Она не ищет уязвимости и не ищет веб- содержимое, которое может быть уязвимым.
Может быть, эта программа станет последней попыткой для невезучих аналитиков по безопасности…
Использование DIRB 1|
dirb <базовый_адрес> [<список(и)_файлов>] [опции]
По материалам сайта WebWare.biz
266
Тестирование на проникновение с помощью Kali Linux 2.0
Примечания
<базовый_адрес> : Основной URL для сканирования. (Используйте -resume для возобновления сессии)
<список(и)_файлов> : Список словарей. (словарь1,словарь2,словарь3…)
Горячие клавиши DIRB
'n' -> Перейти к следующей директории.
'q' -> Остановить сканирование. (Сохронить состояние для возобновления)
'r' -> Remaining scan stats.
Опции DIRB
-a <строка_агента> : Задайте ваш пользовательский USER_AGENT.
-c <строка_кукиз> : Установите куки для HTTP запроса.
-f : Забавный тюнинг при выявлении NOT_FOUND (404).
-H <строка_заголовка> : Задайте пользовательский заголовок HTTP запроса.
-i : Использовать поиск без учёта регистра.
-l : Печатать заголовок "Location" когда найден.
-N : Игнорировать ответы с этим HTTP кодом.
-o <файл_для_вывода> : Сохранить вывод на диск.
-p <прокси[:порт]> : Использовать прокси. (Порт по умолчанию 1080)
-P
: Аутентификация на прокси.
-r : Не искать рекурсивно.
-R : Интерактивная рекурсия. (Спрашивать для каждой директории)
-S : Молчаливый режим. Не показывать тестируемые слова. (Для простых терминалов)
-t : Не принуждать к конечному слешу '/' в URL.
-u <пользователь:пароль> : HTTP аутентификация.
-v : Показывать также страницы NOT_FOUND.
-w : Не показывать сообщений WARNING.
-X <расширение> / -x <расширения_файла> : Применить эти расширения к каждому слову.
-z <миллисекунды> : Добавить миллисекунды,для задержки, чтобы не стать причиной экстенсивного флуда.
Примеры DIRB
dirb https://url/directory/ (Простой тест) dirb https://url/ -X .html (Тестировать файлы с расширением '.html') dirb https://url/ /usr/share/dirb/wordlists/vulns/apache.txt (Тестировать списком слов apache.txt) dirb https://secure_url/ (Простой тест с SSL)
По материалам сайта WebWare.biz
267
Тестирование на проникновение с помощью Kali Linux 2.0
Дерево словарей DIRB
1| root@WebWare:# tree /usr/share/wordlists/dirb*
2|
/usr/share/wordlists/dirb
3|
├── big.txt
4|
├── catala.txt
5|
├── common.txt
6|
├── euskera.txt
7|
├── extensions_common.txt
8|
├── indexes.txt
9|
├── mutations_common.txt
10|
├── others
11|
│ ├── best1050.txt
12|
│ ├── best110.txt
13|
│ ├── best15.txt
14|
│ └── names.txt
15|
├── small.txt
16|
├── spanish.txt
17|
├── stress
18|
│ ├── alphanum_case_extra.txt
19|
│ ├── alphanum_case.txt
20|
│ ├── char.txt
21|
│ ├── doble_uri_hex.txt
22|
│ ├── test_ext.txt
23|
│ ├── unicode.txt
24|
│ └── uri_hex.txt
25|
└── vulns
26|
├── apache.txt
27|
├── axis.txt
28|
├── cgis.txt
29|
├── coldfusion.txt
30|
├── domino.txt
31|
├── fatwire_pagenames.txt
32|
├── fatwire.txt
33|
├── frontpage.txt
34|
├── hpsmh.txt
По материалам сайта WebWare.biz
268
Тестирование на проникновение с помощью Kali Linux 2.0
35|
├── hyperion.txt
36|
├── iis.txt
37|
├── iplanet.txt
38|
├── jboss.txt
39|
├── jersey.txt
40|
├── jrun.txt
41|
├── netware.txt
42|
├── oracle.txt
43|
├── ror.txt
44|
├── sap.txt
45|
├── sharepoint.txt
46|
├── sunas.txt
47|
├── tests.txt
48|
├── tomcat.txt
49|
├── vignette.txt
50|
├── weblogic.txt
51|
└── websphere.txt
52|
/usr/share/wordlists/dirbuster
53|
├── apache-user-enum-1.0.txt
54|
├── apache-user-enum-2.0.txt
55|
├── directories.jbrofuzz
56|
├── directory-list-1.0.txt
57|
├── directory-list-2.3-medium.txt
58|
├── directory-list-2.3-small.txt
59|
├── directory-list-lowercase-2.3-medium.txt
60|
└── directory-list-lowercase-2.3-small.txt
61|
62|
3 directories, 54 files
Описание словарей DIRB
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
big.txt
/usr/share/wordlists/dirb/big.txt
20469 catala.txt
/usr/share/wordlists/dirb/catala.txt
161 common.txt
/usr/share/wordlists/dirb/common.txt
4614
По материалам сайта WebWare.biz
269
Тестирование на проникновение с помощью Kali Linux 2.0
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
euskera.txt
/usr/share/wordlists/dirb/euskera.txt
197 extensions_common.t xt
/usr/share/wordlists/dirb/extensions_common.txt
29
Расширения файлов indexes.txt
/usr/share/wordlists/dirb/indexes.txt
10 mutations_common.t xt
/usr/share/wordlists/dirb/mutations_common.txt
49 best1050.txt
/usr/share/wordlists/dirb/others/best1050.txt
1049
Лучшая выборка из
1050 пунктов best110.txt
/usr/share/wordlists/dirb/others/best110.txt
110
Лучшая выборка из
110 пунктов best15.txt
/usr/share/wordlists/dirb/others/best15.txt
15
Лучшая выборка из
15 пунктов names.txt
/usr/share/wordlists/dirb/others/names.txt
8607 small.txt
/usr/share/wordlists/dirb/small.txt
959 spanish.txt
/usr/share/wordlists/dirb/spanish.txt
449
Испанские слова в каталогах alphanum_case_extra.
txt
/usr/share/wordlists/dirb/stress/alphanum_case_ex tra.txt
95 alphanum_case.txt /usr/share/wordlists/dirb/stress/alphanum_case.txt
62 char.txt
/usr/share/wordlists/dirb/stress/char.txt
26 doble_uri_hex.txt
/usr/share/wordlists/dirb/stress/doble_uri_hex.txt
256 test_ext.txt
/usr/share/wordlists/dirb/stress/test_ext.txt
17576 unicode.txt
/usr/share/wordlists/dirb/stress/unicode.txt
65536 uri_hex.txt
/usr/share/wordlists/dirb/stress/uri_hex.txt
256 apache.txt
/usr/share/wordlists/dirb/vulns/apache.txt
30
Apache axis.txt
/usr/share/wordlists/dirb/vulns/axis.txt
17 cgis.txt
/usr/share/wordlists/dirb/vulns/cgis.txt
3494 coldfusion.txt
/usr/share/wordlists/dirb/vulns/coldfusion.txt
21 domino.txt
/usr/share/wordlists/dirb/vulns/domino.txt
291 fatwire_pagenames.tx t
/usr/share/wordlists/dirb/vulns/fatwire_pagenames
.txt
2711 fatwire.txt
/usr/share/wordlists/dirb/vulns/fatwire.txt
101
По материалам сайта WebWare.biz
270
Тестирование на проникновение с помощью Kali Linux 2.0
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
frontpage.txt
/usr/share/wordlists/dirb/vulns/frontpage.txt
43 hpsmh.txt
/usr/share/wordlists/dirb/vulns/hpsmh.txt
238 hyperion.txt
/usr/share/wordlists/dirb/vulns/hyperion.txt
579 iis.txt
/usr/share/wordlists/dirb/vulns/iis.txt
59
IIS iplanet.txt
/usr/share/wordlists/dirb/vulns/iplanet.txt
36 jboss.txt
/usr/share/wordlists/dirb/vulns/jboss.txt
19 jersey.txt
/usr/share/wordlists/dirb/vulns/jersey.txt
129 jrun.txt
/usr/share/wordlists/dirb/vulns/jrun.txt
13 netware.txt
/usr/share/wordlists/dirb/vulns/netware.txt
60 oracle.txt
/usr/share/wordlists/dirb/vulns/oracle.txt
1075
Oracle ror.txt
/usr/share/wordlists/dirb/vulns/ror.txt
121 sap.txt
/usr/share/wordlists/dirb/vulns/sap.txt
1111 sharepoint.txt
/usr/share/wordlists/dirb/vulns/sharepoint.txt
1708 sunas.txt
/usr/share/wordlists/dirb/vulns/sunas.txt
52 tests.txt
/usr/share/wordlists/dirb/vulns/tests.txt
34 tomcat.txt
/usr/share/wordlists/dirb/vulns/tomcat.txt
87
Tomcat vignette.txt
/usr/share/wordlists/dirb/vulns/vignette.txt
74 weblogic.txt
/usr/share/wordlists/dirb/vulns/weblogic.txt
361 websphere.txt
/usr/share/wordlists/dirb/vulns/websphere.txt
560 apache-user-enum-
1.0.txt
/usr/share/wordlists/dirbuster/apache-user-enum-
1.0.txt
8930
Перечислени е пользовател ей
Apache
1.0 apache-user-enum-
2.0.txt
/usr/share/wordlists/dirbuster/apache-user-enum-
2.0.txt
10355
Перечислени е пользовател ей
Apache
2.0 directories.jbrofuzz /usr/share/wordlists/dirbuster/directories.jbrofuzz
58688 directory-list-1.0.txt /usr/share/wordlists/dirbuster/directory-list-1.0.txt 141708
Список директорий directory-list-2.3- medium.txt
/usr/share/wordlists/dirbuster/directory-list-2.3- medium.txt
220560
Список директорий среднего размера
По материалам сайта WebWare.biz
271
Тестирование на проникновение с помощью Kali Linux 2.0Название файла Полный путь до файла Количество записей в файле Описание содержимого directory-list-2.3- small.txt
/usr/share/wordlists/dirbuster/directory-list-2.3- small.txt
87664
Список директорий малого размера directory-list- lowercase-2.3- medium.txt
/usr/share/wordlists/dirbuster/directory-list- lowercase-2.3-medium.txt
207643
Список директорий среднего размера, имена приведены к нижнему регистру directory-list- lowercase-2.3- small.txt
/usr/share/wordlists/dirbuster/directory-list- lowercase-2.3-small.txt
81643
Список
директорий малого размера, имена приведены к нижнему регистру
перейти в каталог файлов