Red de conocimiento informático - Material del sitio web - ¿Cómo explotar una vulnerabilidad del buffer para hacer algo sustancial?

¿Cómo explotar una vulnerabilidad del buffer para hacer algo sustancial?

Cómo abrir el puerto del sistema

------------------------------------- ----- --------------------------------------------- --

Win mismo La mayoría de los puertos deben estar abiertos, solo puede cerrar ciertos puertos.

Pruebe este artículo:

Compruebe el puerto

Para comprobar el puerto en Windows 2000/XP/Server 2003, puede utilizar el comando Netstat:

Haga clic en "Inicio → Ejecutar", ingrese "cmd" y presione Entrar para abrir la ventana del símbolo del sistema. Escriba "netstat -a -n " ​​en el símbolo del sistema y presione Entrar para ver numéricamente el número de puerto y el estado de las conexiones TCP y UDP.

Consejos: uso del comando Netstat

Formato del comando: Netstat ?-a -e -n -o -s

-a significa mostrar todas las conexiones TCP activas y los puertos TCP y UDP en los que escucha la computadora.

-e significa mostrar el número de bytes, paquetes, etc. enviados y recibidos a través de Ethernet.

-n significa mostrar solo las direcciones y números de puerto de todas las conexiones TCP activas en forma numérica.

-o muestra las conexiones TCP activas e incluye el ID de proceso (PID) de cada conexión.

-s significa mostrar estadísticas sobre varias conexiones por protocolo (incluido el número de puerto).

Cerrar/abrir puertos

Antes de presentar las funciones de varios puertos, primero introduzcamos cómo cerrar/abrir puertos en Windows, porque de forma predeterminada, hay muchos puertos pequeños inseguros o útiles. están abiertos, como el puerto 23 para el servicio Telnet, el puerto 21 para el servicio FTP, el puerto 25 para el servicio SMTP, el puerto 135 para el servicio RPC, etc. Para garantizar la seguridad del sistema, podemos cerrar/abrir puertos mediante los siguientes métodos.

Cerrar puerto

Por ejemplo, para cerrar el puerto 25 del servicio SMTP en Windows 2000/XP, puede hacer esto: Primero, abra el Panel de control, haga doble clic en Herramientas administrativas y luego haga doble clic en Servicios. "Atender". Luego busque y haga doble clic en el servicio "Protocolo simple de transferencia de correo (SMTP)" en la ventana de servicios abierta, haga clic en el botón "Detener" para detener el servicio y luego seleccione "Tipo de inicio". Seleccione "Desactivado" para "Tipo de inicio" y finalmente haga clic en el botón "Aceptar". De esta forma, cerrar el servicio SMTP equivale a cerrar el puerto correspondiente.

Abrir el puerto

Para abrir el puerto, seleccione "Automático" en "Tipo de inicio", haga clic en el botón "Aceptar" y luego abra el servicio. Si desea habilitar el puerto, primero seleccione "Automático" en "Tipo de inicio", haga clic en el botón "Aceptar", luego abra el servicio, haga clic en el botón "Inicio" en "Estado del servicio" para habilitar el puerto y finalmente haga clic en el botón "Aceptar".

Puerto 21: El puerto 21 se utiliza principalmente para servicios FTP (Protocolo de transferencia de archivos). Puerto 23: El puerto 23 se utiliza principalmente para el servicio Telnet (inicio de sesión remoto), que es un programa de emulación y inicio de sesión común en Internet. Puerto 25: El puerto 25 está abierto para servidores SMTP (Protocolo simple de transferencia de correo) y se utiliza principalmente para enviar correos electrónicos. La mayoría de los servidores de correo utilizan actualmente este puerto. Puerto 53: El puerto 53 está abierto para servidores DNS (Domain Name Server), utilizado principalmente para la resolución de nombres de dominio, y es el servicio DNS más utilizado en sistemas NT.

Puertos 67 y 68: los puertos 67 y 68 están abiertos para el servidor del protocolo Bootstrap y el cliente del protocolo Bootstrap del servicio Bootp respectivamente. Puerto 69: TFTP es un protocolo simple de transferencia de archivos desarrollado por Cisco, similar a FTP. Puerto 79: el puerto 79 está abierto para el servicio Finger y se utiliza principalmente para consultar los detalles del usuario del host remoto, como los usuarios en línea, el tipo de sistema operativo, si hay un desbordamiento del búfer, etc. Puerto 80: El puerto 80 está abierto para HTTP (Protocolo de transferencia de hipertexto), que es el protocolo más utilizado para navegar por Internet y se utiliza principalmente como protocolo de transferencia de información para servicios WWW (World Wide Web). Puerto 99: El puerto 99 se utiliza para un servicio llamado "Metagram Relay" (retardo de subcontramedida), que es poco común y generalmente no se utiliza. Puertos 109, 110: el puerto 109 se utiliza para el servicio POP2 (Protocolo de oficina postal versión 2), el puerto 110 se utiliza para el servicio POP3 (Protocolo de correo 3), POP2 y POP3 se utilizan principalmente para recibir correo. Puerto 111: El puerto 111 es un puerto abierto para el servicio RPC (llamada a procedimiento remoto) de SUN. Se utiliza principalmente para la comunicación de procesos internos entre diferentes computadoras en un sistema distribuido y es una parte importante de varios servicios de red. Puerto 113: El puerto 113 se utiliza principalmente para el "Servicio de autenticación" de Windows. Puerto 119: El puerto 119 está abierto para el Protocolo de transferencia de noticias en red (NNTP). Puerto 135 El puerto 135 se utiliza principalmente para utilizar el protocolo RPC (llamada a procedimiento remoto) y proporcionar servicios DCOM (modelo de objetos componentes distribuidos). Puerto 137: el puerto 137 se utiliza principalmente para el servicio de nombres NetBIOS. Puerto 139: El puerto 139 se utiliza para el servicio de sesión NetBIOS, que se utiliza principalmente para disfrutar de archivos e impresoras en Windows y el servicio Samba en Unix. Puerto 143: El puerto 143 se utiliza principalmente para el Protocolo de acceso a mensajes de Internet v2 (Protocolo de acceso a mensajes de Internet o IMAP). Puerto 161: El puerto 161 se utiliza para el Protocolo simple de administración de red (SNMP). Puerto 443: el puerto 43 es un puerto de navegación web utilizado principalmente para servicios HTTPS, que es otro tipo de HTTP que proporciona cifrado y transmisión a través de un puerto seguro. Puerto 554: el puerto 554 se utiliza de forma predeterminada para el protocolo de transmisión en tiempo real (RTSP). Conocido como RTSP). Puerto 1024: El puerto 1024 no suele estar asignado a ningún servicio y se denomina "Reservado" en inglés. Puerto 1080: el puerto 1080 es el puerto utilizado por el servicio de proxy Socks. Los servicios WWW que normalmente utiliza en Internet utilizan servicios de proxy HTTP. Puerto 1755: El puerto 1755 se utiliza de forma predeterminada para "Microsoft Media Server" (MMS). Puerto 4000: el puerto 4000 se usa para la herramienta de chat QQ que todos usan con frecuencia. Más detalladamente, es un puerto abierto para el cliente QQ, y el puerto usado por el servidor QQ es 8000. Puerto 5554: el 30 de abril de este año. , hubo informes Se dice que ha surgido un nuevo gusano dirigido al servicio lsass de Microsoft: Worm.Shockwave (Worm.Shockwave), que es un servicio de proxy HTTP. Worm.Sasser, este virus puede utilizar el puerto TCP 5554 para abrir el servicio FTP y se utiliza principalmente para propagar virus. Puerto 5632: El puerto 5632 es el puerto abierto por el conocido software de control remoto pcAnywhere.

Puerto 8080: el puerto 8080 es el mismo que el puerto 80. Se utiliza para el servicio de proxy WWW y puede realizar el concepto de puerto de página web. En tecnología de red, puerto (Puerto) generalmente tiene dos significados: uno es un puerto físico, como por ejemplo. Módem ADSL, concentrador, interfaces utilizadas por conmutadores y enrutadores para conectarse a otros dispositivos de red, como puertos RJ-45, puertos SC, etc. El segundo es el significado lógico del puerto, que se utiliza para conectar otros dispositivos de red. El segundo tipo es un puerto lógico, que generalmente se refiere al puerto del protocolo TCP/IP. El número de puerto varía de 0 a 65535, como el puerto 80 para servicios de navegación web, el puerto 21 para servicios FTP, etc. Lo que quiero presentar aquí es el puerto en el sentido lógico. Clasificación de puertos Existen muchos estándares de clasificación para puertos lógicos. A continuación se presentarán dos métodos de clasificación comunes: 1. Según la distribución de los números de puerto (1) Los puertos conocidos son números de puerto bien conocidos, que van del 0 al 1023. Los números de puerto generalmente se asignan a ciertos servicios. Por ejemplo, el puerto 21 está asignado al servicio FTP, el puerto 25 está asignado al servicio SMTP (Protocolo simple de transferencia de correo), el puerto 80 está asignado al servicio HTTP, el puerto 135 está asignado al servicio RPC (llamada a procedimiento remoto), etc. (2) Puertos dinámicos Los puertos dinámicos varían de 1024 a 65535. Estos números de puerto generalmente no están fijos para un determinado servicio, lo que significa que muchos servicios pueden usar estos puertos. Siempre que el programa en ejecución necesite acceder a las aplicaciones de red en el sistema, el sistema puede asignar estos números de puerto para que los utilice el programa. Por ejemplo, el puerto 1024 se asigna al primer programa que envía una solicitud al sistema. Cuando se cierre el proceso del programa, se liberará el número de puerto ocupado. Sin embargo, los virus y troyanos también suelen utilizar los puertos dinámicos. Por ejemplo, el puerto de conexión predeterminado de Glacier es 7626, WAY 2.4 es 8011, Netspy 3.0 es 7306, el virus YAI es 1024, etc. 2. Dividido por tipo de protocolo: Según el tipo de protocolo, se puede dividir en puertos TCP, UDP, IP e ICMP (Protocolo de mensajes de control de Internet). Lo siguiente se centra en los puertos TCP y UDP: (1) Puerto TCP El puerto TCP, el puerto del Protocolo de control de transmisión, necesita establecer una conexión entre el cliente y el servidor para proporcionar una transmisión de datos confiable. Los más comunes incluyen el puerto 21 del servicio FTP, el puerto 23 del servicio Telnet, el puerto 25 del servicio SMTP y el puerto 80 del servicio HTTP. (2) Puerto UDP El puerto UDP, es decir, el puerto del Protocolo de datagramas de usuario, no necesita establecer una conexión entre el cliente y el servidor, y no se puede garantizar la seguridad. Los puertos comunes incluyen el puerto 53 del servicio DNS, el puerto 161 del servicio SNMP (Protocolo simple de administración de red), los puertos 8000 y 4000 de QQ, etc. Para ver el puerto en Windows 2000/XP/Server 2003, puede usar el comando Netstat: haga clic en "Inicio → Ejecutar", ingrese "cmd" y presione Entrar para abrir la ventana del símbolo del sistema. Se abre la ventana del símbolo del sistema. Escriba "netstat -a -n " ​​en el símbolo del sistema y presione Entrar para ver el número de puerto y el estado de las conexiones TCP y UDP en forma numérica (como se muestra en la figura). Consejos: uso del comando Netstat Formato del comando: Netstat ?-a -e -n -o -s?-a significa mostrar todas las conexiones TCP activas y los puertos TCP y UDP en los que la computadora está escuchando. -e indica la cantidad de bytes y paquetes enviados y recibidos por Ethernet. -n indica mostrar solo las direcciones y números de puerto de todas las conexiones TCP activas en forma numérica. -o Muestra las conexiones TCP activas, incluido el ID de proceso (PID) de cada conexión.

-Indica que las estadísticas de varias conexiones se muestran por protocolo, incluidos los números de puerto. Cerrar/abrir puertos Antes de presentar las funciones de varios puertos, primero introduzcamos cómo cerrar/abrir puertos en Windows, porque de forma predeterminada, muchos puertos inseguros o inútiles están abiertos, como el puerto 23 del servicio Telnet, el puerto 21 del FTP. servicio, puerto 25 del servicio SMTP, puerto 135 del servicio RPC, etc. Para garantizar la seguridad del sistema, podemos cerrar/abrir puertos mediante los siguientes métodos. Por ejemplo, si desea cerrar el puerto 25 del servicio SMTP en Windows 2000/XP, puede hacer esto: primero, abra el Panel de control, haga doble clic en Herramientas administrativas y luego haga doble clic en Servicios. Servicio". Luego busque y haga doble clic en el servicio "Protocolo simple de transferencia de correo (SMTP)" en la ventana de servicio que se abre, haga clic en el botón "Detener" para detener el servicio y luego haga clic en "Inicio". Seleccione "Desactivado" en " Tipo de inicio", y finalmente haga clic en el botón "Aceptar". De esta manera, cerrar el servicio SMTP equivale a cerrar el puerto correspondiente. Si desea abrir el puerto, simplemente haga clic en "Inicio", escriba "Auto", haga clic en " "Aceptar", luego abra el servicio y seleccione "Estado del servicio". "Estado del servicio", haga clic en el botón "Inicio" para habilitar el puerto y finalmente haga clic en el botón "Aceptar". Consejos Windows No hay ninguna opción de "servicio" en 98. Puede utilizar la función de configuración de reglas del firewall para cerrar/abrir el puerto Puerto 79 Descripción del puerto: El puerto 79 está abierto para el servicio Finger y se utiliza principalmente para consultar a los usuarios en línea del host remoto, el tipo de sistema operativo y si. Se produce desbordamiento y otros detalles del usuario. Por ejemplo, para mostrar la información del usuario01 en la computadora remota www.abc.com, puede ingresar "finger user01@www.abc.com" en la línea de comando: Generalmente. Para atacar la computadora del oponente, los piratas informáticos obtienen información relevante a través de las herramientas de escaneo de puertos correspondientes. Por ejemplo, "Streamer" se puede usar para escanear el puerto 79 de la versión del sistema operativo de la computadora remota para obtener información del usuario. detecta errores conocidos de desbordamiento del búfer. Esto lo hace vulnerable a los piratas informáticos. Además, el troyano Firehotcker utiliza el puerto 79. Se recomienda cerrar este puerto. El protocolo más utilizado para navegar en Internet, se utiliza principalmente como protocolo de transferencia de información para servicios WWW (World Wide Web). Podemos acceder a sitios web a través de la dirección HTTP más ":80" (comúnmente conocido como "sitio web"). dirección"), como: 80. Debido a que el número de puerto predeterminado del servicio de navegación web es 80, solo necesita ingresar la URL sin ingresar ":80" ":80". Vulnerabilidad del puerto: algunos troyanos pueden usar el puerto 80 para atacar computadoras, como Executor, RingZero, etc. Sugerencias de operación: Para acceder a Internet normalmente, debemos abrir el puerto 80. Puerto 109 y puerto 110 Descripción del puerto: El puerto 109 está abierto para POP2 (Protocolo de oficina de correos versión 2). , Protocolo de oficina postal 2) y el puerto 110 está abierto para POP3 (Protocolo de correo 3, Protocolo de correo 3). El servicio está abierto. POP2 y POP3 se utilizan principalmente para recibir correos electrónicos. Muchos servidores admiten POP2 y. POP3. Cuando utilice un programa cliente de correo electrónico, le solicitará la dirección del servidor POP3, que de forma predeterminada es el puerto 110 (como se muestra). Vulnerabilidades de los puertos: si bien POP2 y POP3 brindan servicios de recepción de correo, también tienen algunas vulnerabilidades.

Hay no menos de 20 vulnerabilidades de desbordamiento del búfer de intercambio de nombres de usuario y contraseñas solo en el servicio POP3. Por ejemplo, la vulnerabilidad de divulgación de información de nombre de usuario legítima del servidor WebEasyMail POP3 permite a atacantes remotos verificar la existencia de cuentas de usuario. Además, los programas troyanos como ProMail Trojan también utilizarán el puerto 110 para robar nombres de usuario y contraseñas de cuentas POP. Sugerencia de operación: si está utilizando un servidor de correo, puede abrir este puerto. Puerto 135 Descripción del puerto: El puerto 135 se utiliza principalmente para utilizar el protocolo RPC (llamada a procedimiento remoto) y proporcionar servicios DCOM (modelo de objetos componentes distribuidos). RPC puede garantizar que los programas que se ejecutan en la computadora puedan ejecutar código sin problemas en computadoras remotas; para comunicarse directamente a través de la red y transferir información, incluido el protocolo HTTP, a través de varias redes. Vulnerabilidad del puerto: Creo que muchos usuarios de Windows 2000 y Windows XP fueron infectados por el virus "Shockwave" el año pasado, que aprovechó las vulnerabilidades de RPC para atacar computadoras. El propio RPC tiene una vulnerabilidad en la forma en que maneja el intercambio de información a través de TCP/IP, causada por un mal manejo de información con formato incorrecto. La vulnerabilidad afecta a la interfaz entre RPC y DCOM, que escucha en el puerto 135. Se recomienda cerrar el puerto 137 para evitar ser infectado con el virus Blaster. Descripción del puerto: El puerto 137 se utiliza principalmente para el servicio de nombres NetBIOS (NetBIOS). El "Servicio de nombres NetBIOS" es un puerto UDP. Los usuarios solo necesitan realizar una solicitud al puerto 137 de una computadora en la LAN o Internet para obtener el nombre de la computadora, el nombre de usuario registrado y si hay un control de dominio maestro instalado. si IIS se está ejecutando, etc. Vulnerabilidad del puerto: debido a que es un puerto UDP, un atacante puede obtener fácilmente información relevante de la computadora de destino enviando una solicitud, y parte de la información puede explotarse y analizarse directamente en busca de vulnerabilidades, como la El servicio IIS que se comunica mediante el puerto 137 también puede obtener los tiempos de inicio y apagado de la computadora objetivo para el ataque utilizando herramientas especializadas. Se recomienda cerrar este puerto 139. Descripción del puerto: el puerto 139 se utiliza para la "sesión NetBIOS". Service". , se utiliza principalmente para disfrutar de archivos e impresoras de Windows y el servicio Samba en Unix. En Windows, este servicio debe usarse para compartir archivos dentro de la red de área local. Por ejemplo, en Windows 98, puede abrir "Control". Panel", haga doble clic en el icono "Red", haga clic en el botón "Compartir archivos e impresoras" en la pestaña "Configuración" y seleccione la configuración correspondiente para instalar y habilitar el servicio; en Windows 2000/XP, puede abrir el "Panel de control" y haga doble clic en el icono "Conexiones de red" para abrir "Propiedades de conexión de área local" luego seleccione "Protocolo de Internet (TCP/IP)" en la pestaña "General" de la ventana "Propiedades" y haga clic en " Propiedades". ; Luego haga clic en el botón "Avanzado" en la ventana que se abre; seleccione la pestaña "WINS" en la ventana "Configuración TCP/IP avanzada" y seleccione la pestaña "WINS" en la ventana "Configuración de NetBIOS". Zone habilita NetBIOS sobre TCP/IP.

Vulnerabilidad del puerto: aunque el puerto abierto 139 puede proporcionar los servicios más exclusivos, los atacantes suelen utilizarlo para atacar. Por ejemplo, las herramientas de escaneo de puertos, como la transmisión de medios y SuperScan, se pueden usar para escanear el puerto 139 de la computadora de destino. Si se encuentra una vulnerabilidad en el puerto, se puede escanear el puerto 139 de la computadora de destino. Si se encuentra una vulnerabilidad en el puerto 139, pueden intentar obtener nombres de usuario y contraseñas, lo cual es muy peligroso

Lidiar con los desbordamientos del búfer

Cuantas menos puertas y ventanas haya en su casa, más más fácil es para un intruso entrar... .... cuantas menos formas haya.

Dado que el desbordamiento del búfer es un problema de programación, el problema solo se puede resolver arreglando el código que rompió el programa. Si no tiene el código fuente, se puede ver a partir del principio del "ataque de desbordamiento de pila" anterior que para evitar tales ataques, podemos:

1. Verificar cuidadosamente si hay un desbordamiento. Al abrir el programa, no permita que los datos desborden el búfer. Esto es muy difícil debido a la programación y los lenguajes de programación, y no es adecuado para una gran cantidad de programas que ya están en uso;

2. Utilice un compilador que pueda verificar el desbordamiento de la pila o agregue algunos símbolos. al programa para que Al ejecutar el programa, confirme que los desbordamientos causados ​​intencionalmente por piratas informáticos están prohibidos.

3. La mejor manera es consultar con frecuencia los sitios web del sistema operativo y los proveedores de aplicaciones, y una vez que encuentre los parches que proporcionan, descargarlos y aplicarlos al sistema inmediatamente. Sin embargo, los administradores del sistema siempre van un paso por detrás de los atacantes y, si el software en cuestión es opcional o incluso temporal, deben eliminarlo del sistema. Como otro ejemplo, cuantas menos puertas y ventanas tenga una casa, menos formas tendrán los intrusos de entrar.

Los piratas informáticos primero encuentran vulnerabilidades en las tablas de boletines de vulnerabilidades de Microsoft o en los días 0, y luego escriben programas de desbordamiento basados ​​en las vulnerabilidades (con muchas funciones de autoexploración), incluidos desbordamientos de escalada de privilegios locales y desbordamientos de escalada de privilegios remotos. Después de programar el programa, primero escanee el host con la vulnerabilidad y luego utilícelo para desbordar y obtener control del host de destino.