Skip to content

Latest commit

 

History

History
94 lines (90 loc) · 5 KB

INSTALL.md

File metadata and controls

94 lines (90 loc) · 5 KB

Installing

  • Linux & Mac tested

Prerequirements

python >= 3.7
pip3 >= 19.0
go >= 1.17
curl
wget

CI/CD way

You can use stateful/stateless build agent (worker). There is no additional time is required for provisioning. It may look tricky cause masscan/nmap/naabu root user required.

  1. Fill in these required environment variables inside: ./lazyconfig:
export HOMEUSER= # your normal, non root user: e.g.: kali
export HOMEDIR= # user's home dir e.g.: /home/kali
export STORAGEDIR= # where output saved, e.g.: ${HOMEDIR}/lazytargets
export GITHUBTOKEN=XXXXXXXXXXXXXXXXXX # a personal access token here
export DISCORDWEBHOOKURL= # https://discord.com/api/webhooks/{webhook.id}/{webhook.token}
export GOPATH=$HOMEDIR/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin:$GOROOT/bin:$HOME/.local/bin:$HOME/go/bin:$HOMEDIR/go/bin
export GO111MODULE=on
  1. Enable new environment source ./lazyconfig
  2. Call sudo -E ./install.sh
  3. Execute sudo -E ./lazyrecon.sh "hackerone.com"

Github Actions way

Customize .github/workflows/test-recon-action.yaml using DISCORDWEBHOOKURL and GITHUBTOKEN secrets, enable --discord to receive a report:

  - name: Install & Recon
    env:
      GO111MODULE: on
      DISCORDWEBHOOKURL: ${{ secrets.DISCORDWEBHOOKURL }}
      GITHUBTOKEN: ${{ secrets.GITHUBTOKEN }}
    run: |
      export HOMEDIR=$HOME
      export HOMEUSER=$RUNNER_USER
      export STORAGEDIR="${HOMEDIR}"/lazytargets
      sudo -E ./install.sh
      sudo -E ./lazyrecon.sh "hackerone.com" --quiet --discord

Hard way

You can configure environment variables and dependencies by hand without using the install.sh script, but keep in mind the following:

  • To start using lazyrecon script, please clone and setup the dependencies bellow
  • Note that many dependencies are tuned for recon needs and differ from the original ones
  • Make sure environment variables are filled in ./lazyconfig
  • If you operate under VPS: first call ./helpers/linux-apt-install.sh
  • Update your local ~/.gf with ./gfpatterns/*
  • Use option nuclei -update-templates to use it properly under $HOMEDIR, but for LFI update templates with storenth-lfi till the time projectdiscovery introduce feature for dynamic replacement of parameters.
  • Not forget to include LFI-Payload-List to the ./wordlist/lfi-payload.txt
  • Make sure all tools correctly installed and enabled with execute permissions: chmod +x
  • Take care about appropriate tokens and API keys
  • Don't forget that the script act as a root user

Dependencies

  1. subfinder
  2. interactsh
  3. assetfinder
  4. github-subdomains
  5. github-endpoints
  6. waybackurls
  7. gau
  8. altdns
  9. dnsgen
  10. puredns
  11. masscan
  12. massdns
  13. dnsx
  14. httpx
  15. nuclei
  16. nuclei-templates
  17. smuggler
  18. ffuf
  19. gf
  20. qsreplace
  21. unfurl
  22. sqlmap
  23. gospider
  24. ssrf-headers-tool
  25. storenth-lfi
  26. nmap
  27. chromium
  28. interlace
  29. page-fetch
  30. gowitness
  31. bypass-403
  32. linkfinder
  33. secretfinder

(You may copy each executable dependency to /usr/local/bin/, create symlinc like: ln -s $HOME/github-subdomains.py /usr/local/bin/github-subdomains, or just export it to the PATH export PATH=~/masscan/bin/masscan:$PATH)