Seguridad sistemas y redes (10)

No. 9 de 9 de articulos. Seguridad Sistemas

Cadenas identificativas y otros recursos (6)

Rastrear redes
Escaneo de puertos con UDP

Este tipo de escaneo se realiza utilizando paquetes de tipo UDP  (User Datagram Protocol) en vez de utilizar paquetes TCP. Los puertos UDP abiertos no realizan contestacion con el flag ACK activado a diferencia de los puertos TCP. Los puertos cerrados UDP no están obligados a responder con un paquete RST activado, pero responden con un mensaje de tipo ICMP_PORT_UNREACHABLE. Al igual que en los dos últimos tipos de escaneos tcp comentados se utiliza para realizar mapeos inversos y deducir así que puertos están abiertos.

Envio con el puerto cerrado

Equipo A ————> UDP ————–> Equipo B

Equipo A <———— ICMP UNREACHABLE <——- Equipo B

Ejemplo con NMAP:

root@ubuntu:~# nmap -sU 192.0.2.1

Starting Nmap 5.00 ( http://nmap.org ) at 2010-05-03 11:35 CEST
Interesting ports on 192.0.2.1:
Not shown: 999 closed ports
PORT   STATE         SERVICE
53/udp open|filtered domain
MAC Address: 00:30:DA:XX:XX:XX (Comtrend CO.)

Nmap done: 1 IP address (1 host up) scanned in 1085.72 seconds

Ejemplo con Hping:

root@ubuntu:~# hping3 -V -c 4 -2 -p 2049 192.0.2.1
using eth0, addr: 192.0.2.245, MTU: 1500
HPING 192.0.2.1 (eth0 192.0.2.1): udp mode set, 28 headers + 0 data bytes
ICMP Port Unreachable from ip=192.0.2.1 name=UNKNOWN
status=0 port=1274 seq=0
ICMP Port Unreachable from ip=192.0.2.1 name=UNKNOWN
status=0 port=1275 seq=1
ICMP Port Unreachable from ip=192.0.2.1 name=UNKNOWN
status=0 port=1276 seq=2
ICMP Port Unreachable from ip=192.0.2.1 name=UNKNOWN
status=0 port=1277 seq=3

--- 192.0.2.1 hping statistic ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.6/250.6/1000.5 ms

Entre las ventajas de este método se puede destacar que es fácil detectar si una maquina esta activa y que puertos udp tiene abiertos, por el contrario se ha de tener privilegios de superusuario para realizar este tipo de escaneo, son bastante lentos y los paquetes que se envían no tienen porque garantizar respuestas positivas, ya que puede ser que se pierdan los paquetes al enviarlos o recibirlos.

[ad#336x280g2010]

Escaneo utilizando el puerto ECHO

El puerto ECHO (No. 7) es un tipo de conexión que los sistemas linux actualmente lo traen cerrado ya que no se utiliza, pero en otros sistemas vienen por defecto activado. Se utiliza para realizar comprobaciones de conexión, es decir si la maquina esta activa o no, actualmente se utiliza ping. Se puede utilizar TCP o UDP para realizar la conexión a este puerto. En cualquiera de los casos la función de este puerto ECHO (Eco) es devolver lo que se le envía, de ahí su nombre. En el caso de TCP se puede utilizar el programa telnet para probar si la maquina esta activa, de hecho la conexión a la maquina destino implica una negociación completa en tres pasos (Treeway-handshaking), lo cual significa que la maquina destino se encuentra en la red.

Ejemplo tcp con telnet:

#telnet 192.168.1.1   7

Trying 192.168.1.1…

Connected to 192.168.1.1.

Escape character is ‘^]’.

Envio de eco

Envio de ecotelnet>close

Ejemplo udp con netcat:

#nc –v –u 192.168.1.1 echo

192.168.1.1: inverse host lookup failed: Unknown host

(UNKNOWN) [192.168.1.1] 7 (echo) open

Envio de prueba

Envio de prueba
Envio de ICMP de tipo ECHO

El protocolo ICMP (Internet Control Message Protocol) es el que informa de posibles errores en la capa de red.  Este tipo de escaneo se puede considerar como la forma mas simple de saber si un equipo responde, ya que se utiliza para realizarlo el conocido comando ping, que genera un mensaje ICMP de tipo echo, al cual también se le llama de tipo 8 o simplemente ping. Al realizar el ping la maquina responde con un mensaje también de tipo ICMP pero esta vez de tipo REPLY, también denominado pong.

Ejemplo utilizando el comando ping:

root@ubuntu:~# ping -c 4 192.0.2.1
PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data.
64 bytes from 192.0.2.1: icmp_seq=1 ttl=255 time=0.559 ms
64 bytes from 192.0.2.1: icmp_seq=2 ttl=255 time=0.562 ms
64 bytes from 192.0.2.1: icmp_seq=3 ttl=255 time=0.553 ms
64 bytes from 192.0.2.1: icmp_seq=4 ttl=255 time=0.566 ms

--- 192.0.2.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.553/0.560/0.566/0.004 ms
Envio ICMP tipo broadcast

Este tipo de envíos o escaneos realizan una petición ICMP de tipo 8 o ping a broadcast , al realizar este tipo de envió al broadcast se esta solicitando respuesta a toda la red de forma que todos los equipos que la componga enviaran respuesta.  Es un tipo de escaneo peligroso también denominado smurf broadcast, ya que puede dar lugar a un bloqueo de la red por colapso.

Ejemplo utilizando el comando hping:

root@ubuntu:~# hping3 -1 -c 5 192.0.255.255
HPING 192.0.255.255 (eth0 192.0.255.255): icmp mode set, 28 headers + 0 data bytes
len=46 ip=192.0.255.255 ttl=32 id=39545 icmp_seq=0 rtt=0.3 ms
DUP! len=46 ip=192.0.3.201 ttl=255 id=25118 icmp_seq=0 rtt=0.4 ms
len=46 ip=192.0.3.201 ttl=255 id=25119 icmp_seq=1 rtt=0.2 ms
DUP! len=46 ip=192.0.255.255 ttl=32 id=39547 icmp_seq=1 rtt=0.2 ms
len=46 ip=192.0.3.201 ttl=255 id=25120 icmp_seq=2 rtt=0.4 ms

--- 192.0.255.255 hping statistic ---
3 packets transmitted, 5 packets received, -66% packet loss
round-trip min/avg/max = 0.2/0.3/0.4 ms

Una de las ventajas a destacar es que en la mayoría de redes Unix/Linux suelen responder a este tipo de petición, por el contrario en redes Windows este tipo de escaneo es omitido por defecto, en redes unix se puede llegar a producir el colapso de la red debido a este tipo de petición, es recomendable configurar o asegurar la red para que no responda a este tipo de peticiones.

envio ICMP tipo 10 o router

Este tipo de envió es el que realizan los routers para que las maquinas de la red detecten su presencia. El router envía mediante multicast o multidifusión (el envió de información en una red a múltiples destinos simultáneamente), una trama ICMP, de esta forma equipos en la red que no hubieran localizado su router darán con el suyo. Este tipo de envió se ha de generar con una aplicación especial, en este caso esta aplicación se denomina icmpush y es bastante fácil de localizar en cualquier distribución linux.

Ejemplo utilizando el comando icmpush:

nacho@ubuntu:~$ sudo icmpush -vv -rts 192.0.3.10
 -> Outgoing interface = 192.0.2.245
 -> ICMP total size = 8 bytes
 -> Outgoing interface = 192.0.2.245
 -> MTU = 1500 bytes
 -> Total packet size (ICMP + IP) = 28 bytes
ICMP Router Solicitation packet sent to 192.0.3.10 (192.0.3.10) 

Receiving ICMP replies ...
icmpush: Program finished OK
Envio ICMP de tipo 13 o marcas de tiempo

Las marcas de tiempo se utilizan como protección para evitar la falsificación de paquetes TCP que alteren la secuencia de conexión, existe un limite de tiempo de espera entre cada paquete de una misma conexión de forma que si se supera este limite de tiempo la conexión queda cancelada. Las marcas de tiempo o timestamps permiten obtener información de las maquinas activas, ya que si se envía una petición de tipo 13 a una maquina esta indicara si esta activa y resolverá también su zona horaria con lo que se puede determinan la zona geográfica a la cual pertenece dicha maquina. Para realizar este tipo de envíos se utiliza también la herramienta mencionada anteriormente denominada icmpush. Los sistemas Unix suelen responder a este tipo de peticiones mientras que los equipos windows no.

Ejemplo utilizando el comando icmpush:

nacho@ubuntu:~$ sudo icmpush -vv -tstamp 192.0.2.1
 -> Outgoing interface = 192.0.2.245
 -> ICMP total size = 20 bytes
 -> Outgoing interface = 192.0.2.245
 -> MTU = 1500 bytes
 -> Total packet size (ICMP + IP) = 40 bytes
ICMP Timestamp Request packet sent to 192.0.2.1 (192.0.2.1)

Receiving ICMP replies ...
192.0.2.1       -> Timestamp Reply transmited at 01:00:00
icmpush: Program finished OK
Envio ICMP de tipo 15

Este envió ya es obsoleto pero algunas versiones de sistema Unix antiguas todavía siguen respondiendo al mismo, al realizar el envió la maquina destino respondía con su dirección de red.

Ejemplo utilizando el comando icmpush:

nacho@ubuntu:~$ sudo icmpush -vv -mask 192.0.2.1
 -> Outgoing interface = 192.0.2.245
 -> ICMP total size = 16 bytes
 -> Outgoing interface = 192.0.2.245
 -> MTU = 1500 bytes
 -> Total packet size (ICMP + IP) = 36 bytes
ICMP Address Mask Request packet sent to 192.0.2.1 (192.0.2.1)

Receiving ICMP replies ...
icmpush: Program finished OK

[ad#enlaces2]

Seguridad en sistemas y redes ( 2 )

No. 2 de 9 de articulos. Seguridad Sistemas
Seguridad en redes TCP/IP

Durante los años de la guerra fría (años 60)  DARPA, la agencia de proyectos de investigación avanzada del departamento de defensa de los Estados Unidos, se planteo la posibilidad de un ataque a su red de comunicaciones e investigo desarrollar una red con administración distribuida. El resultado en los estudios de redes de conmutación de paquetes derivo en ARPANET, una red de carácter experimental y tolerable a fallos. A partir de los 70 se empezó a investigar la interconexión de distintas redes y se establecieron las bases de la familia de protocolos TCP/IP.

Esta familia de protocolos se divide en cuatro capas:

Capa de red.

formada por una red LAN o WAN homogénea. Todos los equipos conectados a internet  implementan esta capa. Todo lo que se encuentra por debajo de la IP es la capa de red física o simplemente, capa de red.

Capa de internet

Es la capa que conforma la unidad de todos los miembros de la red y por tanto la que permite que se puedan conectar entre si, independientemente de su tipo de conexión. la misión principal de esta capa es la de direccionamiento y encaminamiento. Todos los equipos conectados a internet implementan esta capa.

Capa de transporte

Es la encargada del control de flujo y errores, solo es implementado por equipos usuarios de internet o por terminales de internet. los encaminadores o routers no la necesitan.

Capa de aplicación

Es la capa en la que se encuentran los programas y aplicaciones que utilizan internet como clientes y servidores Web, de FTP, Correo, etc. La implementan los equipos usuarios de internet o los terminales de internet, los encaminadores o routers no la utilizan.

En cada una de las capas pueden existir distintas vulnerabilidades y se pueden explotar por parte de un atacante utilizando los protocolos asociados a cada una de ellas. A continuación

Vulnerabilidades de la capa de red

Las vulnerabilidades de esta capa están asociadas a los medios sobre los cuales se realiza la conexión. Esta capa presenta problemas de control de acceso y de confidencialidad. Ejemplos de estas vulnerabilidades son desvió de los cables de conexión hacia otros sistemas, pinchazos de la línea, escuchas en medios de transmisión inalámbricos, etc.

Vulnerabilidades de la capa Internet

En esta capa se puede realizar cualquier tipo de ataque que afecte a un datagrama IP. Tipos de ataques que se pueden realizar en esta capa son por ejemplo: técnicas de sniffing o escuchas de red, suplantación de mensajes, modificación de datos, retrasos de mensajes y denegación de mensajes. Cualquier atacante puede suplantar un paquete si indica que proviene de otro sistema. La suplantación de un mensaje se puede realizar, por ejemplo dando una respuesta a otro mensaje antes de que lo haga el suplantado. La autentificación de los paquetes se realiza a nivel de máquina por dirección IP y no a nivel de usuario. Si un sistema da una dirección de maquina errónea, el receptor no detectara la suplantación. Este tipo de ataques suele utilizar técnicas como la predicción de números de secuencia TCP, el envenenamiento de tablas cache, etc.

Vulnerabilidades de la capa de transporte

Esta capa trasmite información TCP o UDP sobre datagramas IP. En esta capa se pueden encontrar problemas de autentificación, integridad y de confidencialidad. Los ataques mas conocidos en esta capa son las denegación de servicio de protocolos de transporte.  En el mecanismo de seguridad del diseño del protocolo TCP, existe una serie de ataques que aprovechas las deficiencias en el diseño, entre las mas graves se encuentra la posibilidad de la intercepción de sesiones TCP establecidas, con el objetivo de secuestrarlas y dirigirlas a otros equipos.

Vulnerabilidades de la capa de aplicación

Esta capa presenta varias deficiencias de seguridad asociadas a sus protocolos. Ya que esta capa utiliza un gran número de protocolos, la cantidad de vulnerabilidades presentes también es superior al resto de capas. Varios ejemplos son los siguientes:

Servicio de nombres de dominio: Cuando un sistema solicita conexión a un servicio, pide la dirección IP de un nombre de dominio y envía un paquete UDP a un servidor DNS. Este responde con la dirección IP del dominio solicitado o una referencia que apunta a otro DNS que pueda suministrar la dirección IP solicitada. Un servidor DNS debe entregar la dirección IP correcta pero también puede entregar un nombre de dominio dada una dirección IP u otro tipo de información. Un servidor DNS actúa como una base de datos accesible desde Internet. Si un atacante puede modificar la información que suministra esta base de datos o acceder a información sensible almacenada en la base de datos por error, pudiendo obtener información relativa a la topología de la red de una organización, teniendo así acceso a una lista de los sistemas de la red. A los ataques de suplantación de DNS se les conoce con el nombre de Spoofing DNS.

Telnet: Normalmente el servicio de telnet autentifica al usuario mediante la solicitud del usuario y contraseña, que son transmitidas sin ningún tipo de protección por la red. Por lo cual el servicio queda desprotegido ante un ataque haciendo posible la captura de los datos del usuario con técnicas de escucha o sniffing.

File Transfer Protocol (FTP): al igual que el servicio anterior este servicio también envía la información sin protección, con lo cual también queda expuesto de la misma forma que el anterior. Este servicio también permite el acceso anónimo, aunque por lo general esta forma de conexión solo permite el acceso a una zona restringida en la cual solo se permite la descarga de archivos no comprometiendo así el sistema y permitiendo el uso del servicio de forma optima.

Hypertext Transfer Protocol (HTTP): Este servicio es el responsable del World Wide Web.Una de las vulnerabilidades mas conocidas es la de la posibilidad de entrega de información por parte de los usuarios del servicio. Esta entrega de información por parte de los usuarios del servicio es posible mediante la ejecución de código en la parte del servidor.

[ad#336x280g2010]

[ad#enlatex2010]

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies