0799bfbae8
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.
198 lines
4.5 KiB
YAML
198 lines
4.5 KiB
YAML
---
|
|
# Advanced Gophish configuration with enhanced evasion and features
|
|
|
|
- name: Create Gophish user
|
|
user:
|
|
name: gophish
|
|
system: yes
|
|
shell: /bin/bash
|
|
home: /opt/gophish
|
|
create_home: yes
|
|
|
|
- name: Download latest Gophish release
|
|
get_url:
|
|
url: "https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip"
|
|
dest: /tmp/gophish.zip
|
|
mode: '0644'
|
|
|
|
- name: Extract Gophish
|
|
unarchive:
|
|
src: /tmp/gophish.zip
|
|
dest: /opt/gophish
|
|
owner: gophish
|
|
group: gophish
|
|
remote_src: yes
|
|
|
|
- name: Install additional packages for advanced features
|
|
apt:
|
|
name:
|
|
- nginx
|
|
- certbot
|
|
- python3-certbot-nginx
|
|
- sqlite3
|
|
- jq
|
|
- curl
|
|
- wget
|
|
- php-fpm
|
|
- php-sqlite3
|
|
- nodejs
|
|
- npm
|
|
state: present
|
|
|
|
- name: Configure advanced Gophish settings
|
|
template:
|
|
src: "../templates/phishing/gophish-advanced-config.j2"
|
|
dest: /opt/gophish/config.json
|
|
owner: gophish
|
|
group: gophish
|
|
mode: '0600'
|
|
|
|
- name: Create enhanced email templates directory
|
|
file:
|
|
path: /opt/gophish/templates/{{ item }}
|
|
state: directory
|
|
owner: gophish
|
|
group: gophish
|
|
mode: '0755'
|
|
loop:
|
|
- email
|
|
- landing
|
|
- static
|
|
|
|
- name: Deploy email templates
|
|
template:
|
|
src: "../templates/phishing/email-templates/{{ item }}.j2"
|
|
dest: "/opt/gophish/templates/email/{{ item }}.html"
|
|
owner: gophish
|
|
group: gophish
|
|
mode: '0644'
|
|
loop:
|
|
- office365_login
|
|
- password_expiry
|
|
- security_alert
|
|
- file_share
|
|
when: not fedramp_mode | default(false) | bool
|
|
|
|
- name: Deploy FedRAMP compliant templates
|
|
template:
|
|
src: "../templates/phishing/fedramp-compliance.j2"
|
|
dest: "/opt/gophish/templates/email/fedramp_template.html"
|
|
owner: gophish
|
|
group: gophish
|
|
mode: '0644'
|
|
when: fedramp_mode | default(false) | bool
|
|
|
|
- name: Create advanced landing pages
|
|
template:
|
|
src: "../templates/phishing/phishing-landing-page.j2"
|
|
dest: "/opt/gophish/templates/landing/{{ item }}_landing.html"
|
|
owner: gophish
|
|
group: gophish
|
|
mode: '0644'
|
|
loop:
|
|
- office365
|
|
- generic
|
|
- fedramp
|
|
vars:
|
|
template_type: "{{ item }}"
|
|
|
|
- name: Install enhanced tracking pixel
|
|
copy:
|
|
src: "../../tracker/files/simple_email_tracker.py"
|
|
dest: /opt/gophish/tracker.py
|
|
owner: gophish
|
|
group: gophish
|
|
mode: '0755'
|
|
|
|
- name: Create Gophish database backup script
|
|
template:
|
|
src: "../templates/phishing/gophish-backup.sh.j2"
|
|
dest: /opt/gophish/backup.sh
|
|
owner: gophish
|
|
group: gophish
|
|
mode: '0755'
|
|
|
|
- name: Set up database backup cron
|
|
cron:
|
|
name: "Backup Gophish database"
|
|
minute: "0"
|
|
hour: "*/6"
|
|
job: "/opt/gophish/backup.sh"
|
|
user: gophish
|
|
|
|
- name: Create Gophish systemd service
|
|
template:
|
|
src: "../templates/phishing/gophish.service.j2"
|
|
dest: /etc/systemd/system/gophish.service
|
|
mode: '0644'
|
|
|
|
- name: Enable and start Gophish service
|
|
systemd:
|
|
name: gophish
|
|
state: started
|
|
enabled: yes
|
|
daemon_reload: yes
|
|
|
|
- name: Create campaign automation script
|
|
template:
|
|
src: "../templates/phishing/campaign-automation.py.j2"
|
|
dest: /opt/gophish/campaign-automation.py
|
|
owner: gophish
|
|
group: gophish
|
|
mode: '0755'
|
|
|
|
- name: Install Python dependencies for automation
|
|
pip:
|
|
name:
|
|
- requests
|
|
- python-dateutil
|
|
- jinja2
|
|
state: present
|
|
|
|
- name: Configure SMTP relay to MTA front
|
|
blockinfile:
|
|
path: /opt/gophish/config.json
|
|
marker: "// {mark} ANSIBLE MANAGED SMTP CONFIG"
|
|
block: |
|
|
"smtp": {
|
|
"host": "{{ mta_front_ip }}:587",
|
|
"username": "{{ smtp_relay_user }}",
|
|
"password": "{{ smtp_relay_pass }}",
|
|
"from": "{{ sender_email }}",
|
|
"ignore_cert_errors": true
|
|
}
|
|
|
|
- name: Create phishing metrics dashboard
|
|
template:
|
|
src: "../templates/phishing/metrics-dashboard.html.j2"
|
|
dest: /opt/gophish/static/metrics.html
|
|
owner: gophish
|
|
group: gophish
|
|
mode: '0644'
|
|
|
|
- name: Set up log aggregation
|
|
lineinfile:
|
|
path: /etc/rsyslog.conf
|
|
line: "local0.* /var/log/gophish.log"
|
|
state: present
|
|
notify: restart rsyslog
|
|
|
|
- name: Configure log rotation for Gophish
|
|
copy:
|
|
dest: /etc/logrotate.d/gophish
|
|
content: |
|
|
/var/log/gophish.log {
|
|
daily
|
|
missingok
|
|
rotate 30
|
|
compress
|
|
delaycompress
|
|
notifempty
|
|
create 0644 gophish gophish
|
|
}
|
|
|
|
handlers:
|
|
- name: restart rsyslog
|
|
service:
|
|
name: rsyslog
|
|
state: restarted |