inRar.py buscador de archivos rar en imágenes

  • 1 Respuestas
  • 2200 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    0%
  • Reputación 0
  • Twitter: @don_once
    • Ver Perfil
    • El blog de Once

inRar.py buscador de archivos rar en imágenes

  • en: Noviembre 30, 2013, 10:43:27 pm

(Solo los usuarios pueden ver los links. Registrate o Ingresar)

Hola, creo que todos conocemos el método esteganográfico EOF que consiste básicamente en agregar un archivo al final de otro; como por ejemplo incrustar un comprimido .rar dentro de una imagen sin corromper ésta. (En GNU/Linux es tan simple como un cat archivo1 archivo2 > archivo_final)

Hace un tiempo hice uso de este método y ahora me doy cuenta que tengo más de 700 imágenes y sería algo aburrido buscar la información a mano así que codee este pequeño script. Espero a alguien le sea de ayuda.

Su funcionamiento es simple, se abre el archivo en forma de lectura binaria, se convierten estos datos a hexadecimal y con una expresión regular busca las cabeceras del Rar. si las encuentra, copia esa información y la guarda en un archivo independiente.

Código: Python
  1. #!/usr/bin/python2
  2. # -*- coding: utf-8 -*-
  3. # 11Sep para underc0de.org
  4.  
  5.  
  6. import os
  7. import re
  8. import sys
  9. import urllib
  10.  
  11. rar_ = re.compile(".*?(52617221.*C43D7B00400700).*?", re.DOTALL | re.IGNORECASE)
  12.  
  13. def abrir_archivo(ruta):
  14.     print "Comprobando archivo:", ruta
  15.     if ruta.lower().endswith(".rar"):
  16.         return
  17.     with open(ruta, "rb") as archivo:
  18.         data = archivo.read()
  19.         data  = data.encode("hex")
  20.     comprobar_rar(data, ruta)
  21.  
  22. def abrir_url(url):
  23.     print "Abriendo url"
  24.     data = urllib.urlopen(url).read()
  25.     data = data.encode("hex")
  26.     archivo = os.path.basename(url)
  27.     comprobar_rar(data, archivo)
  28.  
  29. def comprobar_rar(data, nombre):        
  30.     nombre += ".rar"
  31.     if rar_.match(data):
  32.         print "\t<ul class="bbc_list"><li type="square"> Hay un rar dentro"[/li][/list]
  33.         print "\t</li><li type="square"> Guardando en:", nombre[/li][/list]
  34.         with open(nombre, "wb") as archivo:
  35.             archivo.write(rar_.findall(data)[0].decode("hex"))    
  36.  
  37. def comprobar_ruta(ruta):
  38.     if os.path.isfile(ruta):
  39.         abrir_archivo(ruta)
  40.     elif os.path.isdir(ruta):
  41.         for archivo in os.listdir(ruta):
  42.             nuevo = os.path.join(ruta, archivo)
  43.             if os.path.isfile(nuevo):
  44.                 abrir_archivo(nuevo)
  45.     elif ruta.startswith("http://"):
  46.         abrir_url(ruta)
  47.  
  48. if len(sys.argv) > 1:
  49.     comprobar_ruta(sys.argv[1])
  50. else:
  51.     print "Uso: inRar.py <archivo | carpeta | url>"
  52.  

Su uso es simple, se le puede pasar como parametro una url, un archivo o un directorio, la aplicación, dependiendo del parametro ejecuta la función adecuada.
Por ejemplo, podemos revisar la url de la imagen del comienzo del post

Saludos!






Solo los usuarios pueden ver los links. Registrate o Ingresar

Desconectado WhiZ

  • *
  • Underc0der
  • Mensajes: 395
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:inRar.py buscador de archivos rar en imágenes

  • en: Noviembre 30, 2013, 11:06:26 pm
Muy buen code bro! Jaja ya se cuando y donde lo usaste!! ;)

Gracias por el triunfo :P

Saludos!
WhiZ


 

combo: Una simple herramienta para cifrar/descifrar tus archivos con Shalom

Iniciado por DtxdF

Respuestas: 0
Vistas: 617
Último mensaje Diciembre 03, 2019, 01:01:27 am
por DtxdF
[Codigo + Introduccion] Manejo de archivos csv en python

Iniciado por blozzter

Respuestas: 2
Vistas: 9845
Último mensaje Abril 01, 2012, 05:43:38 pm
por pab mac
Tutorial envio de archivos usando sockets

Iniciado por Once

Respuestas: 10
Vistas: 14030
Último mensaje Julio 27, 2018, 07:53:10 pm
por Once
Moviendonos entre archivos con python

Iniciado por Once

Respuestas: 6
Vistas: 5722
Último mensaje Enero 23, 2015, 12:30:11 am
por Azav
[Python] Descargar Archivos - by NiKo

Iniciado por ProcessKill

Respuestas: 3
Vistas: 4683
Último mensaje Noviembre 03, 2012, 11:50:45 am
por BigBear