SlideShare ist ein Scribd-Unternehmen logo
1 von 123
Rompiendo el protocolo: Usos y Abusos de TCP/IPDaniel Torres Falkonert (bytemare) bytemare@lownoisehg.orgtwitter: @bytemarehackhttp://www.lownoisehg.org
Agenda Avisos Parroquiales ¿Qué es romper el protocolo? Obedeciendo las reglas Rompiendo El protocolo Ejemplos Conclusiones
Grupo de Investigación (Hacking only)  Creado en 1995  Multidisciplinario (No sólo Ingenieros)  Objetivo Común: Seguridad vs. Inseguridad  Sin Ánimo de Lucro  Recursos Propios  Sin Afiliación a Empresas/Entidades ¿ Qué es LowNoise HG ?
Sobre bytemare Descubrí el gusto por los computadores desde los 4 años (Gracias papá!!) En el mundo de la seguridad desde el año 96 Ingeniero de Sistemas (Uniandes) Especialista en seguridad de la información (Uniandes) Trabajo en Informática Forense desde el 2003 Mi primer computador
Disclaimer Todo lo que se hable y se muestre en esta charla es el resultado de investigaciones con fines educativos. Todo descubrimiento realizado, ha sido y será usado de forma legal, por LNHG. La audiencia debe asumir todo lo se exponga hoy, como “falso” y “sin fundamento” hasta que lo compruebe personalmente.
Prerrequisitos Conocimientos generales de redes TCP/IP Programación en C Creatividad e imaginación No tenerle miedo al bajo nivel
¿Qué es romper el protocolo? protocolo. (Del b. lat. protocollum, y este del gr. πρωτόκολλον). 1. m. Serie ordenada de escrituras matrices y otros documentos que un notario o escribano autoriza y custodia con ciertas formalidades. 2. m. Acta o cuaderno de actas relativas a un acuerdo, conferencia o congreso diplomático. 3. m. Regla ceremonial diplomática o palatina establecida por decreto o por costumbre. 4. m. Plan escrito y detallado de un experimento científico, un ensayo clínico o una actuación médica.
Esencialmente es encontrar usos no intencionados a las leyes y propiedades  de un sistema para aplicarlas en formas nuevas e inventivas para resolver un problema
No todo tiene que ver con seguridad 10
Siguiendo el protocolo Para romper las reglas, primero debemos conocerlas
Protocolo IP “Es un protocolo no orientado a conexión usado tanto por el origen como por el destino para la comunicación de datos a través de una red de paquetes conmutados”
Protocolo IPv4 local ISP local ISP Tier 3 ISP local ISP local ISP Tier-2 ISP Tier-2 ISP NAP Tier-2 ISP local ISP Tier-2 ISP Tier-2 ISP local ISP local ISP local ISP Provee 3 servicios primarios Direccionamiento Global Servicio de datagramas no fiable (Besteffort) Fragmentación Tier 1 ISP Tier 1 ISP Tier 1 ISP
Capa de red Diferentes problemas afectan la red . Daños de Hardware Congestión en la red Malas configuraciones … Diferentes tecnologías Esto puede tener diferentes efectos Pérdidas Duplicaciones  Fragmentación Retardos daños en los datos …
Servicio Confiable ¿Cómo asegurar la confiabilidad a las aplicaciones si los protocolos inferiores no son confiables?
TCP Rfc 793
TCP sobre IP Conexión Confiable TCP TCP Envío no confiable (unreliable)  IP IP
Aplicaciones que usan TCP
Encabezado Payload Datos Originales TCP divide los datos en paquetes… Añade los encabezados a cada paquete En el destino, se usa la información de los encabezados para reensamblar los datos originales Fragmentación en el origen(Flujo no estructurado)
Confirmación Positiva con Retransmisión Host 2 Host 1 Paquete Perdido Enviar paquete Iniciar Temp. El paquete debería llegar Y se debería enviar un ACK Temp El ACK debería llegar Expira el tiempo Retransmitir Paquete 1 Iniciar Temp Recibe Paquete 1 Envía ACK 1 Temp Recibe ACK 1 Cancelar  Temp
Pero la confirmación positiva es leeeenta
A menos que se utilicen Ventanas Deslizantes
3-23 Administración de Conexión en TCP ,[object Object],client server Requerimientode Conexión SYN=1, seq=client_isn Conexiónpermitida SYN=1, seq=server_isn,ack=client_isn+1 ACK SYN=0, seq=client_isn+1,ack=server_isn+1
3-24 Administración de Conexión en TCP ,[object Object],cliente servidor Requerimientode Conexión SYN=1, seq=client_isn Conexiónpermitida SYN=1, seq=server_isn,ack=client_isn+1 ACK SYN=0, seq=client_isn+1,ack=server_isn+1
Capa Transporte 3-25 Administración de la conexión TCP (cont.) Cerrando una conexión: Puede ser iniciado por el servidor, aquí suponemos lo inicia el cliente. Paso 1: host cliente envía segmento TCP FIN al servidor Paso 2:servidor recibe FIN, responde con ACK. Ante un cierre de conexión de la aplicación y envía FIN.  Paso 3:cliente recibe FIN, responde con ACK.  ,[object Object],Paso 4:servidor, recibe ACK.  Pasa a conexión cerrada.  cliente servidor Cerrando FIN ACK Cerrando FIN ACK Cerrado Cerrado
Números de Secuencia Todo octeto de datos enviado por una conexión de TCP tiene asociado un número de secuencia  Si hay un problema con un paquete solo se retransmite esta porción de los datos El mecanismo de acuse de recibo empleado es acumulativo, de tal forma que el acuse de recibo de un número de secuencia X indica que todos los octetos hasta, pero no incluyendo, X, han sido recibidos  Este mecanismo permite la detección fácil y directa de duplicados o pérdida de segmentos.  26
Documentación Los rfc son las fuentes definitivas sobre los protocolos ARP (rfc826), IP (rfc791), ICMP (rfc792), TCP (rfc793), UDP (rfc768), … http://www.faqs.org/rfcs/
Romper el protocolo Porque las reglas se hicieron para romperlas
Port Scanning Se utiliza para saber qué puertos tiene abiertos un sistema. Se utilizan características básicas de TCP/IP para implementar la técnicas Se puede realizar con 2 enfoques Positivo Negativo 29 Daniel Torres Falkonert (C) 2008
Enfoque positivo Basado en las respuestas de los puertos que responden que están abiertos Rápido Confiable Fácil de detectar por la cantidad de paquetes 30 Daniel Torres Falkonert (C) 2008
TCP Connect Puerto Abierto Puerto Cerrado 31 Syn Syn Syn+Ack Rst+Ack Ack Rst No requiere privilegios e administrador Utiliza Stream Sockets Congestiona la red si se hacen muchas pruebas
TCP Half Open Scan Puerto Abierto Puerto Cerrado 32 Syn Syn Syn+Ack Rst+Ack Rst Requiere privilegios de administrador Utiliza Raw Sockets Congestiona un poco menos la red Daniel Torres Falkonert (C) 2008
Enfoque Negativo Basado en las respuestas de los puertos que responden que están cerrados Lento Poco fiable Un poco más difícil de detectar pero los paquetes tienen opciones sospechosas 33 Daniel Torres Falkonert (C) 2008
Null Stealth Scan Puerto Abierto Puerto Cerrado 34 Rst+Ack Requiere privilegios de administrador Utiliza Raw Sockets Congestiona poco la red Daniel Torres Falkonert (C) 2008
XMAS Stealth Scan Puerto Abierto Puerto Cerrado 35 Fin+Psh+Urg Fin+Psh+Urg Rst+Ack Requiere privilegios de administrador Utiliza Raw Sockets Congestiona poco la red Daniel Torres Falkonert (C) 2008
IP Spoofing “Suplantación de IP. Consiste básicamente en sustituir la dirección IP origen de un paquete TCP/IP por otra dirección IP a la cual se desea suplantar. “
Reset Hijacking
RST Hijacking Note las direcciones MAC
Fin Hijacking
Fin Hijacking ,[object Object],[object Object]
Idle Scanning SourceDestinationPortsFlagsInfo ¿Host inactivo? 200.21.33.129       125.33.12.55     61976 > 666 [SYN, ACK] IPid: 0x07e9 (2025) 125.33.12.55        200.21.33.129    666 > 61976 [RST] IPid: 0x5e93 (24211) 200.21.33.129       125.33.12.55     62180 > 666 [SYN, ACK] IPid: 0x75d3 (30163) 125.33.12.55        200.21.33.129    666 > 62180 [RST] IPid: 0x5e94 (24212) Puerto Abierto: 125.33.12.55        157.253.33.144   666 > 22    [SYN]       IPid: 0x5caa (23722) 125.33.12.55        200.21.33.129    666 > 62093 [RST] IPid: 0x5e96 (24214) Puerto Cerrado: 125.33.12.55        157.253.33.144   666 > 110   [SYN] IPid: 0xe2cd (58061) 125.33.12.55        200.21.33.129    666 > 61980 [RST] IPid: 0x5e97 (24215)
Idle Scanning
Idle Scanning SourceDestinationPortsFlagsInfo ¿Host inactivo? 200.21.33.129       125.33.12.55     61976 > 666 [SYN, ACK] IPid: 0x07e9 (2025) 125.33.12.55        200.21.33.129    666 > 61976 [RST] IPid: 0x5e93 (24211) 200.21.33.129       125.33.12.55     62180 > 666 [SYN, ACK] IPid: 0x75d3 (30163) 125.33.12.55        200.21.33.129    666 > 62180 [RST] IPid: 0x5e94 (24212) Puerto Abierto: 125.33.12.55        157.253.33.144   666 > 22    [SYN]       IPid: 0x5caa (23722) 125.33.12.55        200.21.33.129    666 > 62093 [RST]       IPid: 0x5e96 (24214) Puerto Cerrado: 125.33.12.55        157.253.33.144   666 > 110   [SYN] IPid: 0xe2cd (58061) 125.33.12.55        200.21.33.129    666 > 61980 [RST] IPid: 0x5e97 (24215)
SourceDestinationPortsFlagsInfo 200.21.33.129       125.33.12.55     61976 > 666 [SYN, ACK] IPid: 0x07e9 (2025) 125.33.12.55        200.21.33.129    666 > 61976 [RST] IPid: 0x5e93 (24211) 200.21.33.129       125.33.12.55     62180 > 666 [SYN, ACK] IPid: 0x75d3 (30163) 125.33.12.55        200.21.33.129    666 > 62180 [RST] IPid: 0x5e94 (24212) 125.33.12.55        157.253.33.144   666 > 22    [SYN]       IPid: 0x5caa (23722) 157.253.33.144      125.33.12.55     22 > 666    [SYN, ACK] IPid: 0x0000 (0) 125.33.12.55        157.253.33.144   666 > 22    [RST] IPid: 0x5e95 (24213) 200.21.33.129       125.33.12.55     62093 > 666 [SYN, ACK] IPid: 0xf34d (62285) 125.33.12.55        200.21.33.129    666 > 62093 [RST] IPid: 0x5e96 (24214) 125.33.12.55        157.253.33.144   666 > 110   [SYN] IPid: 0xe2cd (58061) 157.253.33.144      125.33.12.55     110 > 666   [RST, ACK] IPid: 0x0000 (0) 200.21.33.129       125.33.12.55     61980 > 666 [SYN, ACK] IPid: 0x537d (21373) 125.33.12.55        200.21.33.129    666 > 61980 [RST] IPid: 0x5e97 (24215)
Jugando con ICMP Redirect y volviendo obsoleto el arp cache poisoning Un ejemplo más elaborado
ICMP Redirect Imagen tomada de [7]
Redireccionamiento Un paquetepara 192.168.1.x Reenvío 1st paquete redireccion Los siguientes paquetes Los hosts aprenden nuevas rutas por medio de redireccionamiento 192.168.20.0 192.168.1.0 192.168.1.1 Router 206.71.183.1 192.168.20.1 Router 206.71.183.2 IP 106.91.183.9 Default router     106.91.183.2 106.91.183.0 Host
Ataque de suplantación DNS, con la técnica de redirección ICMP El objetivo de este ataque es realizar una suplantación del servicio de DNS utilizado por el sistema con dirección IP 192.168.1.104 con dirección MAC 00:21:70:ED:EA:50.  Se aplicará la técnica de redirección a través de mensajes ICMP código 5 tipo 1 [1], que permiten cambiar dinámicamente la tabla de enrutamiento de un host.  El ataque fue realizado desde un sistema GNU/Linux 2.6.20 contra un Sistema Windows XP SP3. Para realizar la suplantación de DNS se utilizó la herramienta dnsspoof.
Ataque de suplantación DNS, con la técnica de redirección ICMP Este ataque tiene un efecto similar al ataque de hombre en el medio a través del envenamiento de la tabla ARP, sin embargo, tiene varias diferencias significativas: Modifica las tablas de enrutamiento de la víctima Un único paquete para que la víctima redirija el tráfico hacia el sistema del atacante por un tiempo razonable.  No redirige todo el tráfico de la víctima.
Ataque de suplantación DNS, con la técnica de redirección ICMP
Ataque de suplantación DNS, con la técnica de redirección ICMP Configuración de la red de la víctima
Ataque de suplantación DNS, con la técnica de redirección ICMP Tabla ARP de la víctima donde se puede ver la dirección MAC de el enrutador que usa por defecto.
Ataque de suplantación DNS, con la técnica de redirección ICMP Tabla de enrutamiento. no aparecen entradas que dirijan el tráfico hacia el servidor DNS, es importante tener esto en cuenta para más adelante notar el efecto del ataque.
Ataque de suplantación DNS, con la técnica de redirección ICMP Ruta previa al ataque hacia el servidor DNS (solo los primeros 3 saltos) el tráfico dirigido al servidor DNS se realiza a través de la puerta de enlace por defecto.
Ataque de suplantación DNS, con la técnica de redirección ICMP Mostramos que no se puede encontrar el nombre de dominio www.banco.com.co ejecutando nslookup en la víctima
Ataque de suplantación DNS, con la técnica de redirección ICMP En la captura de tráfico se puede confirmar que el servidor DNS no puede resolver el dominio
Ataque de suplantación DNS, con la técnica de redirección ICMP Configuración de la red del atacante
Ataque de suplantación DNS, con la técnica de redirección ICMP Se configuró y ejecutó la herramienta DNS Spoof, notese que se responderá con la dirección local del atacante a toda solicitud de resolución de nombres relacionada con el dominio banco.com.co
Ataque de suplantación DNS, con la técnica de redirección ICMP Note en la Fig. que la dirección MAC destino de la solicitud de resolución está dirigida a la dirección MAC de la puerta de enlace por defecto. Este es un detalle importante a tener en cuenta para ver el efecto del ataque.
Ataque de suplantación DNS, con la técnica de redirección ICMP tráfico generado al enviarle el paquete que causará la modificación de la tabla de enrutamiento del sistema víctima. Nótese que  el mensaje ICMP “redirect for host” envía a la víctima suplantando la dirección de la puerta de enlace por defecto.   Dado que todavía no ha habido comunicación desde el sistema atacante con la víctima,  es necesario hacer una solicitud de arp en busca de la dirección MAC correspondiente a la ip 192.168.1.101 (Víctima).
Ataque de suplantación DNS, con la técnica de redirección ICMP En el detalle del mensaje ICMP (Fig. 15) se le informa que la ruta hacia la dirección IP 190.157.2.140 (servidor de nombres de la víctima) ha cambiado y que ahora la puerta de enlace para este host ahora es la 192.168.1.130 (Sistema del atacante).  Note que el paquete se origina desde la dirección MAC 00:0c:29:a7:bf:5f que corresponde a la máquina del atacante, sin embargo, la dirección origen es 192.168.1.1 que es la del Gateway por defecto, cuya dirección MAC es la 00:21:29:78:ba:ae. Esto es una clara utilización de la técnica de suplantación IP (IP Spoofing).
Ataque de suplantación DNS, con la técnica de redirección ICMP Actualización de la tabla arp de la víctima
Ataque de suplantación DNS, con la técnica de redirección ICMP Tabla de enrutamiento de la víctima. Note la tercera entrada de la tabla.
Ataque de suplantación DNS, con la técnica de redirección ICMP Se logró suplantar al servidor de nombres, se ejecutó de nuevo un ping al nombre de dominio www.banco.com.co, para demostrar que ahora este se resuelve a la dirección IP del sistema atacante.
Ataque de suplantación DNS, con la técnica de redirección ICMP puede observase el proceso que sigue la aplicación ping ejecutada desde el sistema víctima, donde primero hace una solicitud ARP para averiguar la puerta de enlace a utilizar para dirigir el datagrama con la petición DNS, luego esta última se realiza y se responde suplantando al servidor DNS, en este punto es cuando entra en juego la aplicación dnsspoof. Y los siguientes paquetes muetran una secuencia normal ICMP echo request/reply (ping) desde el sitema víctima a la dirección ip resuelta por el supuesto DNS, que resulta ser la misma dirección desde la que se ejecutó el ataque, vale la pena decir que esta respuesta se hubiera podido dirigir a cualquier otra dirección IP.
Ataque de suplantación DNS, con la técnica de redirección ICMP Note como cambia la ruta a seguir para llegar al servidor DNS, nótese que ahora el primer salto es el sistema atacante y no la puerta de enlace por defecto.
Ataque de suplantación DNS, con la técnica de redirección ICMP Muchas veces la diferencia entre bug y funcionalidad es difusa.  Este ataque puede extenderse para atacar otros servicios.
Desarrollo de Herramientas de hacking The Lord of the Bits
Hacking y programación ¿Para qué desarrollarlas? Adaptarse fácilmente a diferentes entornos Implementación de nuevas técnicas Modificar otras herramientas Evitar la detección
Herramientas de Hacking “A network security tool is an algorithmic implement that is designed to probe, assess, or increase the overall safety of or to mitigate the risk associated with an entity across a communications medium”. Mike Schiffman[7] Network securitytool== herramienta de hacking
Mini-Introducción a la programación de Redes Lo quedebióaprender en el curso de redes
Berkeley Sockets
Berkeley Sockets Son estructuras de datos que permiten la comunicación entre procesos. En nuestro caso a través de una red Los “Berkeley sockets” (A.K.A. BSD socket API) son una librería que permite su implementación. Es el estándar para sockets de red.
Socket: es una puerta entre el proceso aplicación y el protocolo de transporte de extremo a extremo (UCP o TCP)‏ Controlado por El desarrollador De la aplicación Controlado por El desarrollador De la aplicación proceso Sockets  proceso socket socket TCP con buffers, variables TCP con buffers, variables Controlado por el sistema operativo Controlado por el sistema operativo Internet servidoro cliente cliente o servidor
Visto de otra forma Puerto Puerto Proceso Proceso Transporte Host Host 76
Familias de Sockets Pueden ser: PF_INET para IPv4 PF_INET6  para IPv6. PF_PACKET para protocolos capa de enlace PF_UNIX comunicación local Dependiendo de la capa en la que se quiere trabajar hay diferentes tipos de socket
Stream Sockets (Capa de transporte) Se utilizan en la mayoría de los casos, en especial cuando no es necesario manipular los campos de los protocolos de red y transporte Pueden ser: De Flujo (Stream) sd = socket (PF_INET, SOCK_STREAM, 0) De Datagramas sd = socket (PF_INET, SOCK_DGRAM, 0) 0 se refiere al protocolo por defecto de transporte Más información: man 7 socket
Raw Sockets (Capa de Internet) Se utilizan para acceder a los protocolos de la capa de internet. Permiten manipular el segmento de datos  Se llaman Raw Sockets: sd = socket (PF_INET, SOCK_RAW, <Protocol>) Protocol puede ser: IPPROTO_TCP, IPPROTO_UDP, IPPROTO_ICMP, IPPROTO_RAW
Raw Sockets (Capa de Internet) En algunos Casos, también se requiere manipular los campos del encabezado IP.(p.e. IP Spoofing) Para esto se especifica la opción IP_HDRINCL con la función setsockopt(): constinton = 1; setsockopt(sockd, IPPROTO_IP, IP_HDRINCL, (char *)&on, sizeof(on)) Mas información: man 7 raw
Packet Sockets (Capa de Enlace) Se utilizan para acceder a los protocolos de la capa de enlace. Sockets de más bajo nivel (a nivel del Driver del dispositivo) Se llaman Packet Sockets Con ellos se puede hacer un Sniffer Prototipo: #include <sys/socket.h> #include <netpacket/packet.h> #include <net/ethernet.h>    /* The L2 protocols */ sd = socket (PF_PACKET, intsocket_type, intprotocol)
Ejemplos
Aclaración Se han eliminado líneas no relevantes en el código fuente que se presenta a continuación.  En especial la parte de verificación de errores. Sin embargo al implementar las herramientas es importante incluir estas verificaciones
Ejemplo 2 Un Sniffer
sniffercito El siguiente ejemplo es un sniffer muy simple. (MUY) Captura paquetes, los imprime … y ya.
¿Qué Hace? Lee los argumentos Crea el socket Habilita el modo promiscuo en la interfaz Recibe paquetes Imprime los datos del paquete Goto 4
Plantilla Sniffer Qué incluir?
PlantillaSniffer
¿Cómo se podría mejorar? Agregándole una función filtro Cuando se cumpla el criterio (o no se cumpla) ejecutar alguna acción Inyección de paquetes Análisis de encabezados  Análisis de contenidos (DPI) Estadísticas …
Ejemplo 3 Un Backdoor
El Backdoor Este es un ejemplo más elaborado Es una puerta trasera que se puede instalar en un sistema Linux ya comprometido. Solo hace uso de librerías estándar. Utiliza raw sockets y stream sockets Debe ejecutarse con privilegios de root Se ejecuta: Backdoor <clave>
¿Cómo empezó todo? Corre en modo demonio. Espera que llegue un paquete especial ICMP tipo 0 (echo reply) Lo especial es que verifica el identificador de icmp si coincide se conecta a la dirección ip origen y al puerto que viene en el número de secuencia Si no coincide simplemente lo ignora
¿Que tiene de especial? No está escuchando en ningún puerto, por lo tanto netstat no lo ve. Tampoco lo ve un port scanner. Se puede ver a través de ps (pero se le puede poner un nombre que no genere sospechas (sysklogd, httpd, etc.). Usando técnicas de rootkits se puede esconder aún más.
Escenario
Escenario 0: Escuchar en un puerto
Escenario 0: Escuchar en un puerto 1: icmp echo reply ICMP Seq: Clave
Escenario 0: Escuchar en un puerto 2: Verificar clave Si es correcta conectar 1: icmp echo reply ICMP Seq: Clave
Escenario 0: Escuchar en un puerto 3: Conectar a puerto 2: Verificar clave Si es correcta conectar 1: icmp echo reply ICMP Seq: Clave
¿Qué Incluir? Note que son solo librerías estándar
¿Cómo Mejorarlo? Usar el campo de datos de icmp Soporte de otro tipo de mensajes icmp No usar la dirección origen del encabezado ip Aprovechar la fragmentación de ip Ejecutarlo como un LKM …
El Generador de paquetes  El complemento del backdoor es un programa para generar un paquete ICMP con los datos que se necesitan para la conexión.  La clave La Dirección IP El Puerto Utiliza Raw Sockets También la técnica IP Spoofing, de esta manera se le puede poner cualquier dirección de origen ]:-)
Generador de paquetes Se ejecuta: gp <srcip> <dstip> <icmp_id> <icmp_seq>
¿Cómo mejorarlo?	 Generar los campos de los encabezados de manera dinámica Manejar otro tipo de mensajes ICMP Manipulación del segmento de datos …
El Backdoor Mejorado Es la misma idea del anterior También usa icmp (codigo 8 y 0) Cambia la forma de conectarse y de asignar el puerto Lo interesante es que utiliza el protocolo de intercambio de Diffie-Hellman para determinar en cuál puerto escuchar
¿Qué hace? Espera que llegue un paquete  ICMP tipo 8 (echo reply) con código 1 Si el código es 0, como normalmente debería ser, responde como un servidor de ping normal. De lo contrario hace el intercambio de diffie-Helmann
¿Que tiene de especial? No está escuchando en ningún puerto, por lo tanto netstat no lo ve. Tampoco lo ve un port scanner. Se puede ver a través de ps (pero se le puede poner un nombre que no genere sospechas (sysklogd, httpd, etc.). Usando técnicas de rootkits se puede esconder aún más.
Ejemplo 4 Backdoor Mejorado
Ping Se utiliza para hacer pruebas Si el destino es alcanzable RTT (Round Trip Time) 2 Tipos de mensajes Echo request, tipo 8 Echo Reply, tipo 0
Ping Adiciona 2 campos al encabezado ICMP Identificador y secuencia También puede incluir una marca de tiempo En el paquete de respuesta se incluyen los mismos datos que en el del requerimiento
Imagen tomada de [7]
Ping: Ejemplo
Protocolo de Diffie-Hellman Desarrollado por Whitfield Diffie y Martin Hellman Permite el intercambio secreto de claves entre dos partes que no han tenido contacto previo, utilizando un canal inseguro, y de manera anónima (no autenticada).
Protocolo de Diffie-Hellman Para dos partes A y B que intentan establecer una clave secreta y un adversario E, la versión básica es como sigue: Se establecen un primo p y un generador   Estos son públicos, conocidos no sólo por las partes A y B sino también por el adversario E. A escoge al azar  calcula X = g^x mod p, y envía X a B B escoge al azar calcula Y = g^y mod p, y envía Y a A
Protocolo de Diffie-Hellman[8]
Protocolo de Diffie-Hellman[8] Note que: Esta cantidad común a A y B es la llave intercambiada
Protocolo de Diffie-Hellmansobre icmp
Conclusiones Es clave entender la teoría No hace daño leer los rfc Piense en alto nivel, programe en bajo nivel Baje de nivel según la necesidad (¿Hacer un cliente http con packet sockets?:-S) No es necesario aprenderse de memoria los llamados a las funciones. La red está plagada de ejemplos Use los buscadores!!!!! Hacker que se respete desarrolla algunas de sus herramientas
Preguntas
Muchas Gracias!!! bytemare@lownoisehg.orgtwitter: @bytemarehackhttp://www.lownoisehg.org
Rompiendo el protocolo TCP/IP

Weitere ähnliche Inhalte

Was ist angesagt?

Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIP
Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIPIntroducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIP
Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIPElio Rojano
 
Andrés Tarasco – Ataques dirigidos con APTs Wi-Fi [Rooted CON 2014]
Andrés Tarasco – Ataques dirigidos con APTs Wi-Fi [Rooted CON 2014]Andrés Tarasco – Ataques dirigidos con APTs Wi-Fi [Rooted CON 2014]
Andrés Tarasco – Ataques dirigidos con APTs Wi-Fi [Rooted CON 2014]RootedCON
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskDiego Llanes
 
Ethical hacking en Plataformas de Voz Sobre IP (Elastix)
Ethical hacking en Plataformas de Voz Sobre IP (Elastix)Ethical hacking en Plataformas de Voz Sobre IP (Elastix)
Ethical hacking en Plataformas de Voz Sobre IP (Elastix)TR Hirecom
 
A3sec Webinar AlienVault USM - Sistemas de detección de ataques en tiempo real
A3sec Webinar AlienVault USM - Sistemas de detección de ataques en tiempo realA3sec Webinar AlienVault USM - Sistemas de detección de ataques en tiempo real
A3sec Webinar AlienVault USM - Sistemas de detección de ataques en tiempo reala3sec
 
Herramientas Integradas en OSSIM
Herramientas Integradas en OSSIMHerramientas Integradas en OSSIM
Herramientas Integradas en OSSIMAlienVault
 
Charla Nmap Jose Luis Chica Murcialanparty 11
Charla Nmap Jose Luis Chica Murcialanparty 11Charla Nmap Jose Luis Chica Murcialanparty 11
Charla Nmap Jose Luis Chica Murcialanparty 11spankito
 
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...RootedCON
 
Protegiendo SIP y SSH con Fail2ban en Elastix
Protegiendo SIP y SSH con Fail2ban en ElastixProtegiendo SIP y SSH con Fail2ban en Elastix
Protegiendo SIP y SSH con Fail2ban en ElastixPaloSanto Solutions
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...RootedCON
 
Técnicas de escaneo masivo - 11/2013
Técnicas de escaneo masivo - 11/2013Técnicas de escaneo masivo - 11/2013
Técnicas de escaneo masivo - 11/2013Websec México, S.C.
 
Experiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certExperiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certr3iz0
 
Manual asterisk oigaa
Manual asterisk oigaaManual asterisk oigaa
Manual asterisk oigaaaiep
 

Was ist angesagt? (20)

Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIP
Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIPIntroducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIP
Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIP
 
Andrés Tarasco – Ataques dirigidos con APTs Wi-Fi [Rooted CON 2014]
Andrés Tarasco – Ataques dirigidos con APTs Wi-Fi [Rooted CON 2014]Andrés Tarasco – Ataques dirigidos con APTs Wi-Fi [Rooted CON 2014]
Andrés Tarasco – Ataques dirigidos con APTs Wi-Fi [Rooted CON 2014]
 
(in) seguridad en VoIP
(in) seguridad en VoIP(in) seguridad en VoIP
(in) seguridad en VoIP
 
OSSIM
OSSIMOSSIM
OSSIM
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asterisk
 
Ethical hacking en Plataformas de Voz Sobre IP (Elastix)
Ethical hacking en Plataformas de Voz Sobre IP (Elastix)Ethical hacking en Plataformas de Voz Sobre IP (Elastix)
Ethical hacking en Plataformas de Voz Sobre IP (Elastix)
 
A3sec Webinar AlienVault USM - Sistemas de detección de ataques en tiempo real
A3sec Webinar AlienVault USM - Sistemas de detección de ataques en tiempo realA3sec Webinar AlienVault USM - Sistemas de detección de ataques en tiempo real
A3sec Webinar AlienVault USM - Sistemas de detección de ataques en tiempo real
 
Comandos de Red
Comandos de RedComandos de Red
Comandos de Red
 
Herramientas Integradas en OSSIM
Herramientas Integradas en OSSIMHerramientas Integradas en OSSIM
Herramientas Integradas en OSSIM
 
Charla Nmap Jose Luis Chica Murcialanparty 11
Charla Nmap Jose Luis Chica Murcialanparty 11Charla Nmap Jose Luis Chica Murcialanparty 11
Charla Nmap Jose Luis Chica Murcialanparty 11
 
Snort
SnortSnort
Snort
 
Voice OVER IP
Voice OVER IPVoice OVER IP
Voice OVER IP
 
Internet y Firewall MGA-NIC 2007
Internet y Firewall MGA-NIC 2007Internet y Firewall MGA-NIC 2007
Internet y Firewall MGA-NIC 2007
 
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
 
Protegiendo SIP y SSH con Fail2ban en Elastix
Protegiendo SIP y SSH con Fail2ban en ElastixProtegiendo SIP y SSH con Fail2ban en Elastix
Protegiendo SIP y SSH con Fail2ban en Elastix
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
 
Técnicas de escaneo masivo - 11/2013
Técnicas de escaneo masivo - 11/2013Técnicas de escaneo masivo - 11/2013
Técnicas de escaneo masivo - 11/2013
 
Asterix: simplemente...
Asterix: simplemente...Asterix: simplemente...
Asterix: simplemente...
 
Experiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certExperiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-cert
 
Manual asterisk oigaa
Manual asterisk oigaaManual asterisk oigaa
Manual asterisk oigaa
 

Ähnlich wie Rompiendo el protocolo TCP/IP

Lab 6.7.2
Lab 6.7.2Lab 6.7.2
Lab 6.7.2UNAD
 
Lab 6.7.2
Lab 6.7.2Lab 6.7.2
Lab 6.7.2UNAD
 
Escaneo de puertos clase 2 complemento b 28 02-13
Escaneo de puertos clase 2 complemento b 28 02-13Escaneo de puertos clase 2 complemento b 28 02-13
Escaneo de puertos clase 2 complemento b 28 02-13Tensor
 
Asegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiPAsegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiPChema Alonso
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nochez0mbiehunt3r
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nochenavajanegra
 
Curso Avanzado Seguridad Redes
Curso Avanzado Seguridad RedesCurso Avanzado Seguridad Redes
Curso Avanzado Seguridad RedesAntonio Durán
 
Lab 6.7.1
Lab 6.7.1Lab 6.7.1
Lab 6.7.1UNAD
 
Lab 6.7.1
Lab 6.7.1Lab 6.7.1
Lab 6.7.1UNAD
 
Alberto Sagredo voipnovatos- voip2day2011
Alberto Sagredo  voipnovatos- voip2day2011Alberto Sagredo  voipnovatos- voip2day2011
Alberto Sagredo voipnovatos- voip2day2011Alberto Sagredo Castro
 
Help desk - Iglesias mesa de apoyo tecnico
Help desk - Iglesias mesa de apoyo tecnicoHelp desk - Iglesias mesa de apoyo tecnico
Help desk - Iglesias mesa de apoyo tecnicoIglesias3
 

Ähnlich wie Rompiendo el protocolo TCP/IP (20)

Lab 6.7.2
Lab 6.7.2Lab 6.7.2
Lab 6.7.2
 
Lab 6.7.2
Lab 6.7.2Lab 6.7.2
Lab 6.7.2
 
Modelo TCP/IP.pdf
Modelo TCP/IP.pdfModelo TCP/IP.pdf
Modelo TCP/IP.pdf
 
Escaneo de puertos clase 2 complemento b 28 02-13
Escaneo de puertos clase 2 complemento b 28 02-13Escaneo de puertos clase 2 complemento b 28 02-13
Escaneo de puertos clase 2 complemento b 28 02-13
 
Asegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiPAsegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiP
 
Sistemas de intrusos
Sistemas de intrusosSistemas de intrusos
Sistemas de intrusos
 
Sistemas de intrusos
Sistemas de intrusosSistemas de intrusos
Sistemas de intrusos
 
escaneo de puertos.pptx
escaneo de puertos.pptxescaneo de puertos.pptx
escaneo de puertos.pptx
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta noche
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta noche
 
Curso Avanzado Seguridad Redes
Curso Avanzado Seguridad RedesCurso Avanzado Seguridad Redes
Curso Avanzado Seguridad Redes
 
Lab 6.7.1
Lab 6.7.1Lab 6.7.1
Lab 6.7.1
 
Lab 6.7.1
Lab 6.7.1Lab 6.7.1
Lab 6.7.1
 
Examen final de redes
Examen final de redesExamen final de redes
Examen final de redes
 
Owasp presentacion latam tour (Ago 2011)
Owasp presentacion latam tour (Ago 2011)Owasp presentacion latam tour (Ago 2011)
Owasp presentacion latam tour (Ago 2011)
 
Alberto Sagredo voipnovatos- voip2day2011
Alberto Sagredo  voipnovatos- voip2day2011Alberto Sagredo  voipnovatos- voip2day2011
Alberto Sagredo voipnovatos- voip2day2011
 
Trust No One
Trust No OneTrust No One
Trust No One
 
Juan
JuanJuan
Juan
 
7.herramientas de redes
7.herramientas de redes7.herramientas de redes
7.herramientas de redes
 
Help desk - Iglesias mesa de apoyo tecnico
Help desk - Iglesias mesa de apoyo tecnicoHelp desk - Iglesias mesa de apoyo tecnico
Help desk - Iglesias mesa de apoyo tecnico
 

Kürzlich hochgeladen

Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 

Kürzlich hochgeladen (20)

Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 

Rompiendo el protocolo TCP/IP

  • 1.
  • 2. Rompiendo el protocolo: Usos y Abusos de TCP/IPDaniel Torres Falkonert (bytemare) bytemare@lownoisehg.orgtwitter: @bytemarehackhttp://www.lownoisehg.org
  • 3. Agenda Avisos Parroquiales ¿Qué es romper el protocolo? Obedeciendo las reglas Rompiendo El protocolo Ejemplos Conclusiones
  • 4. Grupo de Investigación (Hacking only) Creado en 1995 Multidisciplinario (No sólo Ingenieros) Objetivo Común: Seguridad vs. Inseguridad Sin Ánimo de Lucro Recursos Propios Sin Afiliación a Empresas/Entidades ¿ Qué es LowNoise HG ?
  • 5. Sobre bytemare Descubrí el gusto por los computadores desde los 4 años (Gracias papá!!) En el mundo de la seguridad desde el año 96 Ingeniero de Sistemas (Uniandes) Especialista en seguridad de la información (Uniandes) Trabajo en Informática Forense desde el 2003 Mi primer computador
  • 6. Disclaimer Todo lo que se hable y se muestre en esta charla es el resultado de investigaciones con fines educativos. Todo descubrimiento realizado, ha sido y será usado de forma legal, por LNHG. La audiencia debe asumir todo lo se exponga hoy, como “falso” y “sin fundamento” hasta que lo compruebe personalmente.
  • 7. Prerrequisitos Conocimientos generales de redes TCP/IP Programación en C Creatividad e imaginación No tenerle miedo al bajo nivel
  • 8. ¿Qué es romper el protocolo? protocolo. (Del b. lat. protocollum, y este del gr. πρωτόκολλον). 1. m. Serie ordenada de escrituras matrices y otros documentos que un notario o escribano autoriza y custodia con ciertas formalidades. 2. m. Acta o cuaderno de actas relativas a un acuerdo, conferencia o congreso diplomático. 3. m. Regla ceremonial diplomática o palatina establecida por decreto o por costumbre. 4. m. Plan escrito y detallado de un experimento científico, un ensayo clínico o una actuación médica.
  • 9. Esencialmente es encontrar usos no intencionados a las leyes y propiedades de un sistema para aplicarlas en formas nuevas e inventivas para resolver un problema
  • 10. No todo tiene que ver con seguridad 10
  • 11. Siguiendo el protocolo Para romper las reglas, primero debemos conocerlas
  • 12. Protocolo IP “Es un protocolo no orientado a conexión usado tanto por el origen como por el destino para la comunicación de datos a través de una red de paquetes conmutados”
  • 13. Protocolo IPv4 local ISP local ISP Tier 3 ISP local ISP local ISP Tier-2 ISP Tier-2 ISP NAP Tier-2 ISP local ISP Tier-2 ISP Tier-2 ISP local ISP local ISP local ISP Provee 3 servicios primarios Direccionamiento Global Servicio de datagramas no fiable (Besteffort) Fragmentación Tier 1 ISP Tier 1 ISP Tier 1 ISP
  • 14. Capa de red Diferentes problemas afectan la red . Daños de Hardware Congestión en la red Malas configuraciones … Diferentes tecnologías Esto puede tener diferentes efectos Pérdidas Duplicaciones Fragmentación Retardos daños en los datos …
  • 15. Servicio Confiable ¿Cómo asegurar la confiabilidad a las aplicaciones si los protocolos inferiores no son confiables?
  • 17. TCP sobre IP Conexión Confiable TCP TCP Envío no confiable (unreliable) IP IP
  • 19. Encabezado Payload Datos Originales TCP divide los datos en paquetes… Añade los encabezados a cada paquete En el destino, se usa la información de los encabezados para reensamblar los datos originales Fragmentación en el origen(Flujo no estructurado)
  • 20. Confirmación Positiva con Retransmisión Host 2 Host 1 Paquete Perdido Enviar paquete Iniciar Temp. El paquete debería llegar Y se debería enviar un ACK Temp El ACK debería llegar Expira el tiempo Retransmitir Paquete 1 Iniciar Temp Recibe Paquete 1 Envía ACK 1 Temp Recibe ACK 1 Cancelar Temp
  • 21. Pero la confirmación positiva es leeeenta
  • 22. A menos que se utilicen Ventanas Deslizantes
  • 23.
  • 24.
  • 25.
  • 26. Números de Secuencia Todo octeto de datos enviado por una conexión de TCP tiene asociado un número de secuencia Si hay un problema con un paquete solo se retransmite esta porción de los datos El mecanismo de acuse de recibo empleado es acumulativo, de tal forma que el acuse de recibo de un número de secuencia X indica que todos los octetos hasta, pero no incluyendo, X, han sido recibidos Este mecanismo permite la detección fácil y directa de duplicados o pérdida de segmentos. 26
  • 27. Documentación Los rfc son las fuentes definitivas sobre los protocolos ARP (rfc826), IP (rfc791), ICMP (rfc792), TCP (rfc793), UDP (rfc768), … http://www.faqs.org/rfcs/
  • 28. Romper el protocolo Porque las reglas se hicieron para romperlas
  • 29. Port Scanning Se utiliza para saber qué puertos tiene abiertos un sistema. Se utilizan características básicas de TCP/IP para implementar la técnicas Se puede realizar con 2 enfoques Positivo Negativo 29 Daniel Torres Falkonert (C) 2008
  • 30. Enfoque positivo Basado en las respuestas de los puertos que responden que están abiertos Rápido Confiable Fácil de detectar por la cantidad de paquetes 30 Daniel Torres Falkonert (C) 2008
  • 31. TCP Connect Puerto Abierto Puerto Cerrado 31 Syn Syn Syn+Ack Rst+Ack Ack Rst No requiere privilegios e administrador Utiliza Stream Sockets Congestiona la red si se hacen muchas pruebas
  • 32. TCP Half Open Scan Puerto Abierto Puerto Cerrado 32 Syn Syn Syn+Ack Rst+Ack Rst Requiere privilegios de administrador Utiliza Raw Sockets Congestiona un poco menos la red Daniel Torres Falkonert (C) 2008
  • 33. Enfoque Negativo Basado en las respuestas de los puertos que responden que están cerrados Lento Poco fiable Un poco más difícil de detectar pero los paquetes tienen opciones sospechosas 33 Daniel Torres Falkonert (C) 2008
  • 34. Null Stealth Scan Puerto Abierto Puerto Cerrado 34 Rst+Ack Requiere privilegios de administrador Utiliza Raw Sockets Congestiona poco la red Daniel Torres Falkonert (C) 2008
  • 35. XMAS Stealth Scan Puerto Abierto Puerto Cerrado 35 Fin+Psh+Urg Fin+Psh+Urg Rst+Ack Requiere privilegios de administrador Utiliza Raw Sockets Congestiona poco la red Daniel Torres Falkonert (C) 2008
  • 36. IP Spoofing “Suplantación de IP. Consiste básicamente en sustituir la dirección IP origen de un paquete TCP/IP por otra dirección IP a la cual se desea suplantar. “
  • 38. RST Hijacking Note las direcciones MAC
  • 40.
  • 41. Idle Scanning SourceDestinationPortsFlagsInfo ¿Host inactivo? 200.21.33.129 125.33.12.55 61976 > 666 [SYN, ACK] IPid: 0x07e9 (2025) 125.33.12.55 200.21.33.129 666 > 61976 [RST] IPid: 0x5e93 (24211) 200.21.33.129 125.33.12.55 62180 > 666 [SYN, ACK] IPid: 0x75d3 (30163) 125.33.12.55 200.21.33.129 666 > 62180 [RST] IPid: 0x5e94 (24212) Puerto Abierto: 125.33.12.55 157.253.33.144 666 > 22 [SYN] IPid: 0x5caa (23722) 125.33.12.55 200.21.33.129 666 > 62093 [RST] IPid: 0x5e96 (24214) Puerto Cerrado: 125.33.12.55 157.253.33.144 666 > 110 [SYN] IPid: 0xe2cd (58061) 125.33.12.55 200.21.33.129 666 > 61980 [RST] IPid: 0x5e97 (24215)
  • 43. Idle Scanning SourceDestinationPortsFlagsInfo ¿Host inactivo? 200.21.33.129 125.33.12.55 61976 > 666 [SYN, ACK] IPid: 0x07e9 (2025) 125.33.12.55 200.21.33.129 666 > 61976 [RST] IPid: 0x5e93 (24211) 200.21.33.129 125.33.12.55 62180 > 666 [SYN, ACK] IPid: 0x75d3 (30163) 125.33.12.55 200.21.33.129 666 > 62180 [RST] IPid: 0x5e94 (24212) Puerto Abierto: 125.33.12.55 157.253.33.144 666 > 22 [SYN] IPid: 0x5caa (23722) 125.33.12.55 200.21.33.129 666 > 62093 [RST] IPid: 0x5e96 (24214) Puerto Cerrado: 125.33.12.55 157.253.33.144 666 > 110 [SYN] IPid: 0xe2cd (58061) 125.33.12.55 200.21.33.129 666 > 61980 [RST] IPid: 0x5e97 (24215)
  • 44. SourceDestinationPortsFlagsInfo 200.21.33.129 125.33.12.55 61976 > 666 [SYN, ACK] IPid: 0x07e9 (2025) 125.33.12.55 200.21.33.129 666 > 61976 [RST] IPid: 0x5e93 (24211) 200.21.33.129 125.33.12.55 62180 > 666 [SYN, ACK] IPid: 0x75d3 (30163) 125.33.12.55 200.21.33.129 666 > 62180 [RST] IPid: 0x5e94 (24212) 125.33.12.55 157.253.33.144 666 > 22 [SYN] IPid: 0x5caa (23722) 157.253.33.144 125.33.12.55 22 > 666 [SYN, ACK] IPid: 0x0000 (0) 125.33.12.55 157.253.33.144 666 > 22 [RST] IPid: 0x5e95 (24213) 200.21.33.129 125.33.12.55 62093 > 666 [SYN, ACK] IPid: 0xf34d (62285) 125.33.12.55 200.21.33.129 666 > 62093 [RST] IPid: 0x5e96 (24214) 125.33.12.55 157.253.33.144 666 > 110 [SYN] IPid: 0xe2cd (58061) 157.253.33.144 125.33.12.55 110 > 666 [RST, ACK] IPid: 0x0000 (0) 200.21.33.129 125.33.12.55 61980 > 666 [SYN, ACK] IPid: 0x537d (21373) 125.33.12.55 200.21.33.129 666 > 61980 [RST] IPid: 0x5e97 (24215)
  • 45. Jugando con ICMP Redirect y volviendo obsoleto el arp cache poisoning Un ejemplo más elaborado
  • 46. ICMP Redirect Imagen tomada de [7]
  • 47. Redireccionamiento Un paquetepara 192.168.1.x Reenvío 1st paquete redireccion Los siguientes paquetes Los hosts aprenden nuevas rutas por medio de redireccionamiento 192.168.20.0 192.168.1.0 192.168.1.1 Router 206.71.183.1 192.168.20.1 Router 206.71.183.2 IP 106.91.183.9 Default router 106.91.183.2 106.91.183.0 Host
  • 48. Ataque de suplantación DNS, con la técnica de redirección ICMP El objetivo de este ataque es realizar una suplantación del servicio de DNS utilizado por el sistema con dirección IP 192.168.1.104 con dirección MAC 00:21:70:ED:EA:50. Se aplicará la técnica de redirección a través de mensajes ICMP código 5 tipo 1 [1], que permiten cambiar dinámicamente la tabla de enrutamiento de un host. El ataque fue realizado desde un sistema GNU/Linux 2.6.20 contra un Sistema Windows XP SP3. Para realizar la suplantación de DNS se utilizó la herramienta dnsspoof.
  • 49. Ataque de suplantación DNS, con la técnica de redirección ICMP Este ataque tiene un efecto similar al ataque de hombre en el medio a través del envenamiento de la tabla ARP, sin embargo, tiene varias diferencias significativas: Modifica las tablas de enrutamiento de la víctima Un único paquete para que la víctima redirija el tráfico hacia el sistema del atacante por un tiempo razonable. No redirige todo el tráfico de la víctima.
  • 50. Ataque de suplantación DNS, con la técnica de redirección ICMP
  • 51. Ataque de suplantación DNS, con la técnica de redirección ICMP Configuración de la red de la víctima
  • 52. Ataque de suplantación DNS, con la técnica de redirección ICMP Tabla ARP de la víctima donde se puede ver la dirección MAC de el enrutador que usa por defecto.
  • 53. Ataque de suplantación DNS, con la técnica de redirección ICMP Tabla de enrutamiento. no aparecen entradas que dirijan el tráfico hacia el servidor DNS, es importante tener esto en cuenta para más adelante notar el efecto del ataque.
  • 54. Ataque de suplantación DNS, con la técnica de redirección ICMP Ruta previa al ataque hacia el servidor DNS (solo los primeros 3 saltos) el tráfico dirigido al servidor DNS se realiza a través de la puerta de enlace por defecto.
  • 55. Ataque de suplantación DNS, con la técnica de redirección ICMP Mostramos que no se puede encontrar el nombre de dominio www.banco.com.co ejecutando nslookup en la víctima
  • 56. Ataque de suplantación DNS, con la técnica de redirección ICMP En la captura de tráfico se puede confirmar que el servidor DNS no puede resolver el dominio
  • 57. Ataque de suplantación DNS, con la técnica de redirección ICMP Configuración de la red del atacante
  • 58. Ataque de suplantación DNS, con la técnica de redirección ICMP Se configuró y ejecutó la herramienta DNS Spoof, notese que se responderá con la dirección local del atacante a toda solicitud de resolución de nombres relacionada con el dominio banco.com.co
  • 59. Ataque de suplantación DNS, con la técnica de redirección ICMP Note en la Fig. que la dirección MAC destino de la solicitud de resolución está dirigida a la dirección MAC de la puerta de enlace por defecto. Este es un detalle importante a tener en cuenta para ver el efecto del ataque.
  • 60. Ataque de suplantación DNS, con la técnica de redirección ICMP tráfico generado al enviarle el paquete que causará la modificación de la tabla de enrutamiento del sistema víctima. Nótese que el mensaje ICMP “redirect for host” envía a la víctima suplantando la dirección de la puerta de enlace por defecto. Dado que todavía no ha habido comunicación desde el sistema atacante con la víctima, es necesario hacer una solicitud de arp en busca de la dirección MAC correspondiente a la ip 192.168.1.101 (Víctima).
  • 61. Ataque de suplantación DNS, con la técnica de redirección ICMP En el detalle del mensaje ICMP (Fig. 15) se le informa que la ruta hacia la dirección IP 190.157.2.140 (servidor de nombres de la víctima) ha cambiado y que ahora la puerta de enlace para este host ahora es la 192.168.1.130 (Sistema del atacante). Note que el paquete se origina desde la dirección MAC 00:0c:29:a7:bf:5f que corresponde a la máquina del atacante, sin embargo, la dirección origen es 192.168.1.1 que es la del Gateway por defecto, cuya dirección MAC es la 00:21:29:78:ba:ae. Esto es una clara utilización de la técnica de suplantación IP (IP Spoofing).
  • 62. Ataque de suplantación DNS, con la técnica de redirección ICMP Actualización de la tabla arp de la víctima
  • 63. Ataque de suplantación DNS, con la técnica de redirección ICMP Tabla de enrutamiento de la víctima. Note la tercera entrada de la tabla.
  • 64. Ataque de suplantación DNS, con la técnica de redirección ICMP Se logró suplantar al servidor de nombres, se ejecutó de nuevo un ping al nombre de dominio www.banco.com.co, para demostrar que ahora este se resuelve a la dirección IP del sistema atacante.
  • 65. Ataque de suplantación DNS, con la técnica de redirección ICMP puede observase el proceso que sigue la aplicación ping ejecutada desde el sistema víctima, donde primero hace una solicitud ARP para averiguar la puerta de enlace a utilizar para dirigir el datagrama con la petición DNS, luego esta última se realiza y se responde suplantando al servidor DNS, en este punto es cuando entra en juego la aplicación dnsspoof. Y los siguientes paquetes muetran una secuencia normal ICMP echo request/reply (ping) desde el sitema víctima a la dirección ip resuelta por el supuesto DNS, que resulta ser la misma dirección desde la que se ejecutó el ataque, vale la pena decir que esta respuesta se hubiera podido dirigir a cualquier otra dirección IP.
  • 66. Ataque de suplantación DNS, con la técnica de redirección ICMP Note como cambia la ruta a seguir para llegar al servidor DNS, nótese que ahora el primer salto es el sistema atacante y no la puerta de enlace por defecto.
  • 67. Ataque de suplantación DNS, con la técnica de redirección ICMP Muchas veces la diferencia entre bug y funcionalidad es difusa. Este ataque puede extenderse para atacar otros servicios.
  • 68. Desarrollo de Herramientas de hacking The Lord of the Bits
  • 69. Hacking y programación ¿Para qué desarrollarlas? Adaptarse fácilmente a diferentes entornos Implementación de nuevas técnicas Modificar otras herramientas Evitar la detección
  • 70. Herramientas de Hacking “A network security tool is an algorithmic implement that is designed to probe, assess, or increase the overall safety of or to mitigate the risk associated with an entity across a communications medium”. Mike Schiffman[7] Network securitytool== herramienta de hacking
  • 71. Mini-Introducción a la programación de Redes Lo quedebióaprender en el curso de redes
  • 73. Berkeley Sockets Son estructuras de datos que permiten la comunicación entre procesos. En nuestro caso a través de una red Los “Berkeley sockets” (A.K.A. BSD socket API) son una librería que permite su implementación. Es el estándar para sockets de red.
  • 74. Socket: es una puerta entre el proceso aplicación y el protocolo de transporte de extremo a extremo (UCP o TCP)‏ Controlado por El desarrollador De la aplicación Controlado por El desarrollador De la aplicación proceso Sockets proceso socket socket TCP con buffers, variables TCP con buffers, variables Controlado por el sistema operativo Controlado por el sistema operativo Internet servidoro cliente cliente o servidor
  • 75. Visto de otra forma Puerto Puerto Proceso Proceso Transporte Host Host 76
  • 76. Familias de Sockets Pueden ser: PF_INET para IPv4 PF_INET6 para IPv6. PF_PACKET para protocolos capa de enlace PF_UNIX comunicación local Dependiendo de la capa en la que se quiere trabajar hay diferentes tipos de socket
  • 77. Stream Sockets (Capa de transporte) Se utilizan en la mayoría de los casos, en especial cuando no es necesario manipular los campos de los protocolos de red y transporte Pueden ser: De Flujo (Stream) sd = socket (PF_INET, SOCK_STREAM, 0) De Datagramas sd = socket (PF_INET, SOCK_DGRAM, 0) 0 se refiere al protocolo por defecto de transporte Más información: man 7 socket
  • 78. Raw Sockets (Capa de Internet) Se utilizan para acceder a los protocolos de la capa de internet. Permiten manipular el segmento de datos Se llaman Raw Sockets: sd = socket (PF_INET, SOCK_RAW, <Protocol>) Protocol puede ser: IPPROTO_TCP, IPPROTO_UDP, IPPROTO_ICMP, IPPROTO_RAW
  • 79. Raw Sockets (Capa de Internet) En algunos Casos, también se requiere manipular los campos del encabezado IP.(p.e. IP Spoofing) Para esto se especifica la opción IP_HDRINCL con la función setsockopt(): constinton = 1; setsockopt(sockd, IPPROTO_IP, IP_HDRINCL, (char *)&on, sizeof(on)) Mas información: man 7 raw
  • 80. Packet Sockets (Capa de Enlace) Se utilizan para acceder a los protocolos de la capa de enlace. Sockets de más bajo nivel (a nivel del Driver del dispositivo) Se llaman Packet Sockets Con ellos se puede hacer un Sniffer Prototipo: #include <sys/socket.h> #include <netpacket/packet.h> #include <net/ethernet.h> /* The L2 protocols */ sd = socket (PF_PACKET, intsocket_type, intprotocol)
  • 82. Aclaración Se han eliminado líneas no relevantes en el código fuente que se presenta a continuación. En especial la parte de verificación de errores. Sin embargo al implementar las herramientas es importante incluir estas verificaciones
  • 83. Ejemplo 2 Un Sniffer
  • 84. sniffercito El siguiente ejemplo es un sniffer muy simple. (MUY) Captura paquetes, los imprime … y ya.
  • 85. ¿Qué Hace? Lee los argumentos Crea el socket Habilita el modo promiscuo en la interfaz Recibe paquetes Imprime los datos del paquete Goto 4
  • 88. ¿Cómo se podría mejorar? Agregándole una función filtro Cuando se cumpla el criterio (o no se cumpla) ejecutar alguna acción Inyección de paquetes Análisis de encabezados Análisis de contenidos (DPI) Estadísticas …
  • 89. Ejemplo 3 Un Backdoor
  • 90. El Backdoor Este es un ejemplo más elaborado Es una puerta trasera que se puede instalar en un sistema Linux ya comprometido. Solo hace uso de librerías estándar. Utiliza raw sockets y stream sockets Debe ejecutarse con privilegios de root Se ejecuta: Backdoor <clave>
  • 91. ¿Cómo empezó todo? Corre en modo demonio. Espera que llegue un paquete especial ICMP tipo 0 (echo reply) Lo especial es que verifica el identificador de icmp si coincide se conecta a la dirección ip origen y al puerto que viene en el número de secuencia Si no coincide simplemente lo ignora
  • 92. ¿Que tiene de especial? No está escuchando en ningún puerto, por lo tanto netstat no lo ve. Tampoco lo ve un port scanner. Se puede ver a través de ps (pero se le puede poner un nombre que no genere sospechas (sysklogd, httpd, etc.). Usando técnicas de rootkits se puede esconder aún más.
  • 94. Escenario 0: Escuchar en un puerto
  • 95. Escenario 0: Escuchar en un puerto 1: icmp echo reply ICMP Seq: Clave
  • 96. Escenario 0: Escuchar en un puerto 2: Verificar clave Si es correcta conectar 1: icmp echo reply ICMP Seq: Clave
  • 97. Escenario 0: Escuchar en un puerto 3: Conectar a puerto 2: Verificar clave Si es correcta conectar 1: icmp echo reply ICMP Seq: Clave
  • 98. ¿Qué Incluir? Note que son solo librerías estándar
  • 99.
  • 100.
  • 101. ¿Cómo Mejorarlo? Usar el campo de datos de icmp Soporte de otro tipo de mensajes icmp No usar la dirección origen del encabezado ip Aprovechar la fragmentación de ip Ejecutarlo como un LKM …
  • 102. El Generador de paquetes El complemento del backdoor es un programa para generar un paquete ICMP con los datos que se necesitan para la conexión. La clave La Dirección IP El Puerto Utiliza Raw Sockets También la técnica IP Spoofing, de esta manera se le puede poner cualquier dirección de origen ]:-)
  • 103. Generador de paquetes Se ejecuta: gp <srcip> <dstip> <icmp_id> <icmp_seq>
  • 104.
  • 105.
  • 106. ¿Cómo mejorarlo? Generar los campos de los encabezados de manera dinámica Manejar otro tipo de mensajes ICMP Manipulación del segmento de datos …
  • 107. El Backdoor Mejorado Es la misma idea del anterior También usa icmp (codigo 8 y 0) Cambia la forma de conectarse y de asignar el puerto Lo interesante es que utiliza el protocolo de intercambio de Diffie-Hellman para determinar en cuál puerto escuchar
  • 108. ¿Qué hace? Espera que llegue un paquete ICMP tipo 8 (echo reply) con código 1 Si el código es 0, como normalmente debería ser, responde como un servidor de ping normal. De lo contrario hace el intercambio de diffie-Helmann
  • 109. ¿Que tiene de especial? No está escuchando en ningún puerto, por lo tanto netstat no lo ve. Tampoco lo ve un port scanner. Se puede ver a través de ps (pero se le puede poner un nombre que no genere sospechas (sysklogd, httpd, etc.). Usando técnicas de rootkits se puede esconder aún más.
  • 110. Ejemplo 4 Backdoor Mejorado
  • 111. Ping Se utiliza para hacer pruebas Si el destino es alcanzable RTT (Round Trip Time) 2 Tipos de mensajes Echo request, tipo 8 Echo Reply, tipo 0
  • 112. Ping Adiciona 2 campos al encabezado ICMP Identificador y secuencia También puede incluir una marca de tiempo En el paquete de respuesta se incluyen los mismos datos que en el del requerimiento
  • 115. Protocolo de Diffie-Hellman Desarrollado por Whitfield Diffie y Martin Hellman Permite el intercambio secreto de claves entre dos partes que no han tenido contacto previo, utilizando un canal inseguro, y de manera anónima (no autenticada).
  • 116. Protocolo de Diffie-Hellman Para dos partes A y B que intentan establecer una clave secreta y un adversario E, la versión básica es como sigue: Se establecen un primo p y un generador Estos son públicos, conocidos no sólo por las partes A y B sino también por el adversario E. A escoge al azar calcula X = g^x mod p, y envía X a B B escoge al azar calcula Y = g^y mod p, y envía Y a A
  • 118. Protocolo de Diffie-Hellman[8] Note que: Esta cantidad común a A y B es la llave intercambiada
  • 120. Conclusiones Es clave entender la teoría No hace daño leer los rfc Piense en alto nivel, programe en bajo nivel Baje de nivel según la necesidad (¿Hacer un cliente http con packet sockets?:-S) No es necesario aprenderse de memoria los llamados a las funciones. La red está plagada de ejemplos Use los buscadores!!!!! Hacker que se respete desarrolla algunas de sus herramientas
  • 122. Muchas Gracias!!! bytemare@lownoisehg.orgtwitter: @bytemarehackhttp://www.lownoisehg.org