Vous êtes sur la page 1sur 8

Rompiendo la seguridad de Windows

Qu es hacking?
Hacking es la bsqueda permanente de conocimientos en todo lo relacionado con sistemas informticos, sus mecanismos de seguridad, las vulnerabilidades de los mismos, la forma de aprovechar estas vulnerabilidades y los mecanismos para protegerse de aquellos que saben hacerlo. NOTA: esta es una de las mltiples definiciones del trmino que pueden encontrarse en Internet. Consultar el Jargon File, por ejemplo en www.fwi.uva.nl/~mes/jargon/ o buscar "Jargon File" con cualquier buscador.

Qu es cracking?
Tiene dos definiciones, segn se hable de seguridad informtica o de crackeo de programas. En el caso de seguridad informtica es el permanente intento de violacin de seguridad de los sistemas informticos, con fines justificados o no. En el caso de crackeo de programas la definicin es la de creador de cracks, iteralmente romper, que son programitas destinados a la desproteccin de programas comerciales para que puedan ser usados sin lmite (y gratis NOTA: estas son algunas de las mltiples definiciones de los trmino que pueden encontrarse en Internet. Consultar el Jargon File, por ejemplo en www.fwi.uva.nl/~mes/jargon/ o buscar "Jargon File" con cualquier buscador.

Otras definiciones:
Wanabies - los que quieren ser, los futuros hackers, aunque por ahora no tienen ni idea. Newbies - hackers en camino, considerados 'novatos', pero con amplios conocimientos ya. Script kiddies - son los que entran en algn sitio utilizando herramientas creadas por otros que malamente saben usar y que no saben cmo funcionan. Tambin se dedican a realizar ataques DoS (Denial of Service), popularmente conocidos como nukes, a usuarios de IRC. Lamers - los que se aprovechan del trabajo de los dems en su beneficio, sin crear nada ellos y sin darles el reconocimiento que merecen. Los lamers son los ms repudiados por toda la comunidad underground. El trmino deriva de lusers, que a su vez deriva de looser user (usuario perdedor, literalmente). Hay que tener en cuenta el especial significado de ganador y perdedor en la cultura anglosajona: los ganadores son los triunfadores en la vida, los perdedores el resto. Luego, tambin estn otros que no son de hack, pero estn muy relacionados: coders, virii makers, etc.

Qu se necesita para ser un hacker?


Ante todo MUCHAS ganas de aprender. Un buen conocimiento del idioma ingls ayuda bastante, ya que, desgraciadamente, es poca la documentacin de hacking que ha sido traducida al espaol. Es conveniente tener montada una LAN para poder hacer pruebas, como mnimo 2 ordenadores conectados con cable cruzado. Los ordenadores de la LAN deben tener instalada una variedad de sistemas operativos que dependern de las pruebas que deseemos realizar, aunque tomando en cuenta la distribucin de los sistemas operativos a nivel mundial es conveniente que uno de ellos tenga Microsoft Windows NT 4 + SP6a y otro alguna distribucin de Linux o UNIX. A medida que Microsoft Windows 2000 gane en popularidad ser necesario contar con un ordenador que lo tenga instalado. Si contamos con ordenadores lo suficiente potentes podemos instalar sistemas operativos adicionales en mquinas virtuales (por ej. con el programa VMware, de www.vmware.com). Podemos dar una explicacin ms detallada: Imagnate que voy a la consulta del mdico, y le digo "Quiero que me ensees a ser mdico", o me acerco al campen mundial de karate y le digo "Quiero que me ensees en un momento todo el karate que sabes". Crees que todos esos fines de semana que se han pasado muchos estudiando es de coa?, Que esperas que te digan?, si macho, aprndete estas palabras mgicas, y ya est. Si de todas formas quieres que te expliquemos, aqu tienes un guin bsico: 1. Informtica bsica. Aprende conceptos acerca de cmo funciona un ordenador, qu es la CPU, sistemas de numeracin, lgebra booleana, conceptos de sistemas operativos. Disco duro, particiones, qu es una particin? Sistema operativo, qu es? Gestin de memoria Gestin de acceso al disco Planificacin de tareas Qu es un programa, cdigo fuente, cdigo objeto, compilar, linkar, ejecutable

2. Aprende Ingls tcnico, es muy importante. Mtete en una academia si hace falta. 3. Aprende a usar bien el ordenador a nivel de usuario. Lectores de correo electrnico (y no es broma, hay gente que aunque los usa, no sabe usarlos), prueba varios, el Eudora, por ejemplo Lectores de news, igual Varios navegadores, el Explorer, el Netscape, diversas herramientas Clientes de IRC, igual

Aprende qu son esas opciones que nunca usas, curiosea en las opciones, quizs esta fase parezca una tontera, pero no lo es.

4. Aprende a usar los recursos de Internet, por ejemplo los navegadores, hay gente que aunque usa un navegador para buscar algo, no lo encuentra, porque en realidad no sabe que palabras buscar. Con un poco de prctica, se aprende a ir directamente al grano de lo que se busca. La inmensa mayora de las cosas que se preguntan aqu se encuentran en dos patadas haciendo uso de un buscador. Cuando busques algo pregntate: Qu palabras puede contener una pgina web que contenga el documento o programa que busco? Te pongo un ejemplo: Imagnate que alguien entra y pregunta por un firewall gratuito y alguien le responde que se instale el cortafuegos "Freedom", pero no dice donde est. Entonces, el que pregunta, podra preguntar: Y dnde me lo puedo bajar? Pero en su lugar, lo que podra hacer, es ir a www.google.com y buscar "Freedom". Lgica y naturalmente, "Freedom" que significa libertad en ingls, es una palabra muy corriente, le saldrn miles de pginas web, y no lo encontrar, por eso es mejor acotar la bsqueda, usando ms palabras, por ejemplo: "Freedom firewall". Y siempre pensando, Qu palabras contendr la pgina web que busco?. 5. Aprende HTML, a desarrollar pginas web, y una vez que sepas, mtete con Java Script, mira los scripts desarrollados por otros para ver como funcionan. Al aprender Java Script, aprenders algunos conceptos bsicos de la programacin, las estructuras de control, bucles for, if, etc. 6. Aprende algn lenguaje de programacin, podra ser Visual Basic, aunque, quiz en mi opinin, sera ms interesante aprender algn lenguaje orientado a consola, como Quick Basic. Aunque no lo sepas, probablemente lo tengas instalado, abre una ventana al DOS y ejecuta QBasic. Una vez que te medio apaes con QBasic, mtete con Visual Basic. 7. Puedes continuar con Java, Que no se te olvide C y C++. Tambien puedes meterte con Python y Perl. Recuerda que la forma de aprender a programar no es empollar los codos, sino programando. Haz tus propios programas, intenta meterte en proyectos Open Source, quizs puedas aprender algo. 8. Varios aos ms tarde, aprende bien acerca de protocolos de Internet, como funcionan las cosas, Instlate tambin otros sistemas operativos, como Linux, o BSD. 9. A estas alturas, debes estar listo para usar sockets en C o C++, haz algo de software sobre redes, algn servidor, aunque sea un minichat. 10. Apntate a listas de seguridad informtica, y busca los tutoriales o libros en la red que encuentres sobre seguridad informtica. Naturalmente, en las listas de seguridad informtica no te va a ensear sobre el tema, pero poco a poco irs entrando en ese mundo, recordars los avisos de vulnerabilidades nuevas que aparecen y en muchas ocasiones te recordarn a vulnerabilidades pasadas. 11. Aunque no es imprescindible saber ensamblador, es conveniente saber al menos que es, como se organiza un programa por dentro, que es lo que pasa cuando se convierte en proceso, que es el stack, el head, el .TEXT, el cdigo de operacin, o sea, puede ser divertido usar un emulador de un microentrenador para prcticas de microprocesadores y aprender algo de ensamblador y hacer algunas prcticas. No es porque pueda serte til, si no porque te d otra visin ms avanzada de lo que realmente hacen los programas, incluso cuando programas en C, tienes otra visin diferente. Por ejemplo, sabes que las variables locales se crean en el stack y que por eso

se pierden cuando sales de la funcin?, si eso te lo dicen sin saber ensamblador, pues puede que te suene a chino. 12. Un truquillo para avanzar ms rpido, aunque no es imprescindible, puedes matricularte en la facultad de informtica, con eso acortars algo de tiempo. Si no tienes nota suficiente, pues tambin puedes tirar de academias y cursillos. Estudiando por tu propia cuenta, a veces te puedes atascar, combina los dos mtodos, avanza por tu cuenta y lo que te enseen. Con eso ya tienes tarea para rato, vuelve dentro de unos aos. No hay que confundir hacker con pirata informtico. Por contra de lo que todo el mundo cree, "pirata" no es la traduccin literal de hacker. En espaol se denomina "pirata informtico" a los que se dedican a la copia y distribucin de software ilegal. Por lo tanto, los piratas informticos son aquellos que simplemente pinchan sobre el icono copiar disco, siendo el programa y la grabadora los que hacen el resto del trabajo.

Cmo puedo obtener la clave del Administrador en un Windows NT/2000?


Ante todo aclaremos que no hay recetas mgicas. Dado que lo usual es que no se tiene acceso a los DC, lo ideal es utilizar un sniffer para capturar los hashes de los passwords de los usuarios directamente desde la red, para luego hacer un proceso de crackeo off-line. Un reconocido crackeador de passwords de Windows es el programa L0phtcrack (www.l0pth.com), que no solamente permite hacer el proceso de crackeo, sino que adems incorpora un sniffer dentro del mismo paquete. En caso de tener acceso a los DC, puede intentarse el uso del programa pwdump2 (www.webspan.net/~tas/pwdump2/), que inserta su cdigo dentro de un programa en RAM con privilegios administrativos, y realiza un vuelco de la SAM, en forma de texto, a la pantalla. Luego este archivo puede utilizarse conjuntamente con el L0pthcrack para crackear los passwords Todo lo antedicho funcionar sobre Windows NT, y sobre Windows 2000 solamente sobre aquellas cuentas que NO se encuentren almacenadas en AD.

Cmo pueden violar la seguridad de mi servidor NOVELL?


Existe un FAQ (en ingls) al respecto en www.nmrc.org/faqs/netware/index.html

Forma de Crackear los Password en un servidor Netware


Existen varias formas de lograrlo, por defecto se asume que la opcin de Intruder Detection est Off, tambin que la opcin unencryted password est habilitada y por ltimo que existe la posibilidad de plantar un programa Password Catcher..... La funcionalidad de Intruder Detection On es proteger el servidor contra los ataques de los programas Sniffers...los cuales pueden ser introducidos va ftp, telnet o en servidores www o a travs de un e-mail al Webmaster del Intranetware.... Novell ha facilitado a los administradores de red formas para controlar estos ataques...Las ltimas versiones del programa LOGIN:EXE encriptan los paswords antes de transmitirlos por el medio (cableado), el administrador debe asegurarse en tener las ltimas actualizaciones de dicho programa. En versiones anteriores de shell tal como NEXT (para mantener compatibilidad con viejas estaciones de trabajo) se debe colocar la siguiente instruccin en la consola o en el archivo AUTOEXEC.NCF: SET ALLOW UNENCRYPTED PASSWORDS=ON Por defecto est Off despus que se realiza la instalacin.

Si el Craker tiene acceso remoto a la consola puede resetear los passwords con los siguientes NLM: MODULO NLM Cuenta Netware version(s) supported ------------ ----------------- ---------------------------SETSPASS.NLM SUPERVISOR 3.x SETSPWD.NLM SUPERVISOR 3.x, 4.x y 5 SETPWD.NLM cualquiera 3.x, 4.x y 5 Se puede plantar un programa password catcher o un lector Keystroke para obtener los passwords cuando los usuarios hagan login a la red. El programa LOGIN.EXE est localizado en SYS:LOGIN y normalmente est protegido contra los accesos no autorizados. El sitio ms apropiado para que los Crackers coloquen uno de stos programas de captura de password es en una estacin de trabajo con el atributo Hidden habilitado (puede ser de forma remota). La desventaja para el administrador es que Netware ni se enterar de la existencia de ese programa. Existe una ubicacin an mejor para el Cracker, que puede ser una mquina de acceso comn, tal como PcAnywhere utilizada para acceso remoto. En muchas instalaciones se permite que PcAnywhere tenga acceso a las dems mquinas clientes de la red y solo confiando en las caratersticas de seguridad ofrecidas por Netware.

Crackear con el SETPWD.NLM


Va RCONSOLE, se pueden cambiar los password en SYS:SYSTEM de la siguiente forma: Para Netware 3.1X LOAD [SYS:SYSTEM]SETPWD [username] [newpassword] Para Netware 4.XX y 5 LOAD [SYS:SYSTEM]SETPWD [username] [newpassword] Si el servidor tiene replicacin, entonces el Cracker tendr acceso a todos los servidores. Tomado de: Anti Online y New Order magazines. Probado en: Laboratorio de AAIAA C.A.

Cmo pueden violar la seguridad de mi servidor UNIX/Linux?


Si descontamos el caso de un ID de usuario conocido que tenga su password nulo, igual al user ID, o la palabra 'password', necesitaremos hacer una investigacin preliminar. Lo primero sera colectar cuanta informacin sea posible sobre el sitio en cuestin. Podemos consultar catlogos para obtener direcciones de email, pginas web,

grupos de noticias, la base de datos que contenga las direcciones IP asignadas a ese sistema (ARIN, RIPE, APNIC), el registro de dominio (InterNIC), etc. Luego puede hacerse un escaneo de los puertos para conocer los servicios disponibles e intentar averiguar el tipo y versin de los mismos. Por ejemplo, si est corriendo un servidor web en el puerto 80, podemos averiguar su versin de la siguiente forma: $ telnet direccin_IP 80 HEAD / HTTP/1.0 {presionar ENTER un par de veces} Entre los headers de la respuesta tendremos el tipo (Apache, IIS, etc.) y la versin (por ej. IIS 4.0), salvo que el servidor est configurado para no brindar esta informacin (lo cual es una excelente idea, hay que consultar la informacin del servidor para aprender cmo se configura este comportamiento). De forma similar, utilizando telnet o netcat, podremos informarnos sobre los distintos servicios disponibles. Conociendo el tipo y versin de los servicios, podremos buscar xploits en alguno de los sites mencionados en el punto 18.0, hacer pruebas del xploit en nuestra LAN de pruebas, y una vez conocidos los detalles aplicarlo al site destino. Si tenemos acceso mediante login local como usuarios comunes, el mecanismo es similar pero aplicando xploits locales, que son ms abundantes. Dado que cada sistema estar configurado de manera diferente, con diferentes versiones de los servicios configuradas de variadas formas, no puede aplicarse una receta ms especfica (no hay soluciones mgicas), pero cabe destacar que el peor enemigo del administrador UNIX/Linux es la configuracin por defecto, que no suele ser la ideal en prcticamente ninguna distribucin.

Cmo y dnde debe reportarse un incidente serio de seguridad?


El texto "Steps for Recovering from a UNIX Root Compromise", disponible en www.cert.org/tech_tips/root_compromise.html y el RFC-2196 "Site Security Handbook" discuten procedimientos a aplicar en el caso de un compromiso serio de seguridad en el sistema Los motivos para reportar incidentes pueden ser: Detener escaneos Ayudar a proteger a otros (aunque nosotros estemos seguros, otros no lo estn) Informar a los administradores del sistema o la red Recibir confirmacin del ataque (a veces algo parece un ataque y resulta que no lo es) Incrementar las precauciones y el monitoreo por parte de todos los involucrados

Los tipos de incidentes a reportar pueden ser (lista no excluyente): Aataques DoS (Denial of Service)

Intentos de reconfigurar nuestro sistema (envenenamiento del DNS, cambio de las tablas de ruteo, intento de reconfiguracin de nuestras interfaces de red mediante SNMP, etc.) Intentos de obtener informacin sobre nuestra topologa de red y la configuracin de nuestras interfaces Intentos de login en cuentas locales Intento de acceso a archivos no accesibles al pblico Intento de uso de servicios privados Intento de almacenar archivos en nuestro disco duro Intento de colgar nuestros sistemas Intento de explotar vulnerabilidades conocidas y especficas

Usualmente los incidentes se reportarn a: Root, postmaster, o abuse en el sitio atacante Coordinador de las direcciones de red (puede averiguarse en ARIN para Amrica, RIPE para Europa, APNIC para Asia y la regin del Pacfico, y en NIRPNET para sitios .mil) Abuse en nuestro ISP CERT o por email a cert@cert.org El proveedor de nuestro sistema operativo (de tratarse de la explotacin de una falla del mismo, la mejor de las suertes con Microsoft)

La informacin que debe proveerse para ayudar a responder al incidente es (tomar en cuenta que puede terminar en manos del atacante en ciertos casos): Nuestra direccin de email Nuestro nmero de telfono, de considerarse apropiado Nuestra direccin IP, hostname, y nombre del dominio La direccin IP y hostname del atacante, si estn disponibles La fecha y hora del incidente (aclarando nuestra zona horaria respecto del GMT) Una descripcin del ataque Una explicacin de cmo detectamos el ataque Logs del sistema demostrando el incidente Una descripcin del formato de los logs del sistema Referencias en Internet relativas al ataque utilizado (por ejemplo ID en el CERT, ID en BugTraq, etc.)

Qu deseamos que la persona informada haga al respecto (solucionar un error, confirmarlo, explicarlo, monitorear la red, informarse al respecto, etc.) Dicho todo esto, cabe aclarar que no hay que avisar incidentes si os aparecen tres cartelitos seguidos en el Zone Alarm o si os estn haciendo un ping, esto es para cosas ms serias.

Vous aimerez peut-être aussi