jueves, abril 05, 2018

Cómo configurar Latch Cloud TOTP en Paypal corriendo tu script en Python

Hace unos días veíamos cómo proteger con Latch Cloud TOTP nuestra cuenta Paypal, uno de los servicios que muchos de nosotros utilizamos en nuestro día a día. Como ya se ha dicho anteriormente, nuestra cuenta de Paypal es un elemento crítico por el tipo de información que almacena y el riesgo que supone que un atacante consiga nuestras credenciales.

Figura 1: Cómo configurar Latch Cloud TOTP en Paypal corriendo tu script en Python

Básicamente, robar nuestro usuario y contraseña de Paypal a un atacante le permitiría acceder a alguna de nuestras tarjetas de crédito o cuentas bancarias. Es por esto, que lo más recomendable es activar un Segundo Factor de Autenticación, de tal manera, que el proceso de autenticación no sólo dependa de un usuario y una contraseña, sino que disponga de un componente adicional.

Figura 2: 2FA configurado en Paypal

Pero ¿por qué utilizar Latch Cloud TOTP en Paypal y no el Segundo Factor de Autenticación tradicional por SMS? La respuesta a esta pregunta la tenéis en este otro artículo que se publicó en el que se explicaba cómo Paypal, al activar el Segundo Factor de Autenticación basado en SMS desvela mucha información de nuestro número de teléfono.

Figura 3: En las opciones de recuperación de contraseña de Paypal se muestran 5 dígitos

Para eliminar esta información de nuestra cuenta de Paypal, Chema Alonso nos hizo una pequeña guía para configurar Paypal para ser menos Verbose, y en ella quitaba el Segundo Factor de Autenticación basado en SMS para configurarlo con Latch Cloud TOTP.

Figura 4: Guía para configurar Paypal para ser menos Verbose

El proceso que describe el artículo para Proteger la cuenta de Paypal con Latch Cloud TOTP es el que podéis ver en el siguiente vídeo que hemos hecho explicándolo paso a paso.

Figura 5: Cómo proteger Paypal con Latch Cloud TOTP

Teniendo todo esto en cuenta, en el artículo de hoy vamos a explicar paso a paso cómo generar los diferentes valores que necesitaremos para activar el Segundo Factor de Autenticación en PayPal con Latch Cloud TOTP sin tener que confiar en un servicio externo como vimos en el post anterior. corriendo directamente nuestro propio script en Python.

Generación del QRcode

Para comenzar con la generación del QRcode que servirá para transmitir un conjunto de valores numéricos a nuestra aplicación de Latch necesitaremos generar una URL similar a la siguiente:
otpauth://totp/VIP%20Access:XXXXXXXX?digits=6&secret=XXXXXXXXX&period=30&algorithm=sha1&issuer=Symantec
Para ello, haremos uso de una herramienta escrita en Python llamada python-vipaccess. Probablemente muchos de los que hayáis leído hasta aquí habréis tratado de instalar la herramienta mediante el comando pip install Python-vipaccess (utilizando el gestor de paquetes pip), y probablemente os hayáis encontrado con el siguiente error tratando de generar el código:

Figura 6: Error al instalar vipaccess desde pip

La aplicación original de python-vipaccess esta desactualizada y tiene errores, por lo tanto, vamos a hacer uso de un fork de este repositorio que ha realizado otro usuario en el que ha corregido los errores:

Figura 7: python-vipaccess en GitHub actualizado

Ejecutamos el siguiente comando para descargar el nuevo repositorio desde nuestro Kali Linux:
git clone https://github.com/dlenski/python-vipaccess
Accedemos a la carpeta Python-vipaccess y ejecutamos el comando:
Python setup.py install
Con esto, ya tenemos una versión funcional de la herramienta en nuestro sistema lista para usarse. La herramienta tiene muy pocas opciones y es muy sencilla de utilizar, podéis ver las diferentes posibilidades en el repositorio que hemos clonado anteriormente:

Figura 8: Opciones de python-vipaccess

En nuestro caso, utilizaremos la opción más sencilla, sacar las credenciales por pantalla sin almacenarlas en disco. El comando para esto es vipaccess provision -p, y el resultado será algo similar a lo siguiente:

Figura 9: Credenciales y URL para generar QRCode

Como podemos observar en la imagen, la herramienta nos genera la url que necesitamos y un ID que utilizaremos en nuestra cuenta de Paypal. Es importante que, en la realización de este proceso, tengáis conexión a internet en el PC, ya que requiere hacer algunas llamadas a servidores para provisionar las claves.

Una vez hemos obtenido estos valores, tenemos que introducirlos en nuestra aplicación de Latch, para ello, podemos copiar a mano la URL que nos muestra, o podemos generar un qrcode a partir de ella y leerlo de manera mucho más rápida. Nosotros generaremos el QRCode mediante la aplicación qrencode y los siguientes comandos:
apt-get install qrencode
qrencode -t ANSI256 ‘otpauth://totp/VIP%20Access:XXXXXXXX?digits=6&secret…’
El resultado será algo similar a lo siguiente:

Figura 10: Ejemplo de QRCode generado

Ahora ya solo queda leer este código con nuestra aplicación de Latch, y terminar la parte de la configuración en la página de Paypal.

Figura 11: Configuración de Latch Cloud TOTP para Paypal

Configuración en la página de Paypal

Para completar la activación de nuestro segundo factor de autenticación mediante Latch Cloud TOTP, tenemos que acceder a Paypal a través del siguiente enlace:

Figura 12: Configuración de 2FA en Paypal

Y seleccionamos la opción de activar mediante Clave de Seguridad que nos llevará a una página similar a la siguiente donde tendremos que terminar la configuración.

Figura 12: Configuración de Latch Cloud TOTP en Paypal

La página nos solicitará tres campos, el primero, es el ID que nos ha generado la herramienta Python-vipaccess en el apartado anterior. Los otros dos se corresponden con dos códigos generados por nuestra aplicación de Latch:

Figura 13: Códigos TOTP para Paypal en Latch

Una vez introducida esta información, ya tendremos activado el Segundo Factor de Autenticación en nuestra cuenta de PayPal, y cada vez que intentemos autenticarnos con nuestro nombre de usuario y contraseña, nos solicitará, de manera adicional, el código que nos genera nuestra aplicación de Latch.

Figura 14: Cómo configurar Latch Cloud TOTP en Paypal usando Python

En el siguiente vídeo se puede ver el proceso de instalación y configuración de nuestro Latch Cloud TOTP en Paypal usando el script en Python de vipaccess.

Saludos,

Autor: Santiago Hernández, Security Researcher en ElevenPaths

1 comentario:

  1. Por fin he podido cambiar el envió de SMS, gracias por la información.

    Por lo que veo, las credenciales que se generan, caducan a los 3 años.

    Pasado este tiempo se tienen que generar unas nuevas, o se pueden actualizar de alguna manera? Por apuntarlo en mi Google Calendar y tenerlo en cuenta unos días antes de que caduquen.

    Saludos

    ResponderEliminar