
Outil basé sur Go qui scanne les pages web et les fichiers JavaScript pour découvrir des sous-domaines et secrets cachés, avec un crawl optionnel et une analyse de proxy en temps réel pour les workflows de bug bounty et de tests d'intrusion.

JSubFinder est un outil écrit en Go pour rechercher dans les pages web et le JavaScript des sous-domaines cachés et des secrets dans une URL donnée. Développé en pensant aux chasseurs de bug bounty, JSubFinder tire parti des performances exceptionnelles de Go, lui permettant d'utiliser de grands ensembles de données et d'être facilement enchaîné avec d'autres outils.

Installez l'application et téléchargez les signatures nécessaires pour trouver des secrets
En utilisant Go :
go install github.com/ThreatUnkown/jsubfinder@latest
wget https://raw.githubusercontent.com/ThreatUnkown/jsubfinder/master/.jsf_signatures.yaml && mv .jsf_signatures.yaml ~/.jsf_signatures.yaml
ou
Recherchez dans les URLs données des sous-domaines et des secrets
$ jsubfinder search -h
Execute the command specified
Usage:
JSubFinder search [flags]
Flags:
-c, --crawl Enable crawling
-g, --greedy Check all files for URL's not just Javascript
-h, --help help for search
-f, --inputFile string File containing domains
-t, --threads int Ammount of threads to be used (default 5)
-u, --url strings Url to check
Global Flags:
-d, --debug Enable debug mode. Logs are stored in log.info
-K, --nossl Skip SSL cert verification (default true)
-o, --outputFile string name/location to store the file
-s, --secrets Check results for secrets e.g api keys
--sig string Location of signatures for finding secrets
-S, --silent Disable printing to the console
Exemples (les résultats sont les mêmes dans ce cas) :
$ jsubfinder search -u www.google.com
$ jsubfinder search -f file.txt
$ echo www.google.com | jsubfinder search
$ echo www.google.com | httpx --silent | jsubfinder search$
apis.google.com
ogs.google.com
store.google.com
mail.google.com
accounts.google.com
www.google.com
policies.google.com
support.google.com
adservice.google.com
play.google.com
note : --secrets="" enregistrera les résultats de secrets dans un fichier secrets.txt
$ echo www.youtube.com | jsubfinder search --secrets=""
www.youtube.com
youtubei.youtube.com
payments.youtube.com
2Fwww.youtube.com
252Fwww.youtube.com
m.youtube.com
tv.youtube.com
music.youtube.com
creatoracademy.youtube.com
artists.youtube.com
Google Cloud API Key <redacted> found in content of https://www.youtube.com
Google Cloud API Key <redacted> found in content of https://www.youtube.com
Google Cloud API Key <redacted> found in content of https://www.youtube.com
Google Cloud API Key <redacted> found in content of https://www.youtube.com
Google Cloud API Key <redacted> found in content of https://www.youtube.com
Google Cloud API Key <redacted> found in content of https://www.youtube.com
$ echo www.google.com | jsubfinder search -crawl -s "google_secrets.txt" -S -o jsf_google.txt -t 10 -g
-crawl utilise le crawler par défaut pour parcourir les pages à la recherche d'autres URLs à analyser-s active la recherche de secrets par JSubFinder-S désactive la sortie dans la console-o <fichier> enregistre la sortie dans le fichier spécifié-t 10 utilise 10 threads-g cherche du JavaScript dans chaque URL, même celles qui n'en contiennent pas a prioriActive le proxy HTTP amont avec prise en charge TLS MITM. Cela vous permet de :
$ JSubFinder proxy -h
Execute the command specified
Usage:
JSubFinder proxy [flags]
Flags:
-h, --help help for proxy
-p, --port int Port for the proxy to listen on (default 8444)
--scope strings Url's in scope seperated by commas. e.g www.google.com,www.netflix.com
-u, --upstream-proxy string Adress of upsteam proxy e.g http://127.0.0.1:8888 (default "http://127.0.0.1:8888")
Global Flags:
-d, --debug Enable debug mode. Logs are stored in log.info
-K, --nossl Skip SSL cert verification (default true)
-o, --outputFile string name/location to store the file
-s, --secrets Check results for secrets e.g api keys
--sig string Location of signatures for finding secrets
-S, --silent Disable printing to the console
$ jsubfinder proxy
Proxy started on :8444
Subdomain: out.reddit.com
Subdomain: www.reddit.com
Subdomain: 2Fwww.reddit.com
Subdomain: alb.reddit.com
Subdomain: about.reddit.com
Burp Suite transmettra désormais tout le trafic qui le traverse à JSubFinder. JSubFinder récupérera la réponse, la retournera à Burp et, dans un autre thread, recherchera les sous-domaines et les secrets.
proxify -output logsjsubfinder proxy -u http://127.0.0.1:8443replay -output logs -burp-addr http://127.0.0.1:8444Simple, exécutez JSubFinder en mode proxy sur un autre serveur, par exemple 192.168.1.2. Suivez les étapes du proxy ci-dessus mais définissez le proxy amont de votre application sur 192.168.1.2:8443
$ jsubfinder proxy --scope www.reddit.com -p 8081 -S -o jsf_reddit.txt
--scope limite JSubFinder à l'analyse des réponses provenant de www.reddit.com uniquement-p port sur lequel le serveur proxy de JSubFinder est en cours d'exécution-S désactive la sortie vers la console/stdout-o <fichier> enregistre les exemples dans ce fichier