
Инструмент на Go, который сканирует веб-страницы и JavaScript-файлы для обнаружения скрытых поддоменов и секретов, с опциональным краулингом и анализом прокси в реальном времени для баг-баунти и тестирования на проникновение.

JSubFinder — это инструмент, написанный на Go, для поиска скрытых поддоменов и секретов на веб-страницах и в JavaScript по заданному URL. Разработанный с учетом потребностей BugBounty-охотников, JSubFinder использует преимущества впечатляющей производительности Go, что позволяет ему работать с большими наборами данных и легко объединяться с другими инструментами.

Установите приложение и загрузите сигнатуры, необходимые для поиска секретов
Через 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
или
Ищет поддомены и секреты по заданным URL
$ 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
Примеры (результаты в данном случае одинаковы):
$ 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
примечание: --secrets="" сохранит результаты поиска секретов в файл 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 — использование стандартного обходчика для анализа страниц и поиска других URL-s — включает поиск секретов в JSubFinder-S — отключает вывод в консоль-o <file> — сохраняет вывод в указанный файл-t 10 — использование 10 потоков-g — проверять все URL на наличие JS, даже те, где мы не ожидаем его найтиВключает вышестоящий HTTP-прокси с поддержкой TLS MITM. Это позволяет:
$ 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 теперь будет перенаправлять весь трафик через себя в JSubFinder. JSubFinder получит ответ, вернёт его в Burp и в другом потоке выполнит поиск поддоменов и секретов.
proxify -output logsjsubfinder proxy -u http://127.0.0.1:8443replay -output logs -burp-addr http://127.0.0.1:8444Просто запустите JSubFinder в режиме прокси на другом сервере, например 192.168.1.2. Выполните шаги для прокси, но укажите вышестоящий прокси вашего приложения как 192.168.1.2:8443
$ jsubfinder proxy --scope www.reddit.com -p 8081 -S -o jsf_reddit.txt
--scope — ограничивает JSubFinder анализом ответов только от www.reddit.com-p — порт, на котором работает прокси-сервер JSubFinder-S — отключает вывод в консоль/stdout-o <file> — сохраняет примеры в этот файл