DFIR - HUNTING

.

KILL CHAIN, DIAMOND, RESILIENCE, DETECT...

Normas, métodos, buenas prácticas.

SONDAS, AMENAZAS, INCIDENTES, ANALISIS

Productos, configuraciones y análisis.

CYBERWARFARE, GOBIERNOS, APT AVANZADO

Los mejores casos en Conexión Inversa.

CIBERGUERRA, MALWARE

Te contamos como se diseñan y como se aplican.

ATAQUES EN RED, INTRUSIONES, MALWARE Y APTs

Todo lo necesario para minimizar el impacto.

viernes, 31 de octubre de 2008

Cosas de casa

En uno de los apartados forense más comunes, consiste en analizar el registro de windows. Como ya sabréis es la base de datos de configuraciones volátiles y no volátiles del entorno del sistema operativo y aplicaciones.

Sin entrar en detalle sobre el registro de windows, simplemente voy a comentar algunas de las claves mas usadas en la investigación forense, y como suelo decir, nos ponemos manos a la obra.

El editor del registro no muestra solo la estructura local, existen varias claves y subclaves que están almacenadas sobre ficheros en el disco duro. Estos ficheros son llamados 'hives'. El sistema a estos ficheros 'los mima' estableciendo copias de seguridad para su posterior utilización en caso de que el sistema falle en el inicio del sistema operativo. Las claves del registro que se asocian a los 'hives' son HKLM y HKU.

En la siguiente tabla se muestra se muestra su correspondencia en disco.

La cadena HKLM se encuentra en %SYSTEMROOT%\System32\config\ (%SYSTEMROOT% normalmente referido a C:\WINDOWS). HKLM\HARDWARE Este fichero 'hive' es dinamico y se crea en tiempo de ejecución en el inicio del sistema, copiandose en memoria (Russinovich, 1999).

HKU\.DEFAULT corresponde a %SYSTEMROOT%\System32\config\default. HKU\SID normalmente esta situado en el directorio por defecto del usuario (home directory),en %USERPROFILE%\NTUSER.DAT, y HKU\SID_CLASSES que corresponde a %USERPROFILE%\Local Settings \Application Data\Microsoft\Windows\UsrClass.dat.

En esta tabla tenemos un resumen

Registry Path Ficheros HIVE

HKLM\SAM --> SAM, SAM.LOG
HKLM\SECURITY --> SECURITY, SECURITY.LOG
HKLM\SOFTWARE --> software, software.LOG, software.sav
HKLM\SYSTEM --> system, system.LOG, system.sav
HKLM\HARDWARE --> (Dinamico/Volatil Hive)
HKU\.DEFAULT --> default, default.LOG, default.sav
HKU\SID --> NTUSER.DAT
HKU\SID_CLASSES --> UsrClass.dat, UsrClass.dat.LOG


CLAVES CON VALORES FORENSE

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU

MRU es la abreviatura de 'most-recently-used' esta clave mantiene los ficheros guardados o abiertos normalmente desde el explorador de ficheros o bien utilizando la caja de abrir o guardar ficheros (por ejemplo Excel). También son mantenidos aquellos que se abren desde el Internet Explorer

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU

Esta clave corresponde a los mas utilizados o actualizados desde las aplicaciones o bien dicho de otra forma los documentos más recientes (¡¡ojo, de las aplicaciones!!)

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

Esta clave mantiene la lista de ficheros ejecutados o abiertos desde explorer. Corresponde a %USERPROFILE%\Recent. Esta clave contiene tanto los ficheros locales como de red, e incluido ficheros no ejecutables

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

Esta clave mantiene una lista de entradas de comandos utilizados desde el menú 'inicio->ejecutar->cmd'

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

En esta clave es donde se haya el fichero de paginación y su configuración. Es importante desde el punto de vista que se puede comprobar si esta configurado para su borrado 'ClearPagefileAtShutdown '

HKCU \Software\Microsoft\Search Assistant\ACMru

Esta clave contiene las búsquedas más recientes desde el buscador de ficheros de windows. La subclave 5603 contiene los términos de búsqueda de las carpetas y ficheros también la subclave 5604 contiene palabras y frases que se buscan en los contenido de ficheros

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Como podemos imaginar esta clave representa los programas que estan instalados en el equipo. Atentos a las fechas, ya que esa información esta almacenada en esta clave

HKLM \SYSTEM\MountedDevices
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume\

Contiene las unidades montadas y asociadas físicamente a un disco o unidad de red, incluidas DVD's y USB's

HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR

Esta clave es de vital importancia ya que da muchísima información acerca de los USB's y tarjetas de memoria que fueron conectadas al sistema

HKLM\ SOFTWARE \Microsoft\Windows\CurrentVersion\Run
HKLM\ SOFTWARE \Microsoft\Windows\CurrentVersion\RunOnce
HKLM\ SOFTWARE \Microsoft\Windows\CurrentVersion\RunOnceEx
HKLM\ SOFTWARE \Microsoft\Windows\CurrentVersion\RunServices
HKLM\ SOFTWARE \Microsoft\Windows\CurrentVersion\RunServicesOnce

Contiene los 'paths' a las aplicaciones que automaticamente se ejecutan durante el inicio del sistema sin intervención del usuario, aqui suele estar muchas pistas sobre malware.

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

Aqui se especifica cual es ele entorno de ejecución de ventanas. Por defecto es Explorer.exe. Muchos malware modifican esta clave por otros valores en el 'Shell=Explorer.exe %system%\System32.exe'

HKLM\SYSTEM\CurrentControlSet\Services\

Esta es muy facil. Contiene los servicios de la máquina

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\GUID

Esta contiene la configuración de los adaptadores de red, IP, Gateway..etc.

HKLM\SOFTWARE\Microsoft\WZCSVC\Parameters\Interfaces\GUID

Lo mismo que la anterior pero para redes wifi

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Map Network Drive MRU
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2

Estas claves mantiene la lista de unidades de red mapeadas a caracterres, es decir M: F:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist

Esta clave contiene una lista de objetos como accesos directos, acceso al panel de control, por ejemplo: El GUID subkey con el caracter "5E6" corresponde a la barra de Internet Explorer y el "750" al Active Desktop

HKCU\Software\Microsoft\Internet Explorer\

Contiene las ultimas 25 URL's (fichero o path) que se ha escrito en el Internet Explorer (IE) o en la barra de Windows Explorer.


GUENO, GUENO....

Estas son algunas de las claves que en un análisis forense hay que mirar, se que me dejo algunas de interes y que tambien existen herramientas que de forma automatizada permiten la obtención de estos y otros datos

jueves, 30 de octubre de 2008

CEREGUMIL concentrado

En la memoria esta todo. (o casi de todo).

Se nos puede dar el caso de que un usuario quiera recuperar las contraseñas de acceso a una aplicación o sitio web de un PC que anteriormente ha iniciado la sesión. Depende de la aplicación o del navegador las puede almacenar en disco, cifrando el contenido de las contraseñas, por lo cual este método de recuperación no es valido. (se entiende que el usuario no recuerda la contraseña)

Para ello utilizamos la siguiente 'tool': pd, disponible en la web 'http://www.trapkit.de'

pd es una utilidad que permite extraer de la memoria un determinado proceso basándose en el identificador de proceso (PID) que el sistema le asigna y poder volcarlo a disco. De esta forma no tenemos que 'dumpear' toda la memoria para hacer lo mismo.

En este caso necesito recuperar las contraseñas de acceso a la web de movistar para el envío de mensajes por SMS (desde un puesto de trabajo Linux y con navegador Firefox).



Si vemos el código fuente de la página nos encontramos con las posibles variables a buscar entre ellas (TM_LOGIN, TM_PASSWORD, TM_ACTION)



Manos a la obra:

LINUX:
pd -p 19323 > firefox.dump (donde 19323 es el PID de firefox)

Extraigo el texto del fichero binario a otro fichero más humano (txt)

strings -el firefox.dump> memorystrings.txt

Editamos el fichero TXT y buscamos las cadenas anteriormente citadas

Nos encontramos que la cadena TM_LOGIN, lleva asociado un número (deducimos que es un teléfono), mientras que las demas cadenas no muestran nada coherente.

Curiosamente si buscamos por el número de teléfono, nos da muchisima información, agendas, otros números de contacto, etc. y sobre todo la posible contraseña.

Este procedimiento es identico para Windows con la misma herramienta.

Saludos

miércoles, 29 de octubre de 2008

Descubriendo números de tarjetas de crédito

Nosotros como entidad, estamos sujetos a multiples regulaciones y normativas. Por ejemplo el Banco de España, y como no las grandes marcas como VISA y MASTERCARD.

La auditoría que más nos ha hecho trabajar es la impuesta por las marcas VISA y MASTERCARD en su norma PCI-DSS. (Payment Card Industry Data Security Standard).

Despues de semejante sodomización (y eso que a los de seguridad nos gusta) me quedo con uno de los puntos de control que marca la norma y que consiste en la detección de ficheros que contengan números de tarjetas de crédito en toda la instalación y no esten debidamente custodiados.

Es decir un supuesto usuario puede crear un word o un excel con números de tarjeta y debemos de descubrirlo.

Manos a la obra:

WINDOWS

la cosa se simplifica, es cuestión de instalar el programa Open source de nombre 'Spider' desde aquí. (Realizado por los chicos de seguridad de la universidad de Cornell.)

Las siguientes imagenes dicen todo lo que hay que decir:



LINUX

Se complica, pero lo más sencillo es programar un script en Bash utilizando expresiones regulares, despues de mucha documentación pensamos en crear un fichero (expresiones.txt) que contiene lo siguiente:

4[0-9]{3}-?([0-9]{4}-?){2}[0-9]([0-9]{3})?
5[1-5][0-9]{2}-?([0-9]{4}-?){2}[0-9]{4}
3[47][0-9]{2}-?([0-9]{4}-?){2}[0-9]{3}
3(0[0-5]|[68][0-9])[0-9]-?[0-9]{6}-?[0-9]{4}
15[0-9]{2}-?([0-9]{4}-?){2}[0-9]{4}


Por otro lado realizamos el siguiente programa en bash (ya se que se puede mejorar, pero para salir del paso fue coj#!nudo)

Una vez realizado, es cuestion de lanzarlo.








martes, 28 de octubre de 2008

Estuvimos en el ASEGUR@IT!!

Los del equipo de seguridad de ATCA, nos fuimos a Madrid al Asegur@IT que organizaba Microsoft con la actuación estelar de Chema Alonso.

Las charlas fueron de lo mas interesante en cuanto a contenidos. Muy curiosa la charla de Steganografía y destacando la de David Barroso (s21sec) con su charla de Botsnet, También muy curiosa e inteligente la del maligno 'Chema Alonso' con su herramienta y su técnica de obtención de ficheros y muy muy buena la de luciano bello con su 'bug' en OpenSSL en Debian.

La de Hector Montenegro también me gusto y aunque no fue técnica, resulto muy interesante la evolución de Microsoft en cuestión de seguridad, sobre todo ahí están las cifras de las pocas vulnerabilidades en SQL Server y windows Vista

Además del cafelito, pude saludar a mi compadre 'Juanito' de Informática64, al propio Chema Alonso, el cual me propuso liarme con una charla y a David Barroso que sigue estando en el Top 10 de la seguridad.

Después mi gente y yo nos fuimos a tomar una cerveza cerca de ATOCHA, antes de que Edu se marchara a pichar, perdón fichar.

Richi y yo nos comimos una mariscada que te pes, por 75 Euros para dos personas, incluido el vino ribeiro y los chupis.

Luego en el AVE nos dedicamos junto a su portátil con tarjeta 3G a 'mirar' algunas webs para practicar lo aprendido.

Lo dicho, muy interesante las conferencias.

Saludos


PD: Edu....mira lo que te perdiste por unas tet....s

martes, 21 de octubre de 2008

Curiosidades

En Japón esta haciendo furor los 'smartcodes' (mensajes ocultos en imágenes) sobre todo en las compañías de Marketing, que han visto un nuevo método de publicidad.

En el año 2002 las operadoras japonesas (NTT DoCoMo, J-Phone) y los fabricantes como (Panasonic, NEC, SHARP) colaboraron para crear una forma innovadora de utilizar las cámaras de los móviles utilizando la base de lectura del ya tradicional código de barras, pero en esta ocasión utilizando imágenes

En este vídeo de ejemplo la compañía Mc Donnals promociona sus productos para que sean 'descubiertos' por el móvil.





Desde la siguiente página web se puede crear de forma gratuita los 'smartcodes' y registrandose en ella, te permite recibir via SMS una utilidad para leerlos.Una vez se reciba el SMS, se procede a instalarlo en el móvil, pudiendo leer de esta forma los smartcodes.

http://www.i-nigma.com/personal/GetReader.asp

¿alguien sabe decirme cual es la frase que se oculta en la siguiente imagen?


lunes, 20 de octubre de 2008

UltraKit

Ante algún correo que estoy recibiendo de que es eso de Ultrakit, os remito a los chicos de H11 que me prestaron en 'demo' uno de sus equipos.

Ultrakit es un equipo hardware portátil que permite escribir, copiar y clonar bloques de disco para la adquisición de pruebas forense, permite duplicar IDE, SATA, SCSI.

Para más info:

http://www.h11-digital-forensics.com/ultrakit-write-blocker-kit.php.

Este es el aparato que me prestaron (en realidad es un poco más pequeño) y que ocupa un sitio preferente en mi salón (por poco tiempo, que hay que devolverlo).



fraude en correo electrónico (I)

Hace unos meses fui contratado para realizar una prueba forense-pericial sobre un posible fraude en el uso ilícito del correo electrónico, es decir el caso es que un empleado enviaba correos electrónicos a una dirección con “presunto”contenido de pornografía. La empresa 'monitorizo' los correos salientes del presunto sospechoso, llegando a la conclusión de que enviaba correos no autorizados. Según su política de seguridad, supuso el despido de esta persona

La firma de abogados que me contrata, especifica que el despido es improcedente y que su cliente no ha enviado los correos. Tras requerimiento judicial (bastante burocratico) se me permite en condición de perito por la parte demandada analizar los correos y servidores de la empresa.

Lo primero es recopilar el mapa de red, fechas y tiempos que se aportaron como prueba (denuncia) y verificar en el sistema las coincidencias.

Ni que decir tiene que si se han borrado ficheros, correos y log's complicarán en exceso la obtención de evidencias. Normalmente en las empresas (generalmente Pymes con pocos conocimientos de seguridad) se tiene poco cuidado en el borrado de este tipo de información siendo bastante sencillo el poder recuperarlas. En mi caso como la obtención de datos es costosa manualmente opto por utilizar la herramienta comercial 'EnCase'

Los pasos que seguí fueron los siguientes:

Imagen de datos y verificación de integridad de la imagen.

Consiste en el clonado de las imágenes de datos que conciernen al caso en investigación manteniendo la cadena custodia (agradezco a los chicos de H-11 el haberme prestado su ultra-kit para el clonado de discos) me preparo a realizar el forensico, partiendo de la estación del usuario 'maligno'. Además Por cada clonado se debe verificar su huella criptográfica (MD5-SHA-1), comparándolo luego con el de la fuente original. Si la comparación arroja un resultado negativo se debe rechazar la imagen clonada

EnCase identifico las particiones del disco , por medio de la búsqueda del carácter 0x55AA, y las enumera como partes usables del disco. (En concreto dos particiones NTFS)

Creación de una copia de la imagen suministrada e identificación de las particiones actuales y sistema de archivos.

En un análisis de datos nunca se debe trabajar sobre la imagen original suministrada, sino sobre su copia. Particularmente hago tres copias, una para la empresa, otra para custodia bajo notario y otra para mi explotación y análisis

La identificación de las particiones en un disco es muy importante, ya que permite la identificación de su sistema de archivos. Como ya dije NTFS

Recuperación de los archivos borrados e información escondida

Durante esta actividad se deben tratar de recuperar los archivos borrados del sistema de archivos, lo que es conveniente dado el frecuente el borrado de archivos para destruir evidencia.

Los archivos recuperados formarán parte de los archivos potencialmente analizables

Adicionalmente, mediante un proceso de carving (escarbar) se logró identificar que en el espacio de clusters perdidos estaba escondida una imagen a la cual se hace referencia al archivo borrado



EnCase proporcionó información suficiente para determinar la cantidad real de clusters del archivo y poder reconstruirlo. Se encontró un fichero ZIP

El fichero 'ya1.zip' contenía 675 ficheros con contenido para adultos y clasificación 'Super X'. Me guarde una copia de esos JPG's como backup ;-)

Una vez encontrado el fichero(s) se procede a establecer un 'time line' para comprobar que coinciden las fechas y horas con las expuestas en la denuncia, para ello EnCase se las basta solito para comprobarlo



La línea de tiempo provee información de las fechas de creación, modificación y último acceso a los archivos en cuestión (tiempos MAC). Adicionalmente, despliega la anterior información gráficamente marcando la creación con gris oscuro, la última modificación en gris medio y el último acceso en gris oscuro. En el caso que nos ocupa coincide un día antes de ser enviado por correo según la denuncia.

En el siguiente post veremos si la persona que envia los ficheros pornograficos es quien dice ser

miércoles, 15 de octubre de 2008

Que nunca me acuerdo...

Siempre que tengo que 'tirar' de la RFC no me acuerdo donde está y ando googleando. Para que lo sepais existe una versión para la recolección y archivado de evidencias digitales es la RFC3227 y está accesible desde aquí.

martes, 14 de octubre de 2008

¿Que hace mi troyano?

Desde hace un tiempo estamos dando un servicio a nuestras Cajas de analisis forense 'on-site'.

Esto consiste en analizar y obtener las pruebas (normalmente algún troyano bancario) para a continuación mandar al laboratorio el especimen y poder destripar el ejecutable y ver que 'coño' hace.

En algún caso lo hacemos nosotros con nuestras propias herramientas y en otros casos por tiempo lo subcontratamos a otras empresas con laboratorio propio. (no doy nombre que luego se enfadan 'los otros').

En estos días me encuentro con una ¿utilidad? o ¿servicio? que permite 'destripar' y analizar bichos informáticos. Según pone en su web, Sunbelt CWSandbox proporciona un rápido análisis de virus, spyware, troyanos, u otras muestras de malware. Permite cargar las muestras de malware para analizar y obtener resultados devueltos por correo electrónico. CWSandbox permite la recogida automática de malware de diferentes equipos, un servidor web / interfaz, o un directorio. En pocas palabras: Potente automatizador de análisis de malware. Incluidos los infectados por troyanos, los documentos de Office, objetos de ayuda de navegador (BHOs), URLs maliciosos y más - por la ejecución del código dentro de un ambiente controlado, es decir lo deben de ejecutar en algún tipo de Vmware controlado y automatizado.

Como tiene buena pinta, me pongo las pilas y subo un troyanico muy simple (el tini.exe) que abre una puerta trasera poniendose a la escucha desde el puerto 7777.

Para 'subir' el ejecutable lo hago desde la siguiente dirección que me proporciona la herramienta/servicio:

http://research.sunbelt-software.com/Submit.aspx

y este es el resultado obtenido:






Conclusiones: Herramienta de ayuda que te puede dar una idea del escenario de ejecución de un posible malware (siempre que sepas cual es el ejecutable) y de sus actuaciones. Habrá que probarlo con algún troyano más avanzado

viernes, 10 de octubre de 2008

Nos vamos de Pilares!!!


A la fiesta y al calimocho....

jueves, 9 de octubre de 2008

Una para Linux

Navegando y navegando me encuentro con una utilidad para ver particiones Linux con Ext2 y Ext3. y vaya si funciona!!

La utilidad se llama 'DiskInternals Linux Reader' y atención amigos, es '100% free'

Se puede descargar desde aquí

Un ejemplito:

¡¡Cuidadin con google Chrome!!

Me pico la curiosidad de que Google se introdujera en la guerra de los navegadores y como buen hijo de vecino acabe instalándome su navegador. Después de los famosos 'bujerillos' de seguridad y demás ataques por parte de sus detractores, a mi particularmente me parece rápido, bonito y elegante,.Espero que se pongan las pilas y que no nos dejen con una beta durante años.
Circulaba un rumor de que guardaba las contraseñas en claro, asi que me puse a ver si es verdad o no. En el afán de ver sus tripas, me encontré con una desagradable sorpresa, el navegador de google guarda las contraseñas en claro.

Veamos el ejemplo:

Si accedemos a las siguientes rutas:

XP:
Documents and Settings/User/Local Settings/Application Data/Google/Chrome/

Vista:
Users/App Data/Local/Google/Chrome/

Nos encontramos con un fichero que se llama 'current session'. Si procedemos a abrirlo con un editor hexadecimal, nos encontramos con que aparecen el usuario y la contraseña.





Cuidadin!!!!

jueves, 2 de octubre de 2008

Controlar los inicios y cierres de sesión de los usuarios

Una forma muy comoda de registrar los inicios de sesión de un servidor o puesto de trabajo sin necesidad de activar el servicio de auditoría sería utilizando un metodo alternativo el cual nos dejara un log , el cual sera mas practico que mirar el visor de eventos

Creando los archivos mágicos

registrar_inicio.cmd
echo logon %username% %computername% %date% %time% >> \\controlador\carpeta\registrar_inicio.log

registrar_logoff.cmd
echo logoff %username% %computername% %date% %time% >> \\controlador\carpeta\registrar_logoff.log

A continuación ponemos estos dos archivos en la Default Domain Policy por ejemplo para que se ejecuten al inicio y cierre de sesion

User Configuration-> Windows Settings-> Scripts (Logon/Logoff)-> Logon
User Configuration-> Windows Settings-> Scripts (Logon/Logoff)-> Logoff

Como resultado veremos nuestros dos archivos, los cuales son bastante mas facil de consultar.

logon mspedro WKS_S1 Tue 22/09/2008 10:39:51.12
logon Rosa WKS_S2 Tue 22/09/2008 10:42:01.07

logoff mspedro
WKS_S1 Tue 22/02/2005 10:41:08.45
logoff
Rosa WKS_S2 Tue 22/02/2005 10:42:46.81

Análisis Forense en profundidad 2.0 - Nuevo Curso -

Buenas lectores, De nuevo y de la mano de @securizame llega una nueva entrega del curso "Análisis Forense en profundidad 2.0" ...