Analizador de ficheros utilizando metadatos y APIs de terceros. Incluye un honeypot (Opcional)
El proyecto utiliza la librería ExifTool de Phil Harvey para extraer la información de los metadatos del fichero.
También se realiza un analisis en busca de virus utilizando virustotal. En el caso de las imagenes el fichero en enviado a Google vision API para detectar diversos parámetros como imagenes similares, textos, detección de caras, etc...
Utilizamos Node.js y Pug para hacer un aplicación web de tipo server render.
Motivación
Creamos esta herramienta para mostrar al mundo la importancia de los metadatos y la privacidad. Nuestro objetivo final es concienciar y enseñar un buen uso de la tecnologia para la ciudadania en general.
- Ulises Gascón (@UlisesGascon) (Leader Backend)
- Elena Mateos (@ElenaMLopez) (Leader Frontend)
- Carlos Crisóstomo (@kr0n0) (Security researcher)
- Cybersecurity Guild (Communtiy Support)
- Open Source Weekends (Guilds Support)
Necesitamos ayuda, ¡únete!
- Traductor: ¿Nos ayudas a crear este portal en ingles?
- Documentación: ¿Nos ayudas a explicar mejor que son los metadatos al mundo?
El proyecto esta disponible para su descarga y ejecución en local.
- express: Gestión del servidor HTTP
- express-fileupload: Gestión de ficheros desde el cliente por peticiones POST
- node-exiftool: Wrapper de exiftool para Nodejs
- pug: Motor de plantillas del backend
Más informacion en CONTRIBUTING.md
Solo necesitas tener Node y descargarte exiftool
Prepara el entorno
Descarga el proyecto
git clone https://github.com/OSWeekends/batimagen.git
Lanzar el proyecto en local
Si se sigue este procedimiento es necesario insertar los tokens de la API de Google en node.env, así como el de virusTotal. Seguir las instrucciones del package.json donde se ve que el comando es start:
npm run start
Descargar la imagen de Docker
Has de tener docker instalado en el ordenador.
Descarga la imagen de Batimagen de DockerHub desde aquí con el siguiente comando:
docker pull osweekends/batimagen
Lanza el proyecto en local
Una vez hecho esto, puedes hacer funcionar el docker con este comando, en este caso, no se utilizan ni la API de google ni el token de virus total, así que esos resultados no van a verse en el análisis:
docker run -p 3000:3000 osweekends/batimagen
Lanzar el proyecto con todo (thirdparty)
Guarda el fichero de tokens de Google Cloud en secrets/SECRET_gcloud.json
$ docker run \
-p 3000:3000 \ # Bindeo de puertos
-v "$(pwd)/temp/":/app/temp/ \ # Extraer los analisis del repo
-v "$(pwd)/secrets/":/app/secrets/ \ # Compartición de fichero de credenciales
-e TP_ENABLED=true \ # habilitar terceras partes
-e TP_VIRUSTOTAL=true \ # habilitar virus total
-e TP_GVISION=true \ # habilitar Google Vision
-e VIRUSTOTAL='----YOUR TOKEN ----' # Añadir to token de virus total
-e GOOGLE_APPLICATION_CREDENTIALS='./secrets/SECRET_gcloud.json' # vicular la ruta de los tokens de Google Cloud
osweekends/batimagen # Imagen de docker
Ahora mismo estamos en desarrollo activo del primer MVP (Sprint 1 y 0 en paralelo)
Este proyecto tiene la intención de sensibilizar al usuario sobre la ciberseguridad, la prevención y la detección del uso no autorizado de los sistemas informáticos.
El usuario al aplicar estos conocimientos deberá tener en cuenta que hay que respetar las normas que regulan la seguridad informática, evitando la comisión de actos que no se ajusten a la legalidad vigente, siendo su responsabilidad el mal uso que haga de este proyecto.
Los desarrolladores del proyecto no se hace responsables del uso negligente o ilícito que puedan hacer los usuarios con los conocimientos que se ponen de manifiesto en este proyecto.
https://docs.google.com/presentation/d/1a2DEwlg6Ssnqqwu98su5ykK_8YhL_8dKToJ2T6fxzfI/edit?usp=sharing
GPL-3.0