blob: c7802a81c6b93ba8711a3a41e435e93578427723 (
plain)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
|
---
- hosts: localhost
become: yes
vars:
docker_repo_key: "https://download.docker.com/linux/debian/gpg"
docker_repo: "deb [arch=amd64] https://download.docker.com/linux/debian buster stable"
sublime_repo_key: "https://download.sublimetext.com/sublimehq-pub.gpg"
sublime_repo: "deb https://download.sublimetext.com/ apt/stable/"
# good_repo:
# - "deb https://mirror.clarkson.edu/parrot/ rolling main contrib non-free"
# - "deb-src https://mirror.clarkson.edu/parrot/ rolling main contrib non-free"
# bad_repo:
# - "deb https://deb.parrot.sh/parrot/ rolling main contrib non-free"
# - "deb-src https://deb.parrot.sh/parrot/ rolling main contrib non-free"
tasks:
- name: Add Docker Repo Key
ansible.builtin.apt_key:
url: "{{ docker_repo_key }}"
state: present
- name: Add Docker Repo
ansible.builtin.apt_repository:
repo: "{{ docker_repo }}"
state: present
- name: Add Sublime Text Repo Key
ansible.builtin.apt-key:
url: "{{ sublime_repo_key }}"
state: present
- name: Add Sublime Text Repo
ansible.builtin.apt_repository:
repo: "{{ sublime_repo }}"
state: present
# - name: Not using auto-repo (this may work for you, but not for me)
# apt_repository:
# repo: "{{ item }}"
# state: absent
# loop: "{{ bad_repo }}"
# - name: Specifying a better repo
# apt_repository:
# repo: "{{ item }}"
# state: present
# loop: "{{ good_repo }}"
- name: Ensuring all packages are up to date
ansible.builtin.apt:
update_cache: yes
upgrade: dist
- name: Get this neovim crap outta here (╯°□°)╯︵ ┻━┻
ansible.builtin.apt:
name: neovim
state: absent
- name: Installing one-off packages from package manager
ansible.builtin.apt:
update_cache: yes
name:
- vim
- gawk
- terminator
- gobuster
- python3-dev
- python3-pip
- pipx
- neo4j
- rlwrap
- eog
- xclip
- steghide
- git
- ltrace
- strace
- gdb
- gdbserver
- docker
- docker-compose
- forensics-extra
- ncat
- jq
- powershell
- samba
- tmux
- libssl-dev
- libffi-dev
- build-essential
- open-vm-tools
- open-vm-tools-desktop
- remmina
- sublime-text
state: latest
force_apt_get: yes
- name: Install CrackMapExec
community.general.pipx:
name: crackmapexec
- name: Install ShellUp!
ansible.builtin.git:
repo: 'https://github.com/AgroDan/shellup.git'
dest: /opt/shellup
- name: Install Seclists (Kali has this in the repos)
ansible.builtin.git:
repo: 'https://github.com/danielmiessler/SecLists.git'
dest: /opt/seclists
- name: Install pwntools
ansible.builtin.pip:
name: git+https://github.com/Gallopsled/pwntools.git@dev
- name: Clone Invoke-Obfuscation (•_•) ( •_•)>⌐■-■ (⌐■_■)
ansible.builtin.git:
repo: 'https://github.com/danielbohannon/Invoke-Obfuscation'
dest: /opt/Invoke-Obfuscation
- name: Clone JumboJohn
ansible.builtin.git:
repo: 'https://github.com/magnumripper/JohnTheRipper'
dest: /opt/JohnTheRipper
- name: Compiling JumboJohn, hold onto yer butts...
ansible.builtin.command: chdir=/opt/JohnTheRipper/src {{ item }}
with_items:
- ./configure
- make
- make install
- name: Clone Nishang
ansible.builtin.git:
repo: 'https://github.com/samratashok/nishang'
dest: /opt/nishang
- name: Clone Chisel
ansible.builtin.git:
repo: 'https://github.com/jpillora/chisel'
dest: /opt/chisel
- name: Clone LinEnum
ansible.builtin.git:
repo: 'https://github.com/rebootuser/LinEnum'
dest: /opt/LinEnum
- name: Clone PEASS
ansible.builtin.git:
repo: 'https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite'
dest: /opt/privilege-escalation-awesome-scripts-suite
- name: Clone PowerSploit
ansible.builtin.git:
repo: 'https://github.com/PowerShellMafia/PowerSploit'
dest: /opt/PowerSploit
- name: Clone Impacket
ansible.builtin.git:
repo: 'https://github.com/SecureAuthCorp/impacket'
dest: /opt/impacket
- name: Clone Bloodhound
ansible.builtin.git:
repo: 'https://github.com/BloodHoundAD/BloodHound'
dest: /opt/BloodHound
- name: Clone Gef
ansible.builtin.git:
repo: 'https://github.com/hugsy/gef.git'
dest: /opt/gef
- name: Clone Static Binaries
ansible.builtin.git:
repo: 'https://github.com/andrew-d/static-binaries'
dest: /opt/static-binaries
- name: Clone Ysoserial
ansible.builtin.git:
repo: 'https://github.com/frohoff/ysoserial'
dest: /opt/ysoserial
- name: Downloading Ysoserial JAR file
ansible.builtin.get_url:
url: https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar
dest: /opt/ysoserial/ysoserial-master-SNAPSHOT.jar
mode: '0644'
- name: Get Evil-WinRM via gem installer
ansible.builtin.gem:
name: evil-winrm
state: latest
user_install: no
- name: Disable mouse interactivity in vim (╯°□°)╯︵ ┻━┻
ansible.builtin.blockinfile:
path: /etc/vim/vimrc
marker: "\" {mark} ANSIBLE MANAGED BLOCK"
insertafter: EOF
state: present
block: |
set mouse=
set ttymouse=
- name: Getting all interactive users <<hack hack hack>>
ansible.builtin.shell: "awk -F: '{ if (($3 >= 1000 && $3 != 65534) || $3 == 0) print $1}' /etc/passwd"
register: users
- name: Initialize Gef for all users
ansible.builtin.script: /opt/gef/scripts/gef.sh
become_user: "{{ item }}"
loop: "{{ users.stdout_lines }}"
- name: Copying over bashrc file to all users
ansible.builtin.copy:
src: /tmp/master-bashrc
dest: "~{{ item }}/.bashrc"
owner: "{{ item }}"
group: "{{ item }}"
mode: '0640'
loop: "{{ users.stdout_lines }}"
- name: Copying over bash functions file for all users
ansible.builtin.copy:
src: /tmp/master-bash_functions
dest: "~{{ item }}/.bash_functions"
owner: "{{ item }}"
group: "{{ item }}"
mode: '0640'
loop: "{{ users.stdout_lines }}"
- name: Copying over tmux config to all users
ansible.builtin.copy:
src: /tmp/master-tmux_conf
dest: "~{{ item }}/.tmux.conf"
owner: "{{ item }}"
group: "{{ item }}"
mode: '0640'
loop: "{{ users.stdout_lines }}"
- name: Create /srv/smb/ directory for payload population
ansible.builtin.file:
path: /srv/smb
state: directory
mode: '0755'
- name: Creating IWR share in samba config
ansible.builtin.blockinfile:
path: /etc/samba/smb.conf
insertafter: EOF
state: present
block: |
[iwr]
comment = Invoke-WebReq'd em? Damn near killed em!
path = /srv/smb
guest ok = yes
browseable = yes
create mask = 0600
directory mask = 0755
- name: Ensure that samba doesn't start on boot
ansible.builtin.systemd:
name: smbd
enabled: no
state: stopped
|