-[ 0x0A ]-------------------------------------------------------------------- -[ Metodologia Hacker ]------------------------------------------------------ -[ by Madfran ]-------------------------------------------------------SET-25- METODOLOGIA HACKER La mayor parte de vosotros, os habeis metido en estas lides de hackers/crackers/..... pensando que era muy bonito y divertido. Que aqui, con cuatro golpes de raton se llegaban a descubrir los mas insondables secretos, estos secretos que las innobles multinacionales y todopoderosos gobiernos nos ocultan. La cruda realidad es muy distinta (como siempre). Ser hacker solo supone estudio, horas delante de un estupido monitor (que parpadea y te da dolor de cabeza),....mas estudio, pruebas (con pocos resultados),.....mas estudio y ....un poco de metodologia. Este articulo pretende solamente dar una pincelada de los pasos que debiera dar cualquiera que pretende enterarse que pasa en el ordenador del vecino. Para amenizar el tocho, pondre de vez en cuando, alguna direccion que me ha sido util en algun momento, pero que quede claro de entrada, que no es el objetivo de este articulo ni dar direcciones extraordinarias, ni procedimientos alambicados. PRIMER PASO (Huellas digitales) ******************************* Aunque parezca una perogrullada, hay gente que se olvida que lo primero que hay que hacer es buscar la informacion publica que graciosamente os suministra la sociedad que se encuentra a vuestro alrededor. Esto se parece mucho a una busqueda policiaca (en lo aburrido y sistematico), cualquier cosa puede ser util, desde un anuncio en los periodicos hasta el comentario de un amigo o enemigo. De todas formas en la red existen mecanismos y bases de datos que nos daran con muy poco esfuerzo una gran cantidad de informacion basica. Estoy hablando de las bases de datos de registros de los dominios. Ahi podeis encontrar los nombre de los representantes de las sociedades u organizaciones por cuyas webs os pensais pasear y cuyos archivos teneis la intencion de leer a escondidas. Podeis leer sus numeros de telefonos, sus direcciones, donde se alojan sus webs y por donde andan sus proxys. La forma de acceder a esta informacion es simplemente publica mediante el cliente whois (version standard para linux o bien empleando soft de terceros, como http://www.pc-help.org/trace/, para wins que no disponen de estos clientes). Otra forma de obtener la misma informacion es via web. Unas direcciones utiles pueden ser : - www.networksolutions.com - www.arin.net - www.ripe.net etc... Tened en cuenta que ya no existe un unico ente dedicado al registro de dominios en internet y por tanto para estar seguros de que la informacion que obteneis es fiable deberiais consultar antes a whois.crsnic.net para obtener una lista de todos los servidores potenciales. Para los muy, muy, muy vagos os podias pasar por : - www.samspade.org Buen cliente windows, que hace esto y mas. - www.oxygene.500mhz.net Si trabajais desde unix. Otros OS,....lo siento, buscaros la vida, pero seguro que deben haber bichos similares para todos los Sistemas Operativos del mundo. SEGUNDO PASO (Noble arte de scaneo de puertos y deteccion de OS) **************************************************************** Una vez identificada la maquina o grupos de maquinas objetivos, pasaremos a escanear los puertos que se encuentran abiertos. Seria el equivalente a buscar las puertas y ventanas, identificando si se encuentran cerradas o abiertas y sus niveles de seguridad. Para poner un ejemplo grafico/numerico, si quereis saber que hay en www.tonto.net, primero debeis buscar su direccion IP (para eso os ha servido toda la busqueda del primer paso) y despues si tiene abiertos los puertos : 21 ftp-data 23 telnet 79 finger (...de esos ya no hay!) 80 http ... y un largo etcetera. Para realizar estas 'proezas' tenemos diversos clientes en funcion del OS desde donde ataquemos. UNIX Strobe ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/strobe-1.06.tgz Rapido pero anticuado y solo valido para puertos TCP nmap www.insecure.org Probablemente el mejor. Puede hacer scaneo de puertos UDP WINDOWS SuperScan http://members.home.com/rkeir/software.html Puertos TCP WUPS http://ntsecurity.nu Puertos UDP A tener en cuenta que en este momento empezamos a realizar actividades para las cuales, teoricamente, debemos solicitar permiso. En algunos paises de este planeta, esta actividad puede ser denunciada y perseguida judicialmente. (tenia que advertirlo ! ) Aprovecharemos esta operacion para establecer el OS al cual nos estamos dirigiendo. Esto puede ser muy facil si disponemos del nmap y este es capaz de identificarlo positivamente, o un poco mas dificil si solo nos apoyamos en nuestra intuicion, pero es fundamental antes de pasar a la siguiente seccion. TERCER PASO (Cuentas, recursos compartidos y otras lindezas) ************************************************************ A continuacion debemos averiguar que recursos, amablemente, el servidor en cuestion esta dispuesto a compartir con nosotros y quienes realmente tienen derecho a disponer de ellos. Hasta aqui, las diferencias solo se establecian en funcion de la maquina atacante, pero ahora es fundamental la informacion conseguida en el paso numero dos. Que Sistema Operativo esta soportando el servidor que tanto nos interesa ?. Porque no es lo mismo enfrentarse a un Novell 4.0, que a un Windows NT o a un RH Linux 6.0, por poner solo uno de los miles de posibilidades que se nos pueden presentar entre OS y sabores. Vamos a hacer tres grandes grupos y los vamos a estudiar por separado : Familia Windows NT/2000 El punto debil de estos OS, estan en los protocolos CIFS/SMB (Common Internet File Server/Server Message Block) y NetBIOS, y en su configuracion defectuosa. Si estos protocolos estan activos, cosa que se puede ver si hay algun demonio escuchando entre los puertos 135 y 139, podemos obtener todos los recursos que se comparten (impresoras, discos, directorios,...) y los nombres de los usuarios validos para estas maquinas. Para obtener toda esta informacion podemos basarnos en el software que se encuentra en el CD-ROM que te vende Microsoft por 50$ (...si, Microsoft vende los programas necesarios para hackear sus OS como rpcdump), dentro del Windos NT Resource Kit, o bien utilizar software libre como el NAT www.hackingexposed.com Otros puntos debiles de estos sistemas es la existencia de servicios SNMP (Simple Network Management Protocol) mal configurados o implementacion del registro de NT, mal configurado con la posibilidad de lectura de la SAM a distancia, con la posterior utilizacion de software tipo l0pht (www.l0pht.com), para crackear las claves de confiados usuarios. Familia NOVELL Los servidores Netware 3.x y 4.x, tienen los mismos problemas pero aqui ni siquiera hace falta comprarse ningun CD-ROM. Los clientes standard para estos OS, dan toda la informacion necesaria acerca de cuentas validas y servicios disponibles. Dichos clientes os los podeis bajar de la propia pagina de novell (www.novell.com) Familia UNIX Aqui la variedad es nucho mayor, dada la contidad de sabores que existen de esta familia de OS. Sin embargo no existen utilidades, digamos..standard para esta actividad. El unico servicio que existia para saber quienes tienen derecho a conectarse, es el finger (recordad, puerto 79), pero hace mucho tiempo que los administradores de red se dieron cuenta de la peligrosidad de este servicio y normalmente esta desactivado. Lo que nos queda son las viejas herramientas de conectarse con un cliente telnet a diversos puertos que antes hemos visto abiertos y leer atentamente los mensajes que nos salen. Esto nos puede permitir leer alguna direccion de correo o alguna publicidad que tontamente nos advierte que el demonio que emplean tiene la conocida vulnerabilidad numero tropocientas. Hay utilidades (como samspade) que nos permiten chequear todos los archivos en un servidor y busquen secuencias de caracteres escondidas en las paginas. Busquedas por "hiden" o "password", nos pueden dar alguna alegria. CUARTO PASO (Nuestra primera entrada) ************************************* De nuevo la forma de entrar en un sistema difiere mucho en funcion del objetivo que nos proponemos pero las tecnicas son bastante genericas. Voy a sentir deciros que la forma mas normal de entrar en una cuenta banal es simplemente adivinando la password. Parece tonto pero si conseguimos una lista de ususarios validos, lo mejor es ir probando con los nombres mas cortos y comprobar que el vago de turno no ha puesto como password su propia identificacion de usuario. Adivinar passwords funciona sobre todo si has hecho los deberes y dispones de algun tipo de estudio sobre cuales son los passwords que deberias atacar primero (como el estudio que os ofrecemos en este numero por ejemplo) Otro sistema que acostumbra a funcionar es el nombre de la compa~ia que ofrece el servicio de correo. Para que no me maldigais demsiado os puedo ofrecer la direcion www.securityparadigm.com/defaultpw.htm donde la ultima vez que pase, habia un listado de las passwords mas comunes. Si te cansas de teclear, el proceso se puede automatizar mediante un sencillo script. Teneis que tener en cuenta que el administrador (si no es totalmente tonto) habra puesto algun sistema para detectar y avisarle si alguien esta intentando entrar en la cuenta de un usuario de forma reiterada y sin exito. Familia Windows NT/2000 Aqui lo mas facil, si estas en el mismo segmento de red del objetivo, es utilizar la ultima version de l0phtcrack, que es capaz de leer las hash de las password si alguien las ha tecleado cerca de ti. Dicha version, tiene una vida limitada de 15 dias, pero si no recuerdo mal en algun numero de SET se explicaba como romper esta limitacion. Familia NOVELL Este sistema tiene una particularidad. Cuando haces una conexion, se establece un 'attachment' anonimo y a partir de ahi podemos disponer con facilidad de una lista actual de todos los servicios y usuarios actuales. En el punto anterior ya he dicho donde buscar las herramientas para hacer todo esto. A partir de ahi existe una utilidad que funciona bajo NetWare 3.x y 4.x, se llama chknull y hace precisamente esto...buscar usuarios cretinos que tienen passwords nulos.....existen ! Para profundizar sobre el tema, os tendreis que releer algunos SETs viejos donde se escribio largo y tendido sobre NetWare 3.x Familia UNIX Aparte del poco atractivo sistema de la fuerza bruta y adivinanza, en esta familia se encuentran muy extendidas las tecnicas que hacen uso de fallos en demonios (Buffer Overflow) y programas que no validan correctamente los datos que introduce el usuario (malvado el...), en este ultimo caso han sido muy famosas las meteduras de pata en PHP y en docenas de scripts en perl y cgis que permiten que mediante la introduccion de un caracter especial (/ \ < > ,....) en lugar de validarse una password se ejecute un cat sobre el fichero passwd. Otra caracteristica de estos sistemas es la presencia del sistema X, que pueden presentar vulnerabilidades asociadas a fallos en PHF. En fin,...en general mediante el scaneo hecho anteriormente, vemos que servicios y demonios corren en el sistema, que version han elegido y buscamos en los archivos de bugtraq (www.securityfocus.com) cual es el fallo descubierto y publicado sobre dicho demonio. QUINTO PASO (Escalando puestos y privilegios) ********************************************* Familia Windows NT/2000 En cualquier sistema sino eres administrador, no eres nadie y en windows esta verdad es mas cierta que en ningun otro sitio. Si consigues entrar en un sistema como usuario normal, no es que tengas muchas posibilidades, pero entre ellas la primera es buscar entre la basura, o sea los directorios compartidos y buscar con utilidades como FIND o similares, ficheros donde se encuentren cadenas de caracteres como "password", "pass", "usuario", "user",...en fin, lo que se te ocurra. No es la primera vez que un super utiliza la misma password del sistema principal para un acceso secundario o peor todavia, se deja un fichero por ahi con una lista de sus passwords validas. Hay algunas utilidades ya compiladas, que pueden funcionar o no en funcion del fixpack que tenga el sistema atacado. Podeis buscar en la red por "getadmin", "crash4" o "sechole" De todas formas, siempre en un Win NT, el objetivo es buscar el contenido del fichero SAM (Security Accounts Manager), donde se encuentra los nombres y las hash de las passwords de todos los usuarios validos en dicha maquina. Si conseguis una copia de dicho fichero o de su forma comprimida SAM._ teneis casi asegurada la entrada al sistema. Dada la debilidad con que Microsoft ha configurado el esquema de proteccion (en realidad una password de win NT no es mas que dos paswords de siete caracteres de longitud), si consigues la SAM, no tienes mas que volver a cargar el L0PHTCRACK y tranquilamente esperar a que por fuerza bruta o por diccionario caiga el regalito. Familia NOVELL Para acceder al preciado don de ser un Admin, tienes alguna posibilidad, si la administracion de la maquina es realmente deplorable, mediante el programita Nwpcrack. Lo que hace este, es intentar un ataque en vivo y en directo mediante un diccionario. Evidentemente, solo funciona si se permite que existan login fallidos de forma indefinida. Cada vez hay menos sistema que permitan esta tonteria. En fin, buscad en www.nmrc.org y encontrareis algunas utilidades que os pueden servir para establecer lineas de trabajo Familia UNIX Aqui el ataque predilecto para ganar puntos es encontrar un problema de mala configuracion del sistema, normalmente un fichero SUIDado, o sea que se ejecuta con privilegios de root. Puedes hacer la busqueda de estas joyas a pelo, pero lo mejor es lanzar un find. fin / -type f -perm -0400 -ls A partir del listado que obtengas, empieza a buscar programitas complicados y con larga tradicion de bugs y otras hierbas. Tambien podeis buscar en www.bastille-linux.org donde en realidad hay ideas y programas para defenderse de este tipo de ataques,....pero a todo se le puede dar la vuelta. :) SEXTO PASO (Saqueando lo que se pueda y creando puertas traseras) ***************************************************************** Una vez has conseguido entrar como Administrador, no esperes que la dicha dure eternamente. Cada cierto tiempo las passwords se cambian y entonces estaras como al principio o casi. Tienes que rapidamente hacerte independiente de lo que le pase por la cabeza a otra persona. En todos los sistemas las tecnicas a emplear siguen la misma logica : - Crearse una cuenta particular con maximos privilegios. - Instalar un sniffer - Instalar un back door - Instalar un rootkit Realmente solo los dos ultimos tienen mas probabilidades de no ser descubierto nunca, aunque esto puede variar de un sistema a otro. Familia Windows NT/2000 Para crearse una cuenta de administracion si has entrado como tal, no es demasiado dificil, busca una utilidad llamada usrmgr.exe en el mismo servidor donde has entrado y te puedes crear una cuenta para ti. Lo malo es que rapidamente el verdadero administrador se dara cuenta de que sobra alguien en dicho selecto grupo y procedera a desactivar la cuenta y ...a buscar al responsable del desaguisado. No es una solucion muy practica. Instalarse un sniffer que por ejemplo recoja todo lo que se pulse en el teclado atacado, es mucho mas silencioso. Me parece que en www.amenisco.com/iksnt.htm habia una utilidad que servia para esto. Hay otros sniffers que estan disenyados para capturar solo password. Si quereis evitar el veros desbordados de basura, el Dsniff de Dug Song, es una buena alternativa. Si lo que quereis es instalalr una puerta trasera, para mi el rey es netcat. Peque~o, configurable, no detectado por los antivirus,..es una joya. Se puede encontrar en la web de l0pht (la version para windows). Lo ultimo de lo ultimo es instalarse un rootkit, o sea modificar una parte del SO para que se ejecute algo que no es realmente lo deseado por el administrador del sistema. Como os veo muy lanzados, vosotros mismos os armais con el winice y crackeais una dll del windows,.....veo que se os ha puesto cara de pez ! ...tambien podeis buscar algo en www.rootkit.com (cortesia de Greg Hoglund) Familia NOVELL Aqui hay una peque~a peculiaridad.....el rconsole. Esta es una utilidad standard que permite la administracion remota del servidor. Si consigues esta password (normalmente la del Admin es valida, tienes todos los accesos posibles, archivos bindery (3.x), archivos NDS (4.x) y un largo etcetera. Familia UNIX Lo primero en unix es hacerse con los ficheros passwd y shadow, con ellos, el John The Ripper y un poco de paciencia os haceis con todas las cuentas entre ellas las que tienen derechos de root. Siempre es mejor tener mas de una, ya que es raro que el cambio de passwords este sincronizado y sea simultaneo para todos los roots. Todo es cuestion de gustos, pero la version original de netcat es una maravilla para abrir puertos que queden escuchando en espera de que tu aparezcas. Me parece que ya di la direccion antes. Si lo que os apasiona es escuchar todo lo que pasa por vuestra red, nada como un buen sniffer (Dsniff de http://www.monkey.org/~dugsong/) SEPTIMO PASO (Destruyendo pruebas y borrando huellas) ***************************************************** Muy bien !. Habeis entrado, teneis todas las passwords, una cuenta de administrador e instalado un backdoor, .... magnifico ! Lastima que se hayan dado cuenta, examinado el log del sistema, comprobado la IP de vuestra maquina y llamado a la policia (...el timbre que ahora esta sonando en vuestra puerta,....no abrais ! ...es la policia !). Para evitar todos estos desagradables eventos lo mejor es pasar una trapito para borrar las huellas o el equivalente en los ordenadores, borrar los logs comprometedores. Familia Windows NT/2000 Si lanzais el Event Viewer podreis borrar todo el log, aunque esto es un poco aparatoso ! Lo mejor es utilizar alguna herramienta especializada como por ejemplo elsave de Jesper Lauritsen. Familia NOVELL La particularidad de NOVELL reside otra vez en el rconsole. A traves de el y mediante algunos simples comandos, unload conlog y load conlog, puedes evitar que se registre lo que hagas. Para cambiar los atributos de los archivos que hayamos retocado, se utiliza, normalmente una aplicacion llamada filer. Familia UNIX Lo normal en UNIX y similares es que los logs se encuentren en /var/log/ pero si os quereis asegurar mirais que diablos hay en /etc/syslog.conf y podreis descubrir donde y de que manera estan almacenando las entradas y salidas al sistema. Todo esto no es una verdad universal, cada SO tiene sus manias y encima no todos los logs son modificables mediante un editor de texto vulgar y corriente. Como toda la informacion dada en este articulo, solo es un punto de partida para despertar vuestra curiosidad. CONCLUSION ********** Acabo como empiezo. Siento mucho informaros que esto de hackear no es nada divertido, o dicho de otro forma, es divertido solo al final cuando tienes la satisfaccion de entrar donde otros se han dado de cabeza contra la pared. De todas formas, antes de entrar, pensar ya en como salir sin dejar huellas. Lo que no es divertido en absoluto es acabar en la carcel o quedarse sin trabajo (aunque este sea una mierda, tiene la ventaja se que se cobra a final de mes.....todos los meses ! ). madfran *EOF*