Skip to content Skip to sidebar Skip to footer

mysql pentest cheat sheet

MySQL Pentest Cheat Sheet

Пентест для MySQL — это процесс тестирования безопасности баз данных, нацеленный на выявление уязвимостей и потенциальных проблем безопасности. Ниже представлен набор полезной информации и команд для проведения такого теста.

Основные Команды

1. Подключение к базе данных
— `mysql -u username -p -h host database`

2. Управление пользователями
— Добавление пользователя:
«`sql
CREATE USER ‘newuser’@’host’ IDENTIFIED BY ‘password’;
«`
— Удаление пользователя:
«`sql
DROP USER ‘username’@’host’;
«`

3. Права доступа
— Предоставление прав:
«`sql
GRANT ALL PRIVILEGES ON database.* TO ‘user’@’host’;
«`
— Отзыв прав:
«`sql
REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘user’@’host’;
«`

4. Просмотр пользователей и привилегий
— Список пользователей:
«`sql
SELECT user, host FROM mysql.user;
«`
— Права доступа пользователя:
«`sql
SHOW GRANTS FOR ‘user’@’host’;
«`

Обход аутентификации

1. Использование старых паролей
— Попробовать известные или общие пароли.

2. Обход через конфигурационный файл
— Проверить наличие строки `skip-grant-tables` в конфиге MySQL, что позволяет доступ без авторизации.

3. Использование SQL инъекций
— Ищите уязвимые места для выполнения произвольных SQL-команд через внешние запросы к базе данных.

Конфигурация и настройки

1. Проверка конфигурации
— `SHOW VARIABLES LIKE ‘secure_file_priv’;` — Путь для загрузки файлов.
— `SELECT @@GLOBAL.GTID_PURGED;` — Информация о GTID.

2. Включенные функции и расширения
— `SHOW PLUGINS;` — Список включённых плагинов.

3. Использование общих файлов конфигурации
— Проверка файлов `/etc/my.cnf`, `/etc/mysql/my.cnf`.

Аудит и мониторинг

1. Логирование действий пользователей
— Включение логов аудита:
«`sql
INSTALL PLUGIN audit_log SONAME ‘audit_log.so’;
«`

2. Анализ журналов
— Проверка `mysql.log`, `general_log` и других релевантных файлов логов.

Защитные механизмы

1. Использование SSL/TLS
— Включение соединений через SSL:
«`sql
SHOW VARIABLES LIKE ‘have_ssl’;
«`

2. Проверка наличия брандмауэров и фильтрации IP
— Правила для `mysqld` в `/etc/mysql/my.cnf`.

Использование утилит

1. mysqlslap — Тестировать производительность базы данных.
2. mysqlcheck — Проверка целостности таблиц и индексов.

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