Skip to content

Commit d282967

Browse files
authored
Merge pull request #882 from six2dez/dev
Dev
2 parents a414267 + e632337 commit d282967

File tree

5 files changed

+95
-27
lines changed

5 files changed

+95
-27
lines changed

README.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
</h1>
88

99
<p align="center">
10-
<a href="https://github.com/six2dez/reconftw/releases/tag/v2.8.1">
11-
<img src="https://img.shields.io/badge/release-v2.8.1-green">
10+
<a href="https://github.com/six2dez/reconftw/releases/tag/v2.9">
11+
<img src="https://img.shields.io/badge/release-v2.9-green">
1212
</a>
1313
</a>
1414
<a href="https://opensource.org/licenses/MIT">
@@ -144,9 +144,9 @@ Yes! reconFTW can also be easily deployed with Terraform and Ansible to AWS, if
144144
<summary> :point_right: Click here to view default config file :point_left: </summary>
145145

146146
```yaml
147-
#################################################################
147+
#############################################
148148
# reconFTW config file #
149-
#################################################################
149+
#############################################
150150

151151
# General values
152152
tools=~/Tools # Path installed tools
@@ -162,8 +162,6 @@ proxy_url="http://127.0.0.1:8080/" # Proxy url
162162
install_golang=true # Set it to false if you already have Golang configured and ready
163163
upgrade_tools=true
164164
upgrade_before_running=false # Upgrade tools before running
165-
#SPINNY_FRAMES=(. .. ... .... ..... " ...." " ..." " .." " ." " " )
166-
SPINNY_DELAY=0.1
167165
#dir_output=/custom/output/path
168166

169167
# Golang Vars (Comment or change on your own)
@@ -201,6 +199,8 @@ DOMAIN_INFO=true # whois info
201199
REVERSE_WHOIS=true # amass intel reverse whois info, takes some time
202200
IP_INFO=true # Reverse IP search, geolocation and whois
203201
API_LEAKS=true # Check for API leaks
202+
THIRD_PARTIES=true # Check for 3rd parties misconfigs
203+
SPOOF=true # Check spoofable domains
204204
METAFINDER_LIMIT=20 # Max 250
205205

206206
# Subdomains
@@ -238,8 +238,10 @@ UNCOMMON_PORTS_WEB="81,300,591,593,832,981,1010,1311,1099,2082,2095,2096,2480,30
238238
# Host
239239
FAVICON=true # Check Favicon domain discovery
240240
PORTSCANNER=true # Enable or disable the whole Port scanner module
241+
GEO_INFO=true # Fetch Geolocalization info
241242
PORTSCAN_PASSIVE=true # Port scanner with Shodan
242243
PORTSCAN_ACTIVE=true # Port scanner with nmap
244+
PORTSCAN_ACTIVE_OPTIONS="--top-ports 200 -sV -n -Pn --open --max-retries 2 --script vulners"
243245
CDN_IP=true # Check which IPs belongs to CDN
244246

245247
# Web analysis
@@ -256,6 +258,7 @@ URL_GF=true # Url patterns classification
256258
URL_EXT=true # Returns a list of files divided by extension
257259
JSCHECKS=true # JS analysis
258260
FUZZ=true # Web fuzzing
261+
IIS_SHORTNAME=true
259262
CMS_SCANNER=true # CMS scanner
260263
WORDLIST=true # Wordlist generation
261264
ROBOTSWORDLIST=true # Check historic disallow entries on waybackMachine
@@ -292,12 +295,12 @@ DEEP=false # DEEP mode, really slow and don't care about the number of results
292295
DEEP_LIMIT=500 # First limit to not run unless you run DEEP
293296
DEEP_LIMIT2=1500 # Second limit to not run unless you run DEEP
294297
DIFF=false # Diff function, run every module over an already scanned target, printing only new findings (but save everything)
295-
REMOVETMP=false # Delete temporary files after execution (to free up space)
298+
REMOVETMP=true # Delete temporary files after execution (to free up space)
296299
REMOVELOG=false # Delete logs after execution
297300
PROXY=false # Send to proxy the websites found
298301
SENDZIPNOTIFY=false # Send to zip the results (over notify)
299302
PRESERVE=true # set to true to avoid deleting the .called_fn files on really large scans
300-
FFUF_FLAGS=" -mc all -fc 404 -ach -sf -of json" # Ffuf flags
303+
FFUF_FLAGS=" -mc all -fc 404 -sf -noninteractive -of json" # Ffuf flags
301304
HTTPX_FLAGS=" -follow-redirects -random-agent -status-code -silent -title -web-server -tech-detect -location -content-length" # Httpx flags for simple web probing
302305

303306
# HTTP options
@@ -318,7 +321,6 @@ PUREDNS_TRUSTED_LIMIT=400
318321
PUREDNS_WILDCARDTEST_LIMIT=30
319322
PUREDNS_WILDCARDBATCH_LIMIT=1500000
320323
RESOLVE_DOMAINS_THREADS=150
321-
PPFUZZ_THREADS=30
322324
DNSVALIDATOR_THREADS=200
323325
INTERLACE_THREADS=10
324326
TLSX_THREADS=1000
@@ -482,6 +484,8 @@ reset='\033[0m'
482484
- Google Dorks ([dorks_hunter](https://github.com/six2dez/dorks_hunter))
483485
- Github Dorks ([gitdorks_go](https://github.com/damit5/gitdorks_go))
484486
- GitHub org analysis ([enumerepo](https://github.com/trickest/enumerepo), [trufflehog](https://github.com/trufflesecurity/trufflehog) and [gitleaks](https://github.com/gitleaks/gitleaks))
487+
- 3rd parties misconfigurations([misconfig-mapper](https://github.com/intigriti/misconfig-mapper))
488+
- Spoofable domains ([spoofcheck](https://github.com/MattKeeley/Spoofy))
485489

486490
## Subdomains
487491

@@ -508,6 +512,7 @@ reset='\033[0m'
508512
- Port Scanner (Active with [nmap](https://github.com/nmap/nmap) and passive with [smap](https://github.com/s0md3v/Smap))
509513
- Port services vulnerability checks ([vulners](https://github.com/vulnersCom/nmap-vulners))
510514
- Password spraying ([brutespray](https://github.com/x90skysn3k/brutespray))
515+
- Geolocalization info (ipapi.co)
511516

512517
## Webs
513518

@@ -518,7 +523,8 @@ reset='\033[0m'
518523
- Url extraction ([gau](https://github.com/lc/gau),[waymore](https://github.com/xnl-h4ck3r/waymore), [katana](https://github.com/projectdiscovery/katana), [github-endpoints](https://gist.github.com/six2dez/d1d516b606557526e9a78d7dd49cacd3) and [JSA](https://github.com/w9w/JSA))
519524
- URL patterns Search and filtering ([urless](https://github.com/xnl-h4ck3r/urless), [gf](https://github.com/tomnomnom/gf) and [gf-patterns](https://github.com/1ndianl33t/Gf-Patterns))
520525
- Favicon Real IP ([fav-up](https://github.com/pielco11/fav-up))
521-
- Javascript analysis ([subjs](https://github.com/lc/subjs), [JSA](https://github.com/w9w/JSA), [xnLinkFinder](https://github.com/xnl-h4ck3r/xnLinkFinder), [getjswords](https://github.com/m4ll0k/BBTz), [mantra](https://github.com/MrEmpy/mantra))
526+
- Javascript analysis ([subjs](https://github.com/lc/subjs), [JSA](https://github.com/w9w/JSA), [xnLinkFinder](https://github.com/xnl-h4ck3r/xnLinkFinder), [getjswords](https://github.com/m4ll0k/BBTz), [mantra](https://github.com/MrEmpy/mantra), [jsluice](https://github.com/BishopFox/jsluice))
527+
- Sourcemap JS extraction ([sourcemapper](https://github.com/denandz/sourcemapper))
522528
- Fuzzing ([ffuf](https://github.com/ffuf/ffuf))
523529
- URL sorting by extension
524530
- Wordlist generation

images/mindmap_obsidian.png

-944 KB
Loading

install.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ gotools["nmapurls"]="go install -v github.com/sdcampbell/nmapurls@latest"
7575
gotools["shortscan"]="go install -v github.com/bitquark/shortscan/cmd/shortscan@latest"
7676
gotools["sns"]="go install github.com/sw33tLie/sns@latest"
7777
gotools["ppmap"]="go install -v github.com/kleiton0x00/ppmap@latest"
78+
gotools["sourcemapper"]="go install -v github.com/denandz/sourcemapper@latest"
79+
gotools["jsluice"]="go install -v github.com/BishopFox/jsluice/cmd/jsluice@latest"
7880

7981
# Declaring repositories and their paths
8082
declare -A repos
@@ -108,6 +110,7 @@ repos["SwaggerSpy"]="UndeadSec/SwaggerSpy"
108110
repos["LeakSearch"]="JoelGMSec/LeakSearch"
109111
repos["ffufPostprocessing"]="Damian89/ffufPostprocessing"
110112
repos["misconfig-mapper"]="intigriti/misconfig-mapper"
113+
repos["Spoofy"]="MattKeeley/Spoofy"
111114

112115
function banner() {
113116
tput clear

reconftw.cfg

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ REVERSE_WHOIS=true # amass intel reverse whois info, takes some time
5454
IP_INFO=true # Reverse IP search, geolocation and whois
5555
API_LEAKS=true # Check for API leaks
5656
THIRD_PARTIES=true # Check for 3rd parties misconfigs
57+
SPOOF=true # Check spoofable domains
5758
METAFINDER_LIMIT=20 # Max 250
5859

5960
# Subdomains
@@ -148,7 +149,7 @@ DEEP=false # DEEP mode, really slow and don't care about the number of results
148149
DEEP_LIMIT=500 # First limit to not run unless you run DEEP
149150
DEEP_LIMIT2=1500 # Second limit to not run unless you run DEEP
150151
DIFF=false # Diff function, run every module over an already scanned target, printing only new findings (but save everything)
151-
REMOVETMP=false # Delete temporary files after execution (to free up space)
152+
REMOVETMP=true # Delete temporary files after execution (to free up space)
152153
REMOVELOG=false # Delete logs after execution
153154
PROXY=false # Send to proxy the websites found
154155
SENDZIPNOTIFY=false # Send to zip the results (over notify)

reconftw.sh

Lines changed: 74 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,10 @@ function tools_installed() {
189189
printf "${bred} [*] misconfig-mapper [NO]${reset}\n"
190190
allinstalled=false
191191
}
192+
[ -f "${tools}/Spoofy/spoofy.py" ] || {
193+
printf "${bred} [*] spoofy [NO]${reset}\n"
194+
allinstalled=false
195+
}
192196
[ -f "${tools}/SwaggerSpy/swaggerspy.py" ] || {
193197
printf "${bred} [*] swaggerspy [NO]${reset}\n"
194198
allinstalled=false
@@ -413,6 +417,14 @@ function tools_installed() {
413417
printf "${bred} [*] sns [NO]${reset}\n"
414418
allinstalled=false
415419
}
420+
command -v sourcemapper &>/dev/null || {
421+
printf "${bred} [*] sourcemapper [NO]${reset}\n"
422+
allinstalled=false
423+
}
424+
command -v jsluice &>/dev/null || {
425+
printf "${bred} [*] jsluice [NO]${reset}\n"
426+
allinstalled=false
427+
}
416428
if [[ ${allinstalled} == true ]]; then
417429
printf "${bgreen} Good! All installed! ${reset}\n\n"
418430
else
@@ -652,21 +664,21 @@ function domain_info() {
652664

653665
function third_party_misconfigs() {
654666

655-
mkdir -p 3rdparties
667+
mkdir -p osint
656668
if { [[ ! -f "$called_fn_dir/.${FUNCNAME[0]}" ]] || [[ $DIFF == true ]]; } && [[ $THIRD_PARTIES == true ]] && [[ $OSINT == true ]] && ! [[ $domain =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9] ]]; then
657669
start_func ${FUNCNAME[0]} "Searching for third parties misconfigurations"
658670
company_name=$(echo $domain | unfurl format %r)
659671

660672
pushd "${tools}/misconfig-mapper" >/dev/null || {
661673
echo "Failed to cd directory in ${FUNCNAME[0]} @ line ${LINENO}"
662674
}
663-
./misconfig-mapper -target $company_name -service "*" | grep "\[-\]" > ${dir}/3rdparties/visma_misconfigurations.txt
675+
./misconfig-mapper -target $company_name -service "*" | grep -v "\[-\]" > ${dir}/osint/3rdparts_misconfigurations.txt
664676

665677
popd >/dev/null || {
666678
echo "Failed to popd in ${FUNCNAME[0]} @ line ${LINENO}"
667679
}
668680

669-
end_func "Results are saved in $domain/3rdparties" ${FUNCNAME[0]}
681+
end_func "Results are saved in $domain/osint/3rdparts_misconfigurations.txt" ${FUNCNAME[0]}
670682

671683
else
672684
if [[ $THIRD_PARTIES == false ]] || [[ $OSINT == false ]]; then
@@ -684,6 +696,39 @@ function third_party_misconfigs() {
684696

685697
}
686698

699+
function spoof() {
700+
701+
mkdir -p osint
702+
if { [[ ! -f "$called_fn_dir/.${FUNCNAME[0]}" ]] || [[ $DIFF == true ]]; } && [[ $SPOOF == true ]] && [[ $OSINT == true ]] && ! [[ $domain =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9] ]]; then
703+
start_func ${FUNCNAME[0]} "Searching for spoofable domains"
704+
705+
pushd "${tools}/Spoofy" >/dev/null || {
706+
echo "Failed to cd directory in ${FUNCNAME[0]} @ line ${LINENO}"
707+
}
708+
./spoofy.py -d $domain > ${dir}/osint/spoof.txt
709+
710+
popd >/dev/null || {
711+
echo "Failed to popd in ${FUNCNAME[0]} @ line ${LINENO}"
712+
}
713+
714+
end_func "Results are saved in $domain/osint/spoof.txt" ${FUNCNAME[0]}
715+
716+
else
717+
if [[ $SPOOF == false ]] || [[ $OSINT == false ]]; then
718+
printf "\n${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] ${FUNCNAME[0]} skipped in this mode or defined in reconftw.cfg ${reset}\n"
719+
elif [[ $domain =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9] ]]; then
720+
return
721+
else
722+
if [[ $SPOOF == false ]] || [[ $OSINT == false ]]; then
723+
printf "\n${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] ${FUNCNAME[0]} skipped in this mode or defined in reconftw.cfg ${reset}\n"
724+
else
725+
printf "${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] ${FUNCNAME[0]} is already processed, to force executing ${FUNCNAME[0]} delete\n $called_fn_dir/.${FUNCNAME[0]} ${reset}\n\n"
726+
fi
727+
fi
728+
fi
729+
730+
}
731+
687732
function ip_info() {
688733

689734
mkdir -p osint
@@ -1365,7 +1410,13 @@ function geo_info() {
13651410
start_func ${FUNCNAME[0]} "Running: ipinfo and geoinfo"
13661411
ips_file="${dir}/hosts/ips.txt"
13671412
if [ ! -f $ips_file ]; then
1368-
echo "File ${dir}/hosts/ips.txt does not exist."
1413+
if ! [[ $domain =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9] ]]; then
1414+
[ -s "subdomains/subdomains_dnsregs.json" ] && cat subdomains/subdomains_dnsregs.json | jq -r 'try . | "\(.host) \(.a[0])"' | anew -q .tmp/subs_ips.txt
1415+
[ -s ".tmp/subs_ips.txt" ] && awk '{ print $2 " " $1}' .tmp/subs_ips.txt | sort -k2 -n | anew -q hosts/subs_ips_vhosts.txt
1416+
[ -s "hosts/subs_ips_vhosts.txt" ] && cat hosts/subs_ips_vhosts.txt | cut -d ' ' -f1 | grep -aEiv "^(127|10|169\.154|172\.1[6789]|172\.2[0-9]|172\.3[01]|192\.168)\." | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" | anew -q hosts/ips.txt
1417+
else
1418+
echo $domain | grep -aEiv "^(127|10|169\.154|172\.1[6789]|172\.2[0-9]|172\.3[01]|192\.168)\." | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" | anew -q hosts/ips.txt
1419+
fi
13691420
else
13701421
for ip in $(cat "$ips_file"); do
13711422
json_output=$(curl -s https://ipapi.co/$ip/json)
@@ -1932,6 +1983,7 @@ function urlchecks() {
19321983
[ -s ".tmp/katana.txt" ] && sed -i '/^.\{2048\}./d' .tmp/katana.txt
19331984
[ -s ".tmp/katana.txt" ] && cat .tmp/katana.txt | anew -q .tmp/url_extract_tmp.txt
19341985
[ -s ".tmp/url_extract_tmp.txt" ] && cat .tmp/url_extract_tmp.txt | grep "${domain}" | grep -E '^((http|https):\/\/)?([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+[a-zA-Z]{1,}(\/.*)?$' | grep -aEi "\.(js)" | anew -q .tmp/url_extract_js.txt
1986+
[ -s ".tmp/url_extract_tmp.txt" ] && cat .tmp/url_extract_tmp.txt | grep "${domain}" | grep -E '^((http|https):\/\/)?([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+[a-zA-Z]{1,}(\/.*)?$' | grep -aEi "\.(js\.map)" | anew -q .tmp/url_extract_jsmap.txt
19351987
if [[ $DEEP == true ]]; then
19361988
[ -s ".tmp/url_extract_js.txt" ] && interlace -tL .tmp/url_extract_js.txt -threads 10 -c "python3 ${tools}/JSA/jsa.py -f target | anew -q .tmp/url_extract_tmp.txt" &>/dev/null
19371989
fi
@@ -2017,7 +2069,8 @@ function jschecks() {
20172069
if { [[ ! -f "$called_fn_dir/.${FUNCNAME[0]}" ]] || [[ $DIFF == true ]]; } && [[ $JSCHECKS == true ]]; then
20182070
start_func ${FUNCNAME[0]} "Javascript Scan"
20192071
if [[ -s ".tmp/url_extract_js.txt" ]]; then
2020-
printf "${yellow} Running : Fetching Urls 1/5${reset}\n"
2072+
2073+
printf "${yellow} Running : Fetching Urls 1/6${reset}\n"
20212074
if [[ $AXIOM != true ]]; then
20222075
cat .tmp/url_extract_js.txt | subjs -ua "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0" -c 40 | grep "$domain" | grep -E '^((http|https):\/\/)?([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+[a-zA-Z]{1,}(\/.*)?$' | anew -q .tmp/subjslinks.txt
20232076
else
@@ -2026,31 +2079,36 @@ function jschecks() {
20262079
[ -s ".tmp/subjslinks.txt" ] && cat .tmp/subjslinks.txt | egrep -iv "\.(eot|jpg|jpeg|gif|css|tif|tiff|png|ttf|otf|woff|woff2|ico|pdf|svg|txt|js)" | anew -q js/nojs_links.txt
20272080
[ -s ".tmp/subjslinks.txt" ] && cat .tmp/subjslinks.txt | grep -iE "\.js($|\?)" | anew -q .tmp/url_extract_js.txt
20282081
cat .tmp/url_extract_js.txt | python3 ${tools}/urless/urless/urless.py | anew -q js/url_extract_js.txt 2>>"$LOGFILE" >/dev/null
2029-
printf "${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] Running : Resolving JS Urls 2/5${reset}\n"
2082+
2083+
printf "${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] Running : Resolving JS Urls 2/6${reset}\n"
20302084
if [[ $AXIOM != true ]]; then
20312085
[ -s "js/url_extract_js.txt" ] && cat js/url_extract_js.txt | httpx -follow-redirects -random-agent -silent -timeout $HTTPX_TIMEOUT -threads $HTTPX_THREADS -rl $HTTPX_RATELIMIT -status-code -content-type -retries 2 -no-color | grep "[200]" | grep "javascript" | cut -d ' ' -f1 | anew -q js/js_livelinks.txt
20322086
else
20332087
[ -s "js/url_extract_js.txt" ] && axiom-scan js/url_extract_js.txt -m httpx -follow-host-redirects -H \"${HEADER}\" -status-code -threads $HTTPX_THREADS -rl $HTTPX_RATELIMIT -timeout $HTTPX_TIMEOUT -silent -content-type -retries 2 -no-color -o .tmp/js_livelinks.txt $AXIOM_EXTRA_ARGS 2>>"$LOGFILE" >/dev/null
20342088
[ -s ".tmp/js_livelinks.txt" ] && cat .tmp/js_livelinks.txt | anew .tmp/web_full_info.txt | grep "[200]" | grep "javascript" | cut -d ' ' -f1 | anew -q js/js_livelinks.txt
20352089
fi
2036-
printf "${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] Running : Gathering endpoints 3/5${reset}\n"
2090+
2091+
printf "${yellow} Running : Extracting JS from sourcemaps 3/6${reset}\n"
2092+
mkdir -p .tmp/sourcemapper
2093+
[ -s "js/js_livelinks.txt" ] && interlace -tL js/js_livelinks.txt -threads ${INTERLACE_THREADS} -c "sourcemapper -jsurl '_target_' -output _output_/_cleantarget_" -o .tmp/sourcemapper 2>>"$LOGFILE" >/dev/null
2094+
[ -s ".tmp/url_extract_jsmap.txt" ] && interlace -tL js/js_livelinks.txt -threads ${INTERLACE_THREADS} -c "sourcemapper -url '_target_' -output _output_/_cleantarget_" -o .tmp/sourcemapper 2>>"$LOGFILE" >/dev/null
2095+
2096+
printf "${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] Running : Gathering endpoints 4/6${reset}\n"
20372097
[ -s "js/js_livelinks.txt" ] && xnLinkFinder -i js/js_livelinks.txt -sf subdomains/subdomains.txt -d $XNLINKFINDER_DEPTH -o .tmp/js_endpoints.txt 2>>"$LOGFILE" >/dev/null
2098+
find .tmp/sourcemapper/ \( -name "*.js" -o -name "*.ts" \) -type f | jsluice urls | jq -r .url | anew -q .tmp/js_endpoints.txt
20382099
[ -s "parameters.txt" ] && rm -f parameters.txt 2>>"$LOGFILE" >/dev/null
20392100
if [[ -s ".tmp/js_endpoints.txt" ]]; then
20402101
sed -i '/^\//!d' .tmp/js_endpoints.txt
20412102
cat .tmp/js_endpoints.txt | anew -q js/js_endpoints.txt
20422103
fi
2043-
printf "${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] Running : Gathering secrets 4/5${reset}\n"
20442104

2045-
if [[ $AXIOM != true ]]; then
2046-
[ -s "js/js_livelinks.txt" ] && cat js/js_livelinks.txt | mantra -ua ${HEADER} -s | anew -q js/js_secrets.txt
2047-
[ -s "js/js_secrets.txt" ] && trufflehog filesystem js/js_secrets.txt --only-verified -j 2>/dev/null | jq -c | anew -q js/js_secrets_trufflehog.txt
2048-
else
2049-
[ -s "js/js_livelinks.txt" ] && axiom-scan js/js_livelinks.txt -m mantra -ua \"${HEADER}\" -s -o js/js_secrets.txt $AXIOM_EXTRA_ARGS &>/dev/null
2050-
[ -s "js/js_secrets.txt" ] && trufflehog filesystem js/js_secrets.txt --only-verified -j 2>/dev/null | jq -c | anew -q js/js_secrets_trufflehog.txt
2051-
fi
2105+
printf "${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] Running : Gathering secrets 5/6${reset}\n"
2106+
[ -s "js/js_livelinks.txt" ] && axiom-scan js/js_livelinks.txt -m mantra -ua \"${HEADER}\" -s -o js/js_secrets.txt $AXIOM_EXTRA_ARGS &>/dev/null
2107+
[ -s "js/js_secrets.txt" ] && trufflehog filesystem js/js_secrets.txt -j 2>/dev/null | jq -c | anew -q js/js_secrets_trufflehog.txt
2108+
[ -s "js/js_secrets.txt" ] && trufflehog filesystem .tmp/sourcemapper/ -j 2>/dev/null | jq -c | anew -q js/js_secrets_trufflehog.txt
20522109
[ -s "js/js_secrets.txt" ] && sed -r "s/\x1B\[([0-9]{1,3}(;[0-9]{1,2};?)?)?[mGK]//g" -i js/js_secrets.txt
2053-
printf "${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] Running : Building wordlist 5/5${reset}\n"
2110+
2111+
printf "${yellow}[$(date +'%Y-%m-%d %H:%M:%S')] Running : Building wordlist 6/6${reset}\n"
20542112
[ -s "js/js_livelinks.txt" ] && interlace -tL js/js_livelinks.txt -threads ${INTERLACE_THREADS} -c "python3 ${tools}/getjswords.py '_target_' | anew -q webs/dict_words.txt" 2>>"$LOGFILE" >/dev/null
20552113
end_func "Results are saved in $domain/js folder" ${FUNCNAME[0]}
20562114
else

0 commit comments

Comments
 (0)