Русский
Русский
English
Статистика
Реклама

Блог компании postuf

Ищем уязвимости в TikTok при помощи OSINT

07.07.2020 18:11:11 | Автор: admin

Вступление


TikTok одно из самых популярных приложений для просмотра мобильного видео. В нём зарегистрировано 800 миллионов пользователей. Пользователи создают контент с помощью фильтров, музыки, эффектов. Видео создаются странные, но захватывающие внимание.

Для столь обширной и популярной платформы развлечения есть очень большой пласт минусов, которые постепенно становятся явными для СМИ. Незащищенный HTTP трафик и спуфинг СМС ссылок это конкретные примеры уязвимости, которые были обнаружены в приложении за последние 3 месяца. Несмотря на это, люди продолжают публиковать видео. Показывают, в какие школы они ходят, видео внутри и за пределами своих домов и даже раздают телефонные номера и другую личную информацию. Именно с этой темы стоит и начать нашу статью.

OSINT технологии


Большинство пользователей TikTok молодые подростки, которые не понимают в чем заключается опасность распространения личной информации. TikTok подвергается различным трендам, которые в свою очередь вовлекают в раскрытие персональной информации, включая: паспорта, номера телефонов, email, ссылки на свои социальные сети, информацию кредитных карточек и множество других данных.

Поисковая строка


Одна из самых интересных функций TikTok это поиск видео различного контента, который находится в кнопке Discover. После нажатия на нее экран меняется на ленту из самого популярного контента, но главная часть этой вкладки это поисковая строка вверху экрана. В ней можно вбивать все подряд, начиная от имен пользователей, наименований песен, хештегов и заканчивая ключевыми фразами челленджей. В качестве примера давайте возьмем ключевую фразу: find my number (Примеры других запросов Call me / Phone Me / Угадай мой номер / Позвони мне / Credit Card / Debit Card)


Результаты сами дают знать о себе на главной странице. В качестве более качественного примера поиска информации выбираем из всех вкладок Хештеги и нажимаем на самое первое поле. На различных видео пользователи по частям показывают свои номера. Могут весь полностью, но без последней цифры. Легко найти спрятанные цифры на экране или предугадать последнюю цифру методом перебора.

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


Вот еще несколько примеров, где пользователи размещают адреса электронных почт. Данные видео были обнаружены по запросу в поиске gmail.com, а также по хештегам: email me.


Аудио Дорожка


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


Еще один из примеров представляет собой звуковую дорожку, которая называется Your I.D. will always Humble you. Под ней пользователи записывают видео со своей фотографией из своих документов удостоверения личности. Конечно, многие из них не раскрывают документы в полном объеме. Однако, на большинстве есть личная подпись и дата рождения под своей фотографией. Просмотрев много видео, опубликованных с этой звуковой дорожкой, точно можно найти тех, кто показал полный разворот удостоверения личности.


Получение дальнейшей информации


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

Дальнейший поиск данных на основе полученной информации происходит через использование Lampyre. Он позволяет искать идентификаторы и возвращать данные, которые зарегистрированы на введенной электронной почте или номере телефона. Такие запросы обычно выдают точные и достаточно уникальные результаты.

Ниже был совершен поиск по трем телефонным номерам из США. Результаты показали, что двое из номеров вернули связанные аккаунты из Instagram и Twitter вместе с соответствующими ID и ссылками на их профили. Хоть и в этот раз было показано немного информации, можно получить гораздо больше. Это зависит только от поставленной цели и от того, какой номер телефона пользователи используют при регистрации. Для поиска в Instagram воспользуйтесь нашим приложением [Nuga], о котором мы писали недавно. Другой номер выдал больше информации и показал, что он подключен к учетной записи WhatsApp и Skype. Теперь добавляем и проверяем на наличие учетных записей через список контактов.



Ниже приведен пример поиска по электронной почте через Lampyre. Здесь он вернул частичную информацию, такую как номер телефона от LinkedIn и Apple, прямую ссылку на их учетную запись Facebook и подтверждение того, что электронная почта используется в Instagram и TikTok:



Lampyre можно использовать 4 раза бесплатно за одну регистрацию, потом нужна платная подписка или покупка дополнительных токенов. Конечно, можно создавать аккаунты на временные почты и использовать инструмент в ваше удовольствие, искать и анализировать всю информацию предоставленную в результатах Lampyre.

OSINT TOOL


Сбор основной информации пользователя это также еще один из способов получения пассивных данных из TikTok. Конечно, это можно сделать вручную, записав все ключевые метаданные профиля. Однако, есть более автономный и удобный в применении инструмент, предназначенный для сбора подобной информации TikTok OSINT Toolkit.

Он позволяет автономно собрать все публичные данные пользователя TikTok, такие, как:

  • Наименование профиля
  • Картинка профиля
  • Количество подписчиков
  • Количество подписок
  • Данные профиля
  • Подтверждение профиля
  • Количество поклонников
  • Количество лайков
  • Количество видео
  • Идентификационный номер профиля

Инструмент написан на Python 3 и использует обширный пакет BeautifulSoup, значительно упрощающий сбор всей информации, которую можно получить из URL пользователя. Инструмент исполняется через команду:

python3 tiktokOSINT.py --username {USERNAME} --downloadProfilePic


Главный параметр это имя пользователя, через которое производится HTTP запрос, на HTML страницу профиля. Впоследствии собирается вся информация на странице, происходит поиск по критерию application/json. И выборочно, данные, которые находятся у пользователя, заполняются в массив и сохраняются в одной папке вместе с инструментом. В дополнение программа дублирует текстовую информацию о пользователе в командной строке.

В качестве примера ниже показана командная оболочка Unix, через которую можно получить результаты пользователя juliagodunova:


В качестве небольшого бонуса похожий инструмент также доступен в онлайн, но немного в лимитированной форме. Функциональность инструмента заключена также в посылке запроса HTTP со ссылкой профиля пользователя. Только в этом случае сервер ответит при помощи того же JSON файла и упорядочит всю нужную информацию на странице. В нем заключаются 3 главные функции:

  1. Поиск профиля пользователя по его имени
  2. Поиск видео с указанным хештегом
  3. Метаданные пользователя с помощью его имени


Информационный поиск по URL


Хештеги


В приложении TikTok есть специальная вкладка для поиска видео при помощи хэштегов, которая также находится в поисковой строке. Но есть альтернативный способ поиска. Самый распространенный это ссылка на официальный сайт TikTok. Если вы знаете точный и интересующий вас хэштег, можно перейти к следующему URL адресу, заменив test на интересующую вас категорию.

www.tiktok.com/tag/test

Имена пользователей


TikTok имеет опцию поиска имени пользователя, которая работает точно так же, как и при поиске хэштега. Если вы знаете имя пользователя вашей цели, вы можете перейти непосредственно к профилю с помощью следующего URL адреса. Замените test на имя выбранного вами пользователя.

www.tiktok.com/@test

Комментарии


Подобно любой другой социальной сети пользователи TikTok оставляют комментарии к сообщениям различных пользователей. Их можно просматривать рядом с каждым видео-контентом, но, к сожалению, они не находятся в исходном коде. Для автономного процесса сбора такой информации воспользуйтесь exportcomments.com. Достаточно лишь скопировать URL видео TikTok в поле поиска и дождаться завершения процесса. Ниже приведен отрывок, который включает в себя точные имена пользователей, дату, время, лайки и комментарии к целевой записи.


Видео TikTok


При поиске интересующего видео на TikTok оригинальная ссылка на страницу видео не предлагает функцию загрузки, а щелчок правой кнопкой мыши не предоставляет никаких полезных опций, в том числе, как и исходный код файла. Вместо этого следует полагаться на сторонние сайты, как например Experts PHP.


Служба Experts PHP передает URL адрес выбранного видео на официальный видео сервер TikTok и дает прямую ссылку на просмотр и скачивание видео в 720p. А теперь давайте рассмотрим пример, как с помощью уязвимости серверов TikTok, можно подделать видео для любого пользователя.

Уязвимости, расширяющие возможности OSINT в TikTok


Интеграция собственного видео на заглавном экране


Приложение TikTok использует небезопасный протокол HTTP для загрузки всего своего медиа-контента. Как и многие приложения, предназначенные для социальных сетей или с большой и активной базой пользователей, TikTok использует сети доставки (и дистрибуции) содержимого контента (CDN) для плотного распределения своих массивных данных в рамках всего мира. Выбор в пользу CDN, TikTok объясняет более быстрой передачей видео и других мультимедийных данных по протоколу HTTP. Хоть это и повышает скорость и производительность передачи файлов, использование незащищенного трафика ставит под угрозу личные данные и конфиденциальность пользователей. Анализ HTTP протокола может быть вполне легко отслежен и изменен со стороны посредника.

На момент написания этой статьи, в версиях TikTok для iOS (версия 15.5.6) и для Android (версия 15.7.4) использовался обычный HTTP для подключения к CDN сетям TikTok. После небольшого сеанса перехвата и анализа сетевого трафика из TikTok с помощью Wireshark, можно с легкостью заметить сетевые запросы с пакетами видео и изображений, которые передаются в полностью открытом и незашифрованном виде.

Ниже, в качестве примера показан сетевой трафик, перехваченный Wireshark:


Таким образом, TikTok наследует все известные и хорошо задокументированные уязвимости HTTP. Любой маршрутизатор, установленный между приложением TikTok и его CDN, может очень легко документировать все сетевые пакеты с видео, которые пользователь скачал и просмотрел вместе с историей просмотра. Операторы общественных Wi-Fi точек и интернет-провайдеры могут собирать эти данные без особых усилий.

Вот перечень всех данных которые транспортируются через HTTP канал в TikTok:

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

Все типы контента, перечисленные выше, подвержены отслеживанию. Например, история наблюдения может быть создана путем захвата сетевого трафика, загруженного с http://v34.muscdn.com.

MITM-атака может полностью изменить загруженный контент в вашем телефоне. Однако, значительным ограничением данной атаки служит факт того, что пользователь должен находиться вместе с злоумышленником в одной локальной сети. Только таким образом злоумышленник сможет вклиниться в канал (с использованием атаки ARP Spoofing) и передавать большое количество поддельных фактов в замененном видео, которые могут принадлежать знаменитостям или доверенной учетной записи пользователей.

Замена и распространение вводящих в заблуждение фальшивых видео на такой интерактивной платформе как TikTok, представляет огромный риск. В качестве примера, далее будут выявлены риски возможных атак посредника для замены видео и анализа результатов.

Метод применения


Была подготовлена небольшая сборка поддельных видео, размещенных на сервере, который эмулирует сервера TikTok, а именно v34.muscdn.com. Для демонстрационных целей были созданы только сценарий и условия, которые меняют видео. Были сохранены в оригинале фотографии профилей, хотя они могут быть также изменены аналогичным способом. Было эмитировано поведение только одного видеосервера для хорошего сочетания поддельных и реальных видео, чтобы вызывать чувство доверия у пользователей.

Для того чтобы TikTok показывало приготовленные видеоролики, нужно перенаправить приложение на поддельный сервер. Поскольку сервер всего лишь заменяет собой сервера TikTok, приложение не может напрямую подтвердить, что оно взаимодействует с настоящим источником. Таким образом, оно будет слепо верить и запрашивать абсолютно любой контент, загруженный с присоединенного сервера.

Вся уловка состоит в том, чтобы перенаправить приложение на созданный сервер. Это можно сделать просто добавив новую ресурсную запись в DNS, которая сопоставит имя домена v34.muscdn.com с IP-адресом поддельного сервера.

Аналогично подобное может быть сделано лицами, которые напрямую имеют доступ к маршрутизаторам пользователей. Сначала необходимо изменить файл hosts на устройстве жертвы, перенаправляющем имя домена v34.muscdn.com на фальшивый сервер. Затем, измененные маршрутизаторы должны быть настроены на использование этого DNS-сервера. Теперь, когда приложение TikTok запрашивает IP-адрес у v34.muscdn.com, DNS возвращает IP адрес поддельного сервера. В дальнейшем все последующие запросы на фальшивый сервер, который выдает себя за v34.muscdn.com от TikTok будут задаваться автоматически.

Такие действия могут быть выполнены следующими лицами:

  1. Операторы Wi-Fi: операторы общественных сетей Wi-Fi могут настроить маршрутизатор на использование уязвимого DNS сервера.
  2. Провайдеры VPN: провайдер VPN может настроить свой DNS сервер для всех пользователей использующих его сервис.
  3. Интернет-провайдеры (ISP): Интернет-провайдеры, предоставляющие доступ к интернету, имеют полный доступ к соединениям своих клиентов. Они могут перенастроить DNS сервер для того, чтобы обмениваться контентом или отслеживать действия пользователей

