26 Mayo 2002
SEGURIDAD DE SISTEMAS: Personalización
de extensiones de ficheros
Archivos tipo .txt ejecutables
Indice
Prefacio
Introducción
Registro de Windows
Simular un Tipo Archivo Siendo Otro
Nacimiento de un Nuevo Tipo de Archivo
Probando 1,2,3, Probando...
Como Eliminar el tipo de archivo .cx17 que hemos creado
Herramientas Adicionales
- Prefacio -
Bien, ya que Metalhack, Sede Mar del Plata se Reúne en el
Patio Gaucho vale la pena recordar esta estrofa que se me vino a
la mente en este preciso momento y con la que José Hernández
comienza su poema "Martín Fierro"
"Aquí me pongo a cantar
al compás de la vigüela,
que el hombre que lo desvela
una pena estrordinaria
como la ave solitaria
con el cantar se consuela"
Para quien le interese leerlo completo visiten http://www.lahueya.com.ar/index/fierro/fierroindex.htm
- Introducción -
Como bien indica el verso anteriormente citado, "Aquí
me pongo a cantar".
Este informe contiene los pasos básicos sobre como hacer
que un archivo sea de una extensión determinada, pase a ser
ejecutable.
*************************************************************************
La idea del ejemplo es:
Ver un archivo del tipo .txt y que en realidad no se abra como
un .txt sino que se ejecute como un .exe
*************************************************************************
Para poder comprender que es lo que se va a hacer es necesario conocer
unos pequeños detalles sobre la estructura del registro de
Microsoft Windows, cabe destacar que este informe se escribe en
referencia al registro de Ms W98SE.
- Registro de Windows -
Datos Importantes para los recién iniciados:
A continuación hablaremos de Cadenas, valores de cadenas,
valores binarios y Dword. Acto seguido un breve explicativo del
tema
Cadena = "Carpetita amarilla"
Valor de la Cadena = "Iconito bordeaux con letras AB"
"Iconito azul con ceros y unos" = Puede ser tanto un valor
Binario como un valor Dword, la diferencia radica en los datos contenidos
dentro, si tiene solo 0 y 1 es un valor binario, si tiene una x
es un valor Dword.
El registro de Windows se divide en 6 ramas entre las cuales veremos
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA
En este caso nos concentraremos en la primera (HKEY_CLASSES_ROOT)
que es la que mas nos interesa.
Al extender el contenido de la rama HKEY_CLASSES_ROOT nos encontraremos
con muchas "carpetitas amarillitas" denominadas claves.
Lo impotante es reconocer las claves que su nombre comienzan con
un Punto. Como por ejemplo ".exe"
Dentro de la clave seleccionada, que comience con un punto, veremos
que nos indica con que programa se abre cuales son las funciones
que se pueden realizar con ese tipo file al hacer clic derecho en
el file en cuestión (edición, imprimir, etc).
Existe la posibilidad que una cadena llame a otra cadena, que es
el caso puntual de ".exe"; dentro de HKEY_CLASSES_ROOT\.exe
encontraremos un valor de cadena con Nombre (predeterminado) y datos
"exefile". Eso nos indica que cada vez que se intente
abrir un archivo con extensión bat buscara la cadena exefile,
la cual nosotros veremos en HKEY_CLASSES_ROOT\exefile .
Entonces Resumimos => cada extensión de archivo debe
tener una "Clave" de registro y uno o varios "Valor
de la Cadena" que nos indiquen que hacer con ese archivo, si
ejecutar, si abrir con tal o cual software.
- Simular un Tipo Archivo Siendo Otro -
Para hacer este informe ejemplificaremos con un archivo que todos
disponemos que es el calc.exe (lo encontraremos en c:\windows\calc.exe
). Haremos una copia (no un acceso directo sino una COPIA) y lo
renombraremos a calc.cx17
Entonces: Haremos que al intentar abrir el archivo calc.cx17 se
ejecute como un exe que es (recuerden que solo renombramos, y no
efectuamos ningún cambio en el archivo en sí).
Extensión real del archivo EXE < -- > Extensión
simulada del archivo CX17
Seleccione la extensión .cx17 por mero capricho, pero podria
haber seleccionado alguna extensión conocida (jpg, gif, tif,
txt, etc.) A su vez, este informe ira acompañado de los archivos
de ejemplo, lo cuales podrán ejecutar y corroborar la realidad
de la teoría que aquí les presento. En este sentido,
no es mi intención que uds destruyan sus Windows, es por
ello que también seleccione una extensión inexistente,
tal que luego de realizar la prueba puedan eliminar fácilmente
las claves de registro añadidas en este testeo, y vuelva
todo a la normalidad.
En primer lugar veremos como es la clave de registro de los archivos
exe
Nos encontramos que dentro de la clave "exefile" tiene
un "valor binario", un "valor de cadena" y varias
cadenas dentro. No haremos hincapié en cada una de ellas
por que no hace falta.
Una vez parados sobre la cadena "exefile" vamos al menu,
presionamos en "Registro" luego en "Exportar archivo
del Registro" seleccionamos el nombre (en mi caso exefile.reg)
y lugar en donde deseamos que quede el archivo (en mi caso el escritorio)
y listo. Lo mismo hacemos con la cadena ".exe" (el nombre
que le puse es puntoexe.reg)
Ahora bien, me voy al escritorio abro el archivo puntoexe.reg con
un clic derecho -- > edición, ya que hacemos doble clic
nos consultara si deseamos agregarlo al registro, y nos encontraremos
con un archivo de texto de este tipo:
REGEDIT4
[HKEY_CLASSES_ROOT\.exe]
"Content Type"="application/x-msdownload"
@="exefile"
Que es eso??? Simple,
REGEDIT4 --- > es el tipo de registro que se maneja como si de
una norma se tratara;
[HKEY_CLASSES_ROOT\.exe] --- >es la rama en donde se situaran
los datos;
"Content Type"="application/x-msdownload" ---
> es el nombre del "Valor de la Cadena" y luego del
= los datos de es "valor de la cadena"
@="exefile" --- > Nombre y datos respectivamente,
solo que la @indica que como nombre se pondrá " (predeterminado)
"
Entonces, que es esto, y que hace? Bien, indica que cada vez que
se abra un archivo exe, se fije en exefile que es lo que hay que
hacer, es por ello que seguimos con el exefile.reg
Desde ahora en mas La haremos lo mas sencilla posible.
Abrimos el exefile.reg para edición con el clic derecho,
y nos encontramos algo así.
REGEDIT4
[HKEY_CLASSES_ROOT\exefile]
"EditFlags"=hex:d8,07,00,00
@="Aplicación"
[HKEY_CLASSES_ROOT\exefile\shell]
@=""
[HKEY_CLASSES_ROOT\exefile\shell\open]
@=""
"EditFlags"=hex:00,00,00,00
[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\exefile\shellex]
[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers]
[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\{86F19A00-42A0-1069-A2E9-08002B30309D}]
@=""
[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\{B41DB860-8EE4-11D2-9906-E49FADC173CA}]
@=""
[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"
Vemos que podremos cambiar aspectos como el icono y demás,
y eso es lo que haremos, pero antes que nada, o nos olvidemos que
tenemos 2 archivos .reg el puntoexe.reg y el exefile.reg los fusionaremos.
Hacemos un nuevo archivo de texto, solo que lo renombramos a completito.reg
y luego se hace sencillo, copiando el contenido del primer archivo
sin el REGEDIT4 y pegando dejando una línea en blanco entre
el REGEDIT4 y el [HKEY_CLASSES_ROOT\exefile] Tal que quede como
a continuación les ejemplifico:
REGEDIT4
[HKEY_CLASSES_ROOT\.exe]
"Content Type"="application/x-msdownload"
@="exefile"
[HKEY_CLASSES_ROOT\exefile]
"EditFlags"=hex:d8,07,00,00
@="Aplicación"
[HKEY_CLASSES_ROOT\exefile\shell]
@=""
[HKEY_CLASSES_ROOT\exefile\shell\open]
@=""
"EditFlags"=hex:00,00,00,00
[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\exefile\shellex]
[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers]
[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\{86F19A00-42A0-1069-A2E9-08002B30309D}]
@=""
[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\{B41DB860-8EE4-11D2-9906-E49FADC173CA}]
@=""
[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"
Bien ahora ya tenemos todo lo que al exe se refiere en completito.reg
pero... no cambiamos nada ni generamos ninguna nueva extensión,
por lo que si hacemos doble clic sobre completito.reg agregará
claves de registro que ya esta, por lo que sobrescribirá
las preexistentes (que por cierto son idénticas), y nada
sucederá.
- Nacimiento de un Nuevo Tipo de Archivo -
PASO 1 (generación de la extensión)
Buscamos la línea [HKEY_CLASSES_ROOT\.exe] y la modificamos
a [HKEY_CLASSES_ROOT\.cx17]
PASO 2 (Cambio del Icono)
Buscamos la linea (de seguro al final del archivo) --- >
[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"
y la modificamos por --- >
[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="C:\\WINDOWS\\Winupd.ico"
NOTA: se puede seleccionar cualquier icono, elegí este por
que esta en todas las pc con Windows 98 NOTA 2: el path va con doble
\
PASO 3 (generación de lo que hará Windows cuando
encuentre esa extensión)
Abrimos el archivo completito.reg con el editor de texto de nuestra
preferencia, buscamos la cadena "exefile" (sin las comillas)
y la reemplazamos por "cx17" (también sin comillas)
PASO 4 (cambio de la descripción del archivo)
Buscamos --- >
[HKEY_CLASSES_ROOT\cx17]
"EditFlags"=hex:d8,07,00,00
@="Aplicación"
y reemplazamos de modo que quede --- >
[HKEY_CLASSES_ROOT\cx17]
"EditFlags"=hex:d8,07,00,00
@="Visita www.Cx17.Tk"
Bien, tenemos un archivo (completito.reg) que al agregarlo al registro,
nos generara un nuevo tipo de archivo .cx17 que funcionara como
un exe.
- Probando 1,2,3, Probando... -
Vamos a hacer la prueba:
Al principio de este informe les indicaba que hagan una copia del
archivo calc.exe (copia y no acceso directo) y lo renombren a calc.cx17
si lo han hecho y ya han agregado al registro "completito.reg"
(un simple doble clic sobre el archivo y un aceptar) verán
como el archivo calc.cx17 pasó a tener el icono de Windows
Update y que al hacerle doble clic sobre el se ejecutara tal cual
un exe.
- Como Eliminar el tipo de archivo .cx17 que hemos creado -
Se hace simplemente abriendo el regedit, buscando y eliminando
dentro de HKEY_CLASSES_ROOT las claves ".cx17" y cx17
y su contenido.
- Herramientas Adicionales -
Pensando en como hacer esto automático se me ocurrió
buscar reg2exe y me encontré con una herramienta que precisamente
hace eso.
Son solamente 13 Kb, pruébenla yo la use y me resulto muy
útil.
http://www.ctuser.net/download/reg2exe.htm
- Del Autor -
Nombre: Juan Matías Stati
Nick: (...)
Edad:24
Reside: Mar del Plata / Buenos Aires / Argentina
E-mail: info@cx17.tk
Web: www.cx17.tk
|