SecTools
Pequeña recopilación de algunas herramientas probadas. Va por orden de recomendación
katana
Instalación
Es un paquete go con instalación simple:
go install github.com/projectdiscovery/katana/cmd/katana@latest
Se recomienda instalar Google Chrome, pero es un adicional en su uso, no lo predeterminado
Opinión
Es una de las mejores adicciones a mi conjunto de herramientas. Con juice-shop, fue capaz de encontrar casi 79 url, hasta donde me puse a revisar, todas ellas tienen sentido. Como referencia, ZAP encontró 39 (Encontró otras URL, pero esa de assets). Así que no solo es un reemplazo, sino una mejora. En comparativa, parece solo no encontró algunos URL relacionadas con la capacidades de socket de la aplicación, y un endpoint hijo.

Nuclei
Instalación
Tienen su página de releases, pero se puede instalar en Fedora 39 con las herramientas de go:
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latestugo install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
Opinión
Me pareció una buena adicción a las herramientas que uso. Básicamente, puede dejar fuera a nikto, avisando de algunas librerías completas. Especial mención a que supo detectar que el sitio es el Juice Shop

fallparams
Instalación
No falta su página de releases, pero al estar escrito en Go, su instalación es más sencilla:
go install github.com/ImAyrix/fallparams@latest
Opinión
Lo que hace es crear una lista de parametros que la aplicación usa. En juice-shop, listo 848, pero de algunos parecen ser falsos positivos. Como sea, empezar a fuzzear con una lista así parece mucha mejor idea que usar una lista como trickest/wordlists, al menos en un primer intento.
fallparams -url http://juice-shop.sanidad.gob.sv/#/ --crawl --output parametros.lst

trickest/wordlists
Instalación
Con git, yo use --depth 1 para reducir un poco el tamaño del repositorio. Lo dejé a propósito en $HOME, así será más sencillo de referir
git clone --depth 1 https://github.com/trickest/wordlists
Opinión
A la fecha de escribir la reseña (marzo/2024), parece que el proyecto esta activo y recibe actualizaciones. Especial mención a que tiene un directorio technologies que en principio ayudaría a encontrar algunas CMS (Con las rutas por defecto) con solo un fuzzer. Acá esta una muestra parcial del contenido:

gobuster
Instalación:
Aparte de su página de releases, tienen imagen docker. Yo usé golang
go install github.com/OJ/gobuster/v3@latest
Opinión
La mayoría de modos tienen la opción -t para limitar el número de threads usados.
gobuster tiene más formas de enumeración disponibles que las basadas en consultas HTTP. Por ejemplo, dns, para encontrar subdominios:
gobuster dns -d sanidad.gob.sv -w ~/wordlists/inventory/subdomains.txt

Para encontrar sudirectorios, esta vez con HTTP:
gobuster dir -u http://juice-shop.sanidad.gob.sv -w ~/wordlists/robots/top-100.txt -b 200

No entendí porque fue necesario poner -b 200, pero de no usarlo la aplicación termina con la segunda petición hecha con un mensaje Error: the server returns a status code that matches the provided options for non existing urls. http://juice-shop.sanidad.gob.sv/ae1b1c19-5bc4-4c47-b640-4f4fa8367376 => 200 (Length: 3748). To continue please exclude the status code or the length
Nota: En este caso, la aplicación juice-shop retorna un 200 falso para todas las peticiones, y son aquellas rutas que realmente existen las que marcan el error 500. Funciona, pero no como se esperaba
Y tiene el modo FUZZ propiamente, en general, para buscar posibles parametros:
gobuster fuzz -u http://juice-shop.sanidad.gob.sv?FUZZ=test -w ~/wordlists/inventory/parameters.txt

Estas herramientas suelen ser tan útiles como la listas que se usen. Por si mismas, la aplicación es increíble. Me dejó más sorprendido de lo que ffuf me dejó
jwt-hack
Instalación
Pues el método que ya se esta volviendo común con todas estas herramientas:
go install github.com/hahwul/jwt-hack@latest
Opinión
No es precisamente perfecta, pero está bastante cerca a lo que andaba buscando. Puede decodificar, craquear en base a listas, y sobre todo, ya hace algunos payloads interesantes para trabajar con ellos:

ffuf
Instalación
Aunque tiene su página de releases, gracias a que esta escrito en go, podemos instalar fácilmente con las herramientas:
go install github.com/ffuf/ffuf/v2@latest
Opinión
Es una herramienta bastante completa en su tipo. Es posible configurar proxy (-x), cambiar el verbo HTTP (-X) y enviar contenido POST con -d. Agregando que tenemos -H ("Content-Type: application/json") para agregar cabeceras personalizadas, básicamente tenemos un cliente HTTP completo
En mi caso, use las opciones -rate (Configurado a 0 por defecto, es decir, sin límite) y -t (threads) para evitar que mi pequeño servidor de prueba colapsara.
Por defecto, FUZZ es el parametro que será cambiado desde la URL base.
Para buscar, por ejemplo, subdominios:
ffuf -rate 20 -t 20 -c -w $HOME/wordlists/inventory/levels/level1.txt -u http://FUZZ.sanidad.gob.sv/

jaeles
Instalación
Aunque esta escrito en go, la instalacion con go install me falló (Marzo/2024) y tuve que buscar los releases. A la fecha, todos son Beta:
unzip /home/alortiz/Descargas/jaeles-beta-v0.17.1-linux.zip -d /home/alortiz/bin/
jaeles config init
Opinión
Es un desarrollo aún muy temprano, pero promete mucho. En sí, el proyecto siempre será tan fuerte como lo sean sus signatures. Por defecto, se guardan en ~/.jaeles/base-signatures/, y de allí se pueden escoger la signature a usar.
Lo mejor es se podrían crear signatures propias, lo cual abre muchas posibilidades
jaeles scan -s 'nodejs' -s 'nginx' -u http://juice-shop.sanidad.gob.sv --debug
Use la opción --debug porque en realidad no emite NADA, y es un poco chocante

feroxbuster
Instalación
Como aplicación escrita en Rust y publicada en cargo, puede usarse cargo, pero esta vez lo hice con un script que ellos disponen para tal cosa:
curl -sL https://raw.githubusercontent.com/epi052/feroxbuster/master/install-nix.sh | bash -s $HOME/bin
Opinión
Otro fuzzer, lo veo un poco al menos nivel de ffuf, aunque tiene cosas como --extract-links…

Para revisar subdirectorios:
ffuf -rate 20 -t 20 -c -w $HOME/wordlists/robots/top-100.txt -u http://juice-shop.sanidad.gob.sv/FUZZ
Nota: Resulta que juice-shop devuelve un falso error 200 en casi todos, excepto en algunas rutas que si existen pero que requieren más parametros. Básicamente, acá funciona al revés de como se supone que la herramienta funciona, pero al final funciona y eso ya es importante
Para revisar posibles parametros:
ffuf -rate 20 -c -w $HOME/wordlists/inventory/parameters.txt -u http://juice-shop.sanidad.gob.sv?FUZZ=valor
HTTP Toolkit
Instalación
Tiene una página de descarga con instrucciones detalladas. Para Fedora 39, hay que descargar un zip y luego descomprimirlo en un lugar apropiado (Como root):
mkdir /opt/httptoolkit/
unzip /home/alortiz/Descargas/HttpToolkit-linux-x64-1.14.10.zip -d /opt/httptoolkit/
ln -s /opt/httptoolkit/httptoolkit /usr/local/bin/
Habría que abrirlo desde consola, o hacerle el entrada en el menú
Opinión
{% include gallery caption=“Uso de HTTP Toolkit” %}
Me parece que es solo una interfaz gráfica bonita, al menos en el modo gratuito, la mayoría de la funcionalidad de encuentra en mitmproxy, y el uso más avanzado, que yo mismo pensé que tenía, se encuentra en Burp. Sin embargo, la facilidad de uso es impresionante, sobre todo para Android
cariddi
Instalación
Punto para el hecho que esta en snap, pero aprovechando que lo que tengo más a la mano es golang:
go install -v github.com/edoardottt/cariddi/cmd/cariddi@latest
Opinión
Me parece que dió más información de hakrawler, y tiene más opciones interesantes, como almacenar las peticiones HTTP -sr

hakrawler
Instalación
Otra herramienta hecha en go:
go install github.com/hakluke/hakrawler@latest
Opinión
Es una herramienta bastante simple debería ser usada en conjunto a otras herramientas del creador, hakluke, que tiene contenido bastante intersante y digno de revisar. La herramienta es demasiado simple, pero efectiva, sobre todo a la hora de precisamente hacer Crawling

Osmedus
Instalación
Escrito en Go, pero falló la instalación por otros medios que no sean su script oficial de instalación:
bash <(curl -fsSL https://raw.githubusercontent.com/osmedeus/osmedeus-base/master/install.sh)
Opinión
Al final, internamente usa muchas más herramientas, así que quizá valga la pena revisar esas herramientas. Por alguna extraña razón, no es capaz de crear un buen reporte, quizá sea necesario darle otra oportunidad, pero algo me dice que no es algo que este buscando
osmedeus scan -f vuln -t juice-shop.sanidad.gob.sv

RustScan
Instalación
Tiene un artículo entero, yo lo construí desde cero
Opinión
Se supone que usa nmap para operar, así que no le ví mayor avance a usarlo en lugar del mismo. No le veo utilidad, en realidad, supongo que es un trabajo en proceso que despúes verá frutos