Установка 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)
Связанные статьи:
- Как установить SamuraiWTF 4.0 (99.5%)
- Тренировка по взлому веб-сайтов в Windows (99.5%)
- Как пользоваться Kali Linux в WSL (подсистеме Windows для Linux): подборка лучших программ (ч. 1) (54.2%)
- Азы работы с веб-сервером для пентестера (51.4%)
- Как защитить веб сервер на Kali Linux от доступа посторонних (51.4%)
- Модули ядра Linux (RANDOM - 15.5%)
Простите за глупый вопрос а как создать файл
Правая кнопка мыши, далее Создать документ, далее Пустой документ.
Или Меню, далее Usual applications, далее Leafpad
Или в командной строке
Например:
Ещё вопрос при заходе на страницу dvwa запрашивает логин и пароль
Логин: admin
Пароль: password
Тоесть я создаю базу данных перехожу по адресу http://localhost/dvwa/
и меня просят вести логин пароль что мне делать (очень извеняюсь за глупые вопросы)
Добрый день, скрипты выложенные в данной теме как написаны? Посредством отличного знания команд линукса или какой-то язык программирования?
Это команды Bash (командной оболочки) собранные в скрипт (пакетный файл). Bash это и Unix-оболочка и скриптовый язык программирования. Сами скрипты большей степенью состоят из команд ОС.
Дурной тон писать скрипты в gedit, уж лучше использовать nano
Думаю, исключительно дело привычки. Меня тоже вот по какой-то иррациональной причине раздражают те, кто на системах без графического окружения использует что-либо кроме vim. Не удивлюсь, если такие как мы (пользователи nano и vim) раздражаем тех, кто сумел освоить emacs ))))))
Я тоже задам не маловажный, но может не совсем умный вопрос. У меня вместо OWASP Mutillidae — OWASP MAntra, я его скачал есть файл исполнительный в конце названия написано install, я его запускаю, всё работает, но когда закрываю. он не находиться в консоли всех приложений и как из терминала его запускать тоже не знаю команд, приходиться через этот установочный файл его открывать. Как его присоседить ко всем приложениям?
sudo bash upd_mutillidae.sh
bash: upd_mutillidae.sh: Нет такого файла или каталога
Хотя у меня Мантра, но так потренироваться.Не открывается файл
пробуй так: sudo ./upd_mutillidae.sh
Кстати, ты перед тем как юзать права на выполнение скрипта давал?
sudo chmod +x upd_mutillidae.sh
Ты должен расположить файл не на рабочем столе а в корневой папке home/kali/
Инструкция и скрипты обновлены — теперь снова всё работает.
Скрипты обновлены в связи с переходом Kali Linux на PHP 7.2.
Сделал все по инструкции, получил ошибку:
Not Found
The requested URL /mutillidae/ was not found on this server.
Apache/2.4.29 (Debian) Server at localhost Port 80
Только что проверил на свежей системе – всё работает.
У вас какая-нибудь совсем простая ошибка – или у системы нет Интернет-подключения или банально не запустили скрипт upd_mutillidae.sh.
Попробуйте сделать ещё раз, и напишите здесь в комментарии ошибки, которые возникают.
Нужно делать вместе с подготовительным этапом – в точности как описано в этой инструкции – в том числе переключаться с PHP 7.0 на PHP 7.2.
Благодарю, предыдщую проблему решил. Проблема была в настройках конфигурации Apache. В данный момент возникла новая проблема, не получается установить OWASP. Дальше этапа установки БД не уходит. — "HTML 5 Local and Session Storage cleared unless error popped-up already".
Сообщение говорит, что хранилища очищены, если не вылезли какие-либо ошибки. Т.е. просто переходите на страницу http://localhost/mutillidae/ и начинайте работать.
UPD: Сейчас попробовал открыть сайт с остановленным MySQL сервером и получил такое же сообщение. Решение: запустите MySQL-сервер — об этом несколько раз говориться в инструкции, в каждом скрипте есть команда для запуска:
Просто делайте всё по инструкции.
Здравствуйте, Алексей! Спасибо за труд очень помогло: что касается dvwa, то все ок, а вот на счет mutillidae не отображается веб итнерфейс, возможно подскажите что не так, есть какие идеи?
Приветствую! Сразу два больших изменения: в Kali Linux PHP обновился до версии 7.3, а OWASP Mutillidae II переехал на GitHub. Сейчас поправил и скрипты и команды — попробуйте ещё раз. Если не заработает, то напишите здесь.
Не знаю, насколько актуальна проблема с пустыми страницами, но здесь я тоже подправил команды под новую версию.
Скрипты проверены и обновлены 30 апреля 2020 — всё работает!
Как исправить ошибку с XML?
Ошибка вызвана вашими действиями (вы ввели невалидный XML). А любые свои действия в этой среде можно исправить кнопкой «Click here to reset the DB» ("нажмите здесь для сброса БД") — она специально появилась под ошибкой.
Скрипты и команды проверены и исправлены, на 31 августа 2020 всё работает в самой последней Kali Linux.
Здравствуйте! есть ошибка при вводе запроса в 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
но все верно, есть такая таблица и пользователь в базе. Подскажите, пожалуйста, как исправить?
Приветствую! Поправил инструкцию, теперь должно работать.
Здравствуйте! Спасибо оргомное за ваш труд, действительно помогло)
Обновлено в связи с переходом Kali Linux на PHP 8.1.
Обновлено в связи с переходом Kali Linux на PHP 8.2.