forked from sec4us-training/web-api-linux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup_burp.yml
80 lines (68 loc) · 2.8 KB
/
setup_burp.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
- name: Burp | Set burpsuite_install_dir
ansible.builtin.set_fact:
burpsuite_install_dir: "/opt/BurpSuite{{ burpsuite_edition | capitalize }}"
when: burpsuite_install_dir is undefined
- name: Burp | Retrieve release data from portswigger.net
ansible.builtin.set_fact:
burp_release_data: "{{ lookup('url', 'https://portswigger.net/burp/releases/data?lastId=-1&pageSize=20') }}"
- name: Burp | Identify latest version number for release channel
ansible.builtin.set_fact:
_burpsuite_installer_version: "{{ burp_release_data | json_query(version_query) }}"
vars:
version_query: >-
ResultSet.Results[?
releaseChannels[0] == '{{ burpsuite_channel }}' &&
builds[?
ProductId == '{{ burpsuite_edition }}' &&
ProductPlatform == 'Linux'
]
].version | [0]
- name: Burp | Latest version
ansible.builtin.debug:
msg: "Latest version for Burp Suite {{ burpsuite_edition | capitalize }} ({{ burpsuite_channel }}) is {{ _burpsuite_installer_version }}"
- name: Burp | Identify installer checksum
ansible.builtin.set_fact:
burpsuite_installer_sha256_checksum: "{{ burp_release_data | json_query(checksum_query) }}"
vars:
checksum_query: >-
ResultSet.Results[].builds[?
Version == '{{ _burpsuite_installer_version }}' &&
ProductId == '{{ burpsuite_edition }}' &&
ProductPlatform == 'Linux'
][].Sha256Checksum
| [0]
- name: Burp | Set installer script filename
ansible.builtin.set_fact:
burpsuite_installer_script: "burpsuite_{{ burpsuite_edition }}_linux_v{{ _burpsuite_installer_version | regex_replace('\\.', '_') }}.sh"
- name: Burp | Download Burp Suite installer
ansible.builtin.get_url:
url: "https://portswigger.net/burp/releases/download?product={{ burpsuite_edition }}&type=linux&version={{ _burpsuite_installer_version }}"
dest: "/tmp/{{ burpsuite_installer_script }}"
checksum: "sha256:{{ burpsuite_installer_sha256_checksum }}"
owner: "{{ local_username }}"
group: "{{ user_details.group }}"
mode: '0640'
- name: Burp | Create response.varfile for unattended install
copy:
dest: "/tmp/burpsuite_response.varfile"
mode: '0640'
owner: "root"
group: "root"
content: |
# install4j response file for Burp Suite
sys.adminRights$Boolean=false
sys.installationDir={{ burpsuite_install_dir }}
sys.languageId=en
sys.programGroupDisabled$Boolean=false
sys.symlinkDir=/usr/bin
- name: Burp | Install Burp Suite
shell: "cd /tmp; /bin/sh {{ burpsuite_installer_script }} -q -varfile burpsuite_response.varfile -overwrite"
changed_when: true
become: true
- name: Burp | Clean-up files
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop:
- "/tmp/{{ burpsuite_installer_script }}"
- /tmp/burpsuite_response.varfile