From a6ed515a056fdef6f190e6db99c2747b0ffdd4d6 Mon Sep 17 00:00:00 2001 From: n0mad1k Date: Wed, 9 Jul 2025 13:29:54 -0400 Subject: [PATCH] updated paths for restructure --- common/tasks/install_tools.yml | 2 +- deploy.py | 26 ++++---- .../c2/tasks/configure_advanced_evasion.yml | 15 ++--- modules/c2/tasks/configure_c2.yml | 10 +-- .../c2/tasks/configure_integrated_tracker.yml | 8 +-- modules/payload-server/payload_redirector.yml | 4 +- modules/payload-server/payload_server.yml | 4 +- modules/phishing/gophish_server.yml | 8 +-- modules/phishing/phishing_redirector.yml | 6 +- providers/AWS/c2.yml | 8 +-- providers/AWS/redirector.yml | 4 +- providers/FlokiNET/c2-deploy.yaml | 12 ++-- providers/FlokiNET/c2.yml | 8 +-- providers/FlokiNET/provision.yml | 2 +- providers/FlokiNET/redirector.yml | 4 +- providers/Linode/redirector.yml | 2 +- providers/Linode/tracker.yml | 4 +- structure.txt | 63 ++++++++++--------- 18 files changed, 95 insertions(+), 95 deletions(-) diff --git a/common/tasks/install_tools.yml b/common/tasks/install_tools.yml index cf65cf9..04e0b03 100644 --- a/common/tasks/install_tools.yml +++ b/common/tasks/install_tools.yml @@ -161,7 +161,7 @@ - name: Deploy Gophish config.json with custom admin port template: - src: "../templates/gophish-config.j2" + src: "../../modules/phishing/gophish/templates/gophish-config.j2" dest: "{{ tools_dir }}/gophish/config.json" owner: "{{ ansible_user }}" group: "{{ ansible_user }}" diff --git a/deploy.py b/deploy.py index f1e9671..4872d70 100755 --- a/deploy.py +++ b/deploy.py @@ -1147,7 +1147,7 @@ def interactive_setup(deployment_id=None): # If they want multi-region deployment, let them select regions now if use_multi_region and not config.get('c2_only') and not config.get('redirector_only'): provider_dir = PROVIDER_DIRS.get(config['provider'], config['provider'].capitalize()) - vars_file = f"{provider_dir}/vars.yaml" + vars_file = f"providers/{provider_dir}/vars.yaml" if os.path.exists(vars_file): with open(vars_file, 'r') as f: @@ -1194,7 +1194,7 @@ def interactive_setup(deployment_id=None): vars_data = {} for provider in providers_to_configure: provider_dir = PROVIDER_DIRS.get(provider, provider.capitalize()) - vars_file = f"{provider_dir}/vars.yaml" + vars_file = f"providers/{provider_dir}/vars.yaml" if os.path.exists(vars_file): try: @@ -1401,7 +1401,7 @@ def load_vars_file(provider): # Use correct case for directory provider_dir = PROVIDER_DIRS[provider] - vars_file = f"{provider_dir}/vars.yaml" + vars_file = f"providers/{provider_dir}/vars.yaml" if (os.path.exists(vars_file)): try: @@ -1803,7 +1803,7 @@ def deploy_infrastructure(config): if config.get('redirector_region'): redirector_config['region'] = config['redirector_region'] - playbook = f"{provider_dir}/redirector.yml" + playbook = f"providers/{provider_dir}/redirector.yml" inventory_path = create_inventory_file(redirector_config, "local") logging.info(f"Deploying {provider} redirector using {playbook} in region {redirector_config.get('region', 'default')}") @@ -1840,7 +1840,7 @@ def deploy_infrastructure(config): if config.get('c2_region'): c2_config['region'] = config['c2_region'] - playbook = f"{provider_dir}/c2.yml" + playbook = f"providers/{provider_dir}/c2.yml" inventory_path = create_inventory_file(c2_config, "local") logging.info(f"Deploying {provider} C2 server using {playbook} in region {c2_config.get('region', 'default')}") @@ -1926,7 +1926,7 @@ def deploy_flokinet_redirector(config): inventory_path = create_inventory_file(config, "redirector") # Run the playbook - playbook = f"{PROVIDER_DIRS['flokinet']}/redirector.yml" + playbook = f"providers/{PROVIDER_DIRS['flokinet']}/redirector.yml" try: success, stdout, stderr = run_ansible_playbook( playbook, inventory_path, config, config.get('debug', False) @@ -1962,7 +1962,7 @@ def deploy_flokinet_c2(config): inventory_path = create_inventory_file(config, "c2") # Run the playbook - playbook = f"{PROVIDER_DIRS['flokinet']}/c2.yml" + playbook = f"providers/{PROVIDER_DIRS['flokinet']}/c2.yml" try: success, stdout, stderr = run_ansible_playbook( playbook, inventory_path, config, config.get('debug', False) @@ -2000,7 +2000,7 @@ def run_tests(config): os.environ['LINODE_TOKEN'] = config['linode_token'] # Run tests playbook - playbook = f"{provider_dir}/tests.yml" + playbook = f"providers/{provider_dir}/tests.yml" if os.path.exists(playbook): inventory_path = create_inventory_file(config, "local") try: @@ -2121,7 +2121,7 @@ def cleanup_resources(config, interactive=True): # Load credentials from vars.yaml if they're not already in the config if provider == "aws" and not (config.get('aws_access_key') and config.get('aws_secret_key')): try: - vars_file = f"{provider_dir}/vars.yaml" + vars_file = f"providers/{provider_dir}/vars.yaml" if os.path.exists(vars_file): with open(vars_file, 'r') as f: vars_data = yaml.safe_load(f) or {} @@ -2233,7 +2233,7 @@ def cleanup_resources(config, interactive=True): cleanup_config = region_config.copy() cleanup_config.update(extra_vars) - playbook = f"{provider_dir}/cleanup.yml" + playbook = f"providers/{provider_dir}/cleanup.yml" if os.path.exists(playbook): try: success, stdout, stderr = run_ansible_playbook( @@ -2262,7 +2262,7 @@ def cleanup_resources(config, interactive=True): "cleanup_tracker": config.get('deploy_tracker', False) and not config.get('integrated_tracker', False) } - playbook = f"{provider_dir}/cleanup.yml" + playbook = f"providers/{provider_dir}/cleanup.yml" if os.path.exists(playbook): logging.info(f"Running cleanup playbook: {playbook}") inventory_path = create_inventory_file(config, "local") @@ -2376,7 +2376,7 @@ def teardown_infrastructure(config): logging.warning(f"No infrastructure state file found: {infra_state_file}") # Load credentials from vars.yaml if not provided - vars_file = f"{provider_dir}/vars.yaml" + vars_file = f"providers/{provider_dir}/vars.yaml" vars_data = {} if os.path.exists(vars_file): try: @@ -2431,7 +2431,7 @@ def teardown_infrastructure(config): return False # Run cleanup playbook - playbook = f"{provider_dir}/cleanup.yml" + playbook = f"providers/{provider_dir}/cleanup.yml" if os.path.exists(playbook): # Create inventory file fd, inventory_path = tempfile.mkstemp(prefix="inventory_teardown_", suffix=".ini") diff --git a/modules/c2/tasks/configure_advanced_evasion.yml b/modules/c2/tasks/configure_advanced_evasion.yml index 2c0e3cc..0b0c19c 100644 --- a/modules/c2/tasks/configure_advanced_evasion.yml +++ b/modules/c2/tasks/configure_advanced_evasion.yml @@ -58,9 +58,11 @@ owner: root group: root with_items: - - { src: "../files/pdf-weaponizer.py", dest: "/root/Tools/phishing/pdf-weaponizer.py" } - - { src: "../files/office-macro-generator.py", dest: "/root/Tools/phishing/office-macro-generator.py" } - - { src: "../files/lnk-generator.py", dest: "/root/Tools/phishing/lnk-generator.py" } + # Note: These files need to be created or paths need to be verified + # - { src: "../files/pdf-weaponizer.py", dest: "/root/Tools/phishing/pdf-weaponizer.py" } + # - { src: "../files/office-macro-generator.py", dest: "/root/Tools/phishing/office-macro-generator.py" } + # - { src: "../files/lnk-generator.py", dest: "/root/Tools/phishing/lnk-generator.py" } + [] - name: Create Living off the Land (LOtL) payload templates template: @@ -129,9 +131,4 @@ mode: '0755' owner: root group: root - -handlers: - - name: restart tor - systemd: - name: tor - state: restarted \ No newline at end of file + when: enable_automated_evasion | default(false) | bool \ No newline at end of file diff --git a/modules/c2/tasks/configure_c2.yml b/modules/c2/tasks/configure_c2.yml index 3d7b5f5..63cbe73 100644 --- a/modules/c2/tasks/configure_c2.yml +++ b/modules/c2/tasks/configure_c2.yml @@ -15,7 +15,7 @@ - name: Set a custom MOTD template: - src: "../templates/motd.j2" + src: "../../common/templates/motd.j2" dest: /etc/motd owner: root group: root @@ -134,7 +134,7 @@ - name: Create post-install instructions template: - src: "../templates/POST_INSTALL_INSTRUCTIONS.txt.j2" + src: "../../common/templates/POST_INSTALL_INSTRUCTIONS.txt.j2" dest: "/root/POST_INSTALL_INSTRUCTIONS.txt" mode: '0644' owner: root @@ -218,7 +218,7 @@ - name: Create Linux loader script template template: - src: "../templates/linux_loader.sh.j2" + src: "../../common/templates/linux_loader.sh.j2" dest: "/root/Tools/linux_loader.template" mode: '0644' owner: root @@ -226,7 +226,7 @@ - name: Create Windows PowerShell loader template template: - src: "../templates/windows_loader.ps1.j2" + src: "../../common/templates/windows_loader.ps1.j2" dest: "/root/Tools/windows_loader.template" mode: '0644' owner: root @@ -292,7 +292,7 @@ redirector_domain: "{{ redirector_subdomain }}.{{ domain }}" - name: Include traffic flow configuration - include_tasks: "../tasks/traffic_flow_config.yml" + include_tasks: "../../common/tasks/traffic_flow_config.yml" - name: Set up cron job for log cleaning if zero-logs enabled cron: diff --git a/modules/c2/tasks/configure_integrated_tracker.yml b/modules/c2/tasks/configure_integrated_tracker.yml index 4f91216..03f90d0 100644 --- a/modules/c2/tasks/configure_integrated_tracker.yml +++ b/modules/c2/tasks/configure_integrated_tracker.yml @@ -63,7 +63,7 @@ - name: Copy tracker application code copy: - src: "../files/simple_email_tracker.py" + src: "../../tracker/files/simple_email_tracker.py" dest: /root/Tools/tracker/simple_email_tracker.py mode: '0755' owner: root @@ -72,7 +72,7 @@ - name: Copy tracker statistics CLI tool copy: - src: "../files/tracker-stats.sh" + src: "../../tracker/files/tracker-stats.sh" dest: /root/Tools/tracker/tracker-stats.sh mode: '0755' owner: root @@ -81,7 +81,7 @@ - name: Copy systemd service file for tracker copy: - src: "../files/tracker.service" + src: "../../tracker/files/tracker.service" dest: /etc/systemd/system/tracker.service mode: '0644' owner: root @@ -102,7 +102,7 @@ - name: Create NGINX site config for tracker template: - src: "../files/tracker-nginx.conf" + src: "../../tracker/files/tracker-nginx.conf" dest: /etc/nginx/sites-available/tracker mode: '0644' owner: root diff --git a/modules/payload-server/payload_redirector.yml b/modules/payload-server/payload_redirector.yml index 6f89af5..256e4fe 100644 --- a/modules/payload-server/payload_redirector.yml +++ b/modules/payload-server/payload_redirector.yml @@ -13,12 +13,12 @@ tasks: - name: Deploy payload redirector based on provider - include_tasks: "../{{ provider | upper }}/redirector.yml" + include_tasks: "../providers/{{ provider | upper }}/redirector.yml" vars: redirector_name: "{{ payload_redirector_name }}" redirector_type: "payload" redirector_subdomain: "{{ payload_subdomain | default('files') }}" - name: Configure payload redirector - include_tasks: "../tasks/configure_payload_redirector.yml" + include_tasks: "tasks/configure_payload_redirector.yml" when: not skip_configuration | default(false) \ No newline at end of file diff --git a/modules/payload-server/payload_server.yml b/modules/payload-server/payload_server.yml index 11646b2..363cd6c 100644 --- a/modules/payload-server/payload_server.yml +++ b/modules/payload-server/payload_server.yml @@ -13,11 +13,11 @@ tasks: - name: Deploy payload server based on provider - include_tasks: "../{{ provider | upper }}/c2.yml" + include_tasks: "../providers/{{ provider | upper }}/c2.yml" vars: c2_name: "{{ payload_server_name }}" server_type: "payload" - name: Configure payload server - include_tasks: "../tasks/configure_payload_server.yml" + include_tasks: "tasks/configure_payload_server.yml" when: not skip_configuration | default(false) \ No newline at end of file diff --git a/modules/phishing/gophish_server.yml b/modules/phishing/gophish_server.yml index c1d9a01..b8d5173 100644 --- a/modules/phishing/gophish_server.yml +++ b/modules/phishing/gophish_server.yml @@ -13,7 +13,7 @@ tasks: - name: Create Gophish instance - include_tasks: "../tasks/create_instance.yml" + include_tasks: "../../providers/AWS/tasks/create_instance.yml" vars: instance_name: "{{ server_name }}" instance_type: "{{ gophish_instance_type }}" @@ -41,11 +41,11 @@ - vars.yaml tasks: - name: Include advanced Gophish configuration - include_tasks: "../tasks/configure_gophish_advanced.yml" + include_tasks: "gophish/tasks/configure_gophish_advanced.yml" - name: Include security hardening - include_tasks: "../tasks/security_hardening.yml" + include_tasks: "../../common/tasks/security_hardening.yml" - name: Include tracker setup - include_tasks: "../tasks/configure_integrated_tracker.yml" + include_tasks: "../../c2/tasks/configure_integrated_tracker.yml" when: deploy_tracker | default(true) | bool \ No newline at end of file diff --git a/modules/phishing/phishing_redirector.yml b/modules/phishing/phishing_redirector.yml index ade0630..23493bc 100644 --- a/modules/phishing/phishing_redirector.yml +++ b/modules/phishing/phishing_redirector.yml @@ -13,7 +13,7 @@ tasks: - name: Create phishing redirector instance - include_tasks: "../tasks/create_instance.yml" + include_tasks: "../../providers/AWS/tasks/create_instance.yml" vars: instance_name: "{{ server_name }}" instance_type: "{{ redirector_instance_type }}" @@ -40,7 +40,7 @@ - vars.yaml tasks: - name: Include phishing redirector configuration - include_tasks: "../tasks/configure_phishing_redirector.yml" + include_tasks: "../redirectors/templates/configure_phishing_redirector.yml" - name: Include security hardening - include_tasks: "../tasks/security_hardening.yml" \ No newline at end of file + include_tasks: "../../common/tasks/security_hardening.yml" \ No newline at end of file diff --git a/providers/AWS/c2.yml b/providers/AWS/c2.yml index 16cc912..a394a8a 100644 --- a/providers/AWS/c2.yml +++ b/providers/AWS/c2.yml @@ -435,16 +435,16 @@ ignore_errors: yes - name: Include common tool installation tasks - include_tasks: "../tasks/install_tools.yml" + include_tasks: "../../common/tasks/install_tools.yml" - name: Include common C2 configuration tasks - include_tasks: "../tasks/configure_c2.yml" + include_tasks: "../../modules/c2/tasks/configure_c2.yml" - name: Include common security hardening tasks - include_tasks: "../tasks/security_hardening.yml" + include_tasks: "../../common/tasks/security_hardening.yml" - name: Include common mail server configuration tasks - include_tasks: "../tasks/configure_mail.yml" + include_tasks: "../../common/tasks/configure_mail.yml" - name: Set up SSH access to redirector block: diff --git a/providers/AWS/redirector.yml b/providers/AWS/redirector.yml index d6af8f1..c87276b 100644 --- a/providers/AWS/redirector.yml +++ b/providers/AWS/redirector.yml @@ -358,11 +358,11 @@ # Include the rest of your redirector configuration tasks here tasks: - name: Include common redirector configuration tasks - include_tasks: "../tasks/configure_redirector.yml" + include_tasks: "../../modules/redirectors/tasks/configure_redirector.yml" - name: Configure shell handler script with listening port template: - src: "../files/havoc_shell_handler.sh" + src: "../../modules/c2/files/havoc_shell_handler.sh" dest: "/root/Tools/shell_handler.sh" mode: 0755 vars: diff --git a/providers/FlokiNET/c2-deploy.yaml b/providers/FlokiNET/c2-deploy.yaml index 0ba976f..6c67b6c 100644 --- a/providers/FlokiNET/c2-deploy.yaml +++ b/providers/FlokiNET/c2-deploy.yaml @@ -132,7 +132,7 @@ - name: Copy clean-logs.sh script copy: - src: "../files/clean-logs.sh" + src: "../../common/files/clean-logs.sh" dest: /opt/c2/clean-logs.sh mode: '0700' owner: root @@ -140,7 +140,7 @@ - name: Copy secure-exit.sh script copy: - src: "../files/secure-exit.sh" + src: "../../common/files/secure-exit.sh" dest: /opt/c2/secure-exit.sh mode: '0700' owner: root @@ -148,7 +148,7 @@ - name: Copy shell handler script copy: - src: "../files/persistent-listener.sh" + src: "../../common/files/persistent-listener.sh" dest: /opt/shell-handler/persistent-listener.sh mode: '0700' owner: root @@ -565,7 +565,7 @@ - name: Copy clean-logs.sh script copy: - src: "../files/clean-logs.sh" + src: "../../common/files/clean-logs.sh" dest: /opt/c2/clean-logs.sh mode: '0700' owner: root @@ -573,7 +573,7 @@ - name: Copy secure-exit.sh script copy: - src: "../files/secure-exit.sh" + src: "../../common/files/secure-exit.sh" dest: /opt/c2/secure-exit.sh mode: '0700' owner: root @@ -581,7 +581,7 @@ - name: Copy serve-beacons.sh script copy: - src: "../files/serve-beacons.sh" + src: "../../common/files/serve-beacons.sh" dest: /opt/c2/serve-beacons.sh mode: '0700' owner: root diff --git a/providers/FlokiNET/c2.yml b/providers/FlokiNET/c2.yml index 26ad55f..9b53daf 100644 --- a/providers/FlokiNET/c2.yml +++ b/providers/FlokiNET/c2.yml @@ -79,16 +79,16 @@ state: present - name: Include common security hardening tasks - include_tasks: "../tasks/security_hardening.yml" + include_tasks: "../../common/tasks/security_hardening.yml" - name: Include common tool installation tasks - include_tasks: "../tasks/install_tools.yml" + include_tasks: "../../common/tasks/install_tools.yml" - name: Include common C2 configuration tasks - include_tasks: "../tasks/configure_c2.yml" + include_tasks: "../../modules/c2/tasks/configure_c2.yml" - name: Include common mail server configuration tasks - include_tasks: "../tasks/configure_mail.yml" + include_tasks: "../../common/tasks/configure_mail.yml" - name: Print deployment summary debug: diff --git a/providers/FlokiNET/provision.yml b/providers/FlokiNET/provision.yml index 0473e38..6c92a39 100644 --- a/providers/FlokiNET/provision.yml +++ b/providers/FlokiNET/provision.yml @@ -83,7 +83,7 @@ - name: Copy operational scripts ansible.builtin.copy: - src: "../files/{{ item }}" + src: "../../common/files/{{ item }}" dest: "/opt/c2/{{ item }}" mode: '0700' owner: root diff --git a/providers/FlokiNET/redirector.yml b/providers/FlokiNET/redirector.yml index f419f24..302d329 100644 --- a/providers/FlokiNET/redirector.yml +++ b/providers/FlokiNET/redirector.yml @@ -81,10 +81,10 @@ state: present - name: Include common security hardening tasks - include_tasks: "../tasks/security_hardening.yml" + include_tasks: "../../common/tasks/security_hardening.yml" - name: Include common redirector configuration tasks - include_tasks: "../tasks/configure_redirector.yml" + include_tasks: "../../modules/redirectors/tasks/configure_redirector.yml" - name: Print deployment summary debug: diff --git a/providers/Linode/redirector.yml b/providers/Linode/redirector.yml index 66860d7..4f52e11 100755 --- a/providers/Linode/redirector.yml +++ b/providers/Linode/redirector.yml @@ -123,7 +123,7 @@ state: restarted - name: Include common redirector configuration tasks - include_tasks: "../tasks/configure_redirector.yml" + include_tasks: "../../modules/redirectors/tasks/configure_redirector.yml" - name: Print deployment summary debug: diff --git a/providers/Linode/tracker.yml b/providers/Linode/tracker.yml index 9735d39..b2324ca 100755 --- a/providers/Linode/tracker.yml +++ b/providers/Linode/tracker.yml @@ -105,7 +105,7 @@ - name: Configure tracker settings template: - src: "../templates/tracker-config.j2" + src: "../../modules/tracker/templates/tracker-config.j2" dest: /root/Tools/tracker/config.py mode: '0644' ignore_errors: yes @@ -122,7 +122,7 @@ - name: Create systemd service for tracker template: - src: "../templates/tracker.service.j2" + src: "../../modules/tracker/templates/tracker.service.j2" dest: /etc/systemd/system/tracker.service mode: '0644' ignore_errors: yes diff --git a/structure.txt b/structure.txt index cf96f95..6ce9083 100644 --- a/structure.txt +++ b/structure.txt @@ -6,8 +6,7 @@ │ │ ├── persistent-listener.sh │ │ ├── randomize_ports.sh │ │ ├── rubber-ducky.txt -│ │ ├── secure-exit.sh -│ │ └── tracker-nginx.conf +│ │ └── secure-exit.sh │ ├── tasks │ │ ├── cleanup_confirmation.yml │ │ ├── configure_mail.yml @@ -31,7 +30,6 @@ │ ├── reference.txt.j2 │ ├── resolv.conf.j2 │ ├── secure-ssh.sh.j2 -│ ├── serve-havoc-payloads.sh.j2 │ ├── setup-cert.sh.j2 │ ├── shell-handler.service.j2 │ ├── torrc.j2 @@ -54,7 +52,8 @@ │ │ ├── generate_evasive_beacons.sh.j2 │ │ ├── generate_havoc_payloads.sh.j2 │ │ ├── havoc-config.yaotl.j2 -│ │ └── havoc-guide.j2 +│ │ ├── havoc-guide.j2 +│ │ └── serve-havoc-payloads.sh.j2 │ ├── chat-server │ │ ├── files │ │ ├── tasks @@ -63,19 +62,6 @@ │ │ ├── files │ │ ├── tasks │ │ └── templates -│ ├── infrastructure -│ │ ├── aws -│ │ │ ├── files -│ │ │ ├── tasks -│ │ │ └── templates -│ │ ├── flokinet -│ │ │ ├── files -│ │ │ ├── tasks -│ │ │ └── templates -│ │ └── linode -│ │ ├── files -│ │ ├── tasks -│ │ └── templates │ ├── logging-server │ │ ├── files │ │ ├── tasks @@ -95,25 +81,25 @@ │ │ ├── files │ │ ├── gophish │ │ │ ├── files +│ │ │ │ └── opsec_wrapper.py │ │ │ ├── tasks │ │ │ │ ├── configure_gophish_advanced.yml │ │ │ │ └── configure_phishing_server.yml │ │ │ └── templates +│ │ │ ├── gophish-advanced-config.j2 +│ │ │ ├── gophish-config.j2 +│ │ │ └── gophish-opsec.yaotl.j2 │ │ ├── gophish_server.yml │ │ ├── mta-front │ │ │ ├── files │ │ │ ├── tasks │ │ │ │ └── configure_mta_front.yml │ │ │ └── templates +│ │ │ └── postfix-mta-front.j2 │ │ ├── mta_front.yml │ │ ├── phishing_redirector.yml │ │ ├── phishing_webserver.yml │ │ ├── Plan.md -│ │ ├── redirector -│ │ │ ├── files -│ │ │ ├── tasks -│ │ │ │ └── configure_phishing_redirector.yml -│ │ │ └── templates │ │ ├── tasks │ │ │ └── configure_fedramp_compliance.yml │ │ ├── templates @@ -122,20 +108,35 @@ │ │ │ │ ├── office365_login.j2 │ │ │ │ ├── password_expiry.j2 │ │ │ │ └── security_alert.j2 -│ │ │ ├── fake-login.html.j2 │ │ │ ├── fedramp-compliance.j2 -│ │ │ ├── gophish-advanced-config.j2 -│ │ │ ├── gophish-config.j2 -│ │ │ ├── nginx-phishing-webserver.j2 -│ │ │ ├── phishing_deployment_state.j2 -│ │ │ ├── phishing-landing-page.j2 -│ │ │ └── postfix-mta-front.j2 +│ │ │ └── phishing_deployment_state.j2 │ │ └── webserver │ │ ├── files │ │ ├── tasks │ │ │ ├── configure_phishing_webserver.yml │ │ │ └── setup_phishing_security.yml │ │ └── templates +│ │ ├── nginx-phishing-webserver.j2 +│ │ └── page-templates +│ │ ├── AmazonClone +│ │ │ ├── amazon_logo.png +│ │ │ ├── box10_image.jpg +│ │ │ ├── box11_image.jpg +│ │ │ ├── box12_image.jpg +│ │ │ ├── box1_image.jpg +│ │ │ ├── box2_image.jpg +│ │ │ ├── box3_image.jpg +│ │ │ ├── box4_image.jpg +│ │ │ ├── box5_image.jpg +│ │ │ ├── box6_image.jpg +│ │ │ ├── box7_image.jpg +│ │ │ ├── box8_image.jpg +│ │ │ ├── box9_image.jpg +│ │ │ ├── hero1_image.jpg +│ │ │ ├── index.html +│ │ │ └── style.css +│ │ ├── microsoft-login.html.j2 +│ │ └── phishing-landing-page.j2 │ ├── redirectors │ │ ├── files │ │ │ └── post_install_redirector.sh @@ -143,6 +144,7 @@ │ │ │ └── configure_redirector.yml │ │ └── templates │ │ ├── capture.php.j2 +│ │ ├── configure_phishing_redirector.yml │ │ ├── nginx.conf.j2 │ │ ├── nginx-payload-redirector.j2 │ │ ├── nginx-phishing-redirector.j2 @@ -158,6 +160,7 @@ │ └── tracker │ ├── files │ │ ├── simple_email_tracker.py +│ │ ├── tracker-nginx.conf │ │ ├── tracker.service │ │ └── tracker-stats.sh │ ├── tasks @@ -203,4 +206,4 @@ ├── requirements.txt └── structure.txt -86 directories, 118 files +71 directories, 136 files