76
Zeus·Я·uS Autor: Santiago Vicente Fecha: Septiembre 2013

Zeus-R-uS

Embed Size (px)

DESCRIPTION

Un recorrido a bajo nivel por las principales diferencias funcionales, de cifrado y comunicación vistas en cada una de las variantes, que el departamente de Ecrime de S21sec ha tenido ocasión de analizar, del infame troyano ZeuS, anterior y posteriormente a la filtración de su código fuente en 2011.

Citation preview

Page 1: Zeus-R-uS

Zeus·Я·uS

Autor: Santiago Vicente

Fecha: Septiembre 2013

Page 2: Zeus-R-uS

La información contenida en este documento es propiedad intelectual de S21sec. Cualquier modificación o

utilización total o parcial del contenido de este documento sin consentimiento expreso y por escrito de S21sec

está estrictamente prohibida. La ausencia de respuesta a cualquier solicitud de consentimiento en ningún caso

deberá ser entendida como consentimiento tácito por parte de S21sec autorizando utilización alguna.

© Grupo S21sec Gestión, S.A.

Page 3: Zeus-R-uS

¿De qué vamos a hablar?

Page 4: Zeus-R-uS

¿Cuál es el objetivo?

• Hacer un recorrido por la historia de ZeuS

• Estudiar las bases sobre las que se asienta

• Comparación con las distintas variantes aparecidas

• Centrados en afectación y comunicación

• Consultable a posteriori

Page 5: Zeus-R-uS

// ÍNDICE

* Antecedentes

Timeline

Características principales

Variantes Pre-Leak

Variantes Post-Leak

Comparativa

Conclusiones

Page 6: Zeus-R-uS

// ÍNDICE

* Antecedentes

Historia

Filtración

Timeline

Características principales

Variantes Pre-Leak

Variantes Post-Leak

Comparativa

Conclusiones

Page 7: Zeus-R-uS

*

// Historia01

Antecedentes

Page 8: Zeus-R-uS

Historia (I)

• Descubierto por Secure Science Corporation y Sunbelt

Software en Octubre de 2006

• Empezó siendo un colector genérico de datos

empaquetado con UPX

• En 2007 apareció el primer “builder”

Page 9: Zeus-R-uS

Historia (II)

• Relativa poca evolución hasta 2009 en el que aparece la

versión 1.3

– Destacando la novedad de mantener el fichero de configuración

en memoria en un nuevo empeño por dificultar su análisis

• A finales de ese mismo año aparece la versión 2.0

– Soporte para Windows Vista y 7

– Soporte para otros navegadores como Firefox

– Soporte de múltiples infecciones

– Se empiezan a ver inyecciones con capacidad MitB

Page 10: Zeus-R-uS

Historia (III)

• En septiembre de 2010 S21sec descubre el primer

ataque contra el segundo factor de autenticación basado

en móvil:

– Aplicaciones para Symbian, Windows Mobile, Blackberry y más

adelante Android

– Módulo independiente de ZeuS

Page 11: Zeus-R-uS

*

// Filtración02

Antecedentes

Page 12: Zeus-R-uS

Filtración

• Octubre 2010: Licat (Pre-Murofet). Variante previa al Leak

• Finales de 2010: Slavik/Monstr supuestamente cede el

mantenimiento del código a Hardeman/Gribodemon (Creador de

Spyeye), su gran “rival” hasta la fecha.

• Principios de 2011: Spyeye parece incorporar alguna rutina

anteriormente presente en ZeuS

• 28 de Marzo de 2011: Fichero rar con contraseña que

supuestamente contenía el código fuente de ZeuS

• 21 de Abril de 2011: Leak completo de la versión 2.0.8.9

Page 13: Zeus-R-uS

// ÍNDICE

* Antecedentes

Timeline

Características principales

Variantes Pre-Leak

Variantes Post-Leak

Comparativa

Conclusiones

Page 14: Zeus-R-uS

Timeline

Page 15: Zeus-R-uS

// ÍNDICE

* Antecedentes

Timeline

Características principales

ZeuS 1.X

ZeuS 2.X

Variantes Pre-Leak

Variantes Post-Leak

Comparativa

Conclusiones

