обход рекапчи
обход рекапчи

Данный скрипт работает на Python и обходит reCaptcha от Google с помощью сервиса самой же Google с точностью 85 %: h

Работает очень просто: запрашивается проверка с помощью аудио, файл отправляется в Google Cloud Speech-to-Text, полученный текст вставляется в поле ввода ответа.

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


https://yadi.sk/d/4_9i70rs1SlYgA

https://github.com/ecthros/uncaptcha2

This code works on the most recent version of ReCaptcha. Only use on sites you control for educational purposes. ⚠️

Created in April 2017, unCaptcha achieved 85% accuracy defeating Google’s ReCaptcha. After the release of this work, Google released an update to ReCaptcha with the following major changes:

  • Better browser automation detection
  • Spoken phrases rather than digits

These changes were initially successful in protecting against the original unCaptcha attack. However, as of June 2018, these challenges have been solved. We have been in contact with the ReCaptcha team for over six months and they are fully aware of this attack. The team has allowed us to release the code, despite its current success.

Introducing unCaptcha2

Thanks to the changes to the audio challenge, passing ReCaptcha is easier than ever before. The code now only needs to make a single request to a free, publicly available speech to text API to achieve around 90% accuracy over all captchas.

Since the changes to ReCaptcha prevent Selenium, a browser automation engine, unCaptcha2 uses a screen clicker to move to certain pixels on the screen and move around the page like a human. There is certainly work to be done here — the coordinates need to be updated for each new user and is not the most robust.

The Approach

unCaptcha2’s approach is very simple:

  1. Navigate to Google’s ReCaptcha Demo site
  2. Navigate to audio challenge for ReCaptcha
  3. Download audio challenge
  4. Submit audio challenge to Speech To Text
  5. Parse response and type answer
  6. Press submit and check if successful

Demo

vid

How To Use

Since unCaptcha2 has to go to specific coordinates on the screen, you’ll need to update the coordinates based on your setup. These coordinates are located at the top of run.py. On Linux, using the command xdotool getmouselocation --shell to find the coordinates of your mouse may be helpful.

You’ll also need to set your credentials for whichever speech-to-text API you choose. Since Google’s, Microsoft’s, and IBM’s speech-to-text systems seem to work the best, those are already included in queryAPI.py. You’ll have to set the username and password as required; for Google’s API, you’ll have to set an environment variable (GOOGLE_APPLICATION_CREDENTIALS) with a file containing your Google application credentials.

Finally, install the dependencies, using pip install -r dependencies.txt.

Responsible Disclosure

We contacted the Recaptcha team in June 2018 to alert them that the updates to the Recaptcha system made it less secure, and a formal issue was opened on June 27th, 2018. We demonstrated a fully functional version of this attack soon thereafter. We chose to wait 6 months after the initial disclosure to give the Recaptcha team time to address the underlying architectural issues in the Recaptcha system. The Recaptcha team is aware of this attack vector, and have confirmed they are okay with us releasing this code, despite its current success rate.

This attack vector was deemed out of scope for the bug bounty program.

Disclaimer

unCaptcha2, like the original version, is meant to be a proof of concept. As Google updates its service, this repository will not be updated. As a result, it is not expected to work in the future, and is likely to break at any time.

Unfortunately, due to Google’s work in browser automation detection, this version of unCaptcha does not use Selenium. As a result, the code has to navigate to specific parts of the screen. To see unCaptcha working for yourself, you will need to change the coordinates for your screen resolution.

While unCaptcha2 is tuned for Google’s Demo site, it can be changed to work for any such site — the logic for defeating ReCaptcha will be the same.

Additionally, we have removed our API keys from all the necessary queries. If you are looking to recreate some of the work or are doing your own research in this area, you will need to acquire API keys from each of the six services used. These keys are delineated in our files by a long string of the character ‘X’. It’s worth noting that the only protection against creating multiple API keys is ReCaptcha — therefore, unCaptcha could be made self sufficient by solving captchas to sign up for new API keys.

