Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

7.3.2.4 Lab - Attacking a mySQL Database

.docx
Скачиваний:
10
Добавлен:
31.12.2022
Размер:
1.78 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

Кафедра защищенных систем связи

ОТЧЁТ

по лабораторной работе № 7.3.2.4 на тему: Lab - Attacking a mySQL Database

по дисциплине «Безопасность компьютерных систем»

Выполнили: студенты группы ИКТК-96

Беляев Д.М.

Пухов Д. А. Орлов М.А.

Принял: доцент

Кушнир Д.В.

Лабораторная работа. Атака на базу данных mySQL

Задачи

В этой лабораторной работе мы рассмотрим файл PCAP из предыдущей атаки на базу данных SQL.

  1. Общие сведения и сценарий

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

Файл PCAP была создан для просмотра предыдущей атаки на базу данных SQL. В этой лабораторной работе вы рассмотрите атаки на базу данных SQL и ответите на вопросы.

  1. Необходимые ресурсы

  • Виртуальная машина рабочей станции CyberOps

  • Доступ к Интернету

  1. Откройте файл PCAP и следуйте за злоумышленником, атаковавшим базу данных SQL.

Вы воспользуетесь программой Wireshark, распространенным сетевым анализатором пакетов, чтобы выполнить анализ сетевого трафика. После запуска Wireshark вы откроете ранее сохраненные данные из сети и шаг за шагом проследите атаку с внедрением SQL-кода против базы данных SQL.

    1. Откройте Wireshark и загрузите файл PCAP.

Приложение Wireshark можно открыть с помощью различных методов на рабочей станции Linux.

      1. Запустите виртуальную машину рабочей станции CyberOps.

      2. Нажмите Applications > CyberOPS > Wireshark (Приложения > CyberOPS > Wireshark) на рабочем столе и найдите приложение Wireshark.

      1. В программе Wireshark щелкните Open (Открыть) в середине приложения в разделе Files (Файлы).

      1. Просмотрите каталог /home/analyst/ и найдите lab.support.files. В каталоге lab.support.files откройте файл SQL_Lab.pcap.

      1. Файл PCAP открывается в программе Wireshark и показывает собранный сетевой трафик. Этот файл сбора данных распространяется на период протяженностью 8 минут (441 секунду) ― длительность этой атаки с внедрением SQL-кода.

Назовите два IP-адреса, задействованные в этой атаке с внедрением SQL-кода, на основе показанной информации.

____________________________________________________________________________________

    1. Просмотр атаки с внедрением SQL-кода.

На этом этапе вы увидите начало атаки.

      1. В данных, собранных программой Wireshark, щелкните правой кнопкой мыши по строке 13 и выберите Follow HTTP Stream (Отслеживать поток HTTP). Строка 13 выбрана потому, что это HTTP-запрос GET. Его очень удобно использовать в следующем потоке данных, так как уровни приложения видят его, что приводит к проверке запроса на внедрение SQL-кода.

Трафик источника показан красным цветом. Источник отправил запрос GET на хост 10.0.2.15. Синим показано, как устройство назначения отвечает источнику.

      1. Щелкните Find (Поиск) и введите 1 = 1. Выполните поиск данной записи. Когда текст найден, нажмите кнопку Cancel (Отмена) в поле поиска текста. Строка 1 = 1 

      1. На целевой машине 10.0.2.15 злоумышленник ввел запрос (1 = 1) в поле поиска идентификатора пользователя, чтобы выяснить, уязвимо ли приложение к внедрению SQL-кода. Вместо того чтобы ответить сообщением об ошибке входа в систему, приложение выдало запись из базы данных. Злоумышленник убедился, что может вводить команды SQL и получать ответы базы данных. Строка поиска 1=1 создает инструкцию SQL, которая всегда имеет значение true. В этом примере не имеет значения, что вводится в поле; значение всегда будет true.

      1. Закройте окно Follow HTTP Stream (Отслеживать поток HTTP).

      2. Нажмите кнопку Clear (Очистить), чтобы показать весь сеанс связи Wireshark.

    1. Атака с внедрением SQL-кода продолжается...

На этом этапе вы увидите продолжение атаки.

      1. В данных, собранных программой Wireshark, щелкните правой кнопкой мыши по строке 19 и выберите Follow HTTP Streamо (Отслеживать поток HTTP).

      1. Щелкните Find (Поиск) и введите 1=1. Выполните поиск данной записи. Когда текст найден, нажмите кнопку Cancel (Отмена) в поле поиска текста.

      1. Злоумышленник ввел запрос (1' или 1 = 1 union select database(), user()#) в поле поиска идентификатора пользователя на целевом объекте 10.0.2.15. Вместо того чтобы ответить сообщением об ошибке входа в систему, приложение выдало следующую информацию.

Имя базы данных — dvwa, пользователь базы данных — dvwa@localhost. Также показано несколько учетных записей пользователей.

      1. Закройте окно Follow HTTP Stream (Отслеживать поток HTTP).

      2. Нажмите кнопку Clear (Очистить), чтобы показать весь сеанс связи Wireshark.

    1. Атака с внедрением SQL-кода предоставляет информацию о системе.

Злоумышленник продолжает и начинает искать более конкретную информацию.

      1. В данных, собранных программой Wireshark, щелкните правой кнопкой мыши по строке 22 и выберите Follow HTTP Stream (Отслеживать поток HTTP). Красным цветом показан источник трафика. Он отправляет запрос GET на хост 10.0.2.15. Синим показано, как устройство назначения отвечает источнику.

      1. Щелкните Find (Поиск) и введите 1=1. Выполните поиск данной записи. Когда текст найден, нажмите кнопку Cancel (Отмена) в поле поиска текста.

      1. Злоумышленник ввел запрос (1' или 1 = 1 union select null, version ()#) в поле поиска идентификатора пользователя на целевом объекте 10.0.2.15, чтобы обнаружить идентификатор версии. Обратите внимание, что идентификатор версии находится в конце выходных данных непосредственно перед </pre>.</div> закрывающим HTML-кодом.

Назовите версию.

MySQL 5.7.12-0

      1. Закройте окно Follow HTTP Stream (Отслеживать поток HTTP).

      2. Нажмите кнопку Clear (Очистить), чтобы показать весь сеанс связи Wireshark.

    1. Атака с внедрением SQL-кода и табличная информация.

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

      1. В данных, собранных программой Wireshark, щелкните правой кнопкой мыши по строке 25 и выберите Follow HTTP Stream (Отслеживать поток HTTP). Источник показан красным цветом. Он отправил запрос GET на хост 10.0.2.15. Синим показано, как устройство назначения отвечает источнику.

      1. Щелкните Find (Поиск) и введите users. Выполните поиск записи, показанной ниже. Когда текст найден, нажмите кнопку Cancel (Отмена) в поле поиска текста.

      1. Злоумышленник ввел запрос (1' или 1=1 union select null, table_name from information_schema.tables#) в поле поиска идентификатора пользователя на целевом объекте 10.0.2.15 для просмотра всех таблиц в базе данных. В результате выдается огромное количество таблиц, так как злоумышленник указал null без каких-либо дополнительных уточнений.

Чем измененная команда (1' OR 1=1 UNION SELECT null, column_name FROM INFORMATION_SCHEMA.columns WHERE table_name='users') поможет злоумышленнику?

Поиск по фильтру users

      1. Закройте окно Follow HTTP Stream (Отслеживать поток HTTP).

      2. Нажмите кнопку Clear (Очистить), чтобы показать весь сеанс связи Wireshark.

    1. Атака с внедрением SQL-кода завершается.

Атака приносит самую ценную добычу: хеши паролей.

      1. В данных, собранных программой Wireshark, щелкните правой кнопкой мыши по строке 28 и выберите Follow HTTP Stream (Отслеживать поток HTTP). Источник показан красным цветом. Он отправил запрос GET на хост 10.0.2.15. Синим показано, как устройство назначения отвечает источнику.

      1. Щелкните Find (Поиск) и введите 1=1. Выполните поиск данной записи. Когда текст найден, нажмите кнопку Cancel (Отмена) в поле поиска текста.

Хакер ввел запрос (1’ или 1=1 union select user, password from users#) в поле поиска идентификатора пользователя на целевом объекте 10.0.2.15, чтобы получить хеши имен пользователей и паролей!

Какой пользователь имеет хеш пароля 8d3533d75ae2c3966d7e0d4fcc69216b?

1337

С помощью веб-сайта, например https://crackstation.net/, скопируйте хеш пароля во взломщик хеша пароля и запустите взлом.

Назовите незашифрованный пароль (в формате простого текста).

charley

      1. Закройте окно Follow HTTP Stream (Отслеживать поток HTTP). Закройте все открытые окна.

  1. Вопросы для повторения

    1. В чем риск использования языка SQL на платформе?

Подвержен sql атакам

    1. Войдите в Интернет и выполните поиск фразы prevent SQL injection attacks (предотвращение атак с внедрением SQL-кода). Какие 2 метода или действия можно предпринять для предотвращения атак с внедрением SQL-кода?

Фильтровать пользовательский ввод,

Отключить ненужные функции/возможности базы данных