miércoles, 29 de febrero de 2012

Simulación y Detección de un ataque.

Una de las posibilidades de la captura y analisis de paquetes proporcionados por Wireshark es la habilidad de detectar si provienen de una fuente maliciosa, con lo cual las acciones acordes pueden tomarse para mitigar los efectos.

Para desmostrar esto se propone una sencilla simulación en la cual dos computadoras atacaran a una tercera y es ataque sera visualizado en Wireshark.

Requerimientos.
Para llevar a cabo este experimento sera necesario contar con lo siguiente:
  • Tres computadoras conectadas en red.
  • Las direcciones IP de las computadoras.
  • Wireshark instalado en al menos uno de los equipos.
  • Ping disponible en al menos dos de los equipos.
Para conseguir las direcciones IP de los equipos basta consultar las propiedades de la conexión , las cuales son accesibles desde el panel de control en los sistemas Microsoft Windows o por medio del comando ipconfig, ambos le entregaran la dirección IP del equipo, asegúrese de anotarlas.


Procedimiento.

Una vez que las tres computadoras esten conectadas en linea y la maquina victima reciba y responga a los ping enviados arranque Wireshark en la maquina victima y comienze a capturar paquetes, durante esto ponga atencion a la columna tipo, ya que asi podra saber cuales son los protocolos que comunmente arriban, un ejemplo de como se ve el trafico normal puede  observarse en la Figura 1 donde se que si bien los paquetes ARP son comunes tambien hay paquetes de otros protocolos y hay varios microsegundos entre los paquetes.

Figura 1: Trafico Normal.
Ahora que a tiene una vista del trafico usual de la red es el momento de comenzar la simulación del ataque, para hacer esto ingrese el siguiente comando en las maquinas atacantes

ping -t ip-victima

Este comando comenzara a enviar solicitudes de respuesta de forma continua a la dirección IP indicada mismos que seran respondios por el receptor.



Esto puede observarse desde Wireshark, si comienza o ya esta capturando paquetes al momento en que el ataque comienze obtendra una pantalla similar a la Figura 2



Figura 2: Paquetes ICMP.
Como podra observar ahora esta presente una gran cantidad de paquetes \emph{ICMP}, los cuales se visualizan mejor aplicando el filtro de visualizacion del mismo nombre, en estos paquetes pueden observarse una serie de caracteristicas particulares.

Primero que hay paquetes generados tanto por el atacante, los cuales estan descritos como Echo (ping) request en el campo Info, asi como paquetes generados por la maquina victima identificados como Echo (ping) reply, por lo que en efecto el responder a los las solicitudes de ping consume recursos de la maquina victima.


Observaciones
Al comezar este experimento se observo un problema con el comando ping, pese a tener las direcciones IP de todas las computadoras utilizadas y verificar la conexión, el ping siempre regresaba el mensaje 100% packet loss esto se debio a que los sistemas utilizados, Microsoft Windows XP y Microsoft Windows 7 tienen habilitado el cortafuegos por defecto, por lo que, para realizar el experimento, fue necesario deshabilitarlo en la maquina victima.


lunes, 20 de febrero de 2012

Captura de paquetes en redes inalámbricas Wi-Fi.

Como se menciono anteriormente es posible realizar capturas y análisis de paquetes en redes inalámbricas por medio de los módulos AirPcap de Riverbed Technology.

Estos módulos, los cuales se presentaron en una entrada anterior proporcionan el hardware y soporte necesarios para capturar, visualizar y analizar los encabezados IEEE 802.11.

Instalación de los modulos AirPcap.

Antes de proceder con el experimento es necesario instalar correctamente tanto los módulos como los controladores de software.

Para esto es necesario contar con el sistema operativo Microsoft Windows XP o superior y ya tener Wireshark instalado en el sistema, una vez cumplidos estos requerimientos puede instalar los controladores, los cuales pueden obtenerse ya sea desde el disco incluido con los módulos, o desde la pagina del fabricante[1], en cualquier caso basta con seguir las indicaciones del instalador, el cual le pedirá reiniciar el sistema una vez que termine.

Existe un problema que puede presentarse tras la instalación y que se manifiesta con Wireshark congelándose al iniciar si el modulo esta conectado a la computadora, este es un problema con el registro del sistema ya es del conocimiento del fabricante y la solución puede consultarse en la sección de preguntas frecuentes de Riverbed Technology [2].

Una vez que la instalación se halla realizado correctamente conecte el modulo AirpCap a un puerto USB e inicie Wireshark, si todo salio bien obtendrá una pantalla similar a la figura 1.

Figura 1: Pantalla de inicio de Wireshark con el modulo conectado
Capturando paquetes.

Para comenzar la captura de paquetes pulse sobre la interfaz AirPCap USB wireless capture adapter nr. 00 la cual representa al modulo AirPCap, hecho esto obtendra una pantalla similar a la figura 2.

Figura 2: Capturando paquetes Wi-Fi.

Notara una serie de diferencias en comparación con la captura atravez de Ethernet estas son:
  1. La lista de paquetes no muestra ningún coloreo.
  2. La columna de protocolo muestra uniformemente \emph{IEEE 802.11}.
  3. El área de detalles del paquete muestra los campos de la cabecera IEEE 802.11
  4. El dialogo de expresiones de filtrado ahora incluye filtros para IEEE 802.11


Fuera de estas diferencias pueden efectuarse todas las funciones de Wireshark, ya
sea almacenar los paquetes, ordenarlos según tipo, numero, fecha y aplicarles filtros.

 Filtrando paquetes Wi-Fi.

Como se menciono todas las características de Wireshark están a disposición para analizar los paquetes Wi-Fi, incluyendo el muy completo sistema de filtrado el cual incluye los campos en la sección adecuada del dialogo de expresiones de filtrado, mostrado en la figura 3.

Figura 3: Campos para filtrar paquetes Wi-Fi.

Con el fin de demostrar algunas de las posibilidades se presentara un ejemplo sencillo.

Filtrando paquetes de datos.

Una de las características de Wi-Fi es su uso de diversos tipos de paquetes los cuales se encargan de la señalización, control y envío de datos.

El que halla diversos tipos de paquetes puede hacer algo engorroso el capturar los paquetes deseados, pero para eso puede aplicarse un filtro muy sencillo el cual solo mostrara los paquetes que contengan datos.

Para hacer esto introduzca la expresión data en el campo de filtros y presione Apply, como muestra la figura 4.

Figura 4: Filtro Data.

Notara que el campo Info de la mayoria de los paquetes comienza ahora con la palabra "Data" y si da doble click sobre cualquiera de los paquetes encontrara que poseen la cabecera Data, como muestra la figura 5.

Figura 5: Contenido de un paquete de datos.


Referencias
[1] - Riverbed Support: Software - Wireshark
[2] - Riverbed Technology - AirPcap Frequently Asked Questions

martes, 14 de febrero de 2012

Captura de paquetes Wi-Fi en Wireshark : Módulos AirPCap


De todas las características proporcionadas por Wireshark hay una en particular que no le fue, ni puede ser, programada, el soporte por parte de la industria.

Esto no puede demostrarse mejor que observando los módulos AirPCap creados por la compañía Riverbed Technology, estos son módulos de hardware los cuales le permiten a Wireshark realizar una función que normalmente no podría realizarse, la captura y análisis de paquetes Wi-Fi.

Ahora si bien con determinados modelos de tarjetas de red es en efecto posible realizar capturas sobre una red inalámbrica, como muestra la figura 1.

Figura 1: Interfaz Inálambrica en Wireshark.

El resultado de esta captura no muestra toda la información que podría obtenerse ya que como muestra la figura 2 se muestra la información de las cabeceras Ethernet para abajo, pero no el encabezado Wi-Fi.

Figura 2: Captura Inalambrica solo con Wireshark.



Módulos AirPCap NX.

Los módulos AirPCap NX, como el mostrado en la figura 3 son adaptadores que le permiten a los analizadores de protocolos de red, como lo es Wireshark, comprender y proporcionar información sobre protocolos inalámbricos, como lo es el IEEE 802.11.

Figura 3: Modulo AirPcap NX.



En conjunto con los drivers y plugins para Wireshark, incluidos junto con el modulo, proporcionan las siguientes características:


  • Integración completa con Wireshark para un completo análisis de WLAN, visualización y reporte.
  • Monitoreo de múltiples canales.
  • Portátil y versátil.
  • Instalación fácil y sencilla.
  •  Rendimiento profesional.
  • Captura en canales de 20Mhz y 40MHz.
  • Soporte de IEEE 802.11a/b/g/n.
  • Decodificación detallada de las tramas de control, manejo y datos.
  • Dos antenas internas mas dos conectores MC-Card para antenas externas.
  • Soporte de MIMO 2x2.
  • Soporte de captura Multicanal.
  • Modulaciones CCK, OFDM, HT-OFDM y MCS 0-15.


A su vez el empaque de los módulos puede observarse en las figura  4 .

Figura 4: Empaque del módulo AirPcap.

Este contiene lo mostrado en la figura 5, Un par de antenas, manual, disco de controladores, cables conectores y el modulo en si.

Figura 5: Contenido.

jueves, 9 de febrero de 2012

BibTeX: Manejo de bibliografia en LaTeX

A la hora de realizar un trabajo en una universidad o tecnológico es común y de hecho esperado que se pidan los nombres de los libros, artículos y sitios web de donde se obtuvo la información, a esto se le conoce como referencias bibliograficas.

Dado que son requeridas en todo documento de investigación serio, LaTeX proporciona un sistema para su manejo y presentación.

Sin embargo, como muchas cosas sobre el LaTeX, los tutoriales disponibles en linea son muy ávidos en mostrar su uso sin dar a conocer las peculiaridades que pueden aparecer, desde pasos extra necesarios para compilar adecuadamente dichas referencias a como hacer que todas sean visibles.

Por esto, y siguiendo el mismo espíritu que las otras entradas sobre LaTeX, se presentara como utilizar, y las peculiaridades y detalles, del sistema de referencias BibTeX.

Antes de comenzar hay que aclarar que los comandos que se mostraran son los utilizados por el entorno LaTeX tex live para sistemas UNIX, por lo que si esta utilizando otro entorno LaTeX,  es posible que los comandos cambien.

Archivos de bibliografía

Para comenzar el archivo de referencias a usar se muestra a continuación, cópielo en un archivo con nombre "dibujar.bib"

@book{teoria_comics,
   author    = "Will Eisner",
   title    = "Theory of Comics and Sequential Art",
   edition    = "Second",
   year        = "1990",
   publisher    = "Poorhouse Press"
}

@book{entintado,
   author    = "Gary Martin and Steve Rude",
   title    = "The Art of Comic-Book Inking",
   edition    = "First",
   year        = "1997",
   publisher    = "Dark Horse"
}

@misc{solo_lapiz,
   author    = "Jason Brubaker",
   title    = "Inking a Graphic Novel?",
   year        = "2010",
   howpublished    = {\url{http://www.remindblog.com/2010/02/18/inking-graphic-novel/}},
   note        = "[Accesado 9-Feb-2012]"
}



Notara que en el archivo hay tres secciones que comienzan con el carácter @ y terminan con }, cada una de estas secciones es una entrada de la bibliografía.

Estas siguen siempre el mismo formado que es

@<tipo_de_referencia>{<identificador>,
   <campo> = <valor del campo>,
   ...

}


Pudiendo poner la cantidad de campos que sean necesarios, siempre recordando que todos los campos, con excepción del ultimo, deben de llevar una coma antes de comenzar el siguiente campo.

Los tipos de referencia disponibles y sus campos pueden consultarse en la documentación de LaTeX, pero se dará algo de atención a uno en particular, el tipo de referencia misc.

Tipo misc

Si bien LaTeX maneja los tipos de referencias clásicos, libros, artículos, conferencias, etc, no tiene un campo exclusivo para referencias electrónicas como pueden ser paginas web o vídeos disponibles en internet, ante esto puede usarse el tipo misc, junto con el campo howpublished para hacer referencia a referencias electrónicas.

Citando la bibliografía

Ahora que tenemos una colección de referencias bibliográficas, que en este caso son sobre dibujo de comics y novelas gráficas, a llegado el momento de ponerla en uso y citarla desde algún documento, para motivos del ejemplo se utilizara el siguiente archivo, el cual se recomienda copiarlo a un archivo con nombre referencias.tex

\documentclass[12pt, spanish]{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}%cambie utf8 a latin1 en Windows
\usepackage{hyperref}

\begin{document}

En este documento de muestra haremos una referencia a un libro sobre arte secuencial \cite{teoria_comics} y a una pagina con tips para entintar comics \cite{solo_lapiz}.

\bibliographystyle{plain}
\bibliography{dibujar}

\end{document}


En este documento se usa el comando \cite{<identificador>} para hacer referencia a un elemento de la bibliografía, esto hará que aparezca un numero en donde esta \cite, el cual indica a que numero de entrada nos estamos refiriendo.
Los otros dos comandos nuevos son \bibliographystyle{plain} y \bibliography{dibujar} , el primero indica como deseamos que se vea la bibliografía y en general plain hará el trabajo.

El segundo por su parte es esencial, pues le indica a LaTeX, como se llama la bibliografía, o bibliografías, que utilizaremos, su uso es bastante simple

\bibliography{<archivo_bib_sin_extension>}

sencillamente hay que poner el nombre del archivo de bibliografía sin extensión entre las llaves, en el caso de usar mas de una bibliografía basta con poner los nombre de los archivos sin extensión separados por comas.

Hecho esto basta usar el comando pdflatex (o la instrucción de compilar si esta usando un entorno para obtener....

Detalles y observaciones sobre BibTeX en el entorno Tex Live

LaTeX Warning: There were undefined references.

Un mensaje de advertencia ¡Informándonos que hay referencias sin declarar en el documento!

No solo eso, si revisamos la salida pdflatex observaremos que marca como no definidas todas las citas que se hicieron en el documento, y si abrimos el archivo resultante veremos esto:


Figura 1: Documento generado por pdflatex.
Este es, de nuevo, uno de esos errores que no es mencionado por ninguno de los tutoriales, lo que me hace pensar que es algo que solo pasa en tex live, y que es un dolor de cabeza averiguar que salio mal, lo que pasa aquí es simple, se requiere un paso extra para poder utilizar las bibliografías BibTeX en Tex Live.

Este paso es ejecutar el comando bibtex en el archivo .aux generado por pdflatex, en este caso particular referencias.aux, el hacer esto mostrara cualquier error de sintaxis en los archivos de bibliografía utilizados (dibujar.bib en este caso) y si todo sale bien generara los archivos referencias.bbl y referencias.blg los cuales contienen las referencias en un formato que pdflatex puede comprender, hecho esto  basta correr el comando pdflatex referencias.tex en dos ocasiones (se requiere ejecutarlo dos veces para detectar y asignar los identificadores de referencias en el archivo y se requiere tanto en Tex Live como en MikTex) para obtener el archivo correcto mostrado en la figura 2.

Figura2: Salida correcta.

Aquí ya se pueden ver no solo los números de referencia bibliográfica, si no que además, al final del documento, donde se llamo al comando \bibliography{dibujar}, aparecen los datos de bibliografía de las entradas que se citaron.

Para concluir es posible que en algún documento desee mostrar toda la bibliografía que se tiene, pero no se desea citar toda desde el texto, para este caso basta con agregar el comando \nocite{*} antes de bibliographystyle{plain} y \bibliography{dibujar}, al hacer esto le esta indicando a LaTeX que no se harán citas, pero se desea mostrar la bibliografía completa.

Si agrega este comando al archivo referencias.tex y lo compila con los comandos:
  1. pdflatex referencias.tex
  2. bibtex referencias.aux
  3. pdflatex referencias.tex
  4. pdflatex referencias.tex
En ese orden obtendrá el resultado mostrado en la figura 3.

Figura 3: Bibliografia usando \nocite{*}


Referencias:

stackOverflow - Compiling LaTex bib source
LaTeX/Bibliography Management