github.com/merlinepedra/gopphish-attack@v0.9.0/ansible-playbook/roles/gophish/tasks/main.yml (about) 1 - name: Change /etc/hostname 2 hostname: 3 name: "{{ hostname }}" 4 5 - name: Allow TCP 22 for SSH. 6 ufw: 7 rule: allow 8 port: 22 9 proto: tcp 10 11 - name: Allow TCP 80 for Gophish. 12 ufw: 13 rule: allow 14 port: 80 15 proto: tcp 16 17 - name: Allow TCP 443 for Gophish. 18 ufw: 19 rule: allow 20 port: 443 21 proto: tcp 22 23 - name: Enable ufw. 24 ufw: 25 state: enabled 26 policy: deny 27 when: enable_ufw_firewall 28 29 - name: Update APT package cache. 30 apt: 31 update_cache: yes 32 33 - name: Upgrade APT to the latest packages. 34 apt: 35 upgrade: safe 36 37 - name: Install specified packages. 38 apt: 39 pkg: "{{ item }}" 40 state: latest 41 with_items: "{{ install_packages }}" 42 43 - name: Update postfix main.cf configuration file. 44 template: 45 src: main.cf.j2 46 dest: /etc/postfix/main.cf 47 backup: yes 48 owner: root 49 group: root 50 mode: 0644 51 52 - name: Restart postfix. 53 service: 54 name: postfix 55 state: restarted 56 57 - name: Ensure postfix is started and enabled at boot. 58 service: 59 name: postfix 60 state: started 61 enabled: yes 62 63 - name: Download latest Gophish .zip file. 64 get_url: 65 validate_certs: True 66 url: https://getgophish.com/releases/latest/linux/64 67 dest: "/home/{{ gophish_user }}/gophish.zip" 68 mode: 0755 69 owner: "{{ gophish_user }}" 70 group: "{{ gophish_user }}" 71 72 - name: Create directory for gophish. 73 file: 74 path: "/home/{{ gophish_user }}/gophish" 75 state: directory 76 mode: 0755 77 owner: "{{ gophish_user }}" 78 group: "{{ gophish_user }}" 79 80 - name: Unzip gophish file. 81 unarchive: 82 src: "/home/{{ gophish_user }}/gophish.zip" 83 dest: "/home/{{ gophish_user }}/gophish" 84 remote_src: True # File is on target server and not locally. 85 owner: "{{ gophish_user }}" 86 group: "{{ gophish_user }}" 87 88 - name: Change ownership of Gophish folder and files. 89 file: 90 path: /home/{{ gophish_user }}/gophish 91 owner: "{{ gophish_user }}" 92 group: "{{ gophish_user }}" 93 recurse: True 94 95 - name: Allow gophish binary to bind to privileged ports using setcap. 96 shell: setcap CAP_NET_BIND_SERVICE=+eip /home/{{ gophish_user }}/gophish/gophish 97 98 - name: Copy config.json file. 99 copy: 100 src: files/config.json 101 dest: "/home/{{ gophish_user }}/gophish/config.json" 102 owner: "{{ gophish_user }}" 103 group: "{{ gophish_user }}" 104 mode: 0644 105 106 - name: Reboot the box in 1 minute. 107 command: shutdown -r 1 108 when: reboot_box