Серьезные недостатки в приложении SHAREit для Android позволяют хакерам украсть ваши файлы

Серьезные недостатки в приложении SHAREit для Android позволяют хакерам украсть ваши файлы

Исследователи безопасности обнаружили две опасные уязвимости в приложении SHAREit для Android, которые могут позволить злоумышленникам обойти механизм аутентификации устройства и украсть файлы, содержащие конфиденциальные данные, с устройства жертвы.

SHAREit — это популярное приложение для обмена файлами для Android, iOS, Windows и Mac, насчитывающее более 1,5 миллиарда пользователей по всему миру, которое было разработано, чтобы помогать людям обмениваться видео, музыкой, файлами и приложениями на различных устройствах.

Согласно сообщению в  блоге  RedForce, опубликованном в The Hacker News, приложение Android SHAREit с более чем 500 миллионами пользователей было признано уязвимым к обходу аутентификации приложения передачи файлов и уязвимости, связанной с произвольной загрузкой файлов .

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

Как SHAREit передает файлы?

Сервер SHAREit размещает несколько сервисов через разные порты на устройстве, но исследователи проанализировали два назначенных сервиса, включая Command Channel (работает на порту 55283) и Download Channel (работает на порту 2999).

Командный канал — это обычный канал TCP, где приложение обменивается сообщениями с другими экземплярами SHAREit, работающими на других устройствах, используя необработанные соединения сокетов, включая идентификацию устройства, обработку запросов на передачу файлов и проверку работоспособности соединения.

Канал загрузки — это собственная реализация HTTP-сервера приложения SHAREit, которая в основном используется другими клиентами для загрузки общих файлов.

По словам исследователей, когда вы используете приложение SHAREit для Android для отправки файла на другое устройство, обычный сеанс передачи файлов начинается с идентификации устройства, а затем «отправитель» отправляет управляющему сообщение «получателю», указывая, что у вас есть файл для обмена.

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

Хакеры могут получить доступ к вашим файлам, используя недостатки SHAREit

Однако исследователи обнаружили, что когда пользователь без действительного сеанса пытается извлечь несуществующую страницу вместо обычной страницы 404, приложение SHAREit отвечает пустой страницей с кодом состояния 200 и добавляет пользователя в распознанные устройства, в конце концов аутентифицируя неавторизованный пользователь.

По мнению исследователей, полностью функциональный эксплойт с проверкой концепции для этого недостатка SHAREit будет таким же простым, как curl http://shareit_sender_ip:2999/DontExist , что сделает его самым странным и простым обходным способом аутентификации.

Исследователи также обнаружили, что при инициировании запроса на загрузку клиент SHAREit отправляет запрос GET на HTTP-сервер отправителя, который выглядит следующим образом:

Поскольку приложению SHAREit не удается проверить параметр «msgid» — уникальный идентификатор, сгенерированный для каждого запроса, когда отправитель инициирует загрузку, — это позволяет злонамеренному клиенту с действительным сеансом загрузить любой ресурс, напрямую ссылаясь на его идентификатор.

Недостатки могут быть использованы злоумышленником в общей сети Wi-Fi, и, к сожалению, уязвимые версии SHAREit создают легко различимую открытую точку доступа Wi-Fi, которую можно использовать не только для перехвата трафика (поскольку он использует HTTP) между двумя устройствами, но также использовать обнаруженные уязвимости и иметь неограниченный доступ к хранилищу уязвимых устройств.

Поскольку эксплуатация просто включает в себя отправку команды curl, ссылающейся на путь к целевому файлу, необходимо знать точное местоположение файла, который нужно получить.

Чтобы преодолеть это, исследователи начали искать файлы с известными путями, которые уже являются общедоступными, включая SHAREit History и SHAREit MediaStore Database, которые могут содержать интересную информацию.

«Существуют и другие файлы, содержащие важные данные, такие как токен пользователя Facebook, ключ пользователя Amazon Web Service, данные автозаполнения и файлы cookie веб-сайтов, посещенных с помощью веб-просмотра SHAREit, и даже открытый текст исходной точки доступа пользователя (приложение сохраняет ее для сброса точки доступа). настройки на исходные значения) и многое другое », — сказали исследователи.

Используя доказательство своей концепции под названием DUMPit! исследователям удалось загрузить около 3000 уникальных файлов размером около 2 ГБ менее чем за 8 минут сеанса передачи файлов.

В начале января 2018 года группа несколько раз связывалась с командой SHAREit на разных платформах, но не получила ответа до начала февраля, когда исследователи предупредили компанию о том, что через 30 дней компания сообщит подробности об уязвимости.

Команда SHAREit молча исправила уязвимости в марте 2018 года, не предоставив исследователям точные исправленные версии приложения для Android, идентификаторы уязвимости CVE или любые комментарии для публичного раскрытия.

Предоставив пользователям достаточно времени для обновления своего приложения SHAREit, исследователи выпустили технические подробности об уязвимостях вместе с эксплойтом PoC, DUMBit! , который можно скачать с сайта  GitHub  .

Уязвимости влияют на приложение SHAREit для Android <= версия 4.0.38. Если вы еще этого не сделали, обновите приложение SHAREit в  Google Play Store  как можно скорее.

Оригинал

Alt text

Владимир Безмалый

О безопасности и не только