SET 39 Call For Papers

¿Eres un hacker? Si deseas pasar a formar parte de la historia del hacking hispano, colabora con la próxima edición de SET 39 enviándonos un artículo. No esperes más, esta es tu oportunidad de demostrar lo que sabes. Ayúdanos a construir una revista de hackers para hackers. SET Staff

De nuevo LC3

      3875

Autor: Madfran
-[ 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.