
Fluxo de trabalho de hacking WiFi com a API do WiFi Pineapple Mark VII
Autor:: TW-D
Versão:: 1.3.7
Copyright:: Copyright (c) 2024 TW-D
Licença:: Distribui sob os mesmos termos que o Ruby
Doc:: https://hak5.github.io/mk7-docs/docs/rest/rest/
Requer:: Ruby >= 2.7.0p0 e WiFi Pineapple Mark VII >= 2.1.0-stable
Instalação (Distribuições Linux Baseadas em Debian)::
sudo apt-get install build-essential curl g++ ruby ruby-dev
sudo gem install net-ssh rest-client tty-progressbar
Biblioteca que permite a automação de operações de ataque ativo ou passivo.
Nota : "Issues" e "Pull Requests" são bem-vindos.
No diretório "./payloads/", você encontrará :
| COMANDO e CONTROLE | Autor | Uso |
|---|---|---|
| Hak5 Key Croc - Recuperação em tempo real de teclas digitadas de um teclado | TW-D | (editar) ruby ./hak5_key-croc.rb |
| Maltronics WiFi Deauther - Spam de quadros beacon | TW-D | (editar) ruby ./maltronics_wifi-deauther.rb |
| DEFESA | Autor | Uso |
|---|---|---|
| Hak5 Pineapple Spotter | TW-D com agradecimentos especiais a @DrSKiZZ, @cribb-it, @barry99705 e @dark_pyrro | (editar) ruby ./hak5-pineapple_spotter.rb |
| DoS | Autor | Uso |
|---|---|---|
| Desautenticação de clientes disponíveis nos pontos de acesso | TW-D | (editar) ruby ./deauthentication-clients.rb |
| EXPLORAÇÃO | Autor | Uso |
|---|---|---|
| Ponto de Acesso Evil WPA | TW-D | (editar) ruby ./evil-wpa_access-point.rb |
| Pontos de Acesso Falsos | TW-D | (editar) ruby ./fake_access-points.rb |
| Handshakes em Massa | TW-D | (editar) ruby ./mass-handshakes.rb |
| Pontos de Acesso Rogue | TW-D | (editar) ruby ./rogue_access-points.rb |
| Pontos de Acesso Gêmeos | TW-D | (editar) ruby ./twin_access-points.rb |
| GERAL | Autor | Uso |
|---|---|---|
| Status do Sistema, Uso de Disco, ... | TW-D | (editar) ruby ./dashboard-stats.rb |
| Interfaces de Rede | TW-D | (editar) ruby ./networking-interfaces.rb |
| Logs do Sistema | TW-D | (editar) ruby ./system-logs.rb |
| RECON | Autor | Uso |
|---|---|---|
| Pontos de Acesso e Clientes em 2.4GHz e 5GHz (com um adaptador suportado) | TW-D | (editar) ruby ./access-points_clients_5ghz.rb |
| Pontos de Acesso e Clientes | TW-D | (editar) ruby ./access-points_clients.rb |
| Endereços MAC dos Pontos de Acesso | TW-D | (editar) ruby ./access-points_mac-addresses.rb |
| Parâmetros Marcados dos Pontos de Acesso | TW-D | (editar) ruby ./access-points_tagged-parameters.rb |
| Mapeamento de Pontos de Acesso e Redes Sem Fio com WiGLE | TW-D | (editar) ruby ./access-points_wigle.rb |
| Endereços MAC dos Clientes | TW-D | (editar) ruby ./clients_mac-addresses.rb |
| Pontos de Acesso ABERTOS | TW-D | (editar) ruby ./open_access-points.rb |
| Pontos de Acesso WEP | TW-D | (editar) ruby ./wep_access-points.rb |
| Pontos de Acesso WPA | TW-D | (editar) ruby ./wpa_access-points.rb |
| Pontos de Acesso WPA2 | TW-D | (editar) ruby ./wpa2_access-points.rb |
| Pontos de Acesso WPA3 | TW-D | (editar) ruby ./wpa3_access-points.rb |
| WARDRIVING | Autor | Uso |
|---|---|---|
| Reconhecimento Contínuo em 2.4GHz e 5GHz (com um adaptador suportado) | TW-D | (editar) ruby ./continuous-recon_5ghz.rb [CTRL+c] |
| Reconhecimento Contínuo para Captura de Handshakes | TW-D | (editar) ruby ./continuous-recon_handshakes.rb [CTRL+c] |
| Reconhecimento Contínuo | TW-D | (editar) ruby ./continuous-recon.rb [CTRL+c] |
#
# Title: <TITLE>
#
# Description: <DESCRIPTION>
#
#
# Author: <AUTHOR>
# Version: <VERSION>
# Category: <CATEGORY>
#
# STATUS
# ======================
# <SHORT-DESCRIPTION> ... SETUP
# <SHORT-DESCRIPTION> ... ATTACK
# <SHORT-DESCRIPTION> ... SPECIAL
# <SHORT-DESCRIPTION> ... FINISH
# <SHORT-DESCRIPTION> ... CLEANUP
# <SHORT-DESCRIPTION> ... OFF
#
require_relative('<PATH-TO>/classes/PineappleMK7.rb')
system_authentication = PineappleMK7::System::Authentication.new
system_authentication.host = "<PINEAPPLE-IP-ADDRESS>"
system_authentication.port = 1471
system_authentication.mac = "<PINEAPPLE-MAC-ADDRESS>"
system_authentication.password = "<ROOT-ACCOUNT-PASSWORD>"
if (system_authentication.login)
led = PineappleMK7::System::LED.new
# SETUP
#
led.setup
#
# [...]
#
# ATTACK
#
led.attack
#
# [...]
#
# SPECIAL
#
led.special
#
# [...]
#
# FINISH
#
led.finish
#
# [...]
#
# CLEANUP
#
led.cleanup
#
# [...]
#
# OFF
#
led.off
end
Nota : Não hesite em se inspirar no diretório de payloads.
system_authentication = PineappleMK7::System::Authentication.new
system_authentication.host = (string) "<PINEAPPLE-IP-ADDRESS>"
system_authentication.port = (integer) 1471
system_authentication.mac = (string) "<PINEAPPLE-MAC-ADDRESS>"
system_authentication.password = (string) "<ROOT-ACCOUNT-PASSWORD>"
system_authentication.login()
led = PineappleMK7::System::LED.new
led.setup()
led.failed()
led.attack()
led.special()
led.cleanup()
led.finish()
led.off()
dashboard_notifications = PineappleMK7::Modules::Dashboard::Notifications.new
dashboard_notifications.clear()
dashboard_stats = PineappleMK7::Modules::Dashboard::Stats.new
dashboard_stats.output()
logging_system = PineappleMK7::Modules::Logging::System.new
logging_system.output()
pineap_clients = PineappleMK7::Modules::PineAP::Clients.new
pineap_clients.connected_clients()
pineap_clients.previous_clients()
pineap_clients.kick( (string) mac )
pineap_clients.clear_previous()
evil_wpa = PineappleMK7::Modules::PineAP::EvilWPA.new
evil_wpa.ssid = (string default:'PineAP_WPA')
evil_wpa.bssid = (string default:'00:13:37:BE:EF:00')
evil_wpa.auth = (string default:'psk2+ccmp')
evil_wpa.password = (string default:'pineapplesareyummy')
evil_wpa.hidden = (boolean default:false)
evil_wpa.enabled = (boolean default:false)
evil_wpa.capture_handshakes = (boolean default:false)
evil_wpa.save()
pineap_filtering = PineappleMK7::Modules::PineAP::Filtering.new
pineap_filtering.client_filter( (string) 'allow' | 'deny' )
pineap_filtering.add_client( (string) mac )
pineap_filtering.clear_clients()
pineap_filtering.ssid_filter( (string) 'allow' | 'deny' )
pineap_impersonation = PineappleMK7::Modules::PineAP::Impersonation.new
pineap_impersonation.output()
pineap_impersonation.add_ssid( (string) ssid )
pineap_impersonation.clear_pool()
open_ap = PineappleMK7::Modules::PineAP::OpenAP.new
open_ap.output()
pineap_settings = PineappleMK7::Modules::PineAP::Settings.new