revirtiendo seriales con ollydbg clase 11b
TRANSCRIPT
![Page 1: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/1.jpg)
TRABAJANDO PESCANDO Y REVIRTIENDO SERIALES
CON OLLYDBGCLASE 11
19/10/2013
![Page 2: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/2.jpg)
• CREO QUE UNA DE LOS TEMAS MAS CANDENTES DE HOY EN DÍA ES EL TEMA DE
HALLAR SERIALES, SOBRE TODO LUEGO DE QUE EXISTEN FUERTES
ENCRIPTACIONES QUE PUEDEN LLEGAR A COMPLICAR LA COSA, IGUAL IREMOS
PASO A PASO DESDE EL CASO MAS SIMPLE AL MAS COMPLEJO, TRATANDO DE
PRACTICAR BASTANTE PARA PODER AFIANZAR LOS CONCEPTOS DE TRABAJAR
CON SERIALES.
• BUENO ESTA PRIMERA PARTE DEL TRABAJO CON SERIALES LO DEDICAREMOS A
LOS HARDCODED, QUE SON LOS SERIALES QUE NO SON CALCULADOS A PARTIR
DE UN NOMBRE, O SEA ES UN SERIAL FIJO QUE PUEDE SER UN TEXTO, UN
NUMERO PERO ES SIEMPRE EL MISMO Y MUCHAS VECES SON SENCILLOS OTRAS
NO TANTO, SE TIENE EL CONCEPTO QUE SON LOS MAS FÁCILES DE HALLAR, POR
ESO EMPEZAMOS POR ESTE TIPO, PERO HAY DE TODO FÁCILES Y MAS DIFÍCILES
YA VERÁN LOS EJEMPLOS EN ESTA PARTE.
![Page 3: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/3.jpg)
![Page 4: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/4.jpg)
![Page 5: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/5.jpg)
• ALLÍ ESTA EN EL INICIO, EL CASO MAS SIMPLE (EL EJERCICIO1) ES EL QUE
APARECE LA CLAVE CORRECTA EN LAS STRINGS O CADENAS DE TEXTO QUE
UTILIZA EL PROGRAMA, MIREMOS SI AQUÍ APARECE.
• PARA HALLAR LAS CADENAS DE TEXTO O STRINGS, HACEMOS CLIC DERECHO
SEARCH FOR – ALL REFERENCED STRINGS.
![Page 6: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/6.jpg)
![Page 7: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/7.jpg)
LOS RESULTADOS SON
![Page 8: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/8.jpg)
LOS RESULTADOS SON
![Page 9: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/9.jpg)
• PUES ALLÍ SE VE LA PALABRA FIACA QUE PUEDE SER LA CLAVE, SI NO TENEMOS
GANAS DE TRABAJAR PODEMOS PROBAR ALGUNAS STRINGS QUE SALEN EN LA
LISTA Y POR AHÍ ACERTAMOS, PERO ESTE MÉTODO NO ES ACONSEJABLE, POR
LAS SIGUIENTES CAUSAS:
1.EN ESTE CASO HAY 2 STRINGS, PERO HAY PROGRAMAS QUE TIENEN MILES DE
STRINGS, Y PROBAR UNA POR UNA PUEDE LLEVAR A LA LOCURA TOTAL, ASÍ QUE
AUNQUE VEMOS ALLÍ EL POSIBLE SERIAL CORRECTO, HAREMOS COMO QUE HAY
MIL STRINGS Y QUE NO SABEMOS CUAL ES.
2.HAY PROGRAMAS QUE PONEN STRINGS TRAMPOSAS EN LA LISTA QUE NO SON LA
CLAVE Y QUE AL ESCRIBIRLAS AL INGRESAR UN SERIAL PROVOCAN ALGÚN
PERJUICIO YA QUE SON TRAMPAS PARA CRACKERS, ASÍ QUE LO MEJOR ES
ASEGURARSE Y VERIFICAR QUE ES EL SERIAL CORRECTO LLEGANDO HASTA LA
COMPARACIÓN ENTRE LO QUE ESCRIBES Y LA STRING CORRECTA.
![Page 10: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/10.jpg)
• LO PRIMERO ES MIRAR LAS APIS QUE UTILIZA CON CLIC DERECHO-SEARCH
FOR- NAMES
![Page 11: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/11.jpg)
![Page 12: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/12.jpg)
![Page 13: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/13.jpg)
• AHÍ SALEN LAS APIS UTILIZADAS POR EL PROGRAMA, VEAMOS SI HAY ALGUNA
CONOCIDA
![Page 14: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/14.jpg)
• AHÍ SALEN LAS APIS UTILIZADAS POR EL PROGRAMA, VEAMOS SI HAY ALGUNA
CONOCIDA
![Page 15: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/15.jpg)
• ALLÍ VEMOS QUE UTILIZA GETDLGITEMTEXTA, SEGURO LA USARA PARA
INGRESAR EL SERIAL QUE NOSOTROS ESCRIBIMOS Y MESSAGEBOXA PARA
SACAR LOS MENSAJES DE SI ES CORRECTO O INCORRECTO NUESTRO
SERIAL, PONGAMOS UN BPX EN CADA UNA DE DICHAS APIS.
![Page 16: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/16.jpg)
![Page 17: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/17.jpg)
![Page 18: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/18.jpg)
![Page 19: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/19.jpg)
![Page 20: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/20.jpg)
• BUENO PULSEMOS F9 PARA CORRER EL CRACKME
![Page 21: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/21.jpg)
![Page 22: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/22.jpg)
• BUENO SI PULSEMOS F9 DE NUEVO NOS APARECERÁ LA SIGUIENTE VENTANA
![Page 23: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/23.jpg)
![Page 24: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/24.jpg)
• ALLÍ SALE LA VENTANA PARA ESCRIBIR EL SERIAL, PONGAMOS UN NOMBRE
CUALQUIERA POR EJEMPLO “TU NOMBRE”, APRETEMOS VERIFICAR Y VEMOS
QUE PARA EN EL OLLYDBG EN UNO DE LOS BPX QUE COLOCAMOS
![Page 25: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/25.jpg)
![Page 26: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/26.jpg)
![Page 27: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/27.jpg)
• SI MIRAMOS EL STACK, VEMOS QUE PARO EN LA API GETDLGITEMTEXTA PARA
INGRESAR EL SERIAL, ALLÍ EN LOS PARÁMETROS DE LA API, VEMOS LA
DIRECCIÓN DEL BUFFER DONDE GUARDARA EL SERIAL QUE INGRESA, EN
ESTE CASO ES 403010.
![Page 28: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/28.jpg)
![Page 29: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/29.jpg)
• ASÍ QUE VEAMOS ESA DIRECCIÓN EN EL DUMP HACIENDO CLIC DERECHO –
FOLLOW IN DUMP EN LA MISMA
![Page 30: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/30.jpg)
![Page 31: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/31.jpg)
![Page 32: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/32.jpg)
• HAGAMOS EXECUTE TILL RETURN PARA QUE LLEGUE AL RET DE LA MISMA
![Page 33: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/33.jpg)
![Page 34: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/34.jpg)
![Page 35: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/35.jpg)
• Y LA API GUARDO EN EL BUFFER EL SERIAL QUE INGRESE
![Page 36: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/36.jpg)
• PUES ALLÍ LO TENGO SI APRIETO F7, VUELVO AL PROGRAMA
![Page 37: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/37.jpg)
![Page 38: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/38.jpg)
• YA VEMOS VIENDO QUE ESTAMOS LLEGANDO A LA COMPARACIÓN Y AL SALTO
CONDICIONAL QUE SEGÚN SALTE O NO ME LLEVARA A LOS MESSAGEBOXA DE
“MAL MUY MAL” O “MUY BIEN” OBVIAMENTE SI ESE SALTO CONDICIONAL LO
CAMBIO POR UN JMP 401087, LO OBLIGO SIEMPRE A SALTAR AL CARTEL DE
MUY BIEN Y PROGRAMA CRACKEADO Y RESUELTO, PERO AQUÍ YO QUIERO
HALLAR EL SERIAL, ASÍ QUE VEAMOS QUE COMPARA.
• EN 401066 MOVERÁ A EBX EL CONTENIDO DE LA MEMORIA 403010 COMO ES UN
DWORD SOLO MOVERÁ LOS 4 BYTES PERO ES SUFICIENTE, VEAMOS QUE HAY
EN 403010 EN EL DUMP.
![Page 39: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/39.jpg)
![Page 40: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/40.jpg)
• MARCO LA LÍNEA Y HAGO CLIC DERECHO FOLLOW IN DUMP-MEMORY ADDRESS
Y VERÉ QUE ESTA LEYENDO
![Page 41: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/41.jpg)
![Page 42: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/42.jpg)
• EN LA ACLARACIÓN VEO QUE ESTA LEYENDO 73726547 QUE SON LOS 4 BYTES
QUE SE ENCUENTRAN EN EL CONTENIDO DE 403010 LEÍDOS AL REVÉS COMO
VIMOS, Y SON LOS PRIMEROS 4 BYTES DEL SERIAL FALSO QUE YO ESCRIBÍ
LOS CUALES LOS MOVERÁ A EBX.
![Page 43: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/43.jpg)
• AHORA APRIETO F7 Y PASO A LA SIGUIENTE LÍNEA
![Page 44: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/44.jpg)
![Page 45: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/45.jpg)
• AQUÍ VEMOS QUE COMPARA EBX QUE COMO RECORDARAN SON LOS
PRIMEROS 4 BYTES DE MI SERIAL FALSO, CON EL CONTENIDO DE LA
DIRECCIÓN 403008, VEAMOS QUE HAY ALLÍ EN EL DUMP, DE LA MISMA FORMA
QUE HICIMOS EN LA LÍNEA ANTERIOR.
![Page 46: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/46.jpg)
![Page 47: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/47.jpg)
![Page 48: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/48.jpg)
• VEMOS QUE ESTA LEYENDO LOS 4 PRIMEROS BYTES DE LA PALABRA FIACA,
COMPARÁNDOLOS CON LOS PRIMEROS CUATRO BYTES QUE ESCRIBI, POR LO
CUAL DEDUZCO QUE SI AMBOS FUERAN IGUALES EN ESTA COMPARACIÓN, SE
ACTIVARÍA EL FLAG Z, AL SER LA DIFERENCIA ENTRE AMBOS CERO, Y EL JE
SALTARÍA, MANDÁNDOME EL CARTEL DE MUY BIEN, POR AHORA COMO NO SON
IGUALES RECIBIRÉ EL MENSAJE DE QUE MI SERIAL ES INCORRECTO.
• COMO NO FUERON IGUALES NO SALTA Y VA DIRECTO AL CARTEL MAL MUY MAL,
PUES APRETEMOS F9
![Page 49: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/49.jpg)
![Page 50: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/50.jpg)
• NOS PARA EN LA OTRA API MESSAGEBOXA
![Page 51: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/51.jpg)
![Page 52: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/52.jpg)
• DEMOS RUN O F9
![Page 53: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/53.jpg)
![Page 54: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/54.jpg)
• COMO VEMOS SALIÓ EL CARTEL MALO, ACEPTÉMOSLO Y ESCRIBAMOS LA
CLAVE CORRECTA FIACA.
![Page 55: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/55.jpg)
![Page 56: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/56.jpg)
![Page 57: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/57.jpg)
• YA LA ACLARACIÓN NOS MUESTRA QUE SON IGUALES, POR LO CUAL SE
RESTARAN Y DARÁ CERO EL RESULTADO EL FLAG Z SE ACTIVARA AL
EJECUTAR LA COMPARACIÓN.
![Page 58: Revirtiendo seriales con ollydbg clase 11b](https://reader031.vdocuments.net/reader031/viewer/2022013102/55a0db2e1a28ab1e5a8b462a/html5/thumbnails/58.jpg)