First working version.
This commit is contained in:
parent
8bc7a20125
commit
66636433eb
11 changed files with 222 additions and 2 deletions
28
aws/roles/ec2_create/tasks/main.yml
Normal file
28
aws/roles/ec2_create/tasks/main.yml
Normal file
|
@ -0,0 +1,28 @@
|
|||
- name: Create hashcat instance
|
||||
ec2:
|
||||
region: "{{ ec2.region }}"
|
||||
keypair: "{{ ec2.credentials }}"
|
||||
instance_tags: "{{ ec2.tags }}"
|
||||
image: "{{ ec2.image }}"
|
||||
instance_type: "{{ ec2.instance_type }}"
|
||||
instance_profile_name: "{{ ec2.role | default('') }}"
|
||||
instance_initiated_shutdown_behavior: "{{ ec2.shutdownbehavior }}"
|
||||
volumes: "{{ ec2.volumes }}"
|
||||
group: "{{ ec2.sg }}"
|
||||
vpc_subnet_id: "{{ ec2.subnet }}"
|
||||
assign_public_ip: "{{ ec2.public_ip | default('no') }}"
|
||||
private_ip: "{{ ec2.private_ip | default('') }}"
|
||||
wait: true
|
||||
register: myec2
|
||||
|
||||
- name: Add new instance to host group
|
||||
add_host: hostname={{ item.public_ip }} groupname=hashcat
|
||||
with_items: '{{myec2.instances}}'
|
||||
|
||||
- name: Wait for SSH to come up
|
||||
wait_for:
|
||||
host: "{{ item.public_ip }}"
|
||||
port: 22
|
||||
state: started
|
||||
#delay: 500
|
||||
with_items: '{{ myec2.instances }}'
|
98
aws/roles/ec2_hashcat/tasks/main.yml
Normal file
98
aws/roles/ec2_hashcat/tasks/main.yml
Normal file
|
@ -0,0 +1,98 @@
|
|||
- name: Update repo list (update) and upgrade instance (upgrade)
|
||||
become: yes
|
||||
ansible.builtin.apt:
|
||||
update_cache: yes
|
||||
|
||||
- name: Upgrade the OS (dist-upgrade)
|
||||
become: yes
|
||||
ansible.builtin.apt:
|
||||
upgrade: dist
|
||||
|
||||
- name: Install p7zip
|
||||
become: yes
|
||||
ansible.builtin.apt:
|
||||
name: p7zip
|
||||
update_cache: yes
|
||||
|
||||
- name: jq
|
||||
become: yes
|
||||
ansible.builtin.apt:
|
||||
name: jq
|
||||
update_cache: yes
|
||||
|
||||
#- name: Install build-essential
|
||||
# become: yes
|
||||
# ansible.builtin.apt:
|
||||
# name: build-essential
|
||||
# update_cache: yes
|
||||
|
||||
- name: Install nVidia CUDA keyring
|
||||
become: yes
|
||||
ansible.builtin.apt:
|
||||
deb: https://developer.download.nvidia.com/compute/cuda/repos/{{ ec2.os }}/x86_64/cuda-keyring_1.0-1_all.deb
|
||||
|
||||
- name: Install nVidia cuda-drivers
|
||||
become: yes
|
||||
ansible.builtin.apt:
|
||||
name: cuda-drivers
|
||||
update_cache: yes
|
||||
|
||||
- name: Install nVidia cuda
|
||||
become: yes
|
||||
ansible.builtin.apt:
|
||||
name: cuda
|
||||
update_cache: yes
|
||||
|
||||
- name: Copy hashcat_start script
|
||||
become: yes
|
||||
ansible.builtin.copy:
|
||||
src: hashcat_start.j2
|
||||
dest: /usr/local/bin/hashcat_start
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0755'
|
||||
|
||||
- name: Download latest goofys
|
||||
become: yes
|
||||
ansible.builtin.get_url:
|
||||
url: https://github.com/kahing/goofys/releases/latest/download/goofys
|
||||
dest: /usr/local/bin/goofys
|
||||
mode: '0755'
|
||||
|
||||
- name: Create aws directory if it does not exist
|
||||
become: yes
|
||||
ansible.builtin.file:
|
||||
path: /root/.aws/
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Copy AWS Credentials
|
||||
become: yes
|
||||
ansible.builtin.copy:
|
||||
src: credentials.j2
|
||||
dest: /root/.aws/credentials
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0600'
|
||||
|
||||
- name: Set up fstab
|
||||
become: yes
|
||||
lineinfile:
|
||||
dest: /etc/fstab
|
||||
line: '{{ item }}'
|
||||
with_items:
|
||||
- 'goofys#{{ s3.bucket_name }} {{ s3.mount_point }} fuse _netdev,allow_other,--file-mode=0660,--dir-mode=0770,--uid=1000,--gid=1000,--endpoint={{ s3.end_point }},noauto 0 0'
|
||||
|
||||
- name: Mount S3 bucket
|
||||
become: yes
|
||||
command: mount /mnt
|
||||
args:
|
||||
warn: no
|
||||
become: true
|
||||
|
||||
- name: Run hashcat
|
||||
become: yes
|
||||
shell: "(/usr/local/bin/hashcat_start >/dev/null 2>&1 &)"
|
||||
###command: "(/usr/local/bin/hashcat_start &)"
|
||||
|
||||
|
9
aws/roles/ec2_terminate/tasks/main.yml
Normal file
9
aws/roles/ec2_terminate/tasks/main.yml
Normal file
|
@ -0,0 +1,9 @@
|
|||
- name: Terminate hashcat instance
|
||||
ec2:
|
||||
region: "{{ ec2.region }}"
|
||||
instance_tags: "{{ ec2.tags }}"
|
||||
instance_profile_name: "{{ ec2.role | default('') }}"
|
||||
image: "{{ ec2.image }}"
|
||||
exact_count: 0
|
||||
wait: true
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue