Sqlmap – это инструмент с открытым исходным кодом для тестирования на проникновение, который автоматизирует процесс обнаружения и эксплуатации SQL-инъекций и захвата серверных баз данных. Инструмент поставляется с мощным поисковым ядром, многими нишевыми особенностями для пользователя, осуществляющего проникновение, широким диапазоном переключателей, начиная от получения полезных сведений о базе данных и получения информации от базы данных, до доступа к основной файловой системе и выполнению команд над операционной системой посредством внеполосного подключения.
- Обнаружение баз данных
Cинтаксис – sqlmap –u target url –dbs
Пример – sqlmap –u www.example.net/product.php?id=9 –dbs
На этом изображении показано, что после выполнения этой команды мы получили некоторую полезную информация, такую как ‘GET parameter id might be injectable (Possible dbms : MySQL).’ (Есть возможность получить GET-параметры id, MySQL является вероятной базой данных). То есть отображается способ для взлома сайта. Как специалисты по безопасности мы можем сказать, что присутствует уязвимость и плохой человек может использовать это. Теперь перейдем к следующему процессу, просто написав 'y' и нажав enter (ввод).
2. Напишите 'n' и нажмите enter. Если все в порядке, то вы перейдете к следующему шагу, просто напечатав 'y' и нажав enter. Я не буду объяснять, почему мы пишем где-то 'y', а где-то 'n'. Просто прочитайте, что спрашивается, и делаете то, что вы хотите сделать, подтверждая это ответом.
3. Напишите 'y' и нажмите enter.
4. Теперь нам известно о двух доступных базах данных нашей цели: ‘information_schema’ и ‘muand’. Если желаете, можно записать названия в блокнот или где-либо ещё для использования в дальнейшем.
5. Поиск таблиц в базе данных
Теперь пришло время выяснить, какие таблицы присутствует в определенной базе данных. Предположим, что нас интересует база данных 'muand'. В общем случае следует провести эксперимент с обеими. Вы получите большое количество информации о вашей цели. Сейчас мы будем работать лишь с muand.
Синтаксис – sqlmap –u target url –D target database – tables
Пример – sqlmap –u www.example.net/product.php?id=9 –D muand –tables
6. Идет поиск таблиц……
7. Обнаружено 19 таблиц в нашей целевой базе данных. Сейчас вы должны использовать ваш острый ум и определить, какие таблицы вам следует выбрать, чтобы заполучить ID и пароль. Здесь мы выбираем admin, потому что, складывается ощущение того, что там присутствует нужная нам информация.
8. Получение столбцов таблицы
У нас имеется список таблиц. Теперь заполучим столбцы таблицы admin.
Синтаксис - sqlmap –u target url –D target database –T target table –columns
Пример - sqlmap –u www.example.net/product.php?id=9 –D muand –T admin –columns
9. Идет поиск столбцов……
10. Обнаружено 3 столбца в нашей целевой таблице 'admin'.
11. Получение данных из таблицы
Теперь самая интересная часть – извлечение данных из таблицы. Прежде всего запускаем команду для username.
Синтаксис – sqlmap –u target url –D target database –T target table –C target column –dump
Пример - sqlmap –u www.example.net/product.php?id=9 –D muand –T admin –C username –dump
12. Мы получили имя пользователя – admin
13. Ещё раз выводим столбец password, чтобы проверить, что есть в этом столбце, поэтому используйте ту же команду, которую использовали для столбца 'username'
Синтаксис – sqlmap –u target url –D target database –T target table –C target column –dump
Пример - sqlmap –u www.example.net/product.php?id=9 –D muand –T admin –C password --dump
14. При выводе столбца, мы заполучили пароль в виде хеша. Запишите его на будущее.
15. Мы заполучили хешированный пароль, поэтому на этом этапе sqlmap предлагает вам в качестве опции взломать этот хеш, используя атаку перебора по словарю. Как нам всем известно, атака с перебором занимает очень много времени, но просто для того, чтобы показать, как это работает, я пишу 'y' и нажимаю enter для запуска следующего процесса. Предлагаются три опции. Можно просто использовать словарь по умолчанию (default dictionary), написав '1' и нажав enter. Ещё раз напишите 'y' и нажмите enter. Вы можете видеть попытки программы взломать хеш – они подсвечены зеленым шрифтом.
16. Спустя некоторое время я понимаю, что взлом этого хеша при помощи словаря был очень плохой идеей, поэтому я просто остановил процесс, нажав ctrl + c, в результате чего появилось сообщение no clear password found (пароль не обнаружен), и отобразился невзломанный хеш.
17. Попробуем взломать этот хеш, заручившись внешней поддержкой. Для этого откройте сайт www.md5decrypter.co.uk в вашем браузере и затем введите ваш хеш в поле MD5 Hashes field, введите проверочное слово и нажмите на Decrypt Hashes (расшифровать хеш).
18. По прошествии некоторого времени, мы взломали этот хеш, и как вы можете видеть, теперь у нас есть оригинальный пароль.
19. Теперь найдем страничку администратора нашего целевого url, используя kali linux или сторонние сайты, которые могут легко сделать это для вас. Подробнее на изображении…
20. Мы ищем страницу администратора целевого сайта, используя другой веб-сайт, и в конце концов находим её. Выделенная зеленым цветом страница и есть искомая страница администратора.
21. Если вы взгляните на все то, что мы сделали, то обнаружите, что у нас теперь есть все необходимое для входа на сайт в качестве администратора. Давайте составим список того, что мы имеем на руках.
(i) Страница администратора целевого сайта
(ii) Имя пользователя администратора
(iii) Пароль администратора
Теперь нам нужно лишь войти на сайт, но мы упустили из виду один момент – наш IP-адрес. Да, нам нужно скрыть наш IP-адрес, чтобы наш противник не смог выследить нас. Используйте программу для скрытия вашего IP-адреса и проверьте ваши навыки работы с SQLMAP. Как вы можете видеть на этом изображении, мы успешно вошли в систему. Ощущая себя дьяволом, не совершайте ничего дьявольского. Будьте ангелом и сообщите собственнику сайта, что его система безопасности уязвима и на этом все. Не хвастайтесь вашими способностями, уважайте себя.
P.S Копипаст :(