Herramienta ReeelPhish para Ingeniería Social y Autenticación de Dos Factores

Share this…

Las campañas de ingeniería social son una amenaza para todos; de acuerdo a especialistas en seguridad cibernética del Instituto Internacional de Seguridad Cibernética, un ataque puede capturar el nombre de usuario y la contraseña de una víctima y la almacenaría para que un atacante la vuelva a usar más adelante.

La  Autenticación de dos factores (2FA) o Autenticación de múltiples factores (MFA) se ven como la solución. Ambas implementaciones protegen a los usuarios de las campañas de phishing que solo capturan el nombre de usuario y la contraseña.

2FA agrega una capa de autenticación sobre el nombre de usuario y la contraseña. Dos implementaciones de 2FA son contraseñas de un solo uso y notificaciones push. Las contraseñas de un solo uso son generadas por un dispositivo secundario, como un token, y vinculadas a un usuario. Estas contraseñas caducan en segundos y no pueden reutilizarse. Las notificaciones push envían un mensaje al dispositivo móvil de un usuario y solicitan al usuario que confirme su intento de inicio de sesión.

reelphish

Si bien los profesionales de seguridad informática han recomendado 2FA para aplicaciones personales y comerciales, no es una solución infalible. Las implementaciones de 2FA han sido derrotadas usando técnicas de phishing en tiempo real.

Se han recibido informes de phishing en tiempo real en la desde 2010. Sin embargo, estos ataques se han ignorado debido a la dificultad percibida de lanzarlos. Especialistas en seguridad informática desarrollaron una herramienta, llamada ReelPhish, que simplifica la técnica de phishing en tiempo real.

El componente principal de la herramienta de phishing está diseñado para ejecutarse en el sistema del atacante. Es una secuencia de comandos de Python que escucha los datos del sitio de suplantación de identidad del atacante e impulsa un navegador web instalado localmente utilizando el marco de Selenium. La herramienta puede controlar el navegador web del atacante navegando a páginas web específicas, interactuando con objetos HTML y raspando contenido.

Después el código incrustado en el sitio de phishing envía datos, como el nombre de usuario y la contraseña capturados, a la herramienta de phishing que se ejecuta en la máquina del atacante. Una vez que recibe información, utiliza Selenium para iniciar un navegador y autenticarse en el sitio web legítimo. Toda la comunicación entre el servidor web de phishing y el sistema del atacante se realiza a través de un túnel SSH cifrado.

Las víctimas se rastrean mediante tokens de sesión, que se incluyen en todas las comunicaciones entre el sitio de phishing y ReelPhish. Este token permite que la herramienta de phishing mantenga estados para flujos de trabajo de autenticación que involucran varias páginas con desafíos únicos. Debido a que la herramienta de suplantación de identidad es consciente del estado, puede enviar información de la víctima al portal legítimo de autenticación web y viceversa.

Los expertos en seguridad cibernética recomiendan configurar todos los servicios protegidos por 2FA para minimizar el impacto del atacante si el atacante elude las protecciones de 2FA. No abandones 2FA; no es una solución perfecta, pero agrega una capa de seguridad. 2FA es un mecanismo de seguridad que puede fallar como cualquier otro, y las organizaciones deben estar preparadas para mitigar el impacto.

Instalación y uso del sistema

La última versión de Python 2.7.x es necesaria.

Instale Selenium, requerido para ejecutar los controladores del navegador.

pip install -r requirements.txt

Profesionales en seguridad informática dicen que se debe descargar los controladores del navegador para todos los navegadores web que planea usar. Los binarios se deben colocar en este directorio raíz con el siguiente esquema de nombres.

Internet Explorer: https://www.seleniumhq.org/download/

Descargue el Servidor de controladores de Internet Explorer para Windows IE de 32 bits. Descomprime el archivo y cambia el nombre del binario a: IEDriver.exe.

Para que funcione el controlador de Internet Explorer, asegúrese de que el modo protegido esté desactivado. En IE11 (Windows de 64 bits), debe crear la clave de registro “HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE”. En esta clave, cree un valor DWORD llamado iexplore.exe y establezca el valor en 0.

Se puede encontrar más información sobre los requisitos de Internet Explorer en https://www.github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver

Firefox: https://www.github.com/mozilla/geckodriver/releases/

Descargue la última versión de Firefox GeckoDriver para Windows 32 bit. Descomprime el archivo y cambia el nombre del archivo binario a: FFDriver.exe.

En los sistemas Linux, descargue la versión Linux de Firefox GeckoDriver y cambie el nombre del archivo binario a: FFDriver.bin. El soporte de Linux es experimental.

Gecko Driver tiene requisitos especiales. Copie FFDriver.exe a geckodriver.exe y colóquelo en su variable PATH. Además, agregue firefox.exe a su variable PATH.

Chrome: https://chromedriver.storage.googleapis.com/index.html?path=2.35/

Descargue la última versión del controlador Google Chrome para Windows de 32 bits. Descomprime el archivo y cambia el nombre del binario a: ChromeDriver.exe.

En los sistemas Linux, descargue la versión Linux del controlador Chrome Web y cambie el nombre del archivo binario a: ChromeDriver.bin. El soporte de Linux es experimental, de acuerdo a los profesionales en seguridad cibernética.

ReelPhish consta de dos componentes: el código de manejo del sitio de phishing y este script. El sitio de phishing se puede diseñar como se desee. El código PHP de ejemplo se proporciona en / examplesitecode. El código de muestra tomará un nombre de usuario y contraseña de una solicitud HTTP POST y la transmitirá a la secuencia de comandos de phishing.

El script de phishing escucha en un puerto local y espera un paquete de credenciales. Una vez que se reciben las credenciales, la secuencia de comandos de phishing abrirá una nueva instancia de navegador web y navegará a la URL deseada (el sitio real donde ingresará las credenciales de un usuario). Las credenciales serán enviadas por el navegador web.

La forma recomendada por los especialistas en seguridad informática de manejar la comunicación entre el sitio de phishing y este script es mediante el uso de un túnel SSH inverso. Esta es la razón por la que el código de ejemplo del sitio de phishing de PHP envía credenciales a localhost: 2135.

Ahora, debe especificar el navegador que usará con el parámetro –browser. Los navegadores compatibles incluyen Internet Explorer (“–browser IE”), Firefox (“–browser FF”) y Chrome (“–browser Chrome”). Windows y Linux son compatibles. Chrome requiere la menor cantidad de pasos de configuración.

Debes especificar la URL. El script navegará a esta URL y enviará credenciales en su nombre. Otros parámetros opcionales están disponibles.

Establezca el parámetro de registro para depurar (- loggin debug) para el registro detallado de eventos

Establezca el parámetro de envío (–submit) para personalizar el elemento que el navegador “hace clic”

Establezca el parámetro de anulación (–override) para ignorar los elementos de formulario faltantes

Establezca el parámetro numpages (–numpages)

ReelPhish admite múltiples páginas de autenticación. En algunos casos, se puede solicitar un código de autenticación de dos factores en una segunda página. Para implementar esta función, asegúrese de que –numpages esté configurado para el número de páginas de autenticación. También asegúrese de que la identificación de la sesión se rastree adecuadamente en su sitio de phishing. El ID de la sesión se utiliza para rastrear a los usuarios a medida que avanzan en cada paso de la autenticación.