Suscribirse al Feed
17Sep

El ataque Man In the Middle [video tutoriales]

La verdad existe ya bastante información acerca de este fascinante ataque, pero me aventuro a proporcionar mi propia definición:

El ataque Man in the Middle (hombe en el medio), es una técnica de hacking cuya finalidad es situar al equipo atacante en medio del equipo víctima y el router. Esto es necesario puesto que en una red que funciona con un switch, los paquetes viajan directamente entre el equipo victima y el router, por lo tanto no basta con esnifar la red en modo promiscuo.

La manera en que el equipo víctima identifica el router, y viceversa, es usando el protocolo ARP, esto es: verificando la dirección MAC e IP de la tarjeta de red el otro equipo (en la tabla ARP).Siendo así, la técnica más común para llevar a cabo un ataque Man-in-the-middle es el ARP Spoofing, en la que el equipo atacante envenena la tabla ARP tanto del equipo víctima (haciéndose pasar por el router) como del router (haciéndose pasar como el equipo víctima), y por lo cual todos los paquetes que envíe o reciba dicho la víctima circularán a través de nuestra red.

No está demás aclarar que mientras tengamos bajo un ataque man inthe middle al PC víctima y al router, es necesario hacer un forwarding (reenvio) de paquetes. De lo contrario dejaríamos sin conexión a la víctima, lo cual es muy sospechoso.

¿Entendible? :twisted: Puede que el tema sea algo duro de digerir al principio, puede que no sea bueno explicando cosas, puede que tú no tengas claros algunos conceptos, en todo caso ¿qué tal si miramos cómo funciona esto con algunos video tutoriales?

Pero antes, sería bueno que tuvieras claro el cómo funciona el protocolo ARP: Lectura fácil en la Wikipedia, y el bonito RFC 826 [aquí en español].

Video tutoriales

Los siguientes tres video tutoriales axplican en detalle cómo funciona el ARP Spoofing; y fueron creados por Miguel Angel Calvo (todos los derechos reservados):

¿A poco no son geniales? En los videos anteriores se utiliza Ettercap para realizar el ARP Spoofing. Por supuesto, existen otras maneras de hacerlo, y es lo que veremos a continuación.

ARP Spoofing y ataque Man In the Middle usando dsniff y fragrouter

Iba a escribir algo acerca de cómo hacer ARP Spoofing utilizando las herramientas dsniff (comando arpspoofing) y fragrouter, ambas en los repositorios de la mayoría de las distros. Afortunadamente Informático de Guardia me comentaba que él ya ha escrito acerca los ataques Man in the Mittle, y prescisamente usa dichas herramientas. Así que te invito a que leas en su blog acerca de ello: Ataque man-in-the-middle.

16Sep

[video tutorial] Usar tcpxtract para recuperar archivos capturados con Wireshark

Los paquetes que viajan por la red frecuentemente son trozos de archivos demasiado grandes para ser enviados completos; además, puesto que estos paquetes pueden ser de archivos binarios (imágenes, videos, ejecutables, etc.), no basta con buscar dentro del Wireshark información de los paquetes (no vamos a entender nada).

Esta entrada está acompañada con un video tutorial, en donde aprenderemos a reconstruir los paquetes capturados con Wireshark usando tcpxtract, de tal manera que podamos ver los archivos que envió y recibió el equipo víctima.

Antes de ver el video, observemos el proceso completo:

Puedes encontrar tcpxtract en los repositorios de tu distribución, por lo que en Debian o Ubuntu basta con ejecutar el siguiente comando:

sudo apt-get install tcpxtract

O descargar el código fuente y construirlo tu mismo:

tar xvzf tcpxtract-1.0.1.tar.gz
cd tcpxtract-1.0.1
./configure
make
sudo make install

Uso del tcpxtract

Ahora supongamos que el fichero de captura se llama captura; para extraer los archivos de la captura y guardarlos en la carpeta archivos_capturados ejecutamos el siguiente comando:

tcpxtract --file captura --output archivos_capturados

Es todo, sencillo pero eficaz. Podemos además utilizar el tcpxtract para escuchar directamente sobre una interfaz de red, con lo que nos ahorramos el uso del Wireshark, por ejemplo:

tcpxtract --device eth0 --output archivos_capturados

Si te preguntas porqué querría capturar los paquetes que envía y recibe nuestro propio equipo, tal vez estás ignorando que: cuando realizamos un ataque Man in the middle todos los paquetes que envía y recibe el equipo víctima pasan por nuestra interfaz de red.

Veamos ahora el video del tcpxtract en acción:

Ver el video (2,6 MB)

Descargar video

13Sep

Filtrando paquetes en Wireshark [video tutorial]

En este pequeño artículo aprenderemos a usar los filtros del Wireshark, de tal manera que una vez hayamos realizado las capturas pertinentes podamos buscar información específica. Este tema es algo extenso, y requiere sobre todo de mucha atención e imaginación. Por tanto he hecho un pequeño video donde aprenderemos a hacerlo!

La sinopsis del video ejemplo es la siguiente:

  • Capturamos los paquetes de nuestra propia conexión con el Wireshark
  • Nos logueamos en una página que use cifrado SSL (HTTPS) y otra sencilla (HTTP)
  • Usando los filtros del Wireshark buscamos el usuario y el password con el que nos logueamos

Enlace y descarga

Ver el video (2 MB)

Descargar video

22Ene

parleys.com, excelente ejemplo de RIA + Java

Stephan Jannsen ha presentado la versión 2 beta de su sitio parleys.com. Esta es una aplicación web que nos permite ver videos y presentaciones de charlas sobre temas reliacionados con Java y de ingeniería de Software en general.

Después de las numerosas sugerencias que Stephan recibió recíen iniciaba el proyecto, se dió cuenta que no podía realizarlo todo usando apenas Ajax, por lo que en esta versión Parleys hace uso de Flex.

Así que decidió buscar otra solución. La arquitectura de Parleys v. 1. fue: El servidor es JEE, persistencia con Hibernate, servicios mediante Spring, webwork en la capa de presentación y Velocity para el templating. Para Ajax y funcionalidad javascript prototype y scriptaculous.

Lo que resulta realmente interesante de esta noticia, es el cómo Stephan ha combinado de una manera tan exquísita RIA + Java. Además comenta que, en su búsqueda por encontrar la solución, busco otras alternatvas como Prism un proyecto de Mozilla, Swing, JavaFX, Silverlight de MS, pero que finalmente se quedó con Flex.

Parleys v2

04Dic

[código] Introducción a los subprogramas de Java (Applets)

En esta sección se puedes descargar subprogramas básicos de Java, también llamados Applets, que son programas diseñados para transportarse a través de Internet y ejecutarse en navegadores Web (como el Internet Explorer, Opera, FireFox, etc.). Hay muchos otros applets en la sección de demos del J2DSK(j2sdk1.4.1/demo/applets), en los cuales te puedes basar.

Nuestro primer subprograma en Java


// Nuestro primer subprograma en Java.
// Paquetes de Java
import java.awt.Graphics;    // importar la clase Graphics
import javax.swing.JApplet;  // importar la clase JApplet
public class SubprogramaBienvenido extends JApplet
{
	// dibujar texto en el fondo del subprograma
	public void paint( Graphics g )
	{
		// llamar a la versión del método paint de la superclase
		super.paint( g );
		// dibujar un String en la coordenada x 25 y la coordenada y 25
		g.drawString( "¡Bienvenido a la programación en Java!", 25, 25 );
	}// fin del método paint
}// fin de la clase SubprogramaBienvenido

Descargar código fuente

Mostrar varias cadenas en un subprograma


// Mostrar varias cadenas en un subprograma.
// paquetes de Java
import java.awt.Graphics;    // importar la clase Graphics
import javax.swing.JApplet;  // importar la clase JApplet
public class SubprogramaBienvenido2 extends JApplet
{
	// dibujar texto en el fondo del subprograma
	public void paint( Graphics g )
	{
		// llamar a la versión del método paint de la superclase
		super.paint( g );
		// dibujar dos valores String en diferentes ubicaciones
		g.drawString( "¡Bienvenido a", 25, 25 );
		g.drawString( "la programación en Java!", 25, 40 );
	}// fin del método paint

} // fin de la clase SubprogramaBienvenido2

Descargar código fuente

Mostrar texto y dibujar líneas

// Mostrar texto y líneas.
// Paquetes de Java
import java.awt.Graphics;    // importar la clase Graphics
import javax.swing.JApplet;  // importar la clase JApplet
public class LineasBienvenido extends JApplet
{
	// dibujar líneas y una cadena en el fondo del subprograma
	public void paint( Graphics g )
	{
		// llamar a la versión del método paint de la superclase
		super.paint( g );
		// dibujar una línea horizontal, desde (15, 10) hasta (250, 10)
		g.drawLine( 15, 10, 250, 10 );
		// dibujar una línea horizontal desde (15, 30) hasta (250, 30)
		g.drawLine( 15, 30, 250, 30 );
		// dibujar String entre líneas, en la ubicación (25, 25)
		g.drawString( "Bienvenido a la programacion en Java!", 25, 25 );

	} // fin del método paint

} // fin de la clase LineasBienvenido

Descargar código fuente

Suma dos números de punto flotante

// Suma dos números de punto flotante.
// paquetes de Java
import java.awt.Graphics;   // importar la clase Graphics
import javax.swing.*;       // importar el paquete javax.swing
public class SubprogramaSuma extends JApplet
{
	double suma;  // la suma de los valores introducidos por el usuario

	// inicializar el subprograma, obteniendo los valores del usuario
	public void init()
	{
		String primerNumero;   // primera cadena introducida por el usuario
		String segundoNumero;  // segunda cadena introducida por el usuario
		double numero1;       // primer número a sumar
		double numero2;       // segundo número a sumar
		// obtener el primer número del usuario
		primerNumero = JOptionPane.showInputDialog("Escriba el primer valor de punto flotante" );
		// obtener el segundo número del usuario
		segundoNumero = JOptionPane.showInputDialog("Escriba el segundo valor de punto flotante" );
		// convertir los números de tipo Stromg a tipo double
		numero1 = Double.parseDouble( primerNumero );
		numero2 = Double.parseDouble( segundoNumero );
		// sumar los números
		suma = numero1 + numero2;
	}// fin del método init
	// dibujar los resultados en un rectángulo en el fondo del subprograma
	public void paint( Graphics g )
	{
		// llamar a la versión del método paint de la superclase
		super.paint( g );
		// dibujar un rectángulo, empezando desde (15, 10), que tenga 270
		// píxeles de ancho y 20 píxeles de alto
		g.drawRect( 15, 10, 270, 20 );
		// dibujar los resultados como String en (25, 25)
		g.drawString( "La suma es " + suma, 25, 25 );
	}// fin del método paint
} // fin de la clase SubprogramaSuma

Descargar código fuente

El famoso juego Gato o Triqui

Este lo he tomado del j2sdk1.4.1/demo/applets; el código es demaciado largo así que solo pondré el link de descarga:

Descargar código fuente

05Oct

Videos: Curso de Seguridad informática

Dos nuevos videos para la colección! Esta vez el tema es el la Seguridad Informática, un curso dictado por Antonio Ramos Varón, experto en sistemas Linux, Novell Suse, Windows NT. Autor de libros Hacking y Seguridad en Internet.

Video en español. Duración: 9:59 min

Video en español. Duración: 3:42 min
Lo he visto en CRYPTEX

© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS