Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Reglas que funcionan para estos binarios

5 tareas · 40 min · Principiante

Una regla de detección que busca texto en un archivo, como las de YARA, encuentra justo lo que se le pide. En un binario de Go, de Rust o en un script empaquetado, la mayor parte del texto es del runtime o del intérprete y está en todos los programas hechos con la misma herramienta. El equipo de Colchones Altovelo escribió siete reglas candidatas para tres familias y las probó contra las variantes conocidas y contra 2300 ejecutables sanos de la flota. Toca leer los resultados y decidir cuáles se despliegan y por qué.

0 de 5 · 0%

Objetivo de la sala

Una regla de detección que busca texto en un archivo, como las de YARA, encuentra justo lo que se le pide. En un binario de Go, de Rust o en un script empaquetado, la mayor parte del texto es del runtime o del intérprete y está en todos los programas hechos con la misma herramienta. El equipo de Colchones Altovelo escribió siete reglas candidatas para tres familias y las probó contra las variantes conocidas y contra 2300 ejecutables sanos de la flota. Toca leer los resultados y decidir cuáles se despliegan y por qué.

Una regla sirve si cumple dos cosas a la vez: encuentra las variantes de la familia y no encuentra los programas sanos. En estos binarios es fácil cumplir la primera y fallar la segunda. Los nombres de función del runtime de Go, las cadenas del intérprete de AutoIt o el nombre de la biblioteca de Python que carga un empaquetador están en cualquier programa hecho con esa herramienta, y la empresa tiene programas sanos hechos con todas ellas.

Lo que distingue a una familia es lo que escribió su autor: la ruta de su módulo, el nombre de su script de entrada, sus dominios, sus claves de registro, o una combinación de dependencias que los programas sanos no tienen.

Responde para continuar

Una regla busca dos nombres de función del runtime de Go. ¿Qué es lo esperable al probarla contra la flota?

Ver pista de ayuda

Recuerda qué parte de un binario de Go es igual en todos los programas.

Abre la consola. Con SELECT * FROM reglas ves qué busca cada regla, con SELECT * FROM resultados cómo le fue y con SELECT * FROM flota cuántos programas de cada tipo tiene la empresa.

Responde para continuar

Escribe cuántos falsos positivos dio en la flota la regla escrita sobre el runtime de Go.

Ver pista de ayuda

Busca primero qué regla se escribe sobre el runtime y luego su fila de resultados.

Para la familia PatronSync hay cuatro candidatas. La que se despliega en bloqueo tiene que encontrar todas las variantes conocidas sin tocar un solo programa sano.

Responde para continuar

Escribe el identificador de la regla de PatronSync que encontró todas las variantes conocidas sin ningún falso positivo.

Ver pista de ayuda

Filtra mentalmente las reglas de esa familia y compara las tres columnas de resultados.

La regla escrita sobre el usuario de las rutas de compilación no tuvo falsos positivos, pero se le escaparon variantes. Consulta SELECT * FROM variantes para ver por qué.

Responde para continuar

¿Por qué esa regla no encontró dos de las seis variantes?

Ver pista de ayuda

Mira la columna de rutas de compilación de las variantes y compárala con el módulo principal.

La regla de la familia del etiquetador busca tres mensajes del intérprete de AutoIt. Encontró las dos variantes y también los tres programas en AutoIt sanos de la empresa. El script del autor va cifrado en los recursos, así que una regla sobre el archivo no lo ve.

Responde para continuar

¿Qué propones para esa familia?

Ver pista de ayuda

Si la regla sobre el archivo solo ve al intérprete, busca rasgos del autor en otra parte.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad