Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
hashr — Génère des ensembles de hachages de fichiers forensiques à partir d'images disque, de paquets et d'archives provenant de sources GCP, AWS et locales, avec déduplication et export PostgreSQL/Spanner pour les flux de travail DFIR. | Kitploit
Outils/GitHubGitHub/google/hashr
Criminalistique DisqueAnalyse de HachageAnalyse ForensiqueCriminalistique NumériqueRéponse aux Incidents
GitHubgoogle/hashr

hashr

Génère des ensembles de hachages de fichiers forensiques à partir d'images disque, de paquets et d'archives provenant de sources GCP, AWS et locales, avec déduplication et export PostgreSQL/Spanner pour les flux de travail DFIR.

Voir le dépôt
130938il y a 7 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

HashR : Générez votre propre ensemble de hachages



Table des matières

  • HashR : Générez votre propre ensemble de hachages
    • Table des matières
    • À propos
    • Prérequis
    • Compilation du binaire HashR et exécution des tests
    • Configuration de HashR
      • HashR avec Docker
      • Configuration de l'OS & outils tiers requis
      • Configuration du stockage pour les tâches de traitement
        • Configuration du stockage PostgreSQL
        • Configuration de Cloud Spanner
      • Configuration des importeurs
        • GCP (Google Cloud Platform)
        • AWS
        • GCR (Google Container Registry)
        • Windows
        • WSUS
        • TarGz
        • Deb
        • RPM
        • Zip (et autres formats de type zip)
        • ISO 9660
      • Configuration des exportateurs
        • Configuration de l'exportateur Postgres
        • Configuration de l'exportateur GCP
      • Options supplémentaires

À propos

HashR vous permet de créer vos propres ensembles de hachages à partir de vos sources de données. C'est un outil qui extrait des fichiers et des hachages de sources d'entrée (par exemple, image de disque brute, image de disque GCE, fichier ISO, package de mise à jour Windows, fichier .tar.gz, etc.).

HashR se compose des composants suivants :

  1. Importeurs, qui sont chargés de copier la source vers le stockage local et d'effectuer tout prétraitement nécessaire.
  2. Core, qui s'occupe de l'extraction du contenu de la source à l'aide de image_export.py (Plaso), de la mise en cache et de la déduplication au niveau du dépôt, et de la préparation des fichiers extraits pour les exportateurs.
  3. Exportateurs, qui sont chargés d'exporter les fichiers, métadonnées et hachages vers des destinations de données données.

Importeurs actuellement implémentés :

  1. GCP, qui extrait des fichiers à partir des images de disque de base GCP.
  2. Windows, qui extrait des fichiers des supports d'installation Windows au format ISO-13346.
  3. WSUS, qui extrait des fichiers des packages Windows Update.
  4. GCR, qui extrait des fichiers des images conteneur stockées dans Google Container Registry.
  5. TarGz, qui extrait des fichiers des archives .tar.gz.
  6. Deb, qui extrait des fichiers des paquets logiciels Debian.
  7. RPM, qui extrait des fichiers des paquets logiciels RPM.
  8. Zip, qui extrait des fichiers des archives .zip (et de type zip).

Une fois les fichiers extraits et hachés, les résultats sont transmis aux exportateurs ; exportateurs actuellement implémentés :

  1. PostgreSQL, qui téléverse les données vers une instance PostgreSQL.
  2. Cloud Spanner, qui téléverse les données vers une instance GCP Spanner.

Vous pouvez choisir les importeurs que vous souhaitez exécuter ; chacun a des exigences différentes. Vous trouverez plus de détails dans les sections ci-dessous.

Prérequis

HashR nécessite un système d'exploitation Linux pour fonctionner ; il peut s'agir d'une machine physique, virtuelle ou cloud. Voici les exigences matérielles optimales :

  1. 8 à 16 cœurs
  2. 128 Go de mémoire
  3. 2 To de stockage local rapide (SSD de préférence)

HashR peut probablement fonctionner sur des machines avec des spécifications inférieures, mais cela n'a pas été testé en profondeur.

Compilation du binaire HashR et exécution des tests

Pour compiler le binaire hashr, exécutez la commande suivante :``` shell env GOOS=linux GOARCH=amd64 go build hashr.go

Pour exécuter les tests du package hashR principal, vous devez exécuter l'émulateur Spanner :``` shell
gcloud emulators spanner start

Ensuite, pour exécuter tous les tests, lancez la commande suivante :``` shell go test -timeout 2m ./...

## Configuration de HashR

### HashR dans l'infrastructure OSDFIR

Vous pouvez déployer HashR dans le cadre du [projet OSDFIR Infrastructure](https://github.com/google/osdfir-infrastructure/tree/main/charts/hashr)
Ce déploiement exécutera HashR sous forme de cronjobs Kubernetes et permet une intégration facile avec Timesketch.

### HashR avec Docker

Pour exécuter HashR dans un conteneur Docker, consultez le [guide spécifique à Docker](https://github.com/google/hashr/blob/main/docker/README.md)

### Configuration du système d'exploitation et outils tiers requis

HashR s'occupe du gros du travail (analyse d'images disque, de volumes, de systèmes de fichiers) en utilisant Plaso. Vous devez récupérer le conteneur Docker Plaso à l'aide de la commande suivante :``` shell
docker pull log2timeline/plaso

Nous avons également besoin que 7z, qui est utilisé par l'importateur WSUS pour l'extraction récursive des paquets Windows Update, soit installé sur la machine exécutant HashR :``` shell sudo apt install p7zip-full

Vous devez autoriser l'utilisateur sous lequel HashR s'exécutera à exécuter certaines commandes via sudo. En supposant que votre utilisateur est `hashr`, créez un fichier `/etc/sudoers.d/hashr` et insérez-y :``` shell
hashr ALL = (root) NOPASSWD: /bin/mount,/bin/umount,/sbin/losetup,/bin/rm

L'utilisateur sous lequel HashR sera exécuté devra également être en mesure d'exécuter docker. En supposant que votre utilisateur est hashr, ajoutez-le au groupe docker comme ceci :``` shell sudo usermod -aG docker hashr

### Configuration du stockage pour les tâches de traitement

HashR doit stocker des informations sur les sources traitées. Il stocke également des données de télémétrie supplémentaires sur les tâches de traitement : temps de traitement, nombre de fichiers extraits, etc. Vous pouvez choisir entre :

1. PostgreSQL
1. Cloud (GCP) Spanner

#### Configuration du stockage PostgreSQL

Il existe de nombreuses façons d'exécuter et de maintenir votre instance PostgreSQL. L'une des façons les plus simples serait de l'exécuter dans un conteneur Docker. Suivez les étapes ci-dessous pour configurer un conteneur Docker PostgreSQL.

Étape 1 : Tirez l'image Docker de PostgreSQL.``` shell
docker pull postgres

Étape 2 : Initialisez et exécutez le conteneur PostgreSQL en arrière-plan. Assurez-vous de modifier le mot de passe.``` shell docker run -itd -e POSTGRES_DB=hashr -e POSTGRES_USER=hashr -e POSTGRES_PASSWORD=hashr -p 5432:5432 -v /data:/var/lib/postgresql/data --name hashr_postgresql postgres

Étape 3: Créez une table qui sera utilisée pour stocker les tâches de traitement.``` shell
cat scripts/CreateJobsTable.sql | docker exec -i hashr_postgresql psql -U hashr -d hashr

Afin d'utiliser PostgreSQL pour stocker des informations sur les tâches de traitement, vous devez spécifier les options suivantes : -storage postgres -postgres_host <host> -postgres_port <port> -postgres_user <user> -postgres_password <pass> -postgres_db <db_name>

Configuration de Cloud Spanner

Vous pouvez choisir de stocker les données concernant les tâches de traitement dans Cloud Spanner. Vous aurez besoin d'un projet Google Cloud pour cela. Le principal avantage de cette configuration est que vous pouvez facilement créer des tableaux de bord à l'aide de Google Data Studio et vous connecter directement à l'instance Cloud Spanner, ce qui permet la surveillance et le débogage sans exécuter de requêtes sur votre instance PostgreSQL.

Télécharger l’outil