Soft Как найти SQL Injection с помощью дорков. Обзор V3n0M-Scanner

V3n0M-logo1.jpg


Всем привет! Сегодня будет небольшой обзор утилитки под названием V3n0M-Scanner.
Самая стоящая функция сканера - поиск SQLi- и XSS-уязвимостей в на веб-сайтах с помощью дорков. А база дорков у V3n0M просто колоссальная: более 14 000 штук!
Если буду где-то через чур углубляться в подробности, то это делается для новичков :)

Из второстепенных функций сканера:
- поиск IP за Cloudflare (Cloudflare Resolver);
- поиск админки веб-сайта;
- dns brute.

В будущем планируют реализовать функцию сканирования уязвимостей по базе Metasploit.

Чаще встречаемое на полях рунета понятие Гугл Доркс — это транслит от английского Google Dork(s)Тупица(ы), сидящий в Google, Тупица в Гугле и т.п. Изначально, когда понятие только зарождалось, им награждали неких нерадивых IT (или не всегда) специалистов, которые чаще по простому незнанию «сливали» в общий сетевой доступ конфиденциальную информацию о компании, где трудились.

Постепенно название Гугл Доркс закрепилось за малосведущим администратором, неумело прячущим элементарные секреты от взлома электронной визитки компании, оставляя почти в открытом доступе лазейки для хакера и последующего несанкционированного доступа

Допустим, мы знаем, что если URL сайта содержит текст "page.php?file=", то есть некоторая вероятность, что данная ссылка уязвима к атаке SQL Injection. Манипулируя параметрами после знака = мы можем получить несанкционированный доступ к базе данных и извлечь из нее критичную информацию. Например, логины и пароли от веб-сервера. В данном случае "page.php?file=" - это дорк, шаблон, с помощью которого можно обнаружить уязвимости на веб-сайтах.

Поиск по доркам в народе называют гугл хакинг. Например, чтобы найти все сайты, у которых URL содержит дорк page.php?file=, нужно ввести в Google следующий запрос:

google hack.jpg


Вручную можно тестировать несколько десятков дорков. Но когда их тысячи, то на помощь приходят скрипты, которые позволяют осуществлять такой поиск в автоматическом режиме. Как V3n0M. Правда эта утилита для поиска использует не гугл, а bing.

apt-get install python3-pip python3-dev python-dev
pip3 install aiohttp asyncio bs4 dnspython tqdm datetime requests socksipy-branch httplib2

git clone https://github.com/v3n0m-Scanner/V3n0M-Scanner.git
cd V3n0M-Scanner/
python3 setup.py install --user

Запускаем утилитку:

V3n0M-main menu.jpg


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

1. Choose your target(domain) ie .com , to attempt to force the domain restriction use *, ie *.com :

Здесь можно указать конкретный домен, который мы желаем протестировать. Например, test.ru.
Если интересуют еще и субдомены, то вводим *.test.ru. Можно сделать поиск уязвимостей во всем русском сегменте интернета: *.ru . А если ввести просто *, то поиск будет осуществляться вообще по всем сайтам. В своем примере я выберу звездочку.

2. Choose the number of random dorks (0 for all.. may take awhile!)

Здесь необходимо выбрать количество дорков, которое будет использоваться при сканировании. Дорков в базе более 14 тысяч. Если выбрать 0, то скрипт будет искать по всей базе. Такой поиск может затянуться на несколько часов. Можно указать конкретное количество дорков, тогда скрипт будет выбирать их из базы в случайном порядке. Для своего примера я выберу 200.

3. Enter no. of threads, Between 50 and 500

Количество потоков сканирования. Можно выбрать от 50 до 500. Я выберу 50.

4. Enter no. of Search Engine Pages to be scanned per d0rk, Between 20 and 100, increments of 20. Ie> 20:40:60:80:100

Здесь нужно указать количество страниц в поисковой системе, вывод которых будет анализировать скрипт. Чем больше число, тем больше результатов, но при этом увеличится время сканирования. Для примера я выбрал 20.

Далее запускается процесс автоматического гугл хакинга.
После завершения процедуры поиска скрипт предлагает нам решить что же делать с тем, что он так тщательно искал. Например, на скриншоте ниже видно, что было найдено 1485 ссылок, а после очистки дубликатов и прочего мусора осталось всего лишь 172.
Но все ли они являются уязвимыми? Проверяем!

Выберем пункт [1] SQLi Testing

V3n0M-vulscan01.jpg


Скрипт автоматически проверит на SQL Injection все найденные ссылки и выдаст результат со списком уязвимых URL.

V3n0M-vulscan02.jpg


В моем случае скрипт нашел 10 уязвимостей и определил тип для каждой. Как показала практика, тип уязвимости MySQL Classic - это Union Based SQLi. Далее можно получать доступ к базам данных через SQLMap. Но можно и почувствовать себя настоящим хакером и попробовать получить данные ручками в браузере :)

Можно проверить ссылки на уязвимость к XSS:
[4] XSS Testing

Скрипт в меню тестирования часто глючит и после очередной проверки нас может выкинуть в главное меню без сохранения результата. Поэтому лучше сразу воспользоваться функцией сохранения результатов в файл:
[5] Save valid Sorted and confirmed vuln urls to file

Что еще интересного есть в скрипте?

2017-09-02_4-14-13.jpg


1. Можно настроить работу через прокси
[5] Enable Tor/Proxy Support


2. Можно попробовать найти IP-адрес сервера, если он спрятан за Cloudflare
[6] Cloudflare Resolving


Скрипт выполняет обычный брут по субдоменам и выдает для них IP. Если повезет, то где-то в глубинах DNS сохранился вожделенный прямой IP искомого сервера.

При запуске модуля вылетит ошибка:
ImportError: No module named request

Чтобы ее исправить, необходимо найти в файле v3n0m.py строчку:
cloud = subprocess.Popen('python ' + pwd + "/cloudbuster.py " + str(target_site) + scandepth, shell=True)
и заменить в ней python на python3

3. Можно попробовать сбрутить субдомены
[4] DNS brute


Функция отличается от Cloudflare Resolving только тем, что скрипт показывает результаты с субдоменами без IP-адреса.

Как по мне, то лучше воспользоваться dnsmap.

При запуске функции вылетит ошибка:
dnsbrute: error: argument -t/--threads: expected one argument

Автор скрипта упустил значение параметра t в вызове скрипта dnsbrute.py:
dnsbrute = subprocess.Popen(pwd + "/modules/dnsbrute.py -w lists/subdomains -u " + str(target_site) + " -t " + att

Поэтому если хочется, чтобы DNS brute работал, то нужно удалить из этой строчки: + " -t"
Либо задать конкретную цифру этому параметру, в данном случае t - количество потоков.

А на этом всё!
 

Вложения

  • V3n0M-logo1.jpg
    V3n0M-logo1.jpg
    26,2 КБ · Просмотры: 1 111
Последнее редактирование модератором:

Vlaffi

New member
19.03.2020
1
0
BIT
0
Три раза проверял, не чего не нашло... Находит сайты по доркам, но по sql тесту не чего не находит. После того как я врубаю sql тест, после того как найдены сайты с доркам, сразу же, моментально вылазиет что уязвимых найдено 0, как будто даже поиска не было, синих ссылок перед которыми было бы написано "Testing" - нету. С тестом XSS всё иначе, всё работает...
+
 

spiritwashere

New member
09.06.2020
1
0
BIT
0
Quick patch:
modify the 1014 line on v3n0m.py file, commenting the site check (end of if part):
from if domain not in tmplist and "=" in url and site in url:
-> if domain not in tmplist and "=" in url: # and site in url:

cheers
 

Ganak

New member
02.07.2022
4
0
BIT
0
а сейчас когда все обновилось как устанавливать и запускать? или вообще уже ей не пользуются?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!