elasticsearch · ransomware · extortion · data-exposure · on-chain-analysis · bitcoin · cloud-misconfiguration · census

Открытый Elasticsearch: внутри экономики стирания и выкупа

Kinryū Labs провела перепись 17,043 доступных из интернета хостов Elasticsearch и обнаружила, что вычищенная оболочка с запиской о выкупе — самое частое состояние открытого кластера: таких 5,073. Отслеживание каждого кошелька, указанного в записках, даёт пять акторов, одиннадцать платежей и около $5,553 суммарной выручки и показывает, что обещание вернуть удалённые данные уликами не подтверждается.

Автор Davis Zheng·

CWE
CWE-306

TLP:CLEAR. Согласовано к публикации. Результаты получены в ходе интернет-масштабной переписи открытого Elasticsearch, проведённой с единственной облачной точки наблюдения, и в ходе ончейн-анализа каждого биткойн- и эфириум-адреса, указанного в записках о выкупе. Кошельки атакующих, контактные адреса, текст записок и ссылки являются индикаторами и публикуются здесь; ссылки и контактные домены обезврежены. Затронутые организации обрабатываются в рамках отдельного раскрытия и не называются.

Краткое резюме

  • 7,648хостов открыты без аутентификации
  • 5,073вычищенных с выкупом оболочек
  • $5,553всего уплачено, все акторы, за всё время
  • 1.2%жертв, позже включивших аутентификацию

Наведите неаутентифицированный сканер на Elasticsearch в интернете, и большинство отвечающих окажется руинами: кластеры опустошены, а на месте данных оставлена записка о выкупе. Мы провели перепись 17,043 хостов Elasticsearch с единственной облачной точки наблюдения; ответили 11,850. Из них 7,648 были открыты вообще без какой-либо аутентификации, а 5,073 из открытых хостов уже были опустошены, и вместо данных на них осталась записка. Вычищенная оболочка с запиской — самое частое состояние открытого кластера Elasticsearch.

Полное прочтение этих записок с 2,500 хостов группирует их в семь шаблонов, за которыми стоят пять акторов. Затем мы отследили каждый кошелёк, указанный в записках. По всем пяти акторам, тринадцати биткойн-адресам и одному эфириум-адресу, за период более года кампании приняли одиннадцать платежей на суммарно 0.06 BTC, стоимостью около $5,553 по курсу на момент поступления каждого. Общая доля оплат среди атрибутируемых жертв составляет 0.28%.

Ключевой посыл доминирующего актора таков: ваши данные удалены с вашего сервера, но в целости хранятся на его кластере и вернутся, как только вы заплатите. Улики этого не подтверждают. Код восстановления, о котором записка клянётся, что он уникален для вашей базы данных, оказывается единственной фиксированной строкой, одинаковой у 1,199 жертв в 56 странах. Сами жертвы по большей части не устраняют исходную уязвимость. При повторном зондировании через семь недель после переписи 52% выборки из 2,500 хостов оставались открытыми, по-прежнему вычищенными, с запиской на месте, и лишь 1.2% включили аутентификацию.

Ключевые оценки
  • Стирание с выкупом — самое типичное состояние открытого кластера. 5,073 из 7,648 открытых хостов без аутентификации (66%) были вычищены и подвергнуты вымогательству. Открытый Elasticsearch скорее окажется разграбленной оболочкой, чем работающей базой данных. Высокая уверенность, измерено напрямую.
  • Заявление о сохранённых данных не подтверждается. Доминирующий актор выдаёт один и тот же код восстановления 1,199 жертвам и уничтожает данные удалением индексов, а не их экспортом. Ничто в уликах не указывает, что копия была сохранена. Высокая уверенность.
  • Это оппортунистическая автоматизация, а не прицельное вторжение. Более девяти из десяти жертв работают на актуальном выпуске Elasticsearch; путь внутрь — открытый порт, и патч его бы не закрыл. Высокая уверенность.
  • Экономика маргинальна. $5,553 за одиннадцать платежей более чем за год, при этом 8 из 13 кошельков не получили ни сатоши. Это похоже на дешёвый скрипт, запущенный в масштабе, а не на организованный вымогательский бизнес. Высокая уверенность.
  • Небольшие кампании с отдельным кошельком на жертву обходят массовый разброс. Один актор, вымогавший у трёх хостов с отдельными кошельками на каждую жертву, заработал больше, чем актор, поразивший 3,730 хостов одним общим. Умеренная уверенность; выборка — три жертвы, так что направление яснее, чем величина.

Перепись: сколько их и в каком состоянии

Проход masscan выявил примерно 39,900 кандидатных эндпоинтов Elasticsearch и Kibana. Сведение стороны Elasticsearch к чистому вердикту по каждому хосту с точки наблюдения оставляет 17,043 хоста с каноническим результатом. Из них 11,850 ответили по HTTP, а 5,193 — нет.

Вердикты по всем 17,043:

ВердиктКоличествоЗначение
Открыт, без аутентификации7,648GET / возвращает 200 без учётных данных; читается напрямую
Защищён4,026401/403, и известные значения по умолчанию не срабатывают
Мёртв5,193нет HTTP с точки наблюдения
Требуется аутентификация71401/403, учётные данные ещё не проверялись
Учётные данные по умолчанию39подходят учётные данные по умолчанию
Прочее66доступен, но не Elasticsearch или странный статус

Почти две трети доступных хостов отвечают вообще без какой-либо аутентификации. Однако со словом «открыт» нужна осторожность, прежде чем кто-то превратит его в число жертв.

Никогда не читайте «открыт» как «жертва»

Из 7,648 открытых хостов 5,073 уже являются вычищенными с выкупом оболочками, а ещё часть — приманки: кластер автоматически именованных узлов, отдающих идентичную заготовленную схему, плюс хосты, подделывающие свои листинги индексов, чтобы выглядеть полнее, чем есть. Уберите и то и другое, и остаток по-настоящему открытых кластеров, всё ещё хранящих реальные, не подвергнутые вымогательству данные, — примерно 2,500. Ценные случаи внутри этого остатка обрабатываются в рамках отдельного раскрытия и здесь не называются.

Географически среди открытых хостов без аутентификации с большим отрывом преобладает Китай: CN 2,518, затем US 874, DE 731, FR 518, IN 435, MX 277, RU 256, SG 181, JP 131, KR 125, NL 124, GB 120.

39 хостов, где срабатывают учётные данные по умолчанию, — проблема меньшего масштаба, но острее. Шесть известных пар по умолчанию проверялись только на чтение (elastic:elastic, changeme, password, bitnami; admin:admin; kibana:kibana), при этом привилегии, которые давала каждая, подтверждались по каждому хосту. Они делятся на два класса: учётные записи kibana_system, которые видят метаданные, но получают 403 на _search, и полноценные суперпользователи elastic с чтением, записью и удалением. Более слабая резидентная точка наблюдения полностью пропустила 26 из случаев доступа суперпользователя по учётным данным по умолчанию, что предвосхищает проблему смещения точки наблюдения, обсуждаемую в конце. Худший отдельный случай — стек Elastic Defend EDR и SIEM с учётными данными по умолчанию и подключённым Fleet, где доступ суперпользователя к продукту безопасности покупает подделку алертов и путь от управления к агенту для выполнения кода на каждом управляемом им хосте.

Записки о выкупе

Жертвы — не те, кого можно было бы ожидать из привычной истории про «непропатченную машину в интернете». По мажорной версии вычищенные хосты работают на v8 (2,535), v7 (1,960), v9 (299), v6 (117), v5 (61) и v2 (42). Преобладают актуальные выпуски: v7, v8 и v9 вместе — 4,794 из них, более девяти из десяти. Это обслуживаемые, обновлённые кластеры, у которых просто нет пароля на входной двери. Уязвимость — это открытый порт, и патч бы его не закрыл.

Хостинг концентрируется в крупных китайских облаках (Alibaba 730, Tencent 500, Volcano Engine 330, Huawei 84, около 1,644 суммарно), затем у европейских бюджетных провайдеров (OVH 324, Contabo 250, Hetzner 236), с кластером у единственного провайдера Baja Datacenter в Мексике (231). География жертв повторяет географию уязвимости: CN 1,972, US 527, FR 423, DE 360, MX 235, RU 212 и длинный хвост.

Что говорят записки

Полное прочтение 2,500 хостов восстановило 1,309 полных записок, которые, если вынести за скобки кошелёк, контакт, сумму и код, нормализуются к семи различным шаблонам. Один из них покрывает почти всё. Ссылки и контактные домены ниже обезврежены.

Актор A, доминирующий шаблон, 1,199 из 1,309 записок (92%), в 56 странах:

Your database has been deleted from your server, but all the information remains stored on our cluster. The instructions for recovery are as follows: You must send 0.0041 BTC to the following wallet: bc1q38rjul6gdamfflf6p4ukz0ymtvfgfv2j9saf6r. Then, you must send an email to wendy.etabw@gmx[.]com with the following code: 0SH7HH1Q72JL (it is important that you write it correctly, as it corresponds to your database). You must also attach the txid (the Bitcoin transaction ID) to the message. After following these steps, we will send you a zip file with all your information. You have 48 hours to complete the steps. For More Info - hxxps://tli[.]sh/73x1k

Внутри этого одного шаблона варьируется сумма (0.0016, 0.0035, 0.0041, 0.0061 BTC), а также кошелёк, контактный адрес (wendy.etabw@gmx[.]com, scandal@onionmail[.]org, bitwezen@cock[.]li) и код (0SH7HH1Q72JL или BITWEZEN2026). Срок всегда 48 часов.

Один шаблон достаточно отличается, чтобы процитировать его целиком. Единственный из семи он угрожает опубликовать данные, а не удалить их, предлагает вариант с Ethereum наряду с Bitcoin и требует существенно большую сумму — примерно в двенадцать раз больше требования Актора A:

Актор E, угроза утечки, две сети, 3 записки:

Your database was compromised. Pay 0.1 ETH to 0x3C11Cf2974c3Fb4d7ebBfea711a4A0b26989979D or 0.05 BTC to bc1qu8t03mv2qwjv56gry2ft0qes0xwqhddjhsvkfl. THIS IS A UNIQUE ADDRESS GIVEN TO YOU AND YOUR PAYMENT WILL BE AUTOMATICALLY DETECTED. UPON WHICH WE WILL RESTORE YOUR DATA. IN 48 HOURS IF NO PAYMENT IS MADE WE WILL LEAK YOUR DATA PUBLICLY.

Остальные шаблоны, включая сломанный вариант записки Актора A с ошибкой слияния почты, воспроизведены дословно ниже для защитников, сопоставляющих трафик с ними.

Остальные шаблоны записок, дословно (обезврежено)

Актор B «sharebot», 101 записка, 15 стран:

Your database has been backed up to our secure servers. To recover your data, send exactly 0.0061 BTC to: bc1quwlw8djc7hfamf3qpspma34uh9dr6w4kudfu8p Then email db-recovery@sharebot[.]net with your server IP and transaction ID. We will reply with a download link within 24 hours. If no payment is received in 48 hours, your data will be permanently deleted.

Актор B «sharebot», вариант с кодом, 2 записки:

Your data has been backed up. To recover it, send 0.0061 BTC to: bc1qquzg5dg5yfqxlc0fy6pemcwa2xg5mw3l7l2gc4. Then email es-recovery@sharebot[.]net with code: 841BEACF110F and attach the transaction ID (txid). You will receive a download link within 24 hours. Do not modify this index.

Актор D, 1 записка:

Your DB has been back up. The only way of recovery is you must send 0.002 BTC to 127ZBzXyLJFc7ShMmzkYFDhSiXXSnR8Jfr. Once paid please email databaserestore32@onionmail[.]org with code: omoRmq and we will recover your database. please read hxxps://cutmyurl[.]com/3caF8EkT for more information

Актор A, сломанный вариант с ошибкой слияния почты, 3 записки:

Your database has been deleted from your server, but all the information remains stored on our cluster. […] You must send 0.0041 BTC to the following wallet: bc1qu8t03mv2qwjv56gry2ft0qes0xwqhddjhsvkfl. Then, you must send an email to This is a unique address given to you and your payment will be automatically detected, upon which we will restore your data. with the following code: 0SH7HH1Q72JL […]

Слот контакта заполнен предложением вместо адреса электронной почты. Это предложение дословно взято из шаблона Актора E, а кошелёк — тот, что использует Актор E.

Код восстановления не индивидуален для жертвы

Записка Актора A держится на одном обещании: ваши данные в безопасности, а код доказывает, что мы можем вернуть именно ваши. Среди 1,199 обследованных жертв в 56 странах этот код принимает ровно два значения, 0SH7HH1Q72JL и BITWEZEN2026. Это константа, зашитая в шаблон на этапе сборки, а не идентификатор, привязанный к жертве.

Следствие не тонкое. Оператор, который не может отличить одну жертву от другой, не может вернуть данные конкретной жертвы по запросу. Прибавьте к этому тот факт, что стирание — это массовое удаление индексов, а не экспорт, и строка «all the information remains stored on our cluster» не находит подтверждения ни в чём наблюдаемом здесь. Вариант с кодом у Актора B действительно несёт то, что выглядит как отдельные коды на каждую жертву, но этот вариант достиг 2 хостов из 1,309, а Актору B ни разу не заплатили.

Общий набор связывает двух «акторов»

Сломанный вариант выше — небольшой криминалистический подарок. Давшая сбой записка Актора A и записка Актора E с угрозой утечки используют один кошелёк (bc1qu8t03mv2qwjv56gry2ft0qes0xwqhddjhsvkfl) и одно и то же предложение, слово в слово, стоящее не в том поле записки Актора A. Экономное объяснение — общий набор для генерации записок с настраиваемыми слотами для кошелька, контакта, суммы и срока, где один прогон вписал текст Актора E в контактный слот Актора A. В терминах оценки это вероятно: и один оператор, запускающий оба скрипта, и два оператора, делящие набор, одинаково подходят, а текст записок сам по себе их не разделяет. Улики исключают лишь то, чтобы считать этих двоих полностью независимыми.

Акторы

АкторКонтакт(ы)ТемаТребованиеЖертвыАдреса
A (доминирующий)wendy.etabw@gmx[.]com, scandal@onionmail[.]org, bitwezen@cock[.]liудалено с вашего сервера, хранится на нашем кластере; фиксированный код; ссылка tli[.]sh0.0016–0.0061 BTC~3,7304
B «sharebot»db-recovery@, es-recovery@sharebot[.]netрезервная копия на наших защищённых серверах; ссылка через 24 ч / удаление через 48 ч0.0061 BTC~2625
C «rambler»rambler+<id>@onionmail[.]org (уникален для каждой жертвы)отдельные кошелёк и почта на каждую жертву~0.0041 BTC33
Ddatabaserestore32@onionmail[.]orgустаревший кошелёк P2PKH; ссылка cutmyurl0.002 BTC11
Eнет (только оплата)угроза утечки; BTC или ETH0.05 BTC / 0.1 ETH31 BTC + 1 ETH

Актор A разбрасывает один общий кошелёк по тысячам жертв. Актор C делает наоборот, создавая свежий кошелёк и почту rambler+<id> для каждой из своих трёх. Эта разница в методике, как оказывается, и определяет, кому в итоге заплатили.

Следуя за деньгами

Каждый указанный адрес проверялся по публичному блокчейн-обозревателю, только на чтение. Суммы в USD — это стоимость на момент блока каждого платежа, а не сегодняшняя спотовая цена.

МетрикаЗначение
Указанных BTC-адресов13
Адресов, когда-либо что-то получивших5
Всего получено0.05995249 BTC
Суммарная стоимость на момент платежа$5,553.21
Платежей, все акторы, за всё время11
Атрибутируемых хостов-жертв3,996
Общая конверсия0.28%
Адресов с нулевой выручкой8 из 13
Первый / последний платёж2025-05-27 / 2026-06-04

В разбивке по акторам находка — сам порядок:

АкторАдресаЖертвыПлатежиПолучено BTCUSD на момент
A43,73050.02442141$1,686.65
C (rambler)3360.03553108$3,866.56
B (sharebot)526200.00000000$0.00
D1100.00000000$0.00
E1 BTC + 1 ETH30 (по BTC)0.00000000$0.00

Актор C вымогал у трёх хостов и получил больше денег, чем Актор A с 3,730. Его три жертвы совершили шесть платежей, несколько — примерно вдвое больше требования, чего и следует ожидать от записок, угрожающих поднять цену по истечении срока. Актор B — самый чистый отрицательный результат в наборе: 262 жертвы в 15 странах, профессионально выглядящая записка, контактный адрес на собственном домене и ни одного сатоши, никогда.

Вся выручка каждой кампании здесь — одиннадцать транзакций. Она помещается на одном экране:

#Время (UTC)АкторАдресBTCUSD на моментСовпадает с требованием
12025-05-27 16:49Cbc1qk2cc4…0.00413108$455.32~0.0041
22025-10-29 12:52Cbc1qqmyg9d…0.00750000$848.68нет (~2x)
32025-10-30 18:41Cbc1qqmyg9d…0.00760000$816.67нет (~2x)
42025-11-01 20:27Cbc1qqmyg9d…0.00390000$429.99~0.0041
52025-11-10 13:42Cbc1q5xj2m…0.00820000$868.57нет (~2x)
62025-11-10 14:45Cbc1q5xj2m…0.00420000$447.33~0.0041
72026-02-02 05:52Abc1q38rjul…0.00410000$310.83да
82026-02-07 00:08Abc1q38rjul…0.00372427$262.65нет
92026-02-14 09:07Abc1q38rjul…0.00608500$424.20нет (~0.0061)
102026-04-07 07:25Abc1q38rjul…0.00410000$281.14да
112026-06-04 19:18Abc1qvrryy2…0.00639778$407.83нет (~0.0061)

Лишь два из одиннадцати точно совпадают с затребованной суммой. Почти-совпадения (0.00372427, 0.006085, 0.00639778) — это то, как выглядит «отправить максимум» с учётом комиссии или конвертация USD в BTC в момент отправки, а не копирование точной суммы. Окно Актора C (с мая по ноябрь 2025) и Актора A (с февраля по июнь 2026) не пересекаются.

Как деньги уходят

Каждый платёж оперативно выводился. Медианное время от платежа до вывода — около двух с половиной часов; самое быстрое — одиннадцать минут. Каждый вывод — это транзакция с одним входом, один платёж внутрь и одна трата наружу, без консолидации, поэтому анализ общего владения входами по всем тринадцати адресам возвращает ноль кластеров. Отражает ли это намеренную операционную безопасность или просто тот факт, что ни один кошелёк никогда не держал два платежа для консолидации, по одиннадцати точкам данных сказать нельзя.

Два актора, которым заплатили, дальше ведут себя противоположным образом, и разница важна для любого, кто захочет продолжить расследование. Средства Актора A за один переход уходят в высокооборотную кастодиальную инфраструктуру — кошельки с десятками или сотнями тысяч транзакций за всё время, из тех сервисов, что правдоподобно хранят записи «знай своего клиента». Актор C отправляет только на свежие, одноразовые адреса, которые никогда не использовались повторно. Так что Актор A оставил короткий, длиной с судебный запрос, след к узкому месту с KYC, а Актор C — нет. Ни один адрес обналичивания не является общим для этих двоих, и ни один нижестоящий адрес не достигается обоими, так что цепочка их не объединяет; связь между набором Актора A и Актором E держится на тексте записок и общем указанном кошельке, а не на движении денег. (Конкретные нижестоящие адреса сервисов — это следственные точки поворота, а не индикаторы для блок-листов, а высокооборотные принадлежат общим сервисам, так что здесь они не воспроизводятся, чтобы не пятнать кастодиана активностью оператора.)

Ветвь Ethereum

Эфириум-адрес Актора E, указанный на 0.1 ETH, имеет историю, которая совсем не соответствует требованию. Вся его содержательная жизнь — единственный 108-минутный всплеск 2026-07-27, через пять недель после переписи: приходит около 3.97 ETH, а затем уходит ровными порциями по 0.5 и 1.0 ETH семи контрагентам, дважды. Ничего в нём не является платежом жертвы в 0.1 ETH, и ни одна записка Elasticsearch не требует ничего близкого к ~4 ETH, что прошли через него. Мы оцениваем его как вероятно транзитный или слоевой переход, инфраструктуру, связанную с атакующим, а не свидетельство выкупной выручки. Четырнадцать пылевых переводов на него — это сторонний спам с отравлением адресов и ничего не говорят об операторе.

Семь недель спустя

Самое полезное в переписи — провести её дважды. 2026-08-07 мы повторно зондировали детерминированную случайную выборку из 2,500 хостов среди 5,073 подвергнутых вымогательству, сверяя с базовой линией переписи:

ИсходХостыДоляЗначение
Записка на месте1,30952.4%по-прежнему открыт, по-прежнему вычищен, записка на месте
Недоступен82933.2%нет HTTP: выведен из эксплуатации, за файрволом или переадресован
Записка исчезла33213.3%хост отвечает, но записки там больше нет
Аутентификация включена301.2%аутентификация теперь применяется

