MySQL/MariaDB: like Petya ransomware для баз данных и ‘root’@’%’

By | 10/06/2017
 

Пришёл новый проект, начал вникать в имеющийся сетап, и… Просто ах!.. Удивляюсь.

По порядку.

Data Science проект, пачка MariaDB серверов, 11 штук, проверяю их. На каждом – от десяти до полутора сотен баз данных.

Заодно – включаю general log, но на одном из серверов – вдруг нет баз вообще, кроме базы со странным именем PLEASE_READ:

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| PLEASE_READ        |
| information_schema |
| mysql              |
+--------------------+

В базе – одна таблица – WARNING:

MariaDB [(none)]> use PLEASE_READ;
Database changed
MariaDB [PLEASE_READ]> show tables;
+-----------------------+
| Tables_in_PLEASE_READ |
+-----------------------+
| WARNING               |
+-----------------------+

Интересно… Может – какое-то предупреждение о специфике сервера/БД от предыдущих админов/девопсов/девелоперов?

Читаем её:

MariaDB [PLEASE_READ]> select * from WARNING;
+----+-----------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------+-------------------------+
| id | warning                                                                                                                                             | Bitcoin_Address                    | Email                   |
+----+-----------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------+-------------------------+
|  1 | Send 0.5 BTC to this address and go to this site http://es7ocnlet5vyulh5.onion/ to recover your database! SQL dump will be available after payment! | 14UhC8s4hUUCmwT31RqVbDB7dgoBxT4oXg | backupbase@mail2tor.com |
+----+-----------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------+-------------------------+

По указанному ящику “backupservice@mail2tor.com” нагуглился такой вот пост:

0.2 BTC Strikes Back, Now Attacking MySQL Databases

Но дальше – ещё веселее!

Оказалось, что:

  1. MySQL root без пароля
  2. root имел права подключения с любого хоста – 'root'@'%'
  3. Все EC2 инстансы в AWS имели Public (external) IP
  4. единая Security Group для всех серверов баз данных в AWS имела два правила – доступ к портам 22 и 3306, с доступом из сети 0.0.0.0…
MariaDB [mysql]> select host,password from user where user = 'root';
+-----------------------------+-----------+
| host                        | password  |
+-----------------------------+-----------+
| localhost                   |           |
| hostname.domain.com         |           |
| 127.0.0.1                   |           |
| %                           |           |
+-----------------------------+-----------+

И доступ – абсолютно с любого хоста в Интернете:

mysql -u root -h 52.***.***.37
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 55560
Server version: 10.1.17-MariaDB-1~xenial mariadb.org binary distribution
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

Ещё раз:

В результате – 4 из 11 серверов MariaDB – всё базы удалены.

На остальных – root имел права доступа только с localhost, это их и спасло.

Пожалуйста – не будьте как Петя…

На одном из затёртых серверов – успел увидеть попытку подключения до того, как сервера отключил от сети вообще:

...
43293 Connect   Access denied for user 'root'@'182.255.63.166' (using password: NO)

Китай, хоть это ни о чём и не говорит:

irt:            IRT-CYHADCL-CN
address:        UNIT 04,7/F,BRIGHT WAY TOWER,NO. 33 MONG KOK ROAD,KOWLOON, hong kong hong kong
e-mail:         admin@kwaihingidc.com
abuse-mailbox:  admin@kwaihingidc.com
admin-c:        KHNT2-AP
tech-c:         KHNT2-AP
auth:           # Filtered
mnt-by:         MAINT-CYHADCL-CN

Такой вот день был вчера.


  • Geographist
     

    Пока читал, думал: бедный Паша, бедный Митрич… Потом всё же догадался – это не о Вас. Уж больно всё сходилось, особливо про новый проект!