Zeus·Я·uS
Autor: Santiago Vicente
Fecha: Septiembre 2013
La información contenida en este documento es propiedad intelectual de S21sec. Cualquier modificación o
utilización total ...
¿De qué vamos a hablar?
¿Cuál es el objetivo?
• Hacer un recorrido por la historia de ZeuS
• Estudiar las bases sobre las que se asienta
• Compara...
// ÍNDICE
* Antecedentes
Timeline
Características principales
Variantes Pre-Leak
Variantes Post-Leak
Comparativa
Conclusio...
// ÍNDICE
* Antecedentes
Historia
Filtración
Timeline
Características principales
Variantes Pre-Leak
Variantes Post-Leak
C...
*
// Historia01
Antecedentes
Historia (I)
• Descubierto por Secure Science Corporation y Sunbelt
Software en Octubre de 2006
• Empezó siendo un colecto...
Historia (II)
• Relativa poca evolución hasta 2009 en el que aparece la
versión 1.3
– Destacando la novedad de mantener el...
Historia (III)
• En septiembre de 2010 S21sec descubre el primer
ataque contra el segundo factor de autenticación basado
e...
*
// Filtración02
Antecedentes
Filtración
• Octubre 2010: Licat (Pre-Murofet). Variante previa al Leak
• Finales de 2010: Slavik/Monstr supuestamente ced...
// ÍNDICE
* Antecedentes
Timeline
Características principales
Variantes Pre-Leak
Variantes Post-Leak
Comparativa
Conclusio...
Timeline
// ÍNDICE
* Antecedentes
Timeline
Características principales
ZeuS 1.X
ZeuS 2.X
Variantes Pre-Leak
Variantes Post-Leak
Com...
*
// ZeuS 1.X01
Características
principales
ZeuS 1.X (I)
• Funcionalidades:
– Panel de control PHP
– Actualización configuración
– Actualización del binario
– /etc/ho...
ZeuS 1.X (II)
ZeuS 1.X (III)
Ejecutable Config & Data Mutex / Pipe Versión Cifrado
ntos.exe wsnpoemvideo.dll
wsnpoemaudio.dll
_SYSTEM_64...
*
// ZeuS 2.X02
Características
principales
ZeuS 2.X (I)
• Soporte para Windows Vista y 7
• Soporte para otros navegadores como Firefox
• Soporte de múltiples infecci...
ZeuS 2.X (II)
• Static config
– Clave RC4
– URLs iniciales
• Dos claves de cifrado RC4
– Config descargada/comunicación
– ...
ZeuS 2.X (III)
• Datos únicos de la máquina
• Estructura de los extra datos:
• Cifrados con RC4
• Actualización a traves d...
// ÍNDICE
* Antecedentes
Timeline
Características principales
Variantes Pre-Leak
ZeuS 1.4
ZeuS Cryptless
Licat (Murofet)
Z...
*
// ZeuS 1.401
Variantes
Pre-Leak
ZeuS 1.4
• Cambio en la rutina RC4:
• Cambio en el proceso a inyectarse:
Variante 1 Variante 2
c:windowshost32.exe
c:windo...
*
// ZeuS Cryptless02
Variantes
Pre-Leak
ZeuS Cryptless
• Sin cifrado de strings
*
// Licat/Murofet03
Variantes
Pre-Leak
• Un único gang . Compra del código fuente? Slavik?
• Domain Generation Algorithm (DGA)
• Config cifrada con RC4 sin capa ...
• P2P network + DGA
• CERT Polska schemes:
Licat/Murofet (II)
• Firma de recursos
• Cambio en el algoritmo de compresión
• DDoS y HTTP vía P2P como Proxy
Licat/Murofet (III)
*
// ZeuS Tasks04
Variantes
Pre-Leak
ZeuS Process (I)
• Static config
ZeuS Process (II)
• Correción:
*
// Plugin SpyEye05
Variantes
Pre-Leak
Plugin SpyEye
• Cesión del código de ZeuS a Gribodemon/Monstr?
• Materializado en plugins de Spyeye
// ÍNDICE
* Antecedentes
Timeline
Características principales
Variantes Pre-Leak
Variantes Post-Leak
ICE-IX
ZeuS 2.3.2.0
R...
*
// ICE-IX01
Variantes
Post-Leak
ICE-IX (I)
• Primera variante anunciada en foros underground
• 1600$ con soporte a largo plazo
• Algunas caractrístcas anu...
ICE-IX (II)
• Anti-Tracking system:
• RC4 modificado:
*
// ZeuS 2.3.2.002
Variantes
Post-Leak
ZeuS 2.3.2.0
• Modificación en el algoritmo de cifrado que pasa a ser
AES –Rijndael-
*
// Ramnit03
Variantes
Post-Leak
Ramnit (I)
• Malware híbrido con características tanto de troyano
como de virus
• Detectado a principios de 2010, incorpor...
Ramnit (II)
• Ultimamente se ha visto afectando a STEAM:
*
// Citadel04
Variantes
Post-Leak
Citadel (I)
Citadel (II)
• Clave RC4. Algoritmo estándar
• Clave AES para la configuración a partir de la RC4
• Clave RC4 de comunicac...
Citadel 1.3.4.5
• Clave RC4. Algoritmo modificado usando LOGIN_KEY
• Clave AES a partir de la RC4
• Clave RC4 de comunicac...
Citadel 1.3.5.1
• Clave RC4. Algoritmo modificado usando LOGIN_KEY
• Clave AES a partir de la RC4. Algoritmo AES modificad...
Citadel 3.1.0.0
• Clave RC4. Algoritmo modificado usando LOGIN_KEY
• Clave AES a partir de la RC4. Algoritmo AES modificad...
*
// KINS05
Variantes
Post-Leak
KINS (I)
• Arquitectura de KINS construida sobre un fichero principal y
DLLs como plugins
• Compatible con el formato de i...
KINS (II)
• https://blogs.rsa.com/is-cybercrime-ready-to-crown-a-
new-kins-inth3wild/
• http://securityblog.s21sec.com/201...
KINS (III)
• http://blog.fox-it.com/2013/07/25/analysis-of-the-kins-
malware/
KINS (IV)
• Panel de control:
*
// PowerZeuS06
Variantes
Post-Leak
Power ZeuS (I)
• http://www.xylibox.com/2013/09/having-look-on-kins-
toolkit.html
Power ZeuS (II)
• Modular
• El dropper está basado en Power Loader
• ZeuS como DLL opcional
• Clave RC4 fuera de la static...
Power ZeuS (III)
• Panel de control
*
// Skynet07
Variantes
Post-Leak
Skynet
• http://www.reddit.com/r/IAmA/comments/sq7cy/iama_a_malw
are_coder_and_botnet_operator_ama/
• Instala cliente de T...
*
// ZeuS SSL08
Variantes
Post-Leak
ZeuS SSL
• Comunicación:
• RC4 modificado:
*
// ZeuS 4.3.3.309
Variantes
Post-Leak
ZeuS 4.3.3.3
• Muy similar a ICE-IX
• Misma comunicación:
• Vuelta al RC4 estándar
*
// ZeuS Tasks10
Variantes
Post-Leak
ZeuS Tasks (I)
• Dos procesos, tarea y servicio:
• Config no XOReada y URLs sin config path:
• Cifrado RC4 estándar
ZeuS Tasks (II)
• Clave pseudo-aleatoria en cada comunicación
(Mersenne + tiempo):
• Comandos recibidos (Click Fraud):
• M...
// ÍNDICE
* Antecedentes
Timeline
Características principales
Variantes Pre-Leak
Variantes Post-Leak
Comparativa
Conclusio...
Comparativa (I)
Comparativa (II)
// ÍNDICE
* Antecedentes
Timeline
Características principales
Variantes Pre-Leak
Variantes Post-Leak
Comparativa
Conclusio...
Conclusión
• Carberp? NOooOooOoO
GRACIAS
www.s21sec.com
SPAIN MEXICO BRASIL UK USA
Santiago Vicente
S21sec e-crime Analyst
svicente@s21sec.com
http://blog....
Upcoming SlideShare
Loading in …5
×

Zeus-R-uS

1,142 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,142
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Zeus-R-uS

  1. 1. Zeus·Я·uS Autor: Santiago Vicente Fecha: Septiembre 2013
  2. 2. 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.
  3. 3. ¿De qué vamos a hablar?
  4. 4. ¿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
  5. 5. // ÍNDICE * Antecedentes Timeline Características principales Variantes Pre-Leak Variantes Post-Leak Comparativa Conclusiones
  6. 6. // ÍNDICE * Antecedentes Historia Filtración Timeline Características principales Variantes Pre-Leak Variantes Post-Leak Comparativa Conclusiones
  7. 7. * // Historia01 Antecedentes
  8. 8. 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”
  9. 9. 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
  10. 10. 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
  11. 11. * // Filtración02 Antecedentes
  12. 12. 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
  13. 13. // ÍNDICE * Antecedentes Timeline Características principales Variantes Pre-Leak Variantes Post-Leak Comparativa Conclusiones
  14. 14. Timeline
  15. 15. // ÍNDICE * Antecedentes Timeline Características principales ZeuS 1.X ZeuS 2.X Variantes Pre-Leak Variantes Post-Leak Comparativa Conclusiones
  16. 16. * // ZeuS 1.X01 Características principales
  17. 17. 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
  18. 18. ZeuS 1.X (II)
  19. 19. ZeuS 1.X (III) Ejecutable Config & Data Mutex / Pipe Versión Cifrado ntos.exe wsnpoemvideo.dll wsnpoemaudio.dll _SYSTEM_64AD0625_ 1.0.x.x Simple oembios.exe sysproc64sysproc86.sys sysproc64sysproc32.sys _SYSTEM_64AD0625_ 1.1.x.x Simple twext.exe twainlocal.ds twainuser.ds _SYSTEM_64AD0625_ 1.1.x.x Simple twex.exe twainlocal.ds twainuser.ds _H_64AD0625_ 1.2.x.x RC4 sdra64.exe bootlist32.exe userinit32.exe mac32cbt.lc mac32cc.lc lowseclocal.ds lowsecuser.ds zad32andboot.pop yad32andcodec.dll _AVIRA_2109_ _LILO_19099_ 1.2.x.x RC4 bootwindows.exe skype32win32post.dll skype32win64post.dll _SOSI_19099_ 1.3.x.x RC4
  20. 20. * // ZeuS 2.X02 Características principales
  21. 21. 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
  22. 22. ZeuS 2.X (II) • Static config – Clave RC4 – URLs iniciales • Dos claves de cifrado RC4 – Config descargada/comunicación – Config en registro (Autogenerada)
  23. 23. ZeuS 2.X (III) • Datos únicos de la máquina • Estructura de los extra datos: • Cifrados con RC4 • Actualización a traves de GET
  24. 24. // Í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
  25. 25. * // ZeuS 1.401 Variantes Pre-Leak
  26. 26. ZeuS 1.4 • Cambio en la rutina RC4: • Cambio en el proceso a inyectarse: Variante 1 Variante 2 c:windowshost32.exe c:windowsjh87uhnoe3ewf32.nls c:windowsjh87uhnoe3ewfrvbb.nls c:windowssvhost32.exe c:windowsefee3f32fbrrve.nls c:windowsefee3f32fwrfsf.nls
  27. 27. * // ZeuS Cryptless02 Variantes Pre-Leak
  28. 28. ZeuS Cryptless • Sin cifrado de strings
  29. 29. * // Licat/Murofet03 Variantes Pre-Leak
  30. 30. • 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)
  31. 31. • P2P network + DGA • CERT Polska schemes: Licat/Murofet (II)
  32. 32. • Firma de recursos • Cambio en el algoritmo de compresión • DDoS y HTTP vía P2P como Proxy Licat/Murofet (III)
  33. 33. * // ZeuS Tasks04 Variantes Pre-Leak
  34. 34. ZeuS Process (I) • Static config
  35. 35. ZeuS Process (II) • Correción:
  36. 36. * // Plugin SpyEye05 Variantes Pre-Leak
  37. 37. Plugin SpyEye • Cesión del código de ZeuS a Gribodemon/Monstr? • Materializado en plugins de Spyeye
  38. 38. // Í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
  39. 39. * // ICE-IX01 Variantes Post-Leak
  40. 40. 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.
  41. 41. ICE-IX (II) • Anti-Tracking system: • RC4 modificado:
  42. 42. * // ZeuS 2.3.2.002 Variantes Post-Leak
  43. 43. ZeuS 2.3.2.0 • Modificación en el algoritmo de cifrado que pasa a ser AES –Rijndael-
  44. 44. * // Ramnit03 Variantes Post-Leak
  45. 45. 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.
  46. 46. Ramnit (II) • Ultimamente se ha visto afectando a STEAM:
  47. 47. * // Citadel04 Variantes Post-Leak
  48. 48. Citadel (I)
  49. 49. 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
  50. 50. 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
  51. 51. 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
  52. 52. 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
  53. 53. * // KINS05 Variantes Post-Leak
  54. 54. 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
  55. 55. 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
  56. 56. KINS (III) • http://blog.fox-it.com/2013/07/25/analysis-of-the-kins- malware/
  57. 57. KINS (IV) • Panel de control:
  58. 58. * // PowerZeuS06 Variantes Post-Leak
  59. 59. Power ZeuS (I) • http://www.xylibox.com/2013/09/having-look-on-kins- toolkit.html
  60. 60. 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
  61. 61. Power ZeuS (III) • Panel de control
  62. 62. * // Skynet07 Variantes Post-Leak
  63. 63. Skynet • http://www.reddit.com/r/IAmA/comments/sq7cy/iama_a_malw are_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 Datatorhidden_service
  64. 64. * // ZeuS SSL08 Variantes Post-Leak
  65. 65. ZeuS SSL • Comunicación: • RC4 modificado:
  66. 66. * // ZeuS 4.3.3.309 Variantes Post-Leak
  67. 67. ZeuS 4.3.3.3 • Muy similar a ICE-IX • Misma comunicación: • Vuelta al RC4 estándar
  68. 68. * // ZeuS Tasks10 Variantes Post-Leak
  69. 69. ZeuS Tasks (I) • Dos procesos, tarea y servicio: • Config no XOReada y URLs sin config path: • Cifrado RC4 estándar
  70. 70. 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/ ?
  71. 71. // ÍNDICE * Antecedentes Timeline Características principales Variantes Pre-Leak Variantes Post-Leak Comparativa Conclusiones
  72. 72. Comparativa (I)
  73. 73. Comparativa (II)
  74. 74. // ÍNDICE * Antecedentes Timeline Características principales Variantes Pre-Leak Variantes Post-Leak Comparativa Conclusiones
  75. 75. Conclusión • Carberp? NOooOooOoO
  76. 76. GRACIAS www.s21sec.com SPAIN MEXICO BRASIL UK USA Santiago Vicente S21sec e-crime Analyst svicente@s21sec.com http://blog.s21sec.com Twitter: @smvicente

×