Page 16: Zeus-R-uS

*

// ZeuS 1.X01

Características

principales

Page 17: Zeus-R-uS

ZeuS 1.X (I)

• Funcionalidades:

– Panel de control PHP

– Actualización configuración

– Actualización del binario

– /etc/hosts

– Socks proxy

– Inyección HTML

– Redirección HTML

– Capturas de pantalla

– Capturas de teclados virtuales

– Captura de credenciales

– Robo certificados

– Corrupción del sistema (KillOS)

– Ocultación

Page 18: Zeus-R-uS

ZeuS 1.X (II)

Page 19: Zeus-R-uS

ZeuS 1.X (III)

Ejecutable Config & Data Mutex / Pipe Versión Cifrado

ntos.exe \wsnpoem\video.dll

\wsnpoem\audio.dll

_SYSTEM_64AD0625_ 1.0.x.x Simple

oembios.exe \sysproc64\sysproc86.sys

\sysproc64\sysproc32.sys

_SYSTEM_64AD0625_ 1.1.x.x Simple

twext.exe \twain\local.ds

\twain\user.ds _SYSTEM_64AD0625_

1.1.x.x Simple

twex.exe \twain\local.ds

\twain\user.ds

_H_64AD0625_ 1.2.x.x RC4

sdra64.exe

bootlist32.exe

userinit32.exe

\mac32\cbt.lc

\mac32\cc.lc

\lowsec\local.ds

\lowsec\user.ds

\zad32and\boot.pop

\yad32and\codec.dll

_AVIRA_2109_

_LILO_19099_

1.2.x.x RC4

bootwindows.exe \skype32\win32post.dll

\skype32\win64post.dll

_SOSI_19099_ 1.3.x.x RC4

Page 20: Zeus-R-uS

*

// ZeuS 2.X02

Características

principales

Page 21: Zeus-R-uS

ZeuS 2.X (I)

• Soporte para Windows Vista y 7

• Soporte para otros navegadores como Firefox

• Soporte de múltiples infecciones

• Sin técnicas de ocultación

• Inyecciones dinámicas

• Rutas de directorio, binario y registro “pseudoaleatorias”

• Bloqueo de hardware

• Posibilidad de complemento para eliminar programas ofensivos

Page 22: Zeus-R-uS

ZeuS 2.X (II)

• Static config– Clave RC4

– URLs iniciales

• Dos claves de cifrado RC4– Config descargada/comunicación

– Config en registro (Autogenerada)

Page 23: Zeus-R-uS

ZeuS 2.X (III)

• Datos únicos de la máquina

• Estructura de los extra datos:

• Cifrados con RC4

• Actualización a traves de GET

Page 24: Zeus-R-uS

// ÍNDICE

* Antecedentes

Timeline

Características principales

Variantes Pre-Leak

ZeuS 1.4

ZeuS Cryptless

Licat (Murofet)

ZeuS Process

Plugin SpyEye

Variantes Post-Leak

Comparativa

Conclusiones

Page 25: Zeus-R-uS

*

// ZeuS 1.401

Variantes

Pre-Leak

Page 26: Zeus-R-uS

ZeuS 1.4

• Cambio en la rutina RC4:

• Cambio en el proceso a inyectarse:

Variante 1 Variante 2

c:\windows\host32.exe

c:\windows\jh87uhnoe3\ewf32.nls

c:\windows\jh87uhnoe3\ewfrvbb.nls

c:\windows\svhost32.exe

c:\windows\efee3f32f\brrve.nls

c:\windows\efee3f32f\wrfsf.nls

Page 27: Zeus-R-uS

*

// ZeuS Cryptless02

Variantes

Pre-Leak

Page 28: Zeus-R-uS

ZeuS Cryptless

• Sin cifrado de strings

Page 29: Zeus-R-uS

*

// Licat/Murofet03

Variantes

Pre-Leak

Page 30: Zeus-R-uS

• Un único gang . Compra del código fuente? Slavik?

• Domain Generation Algorithm (DGA)

• Config cifrada con RC4 sin capa XOR + Nuevo formato

Licat/Murofet (I)

Page 31: Zeus-R-uS

• P2P network + DGA

