wireshark, nemesis, ettercap y sshcryptomex.org/slidesseguridad/herra1.pdf• ethereal es un...

57
Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH Dr. Roberto Gómez Cárdenas 1 Dr. Roberto Gómez Lámina 1 Wireshark, Nemesis, Ettercap y SSH Roberto Gómez [email protected] http://homepage.cem.itesm.mx/ac/rogomez Dr. Roberto Gómez Lámina 2 El sniffer ethereal, ahora wireshark http://www.ethereal.com http://www.wireshark.org/

Upload: others

Post on 07-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 1

Dr. Roberto GómezLámina 1

Wireshark, Nemesis, Ettercap y SSH

Roberto Gómez [email protected]

http://homepage.cem.itesm.mx/ac/rogomez

Dr. Roberto GómezLámina 2

El sniffer ethereal, ahora wireshark

http://www.ethereal.comhttp://www.wireshark.org/

Page 2: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 2

Dr. Roberto GómezLámina 3

Ethereal

• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados en Unix, así como sistemas Windows

• Utiliza:– GTK+, una libreria que provee una interface de usuario

grafica,

– libpcap,una libreria para filtrar y capturar paquetes,

• Posee la posibilidad de ver la reconstruccion del fluido de una sesión TCP.

• Autor: Gerald Combs (julio 1998 - version 0.2.0. )

Dr. Roberto GómezLámina 4

Características

• Datos pueden ser capturados del cable de unaconexión viva, o leídos de un archivo capturado.

• Puede leer archivos de datos de diferentes paquetesde captura de datos– tcpdump (libpcap), NAI's Sniffer™ (compressed

and uncompressed), Sniffer™ Pro, NetXray™, Sun snoop and atmsnoop, Shomiti/Finisar Surveyor,AIX's iptrace, Microsoft's Network Monitor, Novell'sLANalyzer, RADCOM's WAN/LAN Analyzer, etc

Page 3: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 3

Dr. Roberto GómezLámina 5

Más características

• Datos pueden ser capturados de Ethernet, FDDI, PPP, Token-Ring, IEEE 802.11, Classical IP overATM, e interfaces tipo loopback– no todos los tipos son soportados en todas las plataformas

• Datos pueden verse a través de un GUI o de unaterminal en texto plano.

• La salida puede ser guardada o impresa como textoplano o Postcript

• Toda, o parte, de la captura puede ser almcenada en disco.

Dr. Roberto GómezLámina 6

En un principio era asi

Page 4: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 4

Dr. Roberto GómezLámina 7

La nueva vista

packet list pane

tree view pane

data view pane

menu principal

main toolbar

filter toolbar

Dr. Roberto GómezLámina 8

La barra de status (statusbar)

• Lado izquierdo información acercar del archivo de captura– nombre, tamaño y el tiempo transcurrido desde que empezó

la captura

• El lado derecho muestra el numero de paquetes en el archivo de captura– P: numero paquetes capturados

– D: numero de paquetes desplegados actualmente

– M: numero de paquetes marcados

Page 5: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 5

Dr. Roberto GómezLámina 9

Menu principal y capturandopaquetes

Dr. Roberto GómezLámina 10

Ventana para definir opciones captura

Page 6: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 6

Dr. Roberto GómezLámina 11

El panel: main tool bar

start/stop capture

abrir archivosguardar comocerrar

recargar el archivo de capturaimprimir

zoom in los datos del paquete

zoom out los datos del paqueteestablecer tamaño normal del paquete

encontrar un paquete

encontrar el paquete siguienteencontrar el paquete previo

ir al paquete

ir al primer paqueteir al último paquete

filtros de capturas

filtros de desplieguedefinir reglas desplegar

paquetes

editar (preferences) parámetros operación ethereal

Dr. Roberto GómezLámina 12

Page 7: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 7

Dr. Roberto GómezLámina 13

Viendo paquete en ventanaseparada

Dr. Roberto GómezLámina 14

Opciones despliegue: menu view

muestra-oculta

barras herramientas

muestra-oculta

paneles

Page 8: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 8

Dr. Roberto GómezLámina 15

Ejercicio

• Lanza ethereal por 1 minuto– no desplegar el tipo de tarjeta

– actualizar los paquetes en tiempo real

• Identifique 5 protocolos

• Tome un paquete y desplieguelo en otra ventana– identifique tres campos de los encabezados

Dr. Roberto GómezLámina 16

Filtrados de paquetes

• Dos tipos de filtros– a nivel captura

– a nivel despliegue

Page 9: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 9

Dr. Roberto GómezLámina 17

Filtros para despliegue paquetes

Dr. Roberto GómezLámina 18

Filtrando paquetes en la captura

• Ethereal utiliza lenguaje libpcap para definir sus filtros.– mayor información man page de tcpdump

• Filtro se define en el campo filter de las preferencias del cuadro diálogo captura

• Un filtro esta formado por una serie de expresiones primitivas conectadas por conjunciones:

• Ejemplos

[not] primitiva [and | or [not] primitiva ... ]

tcp port 23 and host 10.0.0.5tcp port 23 and not host 10.0.0.5

Page 10: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 10

Dr. Roberto GómezLámina 19

Sintaxis filtrado de hosts

captura todos los paquetes cuando el host es el origensrc host host

captura todos los paquetes cuando el host es el destinodst host host

host es una direccion IP o un nombre de hosthost host

DescripcionSintaxis

captura todos los paquetes cuya direccion origen es10.10.10.10

src host 10.10.10.10

captura todos los paquetes cuya direccion destino es10.10.10.10

dst host 10.10.10.10

captura todos paquetes provenientes y dirigidos a 10.10.10.10

host 10.10.10.10

Ejemplos

Dr. Roberto GómezLámina 20

Sintaxis filtrado de puertos

captura todos los paquetes dondepuertoes el puerto origensrc port puerto

captura todos los paquetes dondepuertoes el puerto destinodst port puerto

captura todos los paquetes donde el puerto es fuente o destino

port puerto

DescripcionSintaxis

captura todos los paquetes donde 80 es el puerto origensrc port 80

captura todos los paquetes donde 80 es el puerto destinodst port 80

captura todos paquetes donde 80 sea el puerto origen o destinoport 80

Ejemplos

Page 11: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 11

Dr. Roberto GómezLámina 21

Sintaxis filtrado de redes

captura todos los paquetes dondered es el origensrc net red

captura todos los paquetes dondered es el destinodst net red

captura todos los paquetes provenientes o dirigidos a la rednet red

DescripcionSintaxis

captura todos los paquetes donde la red origen es192.168src net 192.168

captura todos los paquetes donde la red destino es192.168dst net 192.168

captura todos paquetes donde la red es192.168net 192.168

Ejemplos

Dr. Roberto GómezLámina 22

Sintaxis filtrado basado en protocolos: ethernet

ether proto \[nombre primitiva]

Sintaxis

captura todos los paquetes ARPether proto \arp

captura todos los paquetes RARPether proto \rarp

captura todos paquetes ipether proto \ip

Ejemplos

Page 12: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 12

Dr. Roberto GómezLámina 23

Sintaxis filtrado basado en protocolos: IP

ip proto \[nombre protocolo]

Sintaxis

captura todos los paquetes UDPip proto \udp

captura todos los paquetes ICMPip proto \icmp

captura todos paquetes TCPip proto \tcp

Ejemplos

Dr. Roberto GómezLámina 24

Combinando expresiones

concatenación&& o and

negación! o not

|| o or

SignificadoOperador

captura todos paquetes provenientes o dirigidos al host 10.10.10.10 con puertoorigen o destino 80

host 10.10.10.10 && port 80

captura todos paquetes provenientes o dirigidos al host 10.10.10.10 que no vienende la red 192.168

host 10.10.10.10 && !net 192.168

Ejemplos

Page 13: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 13

Dr. Roberto GómezLámina 25

Dos ultimos ejemplos

• host 192.168.1.10 && ! host 192.168.1.10 – captura todos los paquetes provenientes de y dirigidos a

192.168.1.10 y no provenientes ni dirigidos de 192.168.1.10• Ethereal no aceptará este filtro indicando que la expresión rechazará

todos los paquetes

• host 192.168.1.10 && not net 192.168 – captura todos los paquetes provenientes de y dirigidos a

192.168.1.10 y no provenientes ni dirigidos de 192.168• Etheral aceptará este filtro

Recomendación: ¡verificar los filtros!

Dr. Roberto GómezLámina 26

Siguiendo TCP streams

• Solo se puede dar seguimiento a protocolos orientados conexión

• Seleccionar paquete que forma parte de la sesión TCP a dar seguimiento.

• Seleccionar opción Follow TCP Streamdel menú

Page 14: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 14

Dr. Roberto GómezLámina 27

Formatos despliegue disponibles

• ASCII– datos de cada lado en ASCII, pero

alternados

– caracteres no imprimibles no se despliegan

• EBCDIC– for the big-iron freaks out there

• HEX Dump– ver todos los datos, pero no se ve

en ASCII

Dr. Roberto GómezLámina 28

Resumen estadísticas (summary)

• File– información general acerca archivo

captura• Time

– tiempo caputra primer y último paquete• Capture

– información fecha y hora captura fue realizada

• Display– información sobre los datos

desplegados• Traffic

– estadísticas sobre el tráfico visto– si esta definido un filtro de despliegue,

se verán valores en ambas colunes– valores en columna Captures serán

como antes– valores en columna Displayed reflejaran

valores vistos en el despliegue de información

Page 15: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 15

Dr. Roberto GómezLámina 29

Gráficas (IO Graphs)

• Graphs– Graph 1-5

• habilita la gráfica 1-5 (solo gráfica 1 esta habilitada por default)

– Color• el color de la gráfica, (no puede ser cambiado)

– Filter:• un filtro despliegue para esta gráfica (solo

paquetes que pasen este filtro serán tomados en cuenta para esta gráfica)

– Style:• el estilo de la gráfica (Line/Impulse/FBar)

• Eje X– Tick interval

• el intervalo de las x (10/1/0.1/0.01/0.001 seconds)

– Pixels per tick• usa 10/5/2/1 pixels por tick de intervalo

• Eje Y– Unidades

• la unidad para el eje Y (Packets/Tick, Bytes/Tick, Advanced...)

– Escala• la escala para el eje y

(10,20,50,100,200,500,...)

Dr. Roberto GómezLámina 30

Otras estadísticas

• Protocol Hierarchy

• Conversations

• End points

Page 16: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 16

Dr. Roberto GómezLámina 31

Ultimos comentarios

• Funciona para Windows 2000 – necesario contar con WinPcap, se puede obtener de

http://netgroup-serv.polito.it/winpcap/install/Default.htm

– se puede bajar de:http://www.ethereal.com

• Se cuenta con una guía del usuario en html

• También corre en las siguientes plataformas:– AIX, Tru64 UNIX (formerly Digital UNIX), Debian

GNU/Linux, Slackware Linux, Red Hat Linux, FreeBSD, NetBSD, OpenBSD, HP/UX, Sparc/Solaris 8, Windows NT and Windows Me/98/95

Dr. Roberto GómezLámina 32

Limitantes ethereal (y otros sniffers)

• Es lento para la lectura

• Redes switcheadas

• Redes encriptadas

• Redes de alta velocidad

Page 17: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 17

Dr. Roberto GómezLámina 33

Nemesis

Sofware de inyección de paquetes

Dr. Roberto GómezLámina 34

Nemesis

• Software de inserción de paquetes, que soportadiferentes protocolos.– Cada protocolo cuenta con sus opciones

• Desarrollado por Mark Grimes ([email protected], [email protected] )

• Ofrece características nuevas que no se puedenencontrar en ninguna otra herramienta de su clase.

• Inyección de paquetes puede ser controlada a nivelcapa 2 o capa 3 (como el protocolo lo permita)

• Requisitos– libnet:http://www.packetfactory.net/Projects/Libnet/– libpcap: http://www.tcpdump.org/

Page 18: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 18

Dr. Roberto GómezLámina 35

Nemesis

• Versión Unix– nemesis-1.4beta3.tar.gz (Jun 29 2003)– protocolos soportados: ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF,

RIP, TCP y UDP– plataformas: *BSD(i), Linux, [Trusted] Solaris, Mac OS X– requerimientos

• * libnet-1.0.2a

• Versión Windows– nemesis-1.4beta3.zip (Jun 29 2003)– protocolos soportados: ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF,

RIP, TCP y UDP– plataformas: Windows 9x, Windows NT, Windows 2000, Windows XP– requerimientos

• * libnetNT-1.0.2g (incluido en el archivo zip de Nemesis)• * WinPcap-2.3 o * WinPcap-3.0

Dr. Roberto GómezLámina 36

Protocolos soportados por Nemesis

• arp• dns• ethernet• icmp• igmp• ip• ospf• rip• tcp• udp

• Sintaxis comando:

nemesis <protocolo> [ opciones protocolo ]

Page 19: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 19

Dr. Roberto GómezLámina 37

Opciones protocolo arp (1)

• Sintaxis

• Opciones ARP/RARP

nemesis arp [-rsTRvZ?] [-d Ethernet-device ] [-D destination-IP-addr] [-h sender-hardware-addr ] [-H source-MAC-addr ] [-m target-hardware-addr ] [-M destination-MAC-addr ] [-P payload-file ] [-S source IP addr ]

Dirección IP fuente-S dir-ip

Encabezado con información de acuerdo implementación Solaris-s Solaris-mode

Habilita modo RARP-R rarp-enable

Habilita respuestas ARP/RARP-r reply-enable

Archivo de payload. Máximo 1472 bytes. También se puede especificar payload de línea comandos con opción ‘-P –’

-P arch

Dirección destinos ethernet-m dir-hard

Dirección fuente (emisor) ethernet-h dir-hard

Dirección IP destino-D dir-ip

DescripciónOpción

Dr. Roberto GómezLámina 38

Opciones protocolo arp (2)

• Sintaxis

• Opciones DATA LINK

nemesis arp [-rsTRvZ?] [-d Ethernet-device ] [-D destination-IP-addr] [-h sender-hardware-addr ] [-H source-MAC-addr ] [-m target-hardware-addr ] [-M destination-MAC-addr ] [-P payload-file ] [-S source IP addr ]

Especifica nombre (Unix) o dirección (Windows) del dispositivo ehternet a utilizar

-d Ethernet-device

Lista las interfaces de red por número para usar en inyección a nivel enlace

-Z network-inter

Especifica la dirección destino MAC (XX:XX:XX:XX:XX:XX)-M dir-hard-dest

Especifica la dirección fuente MAC (XX:XX:XX:XX:XX:XX)-H dir-hard-emis

DescripciónOpción

Page 20: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 20

Dr. Roberto GómezLámina 39

Opciones protocolo tcp (1)

• Sintaxis

• Opciones TCP

nemesis tcp [-vZ?] [-a ack-number ] [-d Ethernet-device ] [-D destination-IP-address ] [-f TCP-flags ] [-F fragmentation-options ] [-I IP-ID ] [-M destination-MAC-address ] [-o TCP-options-file ] [-O IP-options-file ] [-P payload-file ] [-s sequence-number ] [-S source-IP-address ] [-t IP-TOS ] [-T IP-TTL ] [-u urgent-pointer ] [-w window-size ] [-x source-port ] [-y destination-port ]

Número de acknowledgement dentro encabezado IP-a ACK-NUM

Especifica el offset del urgent pointer dentro encabezado TCP-u urgent-ptr

Número de secuencia dentro encabezado TCP-s seq-number

Archivo payload. Máximo 65415 bytes. También se puede especificar payload de línea comandos con opción ‘-P –’

-P arch-carga

Archivo opciones TCP (creado manualmente)-o arch-opts-TCP

Bandeas TCP (-fS/-fA/-fR/-fP/-fF/-fU/-fE/-fC)-f TCP flags

DescripciónOpción

Dr. Roberto GómezLámina 40

Opciones protocolo tcp (2)

• Sintaxis

• Opciones TCP

nemesis tcp [-vZ?] [-a ack-number ] [-d Ethernet-device ] [-D destination-IP-address ] [-f TCP-flags ] [-F fragmentation-options ] [-I IP-ID ] [-M destination-MAC-address ] [-o TCP-options-file ] [-O IP-options-file ] [-P payload-file ] [-s sequence-number ] [-S source-IP-address ] [-t IP-TOS ] [-T IP-TTL ] [-u urgent-pointer ] [-w window-size ] [-x source-port ] [-y destination-port ]

Especifica tamaño ventana dentro encabezado TCP-w window-size

Especifica el puerto fuente (emisor) dentro encabezado TCP-x source-port

Especifica el puerto destino dentro encabezado TCP-y dest-port

Habilita modo verbose-v verbose

DescripciónOpción

Page 21: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 21

Dr. Roberto GómezLámina 41

Opciones protocolo tcp (3)

• Sintaxis

• Opciones IP

nemesis tcp [-vZ?] [-a ack-num ] [-d Ethernet-device ] [-D destination-IP-addr] [-f TCP-flags ] [-F fragmentation-options ] [-I IP-ID ] [-M destination-MAC-addr ] [-o TCP-options-file ] [-O IP-options-file ] [-P payload-file ] [-s sequence-number ] [-S source-IP-addr ] [-t IP-TOS ] [-T IP-TTL ] [-u urgent-pointer ] [-w window-size] [-x source-port ] [-y destination-port ]

Especifica dirección IP destino dentro encabezado IP-D dest-IP-addr

Especifica el valor del tiempo de vida del paquete dentro del encabezado IP

-T IP-TTL

Especifica el tipo de servicio dentro encabezado IP (2, 4, 8, 24)-t IP-TOS

Especifica dirección IP fuente dentro encabezado IP-S sour-IP-addr

Archivo opciones TCP (creado manualmente)-O arch-opts-TCP

Especifica el identificador de IP dentro del encabezado IP-I IP-ID

Especifica opciones de fragmentación (-F[D],[M],[R],[offset]) en encabezado IP

-F frag-opts

DescripciónOpción

Dr. Roberto GómezLámina 42

Opciones protocolo tcp (4)

• Sintaxis

• Opciones DATA LINK

nemesis tcp [-vZ?] [-a ack-number ] [-d Ethernet-device ] [-D destination-IP-address ] [-f TCP-flags ] [-F fragmentation-options ] [-I IP-ID ] [-M destination-MAC-address ] [-o TCP-options-file ] [-O IP-options-file ] [-P payload-file ] [-s sequence-number ] [-S source-IP-address ] [-t IP-TOS ] [-T IP-TTL ] [-u urgent-pointer ] [-w window-size ] [-x source-port ] [-y destination-port ]

Especifica nombre (Unix) o dirección (Windows) del dispositivo ehternet a utilizar

-d Ethernet-device

Lista las interfaces de red por número para usar en inyección a nivel enlace

-Z network-inter

Especifica la dirección destino MAC (XX:XX:XX:XX:XX:XX)-M dir-hard-dest

Especifica la dirección fuente MAC (XX:XX:XX:XX:XX:XX)-H dir-hard-emis

DescripciónOpción

Page 22: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 22

Dr. Roberto GómezLámina 43

Opciones protocolo udp (1)

• Sintaxis

• Opciones UDP

nemesis udp [-vZ?] [-d Ethernet-device ] [-D destination-IP-address ] [-F fragmentation-options ] [-H source-MAC-address ] [-I IP-ID ] [-M destination-MAC-address ] [-O IP-options-file ] [-P payload-file ] [-S source-IP-address ] [-t IP-TOS ] [-T IP-TTL ] [-x source-port ] [-y destination-port ]

Especifica el puerto fuente (emisor) dentro encabezado TCP-x source-port

Especifica el puerto destino dentro encabezado TCP-y dest-port

Habilita modo verbose-v verbose

Archivo payload. Máximo 65415 bytes. También se puede especificar payload de línea comandos con opción ‘-P –’

-P arch-carga

DescripciónOpción

Dr. Roberto GómezLámina 44

Opciones protocolo udp (2)

• Sintaxis

• Opciones IP

nemesis udp [-vZ?] [-d Ethernet-device ] [-D destination-IP-address ] [-F fragmentation-options ] [-H source-MAC-address ] [-I IP-ID ] [-M destination-MAC-address ] [-O IP-options-file ] [-P payload-file ] [-S source-IP-address ] [-t IP-TOS ] [-T IP-TTL ] [-x source-port ] [-y destination-port ]

Especifica dirección IP destino dentro encabezado IP-D dest-IP-addr

Especifica el valor del tiempo de vida del paquete dentro del encabezado IP

-T IP-TTL

Especifica el tipo de servicio dentro encabezado IP (2, 4, 8, 24)-t IP-TOS

Especifica dirección IP fuente dentro encabezado IP-S sour-IP-addr

Archivo opciones TCP (creado manualmente)-O arch-opts-TCP

Especifica el identificador de IP dentro del encabezado IP-I IP-ID

Especifica opciones de fragmentación (-F[D],[M],[R],[offset]) en encabezado IP

-F frag-opts

DescripciónOpción

Page 23: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 23

Dr. Roberto GómezLámina 45

Opciones protocolo udp (3)

• Sintaxis

• Opciones DATA LINK

nemesis udp [-vZ?] [-d Ethernet-device ] [-D destination-IP-address ] [-F fragmentation-options ] [-H source-MAC-address ] [-I IP-ID ] [-M destination-MAC-address ] [-O IP-options-file ] [-P payload-file ] [-S source-IP-address ] [-t IP-TOS ] [-T IP-TTL ] [-x source-port ] [-y destination-port ]

Especifica nombre (Unix) o dirección (Windows) del dispositivo ehternet a utilizar

-d Ethernet-device

Lista las interfaces de red por número para usar en inyección a nivel enlace

-Z network-inter

Especifica la dirección destino MAC (XX:XX:XX:XX:XX:XX)-M dir-hard-dest

Especifica la dirección fuente MAC (XX:XX:XX:XX:XX:XX)-H dir-hard-emis

DescripciónOpción

Dr. Roberto GómezLámina 46

Sintaxis inyección paquetes ICMP

nemesis-icmp [-vZ?] [-a ICMP-timestamp-request-reply-transmit-time ] [-b original-destination-IP-address ] [-B original-source-IP-address ] [-c ICMP-code ] [-d Ethernet-device ] [-D destination-IP-address ] [-e ICMP-ID ] [-f original-IP-fragmentation ] [-F fragmentation-options ] [-G preferred-gateway ] [-H source-MAC-address ] [-i ICMP-type ] [-I IP-ID ] [-j original-IP-TOS ] [-J original-IP-TTL ] [-l original-IP-options-file ] [-m ICMP-mask ] [-M destination-MAC-address ] [-o ICMP-timestamp-request-transmit-time ] [-O IP-options-file ] [-p original-IP-protocol ] [-P payload-file ] [-q ICMP-injection-mode ] [-r ICMP-timestamp-request-reply-received-time ] [-S source-IP-address ] [-t IP-TOS ] [-T IP-TTL ]

Page 24: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 24

Dr. Roberto GómezLámina 47

Opciones ICMP paquetes ICMP

Especifica el código ICMP dentro del encabezado ICMP-c ICMP-code

Especifica el valor del tiempo de vida del paquete dentro del encabezado IP

-T IP-TTL

Especifica el tipo de servicio dentro encabezado IP (2, 4, 8, 24)-P payload-file

Especifica la dirección IP de la mascara dentro de los paquetes de mascara

-m MAC-addr

Especifica el tipo de ICMP dentro encabezado ICMP-i ICMP-type

Especifica la dirección IP del gateway para inyección redirección-G gateway

Especifica el identificador ICMP dentro encabezado ICMP-e ICMP-ID

DescripciónOpción

Dr. Roberto GómezLámina 48

Ejemplos nemesis

• nemesis tcp -v -S 192.168.1.1 -D 192.168.2.2 -fS -fA -y 22 -P toto

– envía paquete TCP (SYN/ACK) con payload del archivoascii totoal puerto ssh, de 192.168.1.1 a 192.168.2.2

– opción –v permite visualizar el paquete inyectado

• nemesis udp -v -S 10.11.12.13 -D 10.1.1.2 -x 11111 -y 53 -P bindpkt

– envia paquete UDP de 10.11.12.13:11111 al puerto de servicio de nombres de 10.1.1.2, con un payload que se lee del archivobindpkt

– de nuevo: -v usado para confirmar paquete inyectado

• nemesis icmp -S 10.10.10.3 -D 10.10.10.1 -G 10.10.10.3 -i 5

– enviar paquete ICMP REDIRECT de 10.10.10.3 a 10.10.10.1 con la dirección del gateway como direcciónfuente

Page 25: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 25

Dr. Roberto GómezLámina 49

Otros dos ejemplos

• Lanzar ethereal y empezar a capturar

• Teclear lo siguiente

• Detener ethereal y buscar los paquetes inyectados

# echo Esto es un ejemplo de paquete TCP > toto

# echo This is an example of UDP packet > cachafas

# nemesis tcp -v -S 192.168.1.1 -D 192.168.2.2 -fSA -y 22 -P toto# nemesis udp -v -S 10.11.12.13 -D 10.1.1.2 -x 11111 -y 53 -P cachafas

# nemesis icmp -S 10.10.10.3 -D 10.10.10.1 -G 10.10.10.3 –qR

# nemesis arp -v -d eth0 -H 0:1:2:3:4:5 -S 10.11.11.11 -D 10.10.10.10

Dr. Roberto GómezLámina 50

Otros paquetes Inyectores

• Send IP– http://www.earth.li/projectpurple/progs/

sendip.html

– herramienta de comando línea quepermite enviar paquetes IP arbitrarios

• wINJECT: – inyección de paquetes para Win9x &

Win2k

– home19.inet.tele.dk/moofz/about_o.htm

• Engage Packet Builder– http://www.engagesecurity.com/products

/engagepacketbuilder/

Page 26: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 26

Dr. Roberto GómezLámina 51

El sniffer etherape

• Monitor gráfico de red

• Modelado a partir de etherman

• Despliega actividad red en forma gráfica

• Hosts y links cambian su tamaño de acuerdo al tráfico presentado.

• Colores protocolos desplegados

• Posible filtrar tráfico

# etherape &

Dr. Roberto GómezLámina 52

¿¿Y las redes switcheadas??

Introducción a los sniffers activos

Page 27: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 27

Dr. Roberto GómezLámina 53

Ettercap

Kiddie: A friend of mine told me that it is possible to sniff on a LA N... so I bought a switch ;)NaGoR: mmhhh....Kiddie: Now my LAN is SECURE ! you can't sniff my packets... ah ah ahNaGoR: are you sure ? look at ettercap doing its work...Kiddie: Oh my god... it sniffs all my traffic !!

I will use only ciphered connections on my LAN, so etterc ap can't sniff them ! ah ah ahNaGoR: mmhhh....Kiddie: Now I'm using SSH. My LAN is SECURE !NaGoR: are you sure ? look at ettercap doing its work...Kiddie: shit !! grrrr...

"a false sense of security, is worse than insecurity" - - Steve Gibsonhey folks... wake up ! the net is NOT secure !!ettercap demonstrates that now is the time to encourage res earch oninternet protocols to make them more secure.

Dr. Roberto GómezLámina 54

Modos operación

• El sniffer tiene cuatro modos de operación– Basado en IP, paquetes filtrados en fuente y destino IP

– Basado en MAC, paquetes filtrados en base a direcciones MAC, útil para sniffear conexiones a través del gateway

– Basado en ARP, útil para envenenar el arp para sniffearen una lan switcheado entre dos hosts (full-duplex)

– Basado en ARP público, usa envenamiento de arp para sniffear una lan switcheada de un host víctima al resto de los hosts (half-duplex)

Page 28: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 28

Dr. Roberto GómezLámina 55

Arp based sniffing

• No pone la interfaz en modo promiscuo.• No es necesario, los paquetes llegan a la máquina.

– el switch reenvia los paquetes a la máquina

• Como funciona– ettecarp “envenena” el caché del arp de dos hosts,

identificandose como otro host – una vez que el caché fue envenenado, los hosts empiezan a

comunicarse, pero sus paquetes se envían a la máquina “interceptora”

– esta máquina almacena estos paquetes y los enviara a la máquina destino

Dr. Roberto GómezLámina 56

Características arp sniffing

• La conexión es transparente para las víctimas– no saben que están siendo “snifeados”

– la única forma de descubrir lo que esta pasando es ver los cachés arp de las máquinas y verificar si hay dos hosts con la misma dirección MAC

host 1(envenenado)

host 2(envenenado)

host atacante ( ettercap )

Page 29: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 29

Dr. Roberto GómezLámina 57

Envenenando el caché de arp

• Protocolo arp tiene una inseguridad intrínseca.• Para reducir tráfico en cable, creará una entrada en la

caché del arp, aún cuando no fue solicitado.• Cada arp-replyque viaja en el cable será insertado en

la tabla de arp.• Ataque:

– se enván arp-reply a los dos host a sniffear– en este mensaje se indica que la dirección mac del segundo

host es la del atacante– el host enviara paquetes que deben ir al primer host a la

máquina atacante – lo mismo para el primer host pero en orden inverso

Dr. Roberto GómezLámina 58

Ejemplos host envenenados

HOST 1: ATTACKER HOST:mac: 01:01:01:01:01:01 mac: 03:03:03:03:03:03ip: 192.168.0.1 ip: 192.168.0.3HOST 2: mac: 02:02:02:02:02:02ip: 192.168.0.2se envían mensajes arp-reply a:

HOST 1 indicando que 192.168.0.2 esta en: 03:03:03:03:03:03HOST 2 indicando que 192.168.0.1 esta en: 03:03:03:03:03:03

ahora se encuentran envenenados, y enviaran paquetes al host de ataque,

este último enviará paquetes de la siguiente forma:

HOST 1 será reenviado a: 02:02:02:02:02:02

HOST 2 será reenviado a: 01:01:01:01:01:01

Page 30: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 30

Dr. Roberto GómezLámina 59

Requerimientos

• No requiere de ninguna biblioteca como libpcap, libnet o libnids, tampoco es necesario ncurses, pero es altamente recomendable instalarlo.

• Si es necesario que soporte SSH1 y/p HTTPS, ettercap requiere las bibliotecas de OpenSSL

• Para Win32:– requiere Windows NT/2000/XP.

– winpcap versión 2.3 o mayor

– cygwin de http://cygwin.com/setup.exe

Dr. Roberto GómezLámina 60

La interfaz ncurses

• Ventana principal dividida en tres subsecciones:– alta: diagrama de conexión, que despliega las dos máquinas a

sniffear o a conectar o sobre las que se va a operar

– media: lista de los hostconocidos en la LAN (unidos hub o switch)

– baja: ventana de status, proporciona información adicional acerca de los objetos actualmente seleccionados, status actual y otros hints importantes.

Page 31: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 31

Dr. Roberto GómezLámina 61

¿Cómo funciona todo?

• La lista de hosts

• Sniffing basado en IP

• Sniffing basado en MAC

• Sniffing basado en ARP

• Envenamiento de ARP

• ARP público

• ARP público inteligente

• Inyección de caracteres

Dr. Roberto GómezLámina 62

Lista hosts disponibles

• Lo primero que se obtiene es la lista de hosts de la LAN

• Se puede seleccionar con flechas y teclas de tabulador los dos hosts a monitorear, y después seleccionar el método apropiado (IP, MAC or ARP based sniffing).

Page 32: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 32

Dr. Roberto GómezLámina 63

La lista de hosts

• Cuando empieza hace una lista de todos los hosts en la LAN.

• Envía un ARP REQUEST a cada IP en la LAN– revisando la IP actual y el netmask

– posible capturar los ARP REPLIES y hacer la lista de los hosts que están respondiendo en la LAN

• Con este método también los hosts Windows responden

• Precaución con netmask = 255.255.0.0– ettercap enviará 255*255 = 65025 mensajes tipo arp request

– tomará más de un minuto construir la lista

Dr. Roberto GómezLámina 64

Seleccionando que hacer

• Presionando F1 se accede al menú de ayuda– todos los menú poseen su

propia ayuda, se accede pulsando F1

• Hay 3 modos de sniffing: – Envenenamiento ARP ->

pulsando 'a' o 'A‘– Sniffing a las IPs ->

pulsando 's' o 'S‘– Sniffing a las MAC ->

pulsando 'm' o 'M'

Page 33: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 33

Dr. Roberto GómezLámina 65

Estado conexiones entre hosts

• Después de seleccionar un método, la interfaz muestra todas las conexiones entre los dos hosts

• Se puede elegir la conexión que se desea sniffear

• Cada conexión tiene un atributo (activo o silencio) que indica si existe alguna actividad en esta conexión.

Dr. Roberto GómezLámina 66

Snifeando la conexión

• La interfaz de snifeo muestra tanto el puerto fuente como destino.

• Es posible registrar los datos sniffeados, examinarlo en modo ascii o hexadecimal, inyectar caracteres en una conexión telnet y mucho más

Page 34: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 34

Dr. Roberto GómezLámina 67

Otro ejemplo de captura

Dr. Roberto GómezLámina 68

Es https seguo?

Page 35: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 35

Dr. Roberto GómezLámina 69

Otros menú de ayuda

Dr. Roberto GómezLámina 70

Detección sniffers

• Sniffers son difíciles de detectar y combatir ya que son programas pasivos.– algunas veces imposible

• No generan bitacoras.

• Cuando se usan propiamente, no usan mucho disco ni memoria.

• Es posible localizarlos a nivel local– verificar que se esta ejecutando

• A nivel red, algunos pueden localizarse mediante herramientas

Page 36: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 36

Dr. Roberto GómezLámina 71

A nivel local

• Saber si alguna interfaz de red, de las computadoras de la red, se encuentra en modo promiscuo– a través comandos ifconfig y utilería ifstatus

• Comando ifconfig– responde con el status de todas las interfaces

– ejemplo uso:

toto@cachafas:17>ifconfigUP BROADCAST RUNNIG PROMISC MULTICAST MTU:1500 Metric:1:toto@cachafas:18>

Dr. Roberto GómezLámina 72

A nivel local

• Utileria ifstatus– pequeño programa en

– verifica todas las interfaces de red en el sistema y reporta si alguna de ellas se encuentran en modo promiscuo.

– también los detecta en host locales

– un ejemplo de salida es:

WARNING: LINUX2.SAMSHACKER.NET INTERFACE eth0 IS IN PROMISCOUS MODE

Page 37: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 37

Dr. Roberto GómezLámina 73

Aprovechando errores implementación stack IP

• Posible detectar sniffers en algunos sistemas operativos– por ejemplo: Linux

• Aprovechar debilidad en la implementación del stackTCP/IP.

• Cuando se encuentra en modo promiscuo– responde a los paquetes TCP/IP que recibe con su dirección IP

aún si la dirección MAC en dicho paquete esta mal

– el comportamiento estándar es que los paquetes que contienen direcciones MAC erróneas no serán tomados en cuenta (i.e. no hay repuesta) ya que la interfaz de red los “tira”.

Dr. Roberto GómezLámina 74

Aprovechando errores implementación stack IP

• ¿Cómo funciona?– se envian paquetes TCP/IP a todas las direcciones de

la red, donde la dirección MAC contenga información errónea, la respuesta de dichas máquina seá un paquete RST

– indicará que máquinas se encuentran en modo promiscuo.

• A pesar de que no se trata de un método perfecto puede ayudar a descubrir actividad sospechosa en una red.

Page 38: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 38

Dr. Roberto GómezLámina 75

Técnicas similares de detección

• DNS test

• Etherping test

• ARP test

• ICMP Ping de Latencia

Dr. Roberto GómezLámina 76

Herramientas detección sniffers

• AntiSniff

• CPM (Check Promiscuous Mode)

• neped

• sentinel

• los comandos/utilerías– ifconfig

– ifstatus

Page 39: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 39

Dr. Roberto GómezLámina 77

Otras opciones

• Es una forma de protegerse de varios sniffers

• Hubs activos solo envían paquetes a un conjunto de máquinas previamente autorisadas– puede deshabilitar el sniffer ya que no recibirá paquetes que

no sean enviados por a una máquina en específico.

– Cisco, HP y 3COM cuentan con dichos hubs activos

• Switchear la red– ettercap

• Encripción de los canales de comunicación– VPNs: SSL, SSH, IPSec, L2TP, PPTP

Dr. Roberto GómezLámina 78

El protocolo SSH

Secure SHell

Page 40: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 40

Dr. Roberto GómezLámina 79

El protocolo SSH

• Desarrollado por Communications Security Ltd.

• Es un programa (protocolo) para acceder a otra computadora a través de una red, ejecutar comandos a una maquina remota y mover archivos de una computadora a otra.

• Provee una fuerte autenticación y comunicaciones seguras por medio de encripción sobre canales inseguros.

• Es un sustituto para el telnet, ftp, rlogin, rsh, rcp y rdist.

Dr. Roberto GómezLámina 80

¿Qué proporciona SSH?

• En conjunto, SSH proporciona– Privacidad por blindaje criptográfico de la conexión

TCP

– Autenticación del cliente por una miríada de mecanismos

– Autenticación del servidor, idem.

– Protocolo de transferencia de ficheros (scp/sftp)

– Creación de túneles porport forwarding

– Soporte de autenticación por agentes

Page 41: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 41

Dr. Roberto GómezLámina 81

El nombre SSH

• Existe confusión acerca nombre ssh

• Originalmente existía un programa llamado ssh– con el tiempo otras entidades han crecido

• Existe un paquete, que incluye programa ssh y otros, el cual es usualmente llamado ssh

• Existe un protocolo de comunicaciones sobre el que el programa ssh (y otros) esta basado– usualmente llamado ssh

• Compañía llamada SSH Communications Security– cuenta con otros productos que usan el nombre

Dr. Roberto GómezLámina 82

Versiones SSH

• Existen dos versiones: SSH v1 y SSH v2.• Son dos protocolos totalmente diferentes.• SSH1 y SSH2 encriptan los paquetes en diferentes

partes – SSH1 usa llaves de servidor y cliente para autenticar sistemas,

en cambio SSH2 solo usa llaves de host.

• SSH2 es una completa reescritura del protocolo y no usa la misma implementación de red que usa SSH1. – se le considera mas seguro.

• Debido a la diferente implementación ambos protocolos son incompatibles.

Page 42: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 42

Dr. Roberto GómezLámina 83

Diferencias SSH v1 y SSH v2

• SSH 1 es la versión original.

• SSH 2 incluye nuevas características– soporte protocolo TLS

• SSH 1 es distribuido con todo y código– licencia permite obtenerlo gratis para usos no-comerciales

• SSH 2 fue desarrollado por SSH Comm. Security– se vende comercialmente, aunque esta disponible para

diferentes usos

• Varios programas basados en los protocolos SSH son desarrollados por otra gente.

Dr. Roberto GómezLámina 84

Open SSH

• OpenSSH es una implementación libre del paquete de protocolosSSH/SecSH– provee cifrado para los servicios de red, como

ingreso remoto ("remote login") o transferencia de archivos remota, de un sistema de cifrado.

• OpenSSH es un proyecto desarrolladoprincipalmente por el Proyecto OpenBSD– su primera integración en un sistema operativo fue en

OpenBSD 2.6.

Page 43: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 43

Dr. Roberto GómezLámina 85

Características OpenSSH

• Proyecto de Código Abierto y licencia Libre• Encripción y autenticación fuerte• Reenvío por X11 (encripta tráfico de X Windows)• Redireccionamiento de puertos• Reenvío por Agente (ingreso único) • Interoperabilidad

– conforme regulaciones del protocolo SSH 1.3, 1.5, y 2.0

• Soporte para cliente y servidor de SFTP en protocolosSSH1 y SSH2.

• Pases de Ticket de Kerberos y AFS

Dr. Roberto GómezLámina 86

Programas OpenSSH (1)

• sshd– Programa servidor que funciona sobre una máquina servidora. – Escucha las conexiones de las máquinas clientes, y en cuanto recibe una

conexión, lleva a cabo la autenticación y empieza el servicio para el cliente.

• ssh– Programa cliente que se usa para ingresar en otra máquinao para ejecutar

órdenes en la otra máquina. Este programa también se conoce comoslogin.

• scp– Copia archivos desde una máquina hasta otra en modo seguro.

• ssh-keygen– Se utiliza para generar las llaves públicas (RSA o DSA) autenticación

(tanto llaves del anfitrión como las llaves de autenticación para usuarios).

• ssh-agent– Agente de autenticación. Se puede usar para conservar la autenticación

inicial con RSA durante procesos u órdenes consecutivas.

Page 44: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 44

Dr. Roberto GómezLámina 87

Programas OpenSSH (2)

• ssh-add– Se usa para registrar nuevas claves con el agente.

• sftp-server– Subsistema servidor de SFTP.

• sftp– Programa de transferencia segura de archivos.

• ssh-keyscan– Utilidad para la obtención de claves públicas.

• ssh-keysign– Programa de ayuda de ssh para la autenticación basada en

anfitrión.

Dr. Roberto GómezLámina 88

Sistemas Operativos Soportados

• OpenBSD

• NetBSD

• FreeBSD

• AIX

• HP-UX

• IRIX

• Linux

• NeXT

• SCO

• SNI/Reliant Unix

• Solaris

• Digital Unix/Tru64/OSF

• Mac OS X

Page 45: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 45

Dr. Roberto GómezLámina 89

Cliente ssh windows

• Programa putty– http://www.chiark.greenend.org.uk/~sgtatham/putty/

• Programa SSH Tectia Client– http://www.ssh.com/support/downloads/secureshellwks/non-

commercial.html

Dr. Roberto GómezLámina 90

Autenticación servidor

• No se basa en nombre servicio o direcciones IP

• En ambas versiones, criptografia llave pública es usada para probar identidad servidor.

• Primera parte verifica que cliente posee un llave pública correcta del servidor a conectarse.– Problema durante desarrollo V1: no existía estándar global

para distribuir y verificar llaves públicas

– SSH V2: puede usar autoridades certificadoras para verificar una llave pública (en base a TLS)

– SSH V2 también soporta mecanismo desarrollado para V1

Page 46: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 46

Dr. Roberto GómezLámina 91

Autenticación del servidor

• En SSH, la autenticación fuerte esrecíproca. Cadausuario mantiene un registro de las claves de host con que ha “hablado” hasta el momento.– archivo en el directorio hogar del usario: ~/.ssh/known_hosts

• El cliente ssh emite una FUERTE advertencia (puedellegar a abortar la sesión) si percibe un cambio en la clave de host. Esto previene: – autenticación por contraseña contra un troyano (caza-claves) – ataquesman-in-the-middle

• No hay provisión para autenticación del servidor por dos factores.

Dr. Roberto GómezLámina 92

Esquema autenticación del servidor

Page 47: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 47

Dr. Roberto GómezLámina 93

Autenticación del cliente

• SSH puede autenticar autorizar el acceso al cliente mediante varios métodos– rhosts al estilo BSD (basada en host)– rhosts con claves públicas de host– llave pública– contraseñas (al modo clásico de Telnet, con

transferencia cifrada).– desafío (reto) / respuesta

• Para aportar conveniencia, SSH soporta el uso de un agente de autenticación.

Dr. Roberto GómezLámina 94

Autenticación por contraseña

Page 48: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 48

Dr. Roberto GómezLámina 95

Ejemplo autenticación por contraseña

rogomez@vodka$ ssh armagnac -l rogomez

The authenticity of host ‘armagnac (10.10.10.1)' can't be established.RSA key fingerprint is b7:84:da:c6:a5:32:90:1d:3f:da:47:0b:98:1a:e3:e5.

Are you sure you want to continue connecting (yes/no)?

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘armagnac' (RSA) to the list of known hosts.

rogomez@armagnac's password:Permission denied, please try again.

rogomez@armagnac's password:

rogomez@armagnac$

Dr. Roberto GómezLámina 96

Impidiento la conexión como root

• Archivo sshd_configfind / -name sshd_config -print/etc/ssh/sshd_config

• Contenido:# $OpenBSD: sshd_config,v 1.70 2004/12/23 23:11:00 djm Exp $

# This is the sshd server system-wide configuration file. See# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with# OpenSSH is to specify options with their default value where# possible, but leave them commented. Uncommented options change a

# default value.

A no confundir con archivo ssh_config

Page 49: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 49

Dr. Roberto GómezLámina 97

Continuación contenido

#Port 22

#Protocol 2,1Protocol 2#AddressFamily any

#ListenAddress 0.0.0.0#ListenAddress ::

:

:# Authentication:

#LoginGraceTime 2m#PermitRootLogin yes#StrictModes yes

#MaxAuthTries 6

:

:#Compression yes#ClientAliveInterval 0

#ClientAliveCountMax 3#UseDNS yes#PidFile /var/run/sshd.pid

#MaxStartups 10#ShowPatchLevel no

# no default banner path#Banner /some/path

# override default of no subsystemsSubsystem sftp /usr/libexec/openssh/sftp-server

Cambiar por

PermitRootLogin no

Dr. Roberto GómezLámina 98

¿Y después?

• Es necesario que el servidor lea de nuevo el archivo de configuración para que tome en cuenta los cambios efectuados.

• Dar de baja y de alta el servicio

• En el servidor

• Del lado del cliente

root@server$ service sshd stopStopping sshd: [ OK ]root@server$ service sshd startStarting ssh: [ OK ]root@server$

rogomez@armagnac$ ssh server.com -l [email protected]’s password: Permission denied, please try again.rogomez@armagnac$

Otra opción:

service ssh restart

Page 50: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 50

Dr. Roberto GómezLámina 99

Autenticación por llave pública RSA

Dr. Roberto GómezLámina 100

Directorio y archivo de la llave pública

Directorio donde se encuentran

almacenadas las llaves

Primer paso: generar llaves en el cliente

user1@vodka:~$ ssh-keygen -t rsaGenerating public/private dsa key pair.Enter file in which to save the key (/home/user1/.ssh/id_dsa):Created directory '/home/user1/.ssh'.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/user1/.ssh/id_dsa.Your public key has been saved in /home/user1/.ssh/id_dsa.pub.The key fingerprint is:58:5e:fb:a7:5e:08:36:25:dc:cb:18:af:6b:38:fc:2e user1@vodka[user1@wlprf54-168 ~]$user1@vodka:~$

Page 51: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 51

Dr. Roberto GómezLámina 101

Transferencia de archivos

• SSH proporciona un mecanismo de transferencia de archivos que reemplaza al clásico FTP – comando scp, (sintaxis es semejante a la de rcp)

• La versión 2 de SSH incorpora un comando sftp similar al cliente FTP clásico de línea de comandos.

• Existen muchos programas que implementantransferencia SSH además del clásico FTP:– lftp, yafc para Linux, WinSCP y la serie de programas putty

para Windows.

$ scp mi_fichero_de_aqui.txt infor24.epv.uniovi.es:nombre_alla.txt

Dr. Roberto GómezLámina 102

Segundo paso: copiar la llave publica al servidor

• Necesario que en directorio hogar del usuario de las dos máquinas exista el directorio .ssh

cliente (vodka) server (10.48.54.168)

user1@vodka$ scp ~/.ssh/id_dsa.pub [email protected]:~/.ssh/autho [email protected]'s password:id_dsa.pub 100% |*****************************| 60 5 00:00user1@vodka$

user1@vodka$ ls ~/.ssh/id_dsa id_dsa.pub known_hostsuser1@vodka$

user1@server$ ls ~/.ssh/authorized_keys known_hostsuser1@server$

Page 52: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 52

Dr. Roberto GómezLámina 103

Cambiar por

PubkeyAuthentication yes

(quitar comentario)

Cambiar por

PasswordAuthentication no

Tercer paso: cambiar el archivo configuración de sshd en el servidor

• Necesario volver a modificar archivo sshd_config:::

#RSAAuthentication yes#PubkeyAuthentication yes#AuthorizedKeysFile .ssh/authorized_keys

::

# RhostsRSAAuthentication and HostbasedAuthenticatio n#IgnoreUserKnownHosts no# Don't read the user's ~/.rhosts and ~/.shosts files#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!#PasswordAuthentication yes#PermitEmptyPasswords noPasswordAuthentication yes

Dr. Roberto GómezLámina 104

Por último: reinicializar el servidor y probar

• Reinicializando (en el servidor):

• Probando (en el cliente):

root@server$ service sshd restartStopping sshd: [ OK ]Starting ssh: [ OK ]root@server$

user1@vodka$ ssh [email protected] passphrase for key '/home/user1/.ssh/id_dsa':Last login: Tue Mar 6 18:04:20 2007 from vodkauser1@server$

Page 53: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 53

Dr. Roberto GómezLámina 105

Agente SSH

• Para facilitar la autenticación por dos factores duranteuna misma sesión, SSH nos proporciona un agente de autenticación.

• Esencialmente, se trata de un proceso que se mantienevivo a la vez que una sesión de un usuario, y mantieneun caché de claves privadas descifradas.

• Cada nuevo login remoto se efectúa solicitando la autenticación al agente, sin que el usuario tenga queintervenir una vez más.

• Es posible incluso que el agente autentifiqueremotamente, mediante un proceso conocido comoagent forwarding.

Dr. Roberto GómezLámina 106

Agente de autenticación

Page 54: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 54

Dr. Roberto GómezLámina 107

Usando el agente de ssh

• Cada vez que se conecte debe dar la frase asociada a la frase– donde esta la ventaja

• Correr el agente en el cliente, de tal forma que no se tenga que dar la frase cada vez que se conecte al servidor

• Comando agente: ssh-agent– opción para borrar pantalla: screen

• Después es necesario añadir la llave que el agente debe recordar– comando ssh-add– se debe proporcionar la frase asociada

Dr. Roberto GómezLámina 108

Ejemplo

• Activando el agente

• Dando de alta la llave

• Probando

user1@vodka$ ssh-agentSSH_AUTH_SOCK=/tmp/ssh-XXrsGlFz/agent.3328; export S SH_AUTH_SOCK;SSH_AGENT_PID=3329; export SSH_AGENT_PID;echo Agent pid 3329;user1@vodka$

user1@vodka$ ssh-add ~/.ssh/id_dsaEnter passphrase for /home/user1/.ssh/id_dsa:Identity added: /home/user1/.ssh/id_dsa (/home/user1/ .ssh/id_dsa)user1@vodka$

user1@vodka$ ssh [email protected] login: Tue Mar 6 18:07:24 2007 from vodkauser1@server$

Page 55: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 55

Dr. Roberto GómezLámina 109

¿Y si no es posible la comunicación con el agente?

• Si al intentar conectarse con el agente se obtiene el siguiente mensaje de error:

• La sesión no esta corriendo bajo el agente ssh.• Se puede arreglar lo anterior re-estableciendo un nuevo shell bajo

el agente ejecutando

– se puede reemplazar tcshcon el shell que se desee– después se puede ejecutar ssh-addsin problema

user1@vodka$ ssh-addCould not open a connection to your authentication agent. user1@vodka$

user1@vodka$ exec ssh-agent tcshuser1@vodka$

Dr. Roberto GómezLámina 110

Autenticación por rhosts con llave pública

Page 56: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 56

Dr. Roberto GómezLámina 111

Autenticación por dos factores

Dr. Roberto GómezLámina 112

Ejecutando comandos a distancia

• Es posible ejecutar comandos a distancia vía ssh.

• Esto puede ser útil en casos en que es necesario lanzar un número importante de operaciones sobre varias máquinas de forma segura.

• Por ejemplo, si se desea ejecutar el comando date en la maquina 10.48.54.67, es necesario teclear

user1@vodka$ ssh date 10.48.54.67Thu Aug 19 15:53:54 CEST 2004

user1@vodka$

Page 57: Wireshark, Nemesis, Ettercap y SSHcryptomex.org/SlidesSeguridad/Herra1.pdf• Ethereal es un analizador de tráfico de red, o "sniffer", para sistemas operativos Unix y sistemas basados

Seguridad Informárica Wireshark, Nemesis, Ettercap y SSH

Dr. Roberto Gómez Cárdenas 57

Dr. Roberto GómezLámina 113

Cambiando el numero de puerto de conexión

• Puerto por default: 22

• Posible cambiarlo– archivo sshd_config del lado del cliente

– cambiar la línea

• De lado del cliente– usar ssh con opcion -p

– scp usa el mismo pero con opción -P

#Port 22

#Protocol 2,1Protocol 2#AddressFamily any

#ListenAddress 0.0.0.0#ListenAddress ::

:

:

Dr. Roberto GómezLámina 114

Redireccionamiento de puertos

• SSH permite realizar port forwarding o reenvío de puertos; en otras palabras, tunelizar conexiones TCP a través de una sesión SSH.

• Permite encriptar comunicaciones, que de otra manera se realizarían en texto claro, como acceder a servicios que sólo están disponibles de manera local al servidor.

• Existe la posibilidad de redirigir puertos locales o puertos remotos.– Local:

• ssh -L 6969:frodo.inforg.uniovi.es:netbios toto.acmecom

– Remoto:• ssh -R 7070:smtp.telefonica.net:smtp toto.acme.com