Got attack box and c2-redirector working

This commit is contained in:
n0mad1k
2025-08-21 16:25:00 -04:00
parent 1450a55e50
commit 9bef2e7d31
93 changed files with 14924 additions and 3727 deletions
@@ -3,15 +3,18 @@
# Handles all deployment types and orchestrates component deployment
- name: Deploy phishing infrastructure
hosts: localhost
gather_facts: false
hosts: 127.0.0.1
gather_facts: true # Enable to get ansible_date_time
connection: local
vars_files:
- vars.yaml
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
@@ -30,68 +33,73 @@
- "Deployment ID: {{ deployment_id }}"
- "Provider: {{ provider }}"
- "Deployment Type: {{ deployment_type }}"
- "Primary Domain: {{ primary_domain | default(domain) }}"
- "Phishing Domain: {{ phishing_domain | default(primary_domain) }}"
- "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
include: mta_front.yml
debug:
msg: "🚀 Executing MTA Front deployment: mta_front.yml with server_name=mta-{{ deployment_id }}"
when: deploy_mta_front | default(false) | bool
vars:
server_name: "mta-{{ deployment_id }}"
component_type: "mta_front"
- name: Deploy Gophish server
include: gophish_server.yml
debug:
msg: "🚀 Executing Gophish C2 deployment: ../../providers/{{ provider }}/c2.yml with c2_name=gophish-{{ deployment_id }}"
when: deploy_gophish | default(false) | bool
vars:
server_name: "gophish-{{ deployment_id }}"
component_type: "gophish"
- name: Deploy phishing redirector
include: phishing_redirector.yml
debug:
msg: "🚀 Executing redirector deployment: ../../providers/{{ provider }}/redirector.yml with redirector_name=redirector-{{ deployment_id }}"
when: deploy_phishing_redirector | default(false) | bool
vars:
server_name: "phish-redir-{{ deployment_id }}"
component_type: "phishing_redirector"
- name: Deploy phishing web server
include: phishing_webserver.yml
debug:
msg: "🚀 Executing web server deployment: phishing_webserver.yml with server_name=web-{{ deployment_id }}"
when: deploy_phishing_webserver | default(false) | bool
vars:
server_name: "phish-web-{{ deployment_id }}"
component_type: "phishing_webserver"
- name: Deploy payload redirector
include: payload_redirector.yml
when: deploy_payload_redirector | default(false) | bool
vars:
server_name: "payload-redir-{{ deployment_id }}"
component_type: "payload_redirector"
# 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
include: payload_server.yml
when: deploy_payload_server | default(false) | bool
vars:
server_name: "payload-{{ deployment_id }}"
component_type: "payload_server"
# - 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
- name: Deploy C2 redirector
include: ../AWS/redirector.yml
when: deploy_c2_redirector | default(false) | bool
vars:
redirector_name: "c2-redir-{{ deployment_id }}"
# 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
include: ../AWS/c2.yml
when: deploy_c2_backend | default(false) | bool
vars:
c2_name: "c2-{{ deployment_id }}"
# - 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"
include_tasks: "tasks/setup_phishing_security.yml"
vars:
deployment_components:
mta_front: "{{ deploy_mta_front | default(false) }}"
@@ -100,30 +108,48 @@
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: "phishing_deployment_{{ deployment_id }}.json"
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:
primary: "{{ primary_domain | default(domain) }}"
phishing: "{{ phishing_domain | default(primary_domain) }}"
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!"
- "==========================================="
- "Access your Gophish interface at: https://{{ gophish_ip }}:{{ gophish_admin_port | default(3333) }}"
- "Phishing domain: {{ phishing_domain }}"
- "Campaign ready to launch!"
- "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)