Hackear cuenta de Facebook con Phishing | Ejemplo de código

Publicado por parzibyte en

En este artículo voy a mostrarte cómo se puede hackear una cuenta de Facebook de prácticamente cualquier persona, usando una técnica llamada phishing.

Vamos a ver cómo:

  • Crear una página idéntica a Facebook
  • Programar el botón para que envíe los datos al servidor
  • Redirigir a otra página

Ejemplo de Facebook Phishing con PHP

Usaremos PHP como lenguaje para guardar los datos.

Descargo de responsabilidad

No te recomiendo hacer esto en la vida real, solo te muestro cómo se puede hackear una cuenta de Facebook de manera real.

Lo que sea que hagas, es tu responsabilidad, y si no estás dispuesto a aceptarlo, deja de leer ahora mismo.

Explicación del ataque

Lo que haremos será un ataque de phishing, es decir, una página web que es idéntica pero cambia en el dominio.

Copiaremos el login de Facebook, y enviaremos el enlace de nuestra página maliciosa a la víctima con un pretexto, por ejemplo: oye, ¿ya viste este fabuloso meme? o tal vez pidiendo un like para ayudar a determinada página, etcétera.

Cuando la víctima ingrese, verá el inicio de sesión de Facebook (aunque estará en nuestro dominio) y creerá que su sesión ha caducado así que ingresará los datos, mismos que serán enviados a nuestro servidor.

Después de enviar los datos, lo único que haremos será una redirección a, verdaderamente, Facebook. Así la víctima va a pensar que inició sesión, pero en realidad su sesión siempre estuvo abierta, solo que nos dio sus datos y después lo redirigimos.

Más tarde, podremos acceder a su cuenta con los datos que puso.

Vulnerabilidades de este ataque

Si la víctima tiene activado algo como la verificación en dos pasos, esto no va a funcionar.

En caso de que la persona se equivoque al escribir la contraseña, no lo sabremos, pues no tenemos acceso a Facebook como para preguntarle si la contraseña que puso es correcta.

Finalmente, si la persona lee la URL, todo se pierde, porque sabrá que no está en Facebook. Algunos trucos para evadir esto es comprar un dominio como “faceboook” o algo así, que a primera vista se lea como Facebook.

Hablar es de mal gusto, muéstrame el código

Comenzamos replicando la página oficial de Facebook, en este caso lo haré con la versión móvil.

Para hacer esto más creíble se puede agregar una opción que diga “Para continuar inicia sesión”, esto se logra yendo por ejemplo a m.facebook.com/settings, ya que al intentar entrar, Facebook te redirige al login; y esa última página es la que se copia.

Cuando tenemos la página la limpiamos y quitamos todos los scripts, adaptamos las cosas, etcétera.

Index HTML

Debe quedar un archivo index local, cambiando los estilos CSS para que igualmente se carguen de manera local:

El código obviamente no lo escribí yo, solo lo limpié. Al buscar los ids de cada elemento, queda que el botón tiene el id l, el usuario el id m_login_email y la contraseña m_login_password.

Script de JavaScript

En el script que incluimos al final ponemos el siguiente código:

Escuchamos el click del botón, enviamos los datos al servidor, y cuando la promesa se resuelva, redirigimos.

Recuerda que en un ataque real, la url de redirección se debería cambiar a una página de un meme o algo así.

Servidor

En el servidor atrapamos los datos y los guardamos. Recuerda que podrías hacerlo igualmente en una base de datos.

Obtenemos la IP del usuario como se vio en este post.

Con eso hemos terminado.

Subir página

Ahora renta un dominio o consigue uno gratuito, sube los archivos con filezilla y listo.

Poniendo todo junto

He colocado todo el código en un repositorio de GitHub, míralo. Eres libre de clonarlo y probarlo localmente.

Para clonarlo, descarga el código como zip, instala PHP y pon el código en htdocs (también puedes usar LAMP).

He grabado un vídeo y lo he colocado en mi canal de YouTube (si vas, suscríbete):

Conclusión

De esta manera se puede hackear cualquier tipo de cuenta en cualquier sitio. Por eso es muy importante leer cuidadosamente la URL que visitamos.

Claro que todo recae en el usuario, pues si es lo suficientemente conocedor, no pondrá datos en sitios que no confía.

Espero que esto sirva para que la gente tome más conciencia sobre los peligros de la web y cómo protegerse de ellos.

También espero que esto se utilice solo con fines educativos y no se use en la vida real.


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB.Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron.Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scriptsLa plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C.Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: