98103466d8
Sanitized version of red team infrastructure automation platform. Operational content (implant pipelines, lures, credential capture) replaced with documented stubs. Architecture and infrastructure automation code intact.
155 lines
6.4 KiB
YAML
155 lines
6.4 KiB
YAML
---
|
|
# Main phishing infrastructure deployment playbook
|
|
# Handles all deployment types and orchestrates component deployment
|
|
|
|
- name: Deploy phishing infrastructure
|
|
hosts: 127.0.0.1
|
|
gather_facts: true # Enable to get ansible_date_time
|
|
connection: local
|
|
vars:
|
|
deployment_id: "{{ deployment_id | default('') }}"
|
|
provider: "{{ provider | default('aws') }}"
|
|
deployment_type: "{{ deployment_type | default('phishing_only_noccdn') }}"
|
|
# Provider directory mapping
|
|
provider_dirs:
|
|
aws: "AWS"
|
|
linode: "Linode"
|
|
flokinet: "FlokiNET"
|
|
|
|
tasks:
|
|
- name: Validate deployment configuration
|
|
assert:
|
|
that:
|
|
- deployment_id != ""
|
|
- provider != ""
|
|
- deployment_type != ""
|
|
fail_msg: "Missing required deployment parameters"
|
|
|
|
- name: Display deployment information
|
|
debug:
|
|
msg:
|
|
- "Phishing Infrastructure Deployment"
|
|
- "=================================="
|
|
- "Deployment ID: {{ deployment_id }}"
|
|
- "Provider: {{ provider }}"
|
|
- "Deployment Type: {{ deployment_type }}"
|
|
- "Phishing Domain: {{ phishing_domain | default('N/A') }}"
|
|
|
|
# Phase 1: Deploy core infrastructure components
|
|
# Note: This playbook is orchestrated by deploy_phishing.py which calls individual provider playbooks
|
|
# The actual infrastructure deployment is handled by provider-specific playbooks:
|
|
# - providers/AWS/c2.yml for GoPhish/C2 servers
|
|
# - providers/AWS/redirector.yml for redirectors
|
|
# - providers/Linode/c2.yml, providers/Linode/redirector.yml for Linode
|
|
# - modules/phishing/mta_front.yml for MTA front servers
|
|
|
|
- name: Deploy MTA Front server
|
|
debug:
|
|
msg: "🚀 Executing MTA Front deployment: mta_front.yml with server_name=mta-{{ deployment_id }}"
|
|
when: deploy_mta_front | default(false) | bool
|
|
|
|
- name: Deploy Gophish server
|
|
debug:
|
|
msg: "🚀 Executing Gophish C2 deployment: ../../providers/{{ provider }}/c2.yml with c2_name=gophish-{{ deployment_id }}"
|
|
when: deploy_gophish | default(false) | bool
|
|
|
|
- name: Deploy phishing redirector
|
|
debug:
|
|
msg: "🚀 Executing redirector deployment: ../../providers/{{ provider }}/redirector.yml with redirector_name=redirector-{{ deployment_id }}"
|
|
when: deploy_phishing_redirector | default(false) | bool
|
|
|
|
- name: Deploy phishing web server
|
|
debug:
|
|
msg: "🚀 Executing web server deployment: phishing_webserver.yml with server_name=web-{{ deployment_id }}"
|
|
when: deploy_phishing_webserver | default(false) | bool
|
|
|
|
# Optional payload infrastructure - commented out for basic phishing deployments
|
|
# - name: Deploy payload redirector
|
|
# debug:
|
|
# msg:
|
|
# - "🔧 Payload redirector deployment"
|
|
# - "Server Name: payload-redir-{{ deployment_id }}"
|
|
# - "✅ Executes: providers/{{ provider }}/redirector.yml"
|
|
# when: deploy_payload_redirector | default(false) | bool
|
|
|
|
# - name: Deploy payload server
|
|
# debug:
|
|
# msg:
|
|
# - "🔧 Payload server deployment"
|
|
# - "Server Name: payload-{{ deployment_id }}"
|
|
# - "✅ Executes: modules/payload-server/tasks/configure_payload_server.yml"
|
|
# when: deploy_payload_server | default(false) | bool
|
|
|
|
# Phase 2: Deploy C2 infrastructure if requested (optional)
|
|
# - name: Deploy C2 redirector
|
|
# debug:
|
|
# msg:
|
|
# - "🔧 C2 redirector deployment"
|
|
# - "Server Name: c2-redir-{{ deployment_id }}"
|
|
# - "✅ Executes: providers/{{ provider }}/redirector.yml"
|
|
# when: deploy_c2_redirector | default(false) | bool
|
|
|
|
# - name: Deploy C2 backend
|
|
# debug:
|
|
# msg:
|
|
# - "🔧 C2 backend deployment"
|
|
# - "Server Name: c2-backend-{{ deployment_id }}"
|
|
# - "✅ Executes: providers/{{ provider }}/c2.yml"
|
|
# when: deploy_c2_backend | default(false) | bool
|
|
|
|
# Phase 3: Configure security groups and firewall rules
|
|
- name: Configure phishing security
|
|
include_tasks: "tasks/setup_phishing_security.yml"
|
|
vars:
|
|
deployment_components:
|
|
mta_front: "{{ deploy_mta_front | default(false) }}"
|
|
gophish: "{{ deploy_gophish | default(false) }}"
|
|
phishing_redirector: "{{ deploy_phishing_redirector | default(false) }}"
|
|
phishing_webserver: "{{ deploy_phishing_webserver | default(false) }}"
|
|
payload_redirector: "{{ deploy_payload_redirector | default(false) }}"
|
|
payload_server: "{{ deploy_payload_server | default(false) }}"
|
|
when: false # Disable for now since security task doesn't exist
|
|
|
|
# Phase 4: Save deployment state
|
|
- name: Ensure logs directory exists
|
|
file:
|
|
path: "../../logs"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Save phishing deployment state
|
|
template:
|
|
src: "templates/phishing_deployment_state.j2"
|
|
dest: "{{ playbook_dir }}/logs/phishing_deployment_{{ deployment_id }}.json"
|
|
mode: '0600'
|
|
vars:
|
|
deployment_components:
|
|
mta_front: "{{ deploy_mta_front | default(false) }}"
|
|
gophish: "{{ deploy_gophish | default(false) }}"
|
|
phishing_redirector: "{{ deploy_phishing_redirector | default(false) }}"
|
|
phishing_webserver: "{{ deploy_phishing_webserver | default(false) }}"
|
|
payload_redirector: "{{ deploy_payload_redirector | default(false) }}"
|
|
payload_server: "{{ deploy_payload_server | default(false) }}"
|
|
deployment_info:
|
|
deployment_id: "{{ deployment_id }}"
|
|
deployment_type: "{{ deployment_type }}"
|
|
provider: "{{ provider }}"
|
|
components: "{{ deployment_components }}"
|
|
domains:
|
|
phishing: "{{ phishing_domain | default('N/A') }}"
|
|
created: "{{ ansible_date_time.iso8601 }}"
|
|
ignore_errors: true # Continue if template fails
|
|
|
|
- name: Display deployment summary
|
|
debug:
|
|
msg:
|
|
- "Phishing Infrastructure Deployment Complete!"
|
|
- "==========================================="
|
|
- "Deployment Type: {{ deployment_type }}"
|
|
- "Phishing Domain: {{ phishing_domain }}"
|
|
- "Components Deployed:"
|
|
- " - GoPhish: {{ deploy_gophish | default(false) }}"
|
|
- " - MTA Front: {{ deploy_mta_front | default(false) }}"
|
|
- " - Web Server: {{ deploy_phishing_webserver | default(false) }}"
|
|
- "Campaign ready to configure!"
|
|
when: not disable_summary | default(false) |