|
Herramientas necesarias:
·
Ollydgb (http://www.ollydbg.de/)
para parchear el programa y correrlo.
Resumen:
Lo que vamos a hacer es modificar Deep Freeze para que acepte cualquier contraseña como válida. Esta versión tiene algunas "mejoras" en la validación de la contraseña, por lo que también tendremos que parchear el servicio de Deep Freeze.
Manos a la obra:
1.
Debemos entrar al código de Deep Freeze, pero para eso necesitamos los privilegios de depuración. Este derecho es otorgado a la cuenta del administrador por defecto, pero Deep Freeze lo quita para evitar que alguien haga lo que vamos a hacer. Para restituir este privilegio entra al 'Panel de control' de Windows, accede a las 'Herramientas administrativas' y elige 'Directiva de seguridad local' (o ejecuta SECPOL.MSC en una línea de
comando).



2.
En el árbol de la izquierda entra a 'Directivas locales' y luego 'Asignación de derechos de usuario'. En la lista de la derecha haz doble click sobre 'Debug programs'.
|
Nota:
Los nombres de las directivas pueden cambiar de acuerdo al idioma del sistema operativo.
|

3.
Ahora agrega tu cuenta a la lista y presiona Aceptar para terminar. El método varía un poco en Windows 2K y XP pero es muy fácil. Si no sabes cómo hacerlo consulta la ayuda.

4.
Para que los cambios tengan efecto tienes que cerrar la sesión de usuario y loguearte otra vez. Generalmente puedes cerrar la sesión presionando CTRL+ALT+DELETE y eligiendo la opción correcta.
|
Nota:
En vez de cerrar tu sesión puedes usar el comando runas para ejecutar Ollydgb. Ej: runas /user:MiNombre ollydbg.exe
|


5.
Ahora corre Ollydbg. En el Menu 'File' selecciona 'Attach'. Se abrirá una ventana con la lista de procesos que está corriendo el sistema. Haz click sobre el proceso con el nombre 'DF5Serv' y luego presiona el botón Attach. Si aparece una ventana de advertencia ciérrala.
|
Nota:
Si recibes un mensaje de error al presionar Attach posiblemente hayas cometido un error en los pasos anteriores.
|

6.
Haz click con el botón derecho sobre el código y aparecerá un menú contextual, selecciona 'Go to' y después 'Expression' (o usa el atajo Ctrl+G).

7.
En el cuadro de texto escribe 418973 y presiona OK. El programa saltará a esa línea de código.

8.
Está línea contiene el primer control de la contraseña. Con la línea seleccionada haz click derecho sobre el código y clickea 'Assemble' (o presiona la barra de espacio). Aparecerá una ventana nueva.

9.
Borra lo que haya en el cuadro de texto de la ventana y escribe NOP. Asegúrate que la casilla 'Fill with NOP's' esté checkeada y a continuación haz click en el botón 'Assemble'. Ahora cierra la ventana.

10. Presiona F9 para continuar la ejecución del código.
11.
Ahora corre otra instancia de Ollydbg. En el Menu 'File' selecciona 'Attach'. Haz click sobre el proceso con el nombre 'FrzState2k' y luego presiona el botón Attach. Si aparece una ventana de advertencia ciérrala.
|
Nota:
No cierres la otra instancia de Ollydbg. Si lo haces deberás reiniciar la computadora y empezar todo de nuevo.
|

12.
Haz click con el botón derecho sobre el código y aparecerá un menú contextual, selecciona 'Go to' y después 'Expression' (o usa el atajo Ctrl+G).
13.
En el cuadro de texto escribe 403860 y presiona OK. El programa saltará a esa línea de código.
14. Esta es la línea desde donde se llama a la función que inspeccionará la contraseña. Vamos a poner un breakpoint acá. Para ello haz click derecho sobre la línea y en el menú contextual elige 'Breakpoint' y luego 'Toggle' (o presiona F2).

15. Presiona F9 para continuar la ejecución del código.
16. Ahora activa el programa de logueo haciendo click sobre el ícono en la bandeja de sistema mientras presionas la tecla shift o presionando CTRL+ALT+SHIFT+F6. La ventana de logueo aparecerá para pedirte la contraseña. Escribe cualquier cosa en el cuadro de contraseña y presiona ENTER. El breakpoint que pusimos antes en Ollydgb se activará y el programa de logueo quedará congelado.

17. En Ollydbg presiona F8 para pasar sobre la llamada a la función. En la ventana de registros (a la derecha del código) verás que el registro EAX tiene el valor 00000000. Eso significa que la contraseña es incorrecta, vamos a cambiar eso. Haz doble click sobre el valor de EAX para abrir la ventana de edición. En el cuadro de texto 'Hexadecimal' escribe 1 y presiona OK.


18. Ahora presiona F9 para continuar. Si todo funcionó correctamente aparecerá la ventana de configuración de Deep Freeze.

Stat
rosa pristina nomine, nomina nuda tenemus.
|