21 May

Suplantación de identidad en Facebook

Envío de email por Telnet

En un Informático del lado del mal describen una vulnerabilidad en Facebook con la cual es posible suplantar la identidad de un usuario de la red social. Con este método es posible enviar mensajes (a través del sistema interno de Facebook) utilizando como remitente a cualquier usuario registrado en Facebook.

Desde luego el principal motivo de la publicación de esta información es concientizar a los usuarios de redes sociales sobre la importancia de la privacidad y la seguridad de todos los datos que publican. Este error tiene aproximadamente un año desde su descubrimiento e inexplicablemente no ha sido reparado por Facebook aún.

Los requisitos para explotar esta vulnerabilidad son los siguientes:

  • Dirección de correo electrónico de la persona que se va a suplantar.
  • Dirección de correo electrónico de Facebook de la persona a quién se engaña.
  • Un sistema para enviar correos SMTP.

Pasos para enviar un mensaje de Facebook suplantando la identidad de otro usuario

Para obtener el correo electrónico de un usuario de Facebook basta con ir a su perfil y revisar la sección “Información de contacto”, generalmente ahí aparecen las direcciones de correo que el usuario tiene publicadas. En caso de que el usuario haya ocultado sus cuentas de correo electrónico, es posible obtenerlas con alguno de los siguiente métodos.

Información de contacto en Facebook

Sección "Información de contacto" en un perfil de Facebook

Obtener el correo de Facebook de un usuario es todavía más sencillo pues tan solo es necesario visitar el perfil del usuario y revisar la URL que aparece en la barra de direcciones. Facebook asigna una dirección de correo electrónico con el mismo nombre de usuario del perfil. Es decir, si la dirección URL de un perfil es https://www.facebook.com/usuariox, el email de FB del usuario es usuariox@facebook.com.

Usuario de Facebook en URL de perfil

Usuario de Facebook en URL de perfil

Para verificar que una dirección de correo electrónico es válida pueden utilizar servicios en línea como Verify-email.org. Así es posible verificar que las direcciones de correo que queremos utilizar realmente existen.

Una vez obtenidas la dirección del emisor (el usuario suplantado) y la dirección del receptor (el correo @Facebook.com), el siguiente paso es enviar un simple correo electrónico. Hay varias opciones como utilizar un sencillo formulario en PHP para enviar correos anónimos o utilizar Telnet para conectarte directamente al servidor de correo de Facebook.

Envío de email por Telnet

Envío de email por Telnet

Los correos electrónicos enviados a una dirección @Facebook.com son visibles para el usuario en la sección de Mensajes. Si el correo electrónico anterior se envió correctamente, el usuario receptor verá en su sección de Mensajes un nuevo mensaje del usuario de Facebook del emisor.

Recepción de mensaje de "Mark Zuckerberg" en Facebook

Recepción de mensaje de "Mark Zuckerberg" en Facebook

Este muchacho Mark Zuckerber que considerado es por escribirme. 🙂

La única pista que Facebook muestra al usuario sobre el origen del mensaje es ese pequeño símbolo de alerta en la esquina superior derecha. Si se posiciona el cursor sobre el icono se muestra un mensaje que dice “No se puede confirmar que este mensaje sea de Mark Zuckerberg”. ¿Cuántos usuarios crees que van a notar esta pequeña advertencia? Además hay dos casos en los que no se muestra advertencia alguna; en la aplicación móvil de Facebook para iOS y Android y en el Chat de Facebook (si la persona engañada se encuentra en el chat de Facebook recibirá el mensaje por ese medio).

Mensaje de advertencia de Facebook

Mensaje de advertencia de Facebook

Se demostró entonces lo sencillo que es suplantar la identidad de una persona en Facebook. Aplicando métodos de ingeniería social sería posible llegar a obtener información personal de los usuarios. Por eso repito, nunca confíen en que su información personal estará segura en redes sociales.

Si tienen alguna duda para replicar el procedimiento pueden dejar un comentario en el post o contactarme vía Twitter.

27 Sep

Netflix gratis sin utilizar tarjeta de crédito

NetFlix, el servicio de streaming de películas más popular en Estados Unidos finalmente llegó dispuesto a conquistar América Latina con una asociación con las televisoras más importantes de la región. Hasta el momento las críticas no han sido del todo favorables para el servicio quedando expuesto el pobre catálogo de películas y series que ofrece el sitio web.

Es posible obtener un mes gratis de prueba a través del sitio web oficial de Netflix, sin embargo es necesario proporcionar un número de tarjeta de crédito válido para lograr registrarse. Este condición seguro que no es aceptable por una gran cantidad de personas y si este es tu caso te presento a continuación un método alternativo para obtener el mes gratis de prueba sin utilizar tu tarjeta de crédito.

Básicamente el “truco” está en utilizar un número de tarjeta de crédito ficticio pero que al mismo tiempo sea válido como número de tarjeta Visa o Mastercard. Este número lo podemos conseguir utilizando servicios web que cumplen con dicha tarea, como ejemplo dejo este generador de identidades en línea y un generador de números de tarjeta de crédito.

Pasos para probar Netflix por un mes sin utilizar tu tarjeta de crédito:

  1. Entra a http://www.netflix.com e introduce tus datos en la sección de mes de prueba gratis.
  2. Presiona el botón continuar. A continuación aparecerá una página para introducir la información de pago. Llena los campos “nombre” y “apellido” y finalmente introduce un número de tarjeta de los que aparecen en esta página (como alternativa pueden utilizar el número de tarjeta generado en esta otra página). Finalmente los campos  “código de seguridad” (formado por 3 números) y “fecha de vencimiento” pueden contener cualquier valor.
  3. Acepta las condiciones y términos de uso y presiona el botón “iniciar membresía”. Finalmente si todo ha salido bien aparecerá un mensaje de confirmación como el siguiente.
  4. Ya puedes utilizar Netflix.

Este método es totalmente seguro y además existe la confianza de que terceras personas no saldrán perjudicadas, pues aunque se diera la gran casualidad de que un número de tarjeta generado aleatoriamente en realidad corresponda al número real de tarjeta de una persona, el código de seguridad utilizado en el sitio es falso.

Para finalizar me gustaría comentar dos ventajas que Netflix tiene sobre sitios web como Cuevana.tv (que es excelente por cierto). En Netflix es posible seleccionar el idioma Español latino en la mayoría de las películas, algo que muchas personas agradecerán. Además en Netflix es posible adelantar y retroceder las películas!.

Saludos.

27 Sep

Crackeando passwords en OS X Lion

Durante la semana pasada se expuso un tremendo descuido en la implementación del sistema operativo OS X Lion de Apple que permite a cualquier usuario del sistema cambiar la contraseña de cualquier usuario en el sistema. Para explotar esta vulnerabilidad tan solo es necesario abrir la consola en Terminal y ejecutar el siguiente comando:

[cc]dscl localhost -passwd /Search/Users/USUARIO[/cc]

Al ejecutar el comando la consola solicitará que el usuario teclee la nueva contraseña para la cuenta USUARIO y listo, es todo lo necesario para “hackear” la cuenta de otro usuario del sistema. En algunos blogs fanáticos de Apple (como AppleWeblog) se minimizó el impacto de esta vulnerabilidad alegando que para explotarla era necesario que el atacante tuviera acceso físico al equipo. Sin embargo como se argumenta en el blog Defence in Depth, un atacante podría utilizar un applet de Java para obtener acceso a una shell limitada del sistema y posteriormente utilizar esta vulnerabilidad para cambiar la contraseña del usuario actual y ganar privilegios de administrador. Una vez como administrador incluso podría ejecutar comandos como el usuario root al utilizar el comando sudo.

Como una medida temporal para protegerse de este bug, es recomendable limitar el acceso a la utilizad dscl con el siguiente comando:

[cc]sudo chmod 100 /usr/bin/dscl[/cc]

Esto demuestra una vez más que ningún sistema es invulnerable sin importar la marca, el hardware ni el software que lo formen. 🙂

Fuente: Defenceindepth.net

24 May

SQLMap; herramienta automática de inyección SQL

Si eres programador seguro que la siguiente frase te resulta más o menos familiar:

Todo valor introducido por el usuario es tonto o malicioso, a menos que se demuestre lo contrario.

Un programador no debe preocuparse únicamente porque su aplicación cumpla con la funcionalidad requerida, en realidad su aplicación debe cumplir con la funcionalidad de forma óptima cuidando además el rendimiento, robustez y sobre todo la seguridad. Existen herramientas para ayudar a validar que las aplicaciones cumplen con estas características, y para el tema de seguridad en particular les presento la herramienta SQL Map.

SQL Map es una herramienta de código abierto que permite realizar pruebas de intrusión a través de la automatización de procesos de detección y explotación de fallas conocidas como inyecciones SQL con la finalidad de tomar el control de servidores de bases de datos.

Las características de SQL Map son las siguientes:

  • Soporte completo para MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase y los sistemas de administración de bases de datos SAP MaxDB.
  • Soporte para 5 técnicas de inyección sql: boolean-based blind, time-based blind, error-based, UNION query y stacked queries.
  • Permite enumerar los usuarios de una base de datos, los hashes de los passwords, los privilegios de un usuario, los roles, las bases de datos, tablas, columnas y desde luego los registros.
  • Reconocimiento automático de los hashes de los passwords para “crackearlos” utilizando un ataque de fuerza bruta basado en diccionarios.
  • Permite descargar y subir cualquier archivo al servidor de base de datos cuando el gestor es MySQL, PostgreSQL o Microsoft SQL Server.
  • Permite enviar comandos al sistema operativo y obtener la “salida” cuando el servidor de base de datos es MySQL, PostgreSQL o Microsoft SQL Server.
  • Permite realizar una elevación de privilegios del usuario a través del comando getsystem utilizando Metasploit.

El funcionamiento de la aplicación es bastante sencillo. Primero debes proporcionarle al programa una dirección URL del tipo:

http://www.sitiowebvulnerable.com/paginavulnerable.php?variable1=valor1&variable2vulnerable=valor2

Si sospechas que la aplicación web es inyectable en alguno de los parámetros en esa dirección URL, SQL Map te ayudará a confirmarlo y finalmente a explotar la vulnerabilidad para obtener información del servidor de base de datos. Puedes encontrar información más detallada en la documentación oficial en la web oficial del programa.

Personalmente la he utilizado para analizar algunos sitios personales (y de terceros), y he tenido resultados bastante satisfactorios. La herramienta es útil principalmente para explotar vulnerabilidades de inyección SQL a ciegas.

Sitio web: SQL Map

04 Ene

PlayStation 3 ahora es la consola más vulnerable

Hace pocos meses PlayStation 3 se mantenía como la consola más segura de esta generación, era la única que ningún hacker había podido vulnerar (aunque hubo aproximaciones). Irónicamente ahora es justo lo contrario pues el “nivel de hackeo” (por así decirlo) obtenido en la consola es el más grave de todos pues en realidad es TOTAL y además es improbable (y quizá imposible) que Sony pueda parcharlo en el futuro.

Un grupo de hackers conocido como fail0verflow publicó hace unos días en el “Chaos Communication Congress” en Berlín, que habían encontrado la llave oficial para firmar programas y juegos para PS3 de tal forma que los mismos se ejecuten legítimamente en la consola. La conferencia en la que explican el proceso se encuentra disponible en YouTube; parte 1, parte 2, y parte 3.

¿Qué se puede hacer con la llave para firmar juegos de PlayStation 3?

Practicamente lo que quieras, cualquier programador podría crear un programa o juego para la consola y una vez terminado tan solo tendría que firmarlo con la llave. Cuando ese programa se ejecutado en la consola, la misma lo tomará como válido pues estará firmado con la llave oficial. Lo mismo sucede con las llamadas copias de seguridad, tan solo bastaría con firmar una copia de un juego y la consola no distinguirá entre el juego original y la copia.

La llave no fue publicada inmediatamente por el grupo failoverflow lo que ocasionó que en un acto un tanto oportunista el hacker Geohot la publicara en su propio sitio web. Al final de cuentas la llave ya está disponible y seguramente hay equipos desarrollando programas, homebrew y hacks para la consola.

La peor parte se la llevó Sony pues la frase “cuanto más alto subas, más fuerte será el golpe al caer”  les aplica de manera perfecta. Sony no puede bloquear la llave descubierta pues eso implicaría que todos los juegos ya publicados dejarían de funcionar correctamente. El único camino que Sony puede tomar es el de crear una especie de lista blanca de juegos firmados, y de esa forma bloquear todo lo que no esté dentro de esa lista. El detalle es que hay miles de juegos ya publicados y no es una tarea sencilla catalogarlos.