wireshark, nemesis, ettercap y sshcryptomex.org/slidesseguridad/herra1.pdf• ethereal es un...
TRANSCRIPT
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/
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
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
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
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
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
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
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
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
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
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
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
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ú
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
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
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
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/
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 ]
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
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
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
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
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 ]
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
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/
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
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)
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 )
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
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.
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).
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'
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
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?
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
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
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.
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
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
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
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.
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.
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.
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
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
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
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
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
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
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:~$
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$
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$
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
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$
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
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$
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