• CERT Polska schemes:

Licat/Murofet (II)

Page 32: Zeus-R-uS

• Firma de recursos

• Cambio en el algoritmo de compresión

• DDoS y HTTP vía P2P como Proxy

Licat/Murofet (III)

Page 33: Zeus-R-uS

*

// ZeuS Tasks04

Variantes

Pre-Leak

Page 34: Zeus-R-uS

ZeuS Process (I)

• Static config

Page 35: Zeus-R-uS

ZeuS Process (II)

• Correción:

Page 36: Zeus-R-uS

*

// Plugin SpyEye05

Variantes

Pre-Leak

Page 37: Zeus-R-uS

Plugin SpyEye

• Cesión del código de ZeuS a Gribodemon/Monstr?

• Materializado en plugins de Spyeye

Page 38: Zeus-R-uS

// ÍNDICE

* Antecedentes

Timeline

Características principales

Variantes Pre-Leak

Variantes Post-Leak

ICE-IX

ZeuS 2.3.2.0

Ramnit

Citadel

KINS

Power ZeuS

Skynet

ZeuS SSL

ZeuS 4.3.3.3

ZeuS Tasks

Comparativa

Conclusiones

Page 39: Zeus-R-uS

*

// ICE-IX01

Variantes

Post-Leak

Page 40: Zeus-R-uS

ICE-IX (I)

• Primera variante anunciada en foros underground

• 1600$ con soporte a largo plazo

• Algunas caractrístcas anunciadas:– Keylogger, con captura de pantallas

– Captura de trafico de los navegadores Internet Explorer y

Mozilla Firefox.

– Robo de cookies.

– Robo de credenciales de FTP y POP3.

– Posible uso del PC infectado como proxy SOCKS5, con

conexión inversa.

– Robo de certificados.

– Búsqueda de ficheros en el disco duro de las víctimas.

Page 41: Zeus-R-uS

ICE-IX (II)

• Anti-Tracking system:

• RC4 modificado:

Page 42: Zeus-R-uS

*

// ZeuS 2.3.2.002

Variantes

Post-Leak

Page 43: Zeus-R-uS

ZeuS 2.3.2.0

• Modificación en el algoritmo de cifrado que pasa a ser

AES –Rijndael-

Page 44: Zeus-R-uS

*

// Ramnit03

Variantes

Post-Leak

Page 45: Zeus-R-uS

Ramnit (I)

• Malware híbrido con características tanto de troyano como de virus

• Detectado a principios de 2010, incorpora código de ZeuS a finales de 2011.

• Ramnit descarga módulos adicionales:

– Ftp Grabber v1.0: captura credenciales FTP

– Anonymous Ftp Server v1.0: crea una puerta trasera a modo de servidor FTP

– Hooker: se inyecta en los navegadores para realizar ataques Man in the Browser

– Spy module (Zeus, SE, Rootkit, Cookie grabber) v2.0: código copiado del código fuente de Zeus.

– VirusModule v1.0 (exe, dll only): infecta ficheros.

Page 46: Zeus-R-uS

Ramnit (II)

• Ultimamente se ha visto afectando a STEAM:

Page 47: Zeus-R-uS

*

// Citadel04

Variantes

Post-Leak

Page 48: Zeus-R-uS

Citadel (I)

Page 49: Zeus-R-uS

Citadel (II)

• Clave RC4. Algoritmo estándar

• Clave AES para la configuración a partir de la RC4

• Clave RC4 de comunicación a partir de la AES anterior

Page 50: Zeus-R-uS

Citadel 1.3.4.5

• Clave RC4. Algoritmo modificado usando LOGIN_KEY

• Clave AES a partir de la RC4

• Clave RC4 de comunicación a partir de la AES anterior.

Vector de inicialización modificado con SALT_KEY

Page 51: Zeus-R-uS

Citadel 1.3.5.1

• Clave RC4. Algoritmo modificado usando LOGIN_KEY

• Clave AES a partir de la RC4. Algoritmo AES modificado

usando XOR_KEY

• Clave RC4 de comunicación a partir de la AES anterior.

Vector de inicialización modificado con SALT_KEY

Page 52: Zeus-R-uS

