Saltar al contenido
OPS // KITitspentest.sh

E-JQ

jq

Filtra y transforma JSON de APIs, CLIs cloud y archivos de loot en una sola línea.

Sitio oficialVolver al catálogo

RESUMEN

jq (jqlang.org) es un binario C pequeño que lee JSON de stdin o de un archivo y le aplica un filtro — elegir claves, mapear arrays, armar un objeto nuevo — sin runtime más allá del propio binario. Por eso es el pegamento por defecto entre curl, kubectl, las CLIs de AWS/Azure/gcloud y lo que quieras encadenar después.

`.` formatea. `.items[].metadata.name` recorre una lista típica de Kubernetes. `-r` quita comillas para que el resultado sea una lista de hosts en texto plano. Los filtros son programas; gárdalos en un archivo cuando pasen de una línea, y deja una copia junto al JSON crudo para que el informe muestre de dónde salió un número.

CASOS DE USO

Casos de uso en un engagement

  • 01

    Sacar una columna de hostnames o IDs de un volcado JSON de una CLI cloud.

  • 02

    Formatear una respuesta de API guardada con curl antes de leerla.

  • 03

    Armar un CSV o lista de hosts para el siguiente escáner a partir de loot JSON mixto.

  • 04

    Comprobar si una clave de secreto o token está presente en un documento capturado.

PRIMEROS PASOS

Cuando una herramienta o API ya te dio JSON y necesitas un campo, una tabla o una lista de hosts en vez de leer el bloque a ojo.

  1. Conserva el JSON crudo; corre jq contra una copia para poder repetir el filtro.
  2. Empieza con `.` para confirmar que el documento parsea.
  3. Llega al array u objeto que te importa y luego saca con `-r` el campo que quieres.
  4. Guarda el filtro junto a la entrada cuando la derivación vaya a salir en el informe.
jq -r '.items[].metadata.name' pods.json

ANTES DE USARLA

Qué revisar antes de lanzarla

Una ruta mal puesta da salida vacía, no un error — cruza conteos con el documento crudo antes de dar una lista por completa.

jq imprimirá sin quejarse secretos que estaban en el JSON; trata la salida filtrada con las mismas reglas que el archivo de origen.

Documentos enormes pueden agotar memoria; usa `--stream` o parte la entrada en vez de cargar un volcado de varios gigabytes.

SIGUE EXPLORANDO

Ver toda la fase →