• Stars
    star
    148
  • Rank 249,983 (Top 5 %)
  • Language Open Policy Agent
  • License
    Creative Commons ...
  • Created over 1 year ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SCuBA Secure Configuration Baselines and assessment tool for Google Workspace

    ScubaGoggles

GWS Secure Configuration Baseline Assessment Tool

Developed by CISA, ScubaGoggles is an assessment tool that verifies a Google Workspace (GWS) organization's configuration conforms to the policies described in the Secure Cloud Business Applications (SCuBA) Security Configuration Baseline documents.

For the Microsoft 365 (M365) rendition of this tool, see ScubaGear.

Warning

This tool is in an alpha state and in active development. At this time, outputs could be incorrect and should be reviewed carefully.

Table of Contents

Limitations of the tool

The majority of the conformance checks done by ScubaGoggles rely on GWS Admin log events. If there is no log event corresponding to a SCuBA baseline policy, ScubaGoggles will indicate that the setting currently can not be checked on its HTML report output. In this situation, we recommend you manually review your GWS security configurations with the SCuBA security baselines.

Additionally, some events will not be visible due to data retention time limits, as the admin logs are only retained for 6 months (see Data retention and lag times). However, if you wish to generate a log event for testing ScubaGoggles' capabilities, follow the implementation instructions in the SCuBA GWS baseline documents to change your GWS configuration settings. Toggling certain settings, off and on will be enough to generate a log event. Other settings will require implementing more substantive configuration changes.

Many of the these controls can be scoped down to the organizational unit level. We recommend creating a new organization unit and applying these controls just to that new organizational unit for testing. Rerun ScubaGoggles after you've saved your configuration changes to see if the policy requirement is met.

Getting started

Important

Use of this tool requires access to an internet browser for initial setup and to view the html report output.

Downloading the Latest Release

To download ScubaGoggles:

  1. Click here to see the latest release.
  2. Click scubagoggles-[latest-version].zip to download the release.
  3. Extract the folder in the zip file.

Install Python dependencies

Minimum required Python version to run the tool is 3.7.16.

Installing in a Virtual Environment

The following commands are used to set up a python virtual environment (venv) to install the needed python dependencies. Inside the release or repo folder, open up a terminal and run the following commands based on your OS.

Windows

pip3 install virtualenv
python -m venv .venv
.venv\Scripts\activate

macOS

pip3 install virtualenv
virtualenv -p python3 .venv
source .venv/bin/activate

Users can run the tool via the scuba.py script as a developer or by installing the scubagoggles package in a python venv. Choose either of these next steps to install the needed python dependencies in the venv.

Installing dependencies for running scubagoggles directly

In the root directory of the release/repo, install the scubagoggles package and dependencies with the following command.

python3 -m pip install .

Installing dependencies for running via scuba.py script

In the root directory of the release/repo, install the the required dependencies with the following command.

pip3 install -r requirements.txt

Important

Users will need to rerun the activate script from the OS specific directions above in each new terminal session to reactivate the venv containing the dependencies.

Download the OPA executable

The tool makes use of Open Policy Agent's Rego Policy language. An OPA executable is required to execute this tool and can be downloaded using our download_opa.py script.

python download_opa.py --help
usage: download_opa.py [-h] [-v] [-os]

Download executable the OPA executable file required to run this SCuBA tool.

options:
  -h, --help            show this help message and exit
  -v {0.45.0,0.46.3,0.47.4,0.48.0,0.49.2,0.50.2,0.51.0,0.52.0,0.53.1,0.54.0,0.55.0,0.56.0,0.57.1,0.58.0,0.59.0,0.60.0}
                        What version of OPA to download: Default version: 0.59.0
  -os {windows,macos,linux}
                        Operating system version of OPA to download. Default os: windows
  --disablessl          If there are proxy errors, try adding this switch to disable ssl verification
# example
python download_opa.py -v 0.60.0 -os macos
  1. If the above script can not execute for any reason or you would prefer to download OPA manually, go to the Open Policy Agent website
  2. Check the website for a compatible OPA version (Currently v0.45.0 and above) for ScubaGoggles and select the corresponding version on top left of the website
  3. Navigate to the menu on left side of the screen: Introduction -> Running OPA -> Download OPA
  4. Follow the instructions for downloading the respective OPA executable for your OS.

Note

The following notes apply only for MAC and Linux users.

  • By default on MAC and Linux systems the OPA executable will be run with sudo.
  • Use the scubagoggles gws --omitsudo flag to omit running the executable with sudo.
  • MAC and Linux OS users should have their OPA executables named opa_darwin_amd64 or opa_linux_amd64_static respectively for scubagoggles execution.
  • The OPA executable must also be given execute permissions
chmod +x opa_darwin_amd64 # give the opa executable execute permissions

Permissions

OAuth API Scopes

The tool uses the following OAUTH API scopes.

  • https://www.googleapis.com/auth/admin.reports.audit.readonly
  • https://www.googleapis.com/auth/admin.directory.domain.readonly
  • https://www.googleapis.com/auth/admin.directory.group.readonly
  • https://www.googleapis.com/auth/admin.directory.orgunit.readonly
  • https://www.googleapis.com/auth/admin.directory.user.readonly
  • https://www.googleapis.com/auth/apps.groups.settings

When running ScubaGoggles for the first time you will be prompted to consent to these API scopes. Users with the Super Admin role automatically have the privilege to consent to these scopes. A custom admin role can also be made with the minimum permissions to consent to these scopes. See this Google Admin SDK Prerequisites guide for more information.

Create a project

  1. If you already have a Google Cloud Project that you want to utilize skip to Authentication
  2. Otherwise start by signing into http://console.cloud.google.com/.
  3. Follow the directions outlined in this guide to create a project

Authentication

ScubaGoggles supports both OAuth and Service Accounts for authorization/authentication. OAuth requires regular user consent while using a service account allows for more automation. Follow the instructions below for the authentication method of your choice.

Create an OAuth credential

  1. Be signed into http://console.cloud.google.com/.
  2. From the hamburger menu on the left, select APIs & Services -> OAuth consent screen
  3. Select Internal for User Type
  4. Click Create
  5. Fill in your App name and User support email
  6. Scroll down to the Authorized Domains section
  7. Under Authorized domains, add the primary domain of your GWS organization.
  8. Add another email address for Developer contact information
  9. Click SAVE AND CONTINUE
  10. Do nothing on the Scopes screen, just click SAVE AND CONTINUE
  11. Review summary, then click BACK TO DASHBOARD
  12. Click Credentials from the menu on the left
  13. Click CREATE CREDENTIALS
  14. Select Oauth client ID
  15. Select Web application for Application type
  16. Give name as appropriate
  17. Under Authorized redirect URIs, click "ADD URI." Add http://localhost and http://localhost:8080/
  18. Click CREATE
  19. Click DOWNLOAD JSON from the resulting OAuth client created page
  20. Click OK
  21. Move the downloaded file (begins with client_secret*.json) to the root directory folder of this repo, rename to credentials.json
  22. Go back the menu on the left and click Enabled API Services
  23. In the center screen click Enable APIS AND Services
  24. Search for and enable the Admin SDK API
  25. Search for and enable the Groups Settings API
  26. During the first run of this tool your default web browser will open up a page to consent to the API scopes needed to run this tool. Sign in with an account with the necessary privileges and click allow.
Add the Oauth App to the allowlist

If you've limited application access to Google's APIs in your organization, the Common Controls: App Access to Google APIs baseline covers this topic, follow the directions below to allowlist the OAuth app.

  1. Login to https://console.cloud.google.com
  2. Navigate to the appropriate project
  3. Select API's & Services from the top left hamburger icon
  4. Select Credentials
  5. Copy your client ID under OAuth 2.0 Client IDs
  6. Now login to admin.google.com and navigate to Security -> Access and Data Control -> API Controls -> Manage Third-Party App Access
  7. Select Add App -> Oauth App Name or Client ID
  8. Search by your OAuth client ID
  9. Select the App
  10. Select your root organization as the domain
  11. Select Trusted

Using a Service Account

Important

ScubaGoggles requires the service account to have domain-wide delegation of authority to function.

  1. Login to https://console.cloud.google.com and navigate to your GCP project.
  2. From the hamburger menu, select IAM & Admin -> Service Accounts
  3. Select CREATE SERVICE ACCOUNT. Fill out the id field and then select DONE
  4. Click on the newly created service account then click KEYS -> ADD KEY -> Create new key -> JSON -> CREATE
  5. Move the downloaded file (begins with <service account>*.json) to the root directory folder of this repo, rename to credentials.json
  6. Now login to admin.google.com and navigate to Security -> Access and data control -> API controls
  7. Select MANAGE DOMAIN WIDE DELEGATION
  8. Select Add new
  9. Enter the client_id from the downloaded credentials (also visible after clicking on the created Service account under Details -> Unique ID)
  10. Enter each OAuth scope as listed in OAuth API Scopes
  11. Select AUTHORIZE
  12. Finally, run ScubaGoggles with the --subjectemail option set to the email of an admin with necessary permissions to run ScubaGoggles.

Note

ScubaGoggles can be run using a service account in a different organization. To do so, specify the --customerid argument with the customer ID of the target organization (found in admin.google.com under Account -> Account settings)

Usage

Execute the ScubaGoggles tool using the scubagoggles command. For GWS, all commands will be under the gws subparser.

scubagoggles gws -h
usage: scubagoggles gws [-h] [-b  [...]] [-o] [-c] [--subjectemail] [--customerid] [--opapath] [--regopath] [--documentpath]
                    [--runcached] [--skipexport] [--outputfoldername] [--outputproviderfilename]
                    [--outputregofilename] [--outputreportfilename] [--omitsudo] [--quiet] [--debug]

optional arguments:
  -h, --help            show this help message and exit
  -b  [ ...], --baselines  [ ...]
                        A list of one or more abbreviated GWS baseline names that the tool will assess. Defaults to
                        all baselines. Choices: gmail, calendar, groups, chat, drive, meet, sites, commoncontrols,
                        rules, classroom
  -o , --outputpath     The folder path where both the output JSON & HTML report will be created. Defaults to "./" The
                        current directory.
  -c , --credentials    The relative path and name of the OAuth / service account credentials json file. Defaults to
                        "./credentials.json" which means the tool will look for the file named credentials.json in the
                        current directory.
  --subjectemail        Only applicable when using a service account. The email address of a user the service account
                        should act on behalf of. This user must have the necessary privileges to run scubagoggles.
  --customerid          The customer ID the tool should run on. Defaults to "my_customer" which will be the domain of 
                        the user / service account authenticating.
  --opapath             The relative path to the directory containing the OPA executable. Defaults to "./" the current
                        executing directory.
  --regopath            The relative path to the directory contain the folder containing the rego files. Defaults to
                        "./rego" the "rego" folder inside the current executing directory.
  --documentpath        The relative path to the directory containing the SCuBA baseline documents. Defaults to
                        "./baselines" the "baselines" folder inside the current executing directory.
  --runcached           This switch when added will run in the tool in "RunCached mode". When combined with -sa allows
                        to the user to skip authentication and provider export.
  --skipexport          This switch when added will skip the provider export.To be used in conjunction with
                        --runcached.
  --outputfoldername    The name of the folder created in --outputpath where both the output JSON and the HTML report
                        will be created. Defaults to GWSBaselineConformance. The client's local timestamp will be
                        appended to this name.
  --outputproviderfilename 
                        The name of the Provider output json in --outputpath. Defaults to ProviderSettingsExport.
  --outputregofilename 
                        The name of the Rego output json in --outputpath. Defaults to TestResults.
  --outputreportfilename 
                        The name of the main html file homepage created in --outputpath. Defaults to BaselineReports.
  --omitsudo            This switch prevents running the OPA executable with sudo.
  --quiet               This switch suppresses automatically launching a web browser to open the html report output
                        and the loading bar output.
  --debug               This switch is used to print debugging information for OPA.

Example 1: Run an assessment against all GWS products

scubagoggles gws

Example 2: Run an assessment against just Gmail and Google Calendar

scubagoggles gws -b gmail calendar

Example 3: Run an assessment and store the results under a folder called output

scubagoggles gws -b calendar gmail groups chat meet sites -o ./output

Example 4: Do a run cached assessment

# skip authentication and provider export stage
# used for running against a cached provider json

scubagoggles gws --runcached --skipexport

Example 5: Run with a service account on a different tenant

scubagoggles gws --customerid <customer_id> --subjectemail [email protected]

See the help options yourself

scubagoggles gws -h

The html report should open automatically. If not, navigate to the output folder and open the *.html file using a browser of your choice. The json output will also be located in this folder.

Note

If you chose not install the scubagoggles package in a venv but do have the dependencies installed from requirements.txt, you may execute the tool using the scuba.py script located in the root directory of this repository. Replace any scubagoggles directions with python scuba.py

Organization

  • The Python scripts are saved in the scubagoggles folder.
  • The rego folder holds the Rego files. Each *.rego file holds the "desired state" for each product, per the baseline policy statements.
  • Style and developer guides are located in the guides folder.

Design

We use a three-step process:

  1. Export. In this step, we primarily use the Google Admin SDK API to export and serialize all the relevant logs and settings into json. ScubaGoggles also uses various other Google APIs to grab organization metadata, user privileges etc.
  2. Verify. Compare the exported settings from the previous step with the configuration prescribed in the baselines. We do this using OPA Rego, a declarative query language for defining policy.
  3. Report. Package the data output by Rego into a human-friendly html report.

Troubleshooting

Not Authorized to Access This Resource

If an authorization error similar to the one below appears:

/Users/scubagoggles/provider.py:463: RuntimeWarning: An exception was thrown trying to get the tenant info:
<HttpError 403 when requesting https://admin.googleapis.com/admin/directory/v1/customers/my_customer?alt=json returned "Not Authorized to access this resource/api">

Ensure that you consented to the following API scopes as a user with the proper permissions to consent and have enabled the required APIs and Services.

Scubagoggles Not Found

If an error similar to the one below appears:

command not found: scubagoggles

Ensure that you have properly configured the virtual environment and have activated the virtual environment using the OS appropriate commands.

Alternatively, to run scubagoggles without installing it as a package, you can replace the scubagoggles command with python scuba.py.

Unable to view HTML report due to environment limitations

If you are unable to view the HTML report in a browser window, the results of the conformance scan can be viewed in their raw JSON format.

We recommend running the conformance report in quiet mode to stop the web browser from being opened automatically. This can be done with the --quiet command:

scubagoggles gws --quiet

Once the scan is complete, navigate to the output folder. Within the output folder, we can access the generated HTML reports, or view the results in JSON format.

To view the JSON, open the TestResults.json file.

Each baseline will appear in the following format:

    {
        "ActualValue": {
            "NonCompliantOUs": []
        },
        "Criticality": "Shall",
        "NoSuchEvent": false,
        "PolicyId": "GWS.CHAT.5.1v0.1",
        "ReportDetails": "Requirement met in all OUs.",
        "RequirementMet": true
    },

The RequirementMet field indicates whether the baseline associated with the given PolicyId is compliant or not.

Project License

Unless otherwise noted, this project is distributed under the Creative Commons Zero license. With developer approval, contributions may be submitted with an alternate compatible license. If accepted, those contributions will be listed herein with the appropriate license.

More Repositories

1

RedEye

RedEye is a visual analytic tool supporting Red & Blue Team operations
TypeScript
2,654
star
2

ScubaGear

Automation to assess the state of your M365 tenant against CISA's baselines
Open Policy Agent
1,580
star
3

Malcolm

Malcolm is a powerful, easily deployable network traffic analysis tool suite for full packet capture artifacts (PCAP files), Zeek logs and Suricata alerts.
Python
1,504
star
4

cset

Cybersecurity Evaluation Tool
TSQL
1,424
star
5

Sparrow

Sparrow.ps1 was created by CISA's Cloud Forensics team to help detect possible compromised accounts and applications in the Azure/m365 environment.
PowerShell
1,371
star
6

log4j-scanner

log4j-scanner is a project derived from other members of the open-source community by CISA to help organizations identify potentially vulnerable web services affected by the log4j vulnerabilities.
Java
1,262
star
7

log4j-affected-db

A community sourced list of log4j-affected software
Shell
1,115
star
8

CHIRP

A DFIR tool written in Python.
Python
1,040
star
9

decider

A web application that assists network defenders, analysts, and researchers in the process of mapping adversary behaviors to the MITRE ATT&CK® framework.
HTML
1,021
star
10

LME

Logging Made Easy (LME) is a no-cost and open logging and protective monitoring solution serving all organizations.
Python
795
star
11

untitledgoosetool

Untitled Goose Tool is a robust and flexible hunt and incident response tool that adds novel authentication and data gathering methods in order to run a full investigation against a customer’s Azure Active Directory (AzureAD), Azure, and M365 environments.
Python
699
star
12

pshtt

Scan domains and return data based on HTTPS best practices
Python
670
star
13

crossfeed

External monitoring for organization assets
TypeScript
320
star
14

ESXiArgs-Recover

A tool to recover from ESXiArgs ransomware
Shell
292
star
15

trustymail

Scan domains and return data based on trustworthy email best practices
Python
185
star
16

bad-practices

CISA's catalog of bad practices that are exceptionally risky.
Shell
181
star
17

development-guide

A set of guidelines and best practices for an awesome engineering team
Python
180
star
18

cyber.dhs.gov

A site for CISA directives
SCSS
138
star
19

dotgov-data

Official list of .gov domains
108
star
20

check-cve-2019-19781

Test a host for susceptibility to CVE-2019-19781
Python
105
star
21

ICSNPP

Industrial Control Systems Network Protocol Parsers
104
star
22

findcdn

findCDN is a tool created to help accurately identify what CDN a domain is using.
Python
95
star
23

prescup-challenges

President's Cup Cybersecurity Competition Challenges
Python
78
star
24

shareable-soar-workflows

This is a repository of vendor-agnostic workflows provided for those interested in deploying Security Orchestration, Automation, and Response capabilities within their organizations.
74
star
25

parsnip

Python
68
star
26

ansible-role-cobalt-strike

An Ansible role for installing Cobalt Strike.
HCL
66
star
27

cybersecurity-performance-goals

CISA's space for collaboration on the Cybersecurity Performance Goals.
Shell
53
star
28

PNT-Integrity

The PNT Integrity Library provides users a method to verify the integrity of the received GPS data and ranging signals, thereby improving resiliency against potential GPS signal loss.
C++
49
star
29

join-cisagov

CISA is hiring! We’re looking for candidates passionate about our mission to lead the national effort to understand and manage cyber and physical risk to our critical infrastructure.
Shell
45
star
30

gophish-tools

Helpful tools for interacting with a GoPhish phishing instance
Python
42
star
31

gophish-docker

Docker container for the gophish phishing framework.
Shell
40
star
32

ioc-scanner

Search a filesystem for indicators of compromise (IoC).
Python
39
star
33

pca-gophish-composition

Phishing campaign docker composition for Gophish
Shell
34
star
34

vdp-in-fceb

Vulnerability disclosure policies in the US Government's executive branch
32
star
35

Epsilon

The Epsilon Algorithm Suite provides users a method to verify the integrity of the received GPS data and ranging signals, thereby improving resiliency against potential GPS signal loss.
Python
31
star
36

check-your-pulse

This utility can help determine if indicators of compromise (IOCs) exist in the log files of a Pulse Secure VPN Appliance for CVE-2019-11510.
Python
28
star
37

getgov

Building a new .gov registrar for a bright .gov future
Python
27
star
38

postfix-docker

Docker container with a postfix server designed for use during phishing campaigns
Shell
26
star
39

dotgov-home

Homepage for the .gov registry
SCSS
25
star
40

assessment-reporting-engine

Python
24
star
41

skeleton-python-library

A skeleton project for quickly getting a new cisagov Python library started.
Python
19
star
42

scanner

Automated pshtt, trustymail, and sslyze scanning
Shell
18
star
43

cyhy_amis

AWS infrastructure for Cyber Hygiene and BOD 18-01 scanning
HCL
16
star
44

skeleton-docker

A skeleton project for quickly getting a new cisagov Docker container started.
Shell
15
star
45

admiral

Distributed certificate transparency log harvester
Python
14
star
46

icsnpp-opcua-binary

Zeek OPCUA Binary Parser - CISA ICSNPP
JavaScript
13
star
47

pe-reports

Automated process to build and distribute Posture & Exposure Reports' bi-weekly to customers.
Python
13
star
48

icsnpp-enip

Zeek Ethernet/IP and CIP Parser - CISA ICSNPP
Zeek
13
star
49

icsnpp-bacnet

Zeek BACnet Parser - CISA ICSNPP
JavaScript
12
star
50

ansible-role-clamav

Ansible role to install and enable the ClamAV virus scanner
Shell
12
star
51

lambda_functions

Generate AWS Lambda environment zip files for use by cisagov/domain-scan
Shell
12
star
52

icsnpp-s7comm

Zeek S7comm, S7comm-plus, and COTP Parser - CISA ICSNPP
JavaScript
11
star
53

network-architecture-verification-and-validation

The NAVV (Network Architecture Verification and Validation) tool creates a spreadsheet for network traffic analysis from PCAP data and Zeek logs, automating Zeek analysis of PCAP files, the collation of Zeek logs and the dissection of conn.log and dns.log to create a summary or network traffic in an XLSX-formatted spreadsheet.
Python
11
star
54

docker-kali-ansible

A systemd-enabled Kali Linux Docker image, in the spirit of geerlingguy/docker-debian11-ansible.
Dockerfile
10
star
55

tic3.0

Collaborating on Trusted Internet Connection 3.0 use cases
10
star
56

icsnpp-genisys

Industrial Control Systems Network Protocol Parsers (ICSNPP) - Genisys over TCP/IP
Python
10
star
57

gh-skeleton

This extension for the gh CLI provides the ability to easily start new projects from our existing library of skeleton repositories.
Shell
10
star
58

scoping-validation-tool

SVT is a tool that can be used to verify ownership and location of assets during the scoping process of a penetration test.
Python
9
star
59

orchestrator

Orchestrate gatherer, scanner, saver, and trustymail_reporter
Shell
9
star
60

pshtt_reporter

Generate HTTPS reports based on scan data
Python
9
star
61

cyhy-mailer

Email Cyber Hygiene, Trustworthy Email, and HTTPS reports to the appropriate technical or distribution addresses
Python
9
star
62

trustymail_reporter

Generate Trustworthy Email reports based on scan data
Python
9
star
63

pre-commit-packer

Provides pre-commit hooks for Packer projects.
Shell
9
star
64

nessus-packer

Create machine images containing the Nessus vulnerability scanner
HCL
9
star
65

domain-manager-api

Flask API for Domain Manager
Python
9
star
66

gatherer

Gather domains as a precursor to scanning
Shell
9
star
67

certboto-docker

Certbot container that stores its configuration in an AWS S3 bucket
Shell
9
star
68

icsnpp-modbus

Zeek Modbus Extension Scripts - CISA ICSNPP
Zeek
8
star
69

ansible-role-kali

An Ansible role for provisioning kali
HCL
8
star
70

aws-profile-sync

Synchronize AWS credential profiles from remote sources
Python
8
star
71

icsnpp-dnp3

Zeek DNP3 Extension Scripts - CISA ICSNPP
Zeek
8
star
72

dmarc-import

A tool for parsing DMARC aggregate reports.
Python
8
star
73

icsnpp-bsap-ip

Zeek BSAP over IP Parser - CISA ICSNPP
JavaScript
8
star
74

CISASuite

The CSET, Malcom, Con-PCA suite of tools
HTML
8
star
75

skeleton-generic

A generic skeleton project for quickly getting a new cisagov project started.
Shell
8
star
76

icsnpp-ethercat

Zeek Ethercat Parser - CISA ICSNPP
C++
8
star
77

Sogu

This script generates a list of possible SOGU filenames based on serial numbers of active drives. It has the added functionality of searching each drive from the generated file list.
PowerShell
8
star
78

PNT-Integrity-Toolkit

The PNT Integrity DIY Toolkit describes how a perspective end-user of the PNT Integrity Library can assemble a demonstrational toolkit with commercial-off-the-shelf (COTS) hardware.
C++
7
star
79

travis-wait-improved

A tool to help long-running, yet reticent, processes avoid death at the hands of Traivs-CI.
Python
7
star
80

con-pca-api

API Docker Container for Con-PCA
HTML
7
star
81

.dotfiles

Generic set of dotfiles to get you started with a cisagov development environment
Shell
7
star
82

domain-manager-ui

UI for the Domain Manager
HTML
7
star
83

pen-testing-findings

A collection of Active Directory, phishing, mobile technology, system, service, web application, and wireless technology weaknesses that may be discovered during a penetration test.
7
star
84

vulnerable-instances

Virtual machines that are set up with a variety of known vulnerabilities.
HCL
7
star
85

scan-target-data

Contains data used to identify targets for scanning
Shell
6
star
86

openvpn-server-tf-module

Terraform module to create an OpenVPN server instance
HCL
6
star
87

ansible-role-burp-suite-pro

An Ansible role for installing Burp Suite Professional
HCL
6
star
88

con-pca-web

The website source and terraform code for continuous phishing assessment.
HTML
6
star
89

security-contact-finder

Making government security contacts accessible
CSS
6
star
90

con-pca-cicd

continuous phishing main repository
HCL
6
star
91

flare-misp-service

Automate the regular transfer of AIS data into a MISP Server
Java
6
star
92

saver

Save scan results to a database
Python
6
star
93

megazord-composition

Shell
6
star
94

ansible-role-openvpn

Ansible role to install an OpenVPN server and configure it to authenticate users certificates against FreeIPA.
Shell
6
star
95

ansible-role-amazon-efs-utils

An Ansible role for installing aws/efs-utils
Shell
5
star
96

awssh

Tool to simplify secure shell connections over AWS simple systems manager.
Python
5
star
97

sslyze-lambda

AWS Lambda function for sslyze
Python
5
star
98

cyhy-core

Python
5
star
99

ncats-data-dictionary

Shell
5
star
100

cool-assessment-terraform

Terraform to deploy an assessment environment to the COOL
HCL
5
star