BlackICE: El Guardián Caído y sus Secretos

04/03/2012

Valoración: 4.43 (4959 votos)

En el vasto y complejo universo de la seguridad informática, la defensa de una red nunca ha sido una tarea sencilla. Más allá de los firewalls, que actúan como la primera muralla de un castillo digital, existen otros guardianes silenciosos: los Sistemas de Detección de Intrusos (IDS) y los Sistemas de Prevención de Intrusos (IPS). Estas herramientas están diseñadas para ser los centinelas que observan el tráfico de red, buscando cualquier actividad sospechosa que pueda delatar a un atacante. Sin embargo, en la eterna guerra entre defensores y atacantes, a veces el propio guardián puede convertirse en el punto más débil. Hoy nos adentramos en la historia de uno de los nombres más reconocidos de su época: BlackICE Defender de Internet Security Systems (ISS), un sistema que prometía protección pero que, como veremos, escondía fallos que lo convertían en un objetivo en sí mismo.

Does ISS BlackICE defender work?
ISS BlackICE Defender is one vendor that does (or at least did) this by default. I wrote a small tool called icepick which sends a simple packet that generates an alert from listening BlackICE instances. Then it watches for telltale NetBIOS queries and reports any BlackICE installations found.
Índice de Contenido

El Juego del Gato y el Ratón: Detectando al Detector

Un atacante sigiloso no solo busca evadir las defensas, sino también saber a qué se enfrenta. Detectar la presencia de un IDS es el primer paso para subvertirlo. Los IDS están diseñados para ser pasivos, para escuchar sin ser vistos, pero en la práctica, esto es increíblemente difícil de lograr. Muchos sistemas, en su afán por proporcionar información detallada sobre una alerta, terminan revelando su propia presencia. BlackICE era un ejemplo perfecto de este fenómeno.

Cuando BlackICE detectaba una actividad que consideraba maliciosa, como un escaneo de puertos, a menudo iniciaba una serie de sondeos inversos hacia la dirección IP del presunto atacante. Una de las acciones más comunes era realizar una consulta DNS inversa para obtener un nombre de dominio, ya que un nombre como 'servidor-de-ataques.com' es mucho más informativo en un registro de alertas que una simple IP. Sin embargo, un atacante con control sobre su propio DNS inverso podía monitorizar estas consultas en tiempo real, obteniendo una confirmación instantánea de que había sido detectado.

Pero BlackICE iba un paso más allá, y este fue su gran error en términos de sigilo. Por defecto, enviaba solicitudes de información NetBIOS de Windows al atacante. Para un hacker, recibir un sondeo NetBIOS de su objetivo inmediatamente después de realizar una acción sospechosa era una señal inequívoca, una sirena a todo volumen que gritaba: "¡Te he visto y soy un sistema de detección!". Esta característica fue tan notoria que se crearon herramientas específicas para explotarla. Un pequeño programa llamado 'icepick' fue diseñado para enviar un paquete simple que activaba una alerta en BlackICE y luego se quedaba a la escucha, esperando la delatora respuesta NetBIOS para confirmar la presencia del IDS. Una vez detectado, el atacante podía intentar confundirlo con herramientas como 'windentd', que respondía a estos sondeos con información falsa, llegando a mostrar en la consola de BlackICE nombres de intrusos tan absurdos como "Your Mother".

La Vulnerabilidad Crítica de ICECap

Si ser detectable era un problema, lo que se descubrió en su consola de gestión, llamada ICECap, fue una catástrofe de seguridad. ICECap era el centro neurálgico donde se recopilaban y monitorizaban todas las alertas generadas por los agentes de BlackICE instalados en la red. Y tenía dos fallos de diseño fundamentales que, combinados, creaban una vulnerabilidad de ejecución remota de comandos.

Does BlackICE store data in a MDB file?
BlackICE is not the only (security) application that stores data in a Microsoft .mdb file. So what does use .mdb's? Well, NT 4.0 WINS, DHCP, CyberCop, NFR-GUI (Windows client), etc. I leave as an exercise to the reader to look into it.

El primer problema era increíblemente básico: la consola utilizaba un nombre de usuario por defecto, 'iceman', ¡sin contraseña! Esto significaba que cualquiera en la red que encontrara la consola en su puerto de escucha (8081 para la interfaz web y 8082 para la recepción de alertas) podía simplemente acceder o enviar datos sin ninguna autenticación real.

El segundo problema, y el más grave, residía en cómo almacenaba los datos. ICECap utilizaba, por defecto, el motor de base de datos Microsoft Jet 3.5, guardando las alertas en los conocidos archivos .mdb. Este motor de base de datos tenía una vulnerabilidad bien documentada (CVE: CAN-2000-0325) que permitía la ejecución de comandos del sistema a través de la función `shell()` de VBA si se inyectaba en los datos. La combinación era letal. Un atacante podía enviar una alerta falsa y maliciosamente diseñada al puerto 8082 de ICECap. Dentro de uno de los campos de la alerta, como la dirección MAC del detector, en lugar de datos legítimos, se incluía un comando. Por ejemplo:

|shell("cmd /c copy c:\winnt\repair\sam._ c:\destino\sam.exe")|

