Copy Link
Add to Bookmark
Report
SET 026 0x02
-[ 0x02 ]--------------------------------------------------------------------
-[ Crack de una Hyena ]-----------------------------------------------------
-[ by madfran ]-------------------------------------------------------SET-26-
COMO LOGRAR UNA HERRAMIENTA MULTITAREA
INTRODUCCION
A veces nos encontramos con el problema de querer saber cual es la direccion IP
de una maquina de la cual solo sabemos o intuimos su nombre. A menudo queremos
ver que servicios dispensa un servidor. De vez en cuando nos interesa saber
que servidores se encuentran en nuestra red. Estamos suponiendo que nos
encontramos dentro de una red muy grande y que en ella se inpone el dominio
del todopoderoso Windows. Que mejor herramienta que una hyena!. No pretendemos
hablar sobre un mamifero que habita en las lejanas (para nosotros) sabanas
africanas. Nos estamos refiriendo a una magnifica herramienta llamada Hyena,
que va por la version 4.2 'C' y que ha sido desarrollada por una empresa llamada
SystemTools Software Inc.
UN DESEO INCONTROLADO
Es el que te corroe cuando te encuentras dentro de una red que por alguna
razon intuyes es enorme pero que desconoces casi por completo. Cuales son las
razones por las cuales te puedes encontrar ante semejante comezon?, pues,...
infinitas como las situaciones que se encuentran en la vida real.
Tal vez eres un consultor al que han dado un acceso a la red, pero el acceso es
provisional y tremendamente recortado, bueno solo para hacer un trabajito
miserable. A lo mejor eres un estudiante mal pagado y peor tratado, provisto de
contrato para hacer un estudio de verano de esos que si son buenos, acostumbran
a ser fagocitados por algun caza medallas de la empresa que te chupa la sangre.
Como ya os hemos dicho puede ser variadas la situaciones y los motivos pero la
consecuencia siempre es la misma, cuando te encuentras con la cabeza hecha un
torbellino y necesitas descansar hay varias soluciones, ir al lavabo, buscar
una maquina de cafe, molestar al vecino, intentar ligar con la persona del
mismo u opuesto sexo que se encuentre en las proximidades o... rastrear a ver
que basura encuentras en la red de marras.
Es el momento de lanzar el programita Hyena!. No es que sea la panacea universal
pero te da un vistazo de todo el entorno de tu ordenador. Y entonces, ahi vamos!
nos lanzamos a ver que pasa. De repente,... la desilusion!. El problema es que
en lugar de darte la informacion deseada, te larga un mensajito diciendo que
han pasado los treinta dias de evaluacion y si no sabes el codigo correcto no
hay nada que hacer. En este momento nos acordamos que el programita en cuestion
hace una porrada de dias que lo habiamos usado y que la licencia de treinta
dias, hacia tiempo que habia expirado.
NO NOS DAMOS POR VENCIDOS
Eso nunca! Se pueden tardar dias, meses o anyos pero lo principal es nunca
darse por vencido! Es la base de cualquier estrategia para evitar quedarnos a
las puertas de la fiesta... y a nosotros no nos gusta que nos den con la
puerta en las narices (duele en las narices y en el amor propio).
Hay que empezar por decidir cual es la mejor estrategia a seguir y hay varias
a nuestra disposicion. La mas sencilla es intentar que otro haga el trabajo
sucio por nuestro cuenta o sea buscar un cracker en la red. En teoria basta
con utilizar www.google.com, buscar hyena y... comprobar que te aparecen
algunas miles de refencias. Buf! Que aburrido! vamos a hacernos el trabajo
nosotros mismos!
Si no nos gusta que otro hago el trabajo que unicamente es de nuestra
competencia, tenemos que seguir los tipicos pasos que cualquier buen cracker
debe seguir:
- Buscar un desensamblador (en los sitios acostumbrados)
- Lanzarlo para desensamblar el programa objetivo (cuidando que no se escape)
- Fijarnos en algunos detalles pertinentes (los impertinentes, podeis
obviarlos)
- Tomar nota de lo que hay que cambiar (en papel u objeto similar, no os fieis
de vuestra, deplorable, memoria)
- Buscar un editor hexadecimal (en el mismo sitio que antes)
- Realizar con el, los cambios deseados (... ni uno mas ni uno menos)
- Comprobar que todo marcha segun tus deseos (que no tienen que coincidir con
los deseos del fabricate del software objetivo)
EL DESEMSAMBLADOR
El otro dia recibi una consulta de una persona perdida en internet, que me
preguntaba para que servia un desensamblador (veridico y cierto, si no os lo
creeis os puede ensenyar el e-mail), dado que desconozco el grado de
conocimiento (o de desconocimiento) de mis atentos lectores (hay alguien
despierto?), paso a hacer una breve descripcion... Un desensambblador, no es
nada mas que un programita que convierte un galimaties de cifras y numeros, en
codigo en assembler. Si el programita es lo suficientemente bueno, ademas del
codigo puro y duro, os obsequiara tambien con algunas descripciones, y el texto
de todos los menus y comentarios que el programa a crackear te vomita de vez en
cuando.
Perfecto! Ahora pasemos a la busqueda de un software de este estilo. Todo un
clasico en la materia es el famosisimo W32Dasm. Hay diversas versiones, todas
funcionan correctamente pero son de pago, o sea la version que podeis encontrar
esta limitada en algunos sentidos, pero basta para nuestros deseos. El
productor de esta maravilla es la empresa URSoftware Co. que se ganaba la vida
haciendo diversas cosas pero parece que no le ha ido nada bien ya que ha
desaparecido del mapa. Si no os gusta o no lo encontrais, una buena
alternativa es el IDA, pero yo me desenvuelvo tranquilamente con la version 8.7
del W32Dasm aunque se que existen versiones posteriores hasta la 8.93.
DESENSAMBLANDO
En fin, una vez encontrais lo que os hace falta solo hay que lanzar el programa
y a continuacion desensamblar el Hyena. En codigo ASCI genera un monstruo de
mas de 18 Mb y buscar a pelo por ahi dentro no es tarea para realizar de buenas
a primeras. Hay que actuar, sino con metodo, como minimo con un poco de
inspiracion. Lancemos el Hyena y fijemonos en que nos dice. Ademas de
comunicarnos el sistema de registro, nos dice los dias que quedan para disfrutar
de la licencia provisional (exactamente cero dias) con el siguiente mensaje
"Days remaining in trial period"
Lo mas evidente es buscar en el codigo desemsamblado el texto en cuestion. No lo
encontramos en el cuerpo del codigo, pero si encontramos este dialogo.
Name: DialogID_0099, # of Controls=012, Caption:"Registration"
001 - ControlID:FFFF, Control Class:"" Control Text:""
002 - ControlID:FFFF, Control Class:"" Control Text:"This is a fully
functional copy of Hyena. Registration is required after the "
003 - ControlID:0638, Control Class:"" Control Text:"http://www.systemtools
.com/hyena"
004 - ControlID:FFFF, Control Class:"" Control Text:"If you have your
registration information for Hyena, enter it below, and then "
005 - ControlID:FFFF, Control Class:"" Control Text:"Days remaining in
trial period"
006 - ControlID:0458, Control Class:"" Control Text:""
007 - ControlID:FFFF, Control Class:"" Control Text:"Registration Key"
008 - ControlID:0459, Control Class:"" Control Text:""
009 - ControlID:FFFF, Control Class:"" Control Text:"Company / Licensee
Name"
010 - ControlID:0488, Control Class:"" Control Text:""
011 - ControlID:0002, Control Class:"" Control Text:"&Registration
Infomation"
012 - ControlID:5190001, Control Class:"" Control Text:"OK"
Hacemos otro intento, buscando el DialogID-0099 pero encontramos demasiadas
referencias sin ninguna que diga nada sobre Controls_ID=012...... parece que nos
encontramos en un punto muerto !
BUSCANDO CON UN POCO MAS DE PACIENCIA
Cuando ponemos el codigo equivocado de registro, el programa nos entretiene con
un obsceno (cada cual tiene su propio concepto de la obscenidad) mensaje
"The trial period has expired"
Normalmente, cuando recibes un mensaje semejante, el danyo ya esta hecho y el
programa no funciona, pero... y si este no es el caso?
Ni cortos ni perezosos nos lanzamos a la busqueda del presunto tesoro y
encontramos este pedazo de codigo.
*****************************************************************************
********* UN PEAZO DE CODIGO ************************************************
*****************************************************************************
:004332B9 E810820800 Call 004BB4CE
:004332BE 8D4C241C lea ecx, [esp + 1C]
:004332C2 C7842450070000FFFFFFFF mov dword ptr [esp + 00000750], FFFFFFFF
* Reference To: MFC42u.MFC42u:NoName0122, Ord:0320h
|
:004332CD E8FC810800 Call 004BB4CE
:004332D2 B801000000 mov eax, 00000001
:004332D7 E9EE040000 jmp 004337CA
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00432E15(C), :00432E27(C), :00432E78(C), :00432EF4(C), :00432F06(C),
|:00432F3C(C)
|
:004332DC 85FF test edi, edi
:004332DE 0F858A020000 jne 0043356E
:004332E4 6A10 push 00000010
* Reference To: USER32.MessageBeep, Ord:01C2h
|
:004332E6 FF15F86A4D00 Call dword ptr [004D6AF8]
:004332EC 6AFF push FFFFFFFF
:004332EE 6A10 push 00000010
* Possible Reference to String Resource ID=21343: "The trial period has expired. "
|
:004332F0 685F530000 push 0000535F
* Reference To: MFC42u.MFC42u:NoName0187, Ord:04ACh
|
:004332F5 E848830800 Call 004BB642
*****************************************************************************
********* OTRO PEAZO DE CODIGO **********************************************
*****************************************************************************
* Reference To: MFC42u.MFC42u:NoName0246, Ord:048Dh
|
:00433868 E8317F0800 Call 004BB79E
:0043386D 8BBC2414020000 mov edi, [esp + 00000214]
:00433874 8B7004 mov esi, [eax+04]
:00433877 6A00 push 00000000
:00433879 57 push edi
* Possible StringData Ref from Data Obj ->"C"
|
:0043387A 68A0515000 push 005051A0
:0043387F 8BCE mov ecx, esi
* Reference To: MFC42u.MFC42u:NoName0249, Ord:0DBCh
|
:00433881 E82A7F0800 Call 004BB7B0
:00433886 85C0 test eax, eax
:00433888 7423 je 004338AD
:0043388A 6A10 push 00000010
* Reference To: USER32.MessageBeep, Ord:01C2h
|
:0043388C FF15F86A4D00 Call dword ptr [004D6AF8]
:00433892 6AFF push FFFFFFFF
:00433894 6A10 push 00000010
* Possible Reference to String Resource ID=21343: "The trial period has expired. "
|
:00433896 685F530000 push 0000535F
* Reference To: MFC42u.MFC42u:NoName0187, Ord:04ACh
|
:0043389B E8A27D0800 Call 004BB642
:004338A0 5F pop edi
:004338A1 33C0 xor eax, eax
:004338A3 5E pop esi
:004338A4 81C408020000 add esp, 00000208
:004338AA C20400 ret 0004
******************************************************************************
***************** FIN DE ROLLOS DE CODIGO ***********************************
******************************************************************************
Vosotros podeis hacer lo que querais, pero yo os aconsejo que no hagais caso
del segundo trozo de codigo y os centreis en el primero. Para ser mas precisos
en el codigo que pone,
85FF
0F858A020000
6A10
Y lo cambiais por un,
85FF
0F848A020000
6A10
(diablos! fijaros bien! he cambiado un 5 por un 4)
Con esto un jne se reconvierte en un je (Para los que os hallais dormido esto
quiere decir antes saltaba "si no es igual" y ahora solo salta "si es igual") y
solo te sale el malefico mensaje si por casualidad aciertas el codigo de
registro (que tambien seria mala suerte!)
TRABAJANDO CON UN EDITOR HEXADECIMAL
Hasta ahora solo hemos trabajado con la mente (que es cosa sabia, pero siempre
se termina bajando de las nubes) pero un dia u otro hay que pisar tierra firme
y empezar a ensuciarse las manos,.... o sea hay que realizar fisicamente el
trabajo de la modificacion del codigo.
Para ello se requiere un editor hexadecimal. Existen millones en la red y
muchos con parafernalia de dibujitos e incluso musiquitas, pero yo prefiero un
editor pelao de toda la vida que no ocupa casi nada y es viejo como la tos pero
no da sorpresa ninguna. Me refiero al PSEDIT, venerable herramienta donde las
haya (creo que data de 1994) que todavia reclama un registro de 24 dolares y
que pagaria a gusto si su creador no hubiera desaparecido de toda referencia
conocida en el mundo civilizado.
Con dicho editor, y una vez pasado los reclamos de pagos atrasados, se abre el
archivo hyena.exe Los que llegeis ahi solo vereis una lista de datos rarisimos
os adjunto un poco para que os hagais una idea.
00000020 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00-00 00 00 00 18 01 00 00 ................
00000040 0E 1F BA 0E 00 B4 09 CD-21 B8 01 4C CD 21 54 68 ........!..L.!Th
00000050 69 73 20 70 72 6F 67 72-61 6D 20 63 61 6E 6E 6F is program canno
00000060 74 20 62 65 20 72 75 6E-20 69 6E 20 44 4F 53 20 t be run in DOS
00000070 6D 6F 64 65 2E 0D 0D 0A-24 00 00 00 00 00 00 00 mode....$.......
00000080 AB 7E 0F 59 EF 1F 61 0A-EF 1F 61 0A EF 1F 61 0A .~.Y..a...a...a.
00000090 07 00 65 0A ED 1F 61 0A-B9 00 72 0A E7 1F 61 0A ..e...a...r...a.
000000A0 B2 3D 6A 0A EC 1F 61 0A-6C 03 6F 0A EA 1F 61 0A .=j...a.l.o...a.
000000B0 B2 3D 6B 0A E4 1F 61 0A-B2 3D 65 0A ED 1F 61 0A .=k...a..=e...a.
000000C0 96 3E 6A 0A EC 1F 61 0A-96 3E 65 0A ED 1F 61 0A .>j...a..>e...a.
000000D0 07 00 6A 0A EC 1F 61 0A-EF 1F 61 0A E3 1F 61 0A ..j...a...a...a.
000000E0 B6 3C 72 0A FC 1F 61 0A-EF 1F 60 0A B1 1C 61 0A .<r...a...`...a.
000000F0 B0 3D 6A 0A CF 1F 61 0A-28 19 67 0A EE 1F 61 0A .=j...a.(.g...a.
00000100 52 69 63 68 EF 1F 61 0A-00 00 00 00 00 00 00 00 Rich..a.........
00000110 00 00 00 00 00 00 00 00-50 45 00 00 4C 01 04 00 ........PE..L...
00000120 6B 40 0A 3D 00 00 00 00-00 00 00 00 E0 00 0F 01 k@.=............
00000130 0B 01 06 00 00 50 0D 00-00 30 08 00 00 00 00 00 .....P...0......
La parte izquierda es el indice del archivo (16 en hexadecimal es igual a 10),
en el centro esta el verdadero programa en codigo maquina y a la derecha esta
una traduccion literal en codigo ASCII, que solo sirve para algo cuando se
encuentra dentro del codigo algun texto para humanos ojos.
Como hemos dicho antes, se trata de buscar un trazo de codigo igual a
85FF
0F858A020000
6A10
Por lo tanto con el buscador del propio editor os divertis a buscar la secuencia
85FF0F858A0200006A10
Aseguraros Que solo hay una, porque sino podeis cambiar cualquier cosa menos lo
que deseais. Una vez encontrada, no hay nada como cambiarla por
85FF
0F848A020000
6A10
despues lo salvais y listo.
COMPROBANDO QUE TODO FUNCIONE CORRECTAMENTE
Pues es tan sencillo como substituir el hyena.exe de origen por vuestra copia
manipulada. Lo lanzais y comprobais los resultados
ALGUNOS COMENTARIOS FINALES
Tal vez os preguntareis que encontre en la red origen de todos estos trabajos.
Pues tampoco cosas del otro mundo. Como es moneda corriente, un monton de
servidores semiabandonados, muchas impresoras, servidores de CD, algunas
trazadoras, incluso algunos servidores convenientemente mantenidos, pero
sobretodo,... cientos de PCs ociosos o rellenos de la mas estrambotica busura.
Curiosidades de la vida. Si en vez de utilizar el W32DASM, utilizais el OllYDBG
(otro dia escribire sobre el), se puede ver que el programita HYENA esta
prelicenciado a AMERITECH-SBC. Si alguno de los lectores sabe por que y como
esta registrado, please, me lo comunique. Tengo mucha curiosidad, (me parece
que es de lo unico que tengo en abundancia) pero ya sabeis que no tengo tiempo
ni conocimientos suficientes para aranyar en el interior de programas ajenos.
*EOF*