Práctica de Asalto a una sesión TCP

  • 12 Respuestas
  • 6626 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

This topic contains a post which is marked as Best Answer. Press here if you would like to see it.

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:05:45 pm
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

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:07:41 pm
INTRODUCCIÓN

EN 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.

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:10:56 pm
Conceptos Básicos

A.    Sesión TCP
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]:
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:


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 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

B.   IP Spoofing
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.

C.   SYN Flood
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 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.

D.   Escaneo de Puertos
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.

E.   Envenenamiento de ARP
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 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.

F.   Sniffer
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).

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:15:30 pm
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 conexión con este. Conociendo tres de los cuatro datos que identifican una sesión la tupla {IP-cliente, IP-servidor, Puerto-cliente, Puerto-Servidor} mencionada con anterioridad se procede a averiguar el puerto del cliente.
De la misma forma que se mencionaba en la sección II, la sesión TCP entre dos hosts consta de la tupla que la identifica y de los números de secuencia que certifican la identidad de cada una de las máquinas. Posterior al establecimiento de la conexión no se comprueba la identidad de un host, por lo cual se puede llevar a cabo el ataque. Para esta clase de ataques hay dos tipos de mecanismos. El primero, si el atacante no se encuentra en el mismo segmento de red del cliente, debe hacer un escaneo de puertos y de esa forma averiguar el puerto abierto por el que recibe los paquetes del servidor.
Luego es necesario investigar el número de secuencia del servidor. Para esto se puede enviar un paquete SYN al servidor y anotar el número de secuencia que se recibe en el paquete de respuesta al establecimiento de la conexión (SYN, ACK). Al hacer lo anterior varias veces se puede analizar el número de secuencia que sigue. Cabe aclarar que es necesario hacerlo por medio de software porque debe ser un proceso rápido ya que el servidor puede recibir otros paquetes SYN. Para evitar un SYN flood es necesario finalizar la conexión enviando un paquete RST al servidor luego de tener el número de secuencia.
En el momento de realizar el asalto a la sesión se debe asegurar que el cliente y el servidor no estén comunicados. Para esto se pueden enviar varios paquetes SYN al cliente ocasionando un SYN flood y dejándolo temporalmente fuera de servicio. Con esta técnica se procede a enviar un paquete de sincronización (SYN) modificado con IP spoofing con la dirección IP del cliente como la dirección origen. Si el atacante se encuentra fuera del segmento de red del cliente no podrá ver el paquete de respuesta SYN/ACK pero ya se aseguró de que el cliente no va a responder, y además ya sabe el número de secuencia con el que debe responder el último ACK y con eso ya se ha suplantado al cliente [1][8]. En el segundo la utilización de un sniffer en caso en que el atacante se encuentre en el mismo segmento de red que las máquinas a las que se planea hacer el asalto de sesión.
Para lograr asaltar una sesión TCP se deben conocer:
•   IP del cliente
•   IP del servidor
•   Puerto del cliente
•   Puerto del servidor
•   Números de secuencia del cliente y del servidor
Una vez se tiene toda la información anterior, el atacante se prepara para ejecutar el asalto de sesión de la siguiente manera:
Primero se espera hasta que se establezca una conexión TCP, para nuestro caso de estudio se utilizará una sesión Telnet, luego el atacante cambia su dirección IP realizando un IP spoofing con la dirección IP de la víctima (máquina que será suplantada), una vez se tiene el cambio, comienza a enviar paquetes ARP al servidor con el fin de forzarlo a actualizar su tabla ARP y por ende el reenvío de paquetes a la máquina del atacante. Cuando se logra la conexión con el servidor solo resta realizar las acciones que el atacante se proponía en un principio (ejecutar código, obtener archivos, etc) y finalmente intentar volver a reestablecer la conexión entre la víctima y el servidor. Esta última parte no es trivial dado, pero engañando a la víctima se puede restaurar la conexión. En la sección VI sobre Hunt se explicara la manera como esa herramienta recupera el control.


Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:16:24 pm
HERRAMIENTAS PARA ASALTAR UNA SESIÓN TCP

