- The leading rogue access point and WiFi pentest toolkit for close access operations.
- Passive and active attacks analyze vulnerable and misconfigured devices.
- @HAK5
Author:: TW-D
Version:: 1.0.2
Copyright:: Copyright (c) 2021 TW-D
License:: Distributes under the same terms as Ruby
Doc:: https://docs.hak5.org/hc/en-us/articles/360049854174-WiFi-Pineapple-Mark-VII-REST-API
Requires:: ruby >= 2.7.0, rest-client 2.1.0 gem and Pineapple MK7 Firmware 1.0.1
Installation::
sudo apt-get install ruby ruby-dev
sudo gem install rest-client
See/edit/execute the files in the samples/ folder
system = PineappleMK7::System.new()
system.host = (string) "172.16.42.1"
system.host()
system.port = (string) "1471"
system.port()
system.mac = (string) "00:13:37:DD:EE:FF"
system.mac()
system.password = (string) "P@55w0rD"
system.login()
host(), port() and mac() accessors return string
login() method return boolean
Modules
Module Recon methods
recon = PineappleMK7::Modules::Recon
recon.startScan( (integer) time )
recon.getResults( (integer) scanID )
recon.deleteScan( (integer) scanID )
startScan method have scanID() submethod and return integer
getResults method have APResults(), UnassociatedClientResults() and OutOfRangeClientResults() submethods
APResults() submethod return array of objects where object have :
ssid()
bssid()
encryption()
hidden()
wps()
channel()
signal()
clients() -> client_mac(), ap_mac() and ap_channel()
UnassociatedClientResults() submethod return array of objects where object have :
client_mac()
ap_mac()
ap_channel()
OutOfRangeClientResults() submethod return array of objects where object have :
client_mac()
ap_mac()
ap_channel()
Module PineAP methods
pineAP = PineappleMK7::Modules::PineAP
pineAP.enable()
pineAP.startHandshakesCapture( (hash/object) ap )
pineAP.deauthAP( (string) bssid, (integer) channel, (array) clients )
pineAP.deauthClient( (string) bssid, (integer) channel, (string) mac )
pineAP.stopHandshakesCapture()
pineAP.getHandshakes()
pineAP.filterClient( (string "allow" or "deny") mode )
pineAP.filterSSID( (string "allow" or "deny") mode )
pineAP.addSSID( (string) ssid )
pineAP.clearPool()
pineAP.setRogue()
pineAP.getClients()
pineAP.disable()
getHandshakes() method have handshakes() submethod return array of objects where object have :
type()
bssid()
getClients() method return array of objects where object have :
mac()
ip()
hostname()
ssid()
tx_bytes()
rx_bytes()
Module Notifications method
notifications = PineappleMK7::Modules::Notifications
notifications.clearAll()
Module Download method
download = PineappleMK7::Modules::Download
download.handshake( (string) bssid, (string) type, (string) destination )