updated paths for restructure
This commit is contained in:
@@ -161,7 +161,7 @@
|
|||||||
|
|
||||||
- name: Deploy Gophish config.json with custom admin port
|
- name: Deploy Gophish config.json with custom admin port
|
||||||
template:
|
template:
|
||||||
src: "../templates/gophish-config.j2"
|
src: "../../modules/phishing/gophish/templates/gophish-config.j2"
|
||||||
dest: "{{ tools_dir }}/gophish/config.json"
|
dest: "{{ tools_dir }}/gophish/config.json"
|
||||||
owner: "{{ ansible_user }}"
|
owner: "{{ ansible_user }}"
|
||||||
group: "{{ ansible_user }}"
|
group: "{{ ansible_user }}"
|
||||||
|
|||||||
@@ -1147,7 +1147,7 @@ def interactive_setup(deployment_id=None):
|
|||||||
# If they want multi-region deployment, let them select regions now
|
# 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'):
|
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())
|
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):
|
if os.path.exists(vars_file):
|
||||||
with open(vars_file, 'r') as f:
|
with open(vars_file, 'r') as f:
|
||||||
@@ -1194,7 +1194,7 @@ def interactive_setup(deployment_id=None):
|
|||||||
vars_data = {}
|
vars_data = {}
|
||||||
for provider in providers_to_configure:
|
for provider in providers_to_configure:
|
||||||
provider_dir = PROVIDER_DIRS.get(provider, provider.capitalize())
|
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):
|
if os.path.exists(vars_file):
|
||||||
try:
|
try:
|
||||||
@@ -1401,7 +1401,7 @@ def load_vars_file(provider):
|
|||||||
|
|
||||||
# Use correct case for directory
|
# Use correct case for directory
|
||||||
provider_dir = PROVIDER_DIRS[provider]
|
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)):
|
if (os.path.exists(vars_file)):
|
||||||
try:
|
try:
|
||||||
@@ -1803,7 +1803,7 @@ def deploy_infrastructure(config):
|
|||||||
if config.get('redirector_region'):
|
if config.get('redirector_region'):
|
||||||
redirector_config['region'] = config['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")
|
inventory_path = create_inventory_file(redirector_config, "local")
|
||||||
|
|
||||||
logging.info(f"Deploying {provider} redirector using {playbook} in region {redirector_config.get('region', 'default')}")
|
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'):
|
if config.get('c2_region'):
|
||||||
c2_config['region'] = config['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")
|
inventory_path = create_inventory_file(c2_config, "local")
|
||||||
|
|
||||||
logging.info(f"Deploying {provider} C2 server using {playbook} in region {c2_config.get('region', 'default')}")
|
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")
|
inventory_path = create_inventory_file(config, "redirector")
|
||||||
|
|
||||||
# Run the playbook
|
# Run the playbook
|
||||||
playbook = f"{PROVIDER_DIRS['flokinet']}/redirector.yml"
|
playbook = f"providers/{PROVIDER_DIRS['flokinet']}/redirector.yml"
|
||||||
try:
|
try:
|
||||||
success, stdout, stderr = run_ansible_playbook(
|
success, stdout, stderr = run_ansible_playbook(
|
||||||
playbook, inventory_path, config, config.get('debug', False)
|
playbook, inventory_path, config, config.get('debug', False)
|
||||||
@@ -1962,7 +1962,7 @@ def deploy_flokinet_c2(config):
|
|||||||
inventory_path = create_inventory_file(config, "c2")
|
inventory_path = create_inventory_file(config, "c2")
|
||||||
|
|
||||||
# Run the playbook
|
# Run the playbook
|
||||||
playbook = f"{PROVIDER_DIRS['flokinet']}/c2.yml"
|
playbook = f"providers/{PROVIDER_DIRS['flokinet']}/c2.yml"
|
||||||
try:
|
try:
|
||||||
success, stdout, stderr = run_ansible_playbook(
|
success, stdout, stderr = run_ansible_playbook(
|
||||||
playbook, inventory_path, config, config.get('debug', False)
|
playbook, inventory_path, config, config.get('debug', False)
|
||||||
@@ -2000,7 +2000,7 @@ def run_tests(config):
|
|||||||
os.environ['LINODE_TOKEN'] = config['linode_token']
|
os.environ['LINODE_TOKEN'] = config['linode_token']
|
||||||
|
|
||||||
# Run tests playbook
|
# Run tests playbook
|
||||||
playbook = f"{provider_dir}/tests.yml"
|
playbook = f"providers/{provider_dir}/tests.yml"
|
||||||
if os.path.exists(playbook):
|
if os.path.exists(playbook):
|
||||||
inventory_path = create_inventory_file(config, "local")
|
inventory_path = create_inventory_file(config, "local")
|
||||||
try:
|
try:
|
||||||
@@ -2121,7 +2121,7 @@ def cleanup_resources(config, interactive=True):
|
|||||||
# Load credentials from vars.yaml if they're not already in the config
|
# 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')):
|
if provider == "aws" and not (config.get('aws_access_key') and config.get('aws_secret_key')):
|
||||||
try:
|
try:
|
||||||
vars_file = f"{provider_dir}/vars.yaml"
|
vars_file = f"providers/{provider_dir}/vars.yaml"
|
||||||
if os.path.exists(vars_file):
|
if os.path.exists(vars_file):
|
||||||
with open(vars_file, 'r') as f:
|
with open(vars_file, 'r') as f:
|
||||||
vars_data = yaml.safe_load(f) or {}
|
vars_data = yaml.safe_load(f) or {}
|
||||||
@@ -2233,7 +2233,7 @@ def cleanup_resources(config, interactive=True):
|
|||||||
cleanup_config = region_config.copy()
|
cleanup_config = region_config.copy()
|
||||||
cleanup_config.update(extra_vars)
|
cleanup_config.update(extra_vars)
|
||||||
|
|
||||||
playbook = f"{provider_dir}/cleanup.yml"
|
playbook = f"providers/{provider_dir}/cleanup.yml"
|
||||||
if os.path.exists(playbook):
|
if os.path.exists(playbook):
|
||||||
try:
|
try:
|
||||||
success, stdout, stderr = run_ansible_playbook(
|
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)
|
"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):
|
if os.path.exists(playbook):
|
||||||
logging.info(f"Running cleanup playbook: {playbook}")
|
logging.info(f"Running cleanup playbook: {playbook}")
|
||||||
inventory_path = create_inventory_file(config, "local")
|
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}")
|
logging.warning(f"No infrastructure state file found: {infra_state_file}")
|
||||||
|
|
||||||
# Load credentials from vars.yaml if not provided
|
# 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 = {}
|
vars_data = {}
|
||||||
if os.path.exists(vars_file):
|
if os.path.exists(vars_file):
|
||||||
try:
|
try:
|
||||||
@@ -2431,7 +2431,7 @@ def teardown_infrastructure(config):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
# Run cleanup playbook
|
# Run cleanup playbook
|
||||||
playbook = f"{provider_dir}/cleanup.yml"
|
playbook = f"providers/{provider_dir}/cleanup.yml"
|
||||||
if os.path.exists(playbook):
|
if os.path.exists(playbook):
|
||||||
# Create inventory file
|
# Create inventory file
|
||||||
fd, inventory_path = tempfile.mkstemp(prefix="inventory_teardown_", suffix=".ini")
|
fd, inventory_path = tempfile.mkstemp(prefix="inventory_teardown_", suffix=".ini")
|
||||||
|
|||||||
@@ -58,9 +58,11 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
with_items:
|
with_items:
|
||||||
- { src: "../files/pdf-weaponizer.py", dest: "/root/Tools/phishing/pdf-weaponizer.py" }
|
# Note: These files need to be created or paths need to be verified
|
||||||
- { src: "../files/office-macro-generator.py", dest: "/root/Tools/phishing/office-macro-generator.py" }
|
# - { src: "../files/pdf-weaponizer.py", dest: "/root/Tools/phishing/pdf-weaponizer.py" }
|
||||||
- { src: "../files/lnk-generator.py", dest: "/root/Tools/phishing/lnk-generator.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
|
- name: Create Living off the Land (LOtL) payload templates
|
||||||
template:
|
template:
|
||||||
@@ -129,9 +131,4 @@
|
|||||||
mode: '0755'
|
mode: '0755'
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
|
when: enable_automated_evasion | default(false) | bool
|
||||||
handlers:
|
|
||||||
- name: restart tor
|
|
||||||
systemd:
|
|
||||||
name: tor
|
|
||||||
state: restarted
|
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
- name: Set a custom MOTD
|
- name: Set a custom MOTD
|
||||||
template:
|
template:
|
||||||
src: "../templates/motd.j2"
|
src: "../../common/templates/motd.j2"
|
||||||
dest: /etc/motd
|
dest: /etc/motd
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
|
|
||||||
- name: Create post-install instructions
|
- name: Create post-install instructions
|
||||||
template:
|
template:
|
||||||
src: "../templates/POST_INSTALL_INSTRUCTIONS.txt.j2"
|
src: "../../common/templates/POST_INSTALL_INSTRUCTIONS.txt.j2"
|
||||||
dest: "/root/POST_INSTALL_INSTRUCTIONS.txt"
|
dest: "/root/POST_INSTALL_INSTRUCTIONS.txt"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -218,7 +218,7 @@
|
|||||||
|
|
||||||
- name: Create Linux loader script template
|
- name: Create Linux loader script template
|
||||||
template:
|
template:
|
||||||
src: "../templates/linux_loader.sh.j2"
|
src: "../../common/templates/linux_loader.sh.j2"
|
||||||
dest: "/root/Tools/linux_loader.template"
|
dest: "/root/Tools/linux_loader.template"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -226,7 +226,7 @@
|
|||||||
|
|
||||||
- name: Create Windows PowerShell loader template
|
- name: Create Windows PowerShell loader template
|
||||||
template:
|
template:
|
||||||
src: "../templates/windows_loader.ps1.j2"
|
src: "../../common/templates/windows_loader.ps1.j2"
|
||||||
dest: "/root/Tools/windows_loader.template"
|
dest: "/root/Tools/windows_loader.template"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -292,7 +292,7 @@
|
|||||||
redirector_domain: "{{ redirector_subdomain }}.{{ domain }}"
|
redirector_domain: "{{ redirector_subdomain }}.{{ domain }}"
|
||||||
|
|
||||||
- name: Include traffic flow configuration
|
- 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
|
- name: Set up cron job for log cleaning if zero-logs enabled
|
||||||
cron:
|
cron:
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
- name: Copy tracker application code
|
- name: Copy tracker application code
|
||||||
copy:
|
copy:
|
||||||
src: "../files/simple_email_tracker.py"
|
src: "../../tracker/files/simple_email_tracker.py"
|
||||||
dest: /root/Tools/tracker/simple_email_tracker.py
|
dest: /root/Tools/tracker/simple_email_tracker.py
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
|
|
||||||
- name: Copy tracker statistics CLI tool
|
- name: Copy tracker statistics CLI tool
|
||||||
copy:
|
copy:
|
||||||
src: "../files/tracker-stats.sh"
|
src: "../../tracker/files/tracker-stats.sh"
|
||||||
dest: /root/Tools/tracker/tracker-stats.sh
|
dest: /root/Tools/tracker/tracker-stats.sh
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
|
|
||||||
- name: Copy systemd service file for tracker
|
- name: Copy systemd service file for tracker
|
||||||
copy:
|
copy:
|
||||||
src: "../files/tracker.service"
|
src: "../../tracker/files/tracker.service"
|
||||||
dest: /etc/systemd/system/tracker.service
|
dest: /etc/systemd/system/tracker.service
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
|
|
||||||
- name: Create NGINX site config for tracker
|
- name: Create NGINX site config for tracker
|
||||||
template:
|
template:
|
||||||
src: "../files/tracker-nginx.conf"
|
src: "../../tracker/files/tracker-nginx.conf"
|
||||||
dest: /etc/nginx/sites-available/tracker
|
dest: /etc/nginx/sites-available/tracker
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
owner: root
|
owner: root
|
||||||
|
|||||||
@@ -13,12 +13,12 @@
|
|||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Deploy payload redirector based on provider
|
- name: Deploy payload redirector based on provider
|
||||||
include_tasks: "../{{ provider | upper }}/redirector.yml"
|
include_tasks: "../providers/{{ provider | upper }}/redirector.yml"
|
||||||
vars:
|
vars:
|
||||||
redirector_name: "{{ payload_redirector_name }}"
|
redirector_name: "{{ payload_redirector_name }}"
|
||||||
redirector_type: "payload"
|
redirector_type: "payload"
|
||||||
redirector_subdomain: "{{ payload_subdomain | default('files') }}"
|
redirector_subdomain: "{{ payload_subdomain | default('files') }}"
|
||||||
|
|
||||||
- name: Configure payload redirector
|
- name: Configure payload redirector
|
||||||
include_tasks: "../tasks/configure_payload_redirector.yml"
|
include_tasks: "tasks/configure_payload_redirector.yml"
|
||||||
when: not skip_configuration | default(false)
|
when: not skip_configuration | default(false)
|
||||||
@@ -13,11 +13,11 @@
|
|||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Deploy payload server based on provider
|
- name: Deploy payload server based on provider
|
||||||
include_tasks: "../{{ provider | upper }}/c2.yml"
|
include_tasks: "../providers/{{ provider | upper }}/c2.yml"
|
||||||
vars:
|
vars:
|
||||||
c2_name: "{{ payload_server_name }}"
|
c2_name: "{{ payload_server_name }}"
|
||||||
server_type: "payload"
|
server_type: "payload"
|
||||||
|
|
||||||
- name: Configure payload server
|
- name: Configure payload server
|
||||||
include_tasks: "../tasks/configure_payload_server.yml"
|
include_tasks: "tasks/configure_payload_server.yml"
|
||||||
when: not skip_configuration | default(false)
|
when: not skip_configuration | default(false)
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create Gophish instance
|
- name: Create Gophish instance
|
||||||
include_tasks: "../tasks/create_instance.yml"
|
include_tasks: "../../providers/AWS/tasks/create_instance.yml"
|
||||||
vars:
|
vars:
|
||||||
instance_name: "{{ server_name }}"
|
instance_name: "{{ server_name }}"
|
||||||
instance_type: "{{ gophish_instance_type }}"
|
instance_type: "{{ gophish_instance_type }}"
|
||||||
@@ -41,11 +41,11 @@
|
|||||||
- vars.yaml
|
- vars.yaml
|
||||||
tasks:
|
tasks:
|
||||||
- name: Include advanced Gophish configuration
|
- name: Include advanced Gophish configuration
|
||||||
include_tasks: "../tasks/configure_gophish_advanced.yml"
|
include_tasks: "gophish/tasks/configure_gophish_advanced.yml"
|
||||||
|
|
||||||
- name: Include security hardening
|
- name: Include security hardening
|
||||||
include_tasks: "../tasks/security_hardening.yml"
|
include_tasks: "../../common/tasks/security_hardening.yml"
|
||||||
|
|
||||||
- name: Include tracker setup
|
- 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
|
when: deploy_tracker | default(true) | bool
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create phishing redirector instance
|
- name: Create phishing redirector instance
|
||||||
include_tasks: "../tasks/create_instance.yml"
|
include_tasks: "../../providers/AWS/tasks/create_instance.yml"
|
||||||
vars:
|
vars:
|
||||||
instance_name: "{{ server_name }}"
|
instance_name: "{{ server_name }}"
|
||||||
instance_type: "{{ redirector_instance_type }}"
|
instance_type: "{{ redirector_instance_type }}"
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
- vars.yaml
|
- vars.yaml
|
||||||
tasks:
|
tasks:
|
||||||
- name: Include phishing redirector configuration
|
- name: Include phishing redirector configuration
|
||||||
include_tasks: "../tasks/configure_phishing_redirector.yml"
|
include_tasks: "../redirectors/templates/configure_phishing_redirector.yml"
|
||||||
|
|
||||||
- name: Include security hardening
|
- name: Include security hardening
|
||||||
include_tasks: "../tasks/security_hardening.yml"
|
include_tasks: "../../common/tasks/security_hardening.yml"
|
||||||
@@ -435,16 +435,16 @@
|
|||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: Include common tool installation tasks
|
- 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
|
- 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
|
- 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
|
- 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
|
- name: Set up SSH access to redirector
|
||||||
block:
|
block:
|
||||||
|
|||||||
@@ -358,11 +358,11 @@
|
|||||||
# Include the rest of your redirector configuration tasks here
|
# Include the rest of your redirector configuration tasks here
|
||||||
tasks:
|
tasks:
|
||||||
- name: Include common redirector configuration 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
|
- name: Configure shell handler script with listening port
|
||||||
template:
|
template:
|
||||||
src: "../files/havoc_shell_handler.sh"
|
src: "../../modules/c2/files/havoc_shell_handler.sh"
|
||||||
dest: "/root/Tools/shell_handler.sh"
|
dest: "/root/Tools/shell_handler.sh"
|
||||||
mode: 0755
|
mode: 0755
|
||||||
vars:
|
vars:
|
||||||
|
|||||||
@@ -132,7 +132,7 @@
|
|||||||
|
|
||||||
- name: Copy clean-logs.sh script
|
- name: Copy clean-logs.sh script
|
||||||
copy:
|
copy:
|
||||||
src: "../files/clean-logs.sh"
|
src: "../../common/files/clean-logs.sh"
|
||||||
dest: /opt/c2/clean-logs.sh
|
dest: /opt/c2/clean-logs.sh
|
||||||
mode: '0700'
|
mode: '0700'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
|
|
||||||
- name: Copy secure-exit.sh script
|
- name: Copy secure-exit.sh script
|
||||||
copy:
|
copy:
|
||||||
src: "../files/secure-exit.sh"
|
src: "../../common/files/secure-exit.sh"
|
||||||
dest: /opt/c2/secure-exit.sh
|
dest: /opt/c2/secure-exit.sh
|
||||||
mode: '0700'
|
mode: '0700'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
|
|
||||||
- name: Copy shell handler script
|
- name: Copy shell handler script
|
||||||
copy:
|
copy:
|
||||||
src: "../files/persistent-listener.sh"
|
src: "../../common/files/persistent-listener.sh"
|
||||||
dest: /opt/shell-handler/persistent-listener.sh
|
dest: /opt/shell-handler/persistent-listener.sh
|
||||||
mode: '0700'
|
mode: '0700'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -565,7 +565,7 @@
|
|||||||
|
|
||||||
- name: Copy clean-logs.sh script
|
- name: Copy clean-logs.sh script
|
||||||
copy:
|
copy:
|
||||||
src: "../files/clean-logs.sh"
|
src: "../../common/files/clean-logs.sh"
|
||||||
dest: /opt/c2/clean-logs.sh
|
dest: /opt/c2/clean-logs.sh
|
||||||
mode: '0700'
|
mode: '0700'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -573,7 +573,7 @@
|
|||||||
|
|
||||||
- name: Copy secure-exit.sh script
|
- name: Copy secure-exit.sh script
|
||||||
copy:
|
copy:
|
||||||
src: "../files/secure-exit.sh"
|
src: "../../common/files/secure-exit.sh"
|
||||||
dest: /opt/c2/secure-exit.sh
|
dest: /opt/c2/secure-exit.sh
|
||||||
mode: '0700'
|
mode: '0700'
|
||||||
owner: root
|
owner: root
|
||||||
@@ -581,7 +581,7 @@
|
|||||||
|
|
||||||
- name: Copy serve-beacons.sh script
|
- name: Copy serve-beacons.sh script
|
||||||
copy:
|
copy:
|
||||||
src: "../files/serve-beacons.sh"
|
src: "../../common/files/serve-beacons.sh"
|
||||||
dest: /opt/c2/serve-beacons.sh
|
dest: /opt/c2/serve-beacons.sh
|
||||||
mode: '0700'
|
mode: '0700'
|
||||||
owner: root
|
owner: root
|
||||||
|
|||||||
@@ -79,16 +79,16 @@
|
|||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Include common security hardening tasks
|
- 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
|
- 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
|
- 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
|
- name: Include common mail server configuration tasks
|
||||||
include_tasks: "../tasks/configure_mail.yml"
|
include_tasks: "../../common/tasks/configure_mail.yml"
|
||||||
|
|
||||||
- name: Print deployment summary
|
- name: Print deployment summary
|
||||||
debug:
|
debug:
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
|
|
||||||
- name: Copy operational scripts
|
- name: Copy operational scripts
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "../files/{{ item }}"
|
src: "../../common/files/{{ item }}"
|
||||||
dest: "/opt/c2/{{ item }}"
|
dest: "/opt/c2/{{ item }}"
|
||||||
mode: '0700'
|
mode: '0700'
|
||||||
owner: root
|
owner: root
|
||||||
|
|||||||
@@ -81,10 +81,10 @@
|
|||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Include common security hardening tasks
|
- 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
|
- name: Include common redirector configuration tasks
|
||||||
include_tasks: "../tasks/configure_redirector.yml"
|
include_tasks: "../../modules/redirectors/tasks/configure_redirector.yml"
|
||||||
|
|
||||||
- name: Print deployment summary
|
- name: Print deployment summary
|
||||||
debug:
|
debug:
|
||||||
|
|||||||
@@ -123,7 +123,7 @@
|
|||||||
state: restarted
|
state: restarted
|
||||||
|
|
||||||
- name: Include common redirector configuration tasks
|
- name: Include common redirector configuration tasks
|
||||||
include_tasks: "../tasks/configure_redirector.yml"
|
include_tasks: "../../modules/redirectors/tasks/configure_redirector.yml"
|
||||||
|
|
||||||
- name: Print deployment summary
|
- name: Print deployment summary
|
||||||
debug:
|
debug:
|
||||||
|
|||||||
@@ -105,7 +105,7 @@
|
|||||||
|
|
||||||
- name: Configure tracker settings
|
- name: Configure tracker settings
|
||||||
template:
|
template:
|
||||||
src: "../templates/tracker-config.j2"
|
src: "../../modules/tracker/templates/tracker-config.j2"
|
||||||
dest: /root/Tools/tracker/config.py
|
dest: /root/Tools/tracker/config.py
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
|
|
||||||
- name: Create systemd service for tracker
|
- name: Create systemd service for tracker
|
||||||
template:
|
template:
|
||||||
src: "../templates/tracker.service.j2"
|
src: "../../modules/tracker/templates/tracker.service.j2"
|
||||||
dest: /etc/systemd/system/tracker.service
|
dest: /etc/systemd/system/tracker.service
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|||||||
+33
-30
@@ -6,8 +6,7 @@
|
|||||||
│ │ ├── persistent-listener.sh
|
│ │ ├── persistent-listener.sh
|
||||||
│ │ ├── randomize_ports.sh
|
│ │ ├── randomize_ports.sh
|
||||||
│ │ ├── rubber-ducky.txt
|
│ │ ├── rubber-ducky.txt
|
||||||
│ │ ├── secure-exit.sh
|
│ │ └── secure-exit.sh
|
||||||
│ │ └── tracker-nginx.conf
|
|
||||||
│ ├── tasks
|
│ ├── tasks
|
||||||
│ │ ├── cleanup_confirmation.yml
|
│ │ ├── cleanup_confirmation.yml
|
||||||
│ │ ├── configure_mail.yml
|
│ │ ├── configure_mail.yml
|
||||||
@@ -31,7 +30,6 @@
|
|||||||
│ ├── reference.txt.j2
|
│ ├── reference.txt.j2
|
||||||
│ ├── resolv.conf.j2
|
│ ├── resolv.conf.j2
|
||||||
│ ├── secure-ssh.sh.j2
|
│ ├── secure-ssh.sh.j2
|
||||||
│ ├── serve-havoc-payloads.sh.j2
|
|
||||||
│ ├── setup-cert.sh.j2
|
│ ├── setup-cert.sh.j2
|
||||||
│ ├── shell-handler.service.j2
|
│ ├── shell-handler.service.j2
|
||||||
│ ├── torrc.j2
|
│ ├── torrc.j2
|
||||||
@@ -54,7 +52,8 @@
|
|||||||
│ │ ├── generate_evasive_beacons.sh.j2
|
│ │ ├── generate_evasive_beacons.sh.j2
|
||||||
│ │ ├── generate_havoc_payloads.sh.j2
|
│ │ ├── generate_havoc_payloads.sh.j2
|
||||||
│ │ ├── havoc-config.yaotl.j2
|
│ │ ├── havoc-config.yaotl.j2
|
||||||
│ │ └── havoc-guide.j2
|
│ │ ├── havoc-guide.j2
|
||||||
|
│ │ └── serve-havoc-payloads.sh.j2
|
||||||
│ ├── chat-server
|
│ ├── chat-server
|
||||||
│ │ ├── files
|
│ │ ├── files
|
||||||
│ │ ├── tasks
|
│ │ ├── tasks
|
||||||
@@ -63,19 +62,6 @@
|
|||||||
│ │ ├── files
|
│ │ ├── files
|
||||||
│ │ ├── tasks
|
│ │ ├── tasks
|
||||||
│ │ └── templates
|
│ │ └── templates
|
||||||
│ ├── infrastructure
|
|
||||||
│ │ ├── aws
|
|
||||||
│ │ │ ├── files
|
|
||||||
│ │ │ ├── tasks
|
|
||||||
│ │ │ └── templates
|
|
||||||
│ │ ├── flokinet
|
|
||||||
│ │ │ ├── files
|
|
||||||
│ │ │ ├── tasks
|
|
||||||
│ │ │ └── templates
|
|
||||||
│ │ └── linode
|
|
||||||
│ │ ├── files
|
|
||||||
│ │ ├── tasks
|
|
||||||
│ │ └── templates
|
|
||||||
│ ├── logging-server
|
│ ├── logging-server
|
||||||
│ │ ├── files
|
│ │ ├── files
|
||||||
│ │ ├── tasks
|
│ │ ├── tasks
|
||||||
@@ -95,25 +81,25 @@
|
|||||||
│ │ ├── files
|
│ │ ├── files
|
||||||
│ │ ├── gophish
|
│ │ ├── gophish
|
||||||
│ │ │ ├── files
|
│ │ │ ├── files
|
||||||
|
│ │ │ │ └── opsec_wrapper.py
|
||||||
│ │ │ ├── tasks
|
│ │ │ ├── tasks
|
||||||
│ │ │ │ ├── configure_gophish_advanced.yml
|
│ │ │ │ ├── configure_gophish_advanced.yml
|
||||||
│ │ │ │ └── configure_phishing_server.yml
|
│ │ │ │ └── configure_phishing_server.yml
|
||||||
│ │ │ └── templates
|
│ │ │ └── templates
|
||||||
|
│ │ │ ├── gophish-advanced-config.j2
|
||||||
|
│ │ │ ├── gophish-config.j2
|
||||||
|
│ │ │ └── gophish-opsec.yaotl.j2
|
||||||
│ │ ├── gophish_server.yml
|
│ │ ├── gophish_server.yml
|
||||||
│ │ ├── mta-front
|
│ │ ├── mta-front
|
||||||
│ │ │ ├── files
|
│ │ │ ├── files
|
||||||
│ │ │ ├── tasks
|
│ │ │ ├── tasks
|
||||||
│ │ │ │ └── configure_mta_front.yml
|
│ │ │ │ └── configure_mta_front.yml
|
||||||
│ │ │ └── templates
|
│ │ │ └── templates
|
||||||
|
│ │ │ └── postfix-mta-front.j2
|
||||||
│ │ ├── mta_front.yml
|
│ │ ├── mta_front.yml
|
||||||
│ │ ├── phishing_redirector.yml
|
│ │ ├── phishing_redirector.yml
|
||||||
│ │ ├── phishing_webserver.yml
|
│ │ ├── phishing_webserver.yml
|
||||||
│ │ ├── Plan.md
|
│ │ ├── Plan.md
|
||||||
│ │ ├── redirector
|
|
||||||
│ │ │ ├── files
|
|
||||||
│ │ │ ├── tasks
|
|
||||||
│ │ │ │ └── configure_phishing_redirector.yml
|
|
||||||
│ │ │ └── templates
|
|
||||||
│ │ ├── tasks
|
│ │ ├── tasks
|
||||||
│ │ │ └── configure_fedramp_compliance.yml
|
│ │ │ └── configure_fedramp_compliance.yml
|
||||||
│ │ ├── templates
|
│ │ ├── templates
|
||||||
@@ -122,20 +108,35 @@
|
|||||||
│ │ │ │ ├── office365_login.j2
|
│ │ │ │ ├── office365_login.j2
|
||||||
│ │ │ │ ├── password_expiry.j2
|
│ │ │ │ ├── password_expiry.j2
|
||||||
│ │ │ │ └── security_alert.j2
|
│ │ │ │ └── security_alert.j2
|
||||||
│ │ │ ├── fake-login.html.j2
|
|
||||||
│ │ │ ├── fedramp-compliance.j2
|
│ │ │ ├── fedramp-compliance.j2
|
||||||
│ │ │ ├── gophish-advanced-config.j2
|
│ │ │ └── phishing_deployment_state.j2
|
||||||
│ │ │ ├── gophish-config.j2
|
|
||||||
│ │ │ ├── nginx-phishing-webserver.j2
|
|
||||||
│ │ │ ├── phishing_deployment_state.j2
|
|
||||||
│ │ │ ├── phishing-landing-page.j2
|
|
||||||
│ │ │ └── postfix-mta-front.j2
|
|
||||||
│ │ └── webserver
|
│ │ └── webserver
|
||||||
│ │ ├── files
|
│ │ ├── files
|
||||||
│ │ ├── tasks
|
│ │ ├── tasks
|
||||||
│ │ │ ├── configure_phishing_webserver.yml
|
│ │ │ ├── configure_phishing_webserver.yml
|
||||||
│ │ │ └── setup_phishing_security.yml
|
│ │ │ └── setup_phishing_security.yml
|
||||||
│ │ └── templates
|
│ │ └── 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
|
│ ├── redirectors
|
||||||
│ │ ├── files
|
│ │ ├── files
|
||||||
│ │ │ └── post_install_redirector.sh
|
│ │ │ └── post_install_redirector.sh
|
||||||
@@ -143,6 +144,7 @@
|
|||||||
│ │ │ └── configure_redirector.yml
|
│ │ │ └── configure_redirector.yml
|
||||||
│ │ └── templates
|
│ │ └── templates
|
||||||
│ │ ├── capture.php.j2
|
│ │ ├── capture.php.j2
|
||||||
|
│ │ ├── configure_phishing_redirector.yml
|
||||||
│ │ ├── nginx.conf.j2
|
│ │ ├── nginx.conf.j2
|
||||||
│ │ ├── nginx-payload-redirector.j2
|
│ │ ├── nginx-payload-redirector.j2
|
||||||
│ │ ├── nginx-phishing-redirector.j2
|
│ │ ├── nginx-phishing-redirector.j2
|
||||||
@@ -158,6 +160,7 @@
|
|||||||
│ └── tracker
|
│ └── tracker
|
||||||
│ ├── files
|
│ ├── files
|
||||||
│ │ ├── simple_email_tracker.py
|
│ │ ├── simple_email_tracker.py
|
||||||
|
│ │ ├── tracker-nginx.conf
|
||||||
│ │ ├── tracker.service
|
│ │ ├── tracker.service
|
||||||
│ │ └── tracker-stats.sh
|
│ │ └── tracker-stats.sh
|
||||||
│ ├── tasks
|
│ ├── tasks
|
||||||
@@ -203,4 +206,4 @@
|
|||||||
├── requirements.txt
|
├── requirements.txt
|
||||||
└── structure.txt
|
└── structure.txt
|
||||||
|
|
||||||
86 directories, 118 files
|
71 directories, 136 files
|
||||||
|
|||||||
Reference in New Issue
Block a user