Derecho informático
SEGURIDAD

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


 
Gratis Servicio de noticias
Suscribir Borrado
Sus Sugerencias son bienvenidas
Pincha Aquí
¡¡Lista de correo!!
Introduzca su correo: