martes, 11 de noviembre de 2014

EMET 5.1. Transformando "siguiente, siguiente, siguiente" en un proceso de seguridad empresarial.

En el capítulo de hoy de Inseguros vamos a hablar de una herramienta de seguridad gratuita de Microsoft llamada EMET, Enhanced Mitigation Experiencie Toolkit, recientemente actualizada a su versión 5.1.


Una descripción acertada es la de la propia Microsoft, por lo que copy&paste de Ms.

¿Qué es el Kit de herramientas de Experiencia de mitigación mejorada?
El Kit de herramientas de Experiencia de mitigación mejorada (EMET) es una utilidad que ayuda a prevenir que se exploten vulnerabilidades de seguridad en el software. EMET logra esto mediante el uso de tecnologías de mitigación de seguridad. Estas tecnologías funcionan como obstáculos y protecciones especiales que debe sortear el autor de un ataque para aprovechar las vulnerabilidades de software. Estas tecnologías de mitigación de seguridad no garantizan que no se puedan explotar las vulnerabilidades de seguridad. Sin embargo, su misión es dificultar al máximo dicha explotación.



EMET Security MitigationsIncluded
Attack Surface Reduction (ASR) Mitigation
Export Address Table Filtering (EAF+) Security Mitigation
Data Execution Prevention (DEP) Security Mitigation
Structured Execution Handling Overwrite Protection (SEHOP) Security Mitigation
NullPage Security Mitigation
Heapspray Allocation Security Mitigation
Export Address Table Filtering (EAF) Security Mitigation
Mandatory Address Space Layout Randomization (ASLR) Security Mitigation
Bottom Up ASLR Security Mitigation
Load Library Check – Return Oriented Programming (ROP) Security Mitigation
Memory Protection Check – Return Oriented Programming (ROP) Security Mitigation
Caller Checks – Return Oriented Programming (ROP) Security Mitigation*
Simulate Execution Flow – Return Oriented Programming (ROP) Security Mitigation*
Stack Pivot – Return Oriented Programming (ROP) Security Mitigation

Si eres un administrador de sistemas como yo, con apenas conocimiento sobre el mundo del reversing y del exploiting, creo que cabe destacar que Emet implementa medidas de seguridad para las técnicas habituales de explotación de vulnerabilidades en sistemas Windows. No funciona como un antivirus y su motor de firmas, sino que protege de comportamientos no deseados, como el intento de evadir DEP, ASLR, etc.

Si quieres profundizar en alguna de las tecnologías de evasión puedes leer esta guia en castellano, del instituto ese público famoso en España. 
Si queréis leer más sobre Certificate Pinning.


Lo mejor es probarlo, instalarlo siguiendo las opciones por defecto, hasta llegar a la interface gráfica.


Como se puede apreciar en la imagen, tenemos una lista de procesos en ejecución, y un icono de si está usando las medidas de protección Emet. Vamos a tomar un proceso como Winword.exe, para configurar su protección.


Tan sencillo como habilitar las opciones de seguridad.
Otra vista más gráfica y representativa puede ser esta.


Una de las opciones a destacar es la posibilidad de integrar la instalación de la herramienta mediante paquetes MSI con GPO´s de Active Directory o Configuration Manager.

Tenemos una línea de comandos preciosa, que nos sirve para habilitar/Deshabilitar medidas, o para usar una configuración base para todos nuestros equipos, mediante un fichero xml de configuración.

<EMET Version="5.1.5426.28431">
  <Settings>
    <ExploitAction Value="StopProgram" />
    <AdvancedSettings DeepHooks="True" AntiDetours="True" BannedFunctions="True" />
    <Reporting Telemetry="True" TrayIcon="True" EventLog="True" />
    <SystemSettings DEP="Application Opt In" SEHOP="Application Opt Out" ASLR="Application Opt In" Pinning="Enabled" />
  </Settings>
  <EMET_Apps>
    <AppConfig Path="*\Adobe\Acrobat*\Acrobat" Executable="Acrobat.exe">
      <Mitigation Name="DEP" Enabled="true" />
      <Mitigation Name="SEHOP" Enabled="true" />
      <Mitigation Name="NullPage" Enabled="true" />
      <Mitigation Name="HeapSpray" Enabled="true" />
      <Mitigation Name="EAF" Enabled="true" />
      <Mitigation Name="EAF+" Enabled="true">
        <eaf_modules>AcroRd32.dll;Acrofx32.dll;AcroForm.api</eaf_modules>
      </Mitigation>
      <Mitigation Name="MandatoryASLR" Enabled="true" />
      <Mitigation Name="BottomUpASLR" Enabled="true" />
      <Mitigation Name="LoadLib" Enabled="true" />
      <Mitigation Name="MemProt" Enabled="true" />
      <Mitigation Name="Caller" Enabled="true" />
      <Mitigation Name="SimExecFlow" Enabled="true" />
      <Mitigation Name="StackPivot" Enabled="true" />
      <Mitigation Name="ASR" Enabled="false" />
    </AppConfig>

El comando para importar el fichero podría ser: emet_conf.exe --import fichero.xml

Espero que os guste la idea, y por supuesto, gracias por leerme.