Cuando ICECap recibía esta alerta y la procesaba para guardarla en su base de datos .mdb, el motor Jet ejecutaba el comando incrustado con los privilegios del sistema. En el ejemplo anterior, el atacante estaría copiando el archivo SAM del sistema (que contiene los hashes de las contraseñas de Windows) a una ubicación accesible. Esto no era solo una brecha; era entregarle las llaves del reino al atacante.

Análisis de la Falla: Una Tormenta Perfecta

La vulnerabilidad de BlackICE ICECap no fue producto de un único error, sino de una concatenación de malas prácticas de seguridad que son lecciones valiosas incluso hoy en día. A continuación, se desglosan los factores clave en una tabla comparativa.

Factor de RiesgoDescripción del ProblemaImpacto en la Seguridad
Credenciales por DefectoLa consola ICECap se instalaba con el usuario 'iceman' sin contraseña, permitiendo el acceso no autenticado.Eliminaba la primera barrera de defensa, permitiendo a cualquier atacante en la red interactuar con el sistema de gestión.
Tecnología de Base de Datos InseguraUso del motor Microsoft Jet 3.5 (.mdb), que contenía una vulnerabilidad conocida de ejecución de comandos.Proporcionaba el mecanismo para que un atacante ejecutara código arbitrario en el servidor que alojaba la consola.
Falta de Saneamiento de EntradasEl sistema no validaba ni "limpiaba" los datos recibidos en las alertas antes de escribirlos en la base de datos.Permitía que el payload malicioso (el comando `shell()`) llegara intacto al motor de la base de datos, activando el exploit.
Exceso de Funcionalidad ReveladoraLos sondeos inversos, especialmente las consultas NetBIOS, revelaban la presencia y naturaleza del IDS.Facilitaba a los atacantes la identificación del sistema de defensa, permitiéndoles elegir herramientas y técnicas específicas para evadirlo o atacarlo.

Lecciones Aprendidas del Guardián Caído

Aunque BlackICE es una pieza de software del pasado, su historia es un compendio de lecciones de ciberseguridad que siguen siendo relevantes. Nos enseña, en primer lugar, el inmenso peligro de las credenciales por defecto. Un sistema, por muy seguro que sea en su núcleo, es inútil si su puerta de acceso está abierta de par en par. En segundo lugar, demuestra el riesgo de construir sobre cimientos inseguros. Al elegir el motor de base de datos Jet, los desarrolladores heredaron todas sus vulnerabilidades. Finalmente, subraya la importancia capital del saneamiento de entradas: nunca confíes en los datos que provienen del exterior. Cada pieza de información debe ser tratada como potencialmente hostil y validada rigurosamente antes de ser procesada.

La historia de BlackICE es un recordatorio de que en seguridad, la complejidad puede generar fragilidad. Un sistema diseñado para detectar una intrusión se convirtió él mismo en la puerta de entrada, demostrando que incluso los guardianes más vigilantes pueden caer si no se cuidan sus propias debilidades.

Does ISS BlackICE defender work?
ISS BlackICE Defender is one vendor that does (or at least did) this by default. I wrote a small tool called icepick which sends a simple packet that generates an alert from listening BlackICE instances. Then it watches for telltale NetBIOS queries and reports any BlackICE installations found.

Preguntas Frecuentes (FAQ)

¿ISS BlackICE Defender todavía funciona o se usa?

No. BlackICE es un producto descontinuado desde hace muchos años. Sus definiciones de amenazas no están actualizadas y sus vulnerabilidades conocidas, como la de ICECap, nunca recibirán parches. Utilizarlo en un sistema moderno sería extremadamente inseguro y no es recomendable bajo ninguna circunstancia.

¿Cuál fue la principal vulnerabilidad de BlackICE?

La vulnerabilidad más crítica fue la de ejecución remota de comandos en su consola de gestión, ICECap. Esta falla permitía a un atacante enviar una alerta manipulada que, al ser procesada por la base de datos .mdb del sistema, ejecutaba comandos con privilegios de sistema, otorgando al atacante un control casi total sobre la máquina.

¿Era BlackICE un buen producto en su momento?

En su época, BlackICE fue un producto muy popular y respetado tanto para usuarios domésticos como para entornos corporativos. Ofrecía una visibilidad y un nivel de detección que eran avanzados para su tiempo. Sin embargo, como muchos productos de esa era, no fue diseñado con los estándares de seguridad robustos que se exigen hoy en día.

¿Qué es un IDS y en qué se diferencia de un firewall?

Un firewall actúa como una barrera o un control de tráfico. Decide qué paquetes de red pueden entrar o salir de una red basándose en un conjunto de reglas (por ejemplo, bloquear todo el tráfico excepto el del puerto 80 para la web). Un Sistema de Detección de Intrusos (IDS), en cambio, no suele bloquear el tráfico, sino que lo analiza en busca de patrones sospechosos o firmas de ataques conocidos. Si detecta algo, genera una alerta para que un administrador pueda investigarlo. Un IPS (Sistema de Prevención de Intrusos) es un híbrido que, además de detectar, puede tomar medidas activas para bloquear la amenaza.

Si quieres conocer otros artículos parecidos a BlackICE: El Guardián Caído y sus Secretos puedes visitar la categoría Juegos.

Subir