GhostAcademy logo GhostAcademy
CamPhish - espionaje a través de la cámara web
📷 CamPhish · Phishing visual · Ngrok / Serveo · PHP Server · Kali Linux
CamPhish
¿me das permiso?
// PHP server · Ngrok tunnel · camera permission · cap files

El factor humano es el eslabón más débil. CamPhish demuestra cómo una página web falsa servida a través de un túnel Ngrok puede capturar imágenes de la cámara delantera del teléfono o la webcam del PC con un simple clic. Esta guía cubre el funcionamiento del ataque y las contramedidas para protegerse.

CamPhish v1.7 · PHP · Ngrok · Serveo Phishing · ingeniería social · cámara Concienciación · prevención · factor humano Código Penal ES · Art. 197 · LOPDGDD
🎣
¿Qué es el phishing?
Estrategia engañosa para robar información personal mediante correos o mensajes que imitan sitios legítimos.

El phishing consiste en falsificar la identidad de una entidad de confianza para engañar a la víctima. Un ejemplo típico: un correo que parece de tu banco te pide que inicies sesión en una página clonada — en realidad estás entregando tus credenciales al atacante.

📷
¿Qué es CamPhish?
Herramienta open source que combina un servidor PHP con un túnel Ngrok/Serveo para capturar fotos de la cámara de la víctima mediante una página web falsa.

CamPhish sirve una página web falsa desde un servidor PHP integrado y la expone a Internet mediante Ngrok o Serveo. El enlace generado se envía a la víctima. Al abrirlo, la web solicita permiso de cámara y, si la víctima lo concede, comienza a capturar imágenes continuamente guardándolas en el directorio de la herramienta.

🌐
Servidor PHP
Sirve la página falsa localmente
🔗
Ngrok / Serveo
Túnel hacia Internet con HTTPS
📸
Captura cámara
API WebRTC del navegador
🗺️
Escenario del ataque
El atacante genera un enlace malicioso y lo camufla. La víctima lo abre y da permiso a la cámara sin sospechar.
💻
Atacante lanza CamPhish
Kali Linux
›
🔗
Genera enlace Ngrok
HTTPS público
›
📨
Envía el enlace
QR · imagen · mensaje
›
👆
Víctima hace clic
Abre la web falsa
›
📷
Acepta permiso
Cámara comprometida
Diagrama del escenario del ataque CamPhish
Diagrama: atacante → túnel → víctima. El consentimiento de la víctima es el punto crítico del ataque
🎯 Factor humano: La acción de la víctima es imprescindible para que el ataque se produzca. Cada paso puede ser interrumpido con la formación adecuada.
⚙️
Instalación
CamPhish requiere PHP, SSH/Git y wget. Repositorio: github.com/techchipnet/CamPhish
Repositorio CamPhish en GitHub con descripción y archivos
Repositorio oficial en GitHub — techchipnet/CamPhish
bash — instalar dependencias y clonar
# Instalar dependencias (PHP, SSH, Git, wget)
apt-get -y install php openssh git wget

# Clonar el repositorio de CamPhish
git clone https://github.com/techchipnet/CamPhish

# Entrar al directorio
cd CamPhish
Terminal instalando dependencias y clonando CamPhish
Instalación de dependencias y git clone
Terminal dentro del directorio CamPhish
cd CamPhish — en el directorio
🚀
Ejecución de CamPhish
Un único comando lanza el script que guía el proceso completo de configuración interactiva.
bash camphish.sh
CamPhish banner ASCII art con menú de selección de servidor de túnel
Menú de CamPhish — selección de servidor de túnel: [01] Ngrok · [02] Serveo.net

El programa ofrece dos opciones de túnel para exponer el servidor PHP a Internet. Ambas crean una URL pública HTTPS accesible desde cualquier dispositivo.

🔑
Configurar cuenta Ngrok
CamPhish solo necesita el authtoken del dashboard de Ngrok — sin configuración adicional.

Ngrok ofrece cuentas gratuitas en ngrok.com. Puedes registrarte con email/contraseña, Google o GitHub.

