Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
hashr — Gera conjuntos de hashes forenses de arquivos a partir de imagens de disco, pacotes e arquivos em GCP, AWS e fontes locais, com deduplicação e exportação para PostgreSQL/Spanner para fluxos de trabalho de DFIR. | Kitploit
Ferramentas/GitHubGitHub/google/hashr
Forensia de DiscoAnálise de HashAnálise ForenseForensia DigitalResposta a Incidentes
GitHubgoogle/hashr

hashr

Gera conjuntos de hashes forenses de arquivos a partir de imagens de disco, pacotes e arquivos em GCP, AWS e fontes locais, com deduplicação e exportação para PostgreSQL/Spanner para fluxos de trabalho de DFIR.

Ver Repositório
130938há 7 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

HashR: Gere o seu próprio conjunto de hashes



Índice

  • HashR: Gere o seu próprio conjunto de hashes
    • Índice
    • Sobre
    • Requisitos
    • Compilando o binário do HashR e executando testes
    • Configurando o HashR
      • HashR usando docker
      • Configuração do SO & ferramentas de terceiros necessárias
      • Configurando armazenamento para tarefas de processamento
        • Configurando armazenamento PostgreSQL
        • Configurando Cloud Spanner
      • Configurando importadores
        • GCP (Google Cloud Platform)
        • AWS (Amazon Web Services)
        • GCR (Google Container Registry)
        • Windows
        • WSUS
        • TarGz
        • Deb
        • RPM
        • Zip (e outros formatos semelhantes a zip)
        • ISO 9660
      • Configurando exportadores
        • Configurando o exportador Postgres
        • Configurando o exportador GCP
      • Flags adicionais

Sobre

O HashR permite que você crie seus próprios conjuntos de hashes com base nas suas fontes de dados. É uma ferramenta que extrai arquivos e hashes de fontes de entrada (por exemplo, imagem de disco bruta, imagem de disco do GCE, arquivo ISO, pacote de atualização do Windows, arquivo .tar.gz, etc.).

O HashR consiste nos seguintes componentes:

  1. Importadores, responsáveis por copiar a fonte para o armazenamento local e realizar qualquer pré-processamento necessário.
  2. Núcleo, que cuida da extração do conteúdo da fonte usando image_export.py (Plaso), cache e deduplicação em nível de repositório e prepara os arquivos extraídos para os exportadores.
  3. Exportadores, responsáveis por exportar arquivos, metadados e hashes para os destinos de dados fornecidos.

Importadores atualmente implementados:

  1. GCP, que extrai arquivos das imagens de disco base do GCP.
  2. Windows, que extrai arquivos de mídia de instalação do Windows em formato ISO-13346.
  3. WSUS, que extrai arquivos de pacotes do Windows Update.
  4. GCR, que extrai arquivos de imagens de contêiner armazenadas no Google Container Registry.
  5. TarGz, que extrai arquivos de arquivos .tar.gz.
  6. Deb, que extrai arquivos de pacotes de software Debian.
  7. RPM, que extrai arquivos de pacotes de software RPM.
  8. Zip, que extrai arquivos de arquivos .zip (e formatos semelhantes a zip).

Depois que os arquivos são extraídos e o hash é calculado, os resultados são passados aos exportadores, atualmente implementados:

  1. PostgreSQL, que faz o upload dos dados para uma instância PostgreSQL.
  2. Cloud Spanner, que faz o upload dos dados para uma instância Spanner do GCP.

Você pode escolher quais importadores deseja executar; cada um tem requisitos diferentes. Mais informações sobre isso podem ser encontradas nas seções abaixo.

Requisitos

O HashR requer Linux para ser executado, podendo ser uma máquina física, virtual ou na nuvem. Abaixo estão os requisitos de hardware ideais:

  1. 8-16 núcleos
  2. 128GB de memória
  3. 2TB de armazenamento local rápido (SSDs preferidos)

O HashR provavelmente pode rodar em máquinas com especificações inferiores, porém isso não foi testado de forma completa.

Compilando o binário do HashR e executando testes

Para compilar um binário hashr, execute o seguinte comando:``` shell env GOOS=linux GOARCH=amd64 go build hashr.go

Para executar testes para o pacote hashR principal, você precisa executar o emulador do Spanner:``` shell
gcloud emulators spanner start

Em seguida, para executar todos os testes, execute o seguinte comando:``` shell go test -timeout 2m ./...

## Configurando o HashR

### HashR na infraestrutura OSDFIR

Você pode implantar o HashR como parte do [projeto OSDFIR Infrastructure](https://github.com/google/osdfir-infrastructure/tree/main/charts/hashr)
Essa implantação executará o HashR como cronjobs do Kubernetes e permite uma fácil
integração com o Timesketch.

### HashR usando docker

Para executar o HashR em um contêiner docker, visite o [guia específico do docker](https://github.com/google/hashr/blob/main/docker/README.md)

### Configuração do SO e ferramentas de terceiros necessárias

O HashR cuida do trabalho pesado (análise de imagens de disco, volumes, sistemas de arquivos) usando o Plaso. Você precisa baixar o contêiner docker do Plaso usando o seguinte comando:``` shell
docker pull log2timeline/plaso

Também precisamos que o 7z, usado pelo importador WSUS para extração recursiva de pacotes do Windows Update, esteja instalado na máquina que executa o HashR:``` shell sudo apt install p7zip-full

Você precisa permitir que o usuário, sob o qual o HashR será executado, execute determinados comandos via sudo. Supondo que seu usuário seja `hashr`, crie um arquivo `/etc/sudoers.d/hashr` e coloque:``` shell
hashr ALL = (root) NOPASSWD: /bin/mount,/bin/umount,/sbin/losetup,/bin/rm

O usuário sob o qual o HashR será executado também precisará conseguir executar o docker. Supondo que seu usuário seja hashr, adicione-o ao grupo docker assim:``` shell sudo usermod -aG docker hashr

### Configurando armazenamento para tarefas de processamento

O HashR precisa armazenar informações sobre fontes processadas. Ele também armazena telemetria adicional sobre tarefas de processamento: tempos de processamento, número de arquivos extraídos, etc. Você pode escolher entre usar:

1. PostgreSQL
1. Cloud (GCP) Spanner

#### Configurando armazenamento PostgreSQL

Existem muitas maneiras de executar e manter sua instância PostgreSQL; uma das mais simples seria executá-la em um contêiner Docker. Siga as etapas abaixo para configurar um contêiner Docker PostgreSQL.

Etapa 1: Baixe a imagem Docker do PostgreSQL.``` shell
docker pull postgres

Passo 2: Inicialize e execute o contêiner PostgreSQL em segundo plano. Certifique-se de ajustar a senha.``` 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

Passo 3: Crie uma tabela que será usada para armazenar tarefas de processamento.``` shell
cat scripts/CreateJobsTable.sql | docker exec -i hashr_postgresql psql -U hashr -d hashr

Para usar o PostgreSQL para armazenar informações sobre tarefas de processamento, você precisa especificar as seguintes flags: -storage postgres -postgres_host <host> -postgres_port <port> -postgres_user <user> -postgres_password <pass> -postgres_db <db_name>

Configurando o Cloud Spanner

Você pode optar por armazenar os dados sobre os trabalhos de processamento no Cloud Spanner. Você precisará de um projeto do Google Cloud para isso. A principal vantagem dessa configuração é que você pode criar facilmente painéis (dashboards) usando o Google Data Studio e conectar-se diretamente à instância do Cloud Spanner, o que permite monitoramento e depuração sem executar consultas na sua instância do PostgreSQL.

Supondo que a ferramenta gcloud esteja configurada com o seu projeto GCP hashr de destino, você precisará seguir as etapas abaixo para habilitar o Cloud Spanner.

Baixar ferramenta