Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
anubis-fetch — Como curl, pero logra pasar los muros antibots de Anubis y Cloudflare. | Kitploit
Herramientas/GitHubGitHub/fzakaria/anubis-fetch
Scripting y AutomatizaciónEvasión de WAFSeguridad WebUtilidades y FrameworksAnti-BotSuplantación de Huella Digital
GitHubfzakaria/anubis-fetch

anubis-fetch

Como curl, pero logra pasar los muros antibots de Anubis y Cloudflare.

Ver Repositorio
30110hace 2 díasRevisado 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

anubis-fetch

Built with Nix CI License: MIT

root@kitploit:~
$ nix run github:fzakaria/anubis-fetch -- https://lore.kernel.org/linux-mm/some-thread/T/

Una CLI rápida (en Go) para obtener URLs desde detrás de muros de prueba de trabajo de Anubis y comprobaciones de huella digital de Cloudflare — resolviendo el desafío en el propio proceso, y usando un navegador real solo cuando es necesario.

Un número creciente de sitios — lore.kernel.org, GNOME, kernel.org y muchos más — están detrás de Anubis, un muro antibots que hace que tu navegador resuelva una prueba de trabajo SHA-256 antes de servir cualquier contenido. Es excelente para detener a los scrapers. También es excelente para detenerte a ti cuando solo quieres hacer curl a un hilo de lista de correo:

root@kitploit:~
$ curl -s https://lore.kernel.org/linux-mm/some-thread/T/ | grep -o '<title>.*</title>'
<title>Making sure you&#39;re not a bot!</title>   # 🤢

anubis-fetch te devuelve la página real:

root@kitploit:~
$ anubis-fetch https://lore.kernel.org/linux-mm/some-thread/T/ | grep -o '<title>.*</title>'
<title>[PATCH 0/2] ...</title>                     # 🥳

Cómo funciona

Los muros antibots operan en dos capas diferentes, y anubis-fetch maneja ambas, primero el paso más barato:

  1. Reutilizar una cookie guardada. Anubis entrega una cookie de autenticación firmada (techaro.lol-anubis-auth) después de que pases una vez; un navegador no vuelve a ser desafiado en la siguiente visita, y nosotros tampoco. Las cookies se guardan por host (ver Persistencia de cookies).
  2. Resolver la prueba de trabajo en el propio proceso. La solicitud sale a través de req haciéndose pasar por un Chrome real — misma huella TLS/JA3 + HTTP/2 — lo que también supera el rastreo pasivo de Cloudflare. Si la respuesta es un desafío de Anubis, forzamos el nonce por fuerza bruta y lo enviamos. Sin navegador, ~0.6s.
  3. Recurrir a un navegador real. Para cualquier cosa que la ruta rápida no pueda hacer, usamos Chromium sin interfaz gráfica mediante chromedp, que ejecuta el JavaScript que el sitio sirva.

[!NOTE] El respaldo se activa para: los métodos de desafío preact / metarefresh de Anubis, un método desconocido o futuro, una dificultad demasiado alta para fuerza bruta, una solución rechazada, o un desafío JS activo de Cloudflare (Managed Challenge / Turnstile / "I'm Under Attack"). La suplantación supera el Cloudflare pasivo; solo un navegador supera los niveles JS activos. Por lo tanto, anubis-fetch degrada a "más lento", nunca a "roto".

¿Por qué no usar un navegador para todo?

Porque es ~4× más lento y arrastra un Chromium de ~200 MB en cada descarga. El solucionador en proceso es el caso común; el navegador es la red de seguridad.

RutaTiempo real¿Necesita Chromium?
Solucionador (prueba de trabajo de Anubis)~0.6sno
Respaldo con navegador~2.0ssí

La prueba de trabajo de Anubis, en resumen

Anubis incrusta un desafío como JSON en la página:

root@kitploit:~
{"rules":{"algorithm":"fast","difficulty":4},
 "challenge":{"id":"…","method":"fast","randomData":"6214bd88…","difficulty":4}}

Resolverlo significa encontrar un nonce tal que hex(sha256(randomData ‖ nonce)) comience con difficulty caracteres cero (el nonce es su cadena en base 10). Luego devolvemos la respuesta:

root@kitploit:~
GET /.within.website/x/cmd/anubis/api/pass-challenge?id=…&response=<hash>&nonce=<n>&redir=<url>&elapsedTime=<ms>

…lo que establece la cookie de autenticación y redirige a la página real. La dificultad 4 (la predeterminada en lore/kernel.org/GNOME) es ~65k hashes — submilisegundo en Go.

Instalación

Ejecútalo directamente:

root@kitploit:~
$ nix run github:fzakaria/anubis-fetch -- <url>

Instálalo en tu perfil:

root@kitploit:~
$ nix profile install github:fzakaria/anubis-fetch

O agrégalo a tu propio flake:

root@kitploit:~
{
  inputs.anubis-fetch.url = "github:fzakaria/anubis-fetch";
  # then, e.g. in home.packages / environment.systemPackages:
  #   inputs.anubis-fetch.packages.${system}.default
}

Uso

root@kitploit:~
$ anubis-fetch [flags] URL
IndicadorSignificado
--textrenderizar texto plano legible en lugar de HTML
--timeout MStiempo de espera por paso en milisegundos (predeterminado 30000)
--ua STRINGsobrescribir el User-Agent
--browseromitir el solucionador; ir directo al navegador sin interfaz
--no-browserno usar nunca el navegador; salir con 3 si no se puede aplicar la resolución
--no-cacheno leer ni escribir el almacén de cookies persistente
root@kitploit:~
# HTML to stdout
$ anubis-fetch https://lore.kernel.org/linux-mm/some-thread/T/

# readable plain text
$ anubis-fetch --text https://lore.kernel.org/linux-mm/some-thread/T/

# lean/fast only — useful in scripts; exits 3 if it would need a browser
$ anubis-fetch --no-browser https://example.com/ && echo "got it"

Persistencia de cookies

Después de una descarga exitosa, la cookie de autenticación se escribe en $XDG_CACHE_HOME/anubis-fetch/cookies/<host>.json (con respaldo en ~/.cache/…). La siguiente ejecución para ese host pasa directo — sin prueba de trabajo, sin navegador — exactamente como una revisita del navegador. Las cookies obtenidas mediante el respaldo del navegador también se guardan, de modo que una ejecución posterior puede tomar la ruta HTTP rápida. Usa --no-cache para deshabilitarlo, o simplemente elimina el archivo para forzar una nueva resolución.

Desarrollo

Todo está conectado a través del flake:

root@kitploit:~
$ nix develop          # dev shell: go, gopls, chromium, treefmt
$ go test ./...        # unit tests (hermetic — no network)
$ nix build            # build the wrapped binary
$ nix flake check      # build + tests + formatting
$ nix fmt              # format Go + Nix via treefmt (gofmt + alejandra)

La implementación de la prueba de trabajo está fijada contra el vector de prueba publicado por el propio Anubis (sha256("hunter" + "0")) de modo que una deriva en la construcción del hash falla una prueba unitaria en lugar de devolver silenciosamente basura.

Trabajos previos y agradecimientos

  • TecharoHQ/anubis — el muro antibots con el que esto negocia cortésmente.
  • imroc/req — el cliente HTTP cuya suplantación de Chrome supera el rastreo pasivo de Cloudflare.
  • chromedp/chromedp — maneja el respaldo del navegador sin interfaz.
Descargar herramienta