Identificar puertos abiertos en un sistema de destino es extremo
paso importante en la definición de la superficie de ataque del sistema objetivo. Los puertos abiertos corresponden a los servicios de red que se ejecutan en un sistema.
Los errores de programación o de implementación pueden causar estos servicios propenso a Seguridad y también puede causa principal comprometer todo el sistema. elaborar los posibles vectores de ataque, primero debemos enumerar los puertos abiertos en todos los sistemas remotos.
Estos puertos abiertos corresponden a servicios que se direccionan con tráfico UDP o TCP. Ambos TCP y UDP son protocolos de transporte. TConceder C.control pag.rotocolTCP) es el más extendido de los 2 y ofrece comunicación orientada a la conexión. User D.atagrama pag.rotocolUDP) puede ser un protocolo no orientado a la conexión que a veces se utiliza con servicios en los que la velocidad de transmisión es más importante que la integridad de los datos.
El método de prueba de penetración utilizado para identificar estos servicios se conoce como escaneo de puertos. En este artículo, cubriremos algunas teorías básicas de escaneo de puertos, luego podremos comprender fácilmente la metodología de trabajo de todas las herramientas de escaneo de puertos.
Debido a que TCP puede ser un protocolo de capa de transporte más ampliamente utilizado, los servicios que operan sobre UDP a menudo se olvidan. A pesar de la tendencia natural a pasar por alto los servicios UDP, es absolutamente esencial que estos servicios se enumeren para obtener una comprensión completa de la superficie de ataque de un objetivo en particular. El escaneo UDP a menudo puede ser desafiante, tedioso y lento. En el próximo artículo cubriremos cómo hacer un escaneo de puertos UDP en Kali Linux. Para saber cómo funcionan estas herramientas, es importante comprender los 2 enfoques diferentes que se utilizan para el escaneo UDP.
El primer método es confiar únicamente en las respuestas inalcanzables del puerto ICMP. Este tipo de escaneo se basa en la idea de que todos los puertos UDP que no están conectados a un servicio en vivo devolverán una respuesta de puerto ICMP inalcanzable y la escasez de la respuesta se interpretará como indicativo de un servicio en vivo. Si bien este enfoque suele ser eficaz en determinadas circunstancias, también puede producir resultados inexactos en los casos en que el host no genera respuestas de puerto inalcanzable o las respuestas de puerto inalcanzable tienen una velocidad limitada o un firewall.
El segundo método, abordado dentro de la segunda y tercera recetas, utiliza sondas específicas del servicio para solicitar una respuesta que podría indicar que el servicio esperado se está realizando en el puerto de destino. Si bien este enfoque suele ser muy eficaz, también puede llevar mucho tiempo.
En este artículo se tratan muchos métodos diferentes de escaneo de TCP. Estos métodos incluyen Escaneo sigiloso, Conectar el escaneo, y Escaneo de zombies. Para comprender cómo funcionan estas técnicas de exploración, es importante comprender cómo se establecen y formulan las conexiones TCP. TCP es un protocolo orientado a la conexión y los datos solo se transportan a través de TCP después de que se haya establecido una conexión entre dos sistemas. El proceso involucrado en el establecimiento de una conexión TCP a menudo se conoce como un protocolo de enlace de tres vías. Este nombre alude a los tres pasos del proceso de conexión. El siguiente diagrama muestra este proceso en forma gráfica:
En la imagen de arriba podemos ver que se está enviando un paquete TCP SYN desde el dispositivo que intenta conectarse a un puerto en el dispositivo al que está intentando conectarse. Cuando el servicio asignado al puerto de recepción otorga la conexión, responde al sistema solicitante con un paquete TCP que tiene activados los bits SYN y ACK. La conexión se establece en el momento en que el sistema solicitante responde con una respuesta TCP-ACK. Este proceso de tres etapas (protocolo de enlace de tres vías) establece una sesión TCP entre los dos sistemas. Todas las técnicas de escaneo de puertos TCP realizan algunas variaciones en este proceso para identificar servicios en vivo en hosts remotos.
El escaneo con conexión y el escaneo sigiloso son bastante fáciles de entender. El escaneo de conexión no establece una conexión TCP completa para cada puerto escaneado. Esto significa que el protocolo de enlace de tres vías completo se lleva a cabo para cada puerto escaneado. Cuando se establece una conexión con éxito, el puerto parece estar abierto.
No se establece una conexión completa al realizar un escaneo sigiloso. El escaneo sigiloso también se conoce como escaneo SYN o escaneo semiabierto. Para cada puerto escaneado, se envía un paquete SYN al puerto de destino y se asume que cualquier puerto que responda con un paquete SYN + ACK es un servicio en vivo. Dado que el sistema de inicio no envía ningún ACK final, la conexión permanece medio abierta. Esto a menudo se denomina escaneo sigiloso porque las soluciones de registro que solo registran las conexiones realizadas no registran la evidencia del escaneo. El método definitivo de escaneo de TCP discutido en este capítulo puede ser una técnica llamada escaneo zombie. El objetivo del escaneo de zombies es mapear puertos abiertos en un sistema alienígena sin proporcionar evidencia de que simplemente interactuó con el sistema en él. Los principios detrás de cómo funciona el escaneo de zombies son un poco complejos. Realice el método de escaneo zombie siguiendo los siguientes pasos:
- Identifique un sistema remoto para nuestro anfitrión zombie. El sistema debe tener las siguientes características:
- El sistema debe estar inactivo y no comunicarse activamente con otros sistemas a través de la red.
- El sistema debe utilizar una secuencia de IPID incremental.
- Envíe un paquete SYN + ACK a este host zombie y registre el valor de IPID inicial.
- Envíe un paquete SYN con una dirección IP de origen falsa del sistema zombie al sistema de destino del escaneo.
- Dependiendo del estado del puerto en el objetivo de escaneo, ocurre una de las siguientes dos cosas:
- Cuando el puerto está abierto, el objetivo de escaneo envía un paquete SYN + ACK de vuelta al host zombie, que cree que envió la solicitud SYN original. En este caso, el host zombie responde a este paquete SYN + ACK no solicitado con un paquete RST, aumentando así su valor de IPID en uno.
- Cuando se cierra el puerto, el objetivo de escaneo devuelve una respuesta RST al host zombie que cree que envió la solicitud SYN original. Este paquete RST no solicita una respuesta del zombi y el IPID no se incrementa.
- Envíe otro paquete SYN + ACK al host zombie y evalúe el valor IPID final de la respuesta RST devuelta. Si este valor aumenta en uno, el puerto del objetivo de escaneo se cierra y si el valor aumenta en dos, el puerto del objetivo de escaneo está abierto.
La siguiente imagen muestra las interacciones que tienen lugar cuando usamos un host zombie para escanear un puerto abierto:
Para realizar un escaneo zombie, se debe enviar una solicitud SYN + ACK inicial al sistema zombie para determinar el valor de IPID actual dentro del paquete RST devuelto. Luego, se envía un paquete SYN falso con una dirección IP de origen del sistema zombie al objetivo del escaneo. Cuando el puerto está abierto, el objetivo de escaneo envía una respuesta SYN + ACK al zombi. Dado que el zombi en realidad no envió la solicitud SYN original, interpreta la respuesta SYN + ACK como no solicitada y envía un paquete RST al objetivo, aumentando su IPID en uno.
Finalmente, se debe enviar otro paquete SYN + ACK al zombi, que puede devolver un paquete RST e incrementar el IPID una vez más. Un IPID que se ha incrementado en dos desde la primera respuesta indica el hecho de que cada uno de estos eventos ha ocurrido donde el puerto de destino está abierto en el sistema que se está escaneando. Alternativamente, si el puerto está cerrado en el destino de escaneo, ocurre una serie especial de eventos que solo pueden resultar en que el valor IPID final de la respuesta RST aumente en uno.
La siguiente imagen es una demostración del flujo de eventos que viene con el escaneo zombie de un puerto cerrado:
Cuando el puerto de destino se cierra en el destino de escaneo, se envía un paquete RST al sistema zombie en respuesta al paquete SYN inicialmente falsificado. Dado que el paquete RST no solicita una respuesta, el valor de IPID del sistema zombie no aumenta. Como resultado, el IPID del último paquete RST devuelto al sistema de escaneo en respuesta al paquete SYN + ACK se incrementa en solo uno.
Este proceso a menudo se realiza para cada puerto que se va a escanear y, a menudo, es una práctica común mapear puertos abiertos en un sistema remoto sin dejar evidencia de que el sistema de escaneo realizó un escaneo.
Es decir cómo funcionan los métodos de escaneo de puertos. En este artículo hemos intentado hacer algo diferente, no se trata de una herramienta cualquiera, pero si estamos usando Kali Linux o en el campo de la ciberseguridad deberíamos tener algunos conocimientos técnicos. Espero que este artículo también reciba cariño. Eso es todo por hoy.
¿Te encantan nuestros artículos? Asegúrate de eso Síguenos A Gorjeo y GitHub, Publicaremos actualizaciones de artículos allí. A unirse a nosotros KaliLinuxIn Familia ven a nosotros Grupo de telegramas. Estamos tratando de construir una comunidad para Linux y ciberseguridad. Siempre estamos felices de ayudar a todos en el como sección. Como sabemos, nuestra sección de comentarios siempre está abierta a todos. Leemos cada comentario y siempre respondemos.