Página web de Ngrok con opción Sign up
ngrok.com — registro gratuito
Formulario de registro de Ngrok
Sign up — email o cuenta de Google/GitHub
Diálogo de Google para crear cuenta Ngrok
OAuth con Google — solicitud de permiso para crear cuenta
Dashboard de Ngrok con el authtoken visible
Dashboard Ngrok — copiar el authtoken
🔑 Solo necesitas el authtoken: CamPhish lo solicita directamente en la terminal. No necesitas instalar ni configurar nada más en Ngrok.
🎭
Seleccionar plantilla y obtener el enlace
CamPhish incluye tres plantillas de señuelo. El nombre del evento debe ser convincente para que la víctima haga clic.
[01]
🎪 Festival Wishing
[02]
▶️ Live Youtube TV
[03]
💼 Online Meeting
Terminal mostrando selección de plantilla
Selección de plantilla
Terminal pidiendo nombre del evento: Barbacoa
Nombre del evento (señuelo)
Terminal pidiendo el authtoken de Ngrok
Introducir authtoken Ngrok
Token de Ngrok introducido en la terminal de CamPhish
Token introducido — CamPhish iniciando servidor PHP y Ngrok
Terminal con enlace directo Ngrok generado y Waiting for targets
Enlace generado: https://XXXX-XX-XXX-XXX-XXX.ngrok-free.app · Kali queda a la escucha
ℹ️ Ingeniería social: El nombre del evento («Barbacoa», «Premio», «Invitación»…) es determinante. El enlace se puede camuflar en un código QR, imagen o mensaje de texto para que parezca legítimo.
👁️
¿Qué ve la víctima?
El enlace Ngrok muestra primero una página de advertencia — una última oportunidad para que la víctima desconfíe antes de ser capturada.
Pantalla de advertencia de Ngrok al acceder al enlace malicioso
Ngrok muestra una página de aviso con la IP del atacante — la víctima aún puede cancelar aquí
⚠️ Alerta visible: Ngrok revela la IP del atacante en esta página de advertencia. Serveo.net no emite esta alerta, lo que lo hace más peligroso desde la perspectiva del atacante. Un usuario formado debería detenerse aquí.

Si la víctima ignora la advertencia y hace clic en «Visit Site», aparece un formulario que solicita su nombre — aparentemente inofensivo. En ese momento el atacante ya captura la IP de la víctima.

Página Festival con cuadro de diálogo solicitando el nombre
Formulario de nombre — parece legítimo
Terminal de Kali mostrando Target opened the link e IP capturada
Kali: [+] Target opened the link! · [+] IP: [capturada]

Tras introducir el nombre y aceptar, se carga la página de la plantilla. El navegador muestra el diálogo de permiso de cámara. Si la víctima acepta, comienza la captura.

Página web con cuadro de diálogo solicitando permiso para acceder a la cámara
Solicitud de permiso de cámara — el punto de no retorno
Página de festival cargada después de dar permiso de cámara
Página festival visible — cámara activa en segundo plano
🖼️
Captura de imágenes en la máquina Kali
CamPhish recibe los frames de la cámara y los almacena como archivos PNG en el directorio ~/CamPhish.
Terminal Kali mostrando múltiples Cam file received
[+] Cam file received! — imágenes llegando continuamente
Terminal Kali tras Ctrl+C mostrando listado de archivos PNG capturados
ls ~/CamPhish — archivos .png con timestamp capturados
Explorador de archivos mostrando galería de imágenes capturadas de la víctima
Directorio ~/CamPhish — galería de imágenes capturadas de la cámara de la víctima
bash — detener captura y ver archivos
# Detener la captura
Ctrl+C

# Listar imágenes capturadas
ls ~/CamPhish/*.png

# Abrir el directorio gráficamente
nautilus ~/CamPhish   # o thunar, nemo, etc.
🛡️
Resumen — Cómo protegerse · Lado de la víctima
Cuatro oportunidades para detener el ataque antes de que llegue a producirse. En cada una el usuario podría haber abortado.
1
No hacer clic en enlaces de procedencia desconocida. Este es el primer y más efectivo cortafuegos. Si no sabes quién envió el enlace o por qué, no lo abras.
2
Observar la URL y desconfiar de dominios sospechosos. URLs con dominios ngrok-free.app, serveo.net, no-ip.org o que muestren una IP directa deben ser señales de alarma inmediata.
3
Rechazar permisos de cámara sin justificación clara. Un sitio web de «felicitaciones» o «concursos» no tiene ningún motivo legítimo para necesitar acceso a la cámara. Denegar siempre salvo que sea absolutamente necesario y el sitio sea de confianza verificada.
4
Usar una cubierta física para la cámara. Si la cámara está tapada físicamente, ningún ataque de este tipo puede obtener imágenes aunque consiga el permiso del navegador. Una solución de bajo coste con máxima efectividad.
🎓 La formación es la mejor defensa: La acción de la víctima fue imprescindible en cada etapa del ataque. Con la formación adecuada en ciberseguridad, cualquiera de los cuatro puntos anteriores habría sido suficiente para frustrarlo completamente.