Лишь 1.2% жертв закрыли дверь, из-за которой инцидент случился. Более половины за семь недель не изменили вообще ничего. Даже если великодушно читать каждый «недоступный» хост как устранение через вывод из эксплуатации, потолок — около трети, а «недоступен» также покрывает хосты, которые просто переехали или которые скрыл кратковременный сетевой сбой.

Мексиканская аномалия

Одна когорта полностью ломает картину. Из 114 обследованных мексиканских хостов 113 живы, индекс с выкупом исчез, и ни один больше не несёт записку — при базовой линии, где жертвы Мексики были сосредоточены почти целиком у единственного провайдера (Baja Datacenter, 231 хост). Ни одна другая страна так не выглядит. Массовая очистка на стороне хостера или оператора хозяйства одного провайдера — самое экономное объяснение, но текущие данные не могут исключить, что записки стёр второй актор, и в любом случае хосты остаются доступными и без аутентификации. Отмечено для дальнейшей проработки.

Индикаторы компрометации

Кошельки и коды созданы атакующими и приводятся «живыми», чтобы защитники могли сопоставлять и отслеживать их. Контактные домены и ссылки обезврежены.

Bitcoin (Актор A):

bc1q38rjul6gdamfflf6p4ukz0ymtvfgfv2j9saf6r   (3,705 victims)
bc1qvrryy2vsq4jekejs8z2elkt3sxmhlyad06ymvr   (25 victims)
bc1qzkk2cld734njkds9263udc2wqgncp9e3th66ps
bc1qu8t03mv2qwjv56gry2ft0qes0xwqhddjhsvkfl   (shared with Actor E)

Bitcoin (Актор B, «sharebot»):

bc1quwlw8djc7hfamf3qpspma34uh9dr6w4kudfu8p   bc1qvrte050fngjlrmcuptz33259kw3wktkd3uv5hv
bc1qquzg5dg5yfqxlc0fy6pemcwa2xg5mw3l7l2gc4   bc1qt5cq2mnghwyyfl0pkd3086z9cad0m3hspwgl9t
bc1qqy3uegcgqjjncagjnkqgpplyl3k4a00khek5rs

Bitcoin (Актор C, «rambler»):

bc1qk2cc4ssl9j3d0xu5ljv0prsfzjdulvgvm4u6e7   bc1q5xj2mvtaupy56fff4dsaxwjxm8ftjzxfhw3ylh
bc1qqmyg9d9uj2fm93fjjjfuw2xrq2fwpr53uhf52d

Bitcoin (Актор D): 127ZBzXyLJFc7ShMmzkYFDhSiXXSnR8Jfr Ethereum (Актор E): 0x3C11Cf2974c3Fb4d7ebBfea711a4A0b26989979D

Контактные адреса (обезврежено):

wendy.etabw@gmx[.]com      scandal@onionmail[.]org      bitwezen@cock[.]li
db-recovery@sharebot[.]net   es-recovery@sharebot[.]net
rambler+<id>@onionmail[.]org   databaserestore32@onionmail[.]org

Коды восстановления: 0SH7HH1Q72JL (Актор A, фиксированный, не индивидуальный для жертвы), BITWEZEN2026, 841BEACF110F, BCA95C11355F (Актор B), omoRmq (Актор D).

Ссылки (обезврежено): hxxps://tli[.]sh/73x1k (перенаправляет на заметку paste[.]sh, чей ключ расшифровки находится во фрагменте URL, так что содержимое расшифровывается в браузере и хост его никогда не видит, что делает запрос на удаление по содержимому бессмысленным), hxxps://cutmyurl[.]com/3caF8EkT (коммерческий сокращатель ссылок; его канал жалоб на злоупотребления — путь для ссылки Актора D).

Поведенческие: кластер Elasticsearch, сведённый к единственному индексу с именем read_me (медианное число резидентных документов — один, сама записка); GET /read_me/_search, возвращающий любой из шаблонов выше.

Что с этим делать

  • Поставьте аутентификацию перед Elasticsearch и Kibana и держите HTTP-порт вне публичного интернета. Актуальный Elasticsearch поставляется с включённой по умолчанию безопасностью; почти на каждом хосте здесь она была отключена или привязана к публичному интерфейсу. Этот один контроль закрывает всю описанную выше поверхность атаки.
  • Если вас ударили, не платите. Доминирующий оператор не может отличить ваши данные от чужих и, судя по уликам здесь, не сохранял их копию. Оплата финансирует следующий проход и ничего не возвращает. Восстанавливайтесь из собственных резервных копий и закрывайте уязвимость.
  • Исходите из того, что вычищенный кластер прочитали до того, как стёрли. Он был открыт кому угодно, а не только актору, который в итоге его удалил, так что считайте всё, что в нём хранилось, раскрытым и смените все секреты в нём.
  • Проверьте своё хозяйство так, как это сделал бы атакующий. Внешний GET / без учётных данных к вашим эндпоинтам Elasticsearch за один запрос скажет, отвечают ли они без пароля. Запускайте его из-за пределов вашей сети, потому что внутренняя проверка не увидит того, что видит интернет.
  • Сбросьте значения по умолчанию. Шесть известных пар учётных данных сработали здесь на 39 хостах, один из них — продукт безопасности. Смените пароли elastic и kibana и любые вендорские значения по умолчанию, и подтвердите, какими привилегиями на самом деле обладает каждая учётная запись.

Сопоставление с MITRE ATT&CK

ТактикаТехника
Initial AccessT1190 Exploit Public-Facing Application (открытый, неаутентифицированный Elasticsearch); T1078.001 Valid Accounts: Default Accounts (39 хостов с учётными данными по умолчанию)
ImpactT1485 Data Destruction (массовое удаление индексов); T1491.001 Internal Defacement (оставленная на месте записка read_me); T1657 Financial Theft (вымогательство)

Записки также заявляют об эксфильтрации (T1567) и, в случае Актора E, угрожают вымогательством на основе утечки (T1657). Улики не подтверждают ни одно из заявлений о сохранённой копии; уничтожение реально, эксфильтрация лишь декларируется.

Методология и заметки аналитика

  • Смещение точки наблюдения велико, и мы его измерили. Резидентная или локальная точка наблюдения назвала «мёртвыми» 63% хостов, которые на деле были живы с чистой облачной точки (7,201 из 11,388; 7,113 из них полностью открыты). Любая перепись открытых активов, не учитывающая, откуда она сканирует, занижает счёт с большим отрывом. Эта перепись — с одной точки наблюдения, из одной облачной локации, с метками точки наблюдения и времени по каждой записи, и все подсчёты — цифры для одной точки наблюдения.
  • Приманки раздувают сырой счёт «открытых». Набор автоматически именованных узлов с идентичной заготовленной схемой и хосты, подделывающие свои листинги индексов, должны быть исключены, прежде чем открытый хост будет считаться жертвой. В приведённых выше цифрах это уже сделано.
  • Выборка записок — 2,500 из 5,073 хостов (49%), с детерминированным зерном, чтобы повторные прогоны были сопоставимы. Доли шаблонов несут ошибку выборки, а самые редкие шаблоны (от одной до трёх записок) устанавливают, что нечто существует, а не насколько оно распространено.
  • Ончейн-итоги — это нижние границы. Они покрывают только адреса, указанные в записках, которые мы действительно прочитали. Непрочитанные записки, необследованные хосты и любой адрес, который никогда не наблюдался, в счёт не входят. Высокооборотные нижестоящие адреса принадлежат общим сервисам; актору атрибутируются лишь конкретные суммы, отправленные с выкупных кошельков, а суммарные итоги сервисов за всё время — нет.
  • Только чтение на всём протяжении. Записки читались с уже вычищенных кластеров без аутентификации одним неаутентифицированным GET /read_me/_search на хост. Проверка учётных данных — шесть значений по умолчанию, по одному GET / на каждое, с ограничением скорости, только на чтение. Запросы к цепочке били только по публичным обозревателям. Никакое содержимое жертв не извлекалось, а зашифрованная на стороне клиента заметка, на которую ссылается Актор A, не расшифровывалась.
  • Оценочные формулировки следуют ICD 203, и уверенность отражает только улики в этом наборе данных. Конкретные затронутые организации, включая ценные кластеры в остатке без вымогательства, обрабатываются в рамках отдельного ответственного раскрытия и не называются.

Исходные данные переписи и анализ кошельков доступны другим исследователям и защитникам по запросу. Напишите на contact@kinryu.sh с короткой запиской о том, кто вы и зачем они вам.

How to cite
Kinryū Labs (2026). Открытый Elasticsearch: внутри экономики стирания и выкупа. https://kinryu.sh/ru/reports/exposed-elasticsearch-ransom/