Атака по майнингу криптовалюты на незащищенных серверах PostgreSQL
Как сообщает opennet.ru исследователи из компании Imperva, поддерживающей honeypot с незащищенными и уязвимыми СУБД для изучения атак на них, сообщили о выявлении вредоносной активности, нацеленной на организацию скрытого майнинга криптовалюты через СУБД PostgreSQL. Атака интересна тем, что вредоносный код для майнинга загружается с использованием методов стеганографии и спрятан в PNG-изображении.
Для выполнения вредоносного кода в PostgreSQL добавлялась написанная на языке Си UDF-функция (User-defined function) sys_eval, позволяющая выполнить в системе любой код (передает входные параметры в вызовы system или popen). Для добавления функции в системный каталог PostgreSQL скомпилированный код передавался в виде Large Object с его дальнейшим экспортом в файл при помощи вызова lo_export.
В ходе атаки данная UDF-функция была использована для выполнения команд в системе при помощи вызова "SELECT sys_eval('код')", используя PostgreSQL в качестве бэкдора или SQL-Shell. После получения контроля над сервером с PostgreSQL и установки UDF-функции sys_eval атакующие загружали картинку с публичного хостинга изображений imagehousing.com, извлекали скрытый в картинке код для майнинга криптовалюты Monero (XMR) и запускали его. В настоящее время, в используемом в ходе атаки кошельке накопилось 312.5 XMR, что по сегодняшнему курсу соответствует 65 тысячам долларов США (неделю назад было $117 тысяч).
Сообщается, что для получения доступа к СУБД осуществлялся подбор пароля (brute force) для учетной записи postgres, создаваемой по умолчанию. Судя по всему, атака носит целевой характер и направлена на поражение какого-то облачного провайдера или оператора хостинга, предоставляющего доступ к PostgreSQL c применением некорректных с точки зрения безопасности настроек. Например, поисковая система Shodan находит более 709 тысяч PostgreSQL-серверов с открытым сетевым портом 5432, из которых 80 тысяч предоставляются Amazon AWS. Также возможно, что атака используется для организации скрытого майнинга на уже взломанных серверах, пораженных каким-то иным способом (например, через эксплуатацию уязвимости в другом сервисе или web-приложении с эскалацией привилегий) и использующих PostgreSQL как точку для получения скрытого доступа извне.
Вероятность атаки на обычные серверы минимальна, так как по умолчанию доступ к СУБД PostgreSQL открыт только с локального хоста, а библиотеки с реализацией пользовательских функций на языке Си необходимо загружать в системную директорию или необходимо изменение настроек PostgreSQL (т. е. для атаки нужны полномочия администратора СУБД). Также не исключено, что атака может производиться и через серверы MySQL, так как аналогичная вредоносная UDF-функция на языке Си доступна и для данной СУБД.