-[ 0x04 ]-------------------------------------------------------------------- -[ LC3 ]------------------------------------------------- -[ by madfran ]-------------------------------------------------------SET-25- SEGUNDA VERSION DEL L0PHTCRACK INTRODUCCION Dicen que nunca segundas partes fueron buenas y a pesar de que en alguno de los numeros anteriores de SET encontrareis algun articulo sobre este tema, puede que en este caso estemos frente a una excepcion, al menos lo intentaremos. Como siempre en todo lo que yo cuento, nos hemos basado sobre un hecho real, veridico y verificable, por ....... solamente el que escribe estas lineas. De lo cual podeis deducir que o bien os creeis a pies juntillas lo que aqui os digo o bien os liais a seguir mis pasos y comprobais todo lo que aqui se relata. Como siempre, sois libres de hacer lo que mejor os parezca, que nadie os va pedir cuentas de vuestros actos,...mientras no tengan consecuencias en el exterior de vuestra casa y no afecte a la cuenta de resultadas de alguna multinacional multipoderosa. UN DESPACHO CUALQUIERA En un despacho vulgar y corriente, perdido en un edificio desangelado y de pesimo gusto, entro un atareado (al menos hacia el esfuerzo para parecerlo) muchacho con el ubicuo PC portatil cargado sobre sus espaldas. "Pero muchacho ! Que haces por aqui ?" - Se sorprendio el usuario del cubiculo. "Pues mira, me he enterado que estabas por estos lares y he venido a saludarte" Al esclavo_usuario_de_despachos_en_sitios_reconditos, le sorprendio un poco la visita del hombrecillo. Habian tenido relacion hacia algunos anyos (en otros despachos, situados en otros edificios) pero nunca sus andanzas habian tenido muchos puntos comunes y jamas habian tenido que afrontar graves dificultades juntos (situaciones que normalmente cimientan grandes amistades). Pensativo, espero a que el otro moviera ficha. Se hablo del tiempo, de lo mucho que se trabajaba, de lo mal que estaba gestionada la empresa, en fin, de todo un poco, menos del verdadero motivo de la entrada en el despacho. Finalmente, empezo a despejarse la incognita. "Has visto que han empezado a cambiar los PC?"...pregunta retorica. El hecho era bastante evidentemente. "Si, algo he visto" - con cuidado, respondio el visitado, empezando a atar cabos. "Y el nuevo sistema operativo, que estan poniendo?, toda una maravilla!" Empezando a vislumbrar el objetivo, nuestro amigo, no despego los labios y se limito a asentir sin demasiado entusiasmo. "Windows 2000, el mas rapido y seguro".....la palabra SEGURO, floto por las aires, rebotando contra las paredes sin conseguir salir al exterior. Como el visitado seguia sin darse por aludido, el visitante solto el problema de repente, como si de una explosion interna se tratara. "Oye, mira. En las nuevas maquinas no han dado privilegios de administrador al usuario del cacharro, yo quisiera instalar un software nuevo y no puedo" "Como tampoco puedo pedir permiso oficial y ya sabes que desde el asunto del contrato Z, me llevo de unyas y dientes con el gilipolla del Jefe de Departamento de Burotica,....." Aqui ya nuestro sufrido y paciente heroe perdio todo atisbo de ella. "Que tiene que ver esto conmigo?" (Desde que le paso rozando, una reprimenta debido a una incursion sobre una cuenta de correo ajena, nuestro amigo se habia vuelto bastante precavido) "Es que,... aquella vez que perdi la password del fichero Acces y tu me ayudastes a crackearla, me di cuenta que tu eras un manitas para esto y.... bueno....me preguntaba si me podias ayudar" Con la pretension de sacarselo de encima rapidamente (se acabaron los dias en los que le gustaba alardear de sus conocimientos), le salieron las palabras de la boca al limite de la educacion y de la cortesia. "Consigue una copia de la SAM, buscate el L0PHTCRACK y despues instalalo en alguna maquina solitaria. A continuacion prueba con un buen diccionario, si no hay suerte prueba a fuerza bruta y....paciencia" Estaba convencido que el pajaro se arredaria ante semejante trabajo pero la respuesta que recibio le dejo de piedra, le hizo cambiar de opinion acerca del pesado que tenia delante y empezo a interesarle en el tema. "Si la SAM ya la tengo !, el problema esta en el L0PHT. Han cambiado de sitio y maneras. Han sacado una nueva version y la que no esta registrada no admite el cracking por fuerza bruta" El hecho de que el majadero en cuestion hubiera tenido la paciencia de leer alguna documentacion, sacado conclusiones, tomado el trabajo de conseguir una copia del fichero de passwords de su maquina y buscado el crackeador, le hizo cambiar de opinion y de actitud. A alguien que pide informacion sobre algo que no cuesta mas trabajo que leer despacio, no vale la pena de gastar un segundo en su ayuda, pero siempre es bueno alimentar una llama que arde solitaria en la oscuridad de la humana tonteria. PREGUNTAS Y RESPUESTAS Lo primero de todo era saber donde habia esta buscando. Dado que desde hacia tiempo habia conseguido acceso totales de forma mucho mas elegante, no habia seguido la evolucion de los propietarios y creadores del celebre crackeador de password bajo Windows NT. Estos habian cambiado de web y de metodos. Antes su dominio terminaba en .ORG hoy en dia un flamante WWW.ATSTAKE.COM, indica claramente que es necesario comer todos los dias (caliente y sentado preferiblemente) y que el dinero no cae del cielo (en ningun pais de este u otro planeta conocido por nosotros). Aparentemente han fundado una empresa llamada @STAKE que se dedica a algunas cosas que si os interesan conocer os pasais por su web y leeis un rato, ademas mantienen como producto estrella un programa llamado "lc3". Imagino que quiere decir L0pht Crack (3)tres o algo parecido. Lo importante es saber que si te lo bajas, ademas de la tipica licencia de quince dias que ya se encontraba en la antigua version, la copia sin registrar actual solo hace cracking mediante diccionarios y la fuerza bruta se la dejan para el que paga el registro (ahora no recuerdo cuanto cuesta). "Y bien, que has hecho" Pregunto nuestro experto. "Pues probar con todos los diccionarios que he encontrado, sin resultado alguno" "Ahora queria probar a la fuerza bruta, pero ya ves,....no quiero pagar el registro y mucho menos dar mi nombre para hacerlo" ....el visitante estaba desolado. "Bien, veamos que se puede hacer, ....pero no prometo nada" MANOS A LA OBRA Como hacia tiempo que no se dedicaba a estos menesteres de la ingenieria inversa y habia sufrido un cambio de ordenador (entre otros desastres), no disponia de ninguna copia de un desamblador que en el pasado le habia sido de gran ayuda en tareas similares, pero el tema no tenia mayor secreto. En el mejor buscador que hoy en dia podemos encontrar (WWW.GOOGLE.COM) puso en la ventana adecuada la palabra magica "W32DASM7" y la respuesta le dio la pista de un sitio pirata desde donde bajarse una copia de este desamblador. La version siete es tan buena como cualquier otra, pero era la que conocia mejor. Esta tambien es una version demo y tiene sus habilidades limitades y sus facultades recortadas, pero de momento nos puede servir, aunque los problemas y las limitaciones, rapidamente te empiezan a molestar. Instalaron el W32Dasm (la verdad no se que se ha hecho de la empresa que vivia de este soft, unos tales URSoftware), hicieron una copia seguridad del ejecutable de ASTAKE (LC3.EXE) y pidieron (amablemente) al W32Dasm que desemsamblara el LC3.EXE. Desde otra sesion lanzaron el LC3 y miraron atentamente las sucesivas pantallas, Ya de entrada te dice que te quedan 15 dias de plazo antes de que todo se detenga, y te dan rapidamente la posibilidad de registrarte (Register). Si picamos ahi aparece otra pantalla que nos invita a introducir un codigo junto a las palabras magicas "Unlock Code". Guardamos donde nos parezca esta informacion (en nuestra memoria si todavia tenemos el placer y la suerte de conservarla en buen estado) y pasamos a la pantalla del W32Dasm. Ahi buscamos por esta secuencia de caracteres (Unlock Code) y voila!. Se adjunta zona de codigo interesante. * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00411590(C) | :004114FE 55 push ebp :004114FF 8D8C2490010000 lea ecx, [esp + 00000190] :00411506 E8195C0300 call 00447124 :0041150B 8D8C2430010000 lea ecx, [esp + 00000130] :00411512 E8496A0300 call 00447F60 :00411517 83F801 cmp eax, 00000001 :0041151A 757A jne 00411596 :0041151C 8D842490010000 lea eax, [esp + 00000190] :00411523 50 push eax :00411524 8BCF mov ecx, edi :00411526 E8F95B0300 call 00447124 :0041152B 8B4500 mov eax, [ebp+00] :0041152E 8D4C2420 lea ecx, [esp + 20] :00411532 51 push ecx :00411533 50 push eax :00411534 E8D738FFFF call 00404E10 :00411539 8B07 mov eax, [edi] :0041153B 8D542428 lea edx, [esp + 28] :0041153F 52 push edx :00411540 50 push eax :00411541 E873E50100 call 0042FAB9 :00411546 83C410 add esp, 00000010 :00411549 85C0 test eax, eax :0041154B 7523 jne 00411570 <==== Punto interesante :0041154D 8B07 mov eax, [edi] :0041154F 50 push eax * Possible StringData Ref from Data Obj ->"Unlock Code" | :00411550 6814904700 push 00479014 * Possible StringData Ref from Data Obj ->"Registration" | :00411555 6820904700 push 00479020 :0041155A 8BCE mov ecx, esi :0041155C 899E14010000 mov [esi+00000114], ebx :00411562 E8F14B0400 call 00456158 :00411567 53 push ebx :00411568 53 push ebx <====== Lo hemos conseguido ! * Possible StringData Ref from Data Obj ->"You have successfully registered " ->"LC3." | :00411569 68F8904700 push 004790F8 :0041156E EB07 jmp 00411577 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0041154B(C) | :00411570 53 push ebx <======= Mala suerte chaval ! :00411571 53 push ebx * Possible StringData Ref from Data Obj ->"You have entered an invalid code. " ->"Please try again." | :00411572 68C4904700 push 004790C4 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0041156E(U) | :00411577 E8590C0400 call 004521D5 :0041157C 33C0 xor eax, eax :0041157E 89442420 mov [esp + 20], eax :00411582 89442424 mov [esp + 24], eax :00411586 88442428 mov [esp + 28], al :0041158A 399E14010000 cmp [esi+00000114], ebx :00411590 0F8568FFFFFF jne 004114FE * Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:004114F2(C), :0041151A(C) Aqui se produjo otro impase. Cada cual tiene sus manias y las de nuestro heroe consisten en que no le gusta descifrar nada en la pantalla y si no tiene un papel donde garabatear tonterias insomnes no se puede concentrar. Habia que sacar una copia papel del trozo interesante pero la version demo que tenian entre manos no permitia estos manejos. Recordo que en algun momento habia pasado por sus manos un articulo que hablaba de como crackear el W32Dasm de forma que dejara una copia del fichero desensamblado. Como tampoco tenian tiempo de buscar el articulo, utilizaron las herramientas del mismo Windows 2000. Desde otra pantalla configurada de forma que aparecieran los archivos ocultos observaron que sucedia cuando se desensambla con el W32Dsam y vieron que aparecia un WINSYS (todo oculto, el) que antes no existia y que desaparecia al cerrar el W32Dasm. Claramente la informacion estaba ahi, el problema es que no se dejaba fisgonear en su interior si no se cerraba el W32Dasm y al hacerlo nuesto objetivo desaparecia. La solucion fue bastante sencilla, con las teclas Ctrl, Mayusculas y Suppr se hizo aparecer la pantallita que da acceso al Windows Task Manager. Desde ahi se mato el W32Dasm. El pobre programa, asi tratado, no tuvo tiempo de borrar el WINSYS, que quedo disponible para nuestra acciones malevolas. EN PLENO TRABAJO Un estudio superficial del codigo sobre papel (no hizo falta garabatear demasiados cosas) te muestra que justo antes del "Unlock Code" hay un "jne" de lo mas sencillo. :00411549 85C0 test eax, eax :0041154B 7523 jne 00411570 <==== Repito,...de lo mas tonto :0041154D 8B07 mov eax, [edi] :0041154F 50 push eax * Possible StringData Ref from Data Obj ->"Unlock Code" | :00411550 6814904700 push 00479014 Lo primero que se le ocurre a uno es cambiar el "jne" por un "je". De esta forma, el programa se registrara salvo que por alguna de estas maldades de la vida aciertes con el codigo correcto. En fin, se trataba solo de cambiar en el codigo maquina el "7523" por un "7423". Para hacerlo se echa mano de una venerable herramienta del anyo 1994 ! El PSEDIT. Buscadlo por el mismo metodo que antes y es de aquellas antiguas y agradecidas herramientas que solo te recuerdan que eres un tacanyo por no registrarte pero por lo demas funcionan perfectamente. Se abre el LC3.EXE con el PSEDIT, se cambian las instrucciones (cuidado con no equivocarse de sitio) se guarda y listo. Al lanzar el LC3 y pedirte que te registres das al OK sin poner codigo alguno y parece un mensajito diciendo "You have successfully registered LC3." O sea que lo hemos conseguido y el mundo es nuestro ! La unica pega a este crackeo rapido y poco elegante es que realmente no te has regsitrado de por vida y cada vez que lo pones en marcha pide que te registres para posteriormente felicitarte por haber elegido su producto. Pero por lo demas funciona perfectamente con todas las funcionalidades deseables y deseadas. A nuestro visitante se le caia la baba. No entendio gran cosa, pero se largo con su diskette en el bolsillo y su LC3 listo para trabajar. Dias despues por los pasillos se oian unas voces airadas de unos administradores de red quejandose de la gente que instalaba cosas raras sin pedir permiso y con tono mas bajo se preguntaban como podian hacerlo sin ser Administradores.....segun parece nuestro pesado visitante obtuvo finalmente su botin, aunque tambien parecia que en el empenyo habia roto algo ajeno.... Nuestro amigo ni siquiera levanto la cabeza de los papeles, que aparentaba estudiar con entusiasmo, y dejo pasar la borrasca. ALGUNOS COMENTARIOS FINALES ...que aprovecharemos para explicar las nuevas funcionalidad de la ultima version del l0phtcrack. Se pueden resumir de la forma siguiente : - Soporte total bajo Windwos 2000. Tanto para extraer las hashes del sistema como para sniffear la red. La proteccion SYSKEY, no es obstaculo para esta herramienta, aunque eso si, si no eres administrador, no eres nadie y el programita no podra hacer nada por ti. Tendras que buscarte algun medio para hacerte con una copia de la SAM, sea a traves de una copia de seguridad, sea arrancando la maquina con otro OS y para estos trabajos el unico sistema que conocemos es el linux (alguna de estas distribuciones que arrancan desde un disquette y tienen soporte para NTFS, se adaptan muy bien para estos trabajos) - Soporte para lenguajes exoticos y alfabetos raros. Pero para muchos y raros,....al menos para mi que cada vez que veo una pagina en caracteres cirilicos, me entra dolor de cabeza. No tiene problemas con los caracteres cirilicos, griegos, hebreos, arabes, .... - Posibilidad de hacer cracking distribuido. Esta nueva facilidad permite salvar el trabajo en diversos ficheros. Mas tarde los puedes hacer trabajar en maquinas diferentes y si tienes varias maquinas viejas, las puedes hacer trabajar sincronizadas con minimo esfuerzo. - Se da la posibilidad de comprobar si una password es crakeable sin que aparezca en pantalla (esto para administradores, con problemas de conciencia y en nuestra opinion un poco tontos,....aunque tambien puede ser util para aparentar respetabilidad) - Estimacion del tiempo necesario para crackear la comida que le echamos. Esta bastante bien, aunque a veces hace mal el calculo, sobre todo si el trabajo proviene de espiar en la red. En nuestra opinion, en este caso no da pie con bola. - Wizard Esta es una ayuda para poder configurar el trabajo de crackeado. Realmente esta bastante bien hecho, pero es todo un monumento a la cantidad de tontos que existen en este mundo, ya que para lanzarlo a mano tampoco hace falta una tonelada de documentacion. - Nuevo diccionario Han aumentado el diccionario y mantenido el antiguo. De esta forma, en caso de tener una maquina de escasa capacidad, siempre podemos probar con el diccionario pequenyo y chequear nuestra suerte y la estupidez ajena. - Manipulacion de las password Que se reduce a poder eliminar directamente sobre la pantalla del LC3, las password que no te interesan. Antes, si no recuerdo mas, tenias que eliminarlas de un fichero ASCII directamente a pelo. No es como para bailar la samba de alegria, pero siempre ahorra un poco de tiempo. Siguen manteniendo la funcionalidad de sniffer de red y dan la direccion http://www.ebiz-tech.com/html/pwdump.html donde puedes bajarte el PWDUMP3, que es una utilidad que permite accesos remotos a la base de datos de sistemas protegidos con SYSKEY. Funciona solo si tienes derechos de administrador, o sea que es el ultimo escalon de una subida cuesta arriba. Continuan con su metodo de busqueda y tienen capacidad para atacar los tipos de password siguientes : - LM hash - NTLM Has - Respuestas a desafios en red LM - Respuestas a desafios en red NTLM Si la informacion la extraemos de un registro SAM o de un Active Directory, podras atacar las LM y NTLM hashes. Debido a la estructural debilidad de las password LM estas son las mas faciles de atacar. Las cosas se complican si la informacion proviene de una escuha en red. En este caso los tiempos hasta que se obtenga algun resultado, aumentan considerablemente, debido a que cada password ha sido cifrado con un unico desafio. Una consecuencia de esto es que el si LC3 encuentra un password el resultado no le sirve en absoluto para encontrar otra y todo el trabajo tiene que empezar de nuevo. En este caso hay que tener paciencia. Resumiendo, creemos que pocas mejoras aporta sobre versiones anteriores pero tampoco lo han estropeado. Sigue siendo una excelente herramienta.