Deployment works need to fix ssh after and IP grab

This commit is contained in:
n0mad1k
2025-04-24 10:58:22 -04:00
parent 29f5bca435
commit c05a88c456
4 changed files with 23 additions and 143 deletions
-136
View File
@@ -1,136 +0,0 @@
---
# Common task for configuring C2 server
# Shared across all providers
- name: Update apt cache
apt:
update_cache: yes
- name: Set a custom MOTD
template:
src: "../templates/motd.j2"
dest: /etc/motd
owner: root
group: root
mode: '0644'
- name: Install base utilities and tools via apt
apt:
name:
- git
- wget
- curl
- unzip
- python3-pip
- python3-venv
- tmux
- pipx
- nmap
- tcpdump
- hydra
- john
- hashcat
- sqlmap
- gobuster
- dirb
- enum4linux
- dnsenum
- seclists
- responder
- golang
- proxychains
- tor
- crackmapexec
- jq
- unzip
- postfix
- certbot
- opendkim
- opendkim-tools
- dovecot-core
- dovecot-imapd
- dovecot-pop3d
- dovecot-sieve
- dovecot-managesieved
- yq
state: present
- name: Copy operational scripts
copy:
src: "{{ item }}"
dest: "/root/Tools/{{ item }}"
mode: '0700'
owner: root
group: root
with_items:
- clean-logs.sh
- secure-exit.sh
- serve-beacons.sh
- name: Create operational directories
file:
path: "{{ item }}"
state: directory
mode: '0700'
owner: root
group: root
with_items:
- /root/Tools
- /root/Tools/beacons
- /root/Tools/payloads
- name: Create Havoc service file
copy:
content: |
[Unit]
Description=Havoc C2 Server
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/root/Tools/havoc/Teamserver
ExecStart=/root/Tools/havoc/Teamserver/havoc server -d
Restart=always
RestartSec=10
# Security measures
PrivateTmp=true
ProtectHome=false
NoNewPrivileges=true
# Hide process information
StandardOutput=null
StandardError=null
[Install]
WantedBy=multi-user.target
dest: /etc/systemd/system/havoc.service
mode: '0644'
owner: root
group: root
- name: Set up cron job for log cleaning if zero-logs enabled
cron:
name: "Clean logs"
minute: "0"
hour: "*/6"
job: "/root/Tools/clean-logs.sh > /dev/null 2>&1"
when: zero_logs | bool
- name: Install Let's Encrypt certificate if domain specified
shell: |
certbot certonly --standalone -d {{ c2_subdomain }}.{{ domain }} --non-interactive --agree-tos -m {{ letsencrypt_email }}
args:
creates: /etc/letsencrypt/live/{{ c2_subdomain }}.{{ domain }}/fullchain.pem
when: domain != "example.com"
- name: Configure and start beacon server
shell: |
sed -i "s/C2_HOST=.*/C2_HOST=\"{{ ansible_host }}\"/g" /root/Tools/serve-havoc-payloads.sh
chmod +x /root/Tools/serve-havoc-payloads.sh
# Check if beacon server is already running
if ! pgrep -f "/root/Tools/serve-havoc-payloads.sh" > /dev/null; then
nohup /root/Tools/serve-havoc-payloads.sh > /dev/null 2>&1 &
fi