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

Zeus-R-Us

Embed Size (px)

Citation preview

Page 1: Zeus-R-Us

Zeus·Я·uS

Autor: Santiago VicenteFecha: 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

* AntecedentesHistoriaFiltración

TimelineCaracterísticas principalesVariantes Pre-LeakVariantes Post-LeakComparativaConclusiones

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.exebootlist32.exeuserinit32.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

* AntecedentesTimelineCaracterísticas principalesVariantes Pre-Leak

ZeuS 1.4ZeuS CryptlessLicat (Murofet)ZeuS ProcessPlugin SpyEye

Variantes Post-LeakComparativaConclusiones

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 2c:\windows\host32.exec:\windows\jh87uhnoe3\ewf32.nlsc:\windows\jh87uhnoe3\ewfrvbb.nls

c:\windows\svhost32.exec:\windows\efee3f32f\brrve.nlsc:\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

* AntecedentesTimelineCaracterísticas principalesVariantes Pre-LeakVariantes Post-Leak

ICE-IXZeuS 2.3.2.0RamnitCitadelKINSPower ZeuSSkynetZeuS SSLZeuS 4.3.3.3ZeuS Tasks

ComparativaConclusiones

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 70: Zeus-R-Us

ZeuS Tasks (II)

• Clave pseudo-aleatoria en cada comunicación (Mersenne + tiempo):

• Comandos recibidos (Click Fraud):

• Misma muestra que https://blogs.rsa.com/new-zbot-variant-builds-instagram-army/ ?

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

GRACIASwww.s21sec.com

SPAIN MEXICO BRASIL UK USA

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