As always, thanks to everyone who puts up with me, including,


Этот код работает на самой последней версии ReCaptcha. Используйте только на сайтах, которые вы контролируете в образовательных целях. ⚠️

Созданная в апреле 2017 года, UnCaptcha достигла 85% точности, победив Google ReCaptcha. После выхода этой работы Google выпустил обновление для ReCaptcha со следующими основными изменениями:

    Лучшее обнаружение автоматизации браузера
    Разговорные фразы, а не цифры

Эти изменения изначально были успешными в защите от первоначальной атаки unCaptcha. Однако по состоянию на июнь 2018 года эти проблемы были решены. Мы связывались с командой ReCaptcha более шести месяцев, и они полностью осведомлены об этой атаке. Команда позволила нам выпустить код, несмотря на его текущий успех.
Представляем unCaptcha2

Благодаря изменениям в аудио-вызове, передача ReCaptcha стала проще, чем когда-либо прежде. Теперь коду нужно всего лишь сделать один запрос к бесплатному общедоступному API для преобразования речи в текст, чтобы достичь точности около 90% по всем капчам.

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

Подход unCaptcha2 очень прост:

    Перейдите на демонстрационный сайт Google ReCaptcha
    Перейдите к аудио вызову для ReCaptcha
    Скачать аудио вызов
    Отправить аудио вызов в Speech To Text
    Разобрать ответ и набрать ответ
    Нажмите отправить и проверьте, если успешно

демонстрация

VID
Как пользоваться

Поскольку unCaptcha2 должен идти к определенным координатам на экране, вам нужно будет обновить координаты в зависимости от ваших настроек. Эти координаты расположены в верхней части run.py. В Linux может помочь команда xdotool getmouselocation —shell, чтобы найти координаты вашей мыши.

Вам также нужно будет установить свои учетные данные для любого API преобразования речи в текст, который вы выберете. Поскольку системы преобразования речи в текст Google, Microsoft и IBM работают лучше всего, они уже включены в queryAPI.py. Вы должны будете установить имя пользователя и пароль, как требуется; для API Google вам нужно установить переменную среды (GOOGLE_APPLICATION_CREDENTIALS) с файлом, содержащим ваши учетные данные приложения Google.

Наконец, установите зависимости, используя pip install -r dependencies.txt.
Ответственное раскрытие

Мы связались с командой Recaptcha в июне 2018 года, чтобы предупредить их о том, что обновления системы Recaptcha сделали ее менее безопасной, и 27 июня 2018 года была открыта официальная проблема. Вскоре после этого мы продемонстрировали полнофункциональную версию этой атаки. Мы решили подождать 6 месяцев после первоначального раскрытия, чтобы дать команде Recaptcha время для решения основных архитектурных проблем в системе Recaptcha. Команда Recaptcha знает об этом векторе атаки и подтвердила, что они согласны с тем, что мы выпускаем этот код, несмотря на текущий уровень успеха.

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

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

К сожалению, из-за работы Google по обнаружению автоматизации браузера эта версия unCaptcha не использует Selenium. В результате код должен перемещаться в определенные части экрана. Чтобы UnCaptcha работал на вас, вам нужно изменить координаты вашего разрешения экрана.

Хотя unCaptcha2 настроен для демонстрационного сайта Google, его можно изменить, чтобы он работал на любом таком сайте — логика победы над ReCaptcha будет той же.

Кроме того, мы удалили наши ключи API из всех необходимых запросов. Если вы хотите воссоздать часть работы или проводите собственные исследования в этой области, вам необходимо будет приобрести ключи API для каждого из шести используемых сервисов. Эти ключи обозначены в наших файлах длинной строкой символа ‘X’. Стоит отметить, что единственной защитой от создания нескольких ключей API является ReCaptcha, поэтому unCaptcha можно сделать самодостаточным, решив капчи для регистрации новых ключей API.

Brama
admin@imacros-wiki.ru

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *