All Projects → ansorren → GDPatrol

ansorren / GDPatrol

Licence: MIT license
A Lambda-powered Security Orchestration framework for AWS GuardDuty

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to GDPatrol

CloudFrontier
Monitor the internet attack surface of various public cloud environments. Currently supports AWS, GCP, Azure, DigitalOcean and Oracle Cloud.
Stars: ✭ 102 (+104%)
Mutual labels:  cybersecurity, aws-security, cloudsecurity
MurMurHash
This little tool is to calculate a MurmurHash value of a favicon to hunt phishing websites on the Shodan platform.
Stars: ✭ 79 (+58%)
Mutual labels:  cybersecurity, threatintel, blueteam
YAFRA
YAFRA is a semi-automated framework for analyzing and representing reports about IT Security incidents.
Stars: ✭ 22 (-56%)
Mutual labels:  incident-response, cybersecurity, threatintel
Awesome Cybersecurity
Curated list of awesome cybersecurity companies and solutions.
Stars: ✭ 77 (+54%)
Mutual labels:  cybersecurity, siem, threatintel
Azure-Sentinel-4-SecOps
Microsoft Sentinel SOC Operations
Stars: ✭ 140 (+180%)
Mutual labels:  incident-response, siem, cloudsecurity
Malware-Zoo
Hashes of infamous malware
Stars: ✭ 18 (-64%)
Mutual labels:  cybersecurity, threatintel
OSINTBookmarks
OSINT Bookmarks for Firefox / Chrome / Edge / Safari
Stars: ✭ 34 (-32%)
Mutual labels:  cybersecurity, blueteam
BTPS-SecPack
This repository contains a collection of PowerShell tools that can be utilized to protect and defend an environment based on the recommendations of multiple cyber security researchers at Microsoft. These tools were created with a small to medium size enterprise environment in mind as smaller organizations do not always have the type of funding a…
Stars: ✭ 33 (-34%)
Mutual labels:  cybersecurity, blueteam
RdpCacheStitcher
RdpCacheStitcher is a tool that supports forensic analysts in reconstructing useful images out of RDP cache bitmaps.
Stars: ✭ 176 (+252%)
Mutual labels:  incident-response, cybersecurity
SWELF
Simple Windows Event Log Forwarder (SWELF). Its easy to use/simply works Log Forwarder and EVTX Parser. Almost in full release here at https://github.com/ceramicskate0/SWELF/releases/latest.
Stars: ✭ 23 (-54%)
Mutual labels:  cybersecurity, siem
ThePhish
ThePhish: an automated phishing email analysis tool
Stars: ✭ 676 (+1252%)
Mutual labels:  incident-response, cybersecurity
github-watchman
Monitoring GitHub for sensitive data shared publicly
Stars: ✭ 60 (+20%)
Mutual labels:  cybersecurity, blueteam
awesome-security-articles
This repository contains links to awesome security articles.
Stars: ✭ 33 (-34%)
Mutual labels:  cybersecurity, cloudsecurity
NIST-to-Tech
An open-source listing of cybersecurity technology mapped to the NIST Cybersecurity Framework (CSF)
Stars: ✭ 61 (+22%)
Mutual labels:  cybersecurity, blueteam
qradar
Unofficial third-party scripts, playbooks, and content for IBM QRadar & QRadar Community Edition.
Stars: ✭ 53 (+6%)
Mutual labels:  siem, blueteam
introspector
A schema and set of tools for using SQL to query cloud infrastructure.
Stars: ✭ 61 (+22%)
Mutual labels:  aws-security, cloudsecurity
Blue-Team-Notes
You didn't think I'd go and leave the blue team out, right?
Stars: ✭ 899 (+1698%)
Mutual labels:  cybersecurity, blueteam
censys-recon-ng
recon-ng modules for Censys
Stars: ✭ 29 (-42%)
Mutual labels:  cybersecurity, threatintel
Intelowl
Intel Owl: analyze files, domains, IPs in multiple ways from a single API at scale
Stars: ✭ 2,114 (+4128%)
Mutual labels:  incident-response, threatintel
Vast
🔮 Visibility Across Space and Time
Stars: ✭ 227 (+354%)
Mutual labels:  incident-response, siem

GDPatrol

A Serverless Security Orchestration Automation and Response (SOAR) Framework for AWS GuardDuty. The GDPatrol Lambda function receives the GuardDuty findings through the CloudWatch Event Rule and executes the appropriate actions to mitigate the threats according to their types and severity. The deployment script will enable GuardDuty and deploy the GDPatrol Lambda function in all supported regions.

Supported actions:

  • blacklist_ip(at the VPC level, using a Network ACL)
  • whitelist_ip
  • block_domain
  • quarantine_instance (deny all traffic ingress and egress to the EC2 instance)
  • snapshot_instance
  • disable_account (disable every action for a particular account)
  • disable_ec2_access
  • enable_ec2_access
  • disable_sg_access (Disable Security Group Access)
  • enable_sg_access
  • asg_detach_instance (detach instance from an auto scaling group)

The actions to be executed are configured in the config.json file:

{
  "type": "Backdoor:EC2/C&CActivity.B!DNS",
  "actions": ["block_domain", "asg_detach_instance", "quarantine_instance", "snapshot_instance"],
  "reliability": 5
},

Getting Started

Prerequisites

  • Python 3.6 (should be compatible with 2.7 as well but I didn't test it)
  • Boto3

Installing

Clone the project and just run the deployment file:

python3 deploy.py

The deployment script makes the following calls, make sure your account has the appropriate permissions:

IAM:
List Roles, Delete Role Policy, Delete Role, Create Role, Put Role Policy

Lambda:
List Functions, Delete Function, Create Function, Add Permission

CloudWatch Events:
List Rules, List Targets By Rule, Remove Targets, Delete Rule, Put Rule, Put Targets

GuardDuty:
List Detectors, Create Detector, Update Detector

Configuration

You can easily create your own playbooks by just adding or removing the actions and changing the reliability in the config.json for the desired finding type.

By default, all findings are assigned a reliability value of 5: the reliability is then added to the "severity" value found in the finding JSON, and the actions are only executed if the sum of the two values is higher than 10.

This ensures that, by default, only the playbooks for the GuardDuty findings with a severity of 6 or higher will be executed, while providing a way to effectively yet simply modify the behavior by modifying the reliability value of the config file.

After any change to the config file locally, run deploy.py again and the script will recreate the Lambda function with the updated config.json file. The GuardDuty findings types are documented here.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Most of the actions code was adapted from the AWS Phantom app published by Booz Allen Hamilton.

Note: By enabling GuardDuty, you might incur in additional costs. However, since the service is billed per log consumption usage, the cost should be irrelevant for the regions you're not actively using, so there's no reason to leave it off as you will want to monitor unused regions as well. See GuardDuty pricing for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].