Existen un amplio número de herramientas que permiten la realización de un asalto de sesión TCP, la mayoría son gratuitas y pueden conseguirse en Internet, como dato curioso la gran mayoría solo funciona en sistemas operativos UNIX.
A.   Juggernaut
Al igual que la gran mayoría de herramientas juggernaut esta basada en Linux y fue desarrollada por un hacker conocido como “route”, apareció por primera vez publicada en la revista Phrack Magazine y aunque fue creada hace bastante tiempo aun sigue siendo una de las más predilectas debido a algunas de sus características únicas. Uno de sus principales atributos es la capacidad de rastrear sesiones TCP usando un criterio de búsqueda (ejemplo la palabra PASSWORD), al actuar como sniffer, juggernaut permite ver todo el tráfico de red y le da la oportunidad al atacante de escoger cualquiera de las sesiones activas. Otra característica que hace de juggernaut una herramienta muy apetecida, es la posibilidad de ensamblar paquetes desde cero, esto incluye activar las banderas del encabezado como se desee para pasar desapercibido ante algunos IDS. Sin embargo una de las desventajas de juggernaut es que no permite el envío de contraseñas desde el servidor (host) atacado a la máquina del atacante, para realizar esto es necesario el uso de otras herramientas. Esta herramienta se encuentra disponible en [1] http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=juggernaut&type=archives

B. TTY-Watcher
TTY-Watcher es una herramienta que a diferencia de juggernaut, Hunt y otras aplicaciones para el asalto de sesiones, solo puede ser usada en un tipo de sistema, las máquinas Solaris de SUN. Cuando un usuario está conectado a un sistema Solaris, todos los datos tecleados en la Terminal, son automáticamente enviados a la Terminal TTY del atacante, permitiéndole ver todos los comandos ejecutados por la víctima. TTY – Watcher también permite al atacante enviar mensajes a su víctima, los cuales serán mostrados en la Terminal de este último, esta función puede utilizarse para robar todo tipo de contraseñas o para obligar a la víctima a escalar carpetas [1]. Esta herramienta no es gratuita y está disponible  en     http://www.engarde.com/software/.

C. DsSniff
Es un conjunto de herramientas para la auditoría de redes y pruebas de penetración, las principales características de este paquete son: monitoreo pasivo de redes, intercepción de paquetes normalmente no disponibles para computadoras sin sniffers y permite implementar ataques de man-in-the-middle contra sesiones SSH y HTTPS. Aunque no es una herramienta tan conocida ni de fácil manejo (necesita la instalación previa de otras aplicaciones) se consigue en Internet y es para la plataforma Unix. El set de herramientas se encuentra en http://www.monkey.org/~dugsong/dsniff/

D. T-Sight
Es una herramienta comercial producida por Engarde y es usada solo en plataformas Windows. Aunque en sus inicios T-Sight fue diseñada como una herramienta de monitoreo para detectar tráfico sospechoso, actualmente se utiliza para captar todas las comunicaciones de un segmento de red en tiempo real y para realizar asaltos de sesión, es por esto que la empresa fabricadora Engarde solo permite la utilización de la herramienta con algunas direcciones IP. T-Sight es una herramienta de uso mucho más forense que intrusito, además cuenta con ciertas características como detección de intrusiones, conjunto de reportes y gráficas para el análisis post-mortem [http://www.runsecure.com/ids/id4of5.html].

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:17:36 pm
V. HERRAMIENTA HUNT

Para la ejecución del asalto de sesión TCP, objeto de estudio de este paper, se escogió Hunt, que es  una herramienta creada por Pavel Krauz y la cual posee muchas similitudes con Juggernaut, también sirve en los sistemas operativos Unix,  permite observar todo el tráfico TCP y brinda la opción de hacer un asalto de sesión simple (inserción de una sola línea de comando durante una sesión Telnet). Una de las principales ventajas de Hunt es su capacidad de restablecer conexiones una vez se ha alcanzado el propósito del ataque. El control de una sesión puede ser devuelto al cliente original y, si se hace de una manera lo suficientemente rápida, aún así pasar desapercibido tanto para el servidor como para el cliente. Juggernaut al contrario, requiere hacer un ataque de denegación de servicio, este tipo de asalto no solo cierra la conexión con el cliente, sino que también imposibilita la comunicación de esa máquina con otro computador en esa subred levantando sospechas y activando alarmas de un posible ataque. Hunt evita este problema haciendo parecer la pérdida temporal de conexión un pequeño error de transmisión en red o un error del lado del servidor. Hunt no solo permite el ataque en una misma subred, esta herramienta también provee formas de realizar el asalto a una sesión TCP en un ambiente switchado o incluso por Internet. Hunt se encuentra disponible en la siguiente dirección http://packetstorm.linuxsecurity.com/sniffers/hunt/.

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:30:12 pm
VI.   PRÁCTICA DEL ASALTO DE UNA SESIÓN TCP

El caso de estudio de este paper fue realizado con la herramienta Hunt (sección V) a continuación se explicará paso a paso las acciones realizadas durante el asalto de sesión TCP.

1.   Se utilizaron cuatro computadores conectados a un hub para la práctica del asalto, en uno se tenía un servidor ftp/telnet con ambos servicios arriba la IP de esta máquina era la 192.168.1.1 y el sistema operativo era Windows,  el cliente (víctima en este caso) poseía una cuenta en el servidor mencionado anteriormente y estaba comenzando una sesión Telnet. Su dirección IP era la 192.168.1.2 y su sistema operativo también era Windows, el tercer computador que era la máquina del atacante corría la herramienta Hunt y el sistema operativo era Unix, edición Ubuntu, por último el cuarto computador  solamente estaba corriendo ethereal y su propósito era capturar el tráfico durante el establecimiento y posteriormente el asalto de la sesión.

2.   El computador cliente accede normalmente al servicio telnet desde su consola, para lograr la conexión remota con el servidor.



3.   La consola de telnet aparece en la pantalla del cliente y la sesión es establecida



4.   Al mismo tiempo el atacante que ha ejecutado la herramienta Hunt, comienza a hacer un escaneo en el segmento de red  al que pertenecen los 4 equipos involucrados, para buscar sesiones telnet activas.

5.   Una vez la sesión aparece en la consola del atacante,  se realiza el ataque con una inundación de paquetes ARP hacia el cliente, para que este último actualice su tabla ARP y piense que el servidor se encuentra en una MAC diferente.



Durante el envío de ARP Hunt cambia la dirección MAC real del atacante por la del servidor que ofrece Telnet, de esta forma el cliente no se da cuenta de la modificación y sigue la sesión normalmente.

6.   Una vez la “falsificación” se ha logrado del lado del cliente, es hora de engañar al servidor, esto se logra cambiando la cabecera de los paquetes enviados por el atacante usando los datos reales de la víctima



7.    Es así como se consuma el asalto de sesión, es en este momento en que el atacante puede utilizar los permisos de la víctima para escalar privilegios, crear nuevos usuario o incluso dejar backdoors o puertas traseras para futuras penetraciones. Aunque el cambio de paquetes que hace Hunt evita la detección del asalto, en algunas ocasiones se presenta un fenómeno que es la inundación de ACK o ACK Storm.

8.   Cuando la víctima intenta seguir utilizando su sesión y envía los paquetes al verdadero servidor, su número de secuencia para la sincronización ya no funciona.



Es entonces cuando se presenta un ACK Storm, como puede verse en la imagen, el cliente envía paquetes ACK con un número de secuencia no válido para esa sesión y por su lado el servidor intenta sincronizarlo nuevamente enviándole el nuevo número de secuencia, este proceso puede ocurrir muchas veces (pues es un ciclo), haciendo que Hunt cancele el asalto de la sesión, y es una de las formas más comunes de detectar un asalto de sesión.

9.   Una característica única de Hunt es la posibilidad de restablecer la sesión TCP asaltada, para lograrlo, se envía un mensaje al cliente el cual indica que el servidor se ha caído y por lo tanto es necesaria una re sincronización.



De esta forma, los números de secuencia son nuevamente sincronizados y la sesión puede seguir siendo utilizada.

10.   Finalmente es importante anotar que el asalto de una sesión TCP debe hacerse de la forma más rápida posible, evitando así levantar alarmas (de IDS’s por ejemplo) y dejar la menor cantidad de rastros posible.

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:56:48 pm
VII.   RASTROS DEL ASALTO A LA SESIÓN TCP

Aunque el asalto a una sesión TCP es  en la mayoría de los casos difícil de detectar (solo si hay grandes daños causados al sistema o el ataque fue realizado de manera descuidada), se puede detectar una sobrecarga en la red debido al envenenamiento de ARP. Sin embargo, hay ciertos indicios que pueden aparecen durante la ejecución del ataque. Algunos de estos síntomas de que algo no anda bien en la sesión TCP son:

•   La aplicación del cliente (por ejemplo Telnet) comienza a responder de forma lenta o incluso trabada (frozen screen)
•   Alta actividad en la red por un corto periodo de tiempo, haciendo más lento el computador
•   Tiempos de respuesta lentos por parte del servidor (esto ocurre debido a que se está “compitiendo” con el atacante para los servicios que brinda el servidor)
Cuando se utiliza un sniffer de paquetes es necesario enfocarse en 3 factores para intentar detectar el asalto de una sesión TCP: Actualización repetida de la tabla ARP.


Paquetes enviados entre un Cliente y un Servidor con diferentes direcciones MAC y finalmente tormentas de paquetes ACK repentinas



Este último factor es sin embargo tenido en cuenta por algunas herramientas de asalto de sesión como Hunt, la cual intercambia direcciones MAC en la tabla ARP, haciendo difícil de ubicar las verdaderas direcciones tanto de la víctima como del servidor [1].

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:57:28 pm
VIII.   CORRECCIÓN DEL ASALTO

Debido a la forma en que el protocolo TCP está implementado y la facilidad para cambiar paquetes una vez se ha establecido una conexión, el asalto de las sesiones TCP es un problema con soluciones restringidas. Sin embargo una solución que ha probado exitosa es la de implementar sesiones con un nivel de seguridad más algo, por ejemplo encriptación de datos.
La siguiente tabla muestra un paralelo entre métodos de comunicación que permitían un asalto de sesión sin dificultades y sus nuevas versiones o nuevos mecanismos de seguridad.

Sesiones con Problemas   Soluciones actuales
Telnet   SSH (Secure Shell)
FTP    sFTP (secure FTP)
HTTP   SSL (Secure Socket Layer)
IP   IP sec
Conexiones Remotas   VPN (Virtual Private Network)
Redes con HUB’s   Redes con Switch’s

Incluso implementando las soluciones dadas en la tabla anterior, la mejor práctica para evitar el asalto de sesiones es limitar el número de accesos remotos y el número de conexiones a ciertos servicios. Básicamente, si se tiene un firewall protegiendo un sistema (que es lo más recomendable) se debe dar permiso de entrada y salida solamente a lo que es estrictamente necesario y únicamente con hosts confiables.

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:58:06 pm
IX.   CONCLUSIONES

Muchas herramientas existen actualmente para la ejecución de un asalto de sesión TCP, hay algunas gratuitas y otras con precio comercial, aunque la gran mayoría solo funcionan para plataformas UNIX, T-sight es una aplicación que funciona para Windows y ha demostrado ser bastante eficiente, tanto para rastreo como para ataque.
Aunque el asalto de sesión es un ataque con muchos años de antigüedad, todavía es usado para atacar máquinas con las debilidades expuestas en este artículo, por lo tanto si no se tienen en cuenta las recomendaciones y no se apagan servicios como telnet o ftp o se cambian por las versiones con seguridad (SSH y sFTP), se pueden estar corriendo los mismos riesgos de hace una década o incluso menos.
Una buena forma de evitar un ataque de asalto de sesión es tratar de limitar el número de conexiones remotas permitidas a una máquina y además utilizar los nuevos protocolos de transmisión que son más seguros en cuanto a comunicación entre 2 máquinas.

Desconectado Tulkalex

  • *
  • Colaborador
  • *
  • Mensajes: 856
  • Actividad:
    36.67%
  • Country: 00
  • Reputación 5
    • Ver Perfil
    • MI github
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 26, 2012, 06:59:04 pm
X.   REFERENCIAS

 [1] Whitaker, A. Newman, d. Penetration Testing and Network Defense, Cisco Press.

[2] KLM. Remote Blind TCP/IP spoofing, Phrack Magazine, issue 64. Disponible en http://www.phrack.org/issues.html?issue=64&id=15#article

[3] RFC 793. Protocolo TCP, Data Internet Program. Disponible en http://www.rfc-es.org/rfc/rfc0793-es.txt

[4] Telnet, guía de Microsoft para usuarios de Windows.

[5] Dittrich, Dave. Anatomy of a Hijack. University of Washington. Disponible en http://staff.washington.edu/dittrich/talks/qsm-sec/script.html

[6] Tanase, Mathew. IP Spoofing: an Introduction, disponible en http://www.securityfocus.com/infocus/1674

[7] Alvisi, Lorenzo. Bressoud Thomas, C. ElK-Khashab, Ayman. Marzullo, Keith. Zagorodnov, Dmitrii. Wrapping Server-Side TCP to Mask Connection Failures.  Disponible http://citeseer.ist.psu.edu/cache/papers/cs/22156/http:zSzzSzwww.ieee-infocom.orgzSz2001zSzpaperzSz764.pdf/alvisi00wrapping.pdf

[8] Stevens, W Richard. TCP/IP Illustrated, Volume 1: The Protocols.

[9] Padmanabhan, Venkata N. Coordinating Congestion Management and Bandwidth Sharing for Heterogeneous Data Streams http://citeseer.ist.psu.edu/cache/papers/cs/10117/http:zSzzSzwww.research.microsoft.comzSz~padmanabzSzpaperszSznossdav99-expn.pdf/coordinating-congestion-management-and.pdf

[10] Port Scanning. Disponible en http://www.auditmypc.com/freescan/readingroom/port_scanning.asp

[11] Inundación paquetes SYN, disponible en http://www.putoamo.host.sk/hack/textos/syn%20flood.htm

Marked as best answer by en Noviembre 28, 2020, 12:55:38 am

Desconectado hdbreaker

  • *
  • Ex-Staff
  • *****
  • Mensajes: 411
  • Actividad:
    0%
  • Reputación 0
  • HD_Breaker
  • Skype: hdbreaker96
  • Twitter: @SecSignal
    • Ver Perfil
    • Security Signal
    • Email

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 30, 2012, 04:07:55 pm
Muy Buena Info!

Ser Libres es un Privilegio por el cual pocos estamos dispuestos a correr el riesgo

Desconectado Matabarras

  • *
  • Underc0der
  • Mensajes: 129
  • Actividad:
    0%
  • Reputación 0
  • In-Seguridad informática
  • Skype: Matabarrasfud
    • Ver Perfil

Re:Práctica de Asalto a una sesión TCP

  • en: Noviembre 30, 2012, 06:51:33 pm
Nice job man.
No esperes nada, vive la vida, y que los demas hagan lo que ellos creen.

 

Obtener una sesion meterpreter explotando SQL Injection

Iniciado por Pr0ph3t

Respuestas: 2
Vistas: 3167
Último mensaje Agosto 30, 2012, 01:26:24 pm
por hdbreaker
Explicacion practica de sqli [a pedido de staRgan]

Iniciado por blozzter

Respuestas: 0
Vistas: 2612
Último mensaje Agosto 24, 2011, 09:15:14 pm
por blozzter
[Práctica] RFI por localhost

Iniciado por 4lC0nR2

Respuestas: 0
Vistas: 2330
Último mensaje Diciembre 21, 2012, 02:17:44 pm
por 4lC0nR2