PDF de programación - Práctica de Asalto a una Sesión TCP

Imágen de pdf Práctica de Asalto a una Sesión TCP

Práctica de Asalto a una Sesión TCPgráfica de visualizaciones

Actualizado el 27 de Agosto del 2018 (Publicado el 25 de Agosto del 2018)
756 visualizaciones desde el 25 de Agosto del 2018. Una media de 70 por semana
223,7 KB
8 paginas
Creado hace 107d (30/07/2018)
Pontificia Universidad Javeriana. Fonseca, González, Neira. Práctica de Asalto a una Sesión TCP

1

Práctica de Asalto a una sesión TCP

Fonseca, Guillermo. González, Maria Camila y Neira, Bernardo Andrés.

{gfonseca, gonzalezmc, bneira}@javeriana.edu.co

Pontificia Universidad Javeriana



Resumen—En este documento se explica la
estructura de un asalto a una sesión TCP, se
presenta un ejemplo práctico utilizando la
herramienta Hunt y se evidencian los rastros que se
dejan tras el ataque.

Índice de Términos—Sesión TCP, Cliente,
Servidor, Paquete IP, Telnet, Hunt, IP Spoofing,
ARP poisoning,

I. EINTRODUCCIÓN

N ESTE DOCUMENTO SE PRESENTA UN CASO
PRÁCTICO DE ASALTO A UNA SESIÓN TCP.

Para entender la estructura de un asalto a una
sesión TCP se deben tener presentes algunos
conceptos básicos que se explican en la sección II.
Luego se encuentra la descripción del ataque paso a
paso para dar introducción a la práctica realizada
con la herramienta Hunt. Más adelante, en la
sección VIII, se muestran los rastros que deja el
ataque ya que es importante en la investigación
forense reconocer las huellas que dejan los
atacantes tras cada intrusión. Para finalizar se
explica una manera de corregir el ataque y se
presentan las conclusiones de la práctica realizada.

II.

CONCEPTOS BÁSICOS

Sesión TCP

A.
El objetivo de una sesión TCP es coordinar
múltiples conexiones TCP concurrentes entre un par
de hosts. Una aplicación típica de una sesión TCP
es la coordinación entre conexiones TCP
concurrentes entre un servidor Web y un cliente en
donde las conexiones corresponden a componentes
de una página Web. [9]
Una sesión TCP se identifica por una tupla con los
datos importantes del cliente y del servidor [8][2]:

Asalto a una Sesión TCP

Tupla: {Ip-Cliente, Ip-Servidor, Puerto-Cliente,
Puerto-Servidor}

La finalidad de este documento es mostrar un
ataque a una sesión como la previamente descrita.
Es necesario primero analizar el paquete TCP que
se puede ver en la Figura 1.

Figura 1. Paquete TCP

El paquete contiene el puerto origen y el puerto
destino. También contiene un número de secuencia
de 32 bits que identifica el flujo de cada octeto de
datos. Este número va de 0 a 232 – 1. Cuando se
establece una sesión entre dos hosts, estos
intercambian números de secuencia. Para efectos
del asalto de una sesión TCP se explicará la
importancia de estos números de secuencia y la
selección del número de secuencia inicial.

Sobre los demás campos del paquete cabe resaltar
las banderas que son 6 bits de control que se utilizan
de izquierda a derecha para indicar: URG (el
paquete es urgente), ACK (confirmación de
recibido el anterior paquete), PSH (el paquete
contiene datos), RST (para resetear una la
conexión), SYN (para sincronizar números de
secuencia) y FIN (no vienen más datos del emisor)
[3].
Una sesión TCP empieza por una sincronización


Pontificia Universidad Javeriana. Fonseca, González, Neira. Práctica de Asalto a una Sesión TCP

2

entre el cliente y el servidor. Esta sincronización se
conoce como el three way handshake que se hace
para que las dos máquinas entre las que se va a
hacer la conexión, sepan la especificación de la otra
y su configuración para manejar sesiones TCP.
Suponiendo que se estable una conexión TCP entre
la máquina A y la máquina B, la sincronización se
muestra a continuación [3]:

1) A  B SYN mi número de secuencia es X
2) A  B ACK su número de secuencia es X
A  B SYN mi número de secuencia es Y
3) A  B ACK su número de secuencia es Y

IP Spoofing

B.
El IP Spoofing consiste en suplantar la dirección IP
o identidad de una máquina, esto con el fin de
beneficiarse de la “confianza” que un host le tenga a
otro. Para llevar a cabo este ataque es suficiente con
modificar en el paquete TCP, el campo con la
dirección IP origen de la máquina suplantada.
Existen dos modalidades de spoofing. La primera se
conoce como Non-Blind Spoofing en la cual el
atacante se encuentra en la misma subred de la
víctima por lo que puede tener visibilidad del tráfico
de la misma. La segunda modalidad se conoce
como Blind Spoofing, la cual ocurre desde afuera
de la subred en donde los números de secuencia y
de confirmación están fuera del alcance del atacante
[6][2].
Con la utilización de esta técnica se puede asegurar
que los paquetes enviados por el atacante no serán
rechazados por la máquina destino.

SYN Flood

C.
Como se explicó en el numeral A de esta sección, el
protocolo TCP se inicia con una conexión en tres
tiempos, si el paso final no se completa, la sesión
iniciada queda en un estado incompleto y puede
llevar a una denegación de servicio llamada SYN
flood. Un cliente que no conteste al segundo ACK
del three way handshake, logra mantener al servidor
(otro lado de la comunicación) en estado de escucha
por un tiempo determinado, por esta razón si se
hace una inundación de estas conexiones a “medio
terminar” es posible lograr la interrupción del
servicio brindado por el servidor o al menos

Asalto a una Sesión TCP

volverlo más lento para responder a otras peticiones
[11]. Este ataque, el SYN flood, es utilizado para
suspender un servicio en una máquina, para
consumir los recursos de un servidor o para abrir
paso a un nuevo ataque, usualmente el bombardeo
de SYN se hace conjunto con el IP spoofing de la
máquina atacante para evitar rastreos posteriores.

Escaneo de Puertos

D.
El escaneo de puertos es una de las técnicas de
reconocimiento más populares usadas para
encontrar servicios activados que pueden traducirse
como huecos de vulnerabilidad existentes [10].
Básicamente un escaneo de puertos consiste en el
envío de una trama o de un mensaje a la vez, a cada
uno de los puertos de una máquina, es el tipo de
respuesta a cada uno de estos mensajes lo que da
una idea al atacante del estado del puerto, por
ejemplo si una máquina a la que se le ha hecho un
escaneo de puertos devuelve un SYN/ACK significa
que tanto la máquina como el puerto del servicio
están arriba, si devuelve un RST/ACK la máquina
está arriba pero el servicio se encuentra o no
disponible o inexistente, si el retorno es un mensaje
ICMP de Host unreachable significa que la máquina
está abajo y si este mismo mensaje va acompañado
de un admin. Prohibited filter, significa que la
máquina está detrás de un firewall con lista de
accesos.

Envenenamiento de ARP

E.
El protocolo ARP (Address Resolution Protocol) se
encarga de asociar las direcciones IP de las
máquinas con sus respectivas direcciones físicas
(MAC) en una tabla dinámica. El proceso de
asociación se realiza de la siguiente manera: cuando
un paquete es enviado a alguna máquina, el módulo
ARP busca en su tabla dinámica si la dirección IP
de la máquina destino existe. Si la encuentra
registrada ubica la correspondiente MAC y sigue el
proceso de envío del paquete. Si no la encuentra en
su tabla ARP envía un paquete ARP REQUEST que
es un paquete broadcast preguntando quien tiene la
MAC de la dirección IP que esta buscando. Luego
se recibe un paquete “ARP REPLY”, el cual es
unicast, confirmando la MAC de la dirección IP
solicitada. Una vez recibido el mensaje de

Pontificia Universidad Javeriana. Fonseca, González, Neira. Práctica de Asalto a una Sesión TCP

3

respuesta, se almacena en la tabla ARP la nueva
información.
El ataque de envenenamiento de ARP se basa en la
debilidad de algunos sistemas operativos como
Linux y Windows que no manejan estados en el
protocolo ARP por lo cual aceptan mensajes “ARP
REPLY” sin importar si han enviado antes un
mensaje “ARP REQUEST”. Un atacante aprovecha
esta debilidad para modificar a su gusto la tabla
ARP de su víctima.

Sniffer

F.
Un sniffer es un programa que es utilizado para
monitorear y analizar el tráfico en una red, dando la
posibilidad de observar los paquetes que fluyen de
un lado a otro. En un segmento de red sin un switch
o enrutador de paquetes, todo el tráfico destinado a
una máquina es enviado a todos los integrantes del
segmento, pero puesto que las direcciones IP no
coinciden con las del paquete transmitido, estas
simplemente los rechazan.
El sniffer coloca la tarjeta de red del computador en
modo promiscuo, esto es aceptando absolutamente
todos los paquetes que transitan por el segmento de
red para poder observarlos (e incluso seguir toda
una trama) [ethereal] y utilizar la información en
ellos. Un atacante usa esta herramienta para
observar el tráfico en la red que desea atacar,
recopilando la información necesaria para cumplir
sus objetivos como dirección de la IP de la víctima,
números de secuencia de los paquetes y protocolos
utilizados (Telnet, Ftp, entre otros).


III.

ESTRUCTURA DE UN ASALTO A UNA SESIÓN

TCP

El asalto de una sesión TCP es tomar control de una
sesión existente y enviar los paquetes propios en
una trama de tal forma que los comandos y órdenes
transmitidos sean procesados como si se fuera el
auténtico usuario de la sesión.
Como cualquier ataque realizado por un hacker, el
asalto a una sesión TCP inicia por la búsqueda de
una víctima. Independientemente de la motivación,
al elegir la víctima se averigua su IP y en el caso del
asalto a una sesión también se conocen la IP del
servidor y el puerto por el que se establece la

Asalto a una Sesión TCP

Puerto-cliente,

conexión con
  • Links de descarga
http://lwp-l.com/pdf13225  

Comentarios de: Práctica de Asalto a una Sesión TCP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad