El phishing es una técnica de ciberdelincuencia que utiliza la ingeniería social para engañar a las personas y obtener información confidencial, como contraseñas, datos bancarios o información personal. Este tipo de ataque se basa en la suplantación de identidad, donde los atacantes se hacen pasar por entidades legítimas, como bancos, empresas o instituciones públicas, para manipular a las víctimas y lograr que realicen acciones perjudiciales, como hacer clic en enlaces maliciosos o proporcionar datos sensibles.
¿Cómo funciona el phishing?
El phishing suele comenzar con un correo electrónico, mensaje de texto (smishing) o llamada telefónica (vishing) que aparenta ser legítimo. Estos mensajes suelen incluir:
- Alertas de problemas urgentes (como cuentas bloqueadas).
- Ofertas atractivas o descuentos.
- Solicitudes para actualizar información personal.
El mensaje dirige a la víctima a un sitio web falso que imita la apariencia de una página legítima. Allí, se solicita al usuario ingresar información confidencial que luego es capturada por los delincuentes.
Tipos comunes de phishing
- Phishing por correo electrónico: Mensajes fraudulentos que contienen enlaces a sitios falsos.
- Smishing: Ataques realizados mediante mensajes SMS.
- Vishing: Llamadas telefónicas diseñadas para obtener datos sensibles.
- Spear phishing: Ataques dirigidos a individuos específicos, como empleados de alto nivel.
- Phishing en redes sociales: Publicaciones falsas o perfiles que buscan engañar a los usuarios.
Ejemplo práctico: Creación de una web simulada de phishing
Para enseñar cómo funciona el phishing, se podría crear una página web educativa que simule un ataque de phishing. Este tipo de simulación debe realizarse con fines exclusivamente didácticos y en entornos controlados que no afecten a usuarios reales.
Pasos básicos para crear una simulación:
- Diseño del sitio web falso:
- Crear una página similar a la de una entidad conocida (por ejemplo, un banco).
- Incluir formularios donde se soliciten credenciales ficticias.
- Configuración del servidor:
- Usar un servidor local (como XAMPP) para alojar la página.
- Evitar publicarla en internet para prevenir mal uso.
- Mensaje simulado:
- Redactar un correo electrónico falso que invite al usuario a visitar la página simulada.
- Resultados educativos:
- Mostrar cómo se capturan los datos ingresados en el formulario.
- Explicar las señales para identificar sitios falsos (errores ortográficos, URLs sospechosas, falta de seguridad HTTPS).
Herramientas útiles:
- Gophish: Plataforma de código abierto para simulaciones de phishing.
- CanIPhish: Herramienta basada en la nube para entrenamientos y simulaciones.
Advertencia ética y legal:
Es fundamental realizar estas actividades únicamente con fines educativos y con el consentimiento explícito de los participantes. La creación o uso indebido de sitios web falsos puede ser ilegal y tener consecuencias graves.
Cómo protegerse del phishing
Toda protección es poca, por eso se aconseja al menos que se realicen estas acciones para protegerse contra estas prácticas maliciosas.
- Verificar siempre el remitente del correo electrónico o mensaje.
- No hacer clic en enlaces sospechosos ni descargar archivos adjuntos no solicitados.
- Comprobar la URL del sitio web antes de ingresar información personal.
- Activar autenticación en dos pasos en cuentas importantes.
- Mantener actualizado el software antivirus y los navegadores.
El objetivo principal al enseñar sobre phishing debe ser concienciar sobre sus riesgos y capacitar a las personas para identificar y evitar estos ataques.
A continuación, se presenta un ejemplo práctico de una simulación de phishing educativa. Este ejemplo incluye la creación de una página web sencilla que imita un formulario de inicio de sesión, con el objetivo de enseñar cómo funcionan los ataques de phishing. Este código es únicamente para fines educativos y debe ejecutarse en un entorno controlado (como un servidor local) para evitar usos indebidos.
Estructura del Proyecto
- Archivos necesarios:
index.html
: Página principal con un formulario de inicio de sesión.style.css
: Estilos avanzados con animaciones y diseño responsivo.script.js
: Validaciones avanzadas en el cliente.capture.php
: Script para capturar y registrar los datos ingresados.thankyou.html
: Página de agradecimiento o redirección tras el envío del formulario.log.txt
: Archivo donde se almacenarán las credenciales (solo para simulación).
Los archivos señalados antes se publican parcialmente, tan solo una pequeña parte de cada uno, para fines educativos, como muestra de cómo pueden llegar a elaborarse estos ataques.
Archivo: index.html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Inicio de Sesión Seguro</title>
<link rel="stylesheet" href="style.css">
<script defer src="script.js"></script>
</head>
<body>
<div class="login-container">
........
[Se omite el contenido completo del código]
Archivo: style.css
/* Diseño general */
body {
font-family: 'Roboto', sans-serif;
background: linear-gradient(to right, #6a11cb, #2575fc);
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
/* Contenedor del formulario */
.login-container {
background-color: #ffffff;
padding: 30px;
border-radius: 15px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
width: 100%;
max-width: 400px;
}
........
[Se omite el contenido completo del código]
Archivo: script.js
// Validación avanzada del formulario
document.getElementById("loginForm").addEventListener("submit", function(event) {
const username = .......;
const password = .......;
......
[Se omite el contenido completo del código]
Archivo: capture.php
<?php
// Captura los datos enviados por el formulario
$username = htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);
$date = date('Y-m-d H:i:s');
.....
[Se omite el contenido completo del código]
Archivo adicional (thankyou.html)
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gracias</title>
</head>
<body style="font-family:'Roboto', sans-serif; text-align:center; background-color:#f4f4f4; padding-top:50px;">
<h1 style="color:#6a11cb;">¡Gracias por iniciar sesión!</h1>
......
[Se omite el contenido completo del código]
Archivo generado automáticamente (log.txt)
Este archivo se genera automáticamente cuando se envían datos desde el formulario. Contendrá registros como:
Fecha/Hora: 2024-12-26 11:00 | Usuario: ejemplo | Contraseña: contraseña123
Fecha/Hora: 2024-12-26 11:05 | Usuario: usuario2 | Contraseña: clave456
Advertencias éticas y legales
Este proyecto es únicamente educativo y debe ejecutarse en un entorno controlado (como un servidor local). Nunca publiques este tipo de simulaciones en servidores públicos ni las utilices con fines malintencionados.
El objetivo es enseñar cómo funcionan los ataques de phishing para concienciar sobre su detección y prevención.
Disclaimer (Aviso Legal)
Propósito Educativo Exclusivo
Aunque no se aporta el contenido completo de los archivos apuntados, este proyecto ha sido desarrollado con fines estrictamente educativos para demostrar cómo funcionan los ataques de phishing y concienciar sobre los riesgos asociados. El objetivo principal es enseñar a las personas a identificar y prevenir este tipo de amenazas cibernéticas.
Prohibición de Uso Malintencionado
El uso del código, diseño o cualquier parte de este proyecto para actividades ilegales, malintencionadas o no autorizadas está estrictamente prohibido. La creación, distribución o implementación de sitios web falsos con el fin de engañar a otras personas constituye un delito en la mayoría de las jurisdicciones y puede tener graves consecuencias legales.
Entorno Controlado
Este proyecto debe ejecutarse únicamente en un entorno controlado, como un servidor local, y no debe publicarse en internet ni ponerse a disposición del público. Si decides realizar simulaciones educativas con este proyecto, asegúrate de informar a todos los participantes y obtener su consentimiento explícito.
Exención de Responsabilidad
El creador del proyecto no se responsabiliza por el uso indebido del código o por cualquier daño causado directa o indirectamente como resultado de su implementación. El usuario asume toda la responsabilidad por el uso del proyecto.
Concienciación y Prevención
El phishing es una amenaza real en el mundo digital. Este proyecto busca educar a las personas sobre cómo identificar señales de advertencia, como URLs sospechosas, correos electrónicos fraudulentos y sitios web falsos, para protegerse contra posibles ataques.