elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux (Moderador: MinusFour)
| | |-+  Filesystem Sandbox for Linux – FSSB
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Filesystem Sandbox for Linux – FSSB  (Leído 1,337 veces)
r32
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.299



Ver Perfil WWW
Filesystem Sandbox for Linux – FSSB
« en: 12 Julio 2018, 20:09 pm »

En muchas ocasiones, necesitamos un sandbox (caja de arena) de nuestro sistema de ficheros, para poder analizar qué ficheros crea, lee o modifica una determinada aplicación o herramienta.

Esto es muy útil para poder realizar diferentes pruebas, en un entorno seguro. De esta manera, podemos analizar desde aplicaciones en las que estemos trabajando, hasta herramientas que hayamos descargado, siendo muy amplio el abanico de posibilidades que nos ofrece.

En Linux, tenemos multitud de formas de hacer esto. Una herramieta, que aún estando en estado Alpha, promete bastante, es FSSB (https://github.com/adtac/fssb). Utiliza un mecanismo bastante curioso:

Primero, intercepta las llamadas al sistema para la apertura, creación, modificación, renombrado, y borrado de ficheros.
Detiene la ejecución del binario en cuestión, crea el fichero en un contenedor (crea un directorio en /tmp por cada ejecución)
Devuelve el control al binario, haciéndole ver que, el fichero que intentaba crear, modificar, abrir, etc. es ese.
Una vez que el binario termina su ejecución, en el contenedor creado, tendremos los diferentes ficheros que ha creado la herramienta. Además, dado que los nombres son aleatorios, tendremos otro con un mapeo de los mismos.
 

Para instalarlo, en el caso de distribuciones basadas en Debian, bastará con disponer de OpenSSL en el sistema. Necesitaremos instalar libssl-dev. En otros sistemas, en principio, con instalar el paquete correspondiente para disponer de las cabeceras y demás de OpenSSL para C, debería ser suficiente.

Hecho esto, bastará clonar el repositorio y compilar el binario:

Código:
git clone https://github.com/adtac/fssb
cd fssb
make

Una vez compilado, su utilización es muy sencilla. Por ejemplo:

Código:
./fssb -m -- binario

Dispone de varias opciones, que podemos consultar con ./fssb -h:
-d <nombre_fichero> Con esta opción nos va a crear un fichero que contendrá todas las llamadas al sistema que ha realizado el binario.
-o <nombre_fichero> Para grabar la salidas del propio fssb en un fichero.
-r Elimina los ficheros temporales creados al finalizar.
-m Imprime el contenido del fichero con el mapeo realizado.

Un ejemplo de uso:

Primero creamos un archivo, por ejemplo “programa.py”, con el siguiente contenido:

Código:
with open("prueba", "w") as f:  
    f.write("Feliz Martes!")       

with open("prueba", "r") as f: 
    print(f.read())

Puede observarse que es un pequeño programa en python que crea un fichero llamado prueba en el directorio actual y, después, lo abre e imprime el contenido. Al ejecutar programa.py, la salida sería:

Código:
$ python programa.py
Feliz Martes!

Podemos comprobar que ha creado un archivo:

Código:
$ cat prueba
Feliz Martes!

Ejecutamos fssb:

Código:
$ ./fssb -m -- python programa.py
Feliz Martes!
fssb: child exited with 0
fssb: sandbox directory: /tmp/fssb-1
    + 25fa8325e4e0eb8180445e42558e60bd = prueba

Podemos comprobar que no hay ningún fichero creado:

Código:
$ cat prueba
cat: prueba: No such file or directory

El archivo se ha creado en un directorio temporal:

Código:
$ cat /tmp/fssb-1/25fa8325e4e0eb8180445e42558e60bd
Feliz Martes!

Aún le faltan muchas llamadas al sistema por implementar y portarlo a otras arquitecturas (sólo está disponible para x86_64, por ahora). Aún así, me ha resultado muy interesante la forma que han tenido de resolver el sandbox. Veamos cómo evoluciona el proyecto.

Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema al intentar utilizar Auditor -Can't find KANOTIX filesystem-
Hacking Wireless
Ictericia33 6 4,052 Último mensaje 2 Agosto 2010, 16:18 pm
por Ictericia33
Duda con filesystem FAT32
Windows
Victor8976 2 4,256 Último mensaje 23 Septiembre 2010, 18:07 pm
por Victor8976
SandBox para Android
Noticias
wolfbcn 0 2,234 Último mensaje 18 Julio 2011, 14:03 pm
por wolfbcn
ERROR : At least 12MB more space needed on the / filesystem.
GNU/Linux
User 1 2,587 Último mensaje 6 Agosto 2012, 22:06 pm
por dato000
Modificación de live CD, cambio de filesystem, squashfs.
Hacking
darg94 0 2,644 Último mensaje 21 Enero 2014, 12:34 pm
por darg94
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines