Зомби-проекты – сливают данные пользователей даже после своей смерти +16


Я снова про утечки персональных данных, но на этот раз расскажу немного про загробный мир ИТ-проектов на примере двух недавних находок.



В процессе аудита безопасности баз данных часто бывает, что обнаруживаешь сервера (как искать базы данных, я писал в блоге), принадлежащие проектам давно (или не так давно) покинувшим наш мир. Такие проекты даже продолжают имитировать жизнь (работу), напоминая зомби (собирая персональные данные пользователей после своей смерти).


Дисклеймер: вся информация ниже публикуется исключительно в образовательных целях. Автор не получал доступа к персональным данным третьих лиц и компаний. Информация взята либо из открытых источников, либо была предоставлена автору анонимными доброжелателями.

Начнем с проекта с громким названием «Команда Путина» (putinteam.ru).


Сервер с открытой MongoDB был обнаружен 19.04.2019.



Как можно заметить, первым до этой базы добрался «вымогатель»:



В базе нет особо ценных персональных данных, но есть адреса электронной почты (менее 1000), имена/фамилии, хешированные пароли, GPS-координаты (видимо при регистрации со смартфонов), города проживания и фотографии пользователей сайта, создавших на нем свой личный кабинет.


{ 
    "_id" : ObjectId("5c99c5d08000ec500c21d7e1"), 
    "role" : "USER", 
    "avatar" : "https://fs.putinteam.ru/******sLnzZokZK75V45-1553581654386.jpeg", 
    "firstName" : "Вадим", 
    "lastName" : "", 
    "city" : "Санкт-Петербург", 
    "about" : "", 
    "mapMessage" : "", 
    "isMapMessageVerify" : "0", 
    "pushIds" : [

    ], 
    "username" : "5c99c5d08000ec500c21d7e1", 
    "__v" : NumberInt(0), 
    "coordinates" : {
        "lng" : 30.315868, 
        "lat" : 59.939095
    }
}

{ 
    "_id" : ObjectId("5cb64b361f82ec4fdc7b7e9f"), 
    "type" : "BASE", 
    "email" : "***@yandex.ru", 
    "password" : "c62e11464d1f5fbd54485f120ef1bd2206c2e426", 
    "user" : ObjectId("5cb64b361f82ec4fdc7b7e9e"), 
    "__v" : NumberInt(0)
}

Очень много мусорной информации и пустых записей. Например, код подписки на рассылку новостей не проверяет, что введен адрес электронной почты, поэтому вместо адреса, можно писать все, что угодно.



Судя по копирайту на сайте, проект заброшен в 2018 году. Все попытки связаться с представителями проекта были неудачными. Однако, редкие регистрации на сайте идут – налицо имитация жизни.


Второй зомби-проект в моем сегодняшнем разборе это латвийский стартап «Roamer» (roamerapp.com/ru).


21.04.2019 на сервере в Германии была обнаружена открытая база данных MongoDB мобильного приложения «Roamer».



База, размером 207 Мб, находится в открытом доступе с 24.11.2018 (по данным Shodan)!


По всем внешним признакам (не работающий адрес электронной почты технической поддержки, битые ссылки на магазин Google Play, копирайт на сайте 2016 года и т.п.) – приложение давно заброшено.



В свое время про этот стартап написали практически все тематические СМИ:


  • VC: «Латвийский стартап Roamer — убийца роуминга»
  • the-village: «Roamer: Приложение, снижающее стоимость звонков из-за рубежа»
  • lifehacker: «Как сократить расходы на связь в роуминге в 10 раз: Roamer»

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


Судя по анализу информации в базе, многие пользователи продолжают использовать это мобильное приложение. За несколько часов наблюдения появилось 94 новых записи. А за период с 27.03.2019 по 10.04.2019 в приложении зарегистрировалось 66 новых пользователей.


В открытом доступе находятся логи (более 100 тыс. записей) приложения с такой информацией как:


  • телефон пользователя
  • токены доступа к истории звонков (доступны по ссылкам вида: api3.roamerapp.com/call/history/1553XXXXXX)
  • история звонков (номера, входящий или исходящий звонок, стоимость звонка, продолжительность, время звонка)
  • мобильный оператор пользователя
  • IP-адреса пользователя
  • модель телефона пользователя и версия мобильных OS на нем (например, iPhone 7 12.1.4)
  • адрес электронной почты пользователя
  • баланс и валюта счета пользователя
  • страна пользователя
  • текущее местоположение (страна) пользователя
  • промокоды
  • и многое другое.

{ 
    "_id" : ObjectId("5c9a49b2a1f7da01398b4569"), 
    "url" : "api3.roamerapp.com/call/history/*******5049", 
    "ip" : "67.80.1.6", 
    "method" : NumberLong(1), 
    "response" : {
        "calls" : [
            {
                "start_time" : NumberLong(1553615276), 
                "number" : "7495*******", 
                "accepted" : false, 
                "incoming" : false, 
                "internet" : true, 
                "duration" : NumberLong(0), 
                "cost" : 0.0, 
                "call_id" : NumberLong(18869601)
            }, 
            {
                "start_time" : NumberLong(1553615172), 
                "number" : "7499*******", 
                "accepted" : true, 
                "incoming" : false, 
                "internet" : true, 
                "duration" : NumberLong(63), 
                "cost" : 0.03, 
                "call_id" : NumberLong(18869600)
            }, 
            {
                "start_time" : NumberLong(1553615050), 
                "number" : "7985*******", 
                "accepted" : false, 
                "incoming" : false, 
                "internet" : true, 
                "duration" : NumberLong(0), 
                "cost" : 0.0, 
                "call_id" : NumberLong(18869599)
            }
        ]
    }, 
    "response_code" : NumberLong(200), 
    "post" : [

    ], 
    "headers" : {
        "Host" : "api3.roamerapp.com", 
        "X-App-Id" : "a9ee0beb8a2f6e6ef3ab77501e54fb7e", 
        "Accept" : "application/json", 
        "X-Sim-Operator" : "311480", 
        "X-Wsse" : "UsernameToken Username=\"/******S19a2RzV9cqY7b/RXPA=\", PasswordDigest=\"******NTA4MDhkYzQ5YTVlZWI5NWJkODc5NjQyMzU2MjRjZmIzOWNjYzY3MzViMTY1ODY4NDBjMWRkYjdiZTQxOGI4ZDcwNWJmOThlMTA1N2ExZjI=\", Nonce=\"******c1MzE1NTM2MTUyODIuNDk2NDEz\", Created=\"Tue, 26 Mar 2019 15:48:01 GMT\"", 
        "Accept-Encoding" : "gzip, deflate", 
        "Accept-Language" : "en-us", 
        "Content-Type" : "application/json", 
        "X-Request-Id" : "FB103646-1B56-4030-BF3A-82A40E0828CC", 
        "User-Agent" : "Roamer;iOS;511;en;iPhone 7;12.1.4", 
        "Connection" : "keep-alive", 
        "X-App-Build" : "511", 
        "X-Lang" : "EN", 
        "X-Connection" : "WiFi"
    }, 
    "created_at" : ISODate("2019-03-26T15:48:02.583+0000"), 
    "user_id" : "888689"
}

Связаться с владельцами базы разумеется не удалось. Контакты на сайте не работают, на сообщения в соц. сетях никто не реагирует.


В Apple App Store приложение по-прежнему доступно (itunes.apple.com/app/roamer-roaming-killer/id646368973).


Новости про утечки информации и инсайдеров всегда можно найти на моем Telegram-канале «Утечки информации»: https://t.me/dataleak.




К сожалению, не доступен сервер mySQL