SlideShare una empresa de Scribd logo
1 de 57
Descargar para leer sin conexión
Authenticode para Malotes
Ramón Pinuaga
1
Presentación
• Pentester y analista de seguridad en Prosegur
Ciber.
• Especializado en técnicas de hacking y
seguridad ofensiva.
• Últimamente me ha dado por la seguridad de
los sistemas Windows.
2
¿De qué va la charla?
• Que es Authenticode y otras tecnologías
relacionadas.
• Para que sirven y que debilidades tienen.
• Cómo aprovecharnos de estas características
para hacer cosas malas.
3
¿Conocéis Authenticode?
4
¿Por qué?
• Epidemia de Ransomware.
• Cada vez más proyectos de Phishing dirigido.
• Las corporaciones son muy vulnerables.
5
Consultores malotes (aka pentesters) listos para abusar
de las características de Authenticode
6
¿Qué es Authenticode?
• Mecanismo de firma de código desarrollado
por Microsoft.
• Permite comprobar la autenticidad y la
integridad de algunos tipos de ficheros.
7
Firmas digitales
8
¿Para qué se utiliza?
• Verificar la identidad de un editor de software.
(p.e. para generar confianza al descargar un
ejecutable: reputación SmartScreen)
• Identificar los ejecutables emitidos por un
editor (p.e. para establecer una protección
basada en lista blanca).
• Garantizar que un ejecutable no ha sido
manipulado.
9
Confianza
VS
10
¿Y si les damos la vuelta?
• Burlar SmartScreen usando un ejecutable de
firmado.
• Burlar protecciones basadas en lista blanca
utilizando ejecutables de editores legítimos.
• Añadir un beacon a un fichero sin invalidar su
firma.
11
Introducción a SmartScreen
• Mecanismo de seguridad que alerta cuando
una descarga puede ser peligrosa.
• Configurado por defecto en IE >= 8 y en
Windows >= 8.
• Se basa en un sistema de reputación (online)
proporcionado por Microsoft.
• Reputación por binario (según hash) o por
editor (según firma).
12
¡Alerta!
13
Comunicación
14
¿Burlar SmartScreen?
• Para campañas de infección mediante ataques
de phishing o drive-by.
• Ejecutables no conformes con SmartScreen
generan desconfianza y ratio de infección
menor.
15
¿DoS?
16
¿Cómo?
• Comprando un certificado.
• Robando un certificado.
• Modificando un binario confiable ya firmado.
• Otros: Colisión de hashes.
17
Empecemos por lo fácil
18
Compra!
19
Comprando un certificado
• Podemos utilizar certificados auto-firmados,
pero no valen para generar reputación.
• Precio aprox. 180€ (90€ con revendedores).
• Proceso de validación poco estricto (existen
certificados EV).
• Mejora reputación pero no garantiza
conformidad de SmartScreen.
20
Pide “prestado”
21
Robando un certificado
• Técnica habitual en ataques APT y malware
avanzado.
• ¿Hacking?
– No siempre.
• Editores descuidados dejan sus llaves de firma
por ahí:
– Github.
– Google.
– Dentro de las Apps/Appliances.
– Leaks.
22
Private keys everywhere!
23
Hacking a lo barato
24
Vamos a ponernos serios
25
Referencias
• Didier Stevens: https://blog.didierstevens.com/
• Injecting custom payload into signed Windows
executables (glucksmann):
https://recon.cx/2012/schedule/events/246.en.html
• Compromising the Windows Enterprise via Windows
Update (contextis):
https://www.contextis.com/news/new-paper-released-
compromising-windows-enterprise/
• Certified Canarytokens (thinkst):
http://blog.thinkst.com/2016/05/certified-
canarytokens-alerts-from_25.html
26
Modificando un binario confiable
• ¿Podemos hacerlo sin invalidar la firma?
• Solo ciertas partes.
• Solo en casos muy contados podemos
conseguir inyectar código funcional.
27
Firma Authenticode de un PE
28
Simplificando
29
¿Cómo modificar un binario sin
invalidar su firma?
• Añadiendo datos al final del PE después de la
firma (padding).
– ¿Parcheado? ¿MS12-024, MS13-098?.
– NO: EnableCertPaddingCheck no forzado por defecto.
• Anexando datos al final del fichero (fuera del PE).
• Añadiendo datos dentro de la propia tabla de
certificados (p.e. certificados dummy).
• Colisión de hashes.
30
Colisiones
• La firma Authenticode se basa en un hash de
la zona firmada.
• Firma valida si mantenemos el mismo hash.
• Algoritmos soportados: MD5, SHA1, SHA256.
• MD5 y SHA1 están siendo retirados.
• Pero siguen siendo aceptados en muchas
situaciones (aunque roadmap de M$ muy
confuso).
31
Criptografía
32
¿MD5?
33
Deberes
34
DEMO
• Verificar firma de un EXE.
• Verificar firma de un VBS.
• Firmas MD5 válidas y no hacen saltar
SmartScreen.
35
Inyección de código
36
37
Problema
• Las partes donde podemos inyectar son muy
limitadas.
• En la presentación de Blackhat utilizan un
loader externo para lanzar el código
inyectado.
• No podemos ejecutar el código inyectado.
• Bueno, a veces SI!
38
Inyección de código
• Algunos editores usan trucos para evitar tener
que firmar cada nuevo instalador.
• Añaden código en la parte no firmada.
• El código no firmado, puede ser manipulado.
• Búsqueda de binarios vulnerables.
– Con payload fuera de la zona firmada.
– Con payload que se carga de forma insegura.
• Desde la red.
• Dentro del propio binario y extraído, pero podemos engañar
al extractor.
39
Datos fuera de la zona firmada
Herramienta AnalyzePESig:
40
Datos fuera de la zona firmada
41
DEMO
• Ver distintos tipos de contenidos vulnerables:
– URLs de descarga.
– ZIPs adjuntos.
– Menús de instalación.
• Modificación de instalador de Winzip para que
instale un MSI malicioso.
42
¿Qué más podemos hacer?
43
Bypass de listas blancas
• Herramientas que impiden la ejecución de
código “no confiable”.
• Configuración típica por: ruta segura, hash
conocido, editor de confianza.
• Los binarios firmados por ciertos editores de
confianza suelen ser permitidos a menudo
(p.e. Microsoft, Adobe, Intel).
44
Software Restriction Policies
45
Binarios multiuso
• Psexec.exe
• Cdb.exe
• Msbuild.exe
• Bginfo.exe
• InstallUtil.exe
46
DEMO
• Ejecución de código Powershell desde
Msbuild.
• Ejecución de un VBS dentro de una carpeta
protegida por SRP.
47
Powershell dentro de Msbuild
48
Suplantación de updates
• Resumen: Reutilizar software legitimo firmado
por editores de confianza con fines maliciosos.
• También puede servir para burlar mecanismos
de validación de updates.
• P.E: Técnica presentada por Contexis para
suplantar updates distribuidos mediante
WSUS cuando se utiliza HTTP.
49
Hijack de WSUS
50
Ya queda poco
51
Authenticode Beacons
• Al verificar una firma Authenticode Windows
valida el certificado, lo que puede requerir la
llamada a URLs externas.
• Podemos usar esto como beacon.
• Concepto: HoneyDocs, HoneyTags.
• CanaryTokens.
52
Mucho más que EXEs
• Binarios PE: .EXE, .DLL, .COM, .OCX, .SCR, .CPL
• Drivers: .SYS, .VXD
• Colecciones: .CAT, .CTL
• Contenedores: .CAB, .MSI, .MSP, .MSM
• Scripts: .VBS, .JS, .VBE, .JSE, .WSH
• Powershell: .PS1, .PSM1, .PS1XML
• Aplicaciones ClickOnce: .APPLICATION
53
Añadiendo una firma
54
DEMO
• Añadir una firma adicional a un binario
legítimo.
• Comprobar como la ejecución del binario
genera un beacon.
55
Conclusiones
• Authenticode es una herramienta que nos
permite controlar ciertos aspectos críticos de
la seguridad de los ejecutables de un equipo.
• Sus múltiples funcionalidades son muy
positivas de cara a la gestión de la seguridad.
• Pero OJO! tiene debilidades y estas pueden
ser aprovechadas por usuarios maliciosos.
56
Muchas gracias!
https://twitter.com/rpinuaga
57

Más contenido relacionado

Similar a Authenticode para malotes

Cibercrimen Fraude Y Malware Mikel Gastesi
Cibercrimen   Fraude Y Malware   Mikel GastesiCibercrimen   Fraude Y Malware   Mikel Gastesi
Cibercrimen Fraude Y Malware Mikel GastesiChema Alonso
 
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...VOIP2DAY
 
Alternativas de Autentificación por dos Factores en Portales Web
Alternativas de Autentificación por dos Factores en Portales WebAlternativas de Autentificación por dos Factores en Portales Web
Alternativas de Autentificación por dos Factores en Portales WebAndres Gallo
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...RootedCON
 
Internet de las cosas
Internet de las cosasInternet de las cosas
Internet de las cosastico2llorente
 
Internet de las cosas
Internet de las cosasInternet de las cosas
Internet de las cosastico2llorente
 
Construyendo tu propio laboratorio de pentesting
Construyendo tu propio laboratorio de pentestingConstruyendo tu propio laboratorio de pentesting
Construyendo tu propio laboratorio de pentestingJaime Andrés Bello Vieda
 
Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]
Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]
Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]RootedCON
 
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Javier García Antón
 
Wordpress hardening (Campus Party Mexico 4)
Wordpress hardening (Campus Party Mexico 4)Wordpress hardening (Campus Party Mexico 4)
Wordpress hardening (Campus Party Mexico 4)hecky NeobitsOrg
 
Summer boot camp sciende umh
Summer boot camp sciende umhSummer boot camp sciende umh
Summer boot camp sciende umhAlejandro Quesada
 
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]RootedCON
 
Infraestructura PKI
Infraestructura PKIInfraestructura PKI
Infraestructura PKIdsantosc
 
Infraestructura de clave pública con Software Libre
Infraestructura de clave pública con Software LibreInfraestructura de clave pública con Software Libre
Infraestructura de clave pública con Software LibreToni de la Fuente
 

Similar a Authenticode para malotes (20)

Cibercrimen Fraude Y Malware Mikel Gastesi
Cibercrimen   Fraude Y Malware   Mikel GastesiCibercrimen   Fraude Y Malware   Mikel Gastesi
Cibercrimen Fraude Y Malware Mikel Gastesi
 
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
 
Alternativas de Autentificación por dos Factores en Portales Web
Alternativas de Autentificación por dos Factores en Portales WebAlternativas de Autentificación por dos Factores en Portales Web
Alternativas de Autentificación por dos Factores en Portales Web
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
 
Internet de las cosas
Internet de las cosasInternet de las cosas
Internet de las cosas
 
Internet de las cosas
Internet de las cosasInternet de las cosas
Internet de las cosas
 
Construyendo tu propio laboratorio de pentesting
Construyendo tu propio laboratorio de pentestingConstruyendo tu propio laboratorio de pentesting
Construyendo tu propio laboratorio de pentesting
 
Drivers
DriversDrivers
Drivers
 
Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]
Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]
Yago Jesús - Applied Cryptography FAILs [RootedCON 2012]
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
 
Wordpress hardening (Campus Party Mexico 4)
Wordpress hardening (Campus Party Mexico 4)Wordpress hardening (Campus Party Mexico 4)
Wordpress hardening (Campus Party Mexico 4)
 
Summer boot camp sciende umh
Summer boot camp sciende umhSummer boot camp sciende umh
Summer boot camp sciende umh
 
Sicsti hacking
Sicsti hackingSicsti hacking
Sicsti hacking
 
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
 
BSides Panama 2022
BSides Panama 2022BSides Panama 2022
BSides Panama 2022
 
Infraestructura PKI
Infraestructura PKIInfraestructura PKI
Infraestructura PKI
 
Tecnicas avanzadas de ocultamiento de malware
Tecnicas avanzadas de ocultamiento de malwareTecnicas avanzadas de ocultamiento de malware
Tecnicas avanzadas de ocultamiento de malware
 
Infraestructura de clave pública con Software Libre
Infraestructura de clave pública con Software LibreInfraestructura de clave pública con Software Libre
Infraestructura de clave pública con Software Libre
 

Último

Cuadro comparativo WEB 1 WEB 2 WEB 3 Samuel Mayor 10-1.pptx
Cuadro comparativo WEB 1 WEB 2 WEB 3 Samuel Mayor 10-1.pptxCuadro comparativo WEB 1 WEB 2 WEB 3 Samuel Mayor 10-1.pptx
Cuadro comparativo WEB 1 WEB 2 WEB 3 Samuel Mayor 10-1.pptxmayorsamuel959
 
Herramientas tecnológicas para los abogados.pptx
Herramientas tecnológicas para los abogados.pptxHerramientas tecnológicas para los abogados.pptx
Herramientas tecnológicas para los abogados.pptxCarolina Linares
 
Presentación Legaltech Forum 2024 - Federico Ast
Presentación Legaltech Forum 2024 - Federico AstPresentación Legaltech Forum 2024 - Federico Ast
Presentación Legaltech Forum 2024 - Federico AstFederico Ast
 
PLATAFORMAS SOCIALES.pdf- mundos digitales
PLATAFORMAS SOCIALES.pdf- mundos digitalesPLATAFORMAS SOCIALES.pdf- mundos digitales
PLATAFORMAS SOCIALES.pdf- mundos digitalesJolettVictoriano
 
las tic en la vida cotidiana, y como influyen en nosotros
las tic en la vida cotidiana, y como influyen en nosotroslas tic en la vida cotidiana, y como influyen en nosotros
las tic en la vida cotidiana, y como influyen en nosotrosAxel Melendez
 
PLAN DE ESTUDIOS UPSJB ENFERMERIA2024.pdf
PLAN DE ESTUDIOS UPSJB ENFERMERIA2024.pdfPLAN DE ESTUDIOS UPSJB ENFERMERIA2024.pdf
PLAN DE ESTUDIOS UPSJB ENFERMERIA2024.pdfalprazobad
 
Las_Redes_sociales.metodos_de_muestreo.pptx
Las_Redes_sociales.metodos_de_muestreo.pptxLas_Redes_sociales.metodos_de_muestreo.pptx
Las_Redes_sociales.metodos_de_muestreo.pptxLeoOspina3
 
web 1.0 hasta la actualidad y futuro con ia
web 1.0 hasta la actualidad y futuro con iaweb 1.0 hasta la actualidad y futuro con ia
web 1.0 hasta la actualidad y futuro con iacristiansantiago583c
 
Tecnología 2024 11-2 .pdf..............
Tecnología 2024  11-2 .pdf..............Tecnología 2024  11-2 .pdf..............
Tecnología 2024 11-2 .pdf..............edepsantiagomoreno
 
Cuadro comparativo acerca de Wiki vs Blog
Cuadro comparativo acerca de Wiki vs BlogCuadro comparativo acerca de Wiki vs Blog
Cuadro comparativo acerca de Wiki vs Blogmartinez012tm
 
Haz tu página web y conquista el Gran Line Digital
Haz tu página web y conquista el Gran Line DigitalHaz tu página web y conquista el Gran Line Digital
Haz tu página web y conquista el Gran Line DigitalJoshua Díaz Robayna
 

Último (11)

Cuadro comparativo WEB 1 WEB 2 WEB 3 Samuel Mayor 10-1.pptx
Cuadro comparativo WEB 1 WEB 2 WEB 3 Samuel Mayor 10-1.pptxCuadro comparativo WEB 1 WEB 2 WEB 3 Samuel Mayor 10-1.pptx
Cuadro comparativo WEB 1 WEB 2 WEB 3 Samuel Mayor 10-1.pptx
 
Herramientas tecnológicas para los abogados.pptx
Herramientas tecnológicas para los abogados.pptxHerramientas tecnológicas para los abogados.pptx
Herramientas tecnológicas para los abogados.pptx
 
Presentación Legaltech Forum 2024 - Federico Ast
Presentación Legaltech Forum 2024 - Federico AstPresentación Legaltech Forum 2024 - Federico Ast
Presentación Legaltech Forum 2024 - Federico Ast
 
PLATAFORMAS SOCIALES.pdf- mundos digitales
PLATAFORMAS SOCIALES.pdf- mundos digitalesPLATAFORMAS SOCIALES.pdf- mundos digitales
PLATAFORMAS SOCIALES.pdf- mundos digitales
 
las tic en la vida cotidiana, y como influyen en nosotros
las tic en la vida cotidiana, y como influyen en nosotroslas tic en la vida cotidiana, y como influyen en nosotros
las tic en la vida cotidiana, y como influyen en nosotros
 
PLAN DE ESTUDIOS UPSJB ENFERMERIA2024.pdf
PLAN DE ESTUDIOS UPSJB ENFERMERIA2024.pdfPLAN DE ESTUDIOS UPSJB ENFERMERIA2024.pdf
PLAN DE ESTUDIOS UPSJB ENFERMERIA2024.pdf
 
Las_Redes_sociales.metodos_de_muestreo.pptx
Las_Redes_sociales.metodos_de_muestreo.pptxLas_Redes_sociales.metodos_de_muestreo.pptx
Las_Redes_sociales.metodos_de_muestreo.pptx
 
web 1.0 hasta la actualidad y futuro con ia
web 1.0 hasta la actualidad y futuro con iaweb 1.0 hasta la actualidad y futuro con ia
web 1.0 hasta la actualidad y futuro con ia
 
Tecnología 2024 11-2 .pdf..............
Tecnología 2024  11-2 .pdf..............Tecnología 2024  11-2 .pdf..............
Tecnología 2024 11-2 .pdf..............
 
Cuadro comparativo acerca de Wiki vs Blog
Cuadro comparativo acerca de Wiki vs BlogCuadro comparativo acerca de Wiki vs Blog
Cuadro comparativo acerca de Wiki vs Blog
 
Haz tu página web y conquista el Gran Line Digital
Haz tu página web y conquista el Gran Line DigitalHaz tu página web y conquista el Gran Line Digital
Haz tu página web y conquista el Gran Line Digital
 

Authenticode para malotes

  • 2. Presentación • Pentester y analista de seguridad en Prosegur Ciber. • Especializado en técnicas de hacking y seguridad ofensiva. • Últimamente me ha dado por la seguridad de los sistemas Windows. 2
  • 3. ¿De qué va la charla? • Que es Authenticode y otras tecnologías relacionadas. • Para que sirven y que debilidades tienen. • Cómo aprovecharnos de estas características para hacer cosas malas. 3
  • 5. ¿Por qué? • Epidemia de Ransomware. • Cada vez más proyectos de Phishing dirigido. • Las corporaciones son muy vulnerables. 5
  • 6. Consultores malotes (aka pentesters) listos para abusar de las características de Authenticode 6
  • 7. ¿Qué es Authenticode? • Mecanismo de firma de código desarrollado por Microsoft. • Permite comprobar la autenticidad y la integridad de algunos tipos de ficheros. 7
  • 9. ¿Para qué se utiliza? • Verificar la identidad de un editor de software. (p.e. para generar confianza al descargar un ejecutable: reputación SmartScreen) • Identificar los ejecutables emitidos por un editor (p.e. para establecer una protección basada en lista blanca). • Garantizar que un ejecutable no ha sido manipulado. 9
  • 11. ¿Y si les damos la vuelta? • Burlar SmartScreen usando un ejecutable de firmado. • Burlar protecciones basadas en lista blanca utilizando ejecutables de editores legítimos. • Añadir un beacon a un fichero sin invalidar su firma. 11
  • 12. Introducción a SmartScreen • Mecanismo de seguridad que alerta cuando una descarga puede ser peligrosa. • Configurado por defecto en IE >= 8 y en Windows >= 8. • Se basa en un sistema de reputación (online) proporcionado por Microsoft. • Reputación por binario (según hash) o por editor (según firma). 12
  • 15. ¿Burlar SmartScreen? • Para campañas de infección mediante ataques de phishing o drive-by. • Ejecutables no conformes con SmartScreen generan desconfianza y ratio de infección menor. 15
  • 17. ¿Cómo? • Comprando un certificado. • Robando un certificado. • Modificando un binario confiable ya firmado. • Otros: Colisión de hashes. 17
  • 18. Empecemos por lo fácil 18
  • 20. Comprando un certificado • Podemos utilizar certificados auto-firmados, pero no valen para generar reputación. • Precio aprox. 180€ (90€ con revendedores). • Proceso de validación poco estricto (existen certificados EV). • Mejora reputación pero no garantiza conformidad de SmartScreen. 20
  • 22. Robando un certificado • Técnica habitual en ataques APT y malware avanzado. • ¿Hacking? – No siempre. • Editores descuidados dejan sus llaves de firma por ahí: – Github. – Google. – Dentro de las Apps/Appliances. – Leaks. 22
  • 24. Hacking a lo barato 24
  • 25. Vamos a ponernos serios 25
  • 26. Referencias • Didier Stevens: https://blog.didierstevens.com/ • Injecting custom payload into signed Windows executables (glucksmann): https://recon.cx/2012/schedule/events/246.en.html • Compromising the Windows Enterprise via Windows Update (contextis): https://www.contextis.com/news/new-paper-released- compromising-windows-enterprise/ • Certified Canarytokens (thinkst): http://blog.thinkst.com/2016/05/certified- canarytokens-alerts-from_25.html 26
  • 27. Modificando un binario confiable • ¿Podemos hacerlo sin invalidar la firma? • Solo ciertas partes. • Solo en casos muy contados podemos conseguir inyectar código funcional. 27
  • 30. ¿Cómo modificar un binario sin invalidar su firma? • Añadiendo datos al final del PE después de la firma (padding). – ¿Parcheado? ¿MS12-024, MS13-098?. – NO: EnableCertPaddingCheck no forzado por defecto. • Anexando datos al final del fichero (fuera del PE). • Añadiendo datos dentro de la propia tabla de certificados (p.e. certificados dummy). • Colisión de hashes. 30
  • 31. Colisiones • La firma Authenticode se basa en un hash de la zona firmada. • Firma valida si mantenemos el mismo hash. • Algoritmos soportados: MD5, SHA1, SHA256. • MD5 y SHA1 están siendo retirados. • Pero siguen siendo aceptados en muchas situaciones (aunque roadmap de M$ muy confuso). 31
  • 35. DEMO • Verificar firma de un EXE. • Verificar firma de un VBS. • Firmas MD5 válidas y no hacen saltar SmartScreen. 35
  • 37. 37
  • 38. Problema • Las partes donde podemos inyectar son muy limitadas. • En la presentación de Blackhat utilizan un loader externo para lanzar el código inyectado. • No podemos ejecutar el código inyectado. • Bueno, a veces SI! 38
  • 39. Inyección de código • Algunos editores usan trucos para evitar tener que firmar cada nuevo instalador. • Añaden código en la parte no firmada. • El código no firmado, puede ser manipulado. • Búsqueda de binarios vulnerables. – Con payload fuera de la zona firmada. – Con payload que se carga de forma insegura. • Desde la red. • Dentro del propio binario y extraído, pero podemos engañar al extractor. 39
  • 40. Datos fuera de la zona firmada Herramienta AnalyzePESig: 40
  • 41. Datos fuera de la zona firmada 41
  • 42. DEMO • Ver distintos tipos de contenidos vulnerables: – URLs de descarga. – ZIPs adjuntos. – Menús de instalación. • Modificación de instalador de Winzip para que instale un MSI malicioso. 42
  • 43. ¿Qué más podemos hacer? 43
  • 44. Bypass de listas blancas • Herramientas que impiden la ejecución de código “no confiable”. • Configuración típica por: ruta segura, hash conocido, editor de confianza. • Los binarios firmados por ciertos editores de confianza suelen ser permitidos a menudo (p.e. Microsoft, Adobe, Intel). 44
  • 46. Binarios multiuso • Psexec.exe • Cdb.exe • Msbuild.exe • Bginfo.exe • InstallUtil.exe 46
  • 47. DEMO • Ejecución de código Powershell desde Msbuild. • Ejecución de un VBS dentro de una carpeta protegida por SRP. 47
  • 48. Powershell dentro de Msbuild 48
  • 49. Suplantación de updates • Resumen: Reutilizar software legitimo firmado por editores de confianza con fines maliciosos. • También puede servir para burlar mecanismos de validación de updates. • P.E: Técnica presentada por Contexis para suplantar updates distribuidos mediante WSUS cuando se utiliza HTTP. 49
  • 52. Authenticode Beacons • Al verificar una firma Authenticode Windows valida el certificado, lo que puede requerir la llamada a URLs externas. • Podemos usar esto como beacon. • Concepto: HoneyDocs, HoneyTags. • CanaryTokens. 52
  • 53. Mucho más que EXEs • Binarios PE: .EXE, .DLL, .COM, .OCX, .SCR, .CPL • Drivers: .SYS, .VXD • Colecciones: .CAT, .CTL • Contenedores: .CAB, .MSI, .MSP, .MSM • Scripts: .VBS, .JS, .VBE, .JSE, .WSH • Powershell: .PS1, .PSM1, .PS1XML • Aplicaciones ClickOnce: .APPLICATION 53
  • 55. DEMO • Añadir una firma adicional a un binario legítimo. • Comprobar como la ejecución del binario genera un beacon. 55
  • 56. Conclusiones • Authenticode es una herramienta que nos permite controlar ciertos aspectos críticos de la seguridad de los ejecutables de un equipo. • Sus múltiples funcionalidades son muy positivas de cara a la gestión de la seguridad. • Pero OJO! tiene debilidades y estas pueden ser aprovechadas por usuarios maliciosos. 56

Notas del editor

  1. PKCS7