Desde hace tiempo se ha endurecido la batalla en contra de los bot que se encargan de invadir a los sitios con spam e intentan burlar la seguridad de cada una de las páginas web. Una de las herramientas más utilizada para intentar combatir a estos molestos intrusos son los captcha de Google, sobretodo la versión ReCaptcha V2, pero lamentablemente se ha difundido una vulnerabilidad en esta herramienta que permite resolver las captcha de manera automática.



El siguiente artículo netamente educativo, nos permitirá vulnerar la seguridad de ReCaptcha V2, aprovechándonos de la opción de audio que la misma ofrece. El artículo está inspirado en la siguiente entrada, en la cuál se explica a detalle la vulnerabilidad y se ofrece un script que nos permite solucionar captchas de manera automática.

¿Qué es ReBreakCaptcha?

Es una aplicación libre que se aprovecha de una vulnerabilidad de ReCaptcha V2, para resolver los captcha de manera automática, para ello utiliza la librería de automatización Selenium, la Api de Reconocimiento de Voz de Google y diversos algoritmos.

La herramienta es bastante sencilla, pasando por tres fases, la primera donde resuelve el popular captcha de “No soy un robot“, seguidamente cuando sale el captcha que se debe solucionar, elige la opción de audio, recepciona el audio y lo procesa con la Api de Reconocimiento de Voz de Google, por último ingresa los números que reconoce la Api y lo ingresa en el campo de captcha.

Puede que la Api de Reconocimiento de Voz de Google falle en reiteradas ocasiones, por lo que ReBreakCaptcha, intenta con diversas alternativas hasta que consigue la solución adecuada.

Instalar y configurar ReBreakCaptcha

Para hacer uso de ReBreakCaptcha debemos seguir unos pequeños pasos, ya que el script original viene parcheado con rutas para Windows.

Antes que nada debemos instalar las dependencias necesarias para que el script funcione: sudo pip install pydub SpeechRecognition selenium

Seguidamente debemos clonar el repositorio del script:

git clone https://github.com/eastee/rebreakcaptcha.git

Nos dirigimos al escritorio clonado y editamos la clase , con los path correspondiente para Linux. cd rebreakcaptcha nano nano rebreakcaptcha.py Deben cambiar la siguiente información # Firefox / Gecko Driver Related FIREFOX_BIN_PATH = r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" GECKODRIVER_BIN = r"C:\geckodriver.exe" Por el path en Linux # Firefox / Gecko Driver Related FIREFOX_BIN_PATH = r"/usr/bin/firefox" GECKODRIVER_BIN = r"/usr/bin/geckodriver" De igual manera si usas python3 , por favor reemplaza xrange por range . También debemos modificar la URL donde deseemos aplicar el script (Es decir la que queremos que resuelva el Script).

Lo podemos hacer en la línea donde aparece lo siguiente:

RECAPTCHA_PAGE_URL = "https://www.google.com/recaptcha/api2/demo"

Por último debemos ejecutar ReBreakCaptcha, el mismo abrirá automáticamente el navegador con la url que se le haya indicado y realizará el proceso para resolver el captcha en cuestión.

python3 rebreakcaptcha.py

Conclusiones sobre ReBreakCaptcha

Este script puede ser la base para utilizarlo en diversos procesos y en python con simples pasos podemos mejorarlo. El uso de está herramienta debe ser para uso educativo, además para la comunidad en general es importante su difusión ya que garantiza que pronto tengamos un parche que solucione esta vulnerabilidad.

La vulnerabilidad está activa hasta el momento, por eso es recomendable que los usuarios que utilizan ReCaptcha V2 complemente su seguridad con otras herramientas, sobretodas la de detección de IP que intenten en reiteradas ocasiones resolver captchas.