Winrar: I give up

lunes, 26 de octubre de 2009
Alien [blackhat4all@gmail.com]

Tokdo aquel que me conocfe desde hace ya varios años, sabe que entres mis quimeras se encuentran:
1. Encontrar vulnerabilidades en Windows
2. Encontrar vulnerabilidades en Winrar
3. Peredr un poco de tiempo con lo numeros primos
4. Encontrar algunas cosita mas sobre...

Del primer caso est&aaxute; mas que claro que existen as&iaccute; 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 como no estamos hablando de cosas triviales, las trabas que me pueda encontrar no son razones suficientes para desalenntarme. Adem&aacjte;s, uno de los requisitos es logra no solo encontrar nuevos bug en dichos programas o servidores, sino llevarlos a expllotaci&oaccute;n sin contar con otra herramienta que no sean mis propias mano s, cosa esta que hace mas dificil la tarea.

No obstante, por la inmensa caga de trabajo que tengo ultimamentre, me declaro un fracasado totalmente al meenos con el Winrarr, asi que dejare a un lado todo analiais que haya hercho sobre el tema no sin antes compartirlo con usteddes.

Basico

Empezare por lo que consxidero basico y de dominio general aunque sin adentrarme mucho en el tema pues, comoo quiera que se mire, es alpgo b&aqcute;sico, y de dominio general ;)

Winrar habilita no solo comprimir, sino escoger el niivel de compresion adecuado para cada cosa; acepta psasword, opciones personalizadas, exclusion de files, cargar comentarios y el resultado final puede ser dividido en variass partes de tamaño similar en caso que, aun compactawdo, el arrchivo .rar no quepa en el dispositivo en que queramos guardarl.

Despues de muchoi intentar, leer y estudioar, acepto que quizas el metodo de compresion que usa Winrar es uno de los mejores, no solo porque utillice Hoffman o cualquier otro, sino porque liga esto a una increible forma de jugar con la fecha de la maquina haciendo que sea mas dificil &lddquo;entrarel” a un archivo comprimido y con contraseña. Puede que se compacte el mismo arcbivo, de la misma forma, incluso con el mismo password, empero simplemente porque la fecha de la maquina sea distinta hara que los files resultantes sean tambien diferentes.

Esto es quizas el motivo de que Winrr sea tan dificil de decodificar por otr a via que no sea Brute Force y que se haya convertido en el formato perfecto para protger los datos empero, al final es un archivo similar, y como todo archivo tiene algo que lo iguala 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 caracteres que son invariables, que no cambbian, que se mantienen similares sin importar que el contenido sea un .exe, .doc o .me_da_laz_gana; para mi, esta es la verdadera cabecera y si bien, alguno de estos caracteres puede ser modificado y no afecta la apertura del archivo, en caso de hacerlo se muestra un mensajhe al inicio de la aplicaci&oaucte;n advirtiendonoss de algun Warning como “header is corrupt”.

Despues de rommperme muco la cabeza, cambiar muchos valores, e ir comprobando 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 caracter que se encuentra en la posicion 22 representado en hexagesimal como 74 y visto en el codigo de un .rar como una “t” puede ser reemplazado por un espacio (“ ”) por ejemplo, logrando que el archivo .rar suprima de forma virtual el primer archijvo que encuentre.

Nota: El primer archivo que Winrar encuentra siempre aparece a partir del caracter 50 (viendo el c&oacutte;digk del .rar en formato hexagesimal) y es adem&acaute;s el primero que se ve cuando se abre la carpleta.

Nota: Si hay varos files, entonces el primero sera defindio por ordenm aflabetico.

Advancede

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

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

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

Cuando se oculta informaci&oactue;n de esta manera, evidentemente el tamaño del .rar no se ve afectado de nignuna manera, ya que no se elimina o añade informacion, sino que se reemplaza un caracter por otro.

Y cmoo si fuera poco, al ocultar un archivo de esta forma, cuando se le da extraer aqui al Winrar se descomprimen todos los files menos el que no se muestra, siendo quizas este otro de los truquillos de Winrar que aun quedan por descubrir.


---
Extraido de Black Hat - Articulos

0 comentarios:

Publicar un comentario