Amass

owasp logo

The OWASP Amass Project has developed a tool to help information security professionals perform network mapping of attack surfaces and perform external asset discovery using open source information gathering and active reconnaissance techniques. To learn more about the Amass scanner itself visit OWASP_Amass_Project or Amass GitHub.

Deployment

The AMASS scanType can be deployed via helm:

helm upgrade --install amass secureCodeBox/amass

Scanner Configuration

The following security scan configuration example are based on the Amass User Guide, please take a look at the original documentation for more configuration examples.

  • The most basic use of the tool for subdomain enumeration: amass enum -d example.com
  • Typical parameters for DNS enumeration: amass enum -v -src -ip -brute -min-for-recursive 2 -d example.com

Special command line options:

  • Disable generation of altered names amass enum -noalts -d example.com
  • Turn off recursive brute forcing amass enum -brute -norecursive -d example.com
  • Disable saving data into a local database amass enum -nolocaldb -d example.com
  • Domain names separated by commas (can be used multiple times) amass enum -d example.com

Chart Configuration

KeyTypeDefaultDescription
image.repositorystring"caffix/amass"Container Image to run the scan
image.tagstringnildefaults to the charts appVersion
parserImage.repositorystring"docker.io/securecodebox/parser-amass"Parser image repository
parserImage.tagstringdefaults to the charts versionParser image tag
scannerJob.envlist[]Optional environment variables mapped into each scanJob (see: https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/)
scannerJob.extraContainerslist[]Optional additional Containers started with each scanJob (see: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/)
scannerJob.extraVolumeMountslist[{"mountPath":"/amass/output/config.ini","name":"amass-config","subPath":"config.ini"}]Optional VolumeMounts mapped into each scanJob (see: https://kubernetes.io/docs/concepts/storage/volumes/)
scannerJob.extraVolumeslist[{"configMap":{"name":"amass-config"},"name":"amass-config"}]Optional Volumes mapped into each scanJob (see: https://kubernetes.io/docs/concepts/storage/volumes/)
scannerJob.resourcesobject{}CPU/memory resource requests/limits (see: https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/, https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/)
scannerJob.securityContextobject{}Optional securityContext set on scanner container (see: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
scannerJob.ttlSecondsAfterFinishedstringnilDefines how long the scanner job after finishing will be available (see: https://kubernetes.io/docs/concepts/workloads/controllers/ttlafterfinished/)

Examples

example.com

apiVersion: "execution.securecodebox.io/v1"
kind: Scan
metadata:
name: "amass-example.com"
spec:
scanType: "amass"
parameters:
- "-noalts"
- "-norecursive"
- "-nolocaldb"
- "-d"
- "example.com"

secureCodeBox.io

apiVersion: "execution.securecodebox.io/v1"
kind: Scan
metadata:
name: "amass-securecodebox.io"
labels:
organization: "secureCodeBox"
spec:
scanType: "amass"
parameters:
- "-noalts"
- "-norecursive"
- "-d"
- "securecodebox.io"