Skip to content

Instantly share code, notes, and snippets.

@morkin1792
Last active November 13, 2024 18:28
Bug bounty tips

bug bounty

mindset

  • Everybody has problems
  • Bugs are created along the time
  • Reputation and amount of reports means less than what you are thinking
  • Create an account in the target, be patient, check everything, try harder

starting

  • choose a few targets (3 ~ 4)
  • After 20 submissions, start to invest in yourself
    • paid tools (shodan, census, whoxy, security tails, changedetection.io, security trails)
    • automation (receive notifications when a new vulnerability be found)

recon - getting seeds

  • understand the target
    • crunchbase (financials > acquisitions)
    • wikipedia
  • find ASN (be careful with false positives when automating)
    • bpg.he.net
    • asnlookup.com
    • metabigor
  • enumeration ASN
    • amass intel -asn $ASN_NUMBER
  • Analyitics Relationships
    • builtwith.com/relationships/example.com
  • googling copyright text, terms of service, privacy policy
  • shodan.io/search?query=example.com

recon - getting subdomains

  • linked discovery
    • using burp > visit the domains, add a filter and check sitemap > run spider and repeat until a fatigue
    • gospider
    • hakrawler
  • subdomain enumeration
    • SubDomainizer
  • subdomain scraping
  • subdomain bruting
    • check wildcards: try to resolve a invalid subdomain and check if it will return a record
    • amass enum -brute -d example.com -src
    • amass enum -brute -d example.com -w wordlist.txt
    • shuffledns -d example.com -w wordlist.txt -r resolvers.txt
    • wordlist: https://wordlists.assetnote.io/

recon - automation

port scanning

  • fast port scanning
    • web services in other ports
    • low hangfruits services
    • default creds
    • misconfigurations
    • rustscan example.com --ulimit 100000 -r 1-65000
    • naabu -host example.com
    • `masscan -p- -iL targets.txt --max-rate 1800 -oG output.txt
  • service scanning
    • default creds (brutespray)
  • screenshotting
    • gowitness
  • subdomain takeover

vulnerability scan

  • better for fresh target coming from a good recon
  • create your own nuclei template
    • new exploits without an official template yet
    • tweetdeck can be used to monitor for new exploits

web - content discovery

  • the MAIN WAY to achive a bounty

brute force

  • web fuzzing
    • feroxbuster: cat subdomains.txt | feroxbuster --stdin -r -k --json -o feroxbuster.results.json -A --smart -w wordlist.txt #--parallel 1 --resume-from
    • cat feroxbuster.results.json | jq 'select (.status == 200) | select (.path | test("\\.(js|cs s|png|ico)$") | not)' | jq -s 'sort_by(.content_length) | sort_by(.original_url) | .[] | {"url","path"," status","content_length","word_count"}' -C | less -R
    • turbo intruder

app analysis and history

analyse results

application analysis

  • how the session is managed? (cookies, header, id)
  • does the app have different user levels?
  • what does the app try to protect?
  • retest past vulnerabilities again
  • functions
    • upload functions (injection, xss, ssrf, idor)
    • api (hidden methods, lack of auth)
    • account section (xss, ssti, intregrations with ssrf)

bypassing waf

  • look for dns variations that resolves to the same target (origin.sub -> origin-sub, www -> www2)

references

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment