Hace unas semanas que prometí meter las zarpas al ámbito forense y mezclarlo con Python. La ida es crear un script que, preservando el grado de volatilidad de los datos detallado en el RF 3227, me permita crear una lista con el hardware de la maquina, directorios concretos, un pantallazo del escritorio tal cual esté y ese tipo de cosas que pueden facilitarle el día a un Forense.
Bueno, ante de presentaros el script solo deciros que lo iré mejorando en este blog en futuras entradas y que no estará subido a GitHub hasta que no esté mucho mas completo y presentable. Pero, si que agradecería toda la colaboración posible ^^
Librerias que utilizadas:
- Platform: (para saber detalles del sistema)
- os: (porque con os.walk podremos hacer un tree de directorios y guardarlos)
- PIL: (Gracias al modulo ImageGrab podremos tomar un pantallazo)
Aquí tenéis el código por si lo queréis probar. (Of course, está en Python 2.7 ya que muchas librerías solo tiran en esta versión. Puede que me piense su potabilidad a la 3.X mas adelante. No lo descarto)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import os
import platform
from PIL import ImageGrab
def guardar(algo, algomas = "<-- Info del sistema"):
d3 = open('InformacionUtil.doc', 'a+')
d4 = str(algo + algomas)
d3.writelines(d4 + """
""")
d3.close()
print "Analizando el sistema"
d0 = platform.uname()
da = str(d0)
guardar(da)
print "Datos guardados"
print ""
print "Indica las rutas y tipos de archivos que prefieres (empezar por c:/users y Tipo de archivo en blanco. Para guardar todos los directorios.)"
d1 = raw_input("Ruta: ")
d2 = raw_input("Tipo de archivo: ")
for root, dirs, files in os.walk(d1):
for item in files:
if item.endswith(d2):
guardar(root,item)
print "Voy a tomar una captura de la pantalla, minimiza esta pantalla antes de 5 segundos."
time.sleep(5)
ImageGrab.grab().save("screen_capture.jpg", "JPEG")
Espero que os guste y eso, espero vuestras opiniones ^^
Sed Buenos, sobretodo con lo tomar capturas de pantalla ;)