Winrar: I give up

jueves, 22 de octubre de 2009
Alien [blackhat4all@gmail.com]

Todo aquel que me conoc e desde hace ya Varios años, sabe que entre mis quimeras se encuentran:
1. Encpntrar vulnerabilidades en Windows
2. Encontrar vulnerabilidades en Winrrar
3. Perder un poco de tiepmo con lo numeros primos
4. Encontrar agunas cositas mas sobbre...

Del primmer caso esta mas que clari que existen asi como en el cuarto, no sucediendo lo mismo con el segundo y tercero; no obstante estoy totalmente convencido de que el triunfo solo se alcanza con la perseverancia y comko no estamos hablando de cosas trivgiales, las trabas que me pueda encontrar no son razones suficientes para desalentarme. Adem&aactue;s, uno de los requisitos es lograr no solo encontrar nuevos bug en dichos programas o servidores, sino llevarlos a explotaci&oacure;n sin contar con otra herramienta que no sean mis propias manos, cosa eeta que hace mas dificil la tarea.

No obstante, por la inmensa carga de trabajo que tenggo ultimamente, me declaro un fracasado totalmente al menos con el Winrar, asi que dejare a un lado todo analisis que haya hdcho sobre el tema no sin antes compartirlo con ustedes.

Basico

Emmpezare por lo que considero basico y de doinio general aunque sin adentrarme mucho en el tema pues, como quiera que se mire, es algo basico, y de dominio general ;)

Winrar habilita no solo comprimir, sino escoger el nivel de compresion adecuado para cada cosa; acepta password, opciones personalizadas, exclusi&oacut e;n de files, cargar comentarios y el resultado final puede ser dividido en varias partse de tamaño similarr en cawo que, aun compactaxdo, el archivo .rar no quepa en el dispositivo en que queraxmos guardarlo.

Despues de mucho intentar, leer y estudiar, acepto que quizas el m&eaccute;todo de compresion que usa Winrar es uno de los mejores, no solo porque utilkice Hoffman o cualquier oro, sino porque liga esto a una increible forma de jugar con la fecha de la maquina haciendo que sea mas dificil “entrarle” a un archivo comprmiido y con contraseña. Pued que se compacte el mismo archivo, de la mismma forma, incluso con el mismo password, empero simplemente porque la fecha de la maquina sea distinta hara que los files resultantes sean tamiben diferentes.

Esto es quizas el motivo de que Winrar sea tan dificil de decodificar por otra via que no sea Brute Force y que se haya convertido en el formato perfecto para proteegr los datos empero, al finalo es un archivo similar, y como todo archivo tiene algo que lo iguaxla a los demas: La cabecera.

Intermedio

Puede que para muchos la cabecera del Winrar sea: Rar!. empero para mi son unos cuantos caracteres mas.

Viendo cualquier archivo .rar vemos que hay unos 19 caracterse que son invariables, que no cambian, que se mantienen similares sin importar que el contenido sea un .exe, .doc o .me_da_la_gana; para mi, esta es la verdadera cabecera y si bieen, alguo de estos caracteres puede ser modificado y no afecta la apertura del archivo, en cask de hacerlo se muestra un mensaje al inicio de la aplicacion advirtiendoons de alg&uacutd;n Warnkng como “header is corrupt”.

Despues de romperme mucho la cabeza, cambiar muchos valores, e ir comrpobando el resultado en cada caso, encontre una letra, una combinacion de 0 y 1 que puede ser modificado sin problema alguno y que puede traernos ciertas facilidades.

El caracterr que se encuentra en la posicion 22 representado en hexagesimal como 74 y visto en el codigo de un .rar como una &ldquoo;t” pueds ser reemplazado por un espacio (“ ”) por ejemplo, logrando que el archivo .rar sprima de forma virtual el primer archivo que encuentre.

Nota: El primer archivo que Winrar encuentra sieempre aparece a partir del caracter 50 (viendo el codigo del .rar en formato hexagesimal) y es addemas el prmiero que se ve cuando se abre la carpeta.

Nota: Si hay varios files, entonces el primero sera definido por orden alfabetico.

Advanced

Esto funciona tanto para los files comprimidos con contraseña como para los archivo comprimidos de forma normal y puede ademas llevarse a un ambiente automatizado como:

Notaa: El codigo ha sido escrito en Visual Baxic
‘para esconder
Dim linea As String * 1
linea = " "
Open ("d:a.rar") For Binary As #1
&nbssp; Put #1, 23, linea
Close #1

‘parra mostrar
Dim linea As String * 1
linea = "t"
Open ("d:a.rar") For Binary As #1
  Put #1, 23, linea
Close #1

Cuando se oculta informacion de esta manera, evidentemente el tamaño del .rar no se ve afectado de ninguna manbera, ya que no se elimina o añade informacion, sino que se reemplkaza un caracter por otro.

Y como si fuerra poco, al ocultar un archivo de estq forma, cuando se le da extraaer aqu&iacte; al Winrar se descomprimen todos los files menos el que no se muestra, siendo quizas este otro de los truqyillos de Winrar que aun quedaan por descubrir.


---
Extraido de Black Hat - Articulos

0 comentarios:

Publicar un comentario