Escolar Documentos
Profissional Documentos
Cultura Documentos
By ConfusedMInd
Este paper esta destinado con un simple fin, comprender y entender como se
realiza un escaneo de puertos de forma básica y avanzada, y así poder obtener
logros positivos con una forma de escaneo avanzado.
Contenido:
############################################
############################################
# Cabeceras TCP, UDP, ICMP.
Vamos a repasar un poco las cabeceras y sus respectivos FLAGS.
(Cabecera TCP)
Bueno como podemos ver la cabecera TCP esta compuesta por varios campos
que nombrare a continuación de forma rapida..
# Cabecera UDP
El Udp es un protocolo mas simple solo con mirar la cabecera nos damos
cuenta de eso. Udp no se orienta a la conexión.. vamos a analizar las
cabeceras:
# Protocolo ICMP
Analizaremos el ultimo protocolo de los 3 que explicare en este paper...
El ICMP es un protocolo archi-conocido en lo que este ambiente respecta, lo
vemos constantemente al hacer ping, al filtrar y crear reglas en firewalls,
etc... Es que justamente ese es su trabajo, es un protocolo bastante simple el
cual orienta su objetivo a informar o controlar errores.
Algo que hay que aclarar es que la cabecera de un paquete ICMP puede ir de
96bits a 160bits según la variante del mensaje icmp.
Veamos como esta formada la cabecera....
La clave esta en basarnos y entender los diferentes tipos de mensajes que hay.
0=echo reply
3=destination unreachable
4=source quench
5=redirect
8=echo
11=time exceeded
12=parameter problem
13=timestamp
14=timestamp reply
15=information request
16=information reply
30=traceroute
Una recomendación es leer los rfcs de cada protocolo y de todo lo que exista
en internet y tenga su respectivo RFC asi entenderemos de una mejor forma
como funciona realmente.
# FLAGS
En el campo RESERVED del protocolo TCP, pudimos ver como habia un campo
especialmente reservado para estas FLAGS.
Ahora vamos a entrar en contacto con cada una para comprender que quieren
decir cada una y para que se usan.
Las flags están compuestas por 6 bits, 1 bit por cada flag. > 000000
FLAG PSH -PUSH- : El Flag PUSH quiere decir que se debería vaciar el
Buffer de transmisión, cuando se envía información grande se divide en
paquetes, estos se sitúan en un buffer de transmisión, conocido también como
en contabilidad (primero entrado, primero salido, FIFO -first in first out-) una
vez que el ultimo esta preparado tiene activado el flag PUSH para que el
buffer de transmisión sea vaciado.
FLAG RST -RESET- : Este flag nos indica un reset en la conexión, al enviar
un paquete con este flag activado le decimos que hubo problemas de
conexiones y que sera necesario reiniciar la conexión para sincronizar
positivamente ambas partes nuevamente.
FLAG FIN -Finalization- : Este flag indica al host remoto que queremos
cerrar la conexión con el, y quedamos a la espera de la respuesta.
# Three Way Handshake
El saludo de tres pasos, se realiza al momento de iniciar una conexión con
otro host.. veamos de manera gráfica como seria esto.
SYN
HOST HOST
CONFUSED SYN/ACK
PEPITO
ACK
Como vemos el host CONFUSED que es el que quiere conectar con el host
PEPITO, envía un paquete con el flag SYN activado, PEPITO, recibe el SYN y
responde con una confirmación SYN/ACK para confirmar que recibió el pedido
de conexión de parte de CONFUSED, entonces CONFUSED, responde
nuevamente un ACK para confirmar la recepción del mensaje de parte de
PEPITO y se produce la conexión desde ese momento...
Este caso es para inicializar una conexión, pero en el caso de que la conexión
se decida cerrar seria de la siguiente forma el proceso:
FIN
HOST ACK HOST
CONFUSED PEPITO
FIN
ACK
SYN-SENT: Cuando se envia un paquete con el flag SYN para inicializar una
conexion, se pasa a un estado SYN-SENT.
FIN-WAIT-1: Cuando se envia el paquete con un flag FIN activado, sin recibir
aun respuesta pasa a estar en este estado.
LAST-ACK: Cuando se envia un paquete con flag FIN activado, cuando el que
espera en recibir la confirmacion es quien entra en este estado.