Установка OWASP Mutillidae II и Damn Vulnerable Web Application (DVWA) в Kali Linux


Буквально вчера вышла новая версия OWASP Mutillidae II 2.6.43. И среди изменений наконец-то добавлена долгожданна поддержка PHP 7.0. Damn Vulnerable Web Application (DVWA) также в своей версии на Гитхабе доведён до работы с PHP 7.0. В связи с этим появилась идея написать небольшие скрипты для их установки в Kali Linux

Если коротко, OWASP Mutillidae II и Damn Vulnerable Web Application (DVWA) – это уязвимые веб-приложения, которые специально предназначены для тренировки в поиске и эксплуатации различных уязвимостей (т.е. в тестировании на проникновение), на них можно тренироваться по взлому сайтов или тестировать инструменты для сканирования сайтов. Более подробную информацию о Mutillidae и DVWA вы найдёте по ссылкам выше.

Подготовка

MySQL 5.7 изменила модель безопасности: теперь вход в MySQL под рутом (root) требует sudo (при этом пароль всё равно может быть пустым). При этих настройках OWASP Mutillidae II и Damn Vulnerable Web Application (DVWA) не смогут работать.

Для получения доступа к базе данных MySQL/MariaDB обычному пользователю без использования sudo привилегий, зайдите в приглашение командной строки MySQL

sudo systemctl start mysql
sudo mysql

и запустите следующие команды:

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '';
flush privileges;
exit

Затем перезапустите службу MySQL:

sudo systemctl restart mysql.service

Если после работы скриптов при открытии браузера у вас показываются пустые страницы, это означает, что вам также вам необходимо переключиться с PHP 7.2 на PHP 7.3, как это сделать описано в статье «Решение проблемы: веб-сервер в Kali Linux показывает пустые страницы».

Установка OWASP Mutillidae II в Kali Linux

Создайте базу данных mutillidae, для этого подключитесь с СУБД:

sudo mysql

И выполните следующий запрос:

CREATE DATABASE mutillidae;

Создайте файл upd_mutillidae.sh и скопируйте в него:

#!/bin/bash

sudo apt update
sudo apt install php-xml php-fpm libapache2-mod-php php-mysql php-gd php-imap php-curl php-mbstring mariadb-server -y
sudo a2enmod proxy_fcgi setenvif
sudo systemctl restart apache2
sudo a2enconf php8.2-fpm
sudo systemctl reload apache2
sudo systemctl restart apache2.service
sudo systemctl restart php8.2-fpm
sudo systemctl restart mysql
 
cd /tmp
git clone https://github.com/webpwnized/mutillidae
if [ $? -ne '0' ]; then
    exit 1
fi
 
if [ -d "/var/www/html/mutillidae.backup" ]; then
    sudo rm -rf /var/www/html/mutillidae.backup
fi
 
if [ -d "/var/www/html/mutillidae" ]; then
    sudo mv /var/www/html/mutillidae /var/www/html/mutillidae.backup
fi
 
sudo mkdir /var/www/html/mutillidae
sudo mv mutillidae*/* /var/www/html/mutillidae/
sudo sed -i "s/'DB_PASSWORD', 'mutillidae'/'DB_PASSWORD', ''/" /var/www/html/mutillidae/includes/database-config.inc
  
sudo chown -R www-data:www-data /var/www/html/mutillidae/
  
sudo rm -rf mutillidae*
  
cd

# It needs “Lightweight Directory Access Protocol (LDAP)” and “PHPLDAPAdmin” but I don't know how to set them up yet
# sudo apt install slapd
# sudo systemctl start slapd.service

Запустите файл:

sudo bash upd_mutillidae.sh

После завершения установки OWASP Mutillidae II будет доступен по ссылке http://localhost/mutillidae/. При первом запуске вы увидите примерно следующее:


Нажмите «setup/reset the DB» и дождитесь создания базы данных. Затем во всплывающем окне просто нажмите ОК:

Для инициализации базы данных перейдите по ссылке: http://localhost/mutillidae/set-up-database.php

Теперь вы полностью готовы для обучения взлому веб-сайтов:

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

В скрипте прописан запуск служб, но поскольку в Kali Linux по умолчанию службы веб-сервера и СУБД не добавлены в автозагрузку, то при перезапуске системы перед тем, как попасть в Mutillidae, вам нужно запустить службы:


sudo systemctl start php8.2-fpm.service
sudo systemctl start apache2.service
sudo systemctl start mysql

Установка Damn Vulnerable Web Application (DVWA) в Kali Linux

Создайте базу данных dvwa, для этого подключитесь с СУБД:

sudo mysql

И выполните следующий запрос:

CREATE DATABASE dvwa;

Сохраните следующий скрипт в файл upd_dvwa.sh:

#!/bin/bash

sudo apt update
sudo apt install php php-mysql php-gd mariadb-server -y

# Deprecated as of PHP 7.4.0.
# sudo sed -i 's/allow_url_include = Off/allow_url_include = On/' /etc/php/8.2/apache2/php.ini

sudo systemctl restart apache2
sudo systemctl restart mysql

cd /tmp

git clone https://github.com/ethicalhack3r/DVWA

if [ -d "/var/www/html/dvwa.backup" ]; then
    sudo rm -rf /var/www/html/dvwa.backup
fi

if [ -d "/var/www/html/dvwa" ]; then
    sudo mv /var/www/html/dvwa /var/www/html/dvwa.backup
fi

sudo mkdir /var/www/html/dvwa
sudo mv DVWA*/* /var/www/html/dvwa/

sudo chown -R www-data:www-data /var/www/html/dvwa/

sudo rm -rf DVWA*

sudo mv /var/www/html/dvwa/config/config.inc.php.dist /var/www/html/dvwa/config/config.inc.php
sudo sed -i 's/p@ssw0rd//' /var/www/html/dvwa/config/config.inc.php
sudo sed -i "s/'db_user' ]/'db_user' ] = 'root'; \/\//" /var/www/html/dvwa/config/config.inc.php

cd

Запустите файл следующим образом:

sudo bash upd_dvwa.sh

Перейдите на страницу Setup / Reset DB в DVWA и выполните сброс / пересоздание базы данных.

Теперь установленные DVWA доступны по адресу http://localhost/dvwa/

Этот же самый скрипт можно использовать для обновления DVWA по мере выхода новых версий.

После перезагрузки системы перед работой с уязвимыми приложениями не забывайте запускать Apache и MySQL.

Также если вы поменяли пароль для MySQL (по умолчанию пароль не используется), то установите его в соответствующих файлах:

  • /var/www/html/mutillidae/classes/MySQLHandler.php (для Mutillidae)
  • /var/www/html/dvwa/config/config.inc.php (для DVWA)

Рекомендуется Вам:

30 комментариев to Установка OWASP Mutillidae II и Damn Vulnerable Web Application (DVWA) в Kali Linux

  1. LeGIon:

    Простите за глупый вопрос а как создать файл

    • Alexey:

      Правая кнопка мыши, далее Создать документ, далее Пустой документ.

      Или Меню, далее Usual applications, далее Leafpad

      Или в командной строке

      gedit имя_файла

      Например:

      gedit upd_mutillidae.sh
      
  2. LeGIon:

    Ещё вопрос при заходе на страницу dvwa запрашивает логин и пароль

  3. LeGIon:

    Тоесть я создаю базу данных перехожу по адресу http://localhost/dvwa/

    и меня просят вести логин пароль что мне делать (очень извеняюсь за глупые вопросы)

     

  4. Андрей:

    Добрый день, скрипты выложенные в данной теме как написаны? Посредством отличного знания команд линукса или какой-то язык программирования?

    • Alexey:

      Это команды Bash (командной оболочки) собранные в скрипт (пакетный файл). Bash это и Unix-оболочка и скриптовый язык программирования. Сами скрипты большей степенью состоят из команд ОС.

      • mrx:

        Дурной тон писать скрипты в gedit, уж лучше использовать nano

         

        • Alexey:

          Думаю, исключительно дело привычки. Меня тоже вот по какой-то иррациональной причине раздражают те, кто на системах без графического окружения использует что-либо кроме vim. Не удивлюсь, если такие как мы (пользователи nano и vim) раздражаем тех, кто сумел освоить emacs ))))))

  5. Алексей:

    Я тоже задам не маловажный, но может не совсем умный вопрос. У меня вместо OWASP Mutillidae - OWASP MAntra, я его скачал есть файл исполнительный в конце названия написано install, я его запускаю, всё работает, но когда закрываю. он не находиться в консоли всех приложений и как из терминала его запускать тоже не знаю команд, приходиться через этот установочный файл его открывать. Как его присоседить ко всем приложениям?

  6. Алексей:

    sudo bash upd_mutillidae.sh
    bash: upd_mutillidae.sh: Нет такого файла или каталога
    Хотя у меня Мантра, но так потренироваться.Не открывается файл

    • mrx:

      пробуй так: sudo ./upd_mutillidae.sh

      Кстати, ты перед тем как юзать права на выполнение скрипта давал?

      sudo chmod +x  upd_mutillidae.sh

    • Tezlin:

      Ты должен расположить файл не на рабочем столе а в корневой папке home/kali/  

  7. Alexey:

    Инструкция и скрипты обновлены - теперь снова всё работает.

  8. Alexey:

    Скрипты обновлены в связи с переходом Kali Linux на PHP 7.2.

  9. Ivan:

    Сделал все по инструкции, получил ошибку:

    Not Found

    The requested URL /mutillidae/ was not found on this server.
    Apache/2.4.29 (Debian) Server at localhost Port 80

    • Alexey:

      Только что проверил на свежей системе – всё работает.

      У вас какая-нибудь совсем простая ошибка – или у системы нет Интернет-подключения или банально не запустили скрипт upd_mutillidae.sh.

      Попробуйте сделать ещё раз, и напишите здесь в комментарии ошибки, которые возникают.

      Нужно делать вместе с подготовительным этапом – в точности как описано в этой инструкции – в том числе переключаться с PHP 7.0 на PHP 7.2.

      • Ivan:

        Благодарю, предыдщую проблему решил. Проблема была в настройках конфигурации Apache. В данный момент возникла новая проблема, не получается установить OWASP. Дальше этапа установки БД не уходит. - "HTML 5 Local and Session Storage cleared unless error popped-up already". 

        • Alexey:

          Сообщение говорит, что хранилища очищены, если не вылезли какие-либо ошибки. Т.е. просто переходите на страницу http://localhost/mutillidae/ и начинайте работать.

          UPD: Сейчас попробовал открыть сайт с остановленным MySQL сервером и получил такое же сообщение. Решение: запустите MySQL-сервер - об этом несколько раз говориться в инструкции, в каждом скрипте есть команда для запуска:

          sudo systemctl start mysql

          Просто делайте всё по инструкции. 

  10. Denis:

    Здравствуйте, Алексей! Спасибо за труд очень помогло: что касается dvwa, то все ок, а вот на счет mutillidae не отображается веб итнерфейс, возможно подскажите что не так, есть какие идеи?

    • Alexey:

      Приветствую! Сразу два больших изменения: в Kali Linux PHP обновился до версии 7.3, а OWASP Mutillidae II переехал на GitHub. Сейчас поправил и скрипты и команды — попробуйте ещё раз. Если не заработает, то напишите здесь.

      Не знаю, насколько актуальна проблема с пустыми страницами, но здесь я тоже подправил команды под новую версию.

  11. Alexey:

    Скрипты проверены и обновлены 30 апреля 2020 — всё работает!

  12. Arseny:

    Как исправить ошибку с XML?

    • Alexey:

      Ошибка вызвана вашими действиями (вы ввели невалидный XML). А любые свои действия в этой среде можно исправить кнопкой «Click here to reset the DB» ("нажмите здесь для сброса БД") - она специально появилась под ошибкой.

  13. Alexey:

    Скрипты и команды проверены и исправлены, на 31 августа 2020 всё работает в самой последней Kali Linux.

  14. Bohdan:

    Здравствуйте! есть ошибка при вводе запроса в mysql:

    update user set plugin ='' where User ='root';
    ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
    но все верно, есть такая таблица и пользователь в базе. Подскажите, пожалуйста, как исправить?

    • Alexey:

      Приветствую! Поправил инструкцию, теперь должно работать.

      • Bohdan:

        Здравствуйте! Спасибо оргомное за ваш труд, действительно помогло)

  15. Alexey:

    Обновлено в связи с переходом Kali Linux на PHP 8.1.

  16. Alexey:

    Обновлено в связи с переходом Kali Linux на PHP 8.2.

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

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