PDF PASO A PASO PARA APRENDER EN EL MUNDO DEL HACKER

Page 219

ikimilikiliklik

Universidad H4CK3R

demasiado en las entrañas de ningún ensamblador. Para empezar un texto bueno para los principiantes en desbordamientos buffer es: www.mixter.void.ru/exploit.html. Para obtener más información recomiendo la lectura de los documentos técnicos “Fatal 3rror” (struck.8m.com/G), el excelente texto sobre los desbordamientos de buffer en Windows de Dark Spyrit (community.core-sdi.com/-julianolbufo.html) y el estudio que comenzó todo: "Smashing the stack for fun and profit", del legendario Alephl publicado en la edición 49 del ezine Phrak en 1996 y disponible en línea en www.insecure.org/STF/smashstack.txt. Otro documento de trabajo digno de nota: cómo explotar servicios avanzados con desbordamientos de pila, va mucho más allá de la obtención de un shell. Taeho Oh muestra en postech.edu/-ohhara (o, alternativamente ohhara.sarang.net/security/adv.txt) como atravesar los firewalls basados en filtros de paquetes, abrir sockets (y por lo tanto, puertas traseras) en el propio exploit y librarse de la prisión “chroot”. (Chroot es, simplificando la definición, una forma de "enjaular" una aplicación que requiera derechos de superusuario para funcionar. Normalmente, la aplicación se instala en un directorio que tiene una copia del sistema de archivos del sistema operativo, pero no es el sistema de archivos real. En este falso ambiente, la aplicación se ejecuta con pseudo-derechos de "root", que sólo son válidos dentro del entorno. La aplicación está feliz de ser engañada y funciona perfectamente. Si un hacker entra en la máquina a través de un desbordamiento de búfer de la aplicación en "chroot", conseguirá, como máximo, el mismo superusuario falso que utiliza la aplicación).

Si realmente quieres conocer a fondo todas las complejidades de los desbordamientos de pila (donde se basan el 99% de los exploits), te recomiendo, de nuevo, dejar de leer el libro y estudiar los sitios indicados. Recuerda, Google es tu amigo ... Ni que decir tiene, que es un requisito previo tener algunos conocimientos básicos de C y ensamblador. Aunque algunos dicen que no, el lenguaje Pascal (y por lo tanto también el Delphi/Kylix) y Basic (Visual Basic, Turbo Basic, Quick Basic,...) e incluso nuevos lenguajes como C + +, C # y también Java, sufren la misma dolencia . Las formas de explotar los estallidos en estos idiomas son diferentes, sin embargo, la vulnerabilidad existe. Acceder a otras cuentas You know the day destroys the night / Night divides the day / Tried to run, tried to hide / Break on through to the other side("Sabes que el día destruye la noche / La noche divide el día / intenta correr, intenta esconderse / Atraviesa hacia el otro lado”. Del álbum de The Doors, de 1967.)

Hasta el momento, invadimos una sola máquina. Ok, es posible que hayas invadido muchas, incluso diez o quince de ellas, pero aun no has investigado cómo funciona un entorno de red. O peor aún, consigues un shell restringido y no puedes hacer muchas cosas! Encontramos dos ejemplos clásicos en las páginas precedentes: el servidor web Apache (que corre en modo de usuario “nobody”) y aplicaciones que se ejecutan en el entorno “chroot”. Tomemos Apache: usted aplicó un exploit en él y consiguió un shell. Sólo que, en este shell, el usuario que está conectado es el nobody - un usuario especial creado precisamente para no dar poderes especiales a posibles intrusos. Como Apache no necesita poderes especiales para funcionar, sólo tener acceso a sus propios archivos, todo va viento en popa. Un Script kiddie entra por buffer overflow, tiene acceso a un shell de nobody,solo puede, quizás, sobrescribir alguna página HTML. No tiene acceso a la 219


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.