#!/bin/bash #=============================================================================== # # DIRECTORY: # /home/*/.local/share/nautilus/scripts/05b-macOS/ # OR # /home/*/.gnome2/nautilus-sctipts/05b-macOS/ (deprecated) # # FILE: # 06c-SALTED-SHA512-PBKDF2-hashcat-dict-v10.8-10.15 # # USAGE: # Right click on file with hashes (fwh) and # choose this nautilus script from the context menu. # # OPTIONS: # none # # DESCRIPTION: # Starts hashcat with a dictionary and a rule on the choosen file with hashes. # # REQUIREMENTS: # bash, zenity, coreutils and hashcat # # BUGS: # --- # # NOTES: # Tested on # - Debian 8+ # - Arch Linux # # AUTHOR: # Patrick Neumann, patrick@neumannsland.de # # COMPANY: # (privately) # # VERSION: # 0.9 (beta) # # LINK TO THE MOST CURRENT VERSIONS: # https:// # # CREATED: # 22.06.2020 # # COPYRIGHT (C): # 2015-2020 - Patrick Neumann # # LICENSE: # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # WARRANTY: # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # TODO: # ---- # # HISTORY: # 0.9 - Patrick Neumann - Initial (public) release # #=============================================================================== #------------------------------------------------------------------------------- # Additional supported Distribution(s) (add before Library!). #------------------------------------------------------------------------------- # fred-report-templates have to be copied manually to! SUPPORTED_OSR="arch" #------------------------------------------------------------------------------- # Check for library (casualscripter_nautilus-scripts_functions.sh). #------------------------------------------------------------------------------- readonly LIBRARY="${0%/*/*}/.casualscripter_nautilus-scripts_functions.sh" if [ ! -f "${LIBRARY}" ] ; then zenity --error \ --text \ "ERROR: casualscripter_nautilus-scripts_functions.sh MISSING!" exit 1 fi source "${LIBRARY}" #------------------------------------------------------------------------------- # Checks (see library "casualscripter_nautilus-scripts_functions.sh"). #------------------------------------------------------------------------------- check_dep "${CUT_BIN}" "coreutils" check_dep "${HASHCAT_BIN}" "hashcat" check_ext "${SOURCE}" "txt" # For development I have only used rockyou.txt. # TODO: choice of more AND MUCH SHORTER dictionaties: # https://github.com/danielmiessler/SecLists/tree/master/Passwords readonly DICTIONARY="/home/${USER}/hashcat/dictionaries/rockyou.txt" check_file "${DICTIONARY}" "rockyou.txt" #------------------------------------------------------------------------------- # A little bit of configuration before the magic. #------------------------------------------------------------------------------- readonly HASHCAT="${DIRNAME}/$( ${BASENAME_BIN} "${SOURCE}" )-hashcat-dictionary.txt" #------------------------------------------------------------------------------- # We need force if we use an intel GPU with "broken" OpenCL! # (need years!!!) #------------------------------------------------------------------------------- if [ ! -f "${HASHCAT}" ] ; then ${GTERMINAL_BIN} --hide-menubar -- \ ${HASHCAT_BIN} \ --potfile-disable \ --hash-type 7100 \ --attack-mode 0 \ --workload-profile 3 \ --optimized-kernel-enable \ --force \ --outfile "${HASHCAT}" \ "${SOURCE}" \ "${DICTIONARY}" \ --rules-file /usr/share/doc/hashcat/rules/dive.rule ${SLEEP_BIN} 3 # We have to wait until ewfverify has finished... while ${PGREP_BIN} --full "${HASHCAT_BIN}" > /dev/null 2>&1; do ${SLEEP_BIN} 1 done fi #------------------------------------------------------------------------------- # Display content of the resultfile "hashcat.txt". #------------------------------------------------------------------------------- display_resultfile "${HASHCAT}" exit 0