No es programador, ni pentester, ni siquiera humano, pero encontró un día cero en la biblioteca de Windows

No es programador, ni pentester, ni siquiera humano, pero encontró un día cero en la biblioteca de Windows

Los cazadores de errores de IA pronto sustituirán a los especialistas humanos.

image

Una nueva etapa en la automatización de la búsqueda de vulnerabilidades ha sido alcanzada gracias a la integración del chatbot Claude con herramientas de ingeniería inversa. Un equipo de especialistas de TrustedSec implementó un enfoque único en el que se utiliza inteligencia artificial para detectar vulnerabilidades previamente desconocidas en archivos binarios firmados de Microsoft. Esto podría cambiar radicalmente la forma en que los especialistas en ciberseguridad analizan código e identifican amenazas.

Durante la investigación, Claude fue entrenado para trabajar con el protocolo Model Context Protocol (MCP) y analizar ensamblajes .NET en un modo completamente automatizado. Para ello, los desarrolladores levantaron un servidor MCP personalizado utilizando ilspycmd —una herramienta para descompilar .NET— dentro de un contenedor Docker. Esto permitió prescindir del análisis manual y proporcionar a la IA acceso a toda la estructura de los ensamblajes, incluidos métodos privados y llamadas internas.

El resultado del experimento no fue solo la detección de posibles puntos débiles, sino también la construcción de cadenas completas de explotación, hasta la generación de código funcional que confirma la vulnerabilidad.

Uno de los casos clave fue la biblioteca «System.AddIn.dll», que se distribuye con Windows. Claude identificó una vulnerabilidad crítica relacionada con el uso inseguro de BinaryFormatter en el archivo «AddInStore.cs». Los métodos ReadCache y WriteCache realizaban serialización y deserialización sin las verificaciones adecuadas, lo que abría la puerta a ataques mediante archivos de caché especialmente diseñados.

Aunque la vulnerabilidad ya había sido descrita anteriormente, en el marco del experimento se utilizó como una prueba de la profundidad del análisis. La IA no solo confirmó su existencia, sino que identificó con precisión todas las posibles vías de explotación, incluyendo los parámetros -addinroot y -pipelineroot en la utilidad «AddinUtil.exe», que podían conducir a la ejecución de código arbitrario.

Lo más impresionante fue el hecho de que Claude logró rastrear paso a paso el flujo de ejecución desde la entrada del usuario hasta la llamada al vulnerable Deserialize(). Indicó que el segmento peligroso del código se activa mediante los métodos AddInStore.Update() o AddInStore.Rebuild(), que luego conducen a GetPipelineDeploymentState(), donde ocurre la deserialización insegura.

La IA también demostró una comprensión completa del formato de archivos binarios. Generó un script en Python que creaba la estructura correcta de directorios (HostSideAdapters, Contracts, AddInSideAdapters, AddInViews) y añadía el archivo «PipelineSegments.store» con la cabecera de 12 bytes esperada por el método ReadCache. El resultado de la ejecución del exploit fue la ejecución exitosa de código arbitrario a través de «AddinUtil.exe».

Así, Claude demostró no solo la capacidad de encontrar vulnerabilidades, sino también de crear cadenas de explotación funcionales prácticamente sin intervención humana. Esto cambia seriamente el paradigma en el análisis de software: del estudio manual del código al análisis masivo y profundo asistido por inteligencia artificial.

Este enfoque abre una nueva era en la caza de vulnerabilidades de día cero en sistemas corporativos y críticos. En un contexto de creciente presión sobre los equipos de ciberseguridad y la necesidad de detección acelerada de vulnerabilidades, esta herramienta puede convertirse en un catalizador de una automatización escalable y profunda en el ámbito de la seguridad del software.

¿Estás cansado de que Internet sepa todo sobre ti?

¡Únete a nosotros y hazte invisible!