GithubHelp home page GithubHelp logo

hartl3y94 / 2021-oceanlotus-workshop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from otrf/2021-oceanlotus-workshop

0.0 0.0 0.0 4.05 MB

License: MIT License

Shell 3.68% Python 1.36% PowerShell 10.79% HCL 84.18%

2021-oceanlotus-workshop's Introduction

macos-workshops

Table of Contents

Network diagram

AWS resource limit increase requests

Dedicated hosts

To run macOS on AWS you need to create AWS EC2 dedicated hosts of instance type mac1.metal. By default, you can only create 0 instances of this type. You will need to submit a request to AWS to get this increased from 0 to 3.

Virtual CPUs

By default AWS limits your account to 32 vCPUs but this environment requires 72 (see table below). You will need to submit a request to AWS to get this increased from 32 to 72.

Elastic IPs

By default you get 5 Elastic IPs per region for an account but this project needs 9 Elatic IPs. Breakdown:

  • 1 Elastic IP for the VPC NAT gateway
  • 1 Elastic IP for the VPC Internet gateway
  • 1 Elastic IP for the jumpbox
  • 2 Elastic IP for the red team boxes
  • 1 Elastic IP for the Graylog SIEM
  • 1 Elastic IP for the Splunk SIEM
  • 1 Elastic IP for the Elastic SIEM
  • 1 Elastic IP for the Arkmie/NSM box

AWS pricing

Below is a table of all the AWS compute resources needed for this workshop. Depending your target audience size you can adjsut the size allocations for each machine. The SIEM machines and NSM/Arkmie use r5 machines to provide as much memory as possible to keep search times minimal.

It should be noted at the time of this writing that if you plan on running this setup in AWS including the macOS machines even before they are turned on it's $25 per macOS instance. The macOS license states that each instance must be used at least 24 hours. Even, if you use macOS machines for 3 seconds you still end up paying for 24 hours worth of use.

Let's discuss the hour pricing listed in the table below. It should be noted that hourly price listed is only the EC2 computing, the pricing does not include:

  • networking (ingress/egress) charges
  • Storage which is $0.10 per GB-month = $74.88
  • macOS up-front license cost which is $25 per instance = $75
  • Elastic IPs
  • API costs
  • Etc
# EC2 type vCPU Memory SSD Rate per hour Description
1 r5.2xlarge 8 64GB 100GB $0.504 Elastic server
2 r5.2xlarge 8 64GB 100GB $0.504 Graylog server
3 r5.2xlarge 8 64GB 100GB $0.504 Splunk server
4 r5.2xlarge 4 16GB 100GB $0.1856 NSM server
5 t2.small 1 2GB 8GB $0.023 Jumpbox
6 t2.small 1 2GB 20GB $0.023 red team box - alpha
7 t2.small 1 2GB 20GB $0.023 red team box - beta
8 t2.large 2 8GB 20GB $0.0928 Logstah ingestor server
9 t2.small 1 2GB 20GB $0.023 wiki server
10 t2.small 1 2GB 20GB $0.0234 file server
11 t2.small 1 2GB 60GB $0.0234 Windows server
12 mac1.metal 12 32GB 60GB $1.083 macOS client - alpha
13 mac1.metal 12 32GB 60GB $1.083 macOS client - beta
14 mac1.metal 12 32GB 60GB $1.083 macOS client - charlie
15 dedicated host - - - $1.083 Dedicate host for macOS alpha
15 dedicated host - - - $1.083 Dedicate host for macOS beta
15 dedicated host - - - $1.083 Dedicate host for macOS charlie
Total 72 320GB 748GB $8.426/hr

User table

# Username Pasword account type Description
1 [email protected] <group_vars/corp.yml - user_list> mail account e-mail account
2 [email protected] <group_vars/corp.yml - user_list> mail account e-mail account
3 [email protected] <group_vars/corp.yml - user_list> mail account e-mail admin account
4 jso-yeon <group_vars/corp.yml - user_list> SMB share smb://172.16.50.20/public
5 lmanoban <group_vars/corp.yml - user_list> SMB share smb://172.16.50.20/public
6 dengziqi <group_vars/corp.yml - user_list> SMB share smb://172.16.50.20/private - admin
7 jso-yeon <group_vars/corp.yml - user_list> macos Alpha VNC vnc://172.16.50.130
8 lmanoban <group_vars/corp.yml - user_list> macos Beta VNC vnc://172.16.50.131
9 dengziqi <group_vars/corp.yml - user_list> macos Charlie VNC vnc://172.16.50.132
10 ec2-user <group_vars/corp.yml - vnc_admin_password> macos Alpha VNC vnc://172.16.50.130
11 ec2-user <group_vars/corp.yml - vnc_admin_password> macos Beta VNC vnc://172.16.50.131
12 ec2-user <group_vars/corp.yml - vnc_admin_password> macos Charlie VNC vnc://172.16.50.132

Generate SSH keys for red team exercise

  1. cd macos-workshop
  2. ssh-keygen -t rsa -b 2048 -C "[email protected]" -f files/comp_ssh_keys/id_rsa -q -N ""

Instructions to setup AWS environment

  1. AWS + Terraform
  2. Setup management subnet
  3. Init Ansible playbooks
  4. Setup corp subnet
  5. Setup macOS clients

Install/Setup public subnet

The playbook instructions for these instances assume they are publicaly facing and that these instances have public DNS A records that can be used by Let's Encrypt to generate an HTTPS certificate for NGINX.

Install/Setup Elastic, Graylog, Splunk,Arkmie

Install/Setup corp subnet

The playbook instructions for these instances are to setup

Destroy the AWS environment

  1. cd macos-workshop/terraform
  2. terraform destroy
  3. Terraform destroy

JSON logs

References

Ansible

Docker

2021-oceanlotus-workshop's People

Contributors

cptofevilminions avatar cyb3rward0g avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.