Если вы не доверяете ни одному из лиц приведенных выше, то есть шанс на то, что контент, который вы смотрите в TikTok, возможно, был уже изменен. Это может также относиться к любому интернет-сервису, который использует HTTP протокол для передачи данных.

Ниже показан сетевой трафик HTTP, направленный на поддельный сервер. Выделенная строка является запросом на видео, отправленное приложением на входящий IP адрес 192.168.13.2, который является адресом поддельного сервера. Затем, этот же сервер выбирает подготовленное видео и возвращает его в приложение, которое в свою очередь, воспроизводит выбранное видео пользователю, как показано в демонстрационном видео. Обратите внимание, что на поддельный сервер направляются только видео запросы, так как запросы на фотографии профиля и пользователей были оставлены без изменений, и они перенаправляются на настоящие сервера.


youtu.be/voTnYPfkqlY

Созданные видеоролики содержат вводящую в заблуждение информацию о COVID-19. Таким образом был показан пример о реальном и потенциальном источнике распространения дезинформации и ложных фактов современной проблемы.

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

SMS Спуфинг


На официальном сайте TikTok есть интересная функция, которая позволяет отправить SMS сообщение для загрузки приложения на указанный мобильный номер пользователя. Уязвимость взлома аккаунта, посредством этого функционала, была обнаружена. И в качестве примера она будет продемонстрирована ее в этой части.

Злоумышленники, желающие отправить SMS-сообщение потенциальной жертве, могут перехватить HTTP-запрос, используя прокси-инструмент (например, Burp Suite). Параметр Mobile содержит номер телефона, на который будет отправлено SMS, а параметр download_url это ссылка, появляющаяся в сообщении SMS:


Пример такого SMS сообщения:


При изменении параметра download_url оригинальная ссылка будет изменена, и она будет содержать другую, которая была выбрана для дальнейшей атаки. На картинке ниже показано сфабрикованное SMS-сообщение, содержащее вредоносную ссылку. Для демонстрации была использована следующая ссылку attacker.com

Фальшивое SMS-сообщение, содержащее ссылку https://attacker.com:


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

Основными связями, через которые приложение принимает запросы, являются https://m.tiktok.com и musical: //:


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

Для демонстрации была использована следующая ссылка:


Ниже была продемонстрирована переадресация глубокой ссылки в самом приложении:


Впоследствии мобильное приложение открывает окно веб-просмотра (браузера) и переходит на созданный веб сервер: http://10.10.10.113:8000. С помощью которого в дальнейшем можно будет отправлять запросы от имени пользователя.

Перенаправление пользователя


В ходе исследований было обнаружено, что потенциальная жертва, нажав на отправленную ссылку, будет перенаправлена на вредоносный веб-сайт. Само перенаправление дает возможность выполнения таких атак: атаки межсайтовых сценариев (XSS), подделки межсайтовых запросов (CSRF) и раскрытия конфиденциальных данных пользователя.

Перенаправление происходит когда злоумышленник, отправляет оригинальную ссылку для входа, полученную из официального домена Tiktok: login.tiktok.com.

Было обнаружено, что запрос на логин в систему может содержать HTTP GET redirect_url. Поэтому пример запроса на аутентификацию, который в итоге будет перенаправлять пользователя на другой сайт после успешного входа, выглядит вот так:

login.tiktok.com/?redirect_url=www.tiktok.com

Измененное значение внутри redirect_url будет перенаправлять потенциальную жертву на веб-страницу домена tiktok в соответствии со следующим Regex выражением (выполняется только на клиентской стороне):


Regex выражение не проверяет значение параметра redirect_url должным образом. Скорее оно проверяет значение параметра, содержащее текст tiktok.com. Что дает возможность сделать перенаправление на другое доменное имя, которое содержит tiktok.com.

В демонстрационных целях злоумышленник может перенаправить пользователей на веб-сайт www.attacker-tiktok.com и выполнить дополнительные атаки, направленные на кражу личной информации.


Межсайтовый скриптинг (XSS)


В ходе исследования было обнаружено, что поддомен Tiktok https://ads.tiktok.com уязвим для атак XSS, при которых вредоносные скрипты внедряются в другие безопасные и надежные веб-сайты. Справочный центр, доступный по адресу https://ads.tiktok.com/help/, содержит информацию о том, как создавать и публиковать объявления в Tiktok. Здесь также была обнаружена точка внедрения XSS-атаки в функцию поиска. Когда злоумышленник пытается выполнить поиск, на сервер веб-сайта выполняется запрос HTTP GET с параметром q и искомой строкой в качестве значения для поиска.

На следующей картинке показан обычный запрос на поиск, выполненный злоумышленником при поиске слова pwned:

ads.tiktok.com/help/search?q=pwned


А вот здесь злоумышленник может попытаться внедрить код JavaScript в параметр q (введенное значение имеет кодировку URL). Для демонстрации был создан запрос: открыть окно в браузере с предупреждением xss:

ads.tiktok.com/help/search?q=%22%3Cscript%20src%20%3Djavascript%3Aalert%28%29%3E


Управление аккаунтом пользователя TikTok


Межсайтовая подделка запросов (CSRF)


После завершения предыдущих тестов и анализа всей информации можно использовать код JavaScript двумя способами: в виде XSS атак или перенаправления пользователя на вредоносный веб-сайт, который отправит все запросы на Tiktok при помощи файлов cookie пользователя.

Из-за отсутствия механизма предотвращения подделки анти-межсайтовых запросов можно будет легко запускать предоставленный JavaScript код и выполнять действия от имени пользователя без его согласия.

Удалить видео


Удалить видео можно выполнить при помощи HTTP GET-запроса по ссылке написанной ниже, заменяя ID видео:

api-t.tiktok.com/aweme/v1/aweme/delete/?aweme_id=video_id.

Используя запрос JavaScript, отправляется HTTP GET запрос на удаление видео, указав его идентификатор. На следующей картинке показан сам запрос на удаление видео с идентификационным номером 6755373615039991045:


Подтверждение от сервера, что видео было успешно удалено:


Создать видео


Чтобы создать видео на профиле пользователя, для начала следует отправить запрос на создание видео в своей ленте. Запросы на создание видео будут генерировать новый видео идентификатор. Дальше, копируем сгенерированную ссылку на создание видео и отправляем HTTP POST запрос от имени другого пользователя.

Ниже показан запрос на создание видео в ленте потенциальной жертвы:


В параллели получаем вот такой положительный ответ от сервера:


Подписка на выбранного пользователя


Злоумышленники, желающие стать подписчиками аккаунта пользователя, сначала отправляют запрос. И впоследствии пользователь должен одобрить запрос. Для того чтобы это сделать, будет использоваться тот же самый метод для отправки запроса и одобрения от имени потенциальной жертвы.

Запрос на утверждение отправляется через HTTP POST через следующую ссылку:

api-m.tiktok.com/aweme/v1/commit/follow/request/approve

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

Изменяем значение параметра from_user_id на свой собственный и отправляем запрос на сервер TikTok:


На этом этапе злоумышленник становится подписчиком потенциальной жертвы:


Изменить настройки общедоступности видео


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

После того как злоумышленник сможет получить идентификатор видео частного доступа, возможно изменить настройки конфиденциальности видео, отправив запрос HTTP GET от имени пользователя:

api-m.tiktok.com/aweme/v1/aweme/modify/visibility/?aweme_id=video_id&type=1&aid=1233&mcc_mnc=42503

Самые главные параметры этой ссылке это type и video_id. Video_id это ID видео, доступ которого нужно изменить. А type это режим доступности видео. При type = 1 запрашиваемое видео будет изменено на общедоступный режим, а type = 2 приведет к тому, что видео станет частным.

Ниже показан HTTP GET запрос для изменения идентификатора видео 6755813399445261573 из частного режима в публичный:


Ответ сервера показывает, что видео стало публичным и доступным для всех:


Разоблачение конфиденциальной информации


Исследование показало, что можно выполнять код JavaScript, используя XSS или другие методы для получения конфиденциальной информации. Было обнаружено несколько вызовов API в поддоменах https://api-t.tiktok.com и https://api-m.tiktok.com. Запросы к таким API-интерфейсам помогут раскрыть конфиденциальную информацию о пользователе, включая адрес электронной почты, информацию об оплате, дату рождения и многое другое.

При попытке использовать описанные выше уязвимости через JavaScript, была обнаружена проблема, в виде защитного механизма от перекрестного общего доступа к ресурсам (CORS) и ограничениями безопасности в Same Origin Policy (SOP).

Поддомены приведенных API позволяют сделать запрос только на определенные источники (например, www.tiktok.com). В качестве примера ниже продемонстрирован запрос API, который был сделан с https://cpr.checkpoint.com:


В итоге ответ с сервера был заблокирован из-за установки ограничений безопасности:


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

В процессе последующего анализа было обнаружено, что сервера TikTok реализовали нетрадиционный вызов JSONP, с помощью которого был получен доступ к данным пользователя через API, обходя ограничения по безопасности CORS и SOP. Этот метод позволит позаимствовать всю конфиденциальную информацию пользователя через данные JSON, с помощью AJAX запроса.

На следующем примере показан AJAX-запрос на получение всей конфиденциальной информации, связанной с кошельком пользователя. Запрос содержит параметр обратного вызова, а его значение это функция JavaScript, которая будет выполняться (myCallBackMethod):


В примере показаны данные, содержащие всю конфиденциальную информацию, полученную из API. Конфиденциальные данные были получены и могут быть отправлены на сервер злоумышленников:



Вывод


Самостоятельно собрать все необходимые метаданные с любого пользователя вручную не составляет особого труда и без особых знаний доступно каждому. Более удобную и простую замену мануальных действий дают автономные инструменты и автоматические запросы на профили.

После проведения анализа стало понятно, что далеко не все приложения являются безопасными для хранения личной информации. Использование таких уязвимостей, как СМС спуфинг и анализ сетевого протокола HTTP, позволяют расширить обычные возможности использования OSINT технологий в анализе данных пользователей. Использование обычного протокола HTTP вместо HTTPS дает возможность не только просматривать входящий и исходящий трафик, но и получать запросы и информацию пользователя TikTok: видео, активность юзера, его видеоизображения и фотографии. А неправильно настроенные каналы для обработки и передачи информации, которые впоследствии способствуют спуфингу или возможного DDOS, помогают перехватывать точные номера телефонов для дальнейшего обратного поиска всех связующих социальных аккаунтов пользователя.

Так как же все-таки правильно обеспечить конфиденциальную защиту своей информации в TikTok? Если говорить о сборе публичной информации, то один из способов это включение настроек приватного аккаунта, который позволяет скрыть всю информацию от публичного доступа. В случае с продемонстрированными атаками ответ остается одним и тем же: Если хочешь пользоваться, то ответственность лежит только на тебе.

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

Инструменты OSINT, которые ускорят исследования в сети

09.07.2020 16:21:19 | Автор: admin


Почти у всех периодически возникает необходимость разобраться в какой-то новой сфере, провести исследования или быстро найти очень узкоспециализированную информацию. Но поисковик не всегда нас понимает. Мы старательно пытаемся объяснить: вводим большие предложения на смену коротким словосочетаниям. Рыскаем по страницам и ссылкам. И, вероятно, через несколько часов обнаруживаем в каком-то документе pdf запрос, который надо было вводить с самого начала.

Бывает, не всегда легко выразить свою информационную потребность в поисковом запросе. Может не хватать нужной терминологии, или вы еще не совсем уверены, в том, что именно ищите, а увидев возможные варианты, сразу поймете что нужно. А может, то, что вы ищите, вообще сложно облечь в лаконичный поисковой запрос.

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

Помогут понять, что вообще искать


1. OneLook




Это словарик, который подбирает слова и фразы, как-то относящиеся к вашему запросу. Тут же можно быстро найти определения тех или иных слов результат придет из разных словарей.

2. Keyword Tool


Платформа показывает ключевые слова по введенному запросу на любом языке и по любой стране. В некоторых запросах даже видно, насколько они популярны, хотя эта услуга платная. Можно искать ключевые слова по Google, YouTube, Twitter, Instagram, Amazon, eBay, Play Store, Bing.

Ища по Google, можно, например, выбрать ключевые выражения, содержащие в себе вопросительные слова или предлоги. А слева есть фильтры, где можно искать по ключевым словам уже в получившейся выдаче.



3. Answer the Public


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



Единственный минус в бесплатной версии можно искать только около 3-4 запроса в день.

За ручку проведут к нужному источнику


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

4. Dmoz




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

5. Web Directory




Выбор здесь не очень большой, но может пригодиться. Каждая ссылка имеет краткое описание от редакторов платформы, что сокращает время на просматривание каждого ресурса.

Рассортируют выдачу по тематическим группам


6. Open Knowledge Map




Ресурс выдает все материалы с открытым доступом из BASE (поисковик по огромному количеству научных материалов) и PubMed (база данных медицинских и биологических публикаций). Можно отфильтровать по формату материалов аудио, книги, карты, патенты, отчеты, ПО, видео, научные тезисы и тд.

Фишкой ресурса является то, что он показывает выдачу по запросу в виде тематических кругов. Они соприкасаются и пересекаются. Чем ближе круги друг к другу, тем более родственными будут их темы. В центре находятся те, которые имеют самое сильное предметное сходство со всеми остальными кругами на карте. Справа можно искать по ключевым словам уже в пределах получившейся карты. Наведя мышкой на круг, можно увидеть, сколько документов есть по теме этого круга. Если нажать на круг, он увеличивается, и можно выбрать подходящий документ.



Более того, у платформы есть ПО, с которым можно визуализировать в такой же манере свой собственный набор документов.

Минусом можно назвать то, что платформа выдает только 100 наиболее релевантных результатов. Хотя для кого-то это, наоборот, плюс, так как сокращает время поиска.

7. Carrot2


Это поисковая система, которая распределяет результаты поиска по тематическим папкам и показывает в виде пайчарта и тримапа. Можно выбрать тип алгоритма кластеризации. Вот здесь:



Кстати, если при поиске, Carrot показывает вам вот это, то просто поменяйте страну в VPN и обновите страницу.



Ищите выбираете интересующую папку справа будут результаты.



Вот так выглядит Treemap, если поискать в Carrot информацию о метамодернизме:



Платформа удобна ещё тем, что ищет сразу по 15 поисковикам (в т.ч. Google, Яндекс, Bing).

8. BizNar




BizNar преподносится как ресурс для поиска бизнес информации: исследование рынка и различных индустрий. Платформа ищет по Deep web (не то же самое, что Dark web) выдаются результаты, которые не индексируются привычными поисковиками. Включает в себя поиск по патентам и социальным сетям.Также BizNar расфасовывает выдачу по тематическим папкам и в виде пайчарта (нажимаем visual слева).

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



9. World Wide Science


Поиск по международным и национальным исследовательским базам. Запрос можно вводить на любом из предложенных языков (в том числе русском). Если захотите получать уведомления на почту о появлении новых материалов, нужно будет зарегистрироваться. Однако, эта функция доступна только для английских источников.

Выдачу можно фильтровать по различным показателям, а также она рассортирована по темам.



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



Все возможное в одном месте


10. Fagan Finder




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

То, что собрано здесь, можно не найти через обычный поисковик, потому что источник информации может быть не онлайн, поиск может счесть его недостаточно важным или может быть опубликованным не в том виде, в котором поисковик имеет к нему доступ.

Найдет упоминание вашего запроса во всех популярных соцсетях и не только


11. Hash At It


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



Если вы зарегистрируйтесь на сайте, то появится возможность подписаться на определенный хештег или запрос, чтобы сразу получать новые посты по теме.

12. Social Search




Ищет по упоминаниям и в соцсетях и в поисковиках. Что интересно, в списке социальных сетей, по которым он ищет, есть VK. Обычно иностранные поисковые системы его не включают. Тут тоже можно настраивать уведомления на e-mail о новых публикациях по вашему запросу.

Быстрый поиск по новостям, чтобы быть в курсе всех трендов по интересующей теме


13. Watson News Explorer




Это такой банк с новостями. Здесь можно изучить, как личности, компании и новости связаны друг с другом. Платформа расскажет, какие темы, персоны, организации в той или иной степени связаны с вашим запросом. Карта справа показывает, какая страна источник информации, можно отфильтровать выдачу по конкретным странам.

Поиск можно настроить так, что он будет искать только по людям, компаниям или некоммерческим организациям. А расширенный поиск позволит найти связь между двумя запросами.

Ресурс выдает данные за последний месяц, и внизу отображается временная линейка, когда какие материалы были опубликованы.

14. World News




Это ресурс со всеми возможными новостям, в том числе на разных языках. Можно просто искать по ключевым словам по всем сообщениям, а можно выбрать страну и тему. Еще, кстати, здесь можно искать по радио и подкастам в разных странах. Если нажать на Classic в верхнем правом углу, то откроется более подробный поиск все отсортировано по темам и подтемам и легче искать. Есть мобильное приложение.

15. News Now





Здесь все свежие новости в одной куче. По маленькими флажкам рядом с заголовком можно понять, откуда это сообщение. Новости можно фильтровать по странам или тематикам. Еще здесь можно увидеть, какие новости наиболее просматриваемые и читаемые.

16. All You Can Read




Выбираете страну, а выдача дает все возможные онлайн СМИ, которые есть в этой стране. Плюс, можно сортировать по конкретным темам. Один из самых крупных новостных ресурсов с журналами и газетами со всего мира. Однако, поиск по ключевым словам здесь не предусмотрен.

Доставят нужную информацию прямо на ваш e-mail


Эти инструменты отследят появление новых материалов по теме, а также помогут с мониторингом изменений на интересующих вас сайтах.

17. Google Alert




Инструмент автоматически оповещает по e-mail о новых материалах по теме. Для того, чтобы им воспользоваться, нужен Google-аккаунт.

И так, вводим запрос, за которым хотим следить. Открываем Еще параметры и смотрим, как же мы можем настроить наш поиск. Автовыбор здесь означает, что информация будет поступать из всех видов источников. Но можно выбрать и какой-то один. Например, вам интересны только новые книги по теме. Только лучшие результаты в разделе Количество подразумевают под собой, что информация будет приходить только от ресурсов, обладающих хорошей репутацией.

18. Visual ping




Ждете результатов конкурса, появления скидок на авиабилеты или отслеживаете изменения в законодательстве? Этот ресурс пришлет вам уведомление, когда на указанной вами ссылке что-то изменится. Программа делает скриншот и сверяет его с предыдущим. Таким образом она замечает изменения. Расширение для Chrome поможет вам создавать новые уведомления прямо находясь на сайте, за которым вы хотите проследить. А еще можно создать групповые уведомления в Slack (подробнее, как их настроить, можно посмотреть в FAQ в самом низу). Отличная подойдет для отслеживания изменений у конкурентов.

Функция действия перед проверкой помогает автоматизировать определенное действие перед новым скриншотом-проверкой. Например, нужно ввести пароль, закрыть всплывающее окно или нажать на кнопку. Как ей пользоваться подробнее здесь и здесь (более продвинутое использование).



Можно настроить уведомления, чтобы вам их присылали только тогда, когда появляется указанное вами ключевое слово.



В бесплатной версии есть ограничения по количеству проверок.

19. Watch That Page




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

В одном письме приходят все обновления по указанным вами сайтам. Но можно и разделить ссылки по темам ресурс будет присылать их отдельными письмами. Для каждого сайта можно выбрать: вы хотите просто узнавать, что там что-то изменилось и самостоятельно проверять; или же сразу получать сами эти изменения в письме. Тут объясняется, как быстрее добавлять новые сайты для отслеживания.

Расширения, которые ускорят ваш обычный поиск


20. Selection Search


Устанавливаете расширение выделяете интересующий текст расширение предлагает варианты, где можно поискать информацию по этому запросу.



21. Infinite Scroll for Google


Здесь все элементарно просто вам не нужно лишний раз кликать на следующую страницу поисковой выдачи. Вы просто листаете вниз, а расширение автоматически открывает для вас новые результаты.

22. Search Preview




Расширение позволяет сразу увидеть, как выглядит сайт, чтобы зря не заходить на него. Поддерживает Google, DuckDuckGo, Yahoo и Bing.

Что еще может пригодиться


23. Wolfram Alpha




Это своеобразный поисковик, который не ищет ресурсы, где можно найти ответы, он сразу дает ответы. Он анализирует файлы разного рода, делает сложные вычисления, дает точные характеристики выбранного объекта, сравнивает и тд.

Чтобы понять, как с ним работать, ресурс предлагает примеры применения. Wolfram Alpha отлично подойдет, если нужно быстро узнать какие-то точные данные по работе в области финансов, социологии, медицины, транспорта, химии, инженерии, статистики, лингвистики и тд. Его можно использовать для обучения и просто для ответов на повседневные вопросы.

24. Gigablast




Это простой и понятный поисковик, в нем нет рекламы, есть приватность и справочник сайтов. А также большой список дорков для эффективного поиска.

25. Symbol Hound




Поисковик, который не игнорирует специальные символы, такие как &, %, , так что пригодится при поиске информации о выбранном языке программирования.

26. Digle




В конце концов можно попросить кого-то найти нужную вам информацию за деньги или заработать на поиске самому.

P.S. Мы как могли старались выбрать наиболее удобные и качественные ресурсы среди аналогов, но если вам все равно сложно выбирать (ох этот постоянный выбор в нашей жизни) берите самый первый из предложенных в каждом разделе. Удачи!
Подробнее..

Google Dorking или используем Гугл на максимум

13.07.2020 18:21:24 | Автор: admin

Вступление


Google Dorks или Google Hacking техника, используемая СМИ, следственными органами, инженерами по безопасности и любыми пользователями для создания запросов в различных поисковых системах для обнаружения скрытой информации и уязвимостях, которые можно обнаружить на общедоступных серверах. Это метод, в котором обычные запросы на поиск веб-сайтов используются в полную меру для определения информации, скрытой на поверхности.

Как работает Google Dorking?


Данный пример сбора и анализа информации, выступающий как инструмент OSINT, является не уязвимостью Google и не устройством для взлома хостинга сайтов. Напротив, он выступает в роли обычного поискового процесса данных с расширенными возможностями. И это не в новинку, так как существует огромное количество веб-сайтов, которым уже более десятка лет и они служат как хранилища для изучения и использования Google Hacking.

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

Однако самое интересное в Google Dorking, так это огромный объем информации, который может помочь каждому в процессе изучения поискового процесса Google. Может помочь новичкам в поиске пропавших родственников, а может научить каким образом можно извлечь информацию для собственной выгоды. В общем, каждый ресурс интересен и удивителен по своему и может помочь каждому в том, что именно он ищет.

Какую информацию можно найти через Dorks?


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

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

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

И к сожалению, Google безжалостно эффективен в поиске любых устройств в Интернете, работающих на серверах HTTP и HTTPS. И поскольку большинство этих устройств содержат определенную веб платформу для их настройки, это означает, что многие вещи, не предназначенные быть в Google, в конечном итоге оказываются там.

Безусловно, самый серьезный тип файлов, это тот, который несет в себе учетные данные пользователей или же всей компании. Обычно это происходит двумя способами. В первом, сервер настроен неправильно и выставляет свои административные логи или журналы в открытом доступе в Интернете. Когда пароли меняются или пользователь не может войти в систему, эти архивы могут утечь вместе с учетными данными.

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

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

Разбор операторов поиска


Dorking можно использовать в различных поисковых системах, не только в Google. В повседневном использовании поисковые системы, такие как Google, Bing, Yahoo и DuckDuckGo, принимают поисковый запрос или строку поисковых запросов и возвращают соответствующие результаты. Также эти же системы запрограммированы принимать более продвинутые и сложные операторы, которые значительно сужают эти условия поиска. Оператор это ключевое слово или фраза, несущее особое значение для поисковой системы. Вот примеры часто используемых операторов: inurl, intext, site, feed, language. За каждым оператором следует двоеточие, за которым следует соответствующий ключевая фраза или фразы.

Эти операторы позволяют выполнять поиск более конкретной информации, например: определенные строки текста внутри страниц веб-сайта или файлы, размещенные по конкретному URL-адресу. Помимо прочего, Google Dorking может также находить скрытые страницы для входа в систему, сообщения об ошибках, выдающие информации о доступных уязвимостях и файлы общего доступа. В основном причина заключается в том, что администратор веб-сайта мог просто забыть исключить из открытого доступа.

Наиболее практичным и в то же время интересным сервисом Google, является возможность поиска удаленных или архивных страниц. Это можно сделать с помощью оператора cache:. Оператор работает таким образом, что показывает сохраненную (удаленную) версию веб-страницы, хранящейся в кеше Google. Синтаксис данного оператора показан здесь:




cache:www.youtube.com

После произведения вышеуказанного запроса в Google, предоставляется доступ к предыдущей или устаревшей версии веб-страницы Youtube. Команда позволяет вызвать полную версию страницы, текстовую версию или сам источник страницы (целостный код). Также указывается точное время (дата, час, минута, секунда) индексации, сделанной пауком Google. Страница отображается в виде графического файла, хоть и поиск по самой странице осуществляется точно так же как в обычной странице HTML (сочетание клавиш CTRL + F). Результаты выполнения команды cache: зависят от того, как часто веб-страница индексировалась роботом Google. Если разработчик сам устанавливает индикатор с определенной частотой посещений в заголовке HTML-документа, то Google распознает страницу как второстепенную и обычно игнорирует ее в пользу коэффициента PageRank, являющийся основным фактором частоты индексации страницы. Поэтому, если конкретная веб-страница была изменена, между посещениями робота Google, она не будет проиндексирована и не будет прочитана с помощью команды cache:. Примеры, которые особенно хорошо работают при тестировании данной функции, являются часто обновляемые блоги, учетные записи социальных сетей и интернет-порталы.

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

Информация о пользователях


Поиск информации о пользователях используется при помощи расширенных операторов, которые делают результаты поиска точными и подробными. Оператор @ используется для поиска индексации пользователей в социальных сетях: Twitter, Facebook, Instagram. На примере того же самого польского вуза, можно найти его официального представителя, на одной из социальных платформ, при помощи этого оператора следующим образом:




inurl: twitter @minregion_ua

Данный запрос в Twitter находит пользователя minregion_ua. Предполагая, что место или наименование работы пользователя, которого ищем (Министерство по развитию общин и территорий Украины) и его имя известны, можно задать более конкретный запрос. И вместо утомительного поиска по всей веб-странице учреждения, можно задать правильный запрос на основе адреса электронной почты и предположить, что в названии адреса должно быть указано хотя бы имя запрашиваемого пользователя или учреждения. Например:




site: www.minregion.gov.ua @minregion.ua

Можно также использовать менее сложный метод и отправить запрос только по адресам электронной почты, как показано ниже, в надежде на удачу и недостаток профессионализма администратора веб ресурса.




email.xlsx

filetype: xls + email

Вдобавок можно попытаться получить адреса электронных почт с веб-страницы по следующему запросу:




site:www.minregion.gov.ua intext:e-mail

Показанный выше запрос, будет производить поиск по ключевому слову email на веб-странице Министерства по развитию общин и территорий Украины. Поиск адресов электронной почты имеет ограниченное использование и в основном требует небольшой подготовки и сборе информации о пользователях заранее.

К сожалению, поиск индексированных телефонных номеров через phonebook Google ограничен только на территории США. Например:




phonebook:Arthur Mobile AL

Поиск информации о пользователях также возможен через Google image search или обратного поиска изображений. Это позволяет находить идентичные или похожие фотографии на сайтах, проиндексированными Google.

Информация веб-ресурсов


Google имеет несколько полезных операторов, в частности related:, который отображает список похожих веб-сайтов на нужный. Сходство основано на функциональных ссылках, а не на логических или содержательных связях.




related:minregion.gov.ua

В этом примере отображаются страницы других Министерств Украины. Этот оператор работает как кнопка Похожие страницы в расширенном поиске Google. Точно таким же образом работает запрос info:, который отображает информацию на определенной веб-странице. Это конкретная информация веб-страницы, представленная в заголовке веб-сайта (), а именно в мета-тегах описания (<meta name = Description). Пример:




info:minregion.gov.ua

Другой запрос, define: весьма полезен в поиске научной работе. Он позволяет получить определения слов из таких источников, как энциклопедий и онлайн-словарей. Пример его применения:




define:ukraine territories

Универсальный оператор тильда (~), позволяет искать похожие слова или слова синонимы:




~громат ~розвитку

Приведенный выше запрос отображает, как веб-сайты со словами громат (развитие) и розвитку (территорий), так и сайты с синонимом общины. Оператор link:, модифицирующий запрос, ограничивает диапазон поиска ссылками, указанными для определенной страницы.




link:www.minregion.gov.ua

Однако этот оператор не отображает все результаты и не расширяет критерии поиска.

Хештеги являются своего рода идентификационными номерами, позволяющие группировать информацию. В настоящее время они используются в Instagram, VK, Facebook, Tumblr и TikTok. Google позволяет выполнять поиск во многих социальных сетях одновременно или только в рекомендуемых. Пример типичного запроса к любой поисковой системе является:




#полтикавукран

Оператор around (n) позволяет искать два слова, расположенные на расстоянии определенного количества слов, друг от друга. Пример:




Мнстерство around(4) Украни

Результатом вышеупомянутого запроса является отображение веб-сайтов, которые содержат эти два слова (министерство и Украины), но они отделены друг от друга четырьмя другими словами.

Поиск по типам файлов также чрезвычайно полезен, поскольку Google индексирует материалы в соответствии с их форматами, в котором они были записаны. Для этого используется оператор filetype:. В настоящее время используется очень широкий диапазон поиска файлов. Среди всех доступных поисковых систем, Google предоставляет самый сложный набор операторов для поиска открытых исходных кодов.

В качестве альтернативы вышеупомянутых операторов, рекомендуются такие инструменты, как Maltego и Oryon OSINT Browser. Они обеспечивают автоматический поиск данных и не требуют знания специальных операторов. Механизм программ очень прост: с помощью правильного запроса, направленного в Google или Bing, находятся документы, опубликованные интересующим вас учреждением и анализируются метаданные из этих документов. Потенциальным информационным ресурсом для таких программ является каждый файл с любым расширением, к примеру: .doc, .pdf, .ppt, .odt, .xls или .jpg.

В дополнении, следует сказать о том как правильно позаботиться об очистке своих метаданных, прежде чем делать файлы общедоступными. В некоторых веб-руководствах предусмотрено как минимум несколько способов избавления от мета информации. Однако невозможно вывести самый лучший способ, потому что это все зависит от индивидуальных предпочтений самого администратора. В основном рекомендуется записать файлы в формате, в котором изначально не хранятся метаданные, а затем сделать файлы доступным. В Интернете присутствует многочисленное количество бесплатных программ очистки метаданных, главным образом, в отношении изображений. ExifCleaner может рассматриваться как один из самых желательных. В случае текстовых файлов, настоятельно рекомендуется выполнять очистку вручную.

Информация, неосознанно оставленная владельцами сайтов


Ресурсы, индексируемые Google, остаются публичными (например внутренние документы и материалы компании, оставшиеся на сервере), или они оставляются для удобства использования теми же людьми (например музыкальные файлы или файлы фильмов). Поиск такого контента может быть сделан при помощи Google через множество различных способов и самый простой из них, это просто угадать. Если например в определенном каталоге есть файлы 5.jpg, 8.jpg и 9.jpg, можно предугадать, что есть и файлы от 1 до 4, от 6 до 7 и даже более 9. Поэтому можно получить доступ к материалам, которые не должны были быть в публичном виде. Другой способ поиск по определенным типам контента на веб-сайтах. Можно искать музыкальные файлы, фотографии, фильмы и книги (электронные книги, аудиокниги).

В другом случае это могут быть файлы, которые пользователь оставил бессознательно в публичном доступе (например музыка на FTP сервере для собственного использования). Такую информацию можно получить двумя способами: используя оператор filetype: или оператор inurl:. Например:




filetype:doc site:gov.ua

site:www.minregion.gov.ua filetype:pdf

site:www.minregion.gov.ua inurl:doc

Также можно искать программные файлы, используя поисковый запрос и фильтруя искомый файл по его расширению:




filetype:iso

Информация о структуре веб-страниц


Для того чтобы просмотреть структуру определенной веб-страницы и раскрыть всю ее конструкцию, которая поможет в дальнейшем сервера и его уязвимостей, можно проделать это, используя только оператор site:. Давайте проанализируем следующую фразу:




site: www.minregion.gov.ua minregion

Мы начинаем поиск слова minregion в домене www.minregion.gov.ua. Каждый сайт из этого домена (Google ищет как в тексте, в заголовках и в заголовке сайта) содержит данное слово. Таким образом, получая полную структуру всех сайтов этого конкретного домена. Как только структура каталогов станет доступной, более точный результат (хотя это не всегда может произойти) можно получить с помощью следующего запроса:




site:minregion.gov.ua intitle:index.of parent directory

Он показывает наименее защищенные субдомены minregion.gov.ua, иногда с возможностью поиска по всему каталога, вместе с возможной загрузкой файлов. Поэтому, естественно, такой запрос не применим ко всем доменам, поскольку они могут быть защищены или работать под управлением какого-либо другого сервера.







site:gov inurl:robots.txt intext:Disallow: /web.config

Данный оператор позволяет получить доступ к параметрам конфигураций различных серверов. После проведения запроса, переходим в файл robots.txt, ищем путь к web.config и переход по заданному пути файла. Чтобы получить имя сервера, его версию и другие параметры (например, порты), делается следующий запрос:




site:gosstandart.gov.by intitle:index.of server.at

Каждый сервер имеет какие-то свои уникальные фразы на заглавных страницах, например, Internet Information Service (IIS):




intitle:welcome.to intitle:internet IIS

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




site:gov.ua inurl:manual apache directives modules (Apache)

Доступ может быть более расширенным, например, благодаря файлу с ошибками SQL:




#mysql dump filetype:SQL

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




site:gov.ua inurl:backup

site:gov.ua inurl:backup intitle:index.of inurl:admin

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

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


Таким образом, потенциальный злоумышленник может перехватить данные, оставленные веб-администраторами, внутренние документы и материалы компании, оставленные даже на скрытом сервере.

Если вы захотите узнать еще больше информации о всех возможных операторов индексирования вы можете ознакомиться с целевой базой данных всех операторов Google Dorking вот здесь. Также можно ознакомиться с одним интересным проектом на GitHub, который собрал в себя все самые распространенные и уязвимые URL ссылки и попробовать поискать для себя что-то интересное, его можно посмотреть вот по этой ссылке.

Комбинируем и получаем результаты


Для более конкретных примеров, ниже представлена небольшая сборка из часто используемых операторов Google. В комбинации различной дополнительной информации и тех же самых команд, результаты поиска показывают более подробный взгляд на процесс получения конфиденциальной информации. Ведь как-никак, для обычной поисковой системы Google, такой процесс сбора информации может оказаться довольно интересным.

Поиск бюджетов на веб-сайте Министерства национальной безопасности и кибербезопасности США.


Следующая комбинация предоставляет все общедоступные проиндексированные таблицы Excel, содержащие слово бюджет:




budget filetype:xls

Так как оператор filetype: автоматически не распознает различные версии одинаковых форматов файлов (например, doc против odt или xlsx против csv), каждый из этих форматов должен быть разбит отдельно:




budget filetype:xlsx OR budget filetype:csv

Последующий dork вернет файлы PDF на веб-сайте NASA:




site:nasa.gov filetype:pdf

Еще один интересный пример использования дорка с ключевым словом бюджет это поиск документов по кибербезопасности США в формате pdf на официальной сайте Министерства внутренней обороны.




budget cybersecurity site:dhs.gov filetype:pdf

То же самое применение дорка, но в этот раз поисковик вернет электронные таблицы .xlsx, содержащие слово бюджет на веб-сайте Министерства внутренней безопасности США:




budget site: dhs.gov filetype: xls

Поиск паролей


Поиск информации по логину и паролю может быть полезен в качестве поиска уязвимостей на собственном ресурсе. В остальных случаях пароли хранятся в документах общего доступа на веб-серверах. Можно попробовать применить следующие комбинации в различных поисковых системах:




password filetype:doc / docx / pdf / xls

password filetype:doc / docx / pdf / xls site:[Наименование сайта]

Если попробовать ввести такой запрос в другой поисковой системе, то можно получить совершенно разные результаты. Например, если выполнить этот запрос без термина site: [Наименование сайта], Google вернет результаты документов, содержащие реальные имена пользователей и пароли некоторых американских средних школ. Другие поисковые системы не показывают эту информацию на первых страницах результатов. Как это можно увидеть ниже, Yahoo и DuckDuckGo являются таковыми примерами.



Цены на жилье в Лондоне


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


filetype:xls house prices and London

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

Альтернативные инструменты поиска индексаций


Существуют также и другие методы сбора информации при помощи Google Dorking. Все они являются альтернативой и выступают в качестве автоматизации поисковых процессов. Ниже предлагаем взглянуть на одни из самых популярных проектов, которыми не грех поделиться.

Google Hacking Online


Google Hacking Online это онлайн интеграция поиска Google Dorking различных данных через веб страницу при помощи установленных операторов, с которыми вы можете ознакомиться здесь. Инструмент представляет из себя обычное поле ввода для поиска желаемого IP адреса или URL ссылки на интересующий ресурс, вместе с предлагаемыми опциями поиска.


Как видно из картинки выше, поиск по нескольким параметрам предоставляется в виде нескольких вариантов:

  1. Поиск публичных и уязвимых каталогов
  2. Файлы конфигурации
  3. Файлы баз данных
  4. Логи
  5. Старые данные и данные резервного копирования
  6. Страницы аутентификации
  7. Ошибки SQL
  8. Документы, хранящиеся в общем доступе
  9. Информация о конфигурации php на сервере (phpinfo)
  10. Файлы общего интерфейса шлюза (CGI)

Все работает на ванильном JS, который прописан в самом файл веб страницы. В начале берется введенная информация пользователя, а именно наименование хоста или IP адрес веб страницы. И потом составляется запрос с операторами на введенную информацию. Ссылка на поиск определенного ресурса, открывается в новом всплывающем окне, с предоставленными результатами.

BinGoo



BinGoo это универсальной инструмент, написанный на чистом bash. Он использует поисковые операторы Google и Bing для фильтрации большого количества ссылок на основе приведенных поисковых терминов. Можно выбрать поиск по одному оператору за раз или составить списки по одному оператору на строку и выполнить массовое сканирование. Как только заканчивается процесс с изначальным сбором информации или у вас появятся ссылки, собранные другими способами, можно перейти к инструментам анализа, чтобы проверить общие признаки уязвимостей.

Результаты аккуратно отсортированы в соответствующих файлах на основе полученных результатов. Но и здесь анализ не останавливается, можно пойти еще дальше и запустить их с помощью дополнительных функционалов SQL или LFI или можно использовать инструменты-оболочки SQLMAP и FIMAP, которые работают намного лучше, с точными результатами.

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

Pagodo


Цель инструмента Pagodo это пассивное индексирование операторов Google Dorking для сбора потенциально уязвимых веб-страниц и приложений через Интернет. Программа состоит из двух частей. Первая это ghdb_scraper.py, которая запрашивает и собирает операторы Google Dorks, а вторая pagodo.py, использует операторы и информацию, собранную через ghdb_scraper.py и анализирует ее через запросы Google.

Для начала файлу pagodo.py требуется список операторов Google Dorks. Подобный файл предоставляется либо в репозитории самого проекта или можно просто запросить всю базу данных через один GET-запрос, используя ghdb_scraper.py. А затем просто скопировать отдельные операторы dorks в текстовый файл или поместить в json, если требуются дополнительные контекстные данные.

Для того чтобы произвести данную операцию, нужно ввести следующую команду:

python3 ghdb_scraper.py -j -s


Теперь, когда есть файл со всеми нужными операторами, его можно перенаправить в pagodo.py с помощью опции -g, для того чтобы начать сбор потенциально уязвимых и общедоступных приложений. Файл pagodo.py использует библиотеку google для поиска таких сайтов с помощью подобных операторов:

intitle: ListMail Login admin -demo

site: example.com

К сожалению, процесс столь огромного количества запросов (а именно ~ 4600) через Google, просто не будет работать. Google сразу же определит вас как бота и заблокирует IP адрес на определенный период. Для того чтобы поисковые запросы выглядели более органичными, было добавлено несколько улучшений.

Для модуля Python google сделали специальные поправки, чтобы обеспечить рандомизацию агента пользователя через поисковые запросы Google. Эта функция доступна в версии модуля 1.9.3 и позволяет рандомизировать различные пользовательские агенты, используемые для каждого поискового запроса. Данная возможность позволяет эмулировать различные браузеры, используемые в большой корпоративной среде.

Второе усовершенствование фокусируется на рандомизации времени между поисковыми запросами. Минимальная задержка указывается с помощью параметра -e, а коэффициент джиттера используется для добавления времени к минимальному числу задержек. Создается список из 50 джиттеров и один из них случайным образом добавляется к минимальному времени задержки для каждого процесса поиска в Google.

self.jitter = numpy.random.uniform(low=self.delay, high=jitter * self.delay, size=(50,))


Далее в скрипте выбирается случайное время из массива джиттера и добавляется к задержке создания запросов:

pause_time = self.delay + random.choice (self.jitter)


Можно самостоятельно поэкспериментировать со значениями, но настройки по умолчанию работают итак успешно. Обратите внимание, что процесс работы инструмента может занять несколько дней (в среднем 3; в зависимости от количества заданных операторов и интервала запроса), поэтому убедитесь, что у вас есть на это время.

Чтобы запустить сам инструмент, достаточно следующей команды, где example.com это ссылка на интересуемый веб сайт, а dorks.txt это текстовый файл который создал ghdb_scraper.py:

python3 pagodo.py -d example.com -g dorks.txt -l 50 -s -e 35.0 -j 1.1


А сам инструмент вы можете пощупать и ознакомиться перейдя вот по этой ссылочке.

Методы защиты от Google Dorking


Основные рекомендации


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

  1. Систематическое обновление операционных систем, сервисов и приложений.
  2. Внедрение и обслуживание анти-хакерских систем.
  3. Осведомленность о Google роботах и различных процедурах поисковых систем, а также способы проверки таких процессов.
  4. Удаление конфиденциального содержимого из общедоступных источников.
  5. Разделение общедоступного контента, частного контента и блокировка доступа к контенту для пользователей общего доступа.

Конфигурация файлов .htaccess и robots.txt


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

Для того чтобы тщательно подойти к предотвращению индексаций со стороны любых поисковых систем стоит обратить внимание на два основных файла конфигураций любого сетевого ресурса: .htaccess и robots.txt. Первый защищает обозначенные пути и директории при помощи паролей. Второй исключает директории из индексирования поисковиков.

В случае, если на вашем собственном ресурсе содержатся определенные виды данных или директорий, которым не следует быть индексированным на Google, то в первую очередь следует настроить доступ к папкам через пароли. На примере ниже, можно наглядно посмотреть как правильно и что именно следует прописать в файл .htaccess, находящийся в корневой директории любого веб сайта.

Для начала следует добавить несколько строк, показанные ниже:

AuthUserFile /your/directory/here/.htpasswd

AuthGroupFile /dev/null

AuthName Secure Document

AuthType Basic

require user username1

require user username2

require user username3

В строке AuthUserFile указываем путь к местоположению файла .htaccess, который находится в вашем каталоге. А в трех последних строках, нужно указать соответствующее имя пользователя, к которому будет предоставлен доступ. Затем нужно создать .htpasswd в той же самой папке, что и .htaccess и выполнив следующую команду:

htpasswd -c .htpasswd username1

Дважды ввести пароль для пользователя username1 и после этого, будет создан абсолютно чистый файл .htpasswd в текущем каталоге и будет содержать зашифрованную версию пароля.

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

htpasswd .htpasswd username2

В остальных случаях рекомендуется настраивать файл robots.txt, который отвечает за индексацию страниц любого веб ресурса. Он служит проводником для любой поисковой системы, которая ссылается на определенные адреса страниц. И прежде чем перейти непосредственно к искомому источнику, robots.txt будет либо блокировать подобные запросы, либо пропускать их.

Сам файл расположен в корневом каталоге любой веб платформы, запущенной в Интернете. Конфигурация осуществляется всего лишь изменением двух главных параметров: User-agent и Disallow. Первый выделяет и отмечает либо все, либо какие-то определенные поисковые системы. В то время как второй отмечает, что именно нужно заблокировать (файлы, каталоги, файлы с определенными расширениями и т.д.). Ниже приведено несколько примеров: исключения каталога, файла и определенной поисковой системы, исключенные из процесса индексирования.

User-agent: *

Disallow: /cgi-bin/

User-agent: *

Disallow: /~joe/junk.html

User-agent: Bing

Disallow: /

Использование мета-тегов


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

<meta name=Robots content=none \>

<meta name=Robots content=noindex, nofollow \>

При добавлении такой записи в хедере страницы, роботы Google не будут индексировать ни второстепенные, ни главную страницу. Данная строка может быть введена на страницах, которым не следуют индексироваться. Однако это решение, основано на обоюдном соглашении между поисковыми системами и самим пользователем. Хоть Google и другие сетевые пауки соблюдают вышеупомянутые ограничения, есть определенные сетевые роботы охотятся за такими фразами для получения данных, изначально настроенных без индексации.

Из более продвинутых вариантов по безопасности индексирования, можно воспользоваться системой CAPTCHA. Это компьютерный тест, позволяющий получить доступ к контенту страницы только людям, а не автоматическим ботам. Однако этот вариант имеет, небольшой недостаток. Он не слишком удобен для самих пользователей.

Другим простым защитным методом от Google Dorks может быть, например, кодирование знаков в административных файлах кодировкой ASCII, затрудняющий использование Google Dorking.

Практика пентестинга


Практика пентестинга это тесты на выявления уязвимостей в сети и на веб платформах. Они важны по своему, потому что такие тесты однозначно определяют уровень уязвимости веб-страниц или серверов, включая Google Dorking. Существуют специальные инструменты для пентестов, которые можно найти в Интернете. Одним из них является Site Digger, сайт, позволяющий автоматически проверять базу данных Google Hacking на любой выбранной веб-странице. Также, есть еще такие инструменты, как сканер Wikto, SUCURI и различные другие онлайн-сканеры. Они работают аналогичным образом.

Есть более серьезные инструменты, имитирующие среду веб-страницы, вместе с ошибками и уязвимостями для того, чтобы заманить злоумышленника, а затем получить конфиденциальную информацию о нем, как например Google Hack Honeypot. Стандартному пользователю, у которого мало знаний и недостаточно опыта в защите от Google Dorking, следует в первую очередь проверить свой сетевой ресурс на выявление уязвимостей Google Dorking и проверить какие конфиденциальные данные являются общедоступными. Стоит регулярно проверять такие базы данных, haveibeenpwned.com и weleakinfo.com, чтобы выяснить, не была ли нарушена и опубликована безопасность ваших учетных записей в сети.


https://haveibeenpwned.com/, касается плохо защищенных веб-страниц, где были собраны данные учетных записей (адреса электронных почт, логины, пароли и другие данные). В настоящее время база данных содержит более 5 миллиардов учетных записей. Более продвинутый инструмент доступен на https://weleakinfo.com, позволяющий искать информацию по именам пользователей, адресов электронных почт, паролей и их хешу, IP адресам, именам и номерам телефонов. В дополнении, счета, по которым произошла утечка данных, можно купить в сети. Стоимость однодневного доступа составляет всего 2 доллара США.

Заключение


Google Dorking является неотъемлемой частью процесса сбора конфиденциальной информации и процесса ее анализа. Его по праву можно считать одним из самых корневых и главных инструментов OSINT. Операторы Google Dorking помогают как в тестировании своего собственного сервера, так и в поиске всей возможной информации о потенциальной жертве. Это действительно очень яркий пример корректного использования поисковых механизмов в целях разведки конкретной информации. Однако являются ли намерения использования данной технологии благими (проверка уязвимостей собственного интернет ресурса) или недобрыми (поиск и сбор информации с разнообразных ресурсов и использование ее в незаконных целях), остается решать только самим пользователям.

Альтернативные методы и инструменты автоматизации дают еще больше возможностей и удобств для проведения анализа веб ресурсов. Некоторые из них, как например BinGoo, расширяет обычный индексированный поиск на Bing и анализирует всю полученную информацию через дополнительные инструменты (SqlMap, Fimap). Они в свою очередь преподносят более точную и конкретную информацию о безопасности выбранного веб ресурса.

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

Как представители разных профессий вас пробивают

17.07.2020 12:12:50 | Автор: admin


Чтобы проводить расследования по открытым данным в интернете, совершенно не обязательно обладать сверхтехническими познаниями.

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

Компании используют открытые данные, чтобы принимать важные решения, получать конкурентные преимущества и обеспечивать безопасность. Открытую информацию дешевле собирать и исследовать, она доступна нужен только интернет и компьютер, а большинство инструментов можно использовать бесплатно. Такие данные легко распространять: они открытые, у всех к ним сразу будет доступ. Кроме того, OSINT ускоряет поиск и позволяет проводить исследования в режиме реального времени.

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

Human Resources (HR)


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

Применение: поиск сотрудников через Telegram (ТГ)


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

1. Поиск по резюме в открытых группах. Если ввести в Telegago специальность+#резюме, то можно найти людей, которые заинтересованы в поиске работы. Вы получите выдачу с постами из разных групп с вакансиями и не только. Все в одном месте, свежее, и не надо долго и муторно бродить по каналам.



2. Поиск по специальности среди профилей. Некоторые пользователи пишут в bio свою профессию/должность, страну, город, а некоторые даже прикладывают резюме и портфолио. Скорее всего, они это делают не просто так. Вероятно, что и для предложений о работе в том числе.

Поискать потенциальных кандидатов всё на том же ресурсе можно следующим образом. В поисковик вбиваете нужного вам специалиста. А потом нажимаете на contacts. Получаем почти 3000 контактов.



Теперь можно добавить в поисковую строку город и попробовать найти специалиста из нужного региона. Получаем 9 результатов.



Большинство людей из выдачи у нас получилось найти по имени в LinkedIn. И тут вы задумаетесь, а почему бы нам сразу не пойти в LinkedIn? Но дело в том, что если программисты часто бывают зарегистрированы на этом ресурсе, то, например, маркетологи далеко не всегда, особенно из русскоговорящих стран. А имея данные из ТГ, можно поискать больше информации о человеке в поисковиках и соцсетях. Рассмотрим на примере.

Вот, нашли дизайнера.



Заходим в его профиль в ТГ. Оттуда мы узнаем, сколько ему лет, его имя, и как он (предположительно) выглядит.



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

Vitaliy inurl:<имя пользователя> site:instagram.com | twitter.com | facebook.com | ticktock.com | linkedin.com

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

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



Кроме Гугл, есть ресурсы Namechk, Instant Username и другие, которые показывают, на каких платформах есть зарегистрированные пользователи с определенным никнеймом. Но там мы не сможем добавить дополнительные характеристики человека в поиске, и есть риск оказаться среди множества неподходящих аккаунтов. Особенно, если никнейм достаточно распространенный, а не какой-то необычный.

Применение: Facebook для мониторинга, кто из сотрудников и что пишет про компанию


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

Для этого вам потребуется авторизироваться в Фейсбуке и иметь ваших сотрудников у себя в друзьях. И так, вводим в поисковую строку название вашей компании, нажимаем на posts и отфильтровываем по опубликованным только вашими друзьями.



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

А дальше можно отфильтровать по времени: например, проверять каждый месяц.



К слову, есть рекрутинговые компании, которые специализируются именно на OSINT. Например, британская Agenda. Они проверяют кандидатов, исследуя их цифровой след. Это позволяет определить ценности и особенности поведения кандидата.

Юридические дела


Юристы работают далеко не только с законодательством. Бывает, что ответа на вопрос клиента или руководителя просто нет среди законов и кейсов. Тогда юрист превращается в OSINT-исследователя, потому что его работа в том, чтобы найти ответ на вопрос.

Например, открытые данные помогают проверить контрагента, избежать нарушений законов или найти нужные доказательства для иска. Да и ресерч правовых баз можно отнести к поиску по открытым данным. Например, когда инструменты OSINT используются для отслеживания обновлений в законодательстве.

Применение: пробиваем компанию


Рассмотрим несколько действий, которые помогут вам получить более подробное представление о компании.

1. Ищем официальные данные компании. Если вы изначально не знаете название юридического лица или ИНН (например, из договора), то его можно поискать на сайте иногда оно бывает в футере.



Иногда в контактах.



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

2. Когда у вас есть официальное наименование компании, ИНН или адрес, то более детальные подробности можно поискать на этом ресурсе. Здесь вы найдете финансовый отчет, а в нем очень много информации о компании в целом. Например, в Пояснении к бухгалтерскому балансу и отчету о финансовых результатах (он находится в самом низу страницы, которую платформа вам выдаст на запрос о компании) можно найти следующую информацию:

  • о филиалах
  • данные об участниках группы компаний компаниях в разных странах и регионах, которые относятся к исследуемой организации
  • инвестициях компании
  • информацию о собственности например, наличие недвижимости и земли
  • об арендованных объектах



  • о должниках компании (а следовательно и о клиентах, и партнерах)



  • о долгах
  • об основных источниках выручки



  • и источниках расходов. Можно найти информацию и об отчислениях на благотворительность, и о размерах штрафов



  • банки, где компания имеет счета



3. На предыдущем ресурсе можно изучить только актуальный отчет за прошлый год. Некоторые архивные данные о финансах за 2012-2018 года можно посмотреть здесь.

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

5. Заблокирован ли расчетный счет компании можно проверить тут. Нужен ИНН и BIC. Это важно, потому что счета блокируются:

а) когда компания не платит налоги;
б) когда банк подозревает компанию в нелегальных операциях.

Применение: поиск по интеллектуальной собственности


Защитить свои авторские права и не нарушить чужих.

1. Ищем копии своих произведений. OSINT поможет найти тех, кто, абсолютно не заморачиваясь, использует ваше творение. Оригинальный текст, фотографию, видео, мелодию и тд. Например, вот как это работает с картинками.

Медиа Srsly.ru в мае 2020 выпустили в своем Instagram серию картинок.



Попробуем поискать одну из них в Yandex-поисковике (он лучше Google ищет похожие картинки). Вот, что он нам выдает. Копий очень много.



Некоторые бренды просто скопировали картинку с интересной идеей к себе в социальные сети, ничего не поменяв.



А некоторые даже поставили свою подпись внизу духов.



Саму же идею картинок такого рода скопировало еще больше компаний. Но это уже не про авторское право.

2. Не нарушаем авторских прав других. Может быть и наоборот вы сами хотите использовать картинку или видео и сомневаетесь, насколько это легально. Для этого есть простые решения. В Google Images можно отфильтровать картинки по типу лицензии.



У Flickr тоже похожее есть.



А расширение InVID через функцию video rights поможет определить лицензию на видео из Twitter и Youtube. Из Твиттера достаточно скопировать ссылку на пост. Ну а в YouTube ссылку на видео.



Что можно узнать через товарные знаки.

1. Какое наименование для компании, бренда или продукта вы сможете зарегистрировать. Открытые реестры товарных знаков помогут проверить, есть ли где-то аналогичные или похожие наименования. А если есть, то в какой стране они зарегистрированы, на какие товары и услуги, не истек ли у них срок действия. Все это можно проверять в международных базах, вроде европейской и базы ВОИС, а также в национальных США, Соединенное Королевство, Россия. Здесь можно найти национальные базы и других стран. Все зависит о того, в какой стране(ах) вы хотите получить защиту вашего товарного знака.

2. Дополнительную информацию о вашем контрагенте. Ища по товарным знакам, вы сможете узнать, какой компании он принадлежит, а потом какие еще бренды принадлежат этой организации. Многие реестры позволяют искать и по картинке (логотипу), и по названию.

Вот, например, найдем в британской базе компанию Oracle. Ищем по keyword, phrase or image. Здесь мы видим, что официально она называется Oracle International Corporation и товарный знак Oracle зарегистрирован для 7 классов услуг и товаров. И это не только программное обеспечение, но и печатные материалы, образовательные услуги в сфере компьютеров и ПО и т.д.



Когда у нас есть наименование компании-владельца товарного знака, можно искать в реестрах по владельцу. Теперь попробуем посмотреть в американской базе, какие товарные знаки принадлежат Oracle в США. Заходим в самый простой вариант поиска, который нам предлагает платформа. В field выбираем Owner name and address. Официальное название вводим обязательно в кавычках, чтобы выдача была именно с нужным нам владельцем.



И получаем 50 товарных знаков, зарегистрированных этой компанией в Соединенных штатах. У них еще и спортивный парк есть!



Информационная безопасность


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

Применение: проверяем информационные утечки из электронных досок и mind-map


Электронные доски можно найти в интернете и злоумышленники могут этим воспользоваться. Поэтому неплохо бы проверить, а не поделился ли кто-то из сотрудников доской с инсайдерской информацией в открытой группе в Telegram или у себя на страничке в FB. Возьмем доски Miro как пример. Вот так выглядит структура URL электронной доски: miro.com/app/board/.

И так, пробуем поискать на разных платформах.

В Google.
Заключаем URL в кавычки, не забыв исключить сам сайт miro.com.



И конечно поиск можно сузить до нужных ресурсов. В частности, YouTube, Instagram, Twitter, Facebook, LinkedIn, VK, Medium, Habr, Trello.



В Telegram.

1) Используем уже знакомый поисковик Telegago.



2) Tgstat.ru похож на предыдущий инструмент, но там есть расширенный поиск по стране, языку, тематике канала. В примере: ищем по конкретной ссылке.



В Twitter.

Не забывайте нажимать последнее, если вам нужны самые свежие результаты. О дополнительных возможностях OSINT в Твиттере можно почитать здесь. В примере: ищем посты с ссылкой на электронную доску и упоминанием компании.



В Facebook.

Ищем в разделе posts.



Маркетинг и PR


В среде продаж и рекламы OSINT используется для анализа рынка и мнений потребителей, мониторинга конкурентов. Например, с помощью открытых данных можно найти отзывы клиентов на сайт или в профиль в социальных сетях; автоматизировать мониторинг конкурентов; найти подходящую платформу для продвижения и рекламы.

Применение: ресерч по конкурентам


Мы уже писали подробную статью об использовании Google для поиска по открытым данным, но продолжаем рассказывать о разных вариантах применения.

Google dork related в общей выдаче показывает нам ПОХОЖИЕ ресурсы, а в картинках в основном страницы, связанные с наименованием сайта. Поэтому этот дорк может пригодиться аж для двух целей.

1. Поиск неочевидных конкурентов.

Секретик в том, что обычно этот дорк позиционируется как для поиска похожих страниц, когда вы ищите что-то как потребитель. Это дает нам возможность узнать, какие ресурсы, по мнению алгоритмов, удовлетворяют ту же потребность, что и ваша компания.

И так, вводим в поисковик ссылку на сайт вашей организации или одного из ваших конкурентов. Получаем неплохую выдачу.



Но бывает, на запросы по некоторым сайтам Google говорит, что он ничего не знает. В этом случае можно покопаться в картинках, и есть шанс наткнуться на какого-нибудь неожиданного конкурента. Можно сузить поиск до конкретных соцсетей и платформ, добавив, например, site:facebook.com в поисковую строку.

2. Поиск упоминаний бренда. Как своей компании, так и конкурентов.
Тут будет поиск только по картинкам. Для этой цели подойдет такой дорк: related: -site:. Здесь тоже можно пробовать фильтровать по разным платформам и социальным сетям.



Стоит отметить, что для этой цели можно использовать и другие дорки:

info:<company site/company name> -
inurl: intext: -link: -site:

Однако, выдачи отличаются. Иногда сильно, иногда не очень.

Применение: находим сайты, где можно разместить нативную рекламу


Чтобы сократить время и не изобретать велосипед, можно изучить, где уже публиковались спонсорские статьи по вашей тематике. Если вы рассчитываете на русскоговорящую аудиторию, то для поиска подойдут следующие Google dorks:

ниша/сфера intext:партнерский
ниша/сфера intext:партнерский inurl:promo
ниша/сфера intext:партнерский материал
ниша/сфера intext: спецпроект inurl:special
ниша/сфера intext:материал подготовлен при поддержке




Если на англоязычную, то эти:

niche intext:paid post
niche intext:sponsored by
niche intext:sponsor content inurl:sponsored
niche intext:sponsored
niche intext:sponsored content
niche intext:sponsored post inurl:sponsored-post


Разные сочетания этих дорков могут выдавать разные результаты. Так что, экспериментируйте.

Подобные OSINT техники и инструменты активно используются компаниями, которые с помощью открытых источников, помогают брендам эффективнее продвигать свои услуги и товары. Вот только некоторые из них: BrandWatch, TalkWalker, Brand24, AnswerThePublic, BuzzSumo.

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

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

Как мы внедрили скрытие аккаунтов в Telegram или ДуровДобавьДвойноеДно

31.08.2020 14:14:39 | Автор: admin

Если анимация не воспроизводится, смотрите её здесь.

