50 lines
1.8 KiB
YAML
50 lines
1.8 KiB
YAML
---
|
|
# Phishing web server for credential harvesting
|
|
|
|
- name: Deploy phishing web server
|
|
hosts: localhost
|
|
gather_facts: false
|
|
connection: local
|
|
vars_files:
|
|
- vars.yaml
|
|
vars:
|
|
webserver_instance_type: "{{ webserver_instance_type | default('t3.medium') }}"
|
|
webserver_region: "{{ webserver_region | default(aws_region) }}"
|
|
|
|
tasks:
|
|
- name: Create phishing web server instance
|
|
include_tasks: "../tasks/create_instance.yml"
|
|
vars:
|
|
instance_name: "{{ server_name }}"
|
|
instance_type: "{{ webserver_instance_type }}"
|
|
region: "{{ webserver_region }}"
|
|
security_group_rules:
|
|
- { proto: tcp, port: 22, cidr: "{{ operator_ip }}/32", desc: "SSH from operator" }
|
|
- { proto: tcp, port: 80, cidr: "{{ phishing_redirector_ip | default('10.0.0.0/8') }}/32", desc: "HTTP from redirector" }
|
|
- { proto: tcp, port: 443, cidr: "{{ phishing_redirector_ip | default('10.0.0.0/8') }}/32", desc: "HTTPS from redirector" }
|
|
|
|
- name: Add phishing web server to inventory
|
|
add_host:
|
|
name: "phishing_webserver"
|
|
groups: "phishing_webservers"
|
|
ansible_host: "{{ instance_ip }}"
|
|
ansible_user: "{{ ansible_user | default('ubuntu') }}"
|
|
ansible_ssh_private_key_file: "{{ ssh_key_path }}"
|
|
ansible_ssh_common_args: "-o StrictHostKeyChecking=no"
|
|
|
|
- name: Configure phishing web server
|
|
hosts: phishing_webservers
|
|
become: true
|
|
gather_facts: true
|
|
vars_files:
|
|
- vars.yaml
|
|
tasks:
|
|
- name: Include phishing web server configuration
|
|
include_tasks: "../tasks/configure_phishing_webserver.yml"
|
|
|
|
- name: Include security hardening
|
|
include_tasks: "../tasks/security_hardening.yml"
|
|
|
|
- name: Include tracker setup
|
|
include_tasks: "../tasks/configure_integrated_tracker.yml"
|
|
when: deploy_tracker | default(true) | bool |