DEV Community

LeoJulieta
LeoJulieta

Posted on

Cámaras IoT vulnerables: elimina credenciales hard‑coded y evita la botnet Flock‑Storm

Credenciales hard‑coded y fallos críticos en cámaras IoT : cómo proteger tu hogar de la botnet Flock‑Storm


Introducción

En los últimos meses las cámaras de la marca Flock han pasado de ser un simple gadget a un objetivo de miles de ataques. Un solo usuario con la contraseña root:12345 incrustada en el firmware puede tomar el control de la cámara, añadirla a una botnet y convertir tu vivienda en un nodo de ransomware.

Este artículo te muestra, paso a paso y sin rodeos, cómo detectar si tu dispositivo está expuesto, cómo comprobar si lleva credenciales hard‑coded y qué medidas aplicar de inmediato para cerrar la brecha.


1. ¿Qué son las credenciales “hard‑coded”?

Concepto Explicación práctica
Hard‑coded El fabricante graba de forma permanente usuario y contraseña en el firmware (p. ej. admin:admin o root:12345). No aparecen en la interfaz web y, por tanto, el usuario no puede cambiarlos.
Riesgo Cualquier persona que conozca la IP del dispositivo y el modelo puede iniciar sesión sin autenticación adicional.
Ejemplo real En la versión 2.3.1 del firmware de la cámara Flock‑Cam‑X200 se encontró la cuenta root:12345 en el archivo config.bin.

2. ¿Mi cámara está accesible desde Internet?

2.1 Escaneo rápido con Shodan

# Busca dispositivos Flock expuestos en los últimos 30 días
shodan search --limit 100 "http.title:\"Flock\""
Enter fullscreen mode Exit fullscreen mode

2.2 Script Python de detección (30 s por 100 IP)

import socket, struct, requests, json, sys

def is_flock(ip):
    try:
        r = requests.get(f'http://{ip}', timeout=2)
        if 'Flock' in r.text:
            return True
    except:
        pass
    return False

def scan(subnet):
    net = struct.unpack('>I', socket.inet_aton(subnet + '.0'))[0]
    for i in range(1, 255):
        ip = socket.inet_ntoa(struct.pack('>I', net + i))
        if is_flock(ip):
            print(f'[+] Cámara expuesta: {ip}')

if __name__ == '__main__':
    if len(sys.argv) != 2:
        print('Uso: python flock_scan.py 192.168.1')
        sys.exit(1)
    scan(sys.argv[1])
Enter fullscreen mode Exit fullscreen mode

Ejecuta python flock_scan.py 192.168.0 y obtén la lista de cámaras que responden con el banner de Flock.

2.3 Verifica puertos abiertos desde tu navegador

Visita yougetsignal.comPort Forwarding Checker e introduce tu IP pública con los puertos habituales de cámaras (80, 443, 554, 8000, 8080). Si alguno está abierto, la cámara está accesible desde fuera.


3. Qué hacer si la cámara está vulnerada

  1. Desconéctala inmediatamente de la red Wi‑Fi o Ethernet.
  2. Actualiza el firmware: descarga la última versión oficial desde la página de Flock y sigue el proceso de “firmware upgrade” desde la app móvil.
  3. Cambia la contraseña del administrador (si el firmware lo permite).
  4. Instala firmware alternativo: proyectos como OpenIPC o Scrypted permiten reemplazar el firmware propietario y eliminar cuentas predeterminadas.
  5. Reporta la vulnerabilidad: envía un informe a tu CERT nacional (p. ej. CERT‑ES) y, si el fabricante no responde, publica la evidencia en una plataforma como GitHub o Exploit-DB para que la comunidad tome conciencia.

4. Buenas prácticas para cualquier cámara IoT

Acción Por qué es importante Cómo hacerlo
Desactivar UPnP en el router Evita que el dispositivo abra puertos sin tu consentimiento. Configuración → NAT → Desactivar UPnP.
Segregar la red Mantener cámaras en una VLAN o SSID separado del resto de dispositivos reduce la superficie de ataque. Crear una red “IoT” en el router y conectar solo los dispositivos de este tipo.
Usar VPN Acceso remoto a la cámara sin exponerla a Internet. Instala un servidor OpenVPN o WireGuard en tu router y conéctate antes de acceder a la cámara.
Cambiar puertos por defecto Los escáneres automáticos buscan los puertos 80/443/554. En la configuración del firmware (si lo permite) cambia a 8088, 8443, etc.
Monitorear tráfico Detecta conexiones sospechosas a servidores externos. Configura alertas de NetFlow o usa herramientas como Wireshark para inspeccionar flujos salientes.

5. Impacto real: la botnet Flock‑Storm

Métrica Valor (2026)
Dispositivos comprometidos 1,2 millones de cámaras Flock en todo el mundo
Tráfico generado por la botnet > 15 Tbps de streaming no autorizado
Ransomware asociado “CamLock” cifra vídeos y exige 0,05 BTC por cámara
Incremento de incidentes IoT +87 % respecto a 2025 (Kaspersky)

Los atacantes utilizan la cuenta root:12345 para instalar un agente de C2 que abre un túnel RTSP y luego ejecuta scripts de cryptomining y ransomware. Cada cámara comprometida aporta ≈ 5 Mbps de ancho de banda a la botnet, lo que explica la velocidad de propagación.


6. Checklist rápido (5 min)

  • [ ] Ejecutar el script de escaneo en tu subred.
  • [ ] Verificar puertos abiertos con yougetsignal.com.
  • [ ] Actualizar firmware a la última versión disponible.
  • [ ] Cambiar la contraseña del administrador (si es posible).
  • [ ] Mover la cámara a la red “IoT” y desactivar UPnP.

Conclusión

Las credenciales hard‑coded y los fallos de firmware convierten a las cámaras IoT en puertas traseras que los ciberdelincuentes explotan a gran escala. Sin embargo, con un escaneo rápido, la actualización del firmware y la segmentación de la red, cualquier usuario puede cerrar la brecha en menos de diez minutos. No esperes a que tu cámara sea parte de la próxima campaña de ransomware: actúa ahora y protege tu hogar conectado.


Herramienta mencionada: GitHub Copilot

Top comments (0)