Captura Remota de una Imagen Forense utilizando FTK Imager

Body

FTK Imager es una herramienta para previsualizar y replicar, la cual permite evaluar de manera rápida evidencia digital. FTK Imager puede también crear copias perfectas (imágenes forenses) de datos de computadoras sin hacer cambios en la evidencia original.

Para la siguiente práctica se utiliza FTK Imager para capturar la imagen forense de una unidad USB (Memory Stick) conectada en un Sistema Windows. La imagen forense se creará y almacenará en un recurso compartido de un sistema remoto.

Ejecutar FTK Imager y seleccionar la opción “File -> Create Disk Image” o Archivo -> Crear Imagen de Disco.

Seleccionar el tipo de la evidencia de origen. Para propósitos de la presente práctica se creará la imagen forense desde una Unidad Física “Physical Drive”.

Seleccionar la Unidad de origen. La Unidad USB (Memory Stick) se identifica en Windows como “\\.\PHYSICALDRIVE2”. Luego hacer clic en el botón “Finish” o Finalizar.

Definida la fuente u origen de la imagen, se requiere definir el destino, es decir el lugar donde se creará y almacenará la imagen forense capturada. Hacer clic en el botón de nombre “Add...” o Añadir.”

Seleccionar el tipo de la imagen de destino. Para la presente práctica la imagen forense será capturada en formato “Raw” (dd) o en Bruto, tal como sería creada al utilizar herramientas como “dd” o “dcfldd”.

Completar o Rellenar la información solicitada sobre el caso, para luego hacer clic en el botón de nombre “Siguiente”.

Escribir o Buscar la Carpeta de Destino utilizando el botón de nombre “Browse” o Navegar. Anotar que el directorio donde se creará y almacenará la imagen forense capturada es un recurso compartido ubicado en el sistema de nombre “\\RYDS”. Ingresar también el nombre del archivo de Imagen sin la extensión en el campo “Imagen Filename (Excluding Extension)”. Dado que no se requiere dividir la imagen forense, en el campo “Imagen Fragment Size (MB)” o Tamaño del Fragmento de la Imagen se define el valor “0”. Luego hacer clic en el botón de nombre “Finish” o Finalizar.

Definida la configuración requerida hacer clic en el botón de nombre “Start” para iniciar el procedimiento de captura de la imagen forense.

El procedimiento de captura ha iniciado. En caso sea requerido, este puede ser detenido haciendo clic en el botón de nombre “Cancel”.

Finalizada la captura y copia de la imagen forense, se procede a verificar la imagen forense.

Al culminar la verificación se muestra un breve resumen del procedimiento realizado, como el nombre, cuenta de sectores, Hashs calculados y Hashs reportados tanto MD5 como SHA-1, y la lista de sectores dañados en caso los hubiese.

En el sistema remoto donde se ha copiado y reside la imagen forense capturada, se encuentra el archivo conteniendo la imagen forense de la unidad USB (Memory Stick) y un archivo com extensión .txt contenido la información detallada sobre el procedimiento de captura realizada.

Fuentes:

http://www.reydes.com/d/?q=Crear_la_Imagen_Forense_desde_una_Unidad_uti…
http://www.accessdata.com/support/product-downloads

Captura Remota de una Imagen Forense utilizando dcfldd y netcat

Body

Una recolección o captura remota de una imagen forense implica adquirir una unidad de almacenamiento desde una computadora a través de la red, mediante un procedimiento forense adecuado sin tener proximidad física al medio objetivo.

Para la siguiente práctica de realizará la captura de una imagen forense desde una unidad USB (Memory Stick) conectada a un Sistema Windows. En la máquina con SIFT será almacenada la imagen forense capturada. Para este propósito se utilizarán las herramientas “dcfldd” y “netcat”. Adicionalmente se utilizará “pipebench” la cual mostrará el rendimiento y la cantidad de datos a través de una tubería.

Instalar pipebench.

$ sudo apt-get install pipebench

En Windows se ejecuta la herramienta “dcfldd” definiendo en la opción “if” la unidad lógica F: como entrada. La salida será insertada en una tubería hacía netcat, el cual utiliza la opción “-l” para estar en modo de atención y la opción “-p” para definir el puerto en atención. De esta manera, al realizarse una conexión hacia el puerto 10000 de la dirección IP asignada al sistema Windows, se enviará todo lo que capture o genere la herramienta “dcfldd”.

C:\>dcfldd.exe if=\\.\F: conv=noerror,sync | nc.exe -n -v -l -p 10000

En SIFT se ejecuta netcat para establecer una conexión al puerto 10000 de la IP asignada al sistema Windows. Este resultado se envía mediante una tubería a la herramienta “pipebench”. Finalmente todos los datos recepcionados por el comando se copian al archivo de nombre “/tmp/USBDTG4.dd”

$ nc 192.168.0.15 -n -v 10000 | pipebench > /tmp/USBDTG4.dd

El proceso para realizar la captura remota de la imagen forense se ha iniciado.

Finalizada la captura y envío de la imagen forense desde el sistema Windows, se detallará el número de bloques escritos y los registros de entrada y salida.

Finalizada la recepción de la imagen forense en SIFT, se detallará información útil del procedimiento realizado, como el número de GB copiados, la duración de este proceso y la velocidad de copia en MB por segundo.

Realizada la captura remota de la imagen forense se procede a genera su respectivo hash SHA-1.

$ sha1sum /tmp/USBDTG4.dd

Fuentes:

http://dcfldd.sourceforge.net/
http://netcat.sourceforge.net/
http://freecode.com/projects/pipebench

Montar una Imagen Forense utilizando el Comando Mount en Linux

Body

El comando Mount puede tomar un archivo de imagen lógico y montarlo en un directorio específico, de tal manera que permita examinar los contenidos de la imagen. La imagen debe incluir un sistema de archivos reconocible como una partición. La invocación del comando resulta interesante dado que la imagen en bruto es una imagen de un disco físico y no una partición específica de un sistema de archivos.

El comando Mount facilita el montado mediante el uso de la opción “offset”. En el cual se requiere definir el número total de bytes a saltar dentro del archivo de imagen. Esto permite al analista apuntar específicamente a la partición del sistema de archivos dentro de la imagen en bruto del disco.

Para la siguiente práctica se utilizará una imagen forense residente en otro sistema. Por lo tanto se requiere montar el recurso compartido donde reside la imagen forense dentro de SIFT. Debido a que SIFT no incluye el comando "smbmount" se procede a instalarlo.

$ sudo apt-get install smbfs

Realizar el montado del recurso compartido conteniendo la imagen forense en el directorio "/tmp/imagenes/".

$ sudo smbmount //192.168.0.10/Images_DD -o username=reydes /tmp/imagenes/

Para montar la imagen forense se requiere calcular el “offset” o desplazamiento en bytes. El comando “mmls” incluido en The Sleuth Kit ayuda a cumplir este objetivo. “mmls” muestra la disposición de las particiones en un volumen, lo cual incluye tablas de partición y etiquetas de disco.

Para calcular el “offset” o desplazamiento se requiere multiplicar el sector donde inicia la partición por la cantidad de bytes asignada a un sector. Para el caso de la imagen forense utilizada en la presente práctica el calculo es; 512 * 206848 = 105906176.

Obtenido este dato se procede a utilizar el comando Mount para realizar el montado. La opción “-o” utiliza las siguientes opciones separadas por comas, “ro” para realizar el montado en modo de solo lectura, “loop” para realizar el montado sobre el dispositivo “loop” (utilizado para archivos de imagen), la opción “show_sys_files” para mostrar los archivos meta del volumen NTFS, “streams_interface=windows” para utilizar flujos de datos alternos (ADS), y ”offset=X” que en caso de montarse una unidad física se puede utilizar esta opción para realizar el montado a partir del byte X del disco físico. Adicionalmente se define el nombre de la imagen forense a montar “DiscoWindows7.001” y el punto de montado “/mnt/windows_mount/”.

$ sudo mount -o ro,loop,show_sys_files,streams_interface=windows,offset=105906176 DiscoWindows7.001 /mnt/windows_mount/

Realizado correctamente el montado, se puede interactuar con el directorio mediante comandos en consola o mediante un gestor de ventanas

Fuentes:

http://linux.die.net/man/8/mount
http://digital-forensics.sans.org/blog/2011/11/28/digital-forensic-sift…
https://isc.sans.edu/forums/diary/Forensics+Mounting+partitions+from+fu…
http://www.linuxnix.com/2009/09/8-ways-to-mount-smbfs-samba-file-system…
http://www.sleuthkit.org/

Montar una Imagen Forense utilizando OSFMount

Body

OSFMount permite montar archivos de imágen de manera local (copias bit a bit de una partición de un disco) en Windows con una letra de unidad. Por defecto los archivos de imagen son montados en modo de solo lectura, por lo tanto los archivos de imagen originales no serán alterados.

OSFMount también soporta la creación de discos RAM, básicamente un disco montado en RAM. Esto tiene generalmente el beneficio de una gran velocidad en comparación a la utilización de un disco duro. Es útil con aplicaciones requiriendo acceso al disco con una alta velocidad, como aplicaciones de bases de datos, juegos y navegadores. Un segundo beneficio es la seguridad, dado que los contenidos del disco no son almacenados sobre el disco duro físico (sino en la RAM) y al apagar el sistema los contenidos del disco no son persistentes.

OSFMount tiene una versión para Windows de 64 bits y una versión para Windows de 32 bits.

Se descarga el instalador pertinente, para luego proceder con su instalación.

Hacer clic en la opción “File -> Mount new virtual disk...” O Archivo -> Montar nuevo disco virtual.

Se presentará una nueva ventana donde se debe seleccionar la Fuente “Source”.

Hacer clic en el botón “...” en el área de “Image file” o Archivo de Imagen para seleccionar la imagen forense que se requiere montar. Luego hacer clic en en el botón “Abrir”.

En la nueva ventana se solicita seleccionar una partición de la imagen.

OSFMount automáticamente definirá el offset o desplazamiento en bloques en el archivo de imagen, el tamaño de la unidad en bloques. También es factible definir la letra de la unidad en la cual será montado el sistema de archivos seleccionado desde la imagen forense. Por defecto la unidad se monta en modo de solo lectura “Read-only drive”

De ser conforme todas las opciones definidas, hacer clic en el botón “Ok”, para proceder con el montaje.

La unidad ha sido montada correctamennte. Para navegar por la nueva unidad montada, hacer doble clic sobre la letra "F:" asignada a la unidad en OSFMount. También es factible navegar por la unidad accediendo mediante la opción "Inicio -> Equipo” de Windows.

Para desmontar la unidad montada, proceder a seleccionarla para luego hacer clic en el botón de nombre "Dismount", ubicado en la parte inferior de OSFMount.

Fuentes:

http://www.osforensics.com/tools/mount-disk-images.html
http://www.osforensics.com/products.html

Crear la Imagen Forense desde una Unidad utilizando FTK Imager

Body

FTK Imager de AccessData es una herramienta para realizar réplicas y visualización previa de datos, la cual permite una evaluación rápida de evidencia electrónica para determinar si se garantiza un análisis posterior con una herramienta forense como AccessData Forensic Toolkit. FTK Imager también puede crear copias perfectas (imágenes forenses) de datos de computadora sin realizar cambios en la evidencia original.

Es importante mencionar el uso de un bloqueador de escritura al utilizar FTK Imager para crear la imagen forense desde un disco duro u otro dispositivo electrónico. Esto asegura que el sistema operativo no alterará la unidad fuente original cuando se le adjunte a la computadora.

Para prevenir la manipulación accidental o intencional de la evidencia original, FTK Imager realizar una imagen duplicado bit a bit del medio. La imagen forense es idéntica en cualquier forma al original, incluyendo espacio de holgura o residual y espacio sin asignar o espacio libre de la unidad. Esto permite almacenar el medio original en un lugar seguro de daño mientras se procede con la investigación utilizando la imagen forense.

Para la siguiente práctica se utilizará la versión más reciente de FTK Imager publicada al momento de escribir el presente texto. FTK Imagen versión 3.1.4.

Después de realizar la descarga del instalador desde el sitio web oficial de AccessData y proceder con la instalación del programa, se apertura FTK Imager.

Hacer clic en la opción “File -> Create Disk Image” o Archivo -> Crear Imagen de Disco.

Se presentará una nueva ventana donde se requiere definir la Fuente. Para propósito de la presente práctica se creará una imagen forense de toda una unidad USB o Memory Stick, por lo tanto se selecciona la opción “Physical Drive” o Unidad Física. Luego hacer clic en el botón “Siguiente”.

En una nueva ventana se muestra un menú desplegable, en el cual se selecciona la Unidad Fuente correspondiente, para luego hacer clic en el botón “Finish” o Finalizar.

La siguiente ventana permite definir un Destino para la Imagen. Para esto es necesario hacer clic en el botón “Add...”

En esta ventana se define el tipo de la imagen de destino a crear. Para el caso de la presente práctica será una imagen “Raw” o en bruto, es decir tal y como sería creada utilizando una herramienta como dd o dcfldd. Revisar la publicación de título “Crear la Imagen Forense desde una Unidad utilizando dd”.

La siguiente ventana solicita ingresar información sobre el ítem de evidencia. Al completar la información hacer clic en el botón “Siguiente”.

Se requiere definir la carpeta donde se almacenará la imagen forense. La cual es seleccionada haciendo clic en el botón “Browse” o Navegar. A continuación se requiere nombrar la imagen forense (UnidadUSBKR). Y opcionalmente definir si la imagen resultante será dividida en varias partes o sino no será fragmentada. Para el caso de la presente práctica no será divida, por lo tanto se define el valor “0” en el campo “Image Fragment Size (MB)” o Tamaño del Fragmento de la Imagen.

Al Hacer clic en el botón “Finish”. Se mostrará un resumen de las opciones seleccionadas.

El proceso de creación de la imagen forense desde la unidad USB o Memory Stick iniciará al hacer clic en el botón “Start” o Iniciar.

Finalizada la creación de la imagen forense, inicia la verificación de la imagen creada.

Al finalizar todo este procedimiento se presentan algunos resultados finales. Los resultados muestran el número de sectores copiados. La generación de un Hash MD5 y un Hash SHA-1. Anotar la coincidencia entre el campo “Computed Hash” o Hash Calculado, es decir el hash obtenido desde la unidad USB o Memory Stick, y el campo “Report Hash” o Hash Reportado, el cual se genera desde la imagen forense creada de nombre “unidadUSBKR.001”. Anotar también que no se han detectado sectores Malos.

En el mismo directorio o unidad donde se ha creado la imagen forense, se encontrará un archivo de texto con el mismo nombre de la imagen forese creada (UnidadUSBKR.txt), en el cual reside toda la información detallada del proceso realizado.

Fuentes:

http://www.reydes.com/d/?q=Crear_la_Imagen_Forense_desde_una_Unidad_uti…
http://www.accessdata.com/support/product-downloads
http://www.accessdata.com/products/digital-forensics/ftk

Crear la Imagen Forense desde una Unidad utilizando dd

Body

El crear una imagen forense de una unidad o dispositivo de almacenamiento permite preservar la evidencia original en un estado prístino. Este procedimiento debe asegurar que no se perderán datos cruciales durante el proceso de adquisición. El método más común de adquisición implica crear un archivo de imagen desde el dispositivo de almacenamiento. En este escenario el investigador puede realizar las copias que considere necesarias.

Para la siguiente práctica se utilizará la herramienta dd.

dd

dd es un comando incluido en sistemas operativos tipo Unix como GNU/Linux, cuyo principal propósito es convertir y copiar un archivo.

En Unix, las unidades de dispositivos para hardware (como discos duros) y archivos de dispositivos especiales (como /dev/zero y /dev/random) aparecen en el sistema de archivos como archivos normales; dd también puede leer y/o escribir desde/hacia estos archivos, a condición de que esta función sea implementada en su respectiva unidad. Como resultado, dd puede ser utilizado para tareas como respaldar el sector de arranque de un disco duro, y obtener una cantidad fija de datos aleatorios. El programa dd también puede realizar conversiones de datos mientras son copiados, incluyendo intercambio en el orden de los bytes y conversión hacia y desde codificaciones de texto ASCII, EBDCDIC.

Se utilizará una unidad USB (USB Stick) desde la cual se creará su imagen forense.

En primera instancia se procede a identificarla. Para este propósito se utiliza el comando “fdisk” el cual permite manipular la tabla de particiones en un sistema GNU/Linux. La opción "-l", permite listar las tablas de partición para los dispositivos especificados. En caso no se proporcione el dispositivo, se utilizarán los mencionados en el archivo /proc/partitions (si existen).

$ sudo fdisk -l

Identificada la unidad en “/dev/sdc” desde la cual se obtendrá la imagen forense, se procede a generar un hash SHA-1. SHA-1 es una función hash criptográfica diseñada por la NSA (Agencia de Seguridad Nacional) de los Estados Unidos de Norteamérica, el cual produce un valor hash de 160 bits (20 bytes). Típicamente interpretado como un número hexadecimal de 40 dígitos de longitud.

$ sudo sha1sum /dev/sdc > /tmp/hash_sdc.sha1
$ cat /hash_sdc.sha1

Obtenido el hash desde el dispositivo de almacenamiento, se procede a capturar la imagen forense utilizando la herramienta dd. La opción “if” permite definir la unidad usb o unidad de almacenamiento origen. La opción “of” permite definir la escritura del resultado hacia un archivo. La opción “conv” convierte el archivo en base a la lista de símbolos separados por comas. En este caso se ha definido “noerror”, el cual permite continuar el proceso después de errores de lectura desde la unidad de almacenamiento. Y “sync” es utilizado para en caso se presente un error, se proceda a rellenar el resto de bloque con nulos.

$ sudo dd if=/dev/sdc of=/tmp/sdc.dd conv=noerror,sync

Finalizado el procedimiento se expone información como el número de registros de ingreso y salida, número de bytes copiados, duración del proceso en segundos, y un promedio de la velocidad de copiado.

Se procede a generar un hash SHA-1 desde el archivo de nombre “sdc.dd” conteniendo la imagen forense o réplica exacta de la unidad USB.

$ sha1sum /tmp/sdc.dd

Si la comparación del hash generado desde la unidad USB y el hash generado desde la imagen forense implican una igualdad, esto indica que el procedimiento se ha realizado correctamente y es factible continuar con el análisis forense.

Fuentes:

http://en.wikipedia.org/wiki/Dd_(Unix)
http://www.forensicswiki.org/wiki/Dd
http://linux.die.net/man/8/fdisk
http://en.wikipedia.org/wiki/SHA-1

Limpieza a los Medios de Almacenamiento utilizando Wipe

Body

Wipe o por su traducción al español "Limpiar", en un procedimiento forense realizado antes de utilizar una unidad de almacenamiento para copiar una imagen forense. Se debe siempre utilizar un programa que permita limpiar la unidad de almacenamiento de cualquier tipo de evidencia previamente almacenada. Este procedimiento se realiza sobrescribiendo cada sector de la unidad con datos. Los cuales pueden ser una única secuencia de caracteres, o secuencias aleatorias con varias sobrescrituras sobre el dispositivo de almacenamiento.

Wipe es una pequeña herramienta para sistemas GNU/Linux y similares, la cual permite borrar de manera segura archivos desde medios de almacenamiento magnéticos.

Wipe no está instalado por defecto en SIFT. Se procede a instalar "Wipe" desde los repositorios oficiales.

Para las siguientes prácticas se utilizará una Memoria USB (Memory Stick) de 16 GB. Se muestra el contenido del dispositivo USB a utilizar.

Se procede a hacer una limpieza de cada archivo y directorio bajo el directorio de nombre /WinUFO/. Los archivos regulares serán limpiados con 34 pasadas y sus tamaños serán reducidos a la mitad un número aleatorio de veces. Los archivos especiales (dispositivos de bloque y caracter, FIFOs...) no lo serán. Todas las entradas de directorio (archivos, archivos especiales y directorios) será renombrados 10 veces y desenlazados. A las cosas con permisos inapropiados se les aplicará el comando "chmod" con la opción "-c". Y dado que no se ha especificado la opción "-f", se le consultará al usuario su confirmación.


$ wipe -rc /media/media/0128AB9F64752844/WinUFO/

Para la siguiente práctica se utilizará la partición /dev/sdc1 el cual corresponde a la primera partición de la unidad USB. Esta partición será limpiada con el modo rápido (opción -q) con cuatro pasadas aleatorias. El inodo no será renombrado o desenlazado (opción -k). Antes de iniciar el procedimiento se consultará si desea proceder.

Inodo

Un inodo en un sistema de archivo tipo Unix, es una estructura de datos utilizado para representar un objetivo del sistema de archivos, lo cual puede ser una de varias cosas incluyendo un archivos o un directorio. Cada inodo almacena los atributos y ubicaciones de bloques de disco de los datos de objetos en el sistema de archivos. Los atributos de objetos del sistema de archivos pueden incluir metadatos de manipulación (Tiempos de Creación, Acceso, Modificación), como también el propietario y datos de permisos (ID de Grupo, ID de usuario, Permisos).


$ sudo wipe -kq /dev/sdc1

Anotar el tiempo aproximado que demandará finalizar este procedimiento de limpieza.

Fuentes:

http://wipe.sourceforge.net/
http://lambda-diode.com/software/wipe/
http://lambda-diode.com/resources/wipe/wipe.1.html
http://wipe.sourceforge.net/secure_del.html

Taller de Hacking Aplicaciones Web en OWASP Latam Tour - Lima 2014

Body

El día Viernes 25 de Abril del año 2014 tuve la oportunidad y el agrado de dictar el Taller Práctico de Hacking Aplicaciones Web, con motivo de realizarse el OWASP Latam Tour – Lima 2014. El OWASP Latam Tour es una gira por toda Latino América que promueve la seguridad en las aplicaciones web en diversas instituciones; como universidades, organismos gubernamentales, empresas de TI y entidades financieras; buscando crear conciencia sobre la seguridad en las aplicaciones y tomar decisiones informadas sobre los verdaderos riesgos de la seguridad.

El Taller Práctico de Hacking Aplicaciones Web tuvo una duración de 8 horas, se dictó de 9:00am a 1:00pm y de 3:00pm a 7:00pm. En el cual se expuso el arte de explotar las aplicaciones web de tal manera que se puedan encontrar sus fallas antes de que los chicos malos lo hagan. Todo se realizó con ejercicios y ejemplos prácticos, para conocer y utilizar los diferentes métodos, herramientas y técnicas para realizar ataques como SQLi, XSS, CSRF, LFI, RFI, entre otros.

Fue una grata y fructífera experiencia dictar este taller en un evento tan importante como el OWASP Latam Tour – Lima 2014. Estoy muy agradecido a la organización y a todas las personas que tuve la oportunidad de conocer.


Foto Cortesía de Juan Carlo Acosta.

El Diario La República publico una nota al respecto del evento.

Referencias:

http://www.larepublica.pe/25-04-2014/proteccion-informatica-pautas-segu…
https://www.owasp.org/index.php/Peru#tab=OWASP_Latam_Tour_2014
http://www.reydes.com/d/?q=OWASP_Latam_Tour_Lima_Peru_2014

Escanear Recursos no Enlazados utilizando ZAP

Body

Forced Browsing o Navegación Forzada es un ataque donde el propósito es enumerar y acceder a recursos no referenciados por la aplicación, pero a los cuales puede accederse.

Un atacante puede utilizar técnicas por Fuerza Bruta para buscar contenido no enlazado en el directorio del dominio, como también directorios temporales y archivos, además de “backups” o copias de respaldo y archivos de configuración. Estos recursos pueden almacenar información sensible sobre las aplicaciones web y sistemas operacionales, como código fuente, credenciales, direccionamiento de la red interna, entre otros, lo cual es considerado un recurso valioso para los intrusos.

Este ataque es realizado manualmente cuando la aplicación indexa directorios y páginas basados en la generación de números o valores predecibles, o utilizando herramientas automáticas por nombres de archivo o directorios.

Este ataque también se le conoce como Ubicación Predecible de Recursos, Enumeración de Archivos, Enumeración de Directorios, y Enumeración de Recursos.

Raft

Raft es una herramienta de pruebas para la identificación de vulnerabilidades en aplicaciones web. Raft es una suite de herramientas que utiliza elementos compartidos comunes para hacer más sencillas las pruebas y el análisis. Esta herramienta proporciona visibilidad en áreas que otras herramientas no lo hacen.

Para la siguiente práctica se utilizarán algunas de las listas de palabras que incluye la herramienta Raft, utilizando Zed Attack Proxy.

Se le indica al navegador web Firefox la utilización de ZAP como proxy, mediante el plugin FoxyProxy. Y se procede a ingresar a la aplicación web objetivo.

En el panel inferior de ZAP, hacer clic en la pestaña de nombre “Forced Browse” o Navegación Forzada.

Hacer clic en el menú desplegable ubicado en en lado inferior izquierdo con el texto “Site:” o Sitio, y seleccionar la dirección IP de la aplicación web objetivo.

Hacer clic en el menú desplegable ubicado en el panel inferior con el texto “List:” o Lista, para luego seleccionar la lista de nombre “raft-small-directories.txt”. Este archivo incluye un excelente listado de nombres de directorios a ser buscados en el servidor web objetivo.

Se sugiere verificar que la la opción de recursividad para este procedimiento no esté activo. Para esto, hacer clic en ícono de una “tuerca” ubicado en el lado derecho del panel inferior. En la nueva ventana aperturada se pueden realizar configuraciones adicionales, como definir los hilos por host para el escaneo, definir un archivo personalizado, o las extensiones de los archivos.

Para iniciar el proceso hacer clic en el ícono de color “celeste” ubicado en el panel inferior.

Para la siguiente práctica se realizará el mismo procedimiento descrito pero utilizando la lista de palabras de nombre “raft-small-files.txt”.

Los resultados obtenidos serán detallados en el panel superior izquierdo, donde se crea un mapa de la aplicación web objetivo.

Para visualizar uno de los resultados obtenidos, hacer clic derecho sobre el para luego seleccionar la opción “Open URL in Browser” o Abrir URL en el Navegador.

Se realizará la petición requerida y el navegador web expondrá la respuesta devuelta por la aplicación web objetivo.

Fuentes:

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
https://code.google.com/p/raft/
https://www.owasp.org/index.php/Forced_browsing

Fuzzing de Agentes de Usuario utilizando ZAP

Body

En la presente práctica se utilizará la herramienta “Fuzzer” de Zed Attack Proxy (ZAP), la cual utilizará fuzzdb para realizar de manera automática la modificación del campo “User-Agent” de la petición realizada hacia una aplicación web objetivo. Esto con el propósito de detectar si el cambio en el “User Agent” o Agente de Usuario devuelve contenidos o funcionalidades diferentes desde la aplicación web objetivo.

En la publicación de título “Generar Tokens con Zed Attack Proxy”, se expuso brevemente sobre Zed Attack Prox - ZAP. De la misma manera, en la publicación de título “Fuzzing contra un Formulario de Registro utilizando ZAP” se expuso sobre “Fuzzing”. También se expuso en la publicación de nombre “Modificar el Agente de Usuario con User Agent Switcher” sobre los Agentes de Usuario.

Se ejecuta Zed Attack Proxy y se configura en Firefox su utilización como proxy, mediante el plugin FoxyProxy.

Al visitar con el navegador web el sitio web objetivo, se puede observar el tráfico interceptado por Zed Attack Proxy.

En el panel inferior seleccionar la petición a utilizar para el procedimiento de Fuzzing.

Hacer clic en la pestaña “Request” o Petición, seleccionar la cadena de texto a continuación del “User-Agent”, para luego hacer clic derecho y seleccionar la opción “Fuzz...”.

En “Fuzz Category” o Categoría de Fuzzing seleccionar “jbrofuzz / User Agents”. Luego hacer clic en “All User Agents” o Todos los Agentes de Usuario.

Al hacer clic en el botón de nombre “Fuzz” se iniciará el procedimiento de Fuzzing. Automáticamente se presentará la pestaña “Fuzzer” con los resultados obtenidos.

Los principales resultados a ser analizados se muestran en las columnas de nombres “Size” o Tamaño, “State” o Estado y “Fuzz”, donde se muestra el “User-Agent” utilizado para realizar la solicitud.

Fuentes:

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
https://code.google.com/p/fuzzdb/
http://www.reydes.com/d/?q=Generar_Tokens_con_Zed_Attack_Proxy_ZAP
http://www.reydes.com/d/?q=Fuzzing_contra_un_Formulario_de_Registro_uti…
http://www.reydes.com/d/?q=Modificar_el_Agente_de_Usuario_con_User_Agen…
http://getfoxyproxy.org/