-[ 0x06 ]-------------------------------------------------------------------- -[ Buscando informacion ]---------------------------------------------------- -[ by TheEnemi ]-----------------------------------------------------SET-31-- GANANDO INFORMACION ThEnemI consultas, dudas, criticas... ///////////////////////////////////////////////////////////////////////////// Buenos dias/tardes/noches. Como ya viene siendo habitual, antes de empezar, explicare el proposito con el que escribi este articulo (luego para lo que se use es otra cosa) La idea de este texto es, que el individuo que quiera hackear algo, sepa por donde hacerlo, es decir, que antes de atacar sepa contra que se enfrenta. Ultimamente me encuentro con personas que se bajan un programa de ultima generacion para su windows, que les han dicho que sirve para tal cosa, y se ponen a usarlo. Pues a ver si con este documento consiguo que se cambien las preguntas de "quiero hackear la web de mi pueblo" por algo como "busco un bug para la version x de apache" (algo es algo) * Por que analizar y obtener informacion de un sitio? - Pues o porque eres curioso, o porque eres un consultor de seguridad, un hacker, o porque te aburres y esta lloviendo. Como ya sabes, lo que hagas con esto es cosa tuya. Y ahora si, empezamos. ///////////////////////////////////////////////////////////////////////////// ESQUEMA 1. Ganando informacion en servidores web A) ciberia.yai.com/pepito B) www.pepito.com | hotelespepito.com (aqui es donde mas chicha hay) C) pepito.es.vz *notese que todas las webs que contienen la palabra pepito estan inventadas, pero quizas existen 2. Ganando informacion en toda clase de maquinas (principalmente ordenadores) (corto, idea general) 3. Ganando informacion en cuentas de correo (muy corto :P) // fin del esquema --> 1. Ganando informacion en servidores web =========================================== Para que quede todo claro, procurare poner siempre ejemplos, y resultados reales, actuales, pero ligeramente modificados. Como la mayoria de vosotros esta pensando en webs, decir que no es lo mismo analizar una pagina personal (ciberia.yai.com/pepito) que otra del estilo www.paginadepepito.com, o un dominio de tercer nivel (paginadepepito.es.vz) Por eso las tratare en distintos apartados. Hay que ponerse en situacion del administrador,(pepito en este caso), pensar como organizaria la pagina, y que tendria que hacer si quiere cambiar la pagina. A) ciberia.yai.com/pepito En el primer caso, pepito teclearia en su navegador, www.yai.com. Una vez que ha cargado la pagina, iria a la seccion de identificacion, pondria su nompre de usuario (pepito), y su contrase¤a (******) Ya dentro, eligiria la seccion de dominio web (si la hay) y desde el panel de control que yai haya puesto a su disposicion, haria los cambios. Normalmente, yai.com no solo dispondra de un servicio de alojamiento de paginas gratuito, sino que pondra, amablemente, a disposicion del cliente, una cuenta de correo y vaya usted a saber que cosas mas. Por lo tanto, si un atacante consiguiera hacerse con la contrase¤a de pepito, tendria acceso a su correo, espacio web... Bueno a lo que ibamos. Puede darse el caso de que yai.com disponga de un servidor ftp, y que le de a pepito una cuenta para que pueda subir sus paginas. Nosotros, mentes enfermas, queremos saber como actua pepito si quiere actualizar su web. Queremos datos. Pues nada, como el portal yai.com nos ofrece alojamiento gratuito (webalemnte hablando), nos creamos una cuenta, una pagina, y vemos como funciona. A la hora de crear la cuenta, no seais burros y dejeis la direccion de correo real, a no ser que querais probar el filtro antispam que teneis (porque lo teneis). Con la cuenta creada, y una vez identificados, nos damos una vuelta por el portal de yai.com. Vemos si se puede subir por ftp (si se puede lo hacemos), todas las chuminadas que tenga... Alguno ha puesto cara rara cuando ha leido lo del ftp. Tranquilos, porque todavia no he dicho lo mas importante que teneis que hacer mientras navegais por yai.com ... Bajaros todos los manuales, howto, archivos de ayuda, informacion tecnica... todo lo que podais. Seguro que yai.com tiene manuales que, aunque no expliquen el fundamento, explican como subir tu web, cambiar tu contrase¤a... Bueno, pues lo siguiente que hay que hacer es leernos esos manuales, por muy tontos que sean (o muy complejos). Quizas te encuentres con frases que se parezcan a esto: "importante: se recomienda que desactives esta opcion que viene por defecto, porque si un atacante hace esto, podria entrar en tu cuenta", o "si haces esto, un atacante podria conseguir esto otro", o "guarde sus cookies en un lugar seguro, ya que contienen su contrase¤a" No hace falta que diga que tendrias que hacer eso para tener la contrase¤a de pepito, porque ya lo dice el manual. Ademas, este texto habla de como ganar informacion. (leer titulo) Pero nosotros somos hackers, y no nos basta con la informacion que nos den en yai.com. Queremos mas. Existe un gran truco para obtener datos. Y parece que poca gente lo sabe. Pero lo voy a revelar. Se trata de una web que es capaz de responder a tus dudas, tanto a las transcendentales, como a las que no lo son. Bueno, sin mas preambulos... ---> www.google.com (sorprendido?) Hacemos una visita a google, y en un recuadro que tiene (que cosas) escribimos "fallos de seguridad en yai.com" (sin las comillas, por supuesto) o "informacion tecnica de yai.com" o "hackeo a yai.com" o cualquier cosa que se te ocurra. [nota adicional: si explico cosas simples, es porque hay gente que lo necesita. yo por ejemplo] Podemos seguir comiendo informacion (por ejemplo cookies, que buenas estan) si seguimos los pasos del apartado B B) www.paginadepepito.com Aqui ya no hay un portal que ofrezca nada.(vale, si, pero es distinto) Ahora se trata de un servidor (IIS, apache...) Lo primero de todo es averiguar la version del servidor. Nada, abrimos nuestra shell (ms-dos en windows) y marchando una de: telnet www.paginadepepito.com 80 (siendo 80 el puerto de la web). Una vez conectados a pepito.com probamos a escribir GET / y tambien GET / HTTP/1.1 lo que nos puede (puede) proporcionar datos del servidor. Evidentemente, a la hora de conectar a traves de telnet, no solo esta el comando GET, hay otros como PUT, HEAD, POST, DELETE, CONNECT... que dejo a descubirmiento del intrepido lector (pista:unas lineas mas arriba hay una direccion) Ya le hemos metido mano a pepito.com gracias a los GET y demas gaitas, vamos a hacer uso de un programa que vea las peticiones servidor/cliente. Yo he usado achilles, que viene con "documentacion" incluida (3 folios...) Le diremos a nuestro navegador (por ejemplo, firefox) que se conecte a traves de una direccion proxy (127.0.0.1, es decir, localhost) por un puerto (por ejemplo, 6969) ejecutamos el achilles, activamos intercept mode, y le decimos que escuche tanto client data como server data. Lo activamos, y ahora cada vez que nuestro navegador haga una peticion a pepito.com veremos todos los datos por achilles antes de que aparezcan en nuestro navegador (cookies incluidas) y durante esa sesion podremos modificar desde el nombre de nuestro navegador, las cookies que envia, formularios... *Nota: no tienes por que usar el achilles. ni siquiera tienes por que usar un programa. Simplemente prueba, y usa lo que mas te guste, convezca, agrade, odies? Ya tenemos todo el tinglado preparado. Solo falta introducir la web. Y como dije que iba a poner ejemplos reales, aqui va. Me conecto a www.hotelespepito.com, (para seguir la tonica del articulo. Evidentemente este no es el nombre real, pero protege la identidad de los afectados) Me doy una vuelta, veo ofertas, una visita virtual... unos 7 minutos de ciber-rodeos. Mientras tanto, estamos grabando las conexiones. Vamos a echarlas un vistazo: --------=====================-------- HTTP/1.0 200 OK Date: Sun, ?? 08 2004 0:28:42 GMT Server: Apache/1.3.26 (Unix) tomcat/1.0 mod_ssl/2.8.10 OpenSSL/0.9.6d Servlet-Engine: Tomcat Web Server/3.2.4 (JSP 1.1; Servlet 2.2; Java 1.3.1_04; Linux 2.4.20-28.7smp i386; java.vendor=Sun Microsystems Inc.) --------=====================-------- (la fecha ha sido ocultada, la hora modificada) Pues definitivamente sabemos algo mas. Sun microsystems, Tomcat web Server 3.2.4 , Linux 2.4.20-28.7smp i386... Hala, a tirar de google. llegamos a la pagina oficial (http://jakarta.apache.org/tomcat/) con una seccion de bug reporting, FAQ, guia de usuario, manuales, y datos en definitiva. Siempre es interesante la seccion de instalacion, que podemos consultar para ver la instalacion por defecto, carpetas de logs... Ademas te lo puedes descargar, y ponerte a probar cosas en TU ordenador. Bien, pues resulta que en apache, si pones una carpeta y no hay un archivo que se llame index, te va a mostrar el contenido de esa carpeta si esta mal configurado.Sabiendo esto, seguimos revisando los logs... www.hotelespepito.com/visitaVirtual/hotelcaro/perocarodeverdad/dormitorio.htm Probaremos a poner www.hotelespepito.com/visitaVirtual/ y el navegador nos muestra: --------=====================-------- Parent Directory 06-Jul-2004 09:03 - a*************/ 31-May-2004 09:59 - lalal_bitch/ 20-Sep-2002 12:57 - c?rdr??/ 19-Sep-2002 17:00 - empalador/ 01-Apr-2003 19:21 - grsan_ct*ran/ 20-Sep-2002 12:59 - ???iul_al30/ 29-Jan-2003 10:53 - reding/ 29-Jan-2003 11:02 - e???????lr/ 16-Dec-2002 15:46 - vv_hotel1/ 10-Jul-2003 12:51 - vv_hotel2/ 10-Jul-2003 12:49 - vv_Grn/ 14-May-2003 18:42 - vv_GrandFet/ 11-Jun-2004 09:47 - vv_GrandNeva/ 24-Jun-2003 15:39 - vv_RoyReso..> 28-May-2003 15:37 - vv_a???untacana/ 01-Apr-2003 19:27 - vv_caribbeanuyruC..> 05-May-2003 15:51 - vv_rtyjiwejyillageP..> 05-May-2003 17:15 - vv_carirtayrtyryue/ 27-Jan-2003 16:37 - vv_embajador/ 01-Apr-2003 19:12 - vv_fetyeryolata/ 07-Mar-2003 10:05 - vv_fwrtytacana/ 27-Jan-2003 16:31 - vv_frtyrtye?????.jar 10-Jun-2004 13:31 3.9M vv_fuewtenwryra/ 10-Jun-2004 13:42 - vv_jartywtyr/ 27-Jan-2003 16:39 - vv_pwrtyyda/ 27-Jan-2003 16:39 - vv_pertyr/ 27-Jan-2003 16:40 - vv_retyra/ 18-Mar-2003 16:20 - vv_sars/ 27-Jan-2003 16:41 - vv_sesae5/ 31-May-2004 09:56 - --------=====================-------- Los nombres han sido alterados. las vv son de visita virtual. Todas las carpetas contienen archivos de fotos, y nada con sustancia. El .jar es un archivo comprimido con mas de lo mismo, no accesible desde la web. De hecho, es un archivo comprimido que contiene exactamente lo mismo que una carpeta del mismo nombre. Seguramente lo descomprimieron, y no lo borraron. Sobre las fechas, juzgar vosotros mismos. No hemos obtenido nada para tirar cohetes, pero bueno, es un comienzo. Por lo menos tenemos un programa en javascript que le das una foto panoramica y te la muestra, y gira, y gira, y gira... Ademas, ya sabemos algo sobre su estructura de directorios. Pero sigamos, que aun hay mas log.... www.hotelespepito.com/Pepito/web/.../index2.htm volvemos a hacer el mismo truco de antes, vamos a la direccion www.pepitohoteles.com/Pepito y esta es la salida: --------=====================-------- css/ lun, 05 jul 2004 14:52 CEST images/ lun, 05 jul 2004 14:52 CEST jscript/ lun, 05 jul 2004 14:52 CEST web/ mar, 06 jul 2004 09:02 CEST Tomcat Web Server v3.2.4 --------=====================-------- En css encontramos dos, uno llamado publico.css y otro admin.css. Vamos, que si usamos achilles, y no nos gusta nuestra css, cuando llama a pepito/publico.css basta con cambiarlo por pepito/admin.css. Ademas nos da que pensar. Habra una pantalla de login para el admin en la web? ;) En images, mas carpetas y mas archivos, que os las pego si quereis --------=====================-------- 01quienes/ lun, 05 jul 2004 14:52 CEST 02prensa/ lun, 05 jul 2004 14:52 CEST 03asociados/ lun, 05 jul 2004 14:52 CEST 04empleo/ lun, 05 jul 2004 14:52 CEST 05hoteles/ lun, 05 jul 2004 14:52 CEST 06destinos/ lun, 05 jul 2004 14:52 CEST 08registro/ lun, 05 jul 2004 14:52 CEST actividades/ lun, 05 jul 2004 14:52 CEST company/ lun, 05 jul 2004 14:52 CEST index/ lun, 05 jul 2004 14:52 CEST menuImagenes/ lun, 05 jul 2004 14:52 CEST points/ lun, 05 jul 2004 14:52 CEST proyectos/ lun, 05 jul 2004 14:52 CEST quality/ lun, 05 jul 2004 14:52 CEST Archivos: FleHead.gif 0.1 KB lun, 05 jul 2004 14:52 CEST SiteCir.gif 0.1 KB lun, 05 jul 2004 14:52 CEST allInclusive2.gif 4.2 KB lun, 05 jul 2004 14:52 CEST allinclusive.gif 1.7 KB lun, 05 jul 2004 14:52 CEST barraBlanca.gif 0.1 KB lun, 05 jul 2004 14:52 CEST expired.gif 0.9 KB lun, 05 jul 2004 14:52 CEST fleAbajo.gif 0.1 KB lun, 05 jul 2004 14:52 CEST fleArriba.gif 0.1 KB lun, 05 jul 2004 14:52 CEST flecha.gif 0.1 KB lun, 05 jul 2004 14:52 CEST flecha2.gif 0.1 KB lun, 05 jul 2004 14:52 CEST hom-barra.gif 0.1 KB lun, 05 jul 2004 14:52 CEST hom-fot1.gif 2.2 KB lun, 05 jul 2004 14:52 CEST hom-logo.gif 1.3 KB lun, 05 jul 2004 14:52 CEST homeImg.jpg 13.6 KB lun, 05 jul 2004 14:52 CEST hotel-intro.gif 2.0 KB lun, 05 jul 2004 14:52 CEST hotel-intro2.jpg 12.8 KB lun, 05 jul 2004 14:52 CEST index5.gif 0.2 KB lun, 05 jul 2004 14:52 CEST logonimg.gif 4.4 KB lun, 05 jul 2004 14:52 CEST mas.gif 0.1 KB lun, 05 jul 2004 14:52 CEST menos.gif 0.1 KB lun, 05 jul 2004 14:52 CEST monitor.jpg 4.4 KB lun, 05 jul 2004 14:52 CEST perroHombre.gif 5.1 KB lun, 05 jul 2004 14:52 CEST royalClub.gif 1.5 KB lun, 05 jul 2004 14:52 CEST royalClub2.gif 4.2 KB lun, 05 jul 2004 14:52 CEST sombra.gif 1.8 KB lun, 05 jul 2004 14:52 CEST spacer.gif 0.1 KB lun, 05 jul 2004 14:52 CEST spa _HOTEL.gif 0.1 KB lun, 05 jul 2004 14:52 CEST spa_HOTEL_.gif 0.1 KB lun, 05 jul 2004 14:52 CEST spaEL_CITY.gif 0.1 KB lun, 05 jul 2004 14:52 CEST spaceGRAND.gif 0.1 KB lun, 05 jul 2004 14:52 CEST spaceROYAL.gif 0.1 KB lun, 05 jul 2004 14:52 CEST space_arra.gif 0.1 KB lun, 05 jul 2004 14:52 CEST spacnation.gif 0.1 KB lun, 05 jul 2004 14:52 CEST subir.gif 0.1 KB lun, 05 jul 2004 14:52 CEST --------=====================-------- Y no he cambiado nada. Toma ya. Mas real imposible :P Prosigamos. en la carpeta jscript, muchos *.js comentados en perfecto castellano. Llama doblemente la atencion el que pongo a continuacion. Primero porque es el unico que esta comentado en ingles, (el resto estan comentados en perfecto castellano) por lo que imagino que se usara en mas sitios. Y despues por el nombre. Pero no os hagais la boca agua, que tampoco es nada del otro mundo ;) -----creditcard.js------ /*************************************************************************\ * CREDIT CARD VALIDATION. * * 1. MasterCard * 2. Visa * 3. American Express * 3. American Express * 4. Diners Club * 5. Discover * 6. JCB * /*************************************************************************\ -----creditcard.js------ Pues eso, comentado, para que queremos mas. Ademas, si no os habeis fijado: -Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl Un departamento linguistico que ademas ha cambiado de web (:?) (este archivo lo podriamos haber consegido tambien mirando el codigo fuente, ya que en algun lugar existe algo como src=loquesea ) Seguimos. Entramos en la carpeta web, y sorpresa, nos muestra la pagina de inicio. Normal, hay un index.htm Pero de vuelta al log: www.hotelespepito.com/Pepito/web/es_ES/.... Y nos encontramos con: --------=====================-------- Subdirectorios: associated/ lun, 05 jul 2004 14:52 CEST company/ lun, 05 jul 2004 14:52 CEST contact/ lun, 05 jul 2004 14:52 CEST custrrelationship/ lun, 05 jul 2004 14:52 CEST destinations/ lun, 05 jul 2004 14:52 CEST employment/ lun, 05 jul 2004 14:52 CEST hotels/ lun, 05 jul 2004 14:52 CEST images/ lun, 05 jul 2004 14:52 CEST login/ lun, 05 jul 2004 14:52 CEST myprofile/ lun, 05 jul 2004 14:52 CEST myreservations/ lun, 05 jul 2004 14:52 CEST points/ lun, 05 jul 2004 14:52 CEST pressroom/ lun, 05 jul 2004 14:52 CEST quality/ lun, 05 jul 2004 14:52 CEST whoarewe/ lun, 05 jul 2004 14:52 CEST Archivos: aperturas.html 2.8 KB lun, 05 jul 2004 14:52 CEST aperturas_anterior.html 4.0 KB lun, 05 jul 2004 14:52 CEST condiciones.htm 0.8 KB lun, 05 jul 2004 14:52 CEST home.jsp 5.7 KB mié, 07 jul 2004 14:03 CEST homeNavidad.html 0.3 KB lun, 05 jul 2004 14:52 CEST jurisdiccion.htm 1.1 KB lun, 05 jul 2004 14:52 CEST proyectos.htm 3.6 KB lun, 05 jul 2004 14:52 CEST use_conditions.html 11.5 KB lun, 05 jul 2004 14:52 CEST --------=====================-------- Y voy a dejar de comentar. No hace falta que diga que en login/ hay cosas interesantes que home.jsp recibe parametros, que myprofile y myreservations te muestran justamente eso... Creo que al principio olvide decir que se podian hacer reservas. Bueno, pues lo digo ahora. Con una tarjeta y dinero, se pueden hacer reservas en una suite. Como el log no da mas de si, cogi el manual, vi que habia carpetas donde se guardaban logs por defecto, y alguna cosa mas, y... La estructura del sitio quedaria mas o menos asi: / |--------/visitaVirtual | |---/hotel1 | | | fotos..jpg | | | masfotos.jpg | | |___ | | | |---/hotel2 | | |fotos..jpg | | |masfotos.jpg | | |___ | | | |---archivo.jar | | | |--------/Pepito | |---/css | | | admin.css | | | visitante.css | | |____ | |---/images | | |---/fotos | | | | una.jpg | | | |___ | | |---/gif | | |flecha.gif | | |___ | |---/jscript | | | algo.js | | |creditcard.js | | |___ | |---/web | | |index.htm | | | + archivos | | |---/es-ES | | | |---/login | | | |---/myprofile | | | |---/myreservations | | | |---/... | | | | archivos | | | | | | |---/????? | |--------/???? y mas... Aun nos queda por hacer whois , que nos daria informacion sobre el dominio, la direccion abuse@pepitohoteles.com, donde esta registrado, a nombre de quien... Tambien podriamos hacer un tracert (traceroute), un ping, un loqueseteocurra. Es un buen comienzo. Pero podemos obtener mas enlazando con ganando informacion en toda clase de maquinas. Ya llegara. C) pepito.es.vz Es decir, un dominio de tercer nivel. pues podemos usar el achilles(en realidad basta con ver el codigo fuente), y descubiremos que pide los datos a otra pagina: www.ciberia.yai.com/pepito. Es decir, que pepito.es.vz apunta a www.ciberia.yai.com/pepito, y para tener datos podemos usar lo ya explicado en el caso A y B. O tambien, podriamos conectarnos a www.dominios-es-vz.com y decir que somos pepito, con la contrase¤a ****** y queremos que en vez de apuntar a www.ciberia.yai.com/pepito apunte a www.ciberia.ya.com/peitonoesunbuenadmin. Pero en este articulo solo hablamos de como ganar informacion. 2. Ganando informacion en toda clase de maquinas ================================================= Si quieres saber como usar una batidora, tienes dos opciones. A) Ensallo-Error B) Te lees las instrucciones Pues en un ordenador igual (ordenador, sistema operativo...) Lo primero de todo es saber el Sistema Operativo del ordenador que vas a visitar, y saber que puertos tiene abiertos. Pues creo que queda claro que hay que hacer un escaneo de puertos (port scanning) O te haces un programa, o usas el nmap o cualquier otro. Asi obtienes la version del Sistema Operativo. Luego dependiendo de los puertos que tenga abierto, haras una cosa u otra. Aconsejo que mires el 25 para ver si usan sendmail, y que version (hay muchos bugs para el sendmail). El 21 (servidor ftp), y lo que se te ocurra (netbios, troyanos de los que pueda estar infectado...) Vamos, que busques informacion. Y no te olvides de los common password. Tambien ping, tracert, whois... lo tipico. Sitios de interes: -www.securityfocus.com -www.securitytracker.com -www.securiteam.com/exploits/ -www.hispasec.com -www.cert.org -www.k-otik.com/exploits/ -www.google.com (el mas importante) Por ejemplo, antes vimos que www.hotelespepito.com usaba Linux 2.4.20-28.7smp i386, si ademas el escaneo de puertos nos lo ha confirmado, y vemos que tiene el puerto 25 abierto corriendo una version del sendmail que tiene un bug... Lee manuales, busca, y prueba. Si no doy nombres de port-scanners es para que pruebes varios y escojas el que mas te guste 3. Cuentas de correo ===================== Pues para obtener informacion sobre el usuario que usa una cuenta, mira todo lo que puedas. Es decir, que leas su perfil (si existe), su pregunta secreta tambien te puede decir mucho sobre el... Mira si es accesible por el 25, busca bugs Y aqui entra en juego sobre todo la ingenieria social. Preguntar haciendote pasar por una tia (o en su defecto un tio) buenorra (o buenorro) siempre da buenos resultados. Ingenieria social tambien es fake mail, que se esta poniendo de moda hacer confesar datos simulando ser alguien de la empresa (como se llamaba? :P) Tampoco me voy a extender mucho, porque ya se ha hablado del tema. Ademas creo haber leido en el foro que alguien ha escrito un articulo... Solo recordar que si consigues la contrase¤a de pepito@yai.com probablemente tambien tengas la de su servidor web. La gente es asi, usa la misma contraseña para todo. 4. Talue ========= Conclusion de este articulo: Hay cosas que podrian ser mas largas, otras mas cortas, otras son innecesarias?, quedan algunas en el tintero... Pero esperemos que le haya servido a alguien. Como dije la ultima vez: "Hasta otra (si la hay), y ser buenos..." *EOF*