Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
terrier — Terrier es una herramienta de análisis de imágenes y contenedores que se puede utilizar para escanear imágenes y contenedores para identificar y verificar la presencia de archivos específicos según sus hashes. | Kitploit
Herramientas/GitHubGitHub/heroku/terrier
Seguridad de ContenedoresAnálisis de VulnerabilidadesAnálisis de HashSeguridad de Cadena de Suministro
GitHubheroku/terrier

terrier

Terrier es una herramienta de análisis de imágenes y contenedores que se puede utilizar para escanear imágenes y contenedores para identificar y verificar la presencia de archivos específicos según sus hashes.

Ver Repositorio
2271570hace 3 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Logo de Terrier

Terrier

Terrier es una herramienta de análisis de imágenes y contenedores que se puede utilizar para escanear imágenes OCI y contenedores para identificar y verificar la presencia de archivos específicos según sus hashes. Un artículo detallado sobre Terrier se puede encontrar en el blog de Heroku, https://blog.heroku.com/terrier-open-source-identifying-analyzing-containers.

Instalación

Binarios

Para instrucciones de instalación desde binarios, visite la Página de lanzamientos.

A través de Go

$ go get github.com/heroku/terrier

Compilación desde el código fuente

A través de go

$ go build

o

$ make all

Uso

$ ./terrier -h
Usage of ./terrier:
  -cfg string
        Load config from provided yaml file (default "cfg.yml")

Se requiere un TAR OCI de la imagen a escanear, el cual se proporciona a Terrier a través del valor 'Image' en el cfg.yml.

El siguiente comando de Docker se puede utilizar para convertir una imagen de Docker en un TAR que pueda ser escaneado por Terrier.

# docker save imageid -o image.tar
$ ./terrier 
[+] Loading config: cfg.yml
[+] Analysing Image
[+] Docker Image Source:  image.tar
[*] Inspecting Layer:  05c3c2c60920f68b506d3c66e0f6148b81a8b0831388c2d61be5ef02190bcd1f
[!] All components were identified and verified: (493/493)

Ejemplo de configuración YML

Terrier analiza YAML, a continuación se muestra un ejemplo de configuración.

# ESTO ES UN EJEMPLO DE CONFIGURACIÓN, MODIFÍQUELO SEGÚN SUS NECESIDADES

mode: image
image: image.tar
# mode: container
# path: merged
# verbose: true
# veryverbose: true

files:
  - name: '/usr/bin/curl'
    hashes:
      - hash: '2353cbb7b47d0782ba8cdd9c7438b053c982eaaea6fbef8620c31a58d1e276e8'
      - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aaa'
      - hash: '9a43cb726fef31f272333b236ff1fde4beab363af54d0bc99c304450065d9c96'
      - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
  - name: '/usr/bin/go'
    hashes:
      - hash: '2353cbb7b47d0782ba8cdd9c7438b053c982eaaea6fbef8620c31a58d1e276e8'

# DESCOMENTE PARA ANALIZAR HASHES
#     hashes:
#       - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
#       - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aa'
#       - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41aa'

¿Qué hace Terrier?

Terrier es una herramienta de línea de comandos que le permite:

  • Escanear una imagen OCI en busca de uno o más archivos que coincidan con uno o más hashes SHA256 proporcionados
  • Escanear un contenedor en ejecución en busca de uno o más archivos que coincidan con uno o más hashes SHA256 proporcionados

¿Para qué sirve Terrier?

Escenario 1

Terrier se puede utilizar para verificar si una imagen OCI específica está utilizando un binario específico, lo cual es útil en un escenario de verificación de la cadena de suministro. Por ejemplo, es posible que queramos comprobar que una imagen Docker específica está utilizando una versión o versiones específicas de cURL. En este caso, se proporcionan a Terrier los hashes SHA256 de los binarios que son de confianza.

Un archivo YAML de ejemplo para este escenario podría verse así:

mode: image
# verbose: true
# veryverbose: true
image: golang1131.tar

files:
  - name: '/usr/local/bin/analysis.sh'
    hashes:
       - hash: '9adc0bf7362bb66b98005aebec36691a62c80d54755e361788c776367d11b105'
  - name: '/usr/bin/curl'
    hashes:
       - hash: '23afbfab4f35ac90d9841a6e05f0d1487b6e0c3a914ea8dab3676c6dde612495'
  - name: '/usr/local/bin/staticcheck'
    hashes:
       - hash: '73f89162bacda8dd2354021dc56dc2f3dba136e873e372312843cd895dde24a2'

Escenario 2

Terrier se puede utilizar para verificar la presencia de un archivo o archivos particulares en una imagen OCI según un conjunto de hashes proporcionados. Esto puede ser útil para comprobar si una imagen OCI contiene un archivo malicioso o un archivo que debe ser identificado.

Un archivo YAML de ejemplo para este escenario podría verse así:

mode: image
# verbose: true
# veryverbose: true
image: alpinetest.tar
hashes:
  - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521f'
  - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2'
  - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41'
  - hash: '9a43cb726fef31f272333b236ff1fde4beab363af54d0bc99c304450065d9c96'

Escenario 3

Terrier se puede utilizar para verificar los componentes de los contenedores en tiempo de ejecución analizando el contenido de /var/lib/docker/overlay2/.../merged. Un archivo YAML de ejemplo para este escenario podría verse así:

mode: container
verbose: true
# veryverbose: true
# image: latestgo13.tar
path: merged

files:
  - name: '/usr/local/bin/analysis.sh'
    hashes:
       - hash: '9adc0bf7362bb66b98005aebec36691a62c80d54755e361788c776367d11b105'
  - name: '/usr/local/go/bin/go'
    hashes:
       - hash: '23afbfab4f35ac90d9841a6e05f0d1487b6e0c3a914ea8dab3676c6dde612495'
  - name: '/usr/local/bin/staticcheck'
    hashes:
       - hash: '73f89162bacda8dd2354021dc56dc2f3dba136e873e372312843cd895dde24a2'
  - name: '/usr/local/bin/gosec'
    hashes:
       - hash: 'e7cb8304e032ccde8e342a7f85ba0ba5cb0b8383a09a77ca282793ad7e9f8c1f'
  - name: '/usr/local/bin/errcheck'
    hashes:
       - hash: '41f725d7a872cad4ce1f403938937822572e0a38a51e8a1b29707f5884a2f0d7'
  - name: '/var/lib/dpkg/info/apt.postrm'
    hashes:
       - hash: '6a8f9af3abcfb8c6e35887d11d41a83782b50f5766d42bd1e32a38781cba0b1c'

Uso

Ejemplo 1

Terrier es una CLI y utiliza YAML. Un ejemplo de configuración YAML:

mode: image
# verbose: true
# veryverbose: true
image: alpinetest.tar
files:
  - name: '/usr/local/go/bin/go'
    hashes:
      - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521f'
      - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aaa'
      - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41aaa'
      - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
  - name: '/usr/bin/delpart'
    hashes:
      - hash: '9a43cb726fef31f272333b236ff1fde4beab363af54d0bc99c304450065d9c96aaa'
  - name: '/usr/bin/stdbuf'
    hashes:
      - hash: '8b7c559b8cccca0d30d01bc4b5dc944766208a53d18a03aa8afe97252207521faa'
      - hash: '22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2aa'
      - hash: '60a2c86db4523e5d3eb41a247b4e7042a21d5c9d483d59053159d9ed50c8aa41aa'
Descargar herramienta