Здравствуйте, Павел Дуров! Мы надеемся, что Вы нашли время ознакомиться с данным открытым письмом. Мы разработали решение для Telegram-клиента, которое позволяет скрывать аккаунты и открывать их только через уникальный код-пароль (см. анимированное превью). Нет никаких следов присутствия скрытых аккаунтов. Невозможно узнать, есть ли в мессенджере скрытые аккаунты и какое их количество. Решение именуется как Двойное дно.

Все нюансы были тщательно нами продуманы, а сам Telegram-клиент с точки зрения интерфейса и пользовательского опыта никак не изменился. Практически никаких доработок со стороны команды Telegram не требуется. Двойное дно сделано полностью под ключ, Вам нужно лишь принять наш Pull Request в Вашем репозитории. Перед тем как отправить Pull Request, мы возьмем несколько дней на сбор обратной связи от пользователей, чтобы исправить мелкие недочеты. Для ознакомления Вы можете установить нашу сборку через TestFlight, а если под рукой нет iOS-устройства, то посмотреть видео. Исходный код сборки доступен на GitHub.
Двойное дно выручит в ситуациях, когда пользователь будет вынужден разблокировать и показать содержимое Telegram. А будет вынужден, потому что его пытают, его шантажируют, на него давят. Так совпало, что это письмо пишется в тот момент, когда в Беларуси происходит беспредел. Силовики подходят к прохожим, просят показать Telegram, если там находят оппозиционные каналы, то людей увозят в отдел. Сообщения о том, что силовики в Беларуси требуют показать телефон, периодически мелькают в СМИ. Данная ситуация в Беларуси дает четкий сигнал о том, что в Двойном дне есть крайняя необходимость.

Ноль байт выданных личных данных, секретные чаты, борьба с цензурой и всё это несмотря на давление разных стран. Вы создали действительно качественный и уникальный продукт. Основной упор в Telegram делается на защиту хранения и передачи данных, но очень мало делается для защиты от прямого (физического) доступа к устройству и пользователю. Это касается не только Вашего мессенджера, в принципе, ни в одном мессенджере нет защиты от подобной атаки. Мы предлагаем Вам первым открыть новую страницу защиты приватности пользователя, добавив принцип Двойного дна в Telegram-клиент.

Еще раз хотим подчеркнуть, что при разработке Двойного дна мы придерживались принципа не менять пользовательский интерфейс и опыт (UX/UI). Помимо этого, был принцип проработать все детали таким образом, чтобы команде Telegram не пришлось ничего дорабатывать. Считаем, что соответствуем принципам на 99%.

Мы готовы тесно взаимодействовать по улучшению и доработке Двойного дна. Предоставить всю необходимую информацию. По всем вопросам мы доступны здесь.

Ниже Вы можете ознакомиться с детальным описанием механизма работы Двойного дна в Telegram-клиенте.

С большим уважением, Бекхан Гендаргеноевский / Команда Postuf.

Подробное описание Двойного дна в Telegram-клиенте


Предисловие


Помогите нам распространить хештег #ДуровДобавьДвойноеДно в социальных сетях, чтобы Павел Дуров обратил внимание на открытое письмо. Сейчас он активно ведет свой Твиттер-аккаунт, поэтому, по возможности, оставьте ему комментарий.

Функционал Двойного дна интуитивно понятен, он максимально упрощен для пользователя, но если вы хотите знать все детали, то текст ниже для вас.

Самая актуальная информация по обновлениям на нашем канале. О недочетах пишите в чат.

Двойное дно


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

Как попасть в скрытые аккаунты


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

Активация



Если анимация не воспроизводится, смотрите её здесь.

Кнопка Двойное дно находится в Настройках, в разделе Конфиденциальность. Скрыть аккаунт можно только в первую минуту после авторизации аккаунта в Telegram-клиенте. По истечению времени кнопка пропадает из Настроек. Чтобы снова увидеть кнопку, нужно заново авторизоваться. Временное ограничение позволяет скрыть факт активации Двойного дна. Если бы кнопка не пропадала, то по ней можно было бы понять, активировано ли Двойное дно. Это дает возможность показывать злоумышленнику любой аккаунт без намека на то, что имеются другие скрытые аккаунты.

Основной аккаунт



Если анимация не воспроизводится, смотрите её здесь.

Для возможности скрыть текущий аккаунт необходимо иметь, как минимум, один основной аккаунт, который вы не будете скрывать. Если критерий уже соблюден, то Двойное дно не будет просить вас добавлять аккаунт.

В теории, можно иметь один и тот же аккаунт в качестве основного и скрытого. Это может быть полезно, если Вы хотите иметь в скрытом аккаунте секретные чаты, которые не будут отображаться в основном. Показ секретных чатов только в одной сессии стандартное поведение Telegram. Мы не стали давать возможность указывать в качестве основного аккаунта тот аккаунт, который вы в данный момент уже пытаетесь скрыть (защита от дурака), но вам ничего не мешает добавить тот же аккаунт заново через стандартный способ в настройках. Для безопасности, помешать Вам это сделать мы не можем, так как система может спалить факт присутствия скрытого аккаунта, если Telegram-клиент будет выдавать предупреждение.

Основной код-пароль



Если анимация не воспроизводится, смотрите её здесь.

Вам нужно указать код-пароль для всех аккаунтов, которые не будут скрыты в приложении (основные аккаунты). Его вы будете указывать при входе, если захотите получить доступ к основным аккаунтам.

Устанавливается минимальное время автоблокировки приложения (одна минута). Если код-пароль уже был ранее установлен вами в настройках Telegram-клиента, то Двойное дно не будет вас просить его установить. Основной код-пароль можно в любой момент поменять в настройках (Стандартный функционал Telegram).

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

Скрытый код пароль



Если анимация не воспроизводится, смотрите её здесь.

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

Скрытый код-пароль нельзя изменить после завершения скрытия аккаунта. Единственный способ заново добавить аккаунт в Telegram-клиент и активировать Двойное дно.

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

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

Если вы укажете код-пароль, который уже используется для другого скрытого аккаунта, то для безопасности Двойное дно этому не воспрепятствует. По данному код-паролю будет доступен крайний (последний) скрытый аккаунт, а предыдущий скрытый аккаунт будет недоступен до тех пор, пока крайний (последний) не будет разлогинен в приложении.

Уведомления и звонки



Если анимация не воспроизводится, смотрите её здесь.

Так как уведомления и звонки могут выдать присутствие скрытого аккаунта, Двойное дно дает возможность отключить их для скрываемого аккаунта. Но есть нюанс, Telegram применяет данные настройки на все устройства, где авторизован аккаунт (Стандартный функционал Telegram). Это касается только мобильных устройств.

Счетчик уведомлений на иконке не будет учитывать скрытые аккаунты, так как при сворачивании Telegram-клиента в системе происходит переключение на последний основной аккаунт.

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


Мы понимаем, что без уведомлений пользоваться скрытыми аккаунтами некомфортно. Компромиссным вариантом было бы получать уведомления от скрытых аккаунтов только в безымянном виде, и только когда все сообщения Telegram приходят в таком же виде. Telegram в безымянном виде присылает уведомления, когда клиент заблокирован код-паролем. Получается следующее: Когда Telegram-клиент заблокирован, получаем уведомления от всех типов аккаунтов в безымянном виде, а когда разблокирован, то только от основных аккаунтов. Безусловно, такой алгоритм является зацепкой к обнаружению скрытого аккаунта, но это лучше, чем в открытую показывать уведомления в условиях, когда пользователю они необходимы. К сожалению, реализовать такой алгоритм без поддержки Telegram команды невозможно.

Замочек



Если анимация не воспроизводится, смотрите её здесь.

Telegram-клиент не дает возможности установить мгновенную автоблокировку после выхода из приложения. Минимальное время, которое можно установить в настройках одна минута. Мы не стали добавлять мгновенную автоблокировку, чтобы сохранить Telegram-клиент в первозданном виде.

Здесь имеются два важных момента:

  • Первый, если вы свернете Telegram-клиент, будучи в скрытом аккаунте, то при входе обратно в приложение до автоблокировки вас перекинет на основной аккаунт. Если основных аккаунтов несколько, то на последний использованный.
  • Второй, если вы вошли в приложение, а автоблокировка еще не сработала, то вы можете сами заблокировать приложение, нажав на замочек над чатом (см. анимацию). Я сам лично узнал об этой функции только после начала разработки Двойного дна, в том числе поэтому мы посчитали нужным уделить этому дополнительный экран с анимацией.

Финал



Если анимация не воспроизводится, смотрите её здесь.

Это финальное окно, которое означает, что настройки успешно применены.

Если вы начнете идти назад, то настройки будут сбрасываться к предыдущему состоянию. Например, если вы указали основной код-пароль, но потом снова вернулись в состояние, где нужно добавить основной аккаунт, то основной код-пароль сбросится.

Если вы на полпути закроете Telegram-клиент, то Двойное дно откатит все изменения, но основной аккаунт (если вы его добавили) останется авторизованным.

Разлогирование (logout) аккаунта


При разлогине из основного аккаунта происходит перенаправление на другой основной аккаунт, а если это был единственный основной, то Telegram-клиент попросит авторизоваться (стандартное поведение Telegram).

При разлогине из скрытого аккаунта происходит перенаправление пользователя на экран блокировки для ввода код-пароля.
В последний момент мы обратили внимание, что если пользователь покажет злоумышленнику скрытый аккаунт, а тот потребует произвести разлогин этого аккаунта, то увидит иное поведение Telegram-клиента, соответственно, может тем самым понять, что был показан скрытый аккаунт. Из этого сделает вывод, что возможны еще скрытые аккаунты в Telegram-клиенте. Мы сделаем обновление, в котором поведение скрытого не будет отличаться от основного при разлогине.
Когда в Telegram-клиенте отсутствует хотя бы один основной аккаунт, доступ к скрытому аккаунту приостанавливается, а его уведомления и звонки отключаются. Уведомления отключаются на конкретном устройстве, а звонки для всех устройств, где авторизован скрытый аккаунт.

Прочие особенности


  • Двойное дно позволяет добавлять аккаунт в Telegram-клиент, который уже присутствует в качестве скрытого. Это позволяет не выдавать присутствие активного Двойного дна.
  • Siri и Виджет не видят скрытые аккаунты, а Apple Watch может видеть скрытый аккаунт, но только если данный аккаунт открыт в Telegram-клиенте.
  • Контакт, созданный в скрытом аккаунте, не добавляется в телефонную книгу устройства.

Ограничения


В нашем клиенте не доходят звонки, если сам клиент не запущен, но придет уведомление, что пропущен звонок (Технические особенности).
Подробнее..

Можно ли анонимно оплачивать через Apple Pay?

18.05.2021 12:12:57 | Автор: admin

Конечно, нельзя называть Apple Pay анонимным в принципе, хотя бы потому что к ней привязана наша банковская карта. Однако, в момент оплаты что о нас узнаёт продавец? Какие наши персональные данные получает продавец от Apple Pay? Можно ли избежать передачи данных и, тем самым, сделать оплату анонимной в глазах продавца?

Когда мы полагаем, что оплачиваем через Apple Pay, то можем заблуждаться. В зависимости от того что мы приобретаем, используется один из двух механизмов Apple. При покупке любой материальной услуги действительно применяется Apple Pay. Однако, когда мы приобретаем цифровой контент в экосистеме Apple, применяется In-App Purchase. Заказываете Uber через Apple Pay? Верно, это Apple Pay. Оформляете подписку в Apple Music? Это уже In-App Purchase.

Ниже мы рассказываем, какие данные утекают продавцу при оплате внутри приложений. Мы не стали разбирать ситуацию, когда товар оплачивается через POS-терминал, так как она требует отдельного внимания.

Визуально оба механизма очень похожи, но под капотом все иначе. Визуально оба механизма очень похожи, но под капотом все иначе.

In-App Purchase

Как уже было сказано выше, данный механизм оплаты используется только для цифрового контента. Электронные книги в Amazon Kindle, дополнительное пространство в Dropbox, скины в PUBG - это всё примеры цифрового контента.

При анализе In-App Purchase выяснилось, что мы анонимны перед продавцом. Некоторая информация о нас все же передается продавцу, но в обезличенном виде. Если мы купим неприличную книгу в LitRes, то разработчики приложения не узнают, что именно мы её приобрели. При условии, что мы не поделились с приложением личной информацией иным путем.

Какие данные передаются продавцу

Ниже представлена таблица, где мы видим какие данные In-App Purchase передает продавцу.

In-App Purchase

Как предотвратить передачу?

Дата первой установки приложения

Никак

Список всех сделанных покупок

Никак

Биллинговая ошибка на стороне клиента (не хватает денег, карта неактивна)

Никак

Дата первой установки приложения

Можно определить, когда мы первый раз скачали приложение, даже если удалим сейчас, но скачаем заново через пол года.

Список всех сделанных покупок

По сути, только дата покупки и что за продукт был приобретен.

Биллинговая ошибка на стороне клиента

Если мы оформим автовозобновляемую подписку, а потом на карте закончатся деньги или карта будет неактивной, то разработчик узнает об этом.

Технические подробности

Спойлер
  1. Приложение предлагает пользователю какой-то контент.

  2. Пользователь инициирует процесс покупки.

  3. Приложение показывает ему окно для совершения транзакции.

  4. После подтверждения приложение какое-то время думает.

  5. Контент предоставлен.

В это время в приложении происходит целая череда событий. Большая часть из них скрыта внутри самой операционной системы, а именно системной библиотеки StoreKit. В результате покупки разработчик получит специальную строку receipt.

Пример receipt

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

receipt нужен для того, чтобы приложение смогло проверить, действительно ли пользователь совершил эту покупку. Обычно приложение передает эту строку на свой бекенд, а тот - в Apple, чтобы проверить покупку. Apple в ответ на запрос пришлет JSON. Он то нам и нужен:

{    "receipt": {        "receipt_type": "ProductionSandbox",        "adam_id": 0,        "app_item_id": 0,        "bundle_id": "com.belive.app.ios",        "application_version": "3",        "download_id": 0,        "version_external_identifier": 0,        "receipt_creation_date": "2018-11-13 16:46:31 Etc/GMT",        "receipt_creation_date_ms": "1542127591000",        "receipt_creation_date_pst": "2018-11-13 08:46:31 America/Los_Angeles",        "request_date": "2018-11-13 17:10:31 Etc/GMT",        "request_date_ms": "1542129031280",        "request_date_pst": "2018-11-13 09:10:31 America/Los_Angeles",        "original_purchase_date": "2013-08-01 07:00:00 Etc/GMT",        "original_purchase_date_ms": "1375340400000",        "original_purchase_date_pst": "2013-08-01 00:00:00 America/Los_Angeles",        "original_application_version": "1.0",        "in_app": [{            "quantity": "1",            "product_id": "test2",            "transaction_id": "1000000472106082",            "original_transaction_id": "1000000472106082",            "purchase_date": "2018-11-13 16:46:31 Etc/GMT",            "purchase_date_ms": "1542127591000",            "purchase_date_pst": "2018-11-13 08:46:31 America/Los_Angeles",            "original_purchase_date": "2018-11-13 16:46:31 Etc/GMT",            "original_purchase_date_ms": "1542127591000",            "original_purchase_date_pst": "2018-11-13 08:46:31 America/Los_Angeles",            "is_trial_period": "false"        }]    },    "status": 0,    "environment": "Sandbox"}

Оба примера взяты со StackOverflow.

Чтобы определить дату первой установки, в JSON необходимо найти поле original_purchase_date. Это просто дата, когда приложение было скачано тем самым iTunes аккаунтом, через который совершается покупка.

Поле in_app даст информацию о почти всех покупках, совершенных с этого iTunes аккаунта. Почти, потому что в нем не хранится информация о всех consumable покупках, только о текущей (как в примере выше). Consumable покупки - это покупки, которые можно совершать любое число раз, например, наборы монеток или кристаллов, за которые в приложении можно купить что-то. Все остальные покупки будут всегда храниться в этом поле. Причем, что интересно, если мы сделаем возврат покупки через Apple, то это действие также отобразится в этом массиве. То есть, когда мы в следующий раз придем покупать или восстанавливать покупку, разработчик может узнать не только как часто мы покупаем, но и как часто отменяем покупку.

О нехватке баланса на карте можно будет узнать только в случае продления автовозобновляемой подписки. Эту информацию можно получить через App Store Server Notifications. Это система нотификаций от App Store, на которую подписывается бекенд и может обрабатывать разного рода сообщения. В конкретном случае нас интересует событие DID_FAIL_TO_RENEW

Apple Pay

Просто напомню, что Apple Pay предназначен для материальных товаров и услуг. Примерами могут быть: доставка еды в UberEATS, аренда дома в Airbnb, авиабилеты в Skyscanner.

Исследование Apple Pay показало нам, что продавец однозначно понимает, кто у него покупает товар/услугу. Мы полностью открыты в глазах продавца. Можно ограничить доступ к некоторой информации о себе, но кардинально ситуацию не изменить.

Какие данные передаются продавцу

Ниже представлена таблица, где мы видим какие данные Apple Pay передает продавцу.

До подтверждения оплаты

В момент, когда у нас выскакивает шторка с просьбой подтвердить оплату, продавец уже получает о нас информацию.

Поле

Значение

Как предотвратить передачу?

Тип карты

Дебетовая/Кредитная

Никак

Примерный адрес доставки пользователя

Страна, область, город, почтовый индекс

Исказить или убрать в iOS. Настройки iOS Wallet и Apple Pay Параметры оплаты по умолчанию

Примерный платежный адрес пользователя (если не запрошен адрес доставки)

Страна, область, город, почтовый индекс

Исказить или убрать в iOS. Приложение Wallet Карта Настройки Адрес плательщика[1]

Информация о банке эмитенте карты (при наличии договоренности между разработчиком и банком)

Название банка

Никак

После подтверждения оплаты

Как только мы подтверждаем оплату с помощью Face ID, Touch ID или пароля, продавец получает новую порцию данных.

Поле

Значение

Как предотвратить передачу?

Платежная система

Mastercard

Никак

Название карты с последними символами реальной карты

MasterCard 2780

Никак

Точный адрес доставки пользователя

Страна, область, город, почтовый индекс, улица, дом, квартира

До подтверждения оплаты исказить текст в самой шторке

Точный платежный адрес пользователя

Страна, область, город, почтовый индекс, улица, дом, квартира

Исказить или убрать в iOS. Приложение Wallet Карта Настройки Адрес плательщика[1]

Имя Фамилия

Иван Иванов

Исказить или убрать в iOS. Находится там же, где и адрес доставки или платежный адрес.

Номер телефона

+77990001122

1. Либо до подтверждения оплаты исказить текст в самой шторке

2. Либо исказить/убрать в iOS. Настройки Wallet и Apple Pay Параметры оплаты по умолчанию[2]

Email

Ivan@gmail.com

От банка-эквайера

После успешной оплаты продавец может запросить дополнительную информацию о нас. Информация запрашивается у того, кто непосредственно обрабатывает нашу оплату (эквайер).

Поле

Значение

Как предотвратить передачу?

IP покупателя

81.18.144.51

Никак

Страна банка эмитента

Россия

Никак

Имя держателя карты

IVAN IVANOV

Никак

Срок истечения действия карты

202109

Никак

Маскированный номер карты, использованной для оплаты (указывается не реальный номер карты, а токен, который был привязан к устройству)

520424**0010

Никак

Как выглядит подтверждение оплаты

Шторка с подтверждением оплаты может выглядеть по-разному. Все зависит от того, какую информацию о нас запрашивает продавец. Любая запрошенная информация обязательна к заполнению.

Технические подробности

Спойлер

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

func paymentAuthorizationController(_ controller: PKPaymentAuthorizationController, didSelectPaymentMethod paymentMethod: PKPaymentMethod, handler completion: @escaping (PKPaymentRequestPaymentMethodUpdate) -> Void)

Eсли при формировании let paymentRequest = PKPaymentRequest() еще запросить requiredShippingContactFields, то вызывается следующее:

func paymentAuthorizationController(_ controller: PKPaymentAuthorizationController, didSelectShippingContact contact: PKContact, handler completion: @escaping (PKPaymentRequestShippingContactUpdate) -> Void)

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

По умолчанию адрес возвращаться не будет, но его можно запросить при показе окна с подтверждением. Сделать это можно, передав в соответствующие поля requiredShippingContactFields и requiredBillingContactFields те данные о пользователе, которые мы хотим получить.

let paymentRequest = PKPaymentRequest()paymentRequest.requiredShippingContactFields = [  .postalAddress,   .name,  .phoneNumber,  .emailAddress]paymentRequest.requiredBillingContactFields = [  .postalAddress,  .name,  .phoneNumber,  .emailAddress]

Стоит отметить, что если запрашивать requiredBillingContactFields вместе с requiredShippingContactFields, то billingAddress не будет возвращаться до подтверждения покупки.

Если запросить только requiredBillingContactFields, то при выборе карты вызовется метод:

func paymentAuthorizationController(_ controller: PKPaymentAuthorizationController, didSelectPaymentMethod paymentMethod: PKPaymentMethod, handler completion: @escaping (PKPaymentRequestPaymentMethodUpdate) -> Void)

Из объекта paymentMethod: PKPaymentMethod мы получим:

payment.token.paymentMethod.billingAddress givenName nilpayment.token.paymentMethod.billingAddress middleName nilpayment.token.paymentMethod.billingAddress familyName nilpayment.token.paymentMethod.billingAddress                              street=,                             subLocality=,                             city=Москва,                             subAdministrativeArea=,                             state=Москва,                             postalCode=125009,                             country=Россия,                             countryCode=RUpayment.token.paymentMethod.type 2

А если запросим requiredShippingContactFields, то из метода didSelectShippingContact мы получим:

payment.shippingContact email nilpayment.shippingContact name                          namePrefix:                          givenName:                          middleName:                          familyName:                          nameSuffix:                          nickname:                          phoneticRepresentation:                         givenName:                          middleName:                          familyName:   payment.shippingContact postalAddress                         street=,                         subLocality=,                         city=Москва,                         subAdministrativeArea=,                         state=Москва,                         postalCode=125009,                         country=Россия,                         countryCode=RUpayment.shippingContact phoneNumber nil

Пользователь узнает требуются ли эти данные только после того, как окно платежа уже покажется, а данные - уйдут.

Но если пользователь подтвердит покупку - мы получим еще больше:

payment.billingContact          street=Тверская улица 1 123,         subLocality=,         city=Москва,         subAdministrativeArea=,         state=Москва,         postalCode=125009,         country=Россия,         countryCode=RU

Кроме адреса можно запросить еще ФИО, email и номер телефона. Они будут получены после подтверждения оплаты:

payment.shippingContact email ivan@ivanov.rupayment.shippingContact name                         namePrefix:                          givenName: Иван                         middleName:                          familyName: Иванов                         nameSuffix:                          nickname:                          phoneticRepresentation:                           givenName: Ivan                           middleName:                            familyName: Ivanovpayment.shippingContact phoneNumber stringValue=+77990001122

Но email и номер телефона можно получить только в случае запроса адреса доставки. При запросе адреса платежа такая информация не возвращается:

payment.billingContact email nilpayment.billingContact name                        namePrefix:                         givenName: Иван                        middleName:                         familyName: Иванов                        nameSuffix:                         nickname:                         phoneticRepresentation:                           givenName: Ivan                           middleName:                            familyName: Ivanov  payment.billingContact phoneNumber nil

Также после подтверждения платежа мы получим последние 4 цифры карты, ее платежную систему и название. Ниже пример такой информации для одной из тестовых карт Apple:

paymentMethod.displayName Discover 2780payment.token.paymentMethod.network PKPaymentNetwork(_rawValue: Discover)

Чтобы разобраться с тем, что можно получить от эквайера, обратимся к документации Сбербанка

Там много разной информации, но самыми интересными выглядят следующие параметры:

  • ip - IP покупателя

  • bankInfo - наименование страны банка-эмитента, если доступно

  • cardAuthInfo - данные карты, привязанной к устройству

    • expiration - срок истечения действия карты

    • pan - маскированный номер карты

      • номер, привязанный к мобильному устройству покупателя и выполняющий функции номера платёжной карты в системе Apple Pay

    • cardholderName - имя держателя карты латиницей, если доступно

Примечания

  1. Если адрес не выбран явно, то будет подтягиваться тот, что указан в адресе доставки.

  2. В этих настройках данные могут быть заданы напрямую, либо подтягиваться из карточки контакта из телефонной книги. Если данные были заданы здесь, то в телефонной книге их нельзя будет найти. Если же данные были введены в телефонной книге, то здесь они будут видны, но удалить их можно только через телефонную книгу. Это будет заметно по подписи под email или телефоном (домашний, рабочий и тд) и по тому, что не будет возможности удалить его.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru