πŸ”ŽExtensive Recon Guide For Bug Hunting

WHAT IS RECONNAISSANCE?

Reconnaissance is one of the most important aspects of penetration testing. It’s also known as Recon. Recon will help you to increase attack surface area and may allow you to get more vulnerabilities but the ultimate goal is to dig deep in the target.


1. SUBDOMAIN ENUMERATION

Subdomain enumeration is the process of finding subdomains for one or more domains.

Tools used β‡’

Oneliners for Subdomain Enumeration β‡’

$ amass enum -passive -norecursive -noalts -df domians.txt -o subs-list.txt
$ dnsx -silent -d $domain -w ~/wordlist.txt -o ~/dnsbrute.txt
$ cat domain.txt | dnsgen - | massdns -r ~/resolvers.txt -o S -w alive.txt

2. FILTERING THE SUBDOMAINS WITH HTTPX

$ httpx -l domain.txt -timeout 13 -o domain-probe.txt

PORT SCANNING β‡’

$ naabu -list sub-list.txt -top-ports 1000 -exclude-ports 80,443,21,22,25 -o ports.txt
$ naabu -list sub-list.txt -p - -exclude-ports 80,443,21,22,25 -o ports.txt
$ cat domain-subs.txt | aquatone -ports xlarge -scan-timeout 300 -out aquatone.txt

SUBDOMAIN OF SUBDOMAIN ENUMERATION β‡’ β€œThis is one of the rare things people search for.” Tools used:


3. SCREENSHOT TOOLS

These tools are capable of taking screenshots of websites to view offline anytime.

Tools used β‡’


4. BROADENING YOUR SCOPE

More targets lead to more option which ultimately lead to more opportunities.


5. WHAT TO DO AFTER ENUMERATION? | Collecting URLs


6. TIPS AND TRICKS

1. After collecting URLs, curl out the responses of the URLs and grep for the following URLs:

  • drive.google

  • docs.google

  • /spreadsheets/d/

  • /document/d/

    $ cat domains.txt | katana -silent | while read url; do cu=$(curl -s $url | grep -E '(drive. google | docs. google | spreadsheet\/d | document.\/d\/)' ;echo -e " ==> $url" "\n"" $cu" ; done

2. Using paramspider, gxss to detect Cross-site Scripting (XSS)

  • Commands:-

    $ cat params | qsreplace yogi | dalfox pipe --mining-dom --deep-domxss --mining-dict --remotepayloads=portswigger,payloadbox --remote wordlists=burp,assetnote -o xssoutput.txt
    $ cat alive.txt | waybackurls | gf xss | uro | httpx -silent | qsreplace '"><svg onload=confirm(1)>' | airixss -payload "confirm(1)" | tee xssBug3.txt

3. Using SQLidetector to search for sqli


7. SHODAN FOR RECON

Shodan: https://www.shodan.io/

Shodan Dorks β‡’

ssl: β€œtarget[.]com” 200 http.title: β€œdashboard” –unauthenticated dashboard org:β€œtarget.com” x-jenkins 200 β€” unauthenticated jenkins server ssl:β€œtarget.com” 200 proftpd port:21 β€” proftpd port:21 org:β€œtarget.com” http.html:zabbix β€” CVE-2022-24255 Main & Admin Portals: Authentication Bypass org:β€œtarget.com” http.title:β€œphpmyadmin” β€”-php my admin ssl:β€œtarget.com” http.title:"BIG-IP β€”F5 BIG-IP using CVE-2020-5902

Example Writeup:- How I found XSS by searching in Shodan - Writeup


8. CENSYS FOR RECON

Censys: https://www.censys.io/ Example Writeup:- Let’s fuck waf using Origin IP: My approach on censys By Deepak Dhiman


9. FUZZING FOR SENSITIVE FILES & DIRECTORIES

$ for i in cat host.txt; do ffuf -u $i/FUZZ -w wordlist.txt -mc 200,302,401 -se ;done
  • Tip: Fuzz for β€œ/wp-content/debug.log” || Sometimes they contain SQL error, which can be chained.


10. FINDING SOURCE/BACKUP FILES

Subdomain Name: y0gi.hacklido.com

y0gi.hacklido.com /y0gi.zip - hacklido.zip – admin.zip – backup.zip y0gi.hacklido.com/y0gi/y0gi.zip - hacklido.zip – admin.zip – backup.zip y0gi. hacklido.com/hacklido/y0gi.zip - hacklido.zip – admin.zip – backup.zip y0gi. hacklido.com/admin/y0gi.zip - hacklido.zip – admin.zip – backup.zip

Tool Link: https://github.com/musana/fuzzuli


11. GOOGLE & GITHUB DORKING

Trivial Tricks:

  • Find Sensitive Data in Cloud storage through Google Dork:

site:http://s3.amazonaws.com β€œtarget[.]com” site:http://blob.core.windows.net β€œtarget[.]com” site:http://googleapis.com β€œtarget[.]com” site:http://drive.google.com β€œtarget[.]com”

  • Github Leaks for AWS, Jira, Okta, etc:

Org:β€œtarget” pwd/pass/passwd/password β€œtarget.atlassian” pwd/pass/passwd/password β€œtarget.okta” pwd/pass/passwd/password β€œJira.target” pwd/pass/passwd/password

  • Also search in Google groups, Gitlabs.


12. JAVASCRIPT[JS] FILES RECON

  • Collect all js file β€œ.js”

  • Filter js file:

    $ httpx -content-type | grep 'application/javascript'
  • Perform Nuclei scan

    $ nuclei -t /root/nuclei-templates/exposures/
  • Collect all endpoints from Js files & Create a wordlist from those.

  • Craft a POST request with any parameter.

  • Use that request to fuzz for sensitive directory.

  • Tools:- JSFScan.sh , Jsminer {Burp Extension} , Trufflehog


13. SOME AUTOMATION FRAMEWORKS


Final Thoughts

  • Some data are intended, No bug here.

  • Don’t get angry, You may lose bonds with good program

  • Your crafting and exploits are gold. Make it high as you can

  • Money going no where. Don’t message constant to team

Last updated