1. establecimiento de conexión
2. transferencia de datos
3. fin de la conexión
Para establecer la conexión se usa el procedimiento llamado negociación en tres pasos (3-way handshake). Para la desconexión se usa una negociación en cuatro pasos (4-way handshake). Durante el establecimiento de la conexión, se configuran algunos parámetros tales como el número de secuencia con el fin de asegurar la entrega ordenada de los datos y la robustez de la comunicación.
En resumen, los tipos de scan usados generalmente son:
Pero si se quiere profundizar...
De forma gráfica, el establecimiento de la conexión se ve así:
La desconexión en cambio, se ve así:
Lo anterior porque existen varios tipos de Scan y cada uno de ellos actúa con base en la anterior teoría.
TCP Connect Scan: Este metodo usa el intercambio de tres vias mostrado anteriormente. Es decir que la conexión se establece completamente con el servidor:
Cliente --> SYN
Servidor --> SYN + ACK (Abierto)
Servidor --> RST (Cerrado)
Cliente --> ACK
Cliente --> RST + ACK
Este tipo de exploración se considera "ruidosa" porque es facilmente identificada, debido a las conexiones que establece.
Half Scan: Consiste en realizar un 3way handshake pero sin terminarlo.
Cliente --> SYN
Servidor --> SYN + ACK (Abierto)
Servidor --> RST + ACK (Cerrado)
Cliente --> RST
Como se puede ver, el tercer paso ya no es un ACK solamente, es un RST, es decir que el cliente "resetea" o "reinicia" la conexión. De este modo se impide que se conecte el cliente con el servidor completamente.
En este tipo de Scan, cuando el servidor contesta con un SYN + ACK, implica que el puerto esta abierto.
ACK Scan: En este tipo de scan no importa si el puerto esta abierto o cerrado. El objetivo es saber si el equipo remoto esta detrás de un Firewall. Funciona así:
Cliente --> ACK
Servidor --> RST
Dado que el ACK no es el primer paso de la conexión, no debe llegar primero; el servidor debe rechazar la conexión. Cuando no se obtiene respuesta del servidor, quiere decir que hay un firewall entre Cliente y Servidor.
Null Scan: Aqui vamos a enviar un paquete que no contiene ningún bit de control (nada de SYN, ACK, RST.. nada!!). Si el puerto esta abierto, no se recibirá nada en respuesta. Si esta cerrado, el servidor envía un RST + ACK
Curioso.
Xmas Scan: Este tipo de exploración pone a cero todos los Indicadores de la cabecera TCP, por lo tanto la exploración debería recibir como resultado un paquete de reset (RST) en los puertos no activos.
No se recomienda este tipo de scan hacia Windows. Funciona bien contra equipo Linux o *nix
Cliente --> (NULL)
Servidor --> RST (Cerrado)
Servidor --> silencio (Abierto)
Fin Scan: Como su nombre lo indica, envia un paquete con el BIT FIN. No es recomendable usarlo contra equipos Windows. La idea es ver cuáles puertos están cerrados. Aquellos que estén cerrados, deben enviar un RST como respuesta. Silencio si esta abierto.
Finalmente hay otro tipo de scan que se llama idle scan que usa un equipo zombie como atacante. Pero ya hablaremos de eso mas adelante.
BITS DE CONTROL EN TCP:
-
URG:
Especifica a la máquina receptora la existencia de información urgente en el
flujo de datos.
- ACK: Se
corresponde con una respuesta de correcta recepción de un paquete anterior que
se envió a otra máquina.
- PSH:
Indica a la máquina receptora que debe pasar la información a la capa de
aplicación (programas) lo más rápido posible.
- RST:
Especifica el reinicio de la conexión entre la máquina receptora y la emisora.
-
SYN: Se utiliza para la sincronización de
números de secuencia entre máquinas.
-
FIN: Indica que debe empezar el proceso de
fin de conexión.
No hay comentarios:
Publicar un comentario