Citadel 3.1.0.0

• Clave RC4. Algoritmo modificado usando LOGIN_KEY

• Clave AES a partir de la RC4. Algoritmo AES modificado

usando XOR_KEY + SALT_KEY

• Clave RC4 de comunicación a partir de la AES anterior.

Vector de inicialización modificado con SALT_KEY

Page 53: Zeus-R-uS

*

// KINS05

Variantes

Post-Leak

Page 54: Zeus-R-uS

KINS (I)

• Arquitectura de KINS construida sobre un fichero principal y

DLLs como plugins

• Compatible con el formato de inyecciones de ZeuS

• Plugin Anti-Rapport

• Funciona con RDP

• No requiere conocimientos técnicos

• Los usuarios de países USSR no se infectarán

• Anti-tracking system

• Spread vía exploit-kits populares como Neutrino

• Posibilidad de bootkit

• Anti-VM

• Compatible con Win8 y x64

Page 55: Zeus-R-uS

KINS (II)

• https://blogs.rsa.com/is-cybercrime-ready-to-crown-a-

new-kins-inth3wild/

• http://securityblog.s21sec.com/2013/05/testing-your-

zeus-variant.html

Page 56: Zeus-R-uS

KINS (III)

• http://blog.fox-it.com/2013/07/25/analysis-of-the-kins-

malware/

Page 57: Zeus-R-uS

KINS (IV)

• Panel de control:

Page 58: Zeus-R-uS

*

// PowerZeuS06

Variantes

Post-Leak

Page 59: Zeus-R-uS

Power ZeuS (I)

• http://www.xylibox.com/2013/09/having-look-on-kins-

toolkit.html

Page 60: Zeus-R-uS

Power ZeuS (II)

• Modular

• El dropper está basado en Power Loader

• ZeuS como DLL opcional

• Clave RC4 fuera de la static config

– Contenida en la seccion data1 del binario

– XOReada con una clave fija de 4 bytes

– SIN Máquina Virtual

Page 61: Zeus-R-uS

Power ZeuS (III)

• Panel de control

Page 62: Zeus-R-uS

*

// Skynet07

Variantes

Post-Leak

Page 63: Zeus-R-uS

Skynet

• http://www.reddit.com/r/IAmA/comments/sq7cy/iama_a_malware_coder_and_botnet_operator_ama/

• Instala cliente de Tor (gordo):

• Capacidad de DDoS y bitcoin minning

• RC4 estándar

• Dominios .onion y clave privada en: C:\Documents and Settings\<User>\Application Data\tor\hidden_service

Page 64: Zeus-R-uS

*

// ZeuS SSL08

Variantes

Post-Leak

Page 65: Zeus-R-uS

ZeuS SSL

• Comunicación:

• RC4 modificado:

Page 66: Zeus-R-uS

*

// ZeuS 4.3.3.309

Variantes

Post-Leak

Page 67: Zeus-R-uS

ZeuS 4.3.3.3

• Muy similar a ICE-IX

• Misma comunicación:

• Vuelta al RC4 estándar

Page 68: Zeus-R-uS

*

// ZeuS Tasks10

Variantes

Post-Leak

Page 69: Zeus-R-uS

ZeuS Tasks (I)

• Dos procesos, tarea y servicio:

• Config no XOReada y URLs sin config path:

• Cifrado RC4 estándar

Page 71: Zeus-R-uS

// ÍNDICE

* Antecedentes

Timeline

Características principales

Variantes Pre-Leak

Variantes Post-Leak

Comparativa

Conclusiones

Page 72: Zeus-R-uS

Comparativa (I)

Page 73: Zeus-R-uS

Comparativa (II)

Page 74: Zeus-R-uS

// ÍNDICE

* Antecedentes

Timeline

Características principales

Variantes Pre-Leak

Variantes Post-Leak

Comparativa

Conclusiones

Page 75: Zeus-R-uS

Conclusión

• Carberp? NOooOooOoO

Page 76: Zeus-R-uS

GRACIAS

www.s21sec.com

SPAIN MEXICO BRASIL UK USA

Santiago VicenteS21sec e-crime [email protected]://blog.s21sec.comTwitter: @smvicente