diff --git a/CHANGELOG.md b/CHANGELOG.md index 2be0c49db..b720aac88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +### 10.10 + - PMKID capture feature + - PMKID offline decryption feature + - Tested compatibility with Manjaro Linux + - Fixed error on auto_update plugin on some Linux distros + ### 10.01 - Removed deprecated ifconfig and iwconfig commands and dependencies - Fixed error on enterprise certificates validation diff --git a/Dockerfile b/Dockerfile index 97cc0b69d..198092341 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ #airgeddon Dockerfile #Base image -FROM parrotsec/parrot:latest +FROM parrotsec/security:latest #Credits & Data LABEL \ @@ -86,7 +86,9 @@ RUN \ hostapd-wpe \ asleap \ john \ - openssl + openssl \ + hcxtools \ + hcxdumptool #Install needed dependencies for Bettercap and BeEF RUN \ diff --git a/README.md b/README.md index 611ad515f..fed92f305 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ All the needed info about how to "install | use | enjoy" `airgeddon` is present [Hat Tip To]: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Hat%20Tip%20To [Inspiration]: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Inspiration -[Version-shield]: https://img.shields.io/badge/version-10.01-blue.svg?style=flat-square&colorA=273133&colorB=0093ee "Latest version" +[Version-shield]: https://img.shields.io/badge/version-10.10-blue.svg?style=flat-square&colorA=273133&colorB=0093ee "Latest version" [Bash4.2-shield]: https://img.shields.io/badge/bash-4.2%2B-blue.svg?style=flat-square&colorA=273133&colorB=00db00 "Bash 4.2 or later" [License-shield]: https://img.shields.io/badge/license-GPL%20v3%2B-blue.svg?style=flat-square&colorA=273133&colorB=bd0000 "GPL v3+" [Docker-shield]: https://img.shields.io/docker/cloud/automated/v1s1t0r1sh3r3/airgeddon.svg?style=flat-square&colorA=273133&colorB=a9a9a9 "Docker rules!" diff --git a/airgeddon.sh b/airgeddon.sh index 45e11457c..036ea19e0 100755 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -2,7 +2,7 @@ #Title........: airgeddon.sh #Description..: This is a multi-use bash script for Linux systems to audit wireless networks. #Author.......: v1s1t0r -#Version......: 10.01 +#Version......: 10.10 #Usage........: bash airgeddon.sh #Bash Version.: 4.2 or later @@ -65,6 +65,8 @@ optional_tools_names=( "asleap" "john" "openssl" + "hcxpcaptool" + "hcxdumptool" ) update_tools=("curl") @@ -113,6 +115,8 @@ declare -A possible_package_names=( [${optional_tools_names[21]}]="asleap" #asleap [${optional_tools_names[22]}]="john" #john [${optional_tools_names[23]}]="openssl" #openssl + [${optional_tools_names[24]}]="hcxtools" #hcxpcaptool + [${optional_tools_names[25]}]="hcxdumptool" #hcxdumptool [${update_tools[0]}]="curl" #curl ) @@ -122,10 +126,12 @@ declare -A possible_alias_names=( ) #General vars -airgeddon_version="10.01" -language_strings_expected_version="10.01-1" +airgeddon_version="10.10" +language_strings_expected_version="10.10-1" standardhandshake_filename="handshake-01.cap" +standardpmkid_filename="pmkid_hash.txt" timeout_capture_handshake="20" +timeout_capture_pmkid="25" tmpdir="/tmp/" osversionfile_dir="/etc/" plugins_dir="plugins/" @@ -152,11 +158,13 @@ minimum_wash_dualscan_version="1.6.5" #aircrack vars aircrack_tmp_simple_name_file="aircrack" aircrack_pot_tmp="${aircrack_tmp_simple_name_file}.pot" +aircrack_pmkid_version="1.4" #hashcat vars hashcat3_version="3.0" hashcat4_version="4.0.0" hashcat_hccapx_version="3.40" +minimum_hashcat_pmkid_version="4.2.0" hashcat_tmp_simple_name_file="hctmp" hashcat_tmp_file="${hashcat_tmp_simple_name_file}.hccap" hashcat_pot_tmp="${hashcat_tmp_simple_name_file}.pot" @@ -320,6 +328,7 @@ known_compatible_distros=( "Arch" "OpenMandriva" "Pentoo" + "Manjaro" ) known_arm_compatible_distros=( @@ -331,7 +340,7 @@ known_arm_compatible_distros=( #Hint vars declare main_hints=(128 134 163 437 438 442 445 516 590 626 660) declare dos_hints=(129 131 133) -declare handshake_hints=(127 130 132 136) +declare handshake_pmkid_hints=(127 130 132 664 665) declare dos_handshake_hints=(142) declare decrypt_hints=(171 179 208 244 163) declare personal_decrypt_hints=(171 178 179 208 244 163) @@ -2769,6 +2778,10 @@ function read_timeout() { min_max_timeout="10-100" timeout_shown="${timeout_capture_handshake}" ;; + "capture_pmkid") + min_max_timeout="10-100" + timeout_shown="${timeout_capture_pmkid}" + ;; esac language_strings "${language}" 393 "green" @@ -2790,6 +2803,9 @@ function ask_timeout() { "capture_handshake") local regexp="^[1-9][0-9]$|^100$|^$" ;; + "capture_pmkid") + local regexp="^[1-9][0-9]$|^100$|^$" + ;; esac timeout=0 @@ -2808,6 +2824,9 @@ function ask_timeout() { "capture_handshake") timeout=${timeout_capture_handshake} ;; + "capture_pmkid") + timeout=${timeout_capture_pmkid} + ;; esac fi @@ -2822,6 +2841,9 @@ function ask_timeout() { "capture_handshake") timeout_capture_handshake=${timeout} ;; + "capture_pmkid") + timeout_capture_pmkid=${timeout} + ;; esac language_strings "${language}" 391 "blue" @@ -5156,7 +5178,7 @@ function initialize_menu_options_dependencies() { debug_print clean_handshake_dependencies=("${optional_tools_names[0]}") - aircrack_attacks_dependencies=("${optional_tools_names[1]}") + aircrack_crunch_attacks_dependencies=("${optional_tools_names[1]}") aireplay_attack_dependencies=("${optional_tools_names[2]}") mdk_attack_dependencies=("${optional_tools_names[3]}") hashcat_attacks_dependencies=("${optional_tools_names[4]}") @@ -5176,6 +5198,7 @@ function initialize_menu_options_dependencies() { john_attacks_dependencies=("${optional_tools_names[22]}") johncrunch_attacks_dependencies=("${optional_tools_names[22]}" "${optional_tools_names[1]}") enterprise_certificates_dependencies=("${optional_tools_names[23]}") + pmkid_dependencies=("${optional_tools_names[24]}" "${optional_tools_names[25]}") } #Set possible changes for some commands that can be found in different ways depending of the O.S. @@ -5255,10 +5278,10 @@ function initialize_menu_and_print_selections() { enterprise_asleap_challenge="" enterprise_asleap_response="" ;; - "handshake_tools_menu") + "handshake_pmkid_tools_menu") print_iface_selected print_all_target_vars - return_to_handshake_tools_menu=0 + return_to_handshake_pmkid_tools_menu=0 ;; "dos_attacks_menu") dos_pursuit_mode=0 @@ -5349,7 +5372,9 @@ function clean_tmpfiles() { debug_print rm -rf "${tmpdir}bl.txt" > /dev/null 2>&1 + rm -rf "${tmpdir}target.txt" > /dev/null 2>&1 rm -rf "${tmpdir}handshake"* > /dev/null 2>&1 + rm -rf "${tmpdir}pmkid"* > /dev/null 2>&1 rm -rf "${tmpdir}nws"* > /dev/null 2>&1 rm -rf "${tmpdir}clts"* > /dev/null 2>&1 rm -rf "${tmpdir}wnws.txt" > /dev/null 2>&1 @@ -5518,12 +5543,12 @@ function print_hint() { randomhint=$(shuf -i 0-"${hintlength}" -n 1) strtoprint=${hints[dos_hints|${randomhint}]} ;; - "handshake_tools_menu") - store_array hints handshake_hints "${handshake_hints[@]}" - hintlength=${#handshake_hints[@]} + "handshake_pmkid_tools_menu") + store_array hints handshake_pmkid_hints "${handshake_pmkid_hints[@]}" + hintlength=${#handshake_pmkid_hints[@]} ((hintlength--)) randomhint=$(shuf -i 0-"${hintlength}" -n 1) - strtoprint=${hints[handshake_hints|${randomhint}]} + strtoprint=${hints[handshake_pmkid_hints|${randomhint}]} ;; "dos_handshake_menu") store_array hints dos_handshake_hints "${dos_handshake_hints[@]}" @@ -5672,7 +5697,7 @@ function main_menu() { dos_attacks_menu ;; 5) - handshake_tools_menu + handshake_pmkid_tools_menu ;; 6) decrypt_menu @@ -6523,11 +6548,14 @@ function personal_decrypt_menu() { language_strings "${language}" 536 language_strings "${language}" 176 "separator" language_strings "${language}" 172 - language_strings "${language}" 175 aircrack_attacks_dependencies[@] + language_strings "${language}" 175 aircrack_crunch_attacks_dependencies[@] language_strings "${language}" 229 "separator" language_strings "${language}" 230 hashcat_attacks_dependencies[@] language_strings "${language}" 231 hashcat_attacks_dependencies[@] language_strings "${language}" 232 hashcat_attacks_dependencies[@] + language_strings "${language}" 668 hashcat_attacks_dependencies[@] + language_strings "${language}" 669 hashcat_attacks_dependencies[@] + language_strings "${language}" 670 hashcat_attacks_dependencies[@] print_hint ${current_menu} read -rp "> " personal_decrypt_option @@ -6555,7 +6583,7 @@ function personal_decrypt_menu() { else get_hashcat_version set_hashcat_parameters - hashcat_dictionary_attack_option "personal" + hashcat_dictionary_attack_option "personal_handshake" fi ;; 4) @@ -6564,7 +6592,7 @@ function personal_decrypt_menu() { else get_hashcat_version set_hashcat_parameters - hashcat_bruteforce_attack_option "personal" + hashcat_bruteforce_attack_option "personal_handshake" fi ;; 5) @@ -6573,7 +6601,61 @@ function personal_decrypt_menu() { else get_hashcat_version set_hashcat_parameters - hashcat_rulebased_attack_option "personal" + hashcat_rulebased_attack_option "personal_handshake" + fi + ;; + 6) + if contains_element "${personal_decrypt_option}" "${forbidden_options[@]}"; then + forbidden_menu_option + else + get_hashcat_version + if validate_hashcat_pmkid_version; then + echo + language_strings "${language}" 678 "yellow" + language_strings "${language}" 115 "read" + set_hashcat_parameters + hashcat_dictionary_attack_option "personal_pmkid" + else + echo + language_strings "${language}" 679 "red" + language_strings "${language}" 115 "read" + fi + fi + ;; + 7) + if contains_element "${personal_decrypt_option}" "${forbidden_options[@]}"; then + forbidden_menu_option + else + get_hashcat_version + if validate_hashcat_pmkid_version; then + echo + language_strings "${language}" 678 "yellow" + language_strings "${language}" 115 "read" + set_hashcat_parameters + hashcat_bruteforce_attack_option "personal_pmkid" + else + echo + language_strings "${language}" 679 "red" + language_strings "${language}" 115 "read" + fi + fi + ;; + 8) + if contains_element "${personal_decrypt_option}" "${forbidden_options[@]}"; then + forbidden_menu_option + else + get_hashcat_version + if validate_hashcat_pmkid_version; then + echo + language_strings "${language}" 678 "yellow" + language_strings "${language}" 115 "read" + set_hashcat_parameters + hashcat_rulebased_attack_option "personal_pmkid" + else + echo + language_strings "${language}" 679 "red" + language_strings "${language}" 115 "read" + fi fi ;; *) @@ -6702,10 +6784,14 @@ function ask_capture_file() { validpath=1 - if [ "${1}" = "personal" ]; then + if [ "${1}" = "personal_handshake" ]; then while [[ "${validpath}" != "0" ]]; do read_path "targetfilefordecrypt" done + elif [ "${1}" = "personal_pmkid" ]; then + while [[ "${validpath}" != "0" ]]; do + read_path "targethashcatpmkidfilefordecrypt" + done else if [ "${2}" = "hashcat" ]; then while [[ "${validpath}" != "0" ]]; do @@ -6725,7 +6811,7 @@ function manage_asking_for_captured_file() { debug_print - if [ "${1}" = "personal" ]; then + if [ "${1}" = "personal_handshake" ]; then if [ -n "${enteredpath}" ]; then echo language_strings "${language}" 186 "blue" @@ -6736,6 +6822,17 @@ function manage_asking_for_captured_file() { else ask_capture_file "${1}" "${2}" fi + elif [ "${1}" = "personal_pmkid" ]; then + if [ -n "${hashcatpmkidenteredpath}" ]; then + echo + language_strings "${language}" 677 "blue" + ask_yesno 187 "yes" + if [ "${yesno}" = "n" ]; then + ask_capture_file "${1}" "${2}" + fi + else + ask_capture_file "${1}" "${2}" + fi else if [ "${2}" = "hashcat" ]; then if [ -n "${hashcatenterpriseenteredpath}" ]; then @@ -6895,12 +6992,24 @@ function check_bssid_in_captured_file() { return 1 } -#Set the target vars to a bssid selecting them from a capture file which has a Handshake +#Set the target vars to a bssid selecting them from a capture file which has a Handshake/PMKID function select_wpa_bssid_target_from_captured_file() { debug_print - nets_from_file=$(echo "1" | aircrack-ng "${1}" 2> /dev/null | grep -E "WPA \([1-9][0-9]? handshake" | awk '{ saved = $1; $1 = ""; print substr($0, 2) }') + get_aircrack_version + + if compare_floats_greater_than "${aircrack_pmkid_version}" "${aircrack_version}"; then + echo + language_strings "${language}" 667 "yellow" + language_strings "${language}" 115 "read" + fi + + if [ "${2}" = "only_handshake" ]; then + nets_from_file=$(echo "1" | aircrack-ng "${1}" 2> /dev/null | grep -E "WPA \([1-9][0-9]? handshake" | awk '{ saved = $1; $1 = ""; print substr($0, 2) }') + else + nets_from_file=$(echo "1" | aircrack-ng "${1}" 2> /dev/null | grep -E "handshake, with PMKID" | awk '{ saved = $1; $1 = ""; print substr($0, 2) }') + fi echo if [ "${nets_from_file}" = "" ]; then @@ -6996,6 +7105,27 @@ function validate_enterprise_jtr_file() { return 0 } +#Validate if given file has a valid pmkid hashcat format +function validate_pmkid_hashcat_file() { + + debug_print + + echo + readarray -t HASHCAT_LINES_TO_VALIDATE < <(cat "${1}" 2> /dev/null) + + for item in "${HASHCAT_LINES_TO_VALIDATE[@]}"; do + if [[ ! "${item}" =~ ^[a-zA-Z0-9]{32}\*[a-zA-Z0-9]{12}\*.*$ ]]; then + language_strings "${language}" 676 "red" + language_strings "${language}" 115 "read" + return 1 + fi + done + + language_strings "${language}" 675 "blue" + language_strings "${language}" 115 "read" + return 0 +} + #Validate if given file has a valid enterprise hashcat format function validate_enterprise_hashcat_file() { @@ -7040,9 +7170,9 @@ function aircrack_dictionary_attack_option() { debug_print - manage_asking_for_captured_file "personal" "aircrack" + manage_asking_for_captured_file "personal_handshake" "aircrack" - if ! select_wpa_bssid_target_from_captured_file "${enteredpath}"; then + if ! select_wpa_bssid_target_from_captured_file "${enteredpath}" "pmkid_allowed"; then return fi @@ -7060,9 +7190,9 @@ function aircrack_bruteforce_attack_option() { debug_print - manage_asking_for_captured_file "personal" "aircrack" + manage_asking_for_captured_file "personal_handshake" "aircrack" - if ! select_wpa_bssid_target_from_captured_file "${enteredpath}"; then + if ! select_wpa_bssid_target_from_captured_file "${enteredpath}" "pmkid_allowed"; then return fi @@ -7136,14 +7266,18 @@ function hashcat_dictionary_attack_option() { manage_asking_for_captured_file "${1}" "hashcat" - if [ "${1}" = "personal" ]; then - if ! select_wpa_bssid_target_from_captured_file "${enteredpath}"; then + if [ "${1}" = "personal_handshake" ]; then + if ! select_wpa_bssid_target_from_captured_file "${enteredpath}" "only_handshake"; then return fi if ! convert_cap_to_hashcat_format; then return fi + elif [ "${1}" = "personal_pmkid" ]; then + if ! validate_pmkid_hashcat_file "${hashcatpmkidenteredpath}"; then + return + fi else if ! validate_enterprise_hashcat_file "${hashcatenterpriseenteredpath}"; then return @@ -7166,14 +7300,18 @@ function hashcat_bruteforce_attack_option() { manage_asking_for_captured_file "${1}" "hashcat" - if [ "${1}" = "personal" ]; then - if ! select_wpa_bssid_target_from_captured_file "${enteredpath}"; then + if [ "${1}" = "personal_handshake" ]; then + if ! select_wpa_bssid_target_from_captured_file "${enteredpath}" "only_handshake"; then return fi if ! convert_cap_to_hashcat_format; then return fi + elif [ "${1}" = "personal_pmkid" ]; then + if ! validate_pmkid_hashcat_file "${hashcatpmkidenteredpath}"; then + return + fi else if ! validate_enterprise_hashcat_file "${hashcatenterpriseenteredpath}"; then return @@ -7203,14 +7341,18 @@ function hashcat_rulebased_attack_option() { manage_asking_for_captured_file "${1}" "hashcat" - if [ "${1}" = "personal" ]; then - if ! select_wpa_bssid_target_from_captured_file "${enteredpath}"; then + if [ "${1}" = "personal_handshake" ]; then + if ! select_wpa_bssid_target_from_captured_file "${enteredpath}" "only_handshake"; then return fi if ! convert_cap_to_hashcat_format; then return fi + elif [ "${1}" = "personal_pmkid" ]; then + if ! validate_pmkid_hashcat_file "${hashcatpmkidenteredpath}"; then + return + fi else if ! validate_enterprise_hashcat_file "${hashcatenterpriseenteredpath}"; then return @@ -7262,9 +7404,12 @@ function manage_hashcat_pot() { hashcat_potpath="${default_save_path}" local multiple_users=0 - if [ "${1}" = "personal" ]; then + if [ "${1}" = "personal_handshake" ]; then hashcatpot_filename="hashcat-${bssid}.txt" [[ $(cat "${tmpdir}${hashcat_pot_tmp}") =~ .+:(.+)$ ]] && hashcat_key="${BASH_REMATCH[1]}" + elif [ "${1}" = "personal_pmkid" ]; then + hashcatpot_filename="hashcat-pmkid.txt" + [[ $(cat "${tmpdir}${hashcat_pot_tmp}") =~ .+:(.+)$ ]] && hashcat_key="${BASH_REMATCH[1]}" else if [[ $(wc -l "${tmpdir}${hashcat_pot_tmp}" 2> /dev/null | awk '{print $1}') -gt 1 ]]; then multiple_users=1 @@ -7297,7 +7442,7 @@ function manage_hashcat_pot() { echo "" } >> "${potenteredpath}" - if [ "${1}" = "personal" ]; then + if [ "${1}" = "personal_handshake" ]; then { echo "BSSID: ${bssid}" } >> "${potenteredpath}" @@ -8202,8 +8347,12 @@ function exec_hashcat_dictionary_attack() { debug_print - if [ "${1}" = "personal" ]; then + if [ "${1}" = "personal_handshake" ]; then hashcat_cmd="hashcat -m 2500 -a 0 \"${tmpdir}${hashcat_tmp_file}\" \"${DICTIONARY}\" --potfile-disable -o \"${tmpdir}${hashcat_pot_tmp}\"${hashcat_cmd_fix} | tee \"${tmpdir}${hashcat_output_file}\" ${colorize}" + elif [ "${1}" = "personal_pmkid" ]; then + tmpfiles_toclean=1 + rm -rf "${tmpdir}hctmp"* > /dev/null 2>&1 + hashcat_cmd="hashcat -m 16800 -a 0 \"${hashcatpmkidenteredpath}\" \"${DICTIONARY}\" --potfile-disable -o \"${tmpdir}${hashcat_pot_tmp}\"${hashcat_cmd_fix} | tee \"${tmpdir}${hashcat_output_file}\" ${colorize}" else tmpfiles_toclean=1 rm -rf "${tmpdir}hctmp"* > /dev/null 2>&1 @@ -8218,8 +8367,12 @@ function exec_hashcat_bruteforce_attack() { debug_print - if [ "${1}" = "personal" ]; then + if [ "${1}" = "personal_handshake" ]; then hashcat_cmd="hashcat -m 2500 -a 3 \"${tmpdir}${hashcat_tmp_file}\" ${charset} --increment --increment-min=${minlength} --increment-max=${maxlength} --potfile-disable -o \"${tmpdir}${hashcat_pot_tmp}\"${hashcat_cmd_fix} | tee \"${tmpdir}${hashcat_output_file}\" ${colorize}" + elif [ "${1}" = "personal_pmkid" ]; then + tmpfiles_toclean=1 + rm -rf "${tmpdir}hctmp"* > /dev/null 2>&1 + hashcat_cmd="hashcat -m 16800 -a 3 \"${hashcatpmkidenteredpath}\" ${charset} --increment --increment-min=${minlength} --increment-max=${maxlength} --potfile-disable -o \"${tmpdir}${hashcat_pot_tmp}\"${hashcat_cmd_fix} | tee \"${tmpdir}${hashcat_output_file}\" ${colorize}" else tmpfiles_toclean=1 rm -rf "${tmpdir}hctmp"* > /dev/null 2>&1 @@ -8234,8 +8387,12 @@ function exec_hashcat_rulebased_attack() { debug_print - if [ "${1}" = "personal" ]; then + if [ "${1}" = "personal_handshake" ]; then hashcat_cmd="hashcat -m 2500 -a 0 \"${tmpdir}${hashcat_tmp_file}\" \"${DICTIONARY}\" -r \"${RULES}\" --potfile-disable -o \"${tmpdir}${hashcat_pot_tmp}\"${hashcat_cmd_fix} | tee \"${tmpdir}${hashcat_output_file}\" ${colorize}" + elif [ "${1}" = "personal_pmkid" ]; then + tmpfiles_toclean=1 + rm -rf "${tmpdir}hctmp"* > /dev/null 2>&1 + hashcat_cmd="hashcat -m 16800 -a 0 \"${hashcatpmkidenteredpath}\" \"${DICTIONARY}\" -r \"${RULES}\" --potfile-disable -o \"${tmpdir}${hashcat_pot_tmp}\"${hashcat_cmd_fix} | tee \"${tmpdir}${hashcat_output_file}\" ${colorize}" else tmpfiles_toclean=1 rm -rf "${tmpdir}hctmp"* > /dev/null 2>&1 @@ -10901,14 +11058,14 @@ function convert_cap_to_hashcat_format() { fi } -#Handshake tools menu -function handshake_tools_menu() { +#Handshake/PMKID tools menu +function handshake_pmkid_tools_menu() { debug_print clear language_strings "${language}" 120 "title" - current_menu="handshake_tools_menu" + current_menu="handshake_pmkid_tools_menu" initialize_menu_and_print_selections echo language_strings "${language}" 47 "green" @@ -10919,6 +11076,7 @@ function handshake_tools_menu() { language_strings "${language}" 56 language_strings "${language}" 49 language_strings "${language}" 124 "separator" + language_strings "${language}" 663 pmkid_dependencies[@] language_strings "${language}" 121 print_simple_separator language_strings "${language}" 122 clean_handshake_dependencies[@] @@ -10942,9 +11100,12 @@ function handshake_tools_menu() { explore_for_targets_option "WPA" ;; 5) - capture_handshake + capture_pmkid_handshake "pmkid" ;; 6) + capture_pmkid_handshake "handshake" + ;; + 7) if contains_element "${handshake_option}" "${forbidden_options[@]}"; then forbidden_menu_option else @@ -10956,7 +11117,7 @@ function handshake_tools_menu() { ;; esac - handshake_tools_menu + handshake_pmkid_tools_menu } #Execute the cleaning of a Handshake file @@ -11181,8 +11342,8 @@ function capture_handshake_evil_twin() { fi } -#Capture Handshake on Handshake tools -function capture_handshake() { +#Capture Handshake on Handshake/PMKID tools +function capture_pmkid_handshake() { debug_print @@ -11209,7 +11370,11 @@ function capture_handshake() { language_strings "${language}" 126 "yellow" language_strings "${language}" 115 "read" - dos_handshake_menu + if [ "${1}" = "handshake" ]; then + dos_handshake_menu + else + launch_pmkid_capture + fi } #Check if file exists @@ -11275,6 +11440,10 @@ function validate_path() { enteredpath="${pathname}${standardhandshake_filename}" suggested_filename="${standardhandshake_filename}" ;; + "pmkid") + enteredpath="${pathname}${standardpmkid_filename}" + suggested_filename="${standardpmkid_filename}" + ;; "aircrackpot") suggested_filename="${aircrackpot_filename}" aircrackpotenteredpath+="${aircrackpot_filename}" @@ -11443,6 +11612,14 @@ function read_path() { read_and_clean_path "filetoclean" check_file_exists "${filetoclean}" ;; + "pmkid") + language_strings "${language}" 674 "green" + read_and_clean_path "enteredpath" + if [ -z "${enteredpath}" ]; then + enteredpath="${pmkidpath}" + fi + validate_path "${enteredpath}" "${1}" + ;; "dictionary") language_strings "${language}" 180 "green" read_and_clean_path "DICTIONARY" @@ -11453,6 +11630,11 @@ function read_path() { read_and_clean_path "enteredpath" check_file_exists "${enteredpath}" ;; + "targethashcatpmkidfilefordecrypt") + language_strings "${language}" 188 "green" + read_and_clean_path "hashcatpmkidenteredpath" + check_file_exists "${hashcatpmkidenteredpath}" + ;; "targethashcatenterprisefilefordecrypt") language_strings "${language}" 188 "green" read_and_clean_path "hashcatenterpriseenteredpath" @@ -11580,7 +11762,7 @@ function dos_handshake_menu() { debug_print - if [ "${return_to_handshake_tools_menu}" -eq 1 ]; then + if [ "${return_to_handshake_pmkid_tools_menu}" -eq 1 ]; then return fi @@ -11694,7 +11876,7 @@ function launch_handshake_capture() { echo language_strings "${language}" 149 "blue" language_strings "${language}" 115 "read" - return_to_handshake_tools_menu=1 + return_to_handshake_pmkid_tools_menu=1 else echo language_strings "${language}" 146 "red" @@ -11727,6 +11909,49 @@ function capture_handshake_window() { fi } +#Launch the PMKID capture window +function launch_pmkid_capture() { + + debug_print + + ask_timeout "capture_pmkid" + rm -rf "${tmpdir}target.txt" > /dev/null 2>&1 + echo "${bssid//:}" > "${tmpdir}target.txt" + + echo + language_strings "${language}" 671 "yellow" + language_strings "${language}" 115 "read" + echo + language_strings "${language}" 325 "blue" + + rm -rf "${tmpdir}pmkid"* > /dev/null 2>&1 + recalculate_windows_sizes + manage_output "+j -sb -rightbar -bg \"#000000\" -fg \"#FFC0CB\" -geometry ${g1_topright_window} -T \"Capturing PMKID\"" "timeout -s SIGTERM ${timeout_capture_pmkid} hcxdumptool -i ${interface} --enable_status=1 --filterlist=${tmpdir}target.txt --filtermode=2 -o ${tmpdir}pmkid.pcapng" "Capturing PMKID" "active" + wait_for_process "timeout -s SIGTERM ${timeout_capture_pmkid} hcxdumptool -i ${interface} --enable_status=1 --filterlist=${tmpdir}target.txt --filtermode=2 -o ${tmpdir}pmkid.pcapng" "Capturing PMKID" + + if hcxpcaptool -z "${tmpdir}${standardpmkid_filename}" "${tmpdir}pmkid.pcapng" | grep -q "PMKID(s) written" 2> /dev/null; then + pmkidpath="${default_save_path}" + pmkidfilename="pmkid-${bssid}.txt" + pmkidpath="${pmkidpath}${pmkidfilename}" + + language_strings "${language}" 162 "yellow" + validpath=1 + while [[ "${validpath}" != "0" ]]; do + read_path "pmkid" + done + + cp "${tmpdir}${standardpmkid_filename}" "${enteredpath}" + + echo + language_strings "${language}" 673 "blue" + language_strings "${language}" 115 "read" + else + echo + language_strings "${language}" 672 "red" + language_strings "${language}" 115 "read" + fi +} + #Manage target exploration and parse the output files function explore_for_targets_option() { @@ -12993,7 +13218,18 @@ function set_hashcat_parameters() { fi } -#Determine john the ripper +#Determine aircrack version +#shellcheck disable=SC2034 +function get_aircrack_version() { + + debug_print + + aircrack_version=$(aircrack-ng --help | grep -i "aircrack-ng" | head -n 1 | awk '{print $2}') + echo -e " \r\033[1A" + [[ ${aircrack_version} =~ ^([0-9]{1,2}\.[0-9]{1,2})\.?([0-9]+|.+)? ]] && aircrack_version="${BASH_REMATCH[1]}" +} + +#Determine john the ripper version #shellcheck disable=SC2034 function get_jtr_version() { @@ -13108,6 +13344,17 @@ function validate_wash_dualscan_version() { return 1 } +#Validate if hashcat version is able to perform pmkid cracking +function validate_hashcat_pmkid_version() { + + debug_print + + if compare_floats_greater_or_equal "${hashcat_version}" "${minimum_hashcat_pmkid_version}"; then + return 0 + fi + return 1 +} + #Set the script folder var if necessary function set_script_paths() { @@ -15045,7 +15292,7 @@ function remove_warnings() { debug_print echo "${clean_handshake_dependencies[@]}" > /dev/null 2>&1 - echo "${aircrack_attacks_dependencies[@]}" > /dev/null 2>&1 + echo "${aircrack_crunch_attacks_dependencies[@]}" > /dev/null 2>&1 echo "${aireplay_attack_dependencies[@]}" > /dev/null 2>&1 echo "${mdk_attack_dependencies[@]}" > /dev/null 2>&1 echo "${hashcat_attacks_dependencies[@]}" > /dev/null 2>&1 @@ -15065,6 +15312,7 @@ function remove_warnings() { echo "${john_attacks_dependencies[@]}" > /dev/null 2>&1 echo "${johncrunch_attacks_dependencies[@]}" > /dev/null 2>&1 echo "${enterprise_certificates_dependencies[@]}" > /dev/null 2>&1 + echo "${pmkid_dependencies[@]}" > /dev/null 2>&1 echo "${is_arm}" > /dev/null 2>&1 } diff --git a/binaries/arch/airgeddon-git-10.01-1-any.pkg.tar.xz b/binaries/arch/airgeddon-git-10.01-1-any.pkg.tar.xz deleted file mode 100644 index 55cbeb1de..000000000 Binary files a/binaries/arch/airgeddon-git-10.01-1-any.pkg.tar.xz and /dev/null differ diff --git a/binaries/arch/airgeddon-git-10.10-1-any.pkg.tar.xz b/binaries/arch/airgeddon-git-10.10-1-any.pkg.tar.xz new file mode 100644 index 000000000..568471a0e Binary files /dev/null and b/binaries/arch/airgeddon-git-10.10-1-any.pkg.tar.xz differ diff --git a/binaries/kali/airgeddon_10.01-1_all.deb b/binaries/kali/airgeddon_10.01-1_all.deb deleted file mode 100644 index 7168b1a74..000000000 Binary files a/binaries/kali/airgeddon_10.01-1_all.deb and /dev/null differ diff --git a/binaries/kali/airgeddon_10.10-1_all.deb b/binaries/kali/airgeddon_10.10-1_all.deb new file mode 100644 index 000000000..17b1d54d9 Binary files /dev/null and b/binaries/kali/airgeddon_10.10-1_all.deb differ diff --git a/imgs/wiki/airgeddon_scrs1.png b/imgs/wiki/airgeddon_scrs1.png index 3e172d1b8..83f892bf7 100644 Binary files a/imgs/wiki/airgeddon_scrs1.png and b/imgs/wiki/airgeddon_scrs1.png differ diff --git a/imgs/wiki/airgeddon_scrs11.png b/imgs/wiki/airgeddon_scrs11.png new file mode 100644 index 000000000..4d52191c2 Binary files /dev/null and b/imgs/wiki/airgeddon_scrs11.png differ diff --git a/imgs/wiki/airgeddon_scrs2.png b/imgs/wiki/airgeddon_scrs2.png index 8cfca35eb..e32837752 100644 Binary files a/imgs/wiki/airgeddon_scrs2.png and b/imgs/wiki/airgeddon_scrs2.png differ diff --git a/imgs/wiki/airgeddon_scrs3.png b/imgs/wiki/airgeddon_scrs3.png index 5333eb9f0..dfce461fb 100644 Binary files a/imgs/wiki/airgeddon_scrs3.png and b/imgs/wiki/airgeddon_scrs3.png differ diff --git a/known_pins.db b/known_pins.db index 10ff916d7..b347c4f9a 100644 --- a/known_pins.db +++ b/known_pins.db @@ -489,6 +489,7 @@ function set_pin_database() { PINDB["F83DFF"]="25905892 49531046" PINDB["F86394"]="12345670" PINDB["F87F35"]="12345670" + PINDB["F87F39"]="12345670" PINDB["F88B37"]="92997233" PINDB["F88B86"]="12345670" PINDB["F88E85"]="49385052 12715657 66131533 96567111 18811728 19117652 16035232 20172527 64868653 16259553 18836486" diff --git a/language_strings.sh b/language_strings.sh index 2a61796fd..aa727c4e8 100644 --- a/language_strings.sh +++ b/language_strings.sh @@ -10,7 +10,7 @@ function set_language_strings_version() { debug_print - language_strings_version="10.01-1" + language_strings_version="10.10-1" } #Set different language text strings @@ -2298,53 +2298,53 @@ function language_strings() { arr["GERMAN",118]="4. DoS-Angriffsmenü" arr["TURKISH",118]="4. DoS attacks menüsü" - arr["ENGLISH",119]="5. Handshake tools menu" - arr["SPANISH",119]="5. Menú de herramientas Handshake" - arr["FRENCH",119]="5. Menu des outils pour Handshake" - arr["CATALAN",119]="5. Menú d'eines Handshake" - arr["PORTUGUESE",119]="5. Menu ferramentas Handshake" - arr["RUSSIAN",119]="5. Меню инструментов для работы с рукопожатием" - arr["GREEK",119]="5. Μενού εργαλειών Χειραψίας" - arr["ITALIAN",119]="5. Menù degli strumenti Handshake" - arr["POLISH",119]="5. Menu narzędzi Handshake" - arr["GERMAN",119]="5. Handshake-Tools-Menü" - arr["TURKISH",119]="5. Handshake araçları menüsü" - - arr["ENGLISH",120]="Handshake tools menu" - arr["SPANISH",120]="Menú de herramientas Handshake" - arr["FRENCH",120]="Menu des outils pour Handshake" - arr["CATALAN",120]="Menú d'eines Handshake" - arr["PORTUGUESE",120]="Menu de ferramentas Handshake" - arr["RUSSIAN",120]="Меню инструментов для работы с рукопожатием" - arr["GREEK",120]="Μενού εργαλειών Χειραψίας" - arr["ITALIAN",120]="Menù degli strumenti Handshake" - arr["POLISH",120]="Menu narzędzi Handshake" - arr["GERMAN",120]="Handshake-Tools-Menü" - arr["TURKISH",120]="Handshake araçları menüsü" - - arr["ENGLISH",121]="5. Capture Handshake" - arr["SPANISH",121]="5. Capturar Handshake" - arr["FRENCH",121]="5. Capture du Handshake" - arr["CATALAN",121]="5. Captura Handshake" - arr["PORTUGUESE",121]="5. Capturar Handshake" - arr["RUSSIAN",121]="5. Захват рукопожатия" - arr["GREEK",121]="5. Καταγράψτε την Χειραψία" - arr["ITALIAN",121]="5. Catturare Handshake" - arr["POLISH",121]="5. Przechwyć Handshake" - arr["GERMAN",121]="5. Handshake ergreifen" - arr["TURKISH",121]="5. Handshake yakala" - - arr["ENGLISH",122]="6. Clean/optimize Handshake file" - arr["SPANISH",122]="6. Limpiar/optimizar fichero de Handshake" - arr["FRENCH",122]="6. Laver/optimiser le fichier Handshake" - arr["CATALAN",122]="6. Netejar/optimitzar fitxer de Handshake" - arr["PORTUGUESE",122]="6. Limpar arquivo/otimizar Handshake" - arr["RUSSIAN",122]="6. Очистка/оптимизация файла рукопожатия" - arr["GREEK",122]="6. Καθαρισμός/βελτιστοποίηση του αρχείου Χειραψίας" - arr["ITALIAN",122]="6. Pulire/ottimizzare file Handshake" - arr["POLISH",122]="6. Oczyść/zoptymalizuj plik Handshake" - arr["GERMAN",122]="6. Handshake-Datei bereinigen/optimieren" - arr["TURKISH",122]="6. Handshake dosyalarını Temizle/Optimize et" + arr["ENGLISH",119]="5. Handshake/PMKID tools menu" + arr["SPANISH",119]="5. Menú de herramientas Handshake/PMKID" + arr["FRENCH",119]="5. Menu des outils pour Handshake/PMKID" + arr["CATALAN",119]="5. Menú d'eines Handshake/PMKID" + arr["PORTUGUESE",119]="5. Menu de ferramentas Handshake/PMKID" + arr["RUSSIAN",119]="5. Меню инструментов для работы с рукопожатием/PMKID" + arr["GREEK",119]="5. Μενού εργαλειών χειραψίας/PMKID" + arr["ITALIAN",119]="5. Menù degli strumenti Handshake/PMKID" + arr["POLISH",119]="5. Menu narzędzi Handshake/PMKID" + arr["GERMAN",119]="5. Handshake/PMKID-Tools-Menü" + arr["TURKISH",119]="5. Handshake/PMKID araçları menüsü" + + arr["ENGLISH",120]="Handshake/PMKID tools menu" + arr["SPANISH",120]="Menú de herramientas Handshake/PMKID" + arr["FRENCH",120]="Menu des outils pour Handshake/PMKID" + arr["CATALAN",120]="Menú d'eines Handshake/PMKID" + arr["PORTUGUESE",120]="Menu de ferramentas Handshake/PMKID" + arr["RUSSIAN",120]="Меню инструментов для работы с рукопожатием/PMKID" + arr["GREEK",120]="Μενού εργαλειών χειραψίας/PMKID" + arr["ITALIAN",120]="Menù degli strumenti Handshake/PMKID" + arr["POLISH",120]="Menu narzędzi Handshake/PMKID" + arr["GERMAN",120]="Handshake/PMKID-Tools-Menü" + arr["TURKISH",120]="Handshake/PMKID araçları menüsü" + + arr["ENGLISH",121]="6. Capture Handshake" + arr["SPANISH",121]="6. Capturar Handshake" + arr["FRENCH",121]="6. Capture du Handshake" + arr["CATALAN",121]="6. Captura Handshake" + arr["PORTUGUESE",121]="6. Capturar Handshake" + arr["RUSSIAN",121]="6. Захват рукопожатия" + arr["GREEK",121]="6. Καταγράψτε την Χειραψία" + arr["ITALIAN",121]="6. Catturare Handshake" + arr["POLISH",121]="6. Przechwyć Handshake" + arr["GERMAN",121]="6. Handshake ergreifen" + arr["TURKISH",121]="6. Handshake yakala" + + arr["ENGLISH",122]="7. Clean/optimize Handshake file" + arr["SPANISH",122]="7. Limpiar/optimizar fichero de Handshake" + arr["FRENCH",122]="7. Laver/optimiser le fichier Handshake" + arr["CATALAN",122]="7. Netejar/optimitzar fitxer de Handshake" + arr["PORTUGUESE",122]="7. Limpar arquivo/otimizar Handshake" + arr["RUSSIAN",122]="7. Очистка/оптимизация файла рукопожатия" + arr["GREEK",122]="7. Καθαρισμός/βελτιστοποίηση του αρχείου Χειραψίας" + arr["ITALIAN",122]="7. Pulire/ottimizzare file Handshake" + arr["POLISH",122]="7. Oczyść/zoptymalizuj plik Handshake" + arr["GERMAN",122]="7. Handshake-Datei bereinigen/optimieren" + arr["TURKISH",122]="7. Handshake dosyalarını Temizle/Optimize et" arr["ENGLISH",123]="If the password for the wifi network is obtained with the WPS attack, you should decide where to save it. ${green_color}Type the path to store the file or press [Enter] to accept the default proposal ${normal_color}[${wps_potpath}]" arr["SPANISH",123]="Si se consigue la contraseña de la red wifi con el ataque WPS, hay que decidir donde guardarla. ${green_color}Escribe la ruta donde guardaremos el fichero o pulsa [Enter] para aceptar la propuesta por defecto ${normal_color}[${wps_potpath}]" @@ -2394,16 +2394,16 @@ function language_strings() { arr["GERMAN",126]="Sie haben ein gültiges WPA/WPA2-Zielnetzwerk ausgewählt. Das Skript kann fortfahren..." arr["TURKISH",126]="Geçerli bir WPA/WPA2 hedef ağı seçtiniz. Yazılım devam edebilir..." - arr["ENGLISH",127]="The natural order to proceed in this menu is usually: 1-Select wifi card 2-Put it in monitor mode 3-Select target network 4-Capture Handshake" - arr["SPANISH",127]="El orden natural para proceder en este menú suele ser: 1-Elige tarjeta wifi 2-Ponla en modo monitor 3-Elige red objetivo 4-Captura Handshake" - arr["FRENCH",127]="La marche à suivre est généralement: 1-Selectionner la carte wifi 2-Activer le mode moniteur 3-Choisir un réseau cible 4-Capturer le Handshake" - arr["CATALAN",127]="L'ordre natural per procedir a aquest menú sol ser: 1-Tria targeta wifi 2-Posa-la en mode monitor 3-Tria xarxa objectiu 4-Captura Handshake" - arr["PORTUGUESE",127]="A ordem normal para esse menu é: 1-Escolha de uma interface wifi 2-colocar interface wifi no modo monitor 3-Selecionar uma rede 4-Capturar Handshake" - arr["RUSSIAN",127]="Естественный порядок работы в этом меню: 1-Выбрать wifi карту 2-Перевести её в режим монитора 3-Выбрать целевую сеть 4-Захватить рукопожатие" - arr["GREEK",127]="Η σειρά εντολών για να προχωρήσετε σε αυτό το μενού είναι συνήθως: 1-Επιλέξτε κάρτα wifi 2-Βάλτε την σε κατάσταση παρακολούθησης 3-Επιλέξτε δίκτυο-στόχος 4-Καταγράψτε την Χειραψία" - arr["ITALIAN",127]="L'ordine naturale per procedere in questo menú di solito è: 1-Seleziona la scheda wifi 2-Mettila in modalità monitor 3-Seleziona rete obiettivo 4-Cattura Handshake" - arr["POLISH",127]="Naturalnym sposobem kontynuowania w tym menu jest zazwyczaj: 1-Wybierz kartę wifi 2-Włącz tryb monitorowania 3-Wybierz sieć docelową 4-Przechwyć Handshake" - arr["GERMAN",127]="Die natürliche Reihenfolge, um in diesem Menü fortzufahren, ist normalerweise: 1-Wählen Sie die WLAN-Karte 2-Setzen Sie sie in den monitor-Modus 3-Wählen Sie das Ziel-Netzwerk 4-Handshake ergreifen" + arr["ENGLISH",127]="The natural order to proceed in this menu is usually: 1-Select wifi card 2-Put it in monitor mode 3-Select target network 4-Capture Handshake/PMKID" + arr["SPANISH",127]="El orden natural para proceder en este menú suele ser: 1-Elige tarjeta wifi 2-Ponla en modo monitor 3-Elige red objetivo 4-Captura Handshake/PMKID" + arr["FRENCH",127]="La marche à suivre est généralement: 1-Selectionner la carte wifi 2-Activer le mode moniteur 3-Choisir un réseau cible 4-Capturer le Handshake/PMKID" + arr["CATALAN",127]="L'ordre natural per procedir a aquest menú sol ser: 1-Tria targeta wifi 2-Posa-la en mode monitor 3-Tria xarxa objectiu 4-Captura Handshake/PMKID" + arr["PORTUGUESE",127]="A ordem normal para esse menu é: 1-Escolha de uma interface wifi 2-colocar interface wifi no modo monitor 3-Selecionar uma rede 4-Capturar o Handshake/PMKID" + arr["RUSSIAN",127]="Обычный порядок работы в этом меню: 1-Выбрать wifi карту 2-Перевести её в режим монитора 3-Выбрать целевую сеть 4-Захватить рукопожатие/PMKID" + arr["GREEK",127]="Η σειρά εντολών για να προχωρήσετε σε αυτό το μενού είναι συνήθως: 1-Επιλέξτε κάρτα wifi 2-Βάλτε την σε monitor mode 3-Επιλέξτε δίκτυο-στόχος 4-Καταγράψτε την Χειραψία/PMKID" + arr["ITALIAN",127]="L'ordine naturale per procedere in questo menú di solito è: 1-Seleziona la scheda wifi 2-Mettila in modalità monitor 3-Seleziona rete obiettivo 4-Cattura Handshake/PMKID" + arr["POLISH",127]="Naturalnym sposobem kontynuowania w tym menu jest zazwyczaj: 1-Wybierz kartę wifi 2-Włącz tryb monitorowania 3-Wybierz sieć docelową 4-Przechwyć Handshake/PMKID" + arr["GERMAN",127]="Die natürliche Reihenfolge, um in diesem Menü fortzufahren, ist normalerweise: 1-Wählen Sie die WLAN-Karte 2-Setzen Sie sie in den monitor-Modus 3-Wählen Sie das Ziel-Netzwerk 4-Handshake/PMKID ergreifen" arr["TURKISH",127]="Normal olarak izlemeniz gereken yol: 1-Wifi kartı seç 2-İzleme modunu aç 3-Hedef ağ seç 4-Handshake yakala" arr["ENGLISH",128]="Select a wifi card to work in order to be able to do more actions than with an ethernet interface" @@ -2502,17 +2502,17 @@ function language_strings() { arr["GERMAN",135]="Verschlüsselungsart: ${pink_color}${enc}${normal_color}" arr["TURKISH",135]="Şifreleme tipi: ${pink_color}${enc}${normal_color}" - arr["ENGLISH",136]="Obtaining a Handshake is only for networks with encryption WPA or WPA2" - arr["SPANISH",136]="La obtención de un Handshake es solo para redes con encriptación WPA o WPA2" - arr["FRENCH",136]="L'obtention d'un Handshake est seulement possible sur des réseaux protégés par chiffrement WPA ou WPA2" - arr["CATALAN",136]="L'obtenció d'un Handshake és només per a xarxes amb encriptació WPA o WPA2" - arr["PORTUGUESE",136]="A obtenção de um Handshake só é possível em redes com criptografia WPA ou WPA2" - arr["RUSSIAN",136]="Получение рукопожатия только для сетей с шифрованием WPA или WPA2" - arr["GREEK",136]="Η απόκτηση μιας Χειραψίας ισχύει μόνο σε δίκτυα με κρυπτογράφηση WPA ή WPA2" - arr["ITALIAN",136]="Ottenere un Handshake è possibile solo per le reti con crittografia WPA o WPA2" - arr["POLISH",136]="Przechwytywanie Handshake dotyczy tylko sieci z szyfrowaniem WPA lub WPA2" - arr["GERMAN",136]="Das Erhalten eines Handshakes ist nur für Netzwerke mit WPA oder WPA2-Verschlüsselung möglich" - arr["TURKISH",136]="Bir Handshake Edinme sadece WPA veya WPA2 şifrelemeli ağlar içindir" + arr["ENGLISH",136]="Only some networks are vulnerable to PMKID capturing. For this they must have activated roaming features like 802.11r" + arr["SPANISH",136]="Solo algunas redes son vulnerables a la captura de un paquete que contenga un PMKID. Para ello han de tener activadas características de roaming como el 802.11r" + arr["FRENCH",136]="Seulement certains réseaux sont vulnérables à la capture d'un paquet contenant un PMKID. Pour ce faire, ils doivent avoir activé l'itinérance des fonctionnalités telles que 802.11r" + arr["CATALAN",136]="Només algunes xarxes són vulnerables a la captura d'un paquet que contingui un PMKID. Per això han de tenir activades característiques de roaming com el 802.11r" + arr["PORTUGUESE",136]="Apenas algumas redes são vulneráveis a captura de um pacote contendo um PMKID. Para isso o recurso de roaming deve estar ativado, como 802.11r" + arr["RUSSIAN",136]="Только некоторые сети уязвимы для захвата пакета, содержащего PMKID. Для этой уязвимости в них должны быть активированы функции роуминга, такая как 802.11r" + arr["GREEK",136]="Μόνο ορισμένα δίκτυα είναι ευάλωτα στη σύλληψη ενός πακέτου που περιέχει PMKID. Για να γίνει αυτό θα πρέπει να έχετε ενεργοποιήσει τα features περιαγωγής όπως 802.11r" + arr["ITALIAN",136]="Solo alcune reti sono vulnerabili alla cattura di un pacchetto contenente un PMKID. Per fare questo devono aver attivato features di roaming come 802.11r" + arr["POLISH",136]="Tylko niektóre sieci są podatne na przechwytywanie pakietu z PMKID. W tym celu muszą one aktywowane funkcje roamingu takie jak 802.11r" + arr["GERMAN",136]="Nur einige Netzwerke sind für PMKID capture anfällig. Die müssen Roaming-Features wie 802.11r aktiviert haben" + arr["TURKISH",136]="Sadece bazı ağlar bir PMKID içeren bir paket yakalamak için savunmasız. 802.11r özellikleri roaming için etkinleştirilmiş olmalı" arr["ENGLISH",137]="The selected network is invalid. To get a Handshake, encryption type of target network should be WPA or WPA2" arr["SPANISH",137]="La red seleccionada no es válida. Para obtener un Handshake, el tipo de encriptación de la red objetivo debe ser WPA o WPA2" @@ -2934,17 +2934,17 @@ function language_strings() { arr["GERMAN",171]="Die Entschlüsselung erfolgt offline über eine zuvor erfasste Datei" arr["TURKISH",171]="Anahtar şifre çözme işlemi daha önce yakalanan bir dosyada çevrimdışı gerçekleştirilir" - arr["ENGLISH",172]="1. (aircrack) Dictionary attack against capture file" - arr["SPANISH",172]="1. (aircrack) Ataque de diccionario sobre fichero de captura" - arr["FRENCH",172]="1. (aircrack) Attaque de dictionnaire en utilisant le fichier de capture" - arr["CATALAN",172]="1. (aircrack) Atac de diccionari sobre fitxer de captura" - arr["PORTUGUESE",172]="1. (aircrack) Ataque de dicionário em um arquivo de captura" - arr["RUSSIAN",172]="1. (aircrack) Атака по словарю в отношении захваченного файла" - arr["GREEK",172]="1. (aircrack) Επίθεση με χρήση λεξικού σε αρχείο καταγραφής" - arr["ITALIAN",172]="1. (aircrack) Attacco dizionario sul file di cattura" - arr["POLISH",172]="1. (aircrack) Atak słownikowy na plik przechwytywania" - arr["GERMAN",172]="1. (aircrack) Wörterbuchangriff auf der aufgenommene Datei" - arr["TURKISH",172]="1. (aircrack) Yakalanan dosyaya Dictionary saldırısı" + arr["ENGLISH",172]="1. (aircrack) Dictionary attack against Handshake/PMKID capture file" + arr["SPANISH",172]="1. (aircrack) Ataque de diccionario sobre fichero de captura Handshake/PMKID" + arr["FRENCH",172]="1. (aircrack) Attaque de dictionnaire en utilisant le fichier de capture Handshake/PMKID" + arr["CATALAN",172]="1. (aircrack) Atac de diccionari sobre fitxer de captura Handshake/PMKID" + arr["PORTUGUESE",172]="1. (aircrack) Ataque de dicionário em um arquivo de captura Handshake/PMKID" + arr["RUSSIAN",172]="1. (aircrack) Атака по словарю в отношении захваченного файла рукопожатия/PMKID" + arr["GREEK",172]="1. (aircrack) Επίθεση με χρήση λεξικού σε αρχείο καταγραφής Handshake/PMKID" + arr["ITALIAN",172]="1. (aircrack) Attacco dizionario sul file di cattura Handshake/PMKID" + arr["POLISH",172]="1. (aircrack) Atak słownikowy na plik przechwytywania Handshake/PMKID" + arr["GERMAN",172]="${pending_of_translation} 1. (aircrack) Wörterbuchangriff auf der aufgenommene Handshake/PMKID Datei" + arr["TURKISH",172]="${pending_of_translation} 1. (aircrack) Yakalanan Handshake/PMKID dosyaya Dictionary saldırısı" arr["ENGLISH",173]="Selected capture file: ${pink_color}${enteredpath}${normal_color}" arr["SPANISH",173]="Fichero de captura seleccionado: ${pink_color}${enteredpath}${normal_color}" @@ -2970,17 +2970,17 @@ function language_strings() { arr["GERMAN",174]="Anscheinend ist die benutzte bettercap version von airgeddon nicht unterstützt. Die letzte unterstützte bettercap Version ist ${maximum_bettercap_supported_version}. Wenn Sie diesen Angriff beuntzen wollen, sollten Sie ein Downgrade des bettercap-Pakets durchführen. Weitere Informationen finden Sie im Abschnitt Bettercap des Wiki: ${normal_color}${urlgithub_wiki}/Bettercap Tips" arr["TURKISH",174]="airgeddon bettercap sürümününüz desteklenmiyor gibi görünüyor. Son çıkan en iyi desteklenen sürüm ${maximum_bettercap_supported_version}. Bu saldırıyı gerçekleştirmek istiyorsanız, paketin bir sürümünün düşürülmesi gerekir. Daha fazla bilgi için, Wiki'nin Bettercap bölümüne bakın: ${normal_color}${urlgithub_wiki}/Bettercap Tips" - arr["ENGLISH",175]="2. (aircrack + crunch) Bruteforce attack against capture file" - arr["SPANISH",175]="2. (aircrack + crunch) Ataque de fuerza bruta sobre fichero de captura" - arr["FRENCH",175]="2. (aircrack + crunch) Attaque de force brute en utilisant le fichier de capture" - arr["CATALAN",175]="2. (aircrack + crunch) Atac de força bruta sobre fitxer de captura" - arr["PORTUGUESE",175]="2. (aircrack + crunch) Ataque de força bruta em um arquivo de captura" - arr["RUSSIAN",175]="2. (aircrack + crunch) Атака методом грубой силы в отношении захваченного файла" - arr["GREEK",175]="2. (aircrack + crunch) Επίθεση ωμής βίας σε αρχείο καταγραφής" - arr["ITALIAN",175]="2. (aircrack + crunch) Attacco di forza bruta sul file di cattura" - arr["POLISH",175]="2. (aircrack + crunch) Atak brute force na pliku przechwytywania" - arr["GERMAN",175]="2. (aircrack + crunch) Brute-Force-Angriff auf die Capture-Datei" - arr["TURKISH",175]="2. (aircrack + crunch) Yakalama dosyasına karşı bruteforce saldırısı" + arr["ENGLISH",175]="2. (aircrack + crunch) Bruteforce attack against Handshake/PMKID capture file" + arr["SPANISH",175]="2. (aircrack + crunch) Ataque de fuerza bruta sobre fichero de captura Handshake/PMKID" + arr["FRENCH",175]="2. (aircrack + crunch) Attaque de force brute en utilisant le fichier de capture Handshake/PMKID" + arr["CATALAN",175]="2. (aircrack + crunch) Atac de força bruta sobre fitxer de captura Handshake/PMKID" + arr["PORTUGUESE",175]="2. (aircrack + crunch) Ataque de força bruta em um arquivo de captura Handshake/PMKID" + arr["RUSSIAN",175]="2. (aircrack + crunch) Атака методом брут-форса в отношении захваченного файла рукопожатия/PMKID" + arr["GREEK",175]="2. (aircrack + crunch) Επίθεση bruteforce σε αρχείο καταγραφής Handshake/PMKID" + arr["ITALIAN",175]="2. (aircrack + crunch) Attacco di forza bruta sul file di cattura Handshake/PMKID" + arr["POLISH",175]="2. (aircrack + crunch) Atak brute force na plik przechwytywania Handshake/PMKID" + arr["GERMAN",175]="2. (aircrack + crunch) Brute-Force-Angriff auf die Capture-Datei Handshake/PMKID" + arr["TURKISH",175]="2. (aircrack + crunch) Yakalanan Handshake/PMKID dosyasına karşı bruteforce saldırısı" arr["ENGLISH",176]="aircrack CPU, non GPU attacks" arr["SPANISH",176]="ataques aircrack CPU, no GPU" @@ -3006,17 +3006,17 @@ function language_strings() { arr["GERMAN",177]="Ausgewählte erfasste Datei: ${pink_color}Keine${normal_color}" arr["TURKISH",177]="Seçilen yakalanmış dosya: ${pink_color}None${normal_color}" - arr["ENGLISH",178]="To decrypt the key of a WPA/WPA2 network, the capture file must contain a Handshake" - arr["SPANISH",178]="Para descifrar la clave de una red WPA/WPA2, el fichero de captura debe contener un Handshake" - arr["FRENCH",178]="Pour cracker la clé d'un réseau WPA/WPA2 le fichier de capture doit contenir un Handshake" - arr["CATALAN",178]="Per desxifrar la clau d'una xarxa WPA/WPA2 el fitxer de captura ha de contenir un Handshake" - arr["PORTUGUESE",178]="Para descriptografar a senha de uma rede WPA/WPA2, o arquivo de captura deve conter um Handshake" - arr["RUSSIAN",178]="Для расшифровки ключа сетей WPA/WPA2, файл захвата должен содержать четырёхэтапное рукопожатие" - arr["GREEK",178]="Για να αποκρυπτογραφήσετε το κλειδί ενός WPA/WPA2 δικτύου, το αρχείο καταγραφής πρέπει να περιέχει μία Χειραψία" - arr["ITALIAN",178]="Per decriptare la chiave per una rete WPA/WPA2, il file di cattura deve contenere un Handshake" - arr["POLISH",178]="Aby odszyfrować klucz sieci WPA/WPA2, plik przechwytywania musi zawierać Handshake" - arr["GERMAN",178]="Um den Schlüssel eines WPA/WPA2-Netzwerks zu entschlüsseln, muss die Erfassungsdatei einen Handshake enthalten" - arr["TURKISH",178]="WPA/WPA2 ağının şifresini çözmek için, yakalama dosyası bir Handshake içermelidir" + arr["ENGLISH",178]="To decrypt the key of a WPA/WPA2 network, the capture file must contain a Handshake/PMKID" + arr["SPANISH",178]="Para descifrar la clave de una red WPA/WPA2, el fichero de captura debe contener un Handshake/PMKID" + arr["FRENCH",178]="Pour cracker la clé d'un réseau WPA/WPA2 le fichier de capture doit contenir un Handshake/PMKID" + arr["CATALAN",178]="Per desxifrar la clau d'una xarxa WPA/WPA2 el fitxer de captura ha de contenir un Handshake/PMKID" + arr["PORTUGUESE",178]="Para descriptografar a senha de uma rede WPA/WPA2, o arquivo de captura deve conter um Handshake/PMKID" + arr["RUSSIAN",178]="Для расшифровки ключа сетей WPA/WPA2, файл захвата должен содержать четырёхэтапное рукопожатие/PMKID" + arr["GREEK",178]="Για να αποκρυπτογραφήσετε το κλειδί ενός WPA/WPA2 δικτύου, το αρχείο καταγραφής πρέπει να περιέχει μία Χειραψία/PMKID" + arr["ITALIAN",178]="Per decriptare la chiave per una rete WPA/WPA2, il file di cattura deve contenere un Handshake/PMKID" + arr["POLISH",178]="Aby odszyfrować klucz sieci WPA/WPA2, plik przechwytywania musi zawierać Handshake/PMKID" + arr["GERMAN",178]="Um den Schlüssel eines WPA/WPA2-Netzwerks zu entschlüsseln, muss die Erfassungsdatei einen Handshake/PMKID enthalten" + arr["TURKISH",178]="WPA/WPA2 ağının şifresini çözmek için, yakalama dosyası bir Handshake/PMKID içermelidir" arr["ENGLISH",179]="Decrypting by bruteforce, it could pass hours, days, weeks or even months to take it depending on the complexity of the password and your processing speed" arr["SPANISH",179]="Descifrando por fuerza bruta, podrían pasar horas, días, semanas o incluso meses hasta conseguirlo dependiendo de la complejidad de la contraseña y de tu velocidad de proceso" @@ -3630,41 +3630,41 @@ function language_strings() { arr["GERMAN",229]="CPU-hashcat-Angriffe, keine GPUs" arr["TURKISH",229]="hashcat CPU, GPU olmayan saldırılar" - arr["ENGLISH",230]="3. (hashcat) Dictionary attack against capture file" - arr["SPANISH",230]="3. (hashcat) Ataque de diccionario sobre fichero de captura" - arr["FRENCH",230]="3. (hashcat) Attaque de dictionnaire en utilisant le fichier de capture" - arr["CATALAN",230]="3. (hashcat) Atac de diccionari sobre fitxer de captura" - arr["PORTUGUESE",230]="3. (hashcat) Ataque com dicionário em um handshake" - arr["RUSSIAN",230]="3. (hashcat) Атака по словарю в отношению захваченного файла" - arr["GREEK",230]="3. (hashcat) Επίθεση με χρήση λεξικού σε αρχείο καταγραφής" - arr["ITALIAN",230]="3. (hashcat) Attacco di dizionario sul file di cattura" - arr["POLISH",230]="3. (hashcat) Atak słownikowy na plik przechwytywania" - arr["GERMAN",230]="3. (hashcat) Wörterbuchangriff auf die Aufnahmedatei" - arr["TURKISH",230]="3. (hashcat) Yakalama dosyasına karşı sözlük saldırısı" - - arr["ENGLISH",231]="4. (hashcat) Bruteforce attack against capture file" - arr["SPANISH",231]="4. (hashcat) Ataque de fuerza bruta sobre fichero de captura" - arr["FRENCH",231]="4. (hashcat) Attaque de force brute en utilisant le fichier de capture" - arr["CATALAN",231]="4. (hashcat) Atac de força bruta sobre fitxer de captura" - arr["PORTUGUESE",231]="4. (hashcat) Ataque de força bruta em um handshake" - arr["RUSSIAN",231]="4. (hashcat) Атака рукопожатия полным перебором" - arr["GREEK",231]="4. (hashcat) Επίθεση ωμής βίας σε αρχείο καταγραφής" - arr["ITALIAN",231]="4. (hashcat) Attacco di forza bruta sul file di cattura" - arr["POLISH",231]="4. (hashcat) Atak brute force na plik przechwytywania" - arr["GERMAN",231]="4. (hashcat) Brute-Force-Angriff auf die Capture-Datei" - arr["TURKISH",231]="4. (hashcat) Yakalama dosyasına karşı bruteforce saldırısı" - - arr["ENGLISH",232]="5. (hashcat) Rule based attack against capture file" - arr["SPANISH",232]="5. (hashcat) Ataque basado en reglas sobre fichero de captura" - arr["FRENCH",232]="5. (hashcat) Attaque fondé sur des règles en utilisant le fichier de capture" - arr["CATALAN",232]="5. (hashcat) Atac basat en regles sobre el fitxer de captura" - arr["PORTUGUESE",232]="5. (hashcat) Ataque baseado em regras em um arquivo handshake" - arr["RUSSIAN",232]="5. (hashcat) Атака на основе правила в отношении захваченного файла" - arr["GREEK",232]="5. (hashcat) Επίθεση κανόνων σε αρχείο καταγραφής" - arr["ITALIAN",232]="5. (hashcat) Attacco basato su regole contro il file di cattura" - arr["POLISH",232]="5. (hashcat) Atak bazujący na regułach na plik przechwytywania" - arr["GERMAN",232]="5. (hashcat) Regeln-basierender Angriff gegen der Capture-Datei" - arr["TURKISH",232]="5. (hashcat) Yakalama dosyasına karşı kural tabanlı saldırı" + arr["ENGLISH",230]="3. (hashcat) Dictionary attack against Handshake capture file" + arr["SPANISH",230]="3. (hashcat) Ataque de diccionario sobre fichero de captura Handshake" + arr["FRENCH",230]="3. (hashcat) Attaque de dictionnaire en utilisant le fichier de capture Handshake" + arr["CATALAN",230]="3. (hashcat) Atac de diccionari sobre fitxer de captura Handshake" + arr["PORTUGUESE",230]="3. (hashcat) Ataque com dicionário em um Handshake" + arr["RUSSIAN",230]="3. (hashcat) Атака по словарю в отношению захваченного файла рукопожатия" + arr["GREEK",230]="3. (hashcat) Επίθεση με χρήση λεξικού σε αρχείο καταγραφής Handshake" + arr["ITALIAN",230]="3. (hashcat) Attacco di dizionario sul file di cattura Handshake" + arr["POLISH",230]="3. (hashcat) Atak słownikowy na plik przechwytywania Handshake" + arr["GERMAN",230]="3. (hashcat) Wörterbuchangriff auf die Aufnahmedatei Handshake" + arr["TURKISH",230]="3. (hashcat) Yakalanan Handshake dosyasına karşı sözlük saldırısı" + + arr["ENGLISH",231]="4. (hashcat) Bruteforce attack against Handshake capture file" + arr["SPANISH",231]="4. (hashcat) Ataque de fuerza bruta sobre fichero de captura Handshake" + arr["FRENCH",231]="4. (hashcat) Attaque de force brute en utilisant le fichier de capture Handshake" + arr["CATALAN",231]="4. (hashcat) Atac de força bruta sobre fitxer de captura Handshake" + arr["PORTUGUESE",231]="4. (hashcat) Ataque de força bruta em um Handshake" + arr["RUSSIAN",231]="4. (hashcat) Атака брут-форсом в отношении захваченного файла рукопожатия" + arr["GREEK",231]="4. (hashcat) Επίθεση bruteforce σε αρχείο καταγραφής Handshake" + arr["ITALIAN",231]="4. (hashcat) Attacco di forza bruta sul file di cattura Handshake" + arr["POLISH",231]="4. (hashcat) Atak brute force na plik przechwytywania Handshake" + arr["GERMAN",231]="4. (hashcat) Brute-Force-Angriff auf die Capture-Handshake-Datei" + arr["TURKISH",231]="4. (hashcat) Yakalanan Handshake dosyasına karşı bruteforce saldırısı" + + arr["ENGLISH",232]="5. (hashcat) Rule based attack against Handshake capture file" + arr["SPANISH",232]="5. (hashcat) Ataque basado en reglas sobre fichero de captura Handshake" + arr["FRENCH",232]="5. (hashcat) Attaque fondé sur des règles en utilisant le fichier de capture Handshake" + arr["CATALAN",232]="5. (hashcat) Atac basat en regles sobre el fitxer de captura Handshake" + arr["PORTUGUESE",232]="5. (hashcat) Ataque baseado em regras em um arquivo Handshake" + arr["RUSSIAN",232]="5. (hashcat) Атака на основе правил в отношении захваченного файла рукопожатия" + arr["GREEK",232]="5. (hashcat) Επίθεση rule based σε αρχείο καταγραφής Handshake" + arr["ITALIAN",232]="5. (hashcat) Attacco basato su regole contro il file di cattura Handshake" + arr["POLISH",232]="5. (hashcat) Atak na plik przechwytywania Handshake bazujący na regułach" + arr["GERMAN",232]="5. (hashcat) Regeln-basierender Angriff gegen der Capture-Handshake-Datei" + arr["TURKISH",232]="5. (hashcat) Yakalanan Handshake dosyasına karşı kural tabanlı saldırı" arr["ENGLISH",233]="Type the path to store the file or press [Enter] to accept the default proposal ${normal_color}[${hashcat_potpath}]" arr["SPANISH",233]="Escribe la ruta donde guardaremos el fichero o pulsa [Enter] para aceptar la propuesta por defecto ${normal_color}[${hashcat_potpath}]" @@ -3966,7 +3966,7 @@ function language_strings() { arr["GERMAN",257]="mit sniffing" arr["TURKISH",257]="sniffing ile" - arr["ENGLISH",258]="If you use the attack without sniffing, just AP, you'll can use any external to script sniffer software" + arr["ENGLISH",258]="If you use the attack without sniffing, just the AP, you can use any external sniffer script" arr["SPANISH",258]="Si utilizas el ataque sin sniffing, solo AP, podrás usar cualquier programa sniffer externo al script" arr["FRENCH",258]="Si vous lancez l'attaque sans capture des données (Rogue AP) vous pouvez utiliser un programme externe pour les capturer" arr["CATALAN",258]="Si utilitzes l'atac sense sniffing, només AP, podràs fer servir qualsevol programa sniffer extern a l'script" @@ -8085,14 +8085,14 @@ function language_strings() { arr["ENGLISH",601]="Selected file has an invalid hashcat enterprise hashes format" arr["SPANISH",601]="El fichero seleccionado no tiene un formato válido de hashes enterprise para hashcat" arr["FRENCH",601]="Le fichier sélectionné n'a pas un format de hashes d'enterprise valide pour hashcat" - arr["CATALAN",601]="El fitxer seleccionat no té un format vàlid de hashes enterprise per hashcat" + arr["CATALAN",601]="El fitxer seleccionat no té un format vàlid de hash enterprise per hashcat" arr["PORTUGUESE",601]="O arquivo selecionado não possui um formato de hashes enterprise válidas para o hashcat" arr["RUSSIAN",601]="Выбранный файл имеет недопустимый формат хеша enterprise для hashcat" arr["GREEK",601]="Το επιλεγμένο αρχείο δεν έχει έγκυρο hashcat enterprise hash format" arr["ITALIAN",601]="Il file selezionato non ha un hash valido in formato enterprise per hashcat" arr["POLISH",601]="Wybrany plik ma nieprawidłowy format hash korporacyjnego dla hashcat" arr["GERMAN",601]="Die ausgewählte Datei hat kein gültiges Enterprise-Hashformat für hashcat" - arr["TURKISH",601]="Seçilen dosyanın geçersiz bir hashcat kuruluş karma biçimi var" + arr["TURKISH",601]="${pending_of_translation} Seçilen dosya hashcat için geçerli bir enterprise hashes biçimine sahip değil" arr["ENGLISH",602]="Selected file has a valid hashcat enterprise hashes format" arr["SPANISH",602]="El fichero seleccionado tiene un formato válido de hashes enterprise para hashcat" @@ -8819,13 +8819,217 @@ function language_strings() { arr["FRENCH",662]="Une seule interface supplémentaire a etait détectée qui peut être utilisée. Il a etait sélectionnée automatiquement" arr["CATALAN",662]="Només s'ha detectat una interfície addicional capaç de ser utilitzada. S'ha seleccionat automàticament" arr["PORTUGUESE",662]="Somente uma interface adicional pode ser usada. Ela foi selecionada automaticamente" - arr["RUSSIAN",662]="${pending_of_translation} Только один дополнительный интерфейс в состоянии быть использовано обнаружено. Выбран автоматически" + arr["RUSSIAN",662]="Удалось обнаружить только один дополнительный интерфейс. Выбран автоматически" arr["GREEK",662]="Η μοναδική διεπαφή μου μπορούσε να εντοπιστεί, επιλέχθηκε αυτόματα" arr["ITALIAN",662]="È stata rilevata solo un'interfaccia aggiuntiva che può essere utilizzata. È stata selezionata automaticamente" - arr["POLISH",662]="${pending_of_translation} Tylko jeden dodatkowy interfejs może być używany wykryte. Wybrany automatycznie" + arr["POLISH",662]="Wykryto tylko jeden dodatkowy interfejs, który może być używany. Wybrano automatycznie" arr["GERMAN",662]="Nur eine zusätzliche benutzbare Interface wurde erkannt. Automatisch ausgewählt" arr["TURKISH",662]="Kullanılabilir tek bir ek arayüz bulundu. Otomatik seçim" + arr["ENGLISH",663]="5. Capture PMKID" + arr["SPANISH",663]="5. Capturar PMKID" + arr["FRENCH",663]="5. Capture du PMKID" + arr["CATALAN",663]="5. Captura PMKID" + arr["PORTUGUESE",663]="5. Capturar PMKID" + arr["RUSSIAN",663]="5. Захват PMKID" + arr["GREEK",663]="5. Σύλληψη PMKID" + arr["ITALIAN",663]="5. Catturare PMKID" + arr["POLISH",663]="5. Przechwyć PMKID" + arr["GERMAN",663]="5. PMKID ergreifen" + arr["TURKISH",663]="5. PMKID yakala" + + arr["ENGLISH",664]="It is possible to obtain PMKIDs from clientless WPA/WPA2-PSK networks" + arr["SPANISH",664]="Es posible obtener PMKIDs de redes WPA/WPA2-PSK sin clientes" + arr["FRENCH",664]="Il est possible d'obtenir PMKIDs du WPA/WPA2-PSK réseaux sans clients" + arr["CATALAN",664]="És possible obtenir PMKIDs de xarxes WPA/WPA2-PSK sense clients" + arr["PORTUGUESE",664]="É possível obter PMKIDs de redes WPA/WPA2-PSK sem clientes" + arr["RUSSIAN",664]="Можно получить PMKID от WPA/WPA2-PSK сети без клиентов" + arr["GREEK",664]="Είναι δυνατόν να ληφθούν PMKIDs από clientless δίκτυα WPA/WPA2-PSK" + arr["ITALIAN",664]="È possibile ottenere PMKIDs da reti WPA/WPA2-PSK senza clienti" + arr["POLISH",664]="Jest możliwe uzyskanie PMKIDs z sieci WPA/WPA2-PSK bez podłączonych klientów" + arr["GERMAN",664]="Es ist möglich, PMKIDs von Clientless WPA/WPA2-PSK Netzwerken zu erhalten" + arr["TURKISH",664]="Clientless WPA/WPA2-PSK ağlarından PMKIDs elde etmek mümkündür" + + arr["ENGLISH",665]="In WPA/WPA2-PSK networks you can crack either PMKIDs or Handshakes to obtain the network passphrase" + arr["SPANISH",665]="En las redes WPA/WPA2-PSK, pueden crackearse ya sean PMKIDs o Handshakes para obtener la contraseña de red" + arr["FRENCH",665]="Dans les réseaux WPA/WPA2-PSK vous pouvez cracker du PMKIDs ou Handshakes pour obtenir le mot de passe du réseau" + arr["CATALAN",665]="A les xarxes WPA/WPA2-PSK, pot esquerdar ja sigui PMKIDs o Handshakes per obtenir la contrasenya de xarxa" + arr["PORTUGUESE",665]="Nas redes WPA/WPA2-PSK, é possível obter a senha de Handshakes ou PMKIDs" + arr["RUSSIAN",665]="Для получения пароля, в WPA/WPA2-PSK сети вы можете взломать либо PMKID или рукопожатия" + arr["GREEK",665]="Σε δίκτυα WPA/WPA2-PSK μπορείτε να κάνετε crack είτε PMKIDs είτε Handshakes για την απόκτηση passphrase του δικτύου" + arr["ITALIAN",665]="Nelle reti WPA/WPA2-PSK, si possono craccare sia PMKIDs che Handshakes per ottenere la password della rete" + arr["POLISH",665]="Aby uzyskać hasło sieciowe w sieciach WPA/WPA2-PSK można złamać PMKIDs lub Handshake" + arr["GERMAN",665]="In WPA/WPA2-PSK Netzwerken können Sie entweder PMKIDs oder Handshakes knacken um das Netzwerk Passwort zu erhalten" + arr["TURKISH",665]="WPA/WPA2-PSK ağlarda ağ parolasını elde etmek ya PMKIDs veya Handshake kırılabilir" + + arr["ENGLISH",666]="After capturing a Handshake or a PMKID, you can try to decrypt it on the offline WPA/WPA2 decrypt menu selecting \"Personal\" submenu" + arr["SPANISH",666]="Si capturas un Handshake o un PMKID, puedes intentar descifrarlo en el menú de descifrado WPA/WPA2 offline eligiendo el submenú de tipo \"Personal\"" + arr["FRENCH",666]="Si vous capturez une Handshake ou un PMKID, vous pouvez essayer du déchiffrer sur le menu décryptage WPA/WPA2 en choisissant le sous-menu de type \"Personnel\"" + arr["CATALAN",666]="Si captures un Handshake o PMKID, pots intentar desxifrar al menú de desxifrat WPA/WPA2 offline triant el submenú de tipus \"Personal\"" + arr["PORTUGUESE",666]="Depois de capturar um Handshake ou um PMKID, você pode tentar descriptografá-lo no menu de descriptografia WPA/WPA2 offline, selecionando o submenu \"Personal\"" + arr["RUSSIAN",666]="Если захвата рукопожатия или PMKID, вы можете попытаться расшифровать их в меню автономной расшифровки WPA/WPA2, выбрав в подменю тип \"Personal\"" + arr["GREEK",666]="Αν έχετε συλλάβει ένα Handshake ή ένα PMKID, μπορείτε να προσπαθήσετε να το αποκρυπτογραφήσετε στο offline WPA/WPA2 μενού αποκρυπτογράφησης επιλέγοντας το υπομενού \"Personal\"" + arr["ITALIAN",666]="Se catturi un handshake o un PMKID, puoi provare a decifrarlo nel menu di decifratura WPA/WPA2 offline scegliendo il sottomenú di tipo \"Personal\"" + arr["POLISH",666]="Po przechwyceniu Handshake lub PMKID, można spróbować je złamać w menu deszyfrowania WPA/WPA2 w trybie offline, wybierając podmenu typu \"Osobiste\"" + arr["GERMAN",666]="Nachdem der Handshake oder ein PMKID aufgenommen worden ist, können Sie versuchen, ihn offline zu entschlüsseln WPA/WPA2 durch Untermenü \"Persönlich\"" + arr["TURKISH",666]="Bir Handshake veya PMKID yakaladıktan sonra, onu kırmak için offline WPA/WPA2 deşifre menüsünün altında \"Kisisel\" seçin" + + arr["ENGLISH",667]="It has been detected that you have installed an old aircrack version. No problem if you plan to crack a Handshake, but bear in mind that to crack PMKID is needed ${aircrack_pmkid_version} as a minimum version of aircrack. Otherwise PMKID will not be detected" + arr["SPANISH",667]="Se ha detectado una versión antigua de aircrack. No hay problema si planeas descifrar un Handshake, pero hay que tener en cuenta para descifrar PMKID se requiere como mínimo la versión ${aircrack_pmkid_version} de aircrack. De lo contrario el PMKID no será detectado" + arr["FRENCH",667]="Une ancienne version de aircrack a été détectée. Pas de problème si vous prévoyez de décrypter une Handshake, mais si vous voulez décrypter un PMKID, au moins la version ${aircrack_pmkid_version} de aircrack est nécessaire. Sinon, le PMKID ne sera pas détecté" + arr["CATALAN",667]="S'ha detectat una versió antiga d'aircrack. Cap problema si planeges desxifrar un Handshake, però cal tenir en compte que per desxifrar PMKID es requereix com a mínim la versió ${aircrack_pmkid_version} de aircrack. En cas contrari el PMKID no serà detectat" + arr["PORTUGUESE",667]="Uma versão antiga do aircrack foi detectada. Não há problema se você planeja descriptografar um Handshake, mas é necessário levar em consideração para descriptografar um PMKID, é necessário pelo menos a versão ${aircrack_pmkid_version} do aircrack. Caso contrário o PMKID não será detectado" + arr["RUSSIAN",667]="Было обнаружено, что вы установили старую версию Aircrack. Нет проблем, если вы планируете взломать Рукопожатие, но имейте в виду, что для взлома PMKID требуется как минимум версия ${aircrack_pmkid_version}. В противном случае PMKID не будет распознано" + arr["GREEK",667]="Έχει εντοπιστεί ότι έχετε εγκαταστήσει μια παλιά έκδοση aircrack. Δεν υπάρχει πρόβλημα αν σκοπεύετε να κάνετε crack ένα Handshake, αλλά έχετε κατά νου ότι για να κάνετε crack το PMKID χρειάζεται ${aircrack_pmkid_version} ως ελάχιστη έκδοση. Διαφορετικά το PMKID δεν θα ανιχνεύθει" + arr["ITALIAN",667]="È stata rilevata una vecchia versione di aircrack. Nessun problema se prevedi di craccare un Handshake, ma considera che per craccare PMKID, è richiesta almeno la versione ${aircrack_pmkid_version} di aircrack. Altrimenti il PMKID non verrà rilevato" + arr["POLISH",667]="Wykryto zainstalowaną starą wersję aircrack. Nie ma problemu, jeśli masz zamiar złamać Handshake, ale należy pamiętać, że do złamania PMKID jest potrzebna minimamlnie wersja ${aircrack_pmkid_version}. W przeciwnym wypadku nie zostanie wykryte PMKID" + arr["GERMAN",667]="Es wurde festgestellt, dass Sie eine alte aircrack Version installiert haben. Kein Problem, wenn Sie planen, einen Handshake zu knacken, aber bedenken Sie, dass PMKID zu knacken ist ${aircrack_pmkid_version} als Mindestversion benötigt. Sonst wird PMKID nicht erkannt werden" + arr["TURKISH",667]="Eski bir aircrack sürümünün yüklü olduğunu tespit edildi. Handshake kırmak istiyorsanız bu bir problem değil. PMKID kırmayı planlıyorsanız ${aircrack_pmkid_version} gereklidir. Aksi takdirde PMKID algılanmaz" + + arr["ENGLISH",668]="6. (hashcat) Dictionary attack against PMKID capture file" + arr["SPANISH",668]="6. (hashcat) Ataque de diccionario sobre fichero de captura PMKID" + arr["FRENCH",668]="6. (hashcat) Attaque de dictionnaire en utilisant le fichier de capture PMKID" + arr["CATALAN",668]="6. (hashcat) Atac de diccionari sobre fitxer de captura PMKID" + arr["PORTUGUESE",668]="6. (hashcat) Ataque com dicionário em um PMKID" + arr["RUSSIAN",668]="6. (hashcat) Атака по словарю в отношению захваченного PMKID файла" + arr["GREEK",668]="6. (hashcat) Επίθεση dictionary σε αρχείο καταγραφής PMKID" + arr["ITALIAN",668]="6. (hashcat) Attacco di dizionario sul file di cattura PMKID" + arr["POLISH",668]="6. (hashcat) Atak słownikowy na plik przechwytywania PMKID" + arr["GERMAN",668]="6. (hashcat) Wörterbuchangriff auf die PMKID-Aufnahmedatei" + arr["TURKISH",668]="6. (hashcat) Yakalanan PMKID dosyasına karşı sözlük saldırısı" + + arr["ENGLISH",669]="7. (hashcat) Bruteforce attack against PMKID capture file" + arr["SPANISH",669]="7. (hashcat) Ataque de fuerza bruta sobre fichero de captura PMKID" + arr["FRENCH",669]="7. (hashcat) Attaque de force brute en utilisant le fichier de capture PMKID" + arr["CATALAN",669]="7. (hashcat) Atac de força bruta sobre fitxer de captura PMKID" + arr["PORTUGUESE",669]="7. (hashcat) Ataque de força bruta em um PMKID" + arr["RUSSIAN",669]="7. (hashcat) Атака полным перебором (брут-форсом) на PMKID" + arr["GREEK",669]="7. (hashcat) Επίθεση bruteforce σε αρχείο καταγραφής PMKID" + arr["ITALIAN",669]="7. (hashcat) Attacco di forza bruta sul file di cattura PMKID" + arr["POLISH",669]="7. (hashcat) Atak brute force na plik przechwytywania PMKID" + arr["GERMAN",669]="7. (hashcat) Brute-Force-Angriff auf die Capture-PMKID-Datei" + arr["TURKISH",669]="7. (hashcat) Yakalama PMKID dosyasına karşı bruteforce saldırısı" + + arr["ENGLISH",670]="8. (hashcat) Rule based attack against PMKID capture file" + arr["SPANISH",670]="8. (hashcat) Ataque basado en reglas sobre fichero de captura PMKID" + arr["FRENCH",670]="8. (hashcat) Attaque fondé sur des règles en utilisant le fichier de capture PMKID" + arr["CATALAN",670]="8. (hashcat) Atac basat en regles sobre el fitxer de captura PMKID" + arr["PORTUGUESE",670]="8. (hashcat) Ataque baseado em regras em um arquivo PMKID" + arr["RUSSIAN",670]="8. (hashcat) Атака на основе правила в отношении захваченного PMKID файла" + arr["GREEK",670]="8. (hashcat) Επίθεση rule based σε αρχείο καταγραφής PMKID" + arr["ITALIAN",670]="8. (hashcat) Attacco basato su regole contro il file di cattura PMKID" + arr["POLISH",670]="8. (hashcat) Atak na plik przechwytywania PMKID bazujący na regułach" + arr["GERMAN",670]="8. (hashcat) Regeln-basierender Angriff auf die Capture-PMKID-Datei" + arr["TURKISH",670]="8. (hashcat) Yakalanan PMKID dosyasına karşı kural tabanlı saldırı" + + arr["ENGLISH",671]="Don't close the window manually, script will do when needed. In about ${timeout} seconds maximum you'll know if you've got the PMKID" + arr["SPANISH",671]="No cierres manualmente la ventana, el script lo hará cuando proceda. En unos ${timeout} segundos como máximo sabrás si conseguiste el PMKID" + arr["FRENCH",671]="Ne pas fermer le fenêtre manuellement: Le script le fera automatiquement. Vos saurez dans ${timeout} secondes au plus si avez obtenu le PMKID" + arr["CATALAN",671]="No tanquis manualment la finestra, el script ho farà quan escaigui. En uns ${timeout} segons com a màxim sabràs si vas aconseguir el PMKID" + arr["PORTUGUESE",671]="Não feche a janela manualmente, o script fechará quando necessário. Em cerca de ${timeout} segundos no máximo você vai saber se tem o PMKID" + arr["RUSSIAN",671]="Не закрывайте окно вручную, скрипт сделает это когда нужно. Примерно в максимум ${timeout} секунд вы узнаете, получили ли вы PMKID" + arr["GREEK",671]="Μην κλείνετε χειροκίνητα το παράθυρο, εάν χρειαστεί το script θα το κάνει μόνο του. Σε περίπου ${timeout} δευτερόλεπτα το πολύ θα μάθετε αν αποκτήσατε το PMKID" + arr["ITALIAN",671]="Non chiudere la finestra manualmente, lo script lo fará quando è necessario. In ${timeout} secondi al massimo scoprirai se hai catturato il PMKID" + arr["POLISH",671]="Nie zamykaj okna ręcznie, skrypt zrobi to w razie potrzeby. W ciągu co najwyżej ${timeout} sekund dowiesz się, czy masz PMKID" + arr["GERMAN",671]="Schließen Sie das Fenster nicht manuell, das Skript wird dies bei Bedarf tun. In ungefähr ${timeout} Sekunden werden Sie wissen, ob Sie den PMKID bekommen haben" + arr["TURKISH",671]="Pencereyi manuel olarak kapatmayın, yazılım gerektiğinde yapacaktır. Yaklaşık ${timeout} saniye içinde, PMKID'e sahip olup olmadığınızı bileceksiniz" + + arr["ENGLISH",672]="It seems we failed... try it again, choose another target or increase the timeout. Maybe the access point is not vulnerable" + arr["SPANISH",672]="Parece que no lo hemos conseguido... inténtalo de nuevo, elige otro objetivo o incrementa el timeout. Puede ser que el punto de acceso no sea vulnerable" + arr["FRENCH",672]="Il semble que on a échoué... réessayez, choisissez un autre objectif ou augmentez le timeout. Le point d'accès n'est peut-être pas vulnérable" + arr["CATALAN",672]="Sembla que no ho hem aconseguit... intenta-ho de nou, tria un altre objectiu o incrementa el timeout. Pot ser que el punt d'accés no sigui vulnerable" + arr["PORTUGUESE",672]="Parece que nos falhamos... tente novamente, escolha outro alvo ou aumente o timeout. O ponto de acesso pode não ser vulnerável" + arr["RUSSIAN",672]="Кажется мы потерпели неудачу... попробуйте еще раз, выберите другую цель или увеличьте время ожидания. Также может быть, что точка доступа не уязвима" + arr["GREEK",672]="Φαίνεται πως αποτύχαμε... δοκιμάστε ξανά, επιλέξτε άλλο στόχο ή αυξήστε το timeout. Ίσως το σημείο πρόσβασης να μην είναι ευάλωτο" + arr["ITALIAN",672]="Sembra che abbiamo fallito... riprova, scegli un altro obiettivo o aumenta il timeout. Il punto di accesso potrebbe non essere vulnerabile" + arr["POLISH",672]="Wygląda na to, że się nie udało... spróbuj ponownie, wybierz inny cel lub zwiększ timeout. Byćmoże punkt dostępu nie jest podatny" + arr["GERMAN",672]="Anscheinend haben wir es nicht geschafft... Versuchen Sie es erneut, wählen Sie ein anderes Ziel oder erhöhen Sie das Timeout. Der Zugangspunkt ist möglicherweise nicht anfällig" + arr["TURKISH",672]="Başarısız görünüyoruz... Tekrar deneyin, başka bir hedef seçin veya zaman aşımını artırın. Erişim noktası savunmasız olmayabilir" + + arr["ENGLISH",673]="PMKID file generated successfully at [${normal_color}${enteredpath}${blue_color}]" + arr["SPANISH",673]="Fichero PMKID generado con éxito en [${normal_color}${enteredpath}${blue_color}]" + arr["FRENCH",673]="Le Fichier PMKID a été généré avec succès dans [${normal_color}${enteredpath}${blue_color}]" + arr["CATALAN",673]="Fitxer PMKID generat amb èxit a [${normal_color}${enteredpath}${blue_color}]" + arr["PORTUGUESE",673]="Arquivo PMKID gerado com sucesso [${normal_color}${enteredpath}${blue_color}]" + arr["RUSSIAN",673]="Файл PMKID успешно создан в [${normal_color}${enteredpath}${blue_color}]" + arr["GREEK",673]="Το αρχείο PMKID δημιουργήθηκε επιτυχώς στο [${normal_color}${enteredpath}${blue_color}]" + arr["ITALIAN",673]="File PMKID generato con successo in [${normal_color}${enteredpath}${blue_color}]" + arr["POLISH",673]="Plik PMKID został pomyślnie wygenerowany w [${normal_color}${enteredpath}${blue_color}]" + arr["GERMAN",673]="PMKID-Datei erfolgreich in [${normal_color}${enteredpath}${blue_color}] erstellt" + arr["TURKISH",673]="PMKID dosyası şu hedefte başarıyla oluşturuldu [${normal_color}${enteredpath}${blue_color}]" + + arr["ENGLISH",674]="Type the path to store the file or press [Enter] to accept the default proposal ${normal_color}[${pmkidpath}]" + arr["SPANISH",674]="Escribe la ruta donde guardaremos el fichero o pulsa [Enter] para aceptar la propuesta por defecto ${normal_color}[${pmkidpath}]" + arr["FRENCH",674]="Entrez le chemin où vous voulez enregistrer le fichier ou bien appuyez sur [Enter] pour prendre le chemin proposé par défaut ${normal_color}[${pmkidpath}]" + arr["CATALAN",674]="Escriu la ruta on guardarem el fitxer o prem [Enter] per acceptar la proposta per defecte ${normal_color}[${pmkidpath}]" + arr["PORTUGUESE",674]="Digite o caminho para salvar o arquivo ou pressione [Enter] para o caminho padrão ${normal_color}[${pmkidpath}]" + arr["RUSSIAN",674]="Напечатайте путь, по которому сохранить файл или нажмите [Enter] для принятия предложения по умолчанию ${normal_color}[${pmkidpath}]" + arr["GREEK",674]="Πληκτρολογήστε το μονοπάτι για την αποθήκευση του αρχείου ή πατήστε [Enter] για την προεπιλεγμένη επιλογή ${normal_color}[${pmkidpath}]" + arr["ITALIAN",674]="Scrivere il percorso dove memorizzare il file o premere [Enter] per accettare la proposta di default ${normal_color}[${pmkidpath}]" + arr["POLISH",674]="Wpisz ścieżkę do zapisywania plików lub naciśnij [Enter], aby zaakceptować domyślną propozycję ${normal_color}[${pmkidpath}]" + arr["GERMAN",674]="Schreiben Sie den Pfad, unter dem die Datei gespeichert werden soll, oder drücken Sie die [Enter]-Taste, um den Standardvorschlag ${normal_color}[${pmkidpath}] ${green_color}zu benutzen" + arr["TURKISH",674]="Dosyayı depolamak için yolu yazın veya varsayılan teklifi kabul etmek için [Enter] tuşuna basın ${normal_color}[${pmkidpath}]" + + arr["ENGLISH",675]="Selected file has a valid hashcat PMKID hashes format" + arr["SPANISH",675]="El fichero seleccionado tiene un formato válido de hashes PMKID para hashcat" + arr["FRENCH",675]="Le fichier sélectionné a un format de hashes d'PMKID valide pour hashcat" + arr["CATALAN",675]="El fitxer seleccionat té un format vàlid de hash PMKID per hashcat" + arr["PORTUGUESE",675]="O arquivo selecionado possui um formato de hashes PMKID válidas para o hashcat" + arr["RUSSIAN",675]="Выбранный файл имеет правильный формат хеша PMKID для hashcat" + arr["GREEK",675]="Το επιλεγμένο αρχείο έχει έγκυρο hashcat PMKID hash format" + arr["ITALIAN",675]="Il file selezionato contiene un hash valido in formato PMKID per hashcat" + arr["POLISH",675]="Wybrany plik ma poprawny format hash PMKID dla hashcat" + arr["GERMAN",675]="Die ausgewählte Datei hat ein gültiges PMKID-Hashformat für hashcat" + arr["TURKISH",675]="Seçilen dosyanın geçerli bir hashcat PMKID hash formatı var" + + arr["ENGLISH",676]="Selected file has an invalid hashcat PMKID hashes format" + arr["SPANISH",676]="El fichero seleccionado no tiene un formato válido de hashes PMKID para hashcat" + arr["FRENCH",676]="Le fichier sélectionné n'a pas un format de hashes d'PMKID valide pour hashcat" + arr["CATALAN",676]="El fitxer seleccionat no té un format vàlid de hash PMKID per hashcat" + arr["PORTUGUESE",676]=" O arquivo selecionado não possui um formato de hashes PMKID válidas para o hashcat" + arr["RUSSIAN",676]="Выбранный файл имеет недопустимый формат хеша PMKID для hashcat" + arr["GREEK",676]="Το επιλεγμένο αρχείο δεν έχει έγκυρο hashcat PMKID hash format" + arr["ITALIAN",676]="Il file selezionato non contiene un hash valido in formato PMKID per hashcat" + arr["POLISH",676]="Wybrany plik ma nieprawidłowy format hash PMKID dla hashcat" + arr["GERMAN",676]="Die ausgewählte Datei hat kein gültiges PMKID-Hashformat für hashcat" + arr["TURKISH",676]="Seçilen dosya hashcat için geçerli bir PMKID hash formatına sahip değil" + + arr["ENGLISH",677]="You already have selected a capture file during this session [${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["SPANISH",677]="Ya tienes seleccionado un fichero de captura en esta sesión [${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["FRENCH",677]="Vous avez déjà sélectionné un fichier de capture pour cette session ${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["CATALAN",677]="Ja tens seleccionat un fitxer de captura en aquesta sessió [${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["PORTUGUESE",677]="Você selecionou um arquivo de captura nesta sessão [${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["RUSSIAN",677]="Вы уже выбрали файл захвата во время этой сессии [${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["GREEK",677]="Έχετε ήδη επιλέξει αρχείο καταγραφής κατά τη διάρκεια της συνεδρίας [${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["ITALIAN",677]="È stato selezionato un file di cattura in questa sessione [${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["POLISH",677]="W tej sesji wybrano już plik przechwytywania [${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["GERMAN",677]="Sie haben bereits eine Capture-Datei in dieser Sitzung ausgewählt [${normal_color}${hashcatpmkidenteredpath}${blue_color}]" + arr["TURKISH",677]="Bu oturumda zaten bir yakalama dosyası seçtiniz [${normal_color} ${hashcatpmkidenteredpath}${blue_color}]" + + arr["ENGLISH",678]="You have hashcat installed (v${hashcat_version}). You meet the version requirement to perform PMKID hashcat attack (minimum version v${minimum_hashcat_pmkid_version}). Script can continue..." + arr["SPANISH",678]="Tienes hashcat instalado (v${hashcat_version}). Cumples con el requisito de versión para realizar el ataque PMKID con hashcat (versión minima v${minimum_hashcat_pmkid_version}). El script puede continuar..." + arr["FRENCH",678]="Hashcat est installé (v${hashcat_version}). Cette version est compatible avec l'attaque PMKID (version minimale: ${minimum_hashcat_pmkid_version}). Le script peut continuer..." + arr["CATALAN",678]="Tens hashcat instal·lat (v${hashcat_version}). Compleixes amb el requisit de versió per a realitzar l'atac PMKID integrat amb hashcat (versió mínima v${minimum_hashcat_pmkid_version}). El script pot continuar..." + arr["PORTUGUESE",678]="Você tem o hashcat instalado (v${hashcat_version}). Você cumpre a exigência de versão para o ataque PMKID com hashcat (versão mínima v${minimum_hashcat_pmkid_version}). O script pode continuar..." + arr["RUSSIAN",678]="У вас установлен hashcat (v${hashcat_version}). Версия удовлетворяет требованиям для выполнения интегрированной в hashcat атаки PMKID (минимальная версия v${minimum_hashcat_pmkid_version}). Скрипт может продолжить работу..." + arr["GREEK",678]="Έχετε εγκατεστημένο το hashcat (v${hashcat_version}). Έχετε την απαιτούμενη έκδοση για να εκτελέσετε επίθεση PMKID hashcat (ελάχιστη έκδοση v${minimum_hashcat_pmkid_version}). Το script μπορεί να συνεχίσει..." + arr["ITALIAN",678]="È stato installato hashcat (v${hashcat_version}). Soddisfi il requisito della versione per realizzare l'attacco PMKID con hashcat (versione minima v${minimum_hashcat_pmkid_version}). Lo script può continuare..." + arr["POLISH",678]="Masz zainstalowany hashcat (v${hashcat_version}). Spełnia on wymagania dotyczące wersji, aby wykonać atak PMKID (wersja minimalna v${minimum_hashcat_pmkid_version}). Skrypt może kontynuować..." + arr["GERMAN",678]="Hashcat ist installiert (v${hashcat_version}). Sie erfüllen die Versionsvoraussetzung, um den PMKID-Angriff auszuführen, der mit Hashcat integriert ist (min Version v${minimum_hashcat_pmkid_version}). Das Skript kann fortfahren..." + arr["TURKISH",678]="Hashcat sisteminizde kurulu (v${hashcat_version}). PMKID hashcat saldırısını gerçekleştirmek için sürüm gereksinimini karşılıyorsunuz (minimum sürüm v${minimum_hashcat_pmkid_version}). Script devam edebilir..." + + arr["ENGLISH",679]="You have hashcat installed (v${hashcat_version}), but not required version. To perform PMKID hashcat attack you must have at least version v${minimum_hashcat_pmkid_version}" + arr["SPANISH",679]="Tienes hashcat instalado (v${hashcat_version}), aunque no la versión requerida. Para realizar el ataque PMKID con hashcat has de tener al menos la versión v${minimum_hashcat_pmkid_version}" + arr["FRENCH",679]="Hashcat est installé (v${hashcat_version}) mais cette version n'est pas compatible avec l'attaque PMKID. Version minimale requise: v${minimum_hashcat_pmkid_version}" + arr["CATALAN",679]="Tens hashcat instal·lat (v${hashcat_version}), encara que no és la versió requerida. Per realitzar l'atac PMKID amb hashcat has de tenir al menys la versió v${minimum_hashcat_pmkid_version}" + arr["PORTUGUESE",679]="Você tem o hashcat instalado (v${hashcat_version}), mas não a versão necessária. Para fazer o ataque PMKID com hashcat você precisa ter pelo menos a versão v${minimum_hashcat_pmkid_version}" + arr["RUSSIAN",679]="У вас установлен hashcat (v${hashcat_version}), это не та версия, которая требуется. Для выполнения интегрированной в hashcat атаки PMKID у вас должна быть по крайней мере v${minimum_hashcat_pmkid_version}" + arr["GREEK",679]="Έχετε εγκατεστημένο το hashcat (v${hashcat_version}), αλλά όχι την απαιτούμενη έκδοση. Για να εκτελέσετε την επίθεση PMKID hashcat θα πρέπει να έχετε τουλάχιστον την έκδοση v${minimum_hashcat_pmkid_version}" + arr["ITALIAN",679]="È stato installato hashcat (v${hashcat_version}), ma non la versione richiesta. Per realizzare l'attacco PMKID con hashcat devi avere almeno la versione v${minimum_hashcat_pmkid_version}" + arr["POLISH",679]="Masz zainstalowany hashcat (v${hashcat_version}), ale nie wymaganą wersję. Aby zrealizować atak PMKID zintegrowany z programem hashcat musisz mieć co najmniej wersję v${minimum_hashcat_pmkid_version}" + arr["GERMAN",679]="Hashcat (v${hashcat_version}) ist installiert, jedoch nicht die erforderliche Version. Um den PMKID-Angriff mit Hashcat zu integrieren, müssen Sie mindestens die Version v${minimum_hashcat_pmkid_version} haben" + arr["TURKISH",679]="Hashcat sisteminizde kurulu (v${hashcat_version}), ancak sürüm uygun değil. PMKID hashcat saldırısını gerçekleştirmek için minimum sürüm olan ${minimum_hashcat_pmkid_version} yüklenmeli" + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" diff --git a/pindb_checksum.txt b/pindb_checksum.txt index a1c1f5452..d4b1d71b6 100644 --- a/pindb_checksum.txt +++ b/pindb_checksum.txt @@ -1 +1 @@ -3ded7d5b2286c60f790f83f2c7987bb8 +3989d0f686097befd8bf3423b7890c04 diff --git a/plugins/missing_dependencies.sh b/plugins/missing_dependencies.sh index 5d2c8907a..825735e93 100644 --- a/plugins/missing_dependencies.sh +++ b/plugins/missing_dependencies.sh @@ -24,8 +24,8 @@ function commands_to_packages() { case "${distro}" in "Kali"|"Parrot") - commands_to_packages_correspondence["ifconfig"]="net-tools" - commands_to_packages_correspondence["iwconfig"]="wireless-tools" + commands_to_packages_correspondence["hcxpcaptool"]="hcxtools" + commands_to_packages_correspondence["hcxdumptool"]="hcxdumptool" commands_to_packages_correspondence["iw"]="iw" commands_to_packages_correspondence["awk"]="gawk" commands_to_packages_correspondence["airmon-ng"]="aircrack-ng" @@ -71,8 +71,8 @@ function commands_to_packages() { commands_to_packages_correspondence["xset"]="x11-xserver-utils" ;; "BlackArch") - commands_to_packages_correspondence["ifconfig"]="net-tools" - commands_to_packages_correspondence["iwconfig"]="wireless_tools" + commands_to_packages_correspondence["hcxpcaptool"]="hcxtools" + commands_to_packages_correspondence["hcxdumptool"]="hcxdumptool" commands_to_packages_correspondence["iw"]="iw" commands_to_packages_correspondence["awk"]="gawk" commands_to_packages_correspondence["airmon-ng"]="aircrack-ng" @@ -206,7 +206,7 @@ function missing_dependencies_text() { } #Posthook for check_compatibity function to install missing dependencies -#shellcheck disable=SC2154 +#shellcheck disable=SC2154,SC2086 function missing_dependencies_posthook_check_compatibility() { if [[ ${essential_toolsok} -ne 1 ]] || [[ ${optional_toolsok} -ne 1 ]] || [[ ${update_toolsok} -ne 1 ]]; then @@ -262,12 +262,12 @@ function missing_dependencies_posthook_check_compatibility() { local resultok=0 case "${distro}" in "Kali"|"Parrot") - if apt update > /dev/null 2>&1 && apt -y install "${missing_packages_string_clean}" > /dev/null 2>&1; then + if apt update > /dev/null 2>&1 && apt -y install ${missing_packages_string_clean} > /dev/null 2>&1; then resultok=1 fi ;; "BlackArch") - if pacman -Sy > /dev/null 2>&1 && pacman --noconfirm -S "${missing_packages_string_clean}" > /dev/null 2>&1; then + if pacman -Sy > /dev/null 2>&1 && pacman --noconfirm -S ${missing_packages_string_clean} > /dev/null 2>&1; then resultok=1 fi ;;