С LeakLooker вы можете найти открытые базы данных MongoDB, CouchDB и Elasticsearch, включая экземпляры Kibana. Скрипт анализирует результаты Shodan, исключая пустые и скомпрометированные базы данных. Все отсортировано и представлено в кликабельном виде.
Вы можете найти скрипт здесь GitHub
Вступление
Мы видели много утечек из разных источников - корзины Amazon , Firebase , Gitlab , протокол Rsync и многое другое. Самая распространенная ошибка, приводящая к утечке, - это отсутствие базовых знаний в области безопасности, неподготовленных людей и в некоторых случаях лень. Из-за мелких ошибок вся компания может быть скомпрометирована, и если мы примем во внимание GDPR, штрафы могут быть разрушительными.
Поиск в Shodan вручную утомителен, потому что он показывает все, что прослушивает определенный порт - пустую и уже взломанную базу данных. LeakLooker берет результаты и показывает только экземпляры размером более 217 МБ и ускоряет вашу охоту. В некоторых случаях было трудно исключить взломанные базы данных, потому что когда хакер оставил записку с требованием выкупа, данные все еще присутствуют, это относится к Elasticsearch и MongoDB. Среди найденной информации по сценарию было много личной идентификационной информации (PII), медицинских данных, транзакций казино, данных владельцев кредитных карт, информации GPS-отслеживания, архивных данных учетных записей определенных групп в социальных сетях, токенов API, конфиденциальных журналов и документы и многое другое. Чтобы сделать его более интересным, вы можете указать страницу, с которой будут отображаться результаты, облегчая поиск вещей, которые никто не искал раньше.
CouchDB
CouchDB - это документно-ориентированная база данных NoSQL, использующая JSON и JavaScript в качестве языка запросов. Честно говоря, я не слышал ни о какой серьезной утечке из CouchDB, однако он содержит хрупкие данные, как и любой другой тип базы данных. Обычно он использует порт 5984. Кроме того, для ясности вы можете просмотреть CouchDB через интерфейс администрирования под названием Fauxton.
Скрипт дает вам прямую ссылку на путь _utils, где находится Fauxton. Иногда случается, что это защищено паролем, но все же возможно получить доступ к данным, напрямую запрашивая db, и использовать такие команды, как _all_dbs и _all_docs . После этого документы и вложения могут быть извлечены и затем загружены. Я даже не говорю о возможности подделки данных, потому что в большинстве случаев это позволяет вам писать и удалять всю базу данных.
Пример результатов CouchDB
Полезные команды:
/ _all_dbs
<db> / _ all_docs? Include_docs = true & limit = 50
/ <db> / doc? Rev = <nr>
<db> / doc
<db> / doc / <name>
/ <db> / <docid>
/ <DB> / <идентификатор> / <attachment_id>
Запрос Shodan:
продукт: CouchDB
MongoDB
MongoDB - это еще одна облачная база данных NoSQL, которая использует структуру JSON. Много было сказано о утечках из MongoDB, и я нашел много скомпрометированных БД в дикой природе. Ответ от открытого MongoDB содержит все коллекции в базе данных и диагностическую или отладочную информацию. Скрипт ориентирован только на размер, базы данных и коллекции. Это единственный случай, когда веб-интерфейс недоступен, за исключением веб-сайта администрирования, который прослушивает порт 28017, что на тысячи выше стандартного порта MongoDB (27017). Соединение с базой данных осуществляется командой mongo - host <host> - port 27017, а следующая команда 'show database' используется для отображения всех баз данных.
Пример результатов MongoDB
Полезные команды:
показывать базы данных,
использовать 'db'
показывать коллекции
db.'collection'.stats ()
db.'collection'.findOne ()
db.'collection'.find (). PrettyPrint ()
db.'collection'.find ( )
Запрос Шодана:
продукт: MongoDB
Kibana
Kibanaпозволяет визуализировать данные из Elasticsearch, в большинстве случаев они используются для мониторинга устройств и представления их в виде графиков или диаграмм. Однако Кибана также известна раскрытием конфиденциальных данных, одним из самых печально известных случаев была компания, выпускающая мобильные шпионские программы. Невозможно определить, является ли экземпляр открытым или нет, как в других базах данных, поэтому мне пришлось использовать специальный запрос, чтобы получить только те экземпляры, к которым можно получить доступ без аутентификации. Я обнаружил, что есть разница в ответе, когда требуется вход в систему, а когда нет. Чтобы быть точным, заголовок Content-Length имеет значение около 68407 байт, когда Kibana возвращает панель входа в систему, и ровно 217 байт, когда он публично открыт и возвращает панель мониторинга. С учетом этих знаний запрос Шодана выглядит следующим образом: «kibana content-length: 217», и поскольку он не имеет фильтра, он не использует ваш кредит Шодана. Это точный запрос, поэтому у вас будет 100 результатов на странице. Как уже упоминалось ранее, это кликабельно, и ссылка ведет вас прямо к панели поиска, где вы можете исследовать содержащиеся данные.
Пример результатов Кибана
Запрос Шодана :
kibana content-length: 217
Elasticsearch
Еще одна облачная база данных, известная своими печально известными утечками, - Elasticsearch . На самом деле, согласно Википедии, это поисковая система, которая может быть развернута в облаке и предоставляет вам веб-интерфейс на порту 9200. Что интересно, Elasticsearch вообще не имеет аутентификации вообще, и владелец должен заботиться о том, чтобы не выставлять свой экземпляр без надлежащего механизма входа в систему , Вот почему это происходит так часто, что это легкая цель для киберпреступников. Каждый кластер Elasticsearch имеет индексы или индексы, его можно сравнить с базой данных в типичном MySQL.
Официальная документация объясняет это следующим образом:
MySQL => Базы данных => Таблицы => Столбцы / строки
Elasticsearch => Индексы => Типы => Документы со свойствами
Скрипт показывает ссылки на ' _cat / indices? V ', который затем представляет все индексы в базе данных, включая их размер. Вы можете получить доступ к каждому индексу с помощью команды ' <indice> / _ search? Size = 50 '
Пример результатов Elasticsearch
Полезные команды:
_cat / node? V
_cat / count? V
<indices> / _ search? Size = 50
Шодан запрос:
товар: упругий порт: 9200
Заключение
Сценарий был создан в качестве доказательства концепции, чтобы поделиться пониманием того, как компании и институты обрабатывают ваши данные. Я уверен, что у китайских, американских или русских хакеров есть что-то более сложное для сканирования Интернета и поиска бесплатной информации, которая затем может быть использована для шпионажа.
Киберпреступники также используют небезопасную базу данных для выкупа компаний. Более того, исследовательские компании, такие как UpGuard, также используют различные открытые базы данных, так почему же независимые кибер-исследователи не могут проверить, что происходит в мире сбора информации? И помните, действуйте ответственно, и если вы что-то видите, сообщите об этом.
Первоисточник
Вы можете найти скрипт здесь GitHub
Вступление
Мы видели много утечек из разных источников - корзины Amazon , Firebase , Gitlab , протокол Rsync и многое другое. Самая распространенная ошибка, приводящая к утечке, - это отсутствие базовых знаний в области безопасности, неподготовленных людей и в некоторых случаях лень. Из-за мелких ошибок вся компания может быть скомпрометирована, и если мы примем во внимание GDPR, штрафы могут быть разрушительными.
Поиск в Shodan вручную утомителен, потому что он показывает все, что прослушивает определенный порт - пустую и уже взломанную базу данных. LeakLooker берет результаты и показывает только экземпляры размером более 217 МБ и ускоряет вашу охоту. В некоторых случаях было трудно исключить взломанные базы данных, потому что когда хакер оставил записку с требованием выкупа, данные все еще присутствуют, это относится к Elasticsearch и MongoDB. Среди найденной информации по сценарию было много личной идентификационной информации (PII), медицинских данных, транзакций казино, данных владельцев кредитных карт, информации GPS-отслеживания, архивных данных учетных записей определенных групп в социальных сетях, токенов API, конфиденциальных журналов и документы и многое другое. Чтобы сделать его более интересным, вы можете указать страницу, с которой будут отображаться результаты, облегчая поиск вещей, которые никто не искал раньше.
CouchDB
CouchDB - это документно-ориентированная база данных NoSQL, использующая JSON и JavaScript в качестве языка запросов. Честно говоря, я не слышал ни о какой серьезной утечке из CouchDB, однако он содержит хрупкие данные, как и любой другой тип базы данных. Обычно он использует порт 5984. Кроме того, для ясности вы можете просмотреть CouchDB через интерфейс администрирования под названием Fauxton.
Скрипт дает вам прямую ссылку на путь _utils, где находится Fauxton. Иногда случается, что это защищено паролем, но все же возможно получить доступ к данным, напрямую запрашивая db, и использовать такие команды, как _all_dbs и _all_docs . После этого документы и вложения могут быть извлечены и затем загружены. Я даже не говорю о возможности подделки данных, потому что в большинстве случаев это позволяет вам писать и удалять всю базу данных.
Пример результатов CouchDB
Полезные команды:
/ _all_dbs
<db> / _ all_docs? Include_docs = true & limit = 50
/ <db> / doc? Rev = <nr>
<db> / doc
<db> / doc / <name>
/ <db> / <docid>
/ <DB> / <идентификатор> / <attachment_id>
Запрос Shodan:
продукт: CouchDB
MongoDB
MongoDB - это еще одна облачная база данных NoSQL, которая использует структуру JSON. Много было сказано о утечках из MongoDB, и я нашел много скомпрометированных БД в дикой природе. Ответ от открытого MongoDB содержит все коллекции в базе данных и диагностическую или отладочную информацию. Скрипт ориентирован только на размер, базы данных и коллекции. Это единственный случай, когда веб-интерфейс недоступен, за исключением веб-сайта администрирования, который прослушивает порт 28017, что на тысячи выше стандартного порта MongoDB (27017). Соединение с базой данных осуществляется командой mongo - host <host> - port 27017, а следующая команда 'show database' используется для отображения всех баз данных.
Пример результатов MongoDB
Полезные команды:
показывать базы данных,
использовать 'db'
показывать коллекции
db.'collection'.stats ()
db.'collection'.findOne ()
db.'collection'.find (). PrettyPrint ()
db.'collection'.find ( )
Запрос Шодана:
продукт: MongoDB
Kibana
Kibanaпозволяет визуализировать данные из Elasticsearch, в большинстве случаев они используются для мониторинга устройств и представления их в виде графиков или диаграмм. Однако Кибана также известна раскрытием конфиденциальных данных, одним из самых печально известных случаев была компания, выпускающая мобильные шпионские программы. Невозможно определить, является ли экземпляр открытым или нет, как в других базах данных, поэтому мне пришлось использовать специальный запрос, чтобы получить только те экземпляры, к которым можно получить доступ без аутентификации. Я обнаружил, что есть разница в ответе, когда требуется вход в систему, а когда нет. Чтобы быть точным, заголовок Content-Length имеет значение около 68407 байт, когда Kibana возвращает панель входа в систему, и ровно 217 байт, когда он публично открыт и возвращает панель мониторинга. С учетом этих знаний запрос Шодана выглядит следующим образом: «kibana content-length: 217», и поскольку он не имеет фильтра, он не использует ваш кредит Шодана. Это точный запрос, поэтому у вас будет 100 результатов на странице. Как уже упоминалось ранее, это кликабельно, и ссылка ведет вас прямо к панели поиска, где вы можете исследовать содержащиеся данные.
Пример результатов Кибана
Запрос Шодана :
kibana content-length: 217
Elasticsearch
Еще одна облачная база данных, известная своими печально известными утечками, - Elasticsearch . На самом деле, согласно Википедии, это поисковая система, которая может быть развернута в облаке и предоставляет вам веб-интерфейс на порту 9200. Что интересно, Elasticsearch вообще не имеет аутентификации вообще, и владелец должен заботиться о том, чтобы не выставлять свой экземпляр без надлежащего механизма входа в систему , Вот почему это происходит так часто, что это легкая цель для киберпреступников. Каждый кластер Elasticsearch имеет индексы или индексы, его можно сравнить с базой данных в типичном MySQL.
Официальная документация объясняет это следующим образом:
MySQL => Базы данных => Таблицы => Столбцы / строки
Elasticsearch => Индексы => Типы => Документы со свойствами
Скрипт показывает ссылки на ' _cat / indices? V ', который затем представляет все индексы в базе данных, включая их размер. Вы можете получить доступ к каждому индексу с помощью команды ' <indice> / _ search? Size = 50 '
Пример результатов Elasticsearch
Полезные команды:
_cat / node? V
_cat / count? V
<indices> / _ search? Size = 50
Шодан запрос:
товар: упругий порт: 9200
Заключение
Сценарий был создан в качестве доказательства концепции, чтобы поделиться пониманием того, как компании и институты обрабатывают ваши данные. Я уверен, что у китайских, американских или русских хакеров есть что-то более сложное для сканирования Интернета и поиска бесплатной информации, которая затем может быть использована для шпионажа.
Киберпреступники также используют небезопасную базу данных для выкупа компаний. Более того, исследовательские компании, такие как UpGuard, также используют различные открытые базы данных, так почему же независимые кибер-исследователи не могут проверить, что происходит в мире сбора информации? И помните, действуйте ответственно, и если вы что-то видите, сообщите об этом.
Первоисточник
Последнее редактирование модератором: