Book Image

Purple Team Strategies

By : David Routin, Simon Thoores, Samuel Rossier
Book Image

Purple Team Strategies

By: David Routin, Simon Thoores, Samuel Rossier

Overview of this book

With small to large companies focusing on hardening their security systems, the term "purple team" has gained a lot of traction over the last couple of years. Purple teams represent a group of individuals responsible for securing an organization’s environment using both red team and blue team testing and integration – if you’re ready to join or advance their ranks, then this book is for you. Purple Team Strategies will get you up and running with the exact strategies and techniques used by purple teamers to implement and then maintain a robust environment. You’ll start with planning and prioritizing adversary emulation, and explore concepts around building a purple team infrastructure as well as simulating and defending against the most trendy ATT&CK tactics. You’ll also dive into performing assessments and continuous testing with breach and attack simulations. Once you’ve covered the fundamentals, you'll also learn tips and tricks to improve the overall maturity of your purple teaming capabilities along with measuring success with KPIs and reporting. With the help of real-world use cases and examples, by the end of this book, you'll be able to integrate the best of both sides: red team tactics and blue team security measures.
Table of Contents (20 chapters)
Part 1: Concept, Model, and Methodology
Part 2: Building a Purple Infrastructure
Part 3: The Most Common Tactics, Techniques, and Procedures (TTPs) and Defenses
Part 4: Assessing and Improving

Diffing results

In this section, we are going to learn how to integrate the Python script that's in charge of diffing between two PingCastle reports (day -1/d-day). This script is the same one that we used in Chapter 12, PTX – Purple Teaming eXtended.

The Python script takes two files as input:

  • The report that was created day -1. This report can be found automatically using Ansible and the shell module by using the following command:
    find "${option.path}" -mmin +60 -mmin -1440  -type f -name "*.xml"

Let's look at this command in more details:

  • mmin +60: More than 1 hour
  • mmin -1440: Less than 24 hours
  • name "*.xml": All files with XML extensions
  • The current report that we created (the last one). The correct report will be identified every day by Ansible.


In this section, we will use the following Ansible playbook...