-[ 0x11 ]-------------------------------------------------------------------- -[ Crakeando L0phtcrack 2.0 ]------------------------------------------------ -[ by Madfran ]-------------------------------------------------------SET-21- Como crackear el L0phtcrack 2.0 .... o el vendedor que no vende. ---------------------------------------------------------------- Hola a todos........ Empezare esta historia avanzando que soy un total aprendiz en estas lides de crackear programas (ingenieria inversa, lo llaman a esto). No me gusta utilizar programas de otra gente sin su permiso pero tambien me molesta tener que pagar por algo que realmente no vale mucho. No se cuando leereis esto, y tal vez cuando caiga en vuestra manos, este totalmente obsoleto, viejo y caduco, pero creo que vale la pena escribirlo por dos motivos : 1.- Me ha obligado a reflexionar sobre el procedimiento empleado para obtener el objetivo que deseaba. 2.- Puede que sea util a otros, mas que nada como metodo de aproximacion. CONTEXTO -------- Un usuario normal y corriente, dentro de una red Ethernet con servidores Windows-NT (de finales de 1998). El tal usuario, quiere disponer de un programa corporativo, para hacer una peque~a prueba. Se le contesta que tiene derecho a usarlo y por tanto, si lo desea, lo comunique por escrito y (previo cargo a su departamento del costo proporcional de la licencia), se le dara acceso. El usuario normalito, hace cuentas, se da cuenta del cumulo de burocracia que se le va a caer encima, y decide buscar la solucion por otro lado. EMPIEZA LA BUSQUEDA ------------------- Como os podeis imaginar, para poner tener acceso a un programa corporativo basta instalarlo en el PC del usuario normalito, pero con una pasword que de acceso a donde se encuentre el deseado programa. O sea una password de administrador de red. Empieza a buscar en Internet y se entera que hay unos chicuelos que tienen una web en www.l0phtcrack.com, donde ofrecen una version de evaluacion (la version 2.0) que permite utilizar todas las funciones gratis, durante 15 dias. Pues se lo baja para ver que pinta tiene ! PRIMEROS PASOS -------------- Nada mal el trabajo de estos de L0pht ! Con su programa y algunas utilidades que vienen con el paquete, puedes extraer el contenido del registro o de los ficheros SAM de la copia de seguridad de cualquier PC que tengas a mano. Nuestro heroe se pone a probar con uno ! En el primero encuentra su propia password (bueno,...ya la conocia) En el segundo .....bingo!, uno de los burros que hacen de administradores locales se ha dejado la password en el registro. Rapidamente, hace copia en un fichero. Todo hay que decirlo. El trabajo no ha hecho mas que empezar. Lo que realmente tiene nuestro protagonistra, son las hash de la password. Ahora hay que intentar encontrar algo que cuadre con dicha hash (la password). Pues nada, ponemos en marcha otra vez el L0pht y esperamos,........mucho tiempo........ ............demasiado tiempo. El administrador no es totalmente idiota y tiene una pasword donde combina diversos tipos de caracteres. Total, que a los quince dias, la version 2.0 ha caducado y todavia no tiene la ansiada password. Que hacer ? OTRA VEZ EN LA CARRETERA ------------------------ Una solucion es obvia. Te conectas con www.L0phtcrack.com, te registras, das tu tarjeta de credito, y al cabo de un tiempo,.......te han vaciado la cuenta corriente y a lo mejor te envian el codigo con el cual poner a funcionar el flamante rompe passwords. Vale gracias ! pero.... no hay otra solucion ? Primero de todo, lo tipico y topico. Se desintala el L0pht, se borra el directorio donde se encontraba, se instala de nuevo y .......nada. Los de L0pht son mas listos y han puesto en algun sitio una informacion con la fecha de la instalacion del programa. Se podria cambiar la fecha del PC, pero como es una maquina que, por motivos que no vienen a cuento, no interesa tenerla con una fecha distinta a la real, el sufrido chaval, ni lo intenta. SEGUNDOS PASOS -------------- Nuestro hombre reflexiona.......... Estamos en un Windows-9x o NT. Estos OS tienen un sistema de almacenamiento llamado registro. Ahi se guarda mucha informacion sobre programas utilizados en la maquina. Busquemos en el registro ! Lanza el regedit (o similar) y busca por L0phtCrack....y encuentra : HKEY_CURRENT_USER Software LHI L0phtCrack Predeterminado AdminGroupName Install WordList Lo de Install es prometedor. Es un registro en DWORD con numeros sin sentido. No nos olvidemos, que el protagonista de nuestra historia, es neofito en casi todo y no piensa a lanzarse a mano a desentranyar que se encuentra dentro del registro Install. Hace lo mas facil. Coge y lo borra. Lanza de nuevo el L0pht y...... nada. La licencia ha caducado. Probablemente en caso de que L0pht no encuentre el registro lo busque en otra parte de la mara~a de archivos windows y lo vuelve a copiar alli. Se le ocurre una idea. Copia el L0pht en un disquette, en un momento de descuido de un companyero de trabajo (o de un subalterno despistado, que mas da!), le instala el programa, lanza el regedit, copia el contenido de Install, desinstala y borra todas las huellas (dactilares y digitales). Vuelve a su ordenata (el otro zangano todavia esta meando) lanza el regedit y sustituye el valor de Install por el nuevo valor. Con dedos temblorosos, lanza el L0pht y ......funciona! Ya tiene 15 dias mas de gracia !. En dos dias tiene ya la deseada password e instala el programa que ha desencadenado toda esta historia. Pero nuestro amigo ha quedado enganchado en la droga de las password. Ahora las quiere todas ! Con malas artes consigue un fichero de paswords mas amplio. Dia y noche su PC trabaja en la busqueda de password,...los dias pasan,.....asalta nuevamente otro PC para conseguir un nuevo valor de Install,.....los subalternos meones y los amigos descuidados se le van acabando. Que hacer ? NUEVA BUSQUEDA -------------- Ha oido hablar de gente que se dedica a craquear programas (vaya... a quitarles las protecciones). Empieza a buscar en nuestra amada Internet y descubre que a esta gente le gusta que su trabajo se denomine ingenieria inversa. Descubre que hay un tal +ORC (Old Red Cracker), que tiene un academia propia en FRAVIA. Descubre sus comentarios, su filosofia y su pequenyo manual para ignorantes y neofitos. Descubre todo un mundo,....desensambladores, editores hexadecimales,.... decide empezar una nueva tarea. TERCEROS PASOS -------------- Primero de todo es buscar las herramientas. - Como desamblador se decide por el W32dasm7 (version de evaluacion) Al ser de evaluacion tiene el problema de no poder imprimir ni hacer proyectos, pero al menos no tiene que luchar contra el tiempo y las fechas de caducidad (recordais como empezo la historia, no ?) - Para editar, tambien se decide por una version de evaluacion de HexWorkshop version 2.5 (www.bpsoft.com) Despues,....a trabajar ! Lanza la version caducada del L0phtcrak y observa bien los mensajes. Toma nota de que en la segunda pantalla aparece el siguiente mensaje : "Your trial version of L0phtCrack 2.0 has expired. You.....bla, bla, bla" (vete al cuerno !. Ya te he dicho que no pienso pagarla !) Se queda con la copla del "expired". Lanza el W32dasm7, pide desamblar el fichero lophtcrack95.exe, bueno,...antes ha hecho una copia de seguridad. Mediante el buscador del menu, busca el string "expired" Encuentra un trozo de codigo mas que interesante. inicio-codigo***************************************************************** :00401B3B E8F4260200 call 00424234 * Referenced by a (U)nconditional or (C)onditional Jump at Addres: :00401A646C :00401B40 39BDC0000000 cmp [ebp+000000c0], edi :00401B46 741D je 00401B65 :00401B48 39BDC4000000 cmp [ebp+000000c4],edi :00401B4E 7F15 jg 00401B65 :00401B50 57 push edi :00401B51 57 push edi *Possible StringData Ref. from Data Dbj ->"Your trial version of L0phtCrack " ->"2.0 has expired. You must register" :00401B52 681CA14400 push 0044A11C final-codigo****************************************************************** Veamos, veamos..... Que te parece ! Nuestro hombre, no tiene grandes conocimientos de assembler, pero si sabe que la instruccion "je" significa que el programa va a saltar a algun sitio (a la direccion 00401B65), si se cumple alguna condicion y que esta direccion esta despues del mensaje de error. En este momento se da cuenta que no tiene ni idea de programacion en bajo nivel. Pues nada ! para esto esta Internet. Se conecta a un buscador y empieza a buscar, rapidamente encuentra una pagina en espa~ol que da un minicurso para zopencos de asembler. Lo copia, y tranquilamente lo estudia una semanita, en su tiempo libre. (esto del cracker, descubre que es una plasta de mucho cuidado y que es bastante cansado). Terminado el curso para asnos, le ha quedado en la cabeza que : - je, significa jump equal. O sea que salta si se cumple una condicion previa. - Que existe otra instruccion, jmp, que significa salta pase lo que pase. (bueno, en ingles se dice de otra forma) Nuestro amigo piensa .... (....lo hace a veces), " y si cambiaramos el je por un jmp?". A lo mejor, lo unico que consigue es que no salga la pantallita y el programa sigue sin funcionar, pero probar no cuesta nada. Ni corto ni perezoso, lanza el editor de codigo hexadecimal y,.....no entiende nada! Aqui no hay ni je ni narices! Despues del desconcierto inical, se da cuenta que el desemsamblador le ha dado informacion extra, que no aparece despues en el editor. Cual es la informacion relevante en el W32dasm7 ? Pues solo lo que es puramente hexadecimal, o sea : inicio-codigo***************************************************************** 39BDC0000000 741D 39BDC4000000 7F15 57 57 681CA14400 final-codigo****************************************************************** Bueno. Realmente en la pantalla del editor, te aparece algo como asi. inicio-codigo***************************************************************** 39BDC0000000741D 39BDC40000007F15 5757681CA14400 final-codigo****************************************************************** De todas formas se empieza a entender. Bien ! Asi que el famoso je, en hexadecimal es 74. Perfecto,....pero.... como sera jmp? Vuelta al W32dsm7 y busqueda por jmp. Facil ! Sencillo ! en todos los casos jmp corresponde a EB. Ahora si. Entramos en el editor hexadecimal, cargamos el L0phtCrack y buscamos por 74,.....encontramos muchos,....demasiados. A continuacion la hace un poco mejor y busca por 741D39BDC4000000, ahora si! Encuentra una unica ocurrencia y la cambia por EB1D39BDC4000000. Salva el archivo, cierra todo y con el animo encogido lanza el L0phtCrack. Le sale la pantalla con la advertencia de : "0 Days until trial version will expire" Le da al OK y........ EUREKA ! el programa funciona ! A partir de aqui ya no tiene problemas con la busqueda de passwords en el mundo Windows-9x o NT,..... solo es cuestion de tiempo y maquinas disponibles. Paciencia la tiene, ........... los ordenadores son incansables, .....la red a sus pies ! (Oh! maestro de maestros y genio de la informatica !). PD: El porque del titulo. No entiendo como L0phtCrack pretende ganarse la vida vendiendo este tipo de programas, ya que por definicion, un hacker (o uno que empiece pero tenga espiritu de hacker) no va a pagar un duro por una historia (por muy L0pht-pu~etas que sea) que finalmente puede obtener gratis con paciencia, esfuerzo personal y curiosidad. Pero como parece que los negocios les van bien, (en Septiembre del 99 iban por la version 2.5), sospecho que sus verdaderos clientes son los administradores de redes, que los compran con el dinero de las corporaciones y despues los utilizan para divertirse buscando passwords (o los olvidan en el cajon de los recuerdos). Si alguna vez os pasais por el despacho de algunos de estos administradores, vereis la cantidad de tonterias que tienen y encima las tratan de alto secreto. Nuestro companyero de aventuras, no vendio su programa crakeado ni lo intercambio. Simplemente lo utilizo para sus fines, paso la informacion a otros y (de pasada) descubrio un mundo nuevo (recomiendo una visita a los de +FRAVIA, donde entre otros muchos crackers podreis encontrar a SiuL+Hacky y sus articulos). madfran *EOF*