Necesita una herramienta de desbordamiento de búfer ms02039~ ~
En pocas palabras, el programa no detecta eficazmente los datos de entrada recibidos, lo que genera un error que puede provocar que el programa se bloquee o ejecute los comandos del atacante. Consulte la columna Exploit de unsecret.org para obtener más detalles.
El concepto de desbordamiento de búfer
El ataque de desbordamiento de pila (también llamado desbordamiento de búfer) es una de las técnicas de piratería más utilizadas. Sabemos que el propio UNIX y muchas de las aplicaciones anteriores están escritas en lenguaje C, y el lenguaje C no verifica los límites de los buffers. En algunos casos, si la longitud de los datos ingresados por el usuario excede el búfer proporcionado por la aplicación, se sobrescribirán otras áreas de datos. Esto se denomina "desbordamiento de pila o desbordamiento de búfer".
En términos generales, no tiene sentido sobrescribir datos en otras áreas de datos y, como máximo, provocará errores en la aplicación. Pero si los datos de entrada son cuidadosamente diseñados por un "hacker" y los datos que cubren la pila son el código del programa de intrusión del hacker, el hacker obtendrá el control del programa. Si el programa se ejecuta como root, el hacker obtendrá privilegios de root y luego podrá compilar el programa del hacker, dejando una puerta trasera para futuros ataques. Los ataques de piratería basados en este principio se denominan "ataques de desbordamiento de pila".
Para que sea más fácil de entender, también podríamos hacer una analogía. Un desbordamiento del buffer es como poner diez libras de azúcar en un recipiente que sólo puede contener cinco libras. Una vez que el contenedor esté lleno, el resto se derramará sobre los mostradores y pisos, creando un desastre. Debido a que la persona que escribió el programa de computadora escribió algún código que no verificó adecuadamente el área de destino o buffer (un contenedor de cinco libras) para ver si era lo suficientemente grande como para contener completamente el nuevo contenido (diez libras de azúcar), esto puede causar desbordamiento del buffer. Si los datos que se colocarán en el nuevo lugar son inapropiados y se desbordan por todas partes, también causará muchos problemas. Sin embargo, esto sólo es un problema si el buffer simplemente se desborda. Hasta ahora, no ha sido disruptivo. El mostrador quedó cubierto cuando el azúcar se desbordó. Puedes limpiar el azúcar con un paño o aspirarlo para restaurar la apariencia original de la encimera. Por el contrario, cuando un búfer se desborda, la información adicional sobrescribe el contenido anterior de la memoria de la computadora. A menos que estos contenidos sobrescritos se guarden o puedan restaurarse, se perderán para siempre.
El mensaje perdido contiene una lista de subrutinas que el programa puede llamar hasta que se produzca un desbordamiento del búfer. Además, se pierde la información (parámetros) proporcionada a estas subrutinas. Esto significa que el programa no puede obtener suficiente información de la subrutina para completar su tarea. Como una persona caminando por el desierto. Si regresa por las huellas, se perderá en el desierto cuando llegue la tormenta de arena, borrando estas huellas. Este problema es mucho más grave que la simple pérdida del programa. El intruso utiliza un código de intrusión cuidadosamente escrito (programa malicioso) para desbordar el búfer y luego le dice al programa que procese el búfer y lo ejecute de acuerdo con el método preestablecido. En este punto, el programa ha sido completamente manipulado por el intruso.
Los intrusos suelen modificar aplicaciones existentes para ejecutar programas diferentes. Por ejemplo, un intruso podría iniciar un nuevo programa y enviar archivos secretos (registros de chequera, archivos de contraseñas o inventario) al correo electrónico del intruso. Es como si no sólo las huellas fueran borradas por una tormenta de arena, sino que aquellos que vinieron detrás de nosotros dejaran otras nuevas, llevando a nuestro hombre perdido a un lugar diferente, un lugar del que no sabía nada.
Manejo de desbordamientos de búfer
Cuantas menos puertas y ventanas haya en su casa, menos formas tendrán de entrar los intrusos...
Porque los desbordamientos de búfer son un problema de programación eso sólo se puede solucionar reparando el código del programa roto. Si no hay código fuente, podemos ver en el principio de "ataque de desbordamiento de pila" anterior que para evitar este ataque, podemos:
1. Verificar cuidadosamente la situación de desbordamiento al abrir el programa y hacerlo. No permita que los datos se desborden del búfer. Porque la programación y los lenguajes de programación son muy difíciles y no son adecuados para una gran cantidad de programas que ya están en uso;
2. Utilice un compilador para verificar el desbordamiento de la pila o agregue algunas etiquetas al programa. Confirme que los piratas informáticos tienen prohibido provocar deliberadamente el desbordamiento del programa.
El problema es que no puede apuntar a programas existentes. Para programas nuevos, es necesario modificar el compilador;
3. Consulte con frecuencia los sitios web de su sistema operativo y los proveedores de aplicaciones. , descárguelo y postúlelo inmediatamente. Esta es la mejor manera. Pero los administradores de sistemas siempre están un paso por detrás de los atacantes. Si el software en cuestión es opcional o incluso temporal, elimínelo de su sistema. Como otro ejemplo, cuantas menos puertas y ventanas tenga su casa, menos formas tendrán de entrar los intrusos.
Los piratas informáticos buscan principalmente vulnerabilidades en las tablas de anuncios de vulnerabilidades de Microsoft o en los días 0, y luego escriben programas de desbordamiento basados en las vulnerabilidades (muchos tienen funciones de escaneo integradas), incluido el desbordamiento de permisos local y el desbordamiento de permisos remoto. Después de editar, primero utilícelo para buscar hosts vulnerables y luego utilícelo para desbordar para obtener permisos y controlar el host de destino.