[badvirus] Странный вирус
forensics 500
Перед решением ознакомьтесь с тасками Гостевой режим и Бэкдор.Вирус на компьютере Петра успешно работал лишь короткий интервал времени, однако хакеры успели получить достаточно тайных киберсекретов компании.Однако, они сами совершенно не позаботились о безопасности своих серверов. Поэтому скоро эти секреты получим и мы. Правда же?
Вспоминаем таск Backdoor. После декомпиляции видим, что кейлоггер отправлял POST-запрос с данными по адресу 45.77.142.82:31337/log:
Попытаемся зайти на главную страницу по этому адресу:
Видим, что хацкеры используют в качестве сервера БД для логов MySQL.
Попытаемся подключиться к их серверу БД. Для Windows и Linux команды одни и те же, достаточно просто установить MySQL. Мануалов в интернете полно.
Подключаемся к серверу БД:
mysql -h 45.77.142.82
И видим, что мы смогли подключиться:
Для начала, нам нужно узнать, какие БД есть на этом сервере:
SHOW DATABASES; # регистр не важен
И получаем результат:
Первая БД нас не сильно интересует, а вот в keyes вероятно есть что-то интересное. Подключаемся к ней:
USE keyes;
Если ошибок не возникло, сразу же смотрим, какие таблицы в этой БД:
SHOW TABLES;
Видим следующую картину:
Таблица keyes — как раз то, что нам нужно. Выводим всё, что в ней есть:
SELECT * FROM keyes;
Получаем следующий результат:
В таблице keyes только две колонки: id, strokes.
Как видно, большинство символов закодированы в utf-8. Попробуем перевести пару строк:
>>> b'\xd1\x8b\xd0\xbc\xd0\xb5\xd0\xbc '.decode('utf-8') 'ымем ' >>> b'\xd1\x82\xd0\xbe\xd0\xbc\xd1\x81 '.decode('utf-8') 'томс ' >>> b' \xd1\x8c\xd1\x82\xd0\xb5\xd1\x80'.decode('utf-8') ' ьтер' >>> b'\xd0\xb9\xd0\xb0\xd0\xbb\xd0\xbd\xd0\xbe'.decode('utf-8') 'йално' >>> b'\xd0\xb7\xd0\xb5\xd0\xb1 \xd0\xbd'.decode('utf-8') 'зеб н' >>> b'\xd0\xb8\xd0\xb3\xd0\xb5\xd1\x80 '.decode('utf-8') 'игер ' >>> b'\xd1\x86\xd0\xb0\xd1\x80\xd1\x82\xd1\x81'.decode('utf-8') 'цартс' >>> b' \xd0\xb8 \xd0\xb8\xd0\xb8'.decode('utf-8') ' и ии' >>> b'p \xd1\x81\xd0\xbc\xd1\x81'.decode('utf-8') 'p смс'
Понимаем, что нужно просто читать эти записи наоборот. Флаг у нас всегда пишется английскими буквами. Ищем такие строки в таблице:
Флаг: ugra_mysq1_1n53cur17y
ЗЫ: можно конечно написать скрипт, которые подключается к БД, считывает все строки, и декодит их. Кто это сделает тот молодец.