Merge pull request #13 from xcellerator/gh-pages

Various adjustments, fixes and additions
This commit is contained in:
Marc 2016-02-07 00:14:50 +00:00
commit bb6ae60230
25 changed files with 231 additions and 197 deletions

View File

@ -2,9 +2,12 @@
## Why
Since the Pineapples are prone to attacks, individuals love to sniff the clear-text credentials as you log into the HTTP interface. This quick guide should walk-through users' on how to protect themselves via SSL...
As the WiFi Pineappple has become more popular, it has also become more of a target. By default, the WebUI is served using HTTP which is unencrypted. This means that anyone also connected to the Pineapple over WiFi could sniff the network traffic and possibly be able to determine the authentication details to be able to access the WebUI themselves. A solution to this is to use SSL encryption over the HTTP connection (otherwise known as HTTPS).
## Install Packages
There are a few packages that we will need to install first.
Note: You will need an active internet connection on your Pineapple to perform this step.
```
opkg update
@ -13,13 +16,14 @@ opkg --dest usb install openssl-util
```
## Create config files
Next we need to configure SSL.
```
mkdir -p /etc/ssl/certs
nano /etc/ssl/openssl.cnf
```
example contents openssl.cnf:
Here is an openssl.cnf if you don't want to customize anything:
```
dir = .
@ -92,12 +96,14 @@ subjectKeyIdentifier = hash
```
## Prepare Certificates
Now we begin creating our certificates which will be used in the encryption process.
```
cd /etc/ssl/certs
```
### Make Private Keys
To generate the private SSL keys, issue the following commands:
```
openssl genrsa -aes128 -out server.key 2048
@ -105,24 +111,28 @@ openssl genrsa -aes128 -out ca.key 2048
```
### Remove Password From Private Key
We need to remove the password from our private key for obvious security reasons.
```
openssl rsa -in server.key -out server.key
```
### Generate CA Certificate
The CA certificate will be used to confirm the Pineapple's identity to our browser.
```
openssl req -new -x509 -days 3650 -key ca.key -out ca.pem
```
### Generate Certificate Signing Request
Using our CA certificate we "sign" our private key to confirm that the Pineapple is what we think it is.
```
openssl req -new -key server.key -out server.csr
```
### Self-Signed Certificate
Now we can self-sign our certificate.
```
openssl x509 -req -days 3650 -in server.csr -CA ca.pem -CAkey ca.key -set_serial 01 -out server.pem
@ -131,8 +141,9 @@ openssl x509 -req -days 3650 -in server.csr -CA ca.pem -CAkey ca.key -set_serial
Note: Don't forget to install the self-made CA certificate (ca.pem) into your browsers certificate store.
## Nginx Configuration
Finally we need to edit our Nginx (the web server that runs on the WiFi Pineapple) configuration file.
Change `/etc/nginx/nginx.conf` to:
Enter `nano /etc/nginx/nginx.conf` into the terminal and make the following changes:
```
server {
@ -144,10 +155,12 @@ Change `/etc/nginx/nginx.conf` to:
ssl_ciphers HIGH:!aNULL:!MD5;
```
Note: don't forget to change the certificate and certificate key to as you've named them.
Note: Don't forget to change the certificate and certificate key to whatever you named them in the earlier steps.
Then restart nginx
Now you can restart Nginx with:
```
/etc/init.d/nginx restart
```
```
You should now be able to access your WiFi Pineapple at [https://172.16.42.1:1471](https://172.16.42.1:1471) and log in securely over HTTPS!

22
api.md
View File

@ -2,28 +2,28 @@
## The WiFi Pineapple Mark V Web Interface
The WiFi Pineapple Mark V Web Interface is a dynamic and modular control panel for the WiFi Pineapple. It is mainly made up of modules - known on the Pineapple as infusions. The Web Interface is made up of three major components, listed below.
The WiFi Pineapple Mark V Web Interface is a dynamic and modular control panel for the WiFi Pineapple. It is predominantly made up of modules - known on the Pineapple as "infusions". The Web Interface is made up of three major components, which will be explored in this article.
### The notification bar
The notification bar is located at the top of the Web Interface. It is made up of a notification manager, a clock, the logout button and the view picker. As the name says, the notification bar exists primarily to display notifications to users. Notifications can be sent using either PHP JavaScript or simpily a shell command. More details on this can be found in the API Documentation.
The notification bar is located at the top of the Web Interface. It is made up of a notification manager, a clock, the logout button and the view picker. As the name says, the notification bar exists primarily to display notifications to users. Notifications can be sent using either PHP, JavaScript or BASH. More details on this can be found further down.
![](imgs/api1.png)
### The small tiles
The small tiles are what make up the main visible portion of the Mark V Web Interface. These are widgets to show the current status of each infusion and / or to provide service toggles. Each tile's title can be click to open the corresponding large tiles. Small tiles should be a small view into the infusion.
The small tiles are what make up the main visible portion of the Mark V Web Interface. These are widgets to show the current status of each infusion and/or to provide service toggles. Each tile's title can be clicked on to open the corresponding large tiles. Small tiles should contain less information than the large tiles (hence the name).
![](imgs/api2.png)
### The large tiles
The large tiles are a more in-depth view into each infusion. Large tiles can be used to configure your infusion, view logs or other output, give setup instructions, and much more. Often, the large tile will be divided into tabs to display content in an orderly manner. From firmware version 1.5.0 tabes can be created using a PHP API function.
The large tiles are a more in-depth view into each infusion. Large tiles can be used to configure your infusion, view logs or other outputs, provide setup instructions, and more. Often, the large tile will be divided into tabs to display content in an orderly manner. From firmware version 1.5.0 tabes can be created using a PHP API function.
![](imgs/api3.png)
## WiFi Pineapple Mark V Infusions
The Mark V is expandable through modules, also known as infusions. These modules can be downloaded and installed over-the-air with two clicks from the "Pineapple Bar", a free market place for these modules. Additionally infusions can be created right from the "Pineapple Bar" under the "Bartender" tab. Infusions can be submitted to the [WiFi Pineapple Website](https://wifipineapple.com/) and, if approved, will be available to all Mark V users from the Pineapple Bar.
Infusions can be downloaded and installed over-the-air with two clicks from the "Pineapple Bar", a free market place for these modules. Additionally infusions can be created right from the "Pineapple Bar" under the "Bartender" tab. Infusions can be submitted to the [WiFi Pineapple Website](https://wifipineapple.com/) and, if approved, will be available to all Mark V users from the Pineapple Bar.
![](imgs/api4.png)
@ -31,11 +31,11 @@ The Mark V is expandable through modules, also known as infusions. These modules
There are three different types of Web Interface Infusions:
+ **Standard Web Interface Infusion**: A standard Web Interface Infusion is the simplest of infusions. See the Web Interface Infusion structure below for more details
+ **Standard Web Interface Infusion**: A standard Web Interface Infusion is the simplest of infusions. See the Web Interface Infusion structure below for more details.
+ **Refreshing Web Interface Infusion**: These are the same as standard Web Interface Infusions except that the small tile will refresh every three seconds. This is particularly useful if information is being displayed which is meant to be refreshed. It also means any other code in the small tile is executed every 3 seconds.
+ **Web Interface Infusion with CLI component**: To create a Web Interface Infusion with a CLI component, a normal Web Interface infusion (standard / refreshing) must be created first. Once created, a folder named "executable" must be created inside the root of the infusion. Now, a file named "executable" must be created inside the newly created folder. This file may be an executable of any type the WiFi Pineapple can handle (bash, python, binary executable, etc). It is important to note that the executable file must have executable permissions (`chmod +x`). For more details on CLI infusions and how they work, please see the appropriate section in this document.
+ **Web Interface Infusion with CLI component**: To create a Web Interface Infusion with a CLI component, a normal Web Interface infusion (standard / refreshing) must be created first. Once created, a folder named "executable" must be created inside the root of the infusion. Then, a file named "executable" must be created inside the newly created folder. This file may be an executable of any type the WiFi Pineapple can handle (BASH, Python, PHP, etc. Please note that binary executables are discouraged.). It is important to note that the executable file must have executable permissions (`chmod +x`). For more details on CLI infusions and how they work, please see the appropriate section further down.
### Web Interface Infusion Structure
@ -53,7 +53,7 @@ By default, they are made up of four files:
+ This PHP file should house your PHP functions which you want to use in your infusion.
+ This should be the place you submit any GET or POST requests (using AJAX) to from your large or small tiles.
+ **handler.php**
+ This PHP file is automatically generated and should not be modified unless the infusion version is being changed. This is currently the only way to increment the infusion version and is therefore required when the infusion is being submitted to the WiFi Pineapple Bar through the [WiFi Pineapple Website](https://wifipineapple.com/).
+ This PHP file is automatically generated and should not be modified unless the infusion version is being changed. This is the only way to increment the infusion version and is therefore required when the infusion is being submitted to the WiFi Pineapple Bar through the [WiFi Pineapple Website](https://wifipineapple.com/).
### CLI Only Infusions
@ -62,9 +62,9 @@ CLI Only Infusions do not have a Web Interface frontend. Rather, they are extens
The general structure of a CLI infusion is as follows:
+ **cli_handler.php**
+ This file is automatically generated and should not be modified unless the infusion version is being changed. This is currently the only way to increment the infusion version and is therefore required when the infusion is submitted to the WiFi Pineapple Bar through the [WiFi Pineapple Website](https://wifipineapple.com/).
+ This file is automatically generated and should not be modified unless the infusion version is being changed. This is the only way to increment the infusion version and is therefore required when the infusion is submitted to the WiFi Pineapple Bar through the [WiFi Pineapple Website](https://wifipineapple.com/).
+ **executable/executable**
+ This file is where the actual infusion lives. It may be in the form of an interpreted executable (bash, php, python) or a binary executable. In the case of an interpreted executable, the first line of this file must use a shebang to point to the interpreter, for example `#!/usr/bin/python`.
+ This file is where the actual infusion lives. It may be in the form of an interpreted executable (BASH, PHO, Python) or a binary executable (again, binaries are discouraged). In the case of an interpreted executable, the first line of this file must use a shebang to point to the interpreter, for example `#!/usr/bin/python`.
## WiFi Pineapple CLI
@ -188,7 +188,7 @@ This will set a variable named "$pineapple" up to be with the Pineapple API obje
## JavaScript API Functions
The JavaScript API is accessible from any small or large tile (and any included content therein). There is no need to initialize this API as the following functions are declared globally throughout the Web Interface.
The JavaScript API is accessible from any small or large tile (and any content included therein). There is no need to initialize this API as the following functions are declared globally throughout the Web Interface.
```javascript
/**

View File

@ -1,27 +1,27 @@
# Build Guide
Below is the modified OpenWRT source on which the WiFi Pineapple software is developed. This permits building an OpenWRT image for the MKV hardware as well as cross-compile binaries architecture compatible binaries for the system.
Below is the modified OpenWRT source on which the WiFi Pineapple software is developed. This permits building an OpenWRT image for the MKV hardware as well as cross-compiling binaries for the MIPS architecture used by the Pineapple.
## Prerequisites
Building an OpenWRT image which runs on the WiFi Pineapple MKV hardware, or to cross compile packages for the WiFi Pineapple MKV, there are a few prerequisites required.
In order to build an OpenWRT image which runs on the WiFi Pineapple MKV hardware, or to cross compile packages, there are a few prerequisites required.
First of all, this guide assumes that Ubuntu is used as the host system. The following packages are needed:
First of all, this guide assumes that Ubuntu is used as the host system. If this is not the case for you, then you may need to alter the steps accordingly. The following packages are needed:
```
sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip gcc-multilib gettext
```
**It is also recommended that a [USB 3.3V UART Serial cable](https://hakshop.myshopify.com/collections/accessory/products/serial-ttl-cable) is available as it will most likely be needed when experimenting with firmwares.
**It is also recommended that a [USB 3.3V UART Serial cable](https://hakshop.myshopify.com/collections/accessory/products/serial-ttl-cable) is available as it will most likely be needed when experimenting with firmwares.**
Do **NOT** proceed unless you know what you are doing: Custom firmwares can brick (and even hard brick) your devices.
Do **NOT** proceed unless you know what you are doing: Custom firmwares can brick (and even hard brick!) your devices.
## Building OpenWRT for the WiFi Pineapple MKV
The instructions below detail the process of generating firmware images for the WiFi Pineapple MKV hardware. The commands below are all executed in the root of the extracted directory.
### Download and extract source
### Download and extract the source:
```
wget http://wifipineapple.com/mk5/source.tar.gz
@ -31,7 +31,7 @@ cd ./MK5
### Adding software feeds
The commands below will allow for additional packages to be built into the firmware.
The commands below will download additional packages that can be built into the firmware.
```
./scripts/feeds update -a
@ -40,7 +40,7 @@ The commands below will allow for additional packages to be built into the firmw
### Adding custom files
To add custom files to the build, the `./files/` directory is used. It represents the root of the firmware. Creating a folder called "etc" inside of the `./files/` folder and placing a file inside will place (and overwrite) said file in the firwmare.
To add custom files to the build, the `./files/` directory is used. It represents the root of the firmware (i.e /). Creating a folder called "etc" inside of the `./files/` folder and placing a file inside will place (and overwrite) said file in the root filesystem. Care should be taken if you intend to overwrite a file that would otherwise already exist (for example, making incorrect modifications to /etc/config/wireless or /etc/config/wireless could mean that you are unable to connect to your Pineapple via WiFi and/or SSH into it!).
```
mkdir -p ./files/etc/
@ -48,23 +48,24 @@ touch ./files/etc/custom_file
echo "Content" > ./files/etc/custom_file
```
The above will create a file called custom_file in the /etc/ folder of the final firmware image.
This will create a file called custom_file in the /etc/ folder of the final firmware image.
### Preparing the build
We need to generate a `.config` file which will contain all the details of the packages and kernel modules that will be included in the build.
```
make defconfig
make prereq
```
After following the above instructions, execute the command below. This allows the configuration of the firmware build to include / exclude any packages and kernel modules in your build. Once done, the configuration should be saved.
After executing the above, we can now edit `.config`. It is a terrible idea to attempt to do this manually and thankfully OpenWRT provide a simple way to do it safely. Issue the following command and use the ncurses interface to add/remove anything you wish. It is a good idea to keep any packages that are already selected as they were chosen by the previous commands.
```
make menuconfig
```
### Compiling the firmware
Once happy with the firmware configuration, execute the below command. This will build the tools, toolchain, and firmware image. This will take a long time.
Once you're happy with the firmware configuration, it is time to build the tools, toolchain, and the firmware image. This will take a (*very*) long time.
```
make
@ -85,18 +86,17 @@ openwrt-ar71xx-generic-mk5-v1-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-mk5-v1-squashfs-factory.bin
```
The easiest way of installing a firmware is to boot the WiFi Pineapple MKV and transfer the *-sysupgrade.bin file over to it. This can be done via the SD card or via SSH. Then, the following command can be executed to perform the upgrade.
The easiest way of installing a new firmware is to boot the WiFi Pineapple MKV and transfer the *-sysupgrade.bin file over to it. This can be done via the SD card or via SSH. Then, the following command can be executed to perform the upgrade.
```
sysupgrade -n /path/to/sysupgrade.bin
```
Should the above not be possible, the second file comes into play. This file can be used in the WiFi Pineapple MKV's recovery interface. https://WiFiPineapple.com/?flashing (Unbricking a bricked WiFi Pineapple MKV) contains all required instructions.
Should the above not be possible, the second file comes into play. This file can be used in the WiFi Pineapple MKV's recovery interface. [Unbricking a bricked WiFi Pineapple MKV](https://WiFiPineapple.com/?flashing) contains all required instructions.
## Building packages for the WiFi Pineapple MKV
To be able to build packages and / or cross compile them for the WiFi Pineapple MKV firmware, the above instructions on building a firmware have to be followed first. Please keep in mind, binary files may not be shipped as part of WiFi Pineapple Infusions. See the WiFi Pineapple Infusion forums for more information.
To be able to build packages and/or cross compile them for the WiFi Pineapple's architecture, the above instructions on building a firmware have to be followed first. Please keep in mind, binary files may not be shipped as part of WiFi Pineapple Infusions. See the WiFi Pineapple Infusion forums for more information.
### Example package
@ -109,17 +109,20 @@ To compile the package, you will now need to go into your build configuration. M
make menuconfig
```
Now, navigate to the location of your package. The example package can be found under utilities->example-package. Select it by pressing M. Exit out and save your configuration. Then execute:
Now, navigate to the location of your package. The example package can be found under utilities->example-package. Select it by pressing M. The symbol next the to the package name will change from `< >` to `<M>`. Exit out and save your configuration. Then execute:
```
make package/example-package/compile
```
The built package can now be found in `./bin/ar71xx/packages/example-package_1_ar71xx.ipk`. You can transfer this file and then install it on your WiFi Pineapple using opkg:
The built package can now be found in `./bin/ar71xx/packages/example-package_1_ar71xx.ipk`. You can transfer and install this file on your WiFi Pineapple using opkg.
```
opkg install example-package_1_ar71xx.ipk
```
### Baking the package into the firmware
Baking a package into the firmware is as simple as repeating the above steps on compiling the package, except that this time, the package needs to be selected differently using the `make menuconfig` command. Instead of selecting it with M, it must be selected with Y. After this is complete, the firmware can be recompiled using the following commmand. This time, the resulting firmware will have the package built in.
Baking a package into the firmware is as simple as repeating the above steps on compiling the package, except that this time, the package needs to be selected differently using the `make menuconfig` command. Instead of selecting it with M, it must be selected with Y. The symbol next the to the package name will change from `< >` to `<*>`. After this is complete, the firmware can be recompiled using the same command as before. This time, the resulting firmware will have the package built in.
```
make

View File

@ -2,22 +2,22 @@
## What is a captive portal?
When a client connects to a WiFi Pineapple or any access point that has a captive portal present, the client will automatically be redirected to a special web page. This special web page is known as a landing page, and typically requires clients to perform an action before they can use the internet as intended.
When a client connects to a WiFi Pineapple or any access point that has a captive portal present, the client will automatically be redirected to a special web page. This special web page is known as a landing page, and typically requires clients to perform an action before they can use the internet as intended. This usually entails logging in or agreeing to a Terms Of Use agreement.
## Who uses captive portals and why?
Captive portals have many applications but are most commonly used to authenticate clients. Public Wi-Fi hotspot providers, such as Starbucks and McDonald's, typically use a captive portal to redirect clients to a web page containing a user agreement or terms of use. In this scenario, clients must agree to the terms of use before they are authenticated and permitted to use the internet freely. Some businesses provide public Wi-Fi hotspots solely because the implementation of a captive portal enables them to advertise products and services, solicit subscriptions, sell internet service, and satisfy other business-related agendas.
Captive portals have many applications but are most commonly used to authenticate clients. Public Wi-Fi hotspot providers, such as Starbucks and McDonald's, will use a captive portal to redirect clients to a web page containing an Acceptable Use Policy (AUP). In this scenario, clients must agree to the terms of use before they are authenticated and permitted to use the internet freely. Some businesses provide public Wi-Fi hotspots solely because the implementation of a captive portal enables them to advertise products and services, solicit subscriptions, sell internet service, and satisfy other business-related agendas.
Although captive portals have many legitimate uses, like those described above, it's important to note that they also have the potential of being used maliciously by criminal hackers. By providing clients with a well-designed captive portal that is professional in appearance, criminal hackers are able to deceive unsuspecting clients and provide them with a sense of legitimacy. This misled sense of legitimacy, as a result, increases the client's susceptibility to malicious attacks. For example, it's a known fact that criminal hackers have successfully used captive portals to distribute malware and gather sensitive user data, including login credentials, email addresses, and financial information.
## Guide
In this guide, you will learn how to set up a captive portal on your WiFi Pineapple using the Evil Portal infusion. To improve the quality of your user experience, you will also be provided with a package containing custom splash page images and HTML code. If you prefer, you can watch the [video tutorial here](http://youtu.be/nw4bo4rXGgQ) instead.
In this guide, you will learn how to set up a captive portal on your WiFi Pineapple using the "Evil Portal" infusion. To improve the quality of your user experience, you will also be provided with a package containing custom splash page images and HTML code. If you prefer, you can watch the [video tutorial here](http://youtu.be/nw4bo4rXGgQ) instead.
1. Connect to your WiFi Pineapple via Wi-Fi or ethernet cable
2. Open a web browser and Log into your WiFi Pineapple's web interface
1. Connect to your WiFi Pineapple via Wi-Fi or an ethernet cable
2. Open a web browser and log into your WiFi Pineapple's web interface at
http://172.16.42.1:1471
Before proceeding to the next step, make sure your Pineapple is connected to the internet. The easiest way to connect your Pineapple to the internet is to use the client mode feature in the network tile.
Before proceeding to the next step, make sure your Pineapple is connected to the internet. The easiest way to connect your Pineapple to the internet is to use the "Client Mode" feature in the network tile.
3. Open the **"Pineapple Bar"** tile
4. Select the **"Pineapple Bar: Available Infusions"** tab
5. Find **"Evil Portal"** in the list of infusions and click **"Install"**
@ -70,4 +70,4 @@ In this guide, you will learn how to set up a captive portal on your WiFi Pineap
25. When prompted, click **"Start Once"**
26. Open a new tab in your web browser and **navigate to** any web page
That's it! If all went as planned, you should be redirected to your captive portal's landing page. Go ahead and click the "Accept" button to see how it works.
That's it! If all went as planned, you should be redirected to your captive portal's landing page. Go ahead and click the "Accept" button to see how it works.

View File

@ -4,17 +4,17 @@ Mobile Broadband (3G/4G) modems are a great way to provide an Internet connectio
## USB Mobile Broadband Modems
Firstly in order for a USB Mobile Broadband Modem to function with the WiFi Pineapple it requires to be supported by the operating system. Thanks to USB ModeSwitch the WiFi Pineapple supports over 300 modems. This is to say that recognized modems will be /modeswitched/, allowing them to transition from being USB Mass Storage devices into being USB Serial devices.
Firstly in order for a USB Mobile Broadband Modem to function with the WiFi Pineapple it needs to be supported by the Pineapple Firmware. Thanks to USB ModeSwitch the WiFi Pineapple has support for over 300 modems. This is to say that recognized modems will be *modeswitched*, allowing them to transition from being USB Mass Storage devices into being USB Serial devices, which is what we need in order to be able to use them.
The second part of this equation is the successful carrier configuration. The parameters required include an Interface Name, Protocol, Service, Device, APN, Username, Password, Default Route, PPP Redial, Peer DNS, DNS, Keepalive, and PPPD Options. These can be set from Network > Mobile Broadband from the WiFi Pineapple web UI. Most of these parameters, such as APN and Username, depend on the carrier.
The second part of the equation is successful carrier configuration. The parameters required include an Interface Name, Protocol, Service, Device, APN, Username, Password, Default Route, PPP Redial, Peer DNS, DNS, Keepalive, and PPPD Options. These can be set from Network > Mobile Broadband from the WiFi Pineapple web UI. Most of these parameters, such as APN and Username, will depend on your carrier.
## Personal Hotspots supporting USB Tethering
Much the same as automatic Internet Connection Sharing with tethered Android phones (Froyo and newer), these later type may be easier to configure since the hotspot device manages the connection. This alleviates the operating system from needing to deal with connection interruptions, redial attempts and other networking issues.
The process for these is very similar to automatic [Internet Connection Sharing](http://wiki.wifipineapple.com/#!ics.md) with tethered Android phones (Froyo and newer). These newer types of Mobile Broadband Modems are often easier to configure since the hotspot device manages the connection, rather than the WiFi Pineapple. This alleviates the operating system from needing to deal with connection interruptions, redial attempts and other networking issues the arise in Mobile Broadband connections.
Typically a Personal Hotspot with a USB Tether feature (sometimes called Ethernet over USB) will automatically enumerate as a new interface (usb0) much the same way an Ethernet interface would (eth0). The Personal Hotspot usually runs a DHCP server and will assign the new usb0 interface an IP address, which the WiFi Pineapple will accept as its default gateway.
A Personal Hotspot with a USB Tethering feature (occasionally referred to as Ethernet over USB) will automatically enumerate as a new interface (usb0) similarly to how an Ethernet interface would (eth0). The Personal Hotspot usually runs a DHCP server and will assign the new usb0 interface an IP address, which the WiFi Pineapple will accept as its default gateway.
Because of this a personal hotspot supporting USB tethering is an ideal option, requiring little or no configuration, however the hardware may be more expensive than a traditional USB dongle.
Its for this reason that a personal hotspot supporting USB tethering is the ideal choice as it requires little to no configuration. However, the hardware may be more expensive than a traditional USB dongle, and combined with an Ethernet cable, will also take up more space which may be undesirable if the Pineapple is being using as a drop box.
## Current Modem Pool
@ -23,7 +23,7 @@ Because of this a personal hotspot supporting USB tethering is an ideal option,
| Carrier | Manufacturer | Adapter | Speed | Type | Connection Method | Support | Vendor/Product ID | Notes |
|:--:|:--:|--|:--:|:--:|--|:--:|--|--|
| Many | Many | Android Froyo or better | Variable | Phone | Device configuration, Ethernet over USB | | | [OpenWRT USB Tethering doc](http://wiki.openwrt.org/doc/howto/usb.tethering) |
| Many | Many | Android Froyo or better | Variable | Phone | Device configuration, Ethernet over USB | Confirmed | Various | [OpenWRT USB Tethering doc](http://wiki.openwrt.org/doc/howto/usb.tethering) |
| Verizon | Novatel | MiFi 5510L | LTE | HotSpot | Device configuration, Ethernet over USB | unconfirmed | | [Verizon 5510 Manual -PDF-](http://www.novatelwireless.com/files/4513/6218/1792/UG_MiFi_5510L_VZW__30Jan2013.pdf) |
| Verizon | Pantech | MHS291L | LTE | HotSpot | USB_ModeSwitch, Ethernet over USB | unconfirmed | 10a9:6080 -> 10a9:6085 | [Forum post on tethering](http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=3&t=1572) |
| Verizon | Pantech | UML290 | LTE | USB | USB_ModeSwitch, dialup | unconfirmed | 106c:3b11 -> 106c:3718 | |
@ -54,21 +54,38 @@ Because of this a personal hotspot supporting USB tethering is an ideal option,
Below is the configuration for a Novatel MC760 on the Ting network. Usage on other networks should be similar:
+ `Interface Name: ppp0` (almost always ppp0)
+ `Protocol: 3g` (almost always 3g)
+ `Service: cdma` (cdma or evdo for an EVDO-based carrier (Verizon/Sprint in the US) or umts for a GSM carrier (ATT/T-Mobile in the US). Also some Novatel modems support the umts_only and gprs_only value)
+ `Device: /dev/ttyUSB0` (This is the serial device the modem has enumerated as, either on its own or with the aid of USB_ModeSwitch. There are often three - ttyUSB0, ttyUSB1 and ttyUSB3 - for which one is the modem and the others are control channels. ttyUSB0 is usually the modem.)
+ `Username: internet` (The carrier Ting requires a username/password. Your carrier may require a different value or none at all)
+ `Password: internet` (Similar to username)
+ `APN:` (left blank. Typically necessary for GSM carriers and not CDMA)
+ `Default Route: 1` (1 makes the 3g modem your WiFi Pineapple's default Internet gateway for itself and connected clients. 0 does not.)
+ `PPP Redial: persist` (almost always persist)
+ `Peer DNS: 0` (1 accepts the DNS provided by the carrier's DHCP server. 0 allows you to specify your own.)
+ `DNS: 8.8.8.8` (Only necessary if the above peerdns has a value of 0. I typically to use the Google DNS but you can use whatever value you wish.
+ `Keep Alive: 1` (After how many disconnects should the connection be redialed)
+ `PPPD Options: debug` (Some modems require this value and it is not common for this value to make an impact if it is not required)
+ `Interface Name: ppp0`
This is almost always ppp0
+ `Protocol: 3g`
This is almost always 3g
+ `Service: cdma`
For an EVDO-based carrier (Verizon/Sprint in the US), this value will be cdma or evdo.
For a GSM-based carrier, this value will be umts.
Also note that some Novatel modems support the umts_only and gprs_only value.
+ `Device: /dev/ttyUSB0`
This is the serial device the modem has been enumerated as, either on its own or with the aid of USB_ModeSwitch.
There are often three - ttyUSB0, ttyUSB1 and ttyUSB3 - of which ttyUSB0 is usually the modem and the other two are used as control channels.
+ `Username: internet`
The carrier Ting requires a username/password. Your carrier may require a different value or none at all.
+ `Password: internet`
Just like with the Username field, this may or may not be required.
+ `APN:`
This field is only used with GSM carriers. For CDMA carriers, this field is left intentionally blank.
+ `Default Route: 1`
A value of 1 sets the 3g modem to your WiFi Pineapple's default Internet gateway for itself and connected clients. 0 will cause the routing settings on your Pineapple to not be changed after the connection is initiated.
+ `PPP Redial: persist`
This will the same for nearly all configurations.
+ `Peer DNS: 0`
A value of 1 will accept the DNS settings provided by the carrier's DHCP server.
Entering 0 instead will allow you to specify your own.
+ `DNS: 8.8.8.8`
This field is only valid if you entered 0 into the **Peer DNS** field. You may specify any DNS Server you wish. A common choice is the one run by Google, as above.
+ `Keep Alive: 1`
Sets how many disconnects are required before a redial is attempted.
+ `PPPD Options: debug`
This setting is only required by certain modems. Otherwise, most modems will ignore it.
## Additional Resources
+ International APN Settings for Mobile Broadband Network Operators
+ USB ModeSwitch Device Reference
+ [International APN Settings for Mobile Broadband Network Operators](http://www.hw-group.com/products/HWg-Ares/HWg-Ares_GSM_APN_en.html)
+ [USB ModeSwitch Device Reference](http://www.draisberghof.de/usb_modeswitch/device_reference.txt)

View File

@ -2,6 +2,8 @@
## USB Wireless Cards
The WiFi Pineapple supports the use of a third wireless radio via the USB port. Listed below are details of various popular USB wireless cards.
| Manufacturer | Radio | Chipset | Power Consumption | Status |
|--------------|------------------------|--------------------|-------------------|-------------|
| ALFA | AWUS036NHA | Atheros AR9271 | 100mA Average | Supported |

View File

@ -2,44 +2,44 @@
## What are Infusions?
Infusions are extra pieces of code formed in tiles. Each infusion needs atleast 3 files, A 'small_tile.php', 'large_tile.php', and a 'handler.php' file. The 'small_tile.php' file should contain maybe a log output and a refresh function, or a small description on the Infusion. The 'large_tile.php' should contain your major functions of the Infusion. The 'handler.php' file should only be edited when you update your infusion, changing the infusion version.
Infusions are extra pieces of code formed in tiles. Each infusion needs at least 3 files, A `small_tile.php`, `large_tile.php`, and a `handler.php` file. The `small_tile.php` file could contain a log output, a refresh function, and/or a small description on the Infusion. The `large_tile.php` should contain the major functions of the Infusion. The `handler.php` file should only be edited when you update your infusion, changing the infusion version.
## How to make an Infusion?
Creating infusions is easy, now that it is possible to do it from the Pineapple Bar. To create an infusion, simply open the large tile for the Pineapple bar.
Creating infusions is easy, and it is now possible to do it from the Pineapple Bar. To create an infusion, simply open the large tile for the Pineapple bar.
![](imgs/create_infusions1.png)
Now, Click on the create tab and enter the infusions name, version, tile, and toggle whether you want it to be up-datable (Refreshes the tile every 5 seconds), and whether you want it to be installed to the SD Card.
Now, click on the create tab and enter the infusions name, version, tile, and toggle whether you want it to be up-datable (Refreshes the tile every 5 seconds), and whether you want it to be installed to the SD Card.
![](imgs/create_infusions2.png)
Refresh your pineapples Web UI and find your new tile, both small and large tile will be empty. SCP your code from pineapple to computer, edit the code and scp it back over to test. You can also whip up a very quick infusion for a specific need with the built in editor, also found in the bartender infusion.
Refresh your pineapples Web UI and find your new tile, both the small and large tiles will be empty. SCP your new code from your Pineapple to your computer. Now you can edit the code and SCP it back over to test it out. You can also whip up a very quick infusion for a specific need with the built in editor which also found in the bartender infusion.
## What do these files do?
Four files are created by default, by the bartender infusion, named 'small_tile.php', 'large_tile.php', 'functions.php' and finally 'handler.php'.
Four files are created by the bartender infusion, named `small_tile.php`, `large_tile.php`, `functions.php` and finally `handler.php`.
The small_tile.php is the tile you click on the index of the Web UI, this can contain HTML/PHP code too. This is usually used for logs or descriptions of the infusion.
The `small_tile.php` is the tile you click on main page of the WebUI and can contain HTML/PHP code. This is usually used for logs or descriptions of the infusion.
The large_tile.php is the large tile you get from clicking on the small tile. This tile should be used to host the main features of the infusion. Please look at [#ajax] for more information on using forms.
The `large_tile.php` is the large tile you get from clicking on the small tile. This tile should be used to host the main features of the infusion. Please see the [AJAX](http://wiki.wifipineapple.com/#!creating_infusions.md#AJAX) section below for more information on using forms.
The functions.php file is used in conjunction with the AJax method for forms. It is commonly used by having PHPs 'isset' to check if the form has sent a POST method, then executes PHP code. Please look at the example at the bottom of the page.
The `functions.php` file is used in conjunction with the AJAX method for forms. A common use is having PHP's 'isset' to check if the form has sent a POST method and then execute the PHP code. The example at the bottom of the page shows how you can achieve this.
The handler.php file is used by the system. It specifies the infusion name, title and version. This should only be edited for updating the version variable.
The `handler.php` file is only used by the system. It specifies the infusion name, title and version. This should only be edited for updating the version variable.
## AJAX
The pineapples large_tile for infusion works in a Javascript popup type method, using regular HTML forms would cause this to break, so we use AJAX. This prevents the pineapple going to a new page. More information can be found in the example section below.
The Pineapple's `large_tile.php` uses a Javascript popup type method. Using regular HTML forms would cause this to break, so we use AJAX instead. This prevents the browser from going to a new page. More information can be found in the example section below.
## Example
In this guide, We will make a simple infusion that contains small_tile.php code, large_tile.php code, functions.php code and demonstrates the popup() and notify() features of the API.
In this example, we will make a simple infusion that contains `small_tile.php` code, `large_tile.php` code, `functions.php` code and demonstrates the `popup()` and `notify()` features of the API.
Firstly, create a new infusion called 'ExampleInfusion' as told above. In this example, I have SCP'd the files created by the Pineapple Bar to my machine, where I edited them in an editor. Also remember that the real way to learn from an example is to type it out, not just copy and paste it.
Firstly, create a new infusion called 'ExampleInfusion' as above. In this example, I have already edited the files on my laptop before SCPing them back to the Pineapple. Remember that the real way to learn from an example is to type it out, not just copy and paste it.
Open the files in your favourite editor, and keep on the small_tile.php file. In the small tile, we will create a Refresh function with Javascript and check to see whether a program is running on the pineapple, while notifying you that you have used the refresh function.
Open the files in your favourite editor, and edit the `small_tile.php` file. In the small tile, we will create a Refresh function with Javascript and check to see whether a program is running on the pineapple, while notifying you that you have used the refresh function.
The code below does this :
This is how we do it :
```php
<html>
@ -69,9 +69,9 @@ else { echo('DNSSpoof is Running'); }
</html>
```
The above code makes a refresh button that will refresh the small tile named ExampleInfusion, as well as telling you whether 'DNSSpoof' is running or not. For the large_tile, we will add a textbox and a submit to demonstrate the popup() function and to demonstrate the AJAX forms.
This code makes a refresh button that will refresh the small tile named ExampleInfusion, as well as telling you whether 'DNSSpoof' is running or not. For the large tile, we will add a textbox and a submit button to demonstrate the popup() function and the AJAX forms.
In your large_tile.php, you need this code :
In your `large_tile.php`, add this code :
```
<form action="/components/infusions/ExampleInfusion/functions.php" method="POST" onSubmit="$(this).AJAXifyForm(callback); return false;">
@ -86,7 +86,7 @@ function callback(data){
</script>
```
and in your functions.php, you need this code :
and in your `functions.php`, add this :
```php
<?php
@ -98,4 +98,4 @@ if(isset($_POST['submit'])){
?>
```
The above pieces of code will display a textbox and a submit button inside of an AJAXified form. Then it will post to the functions.php and that file will look for the submit button name. It will then output the input of the textbox you made before.
The above pieces of code will display a textbox and a submit button inside of an AJAXified form. Then it will post to the `functions.php` and that file will look for the submit button name. It will then output the input of the textbox you made before. Building on this, it should be clear how to implement a wide variety of functions into your Infusion.

View File

@ -2,17 +2,17 @@
## What do the DIP Switches do?
The new DIP's on the Mark V are available to use as boot modes. These modes can be easily set from the Web UI, and are labeled 1 through 5 from left to right. Switches 1 and 5 and reserved for system use while 2 through 4 are available to set to whatever you want.
The new DIP's on the Mark V are available to configure different boot modes/operations. These modes can be easily set from the WebUI, and are labeled 1 through 5 from left to right. Switches 1 and 5 and reserved for system use while 2 through 4 are available to set to whatever you want.
## How do I set the DIP Switches?
You can set the DIP's via clicking on the 'Configuration' tile in the Web UI, then navigating to the Boot Menu tab. You can then place BASH commands in the textboxes next to the combination of switches you would like to have. After saving these, you can boot your pineapple with the same combination set on the DIP's and expect your entered commands to execute on bootup.
![](imgs/missing_image.png)
![](imgs/dip_switches.png)
## What are some examples of this?
Some examples of what to execute can be found below! Be sure to add your favourite commands to the list!
Some examples of what to execute can be found below! Be imaginative, and feel free to add your favourite commands to the list!
| Boot Mode | Command |
|:------------:|:------------:|

View File

@ -2,32 +2,35 @@
## Overview
The WiFi Pineapples firmware is a highly modified version of OpenWRT packed with the WiFi Pineapples WebUI, as well as tools to aid your pentesting such as DNSSpoof, URLSnarf, Karma, nmap, mdk3 and much more.
The WiFi Pineapples firmware is a highly modified version of OpenWRT packed with the WiFi Pineapples WebUI, as well as tools to aid your pentesting such as DNSSpoof, URLSnarf, Karma, nmap, mdk3 and many more.
## Downloads
Download can be found here: https://wifipineapple.com/?downloads
Current and previous firmware incarnations can be found here: https://wifipineapple.com/?downloads
## Upgrading the WiFi Pineapple MKV
### Web-Interface updates
### Web-Interface Updates
With our new Web-Interface, updating individual components is easy. Simply head over to your WiFi Pineapple MKV Infusion Bar. From there, you will not only be able to download, update or remove user created infusions, but also update system infusions - if available. Simply check for updates from either the small tile or the appropriate tab in the large tile. If there is an update available, you can update with just one click!
With our new WebUI, updating individual components is easy. Simply head over to your WiFi Pineapple MKV Infusion Bar. From here, you can not only download, update and remove Infusions, but also update the core System Infusions. Just check for updates from either the small tile or the appropriate tab in the large tile. If there is an update available, you can download and apply it with just one click!
### Firmware updates
To upgrade or re-flash your firmware, navigate to the "WiFi Pineapple MK5" tile on the pineapple's Web-Interface. Once an upgrade is available, you will be able to select, download and install it all over the air.
To upgrade or re-flash your firmware, navigate to the "WiFi Pineapple MK5" tile on the pineapple's WebUI. Once an upgrade is available, you will be able to download and install it over the air.
## Upgrading manually
In case you want to upgrade manually or are having issues with the webinterface, simply follow these steps.
In case you want to upgrade manually or are having issues with the WebUI, simply follow these steps.
1. Download the firmware from this website. Call it something like upgrade.bin.
1. Download the firmware from [this](https://wifipineapple.com/?downloads) website. Call it something like upgrade.bin.
2. SCP the downloaded .bin file to your pineapple's `/tmp/` directory.
3. Run the md5sum command on the uploaded .bin file and make sure it matches the one from the downloads page.
3. Run the md5sum command on the uploaded .bin file and make sure it matches the one from the downloads page. This ensures that there hasn't been any issues in transfering the file.
4. If the MD5 sum matches, execute `sysupgrade -n -v /tmp/upgrade.bin`
5. Wait for the reboot.
5. Wait for the reboot
**Once done, you may now proceed with the initial WiFi Pineapple setup.**
Note: It may take several minutes for your WiFi Pineapple to apply the update and restart.
Please be patient and do **NOT** unplug the power until you are sure that your Pineapple has rebooted successfully.
**Once it has completed, you can now proceed with the WiFi Pineapple Initial Setup from the WebUI.**
## Unbricking a bricked WiFi Pineapple MKV
@ -39,6 +42,6 @@ Bricked your WiFi Pineapple MKV? Unbricking is easy and doesn't require any extr
4. Boot up the WiFi Pineapple MKV. After around five seconds, you can navigate to http://192.168.1.1
5. Upload the factory-1.2.0.bin file through the interface. Wait for it to complete.
6. Set all the DIP switches back to the default configuration up, up, up, up, up (from left to right).
7. Make sure the SD card is inserted and powercycle the WiFi Pineapple MKV. Your device will now boot the 1.2.0 firmware. Please wait patiently and refer to the first boot instructions in your WiFi Pineapple MKV instructions. You may skip any information relating to the stager.
7. Make sure the SD card is inserted and powercycle the WiFi Pineapple MKV. Your device will now boot the 2.0.4 firmware. Please wait patiently and refer to the first boot instructions in your WiFi Pineapple MKV Instructions. You may skip any information relating to the stager.
**You are done. Enjoy your freshly flashed WiFi Pineapple MKV!**
**You are now done. Enjoy your freshly flashed WiFi Pineapple MKV!**

2
hdk.md
View File

@ -1,7 +1,5 @@
# HDK
The WiFi Pineapple Mark V HDK is an Arduino Pro based microcontroller board featuring the ATmega328.
![](imgs/hdk.jpg)

View File

@ -2,18 +2,18 @@
![The HDK as it arrives](imgs/hdk1.png)
## Things you will need
## Things You Will Need
1. The HDK
2. A Wifi Pineapple
2. A WiFi Pineapple
3. A Soldering iron
4. Header Pins (Female and/or Male)
5. A USB to serial converter or arduino.
5. A USB to Serial Converter or Arduino Board.
6. Wires (Optional, but very useful)
## Set up of the HDK in the Pineapple
The HDK talks to the Wifi pineapple via a bit-banged SPI interface, using on board gpios. These are not enabled by default. In order to enable the interface, type:
The HDK talks to the WiFi pineapple via a bit-banged SPI interface using on the board GPIO pins. These are not enabled by default so in order to enable the interface, on your Pineapple type:
`/sbin/insmod spi-gpio-custom bus0=1,18,20,19,0,125000,21`
@ -25,34 +25,30 @@ When soldered, the HDK will look something like this:
![HDK soldered and connected to the MK5](imgs/hdk2.jpg)
NB, the pinout for the HDK is compatible with Arduino Shields. If you want this, don't use the female headers shown.
Note: The pinout for the HDK is compatible with Arduino Shields. If you want to do this instead, **don't** use the female headers as shown.
## Programming the HDK
The easiest way to program the HDK is via a USB to serial converter (a arduino can be used, without the ATMEGA Chip). If you want to use the Arduino, look at the section "Uploading Using an Arduino Board" on this page: http://www.arduino.cc/en/Tutorial/ArduinoToBreadboard
The easiest way to program the HDK is with a USB to Serial Converter (an Arduino can be used, without the ATmega Chip). If you want to use the Arduino, look at the section "Uploading Using an Arduino Board" on [this](http://www.arduino.cc/en/Tutorial/ArduinoToBreadboard) page.
Either way, you can use the Arduino IDE to compile and deploy the code. Set the IDE to Arduino Duemilanove, and the correct serial port.
![Arduino Gui](imgs/hdk5.png)
### Programming the HDK
### Testing
### Testing.
This program will echo out anything recieved on the SPI interface (from the Pineapple) on the Serial Port (using the Serial to USB adapter). This is by no means the only way of ensuring that everything is working, but Serial is really helpful for debugging.
This program will echo out anything recieved on the SPI interface (from the pineapple) on the serial port (using the serial to USB adapter). This is by no means the only way to test everything is working, but serial is really helpful for debugging.
The code that was used above can be found [here](spi.ino). Thanks to [Nick Gammon](https://gist.github.com/chrismeyersfsu/3317769).
You can obtain the original of this code from here: https://gist.github.com/chrismeyersfsu/3317769
The program will need to be uploaded to the HDK. Once complete, run the command:
The program now needs to be uploaded to the HDK. Once complete, run the command:
`echo "Testing 1 2 3" >/dev/spidev1.0`
On the serial console of the HDK, the words "Testing 1 2 3" should appear.
On the serial console of the HDK, the you should see the words "Testing 1 2 3" appear.
[Code for the HDK](spi.ino)
## Additional Information
## Additional Information + Useful Links
+ [Projects](hdk_projects.md)
[Projects](hdk_projects.md)
https://randomcoderdude.wordpress.com/2013/08/15/spi-over-gpio-in-openwrt/
+ https://randomcoderdude.wordpress.com/2013/08/15/spi-over-gpio-in-openwrt/

View File

@ -1,6 +1,6 @@
# Projects
Simple list of projects that people have done with the HDK
A list of projects that people have done with the WiFi Pineapple MK V HDK:
| Title | Level | Who | Link |

36
ics.md
View File

@ -1,30 +1,32 @@
# Internet Connection Sharing
## Introduction
Often, one of the first steps in setting up your WiFi Pineapple is connecting it to the internet. There are several ways of achieving this, and one of them is Internet Connection Sharing, or ICS for short. ICS is achieved by connecting your WiFi Pineapple to a computer that already has internet access, typically through a WiFi connection or Mobile Broadband. For a computer running Linux, Windows or Mac OS X, its a simple case of using an ethernet cable to connect the two. Its also possible to perform ICS with certain Android phones, in which case a USB cable is used.
By default, the WiFi Pineapple has an IP address of 172.16.42.1 and will assign clients with an IP address in the range 172.16.42.100-150 through its onboard DHCP server. The default gateway of the Wifi Pineapple is 172.16.42.42. In other words, the Pineapple will actively wait for an internet connection from a host with this IP address. The way in which an internet connection is supplied in this way varies on different Operating Systems.
## Linux ICS
With an Ethernet cable connected to the WiFi Pineapple, Internet access may be shared from an online computer. This is typically achieved with a cable connected between a notebook computer and the WiFi Pineapple directly. The notebook computer requires some form of Internet access (typically through WiFi or Mobile Broadband).
A simple tethering script is available for Linux hosts which will automatically setup the correct IP address and forwarding.
By default the WiFi Pineapple has an IP address of 172.16.42.1 and will assign WiFi clients with IP addresses in the 172.16.42.100-150 range via an onboard DHCP server. The default gateway of the WiFi Pineapple is 172.16.42.42. This means the WiFi Pineapple is looking for an Internet connection from a host with this IP address. A simple tethering script is available for Linux host which will automatically setup the IP and forwarding.
1. Power on the WiFi Pineapple
2. Connect an Ethernet cable directly between the LAN port on the computer and the LAN port on the WiFi Pineapple
3. On the computer, download the wp5.sh script from wifipineapple.com [here](https://wifipineapple.com/mk5/scripts/wp5.sh)
4. Make the script executable with `chmod +x wp5.sh` and run the script as root (e.g. `sudo ./wp5.sh`)
5. Follow the on screen prompts
1. Power on the WiFi Pineapple.
2. Connect an Ethernet cable directly between the LAN port on the computer and the LAN port on the WiFi Pineapple.
3. On the computer, download the wp5.sh script from wifipineapple.com [here](https://wifipineapple.com/mk5/scripts/wp5.sh).
4. Make the script executable with `chmod +x wp5.sh` and run the script as root (e.g. `sudo ./wp5.sh`).
5. Follow the on screen prompts, as illustrated below.
![](imgs/linux_ics.png)
## Windows ICS
While there is currently no quick-connect script for Windows, it is a fairly simple and straightforward setup. First we must understand that by default with WiFi Pineapple has an IP address of 172.16.42.1 and like a regular WiFi Rouger we assign clients IP addresses in the range of 182.16.42.50-250. When tethering a PC via Ethernet or Wireless, the WiFi Pineapple will use a default gateway IP address of 172.16.42.42.
While there is currently no quick-connect script for Windows, it is still a fairly simple and straightforward setup. The Windows PC will have two network interfaces: one connected to the Pineapple (a wired connection via ethernet) and one connected to the internet (either via WiFi or Mobile Broadband).
So if the Windwos hosts's Pineapple-Facing adapter is configured with a static IP address of 172.16.42.42 and an Internet-Facing adapter (for example from another WiFi network or a USB mobile broadband modem) is configured for Internet Connection Sharing, clients connected to the WiFi Pineapple will get online throught he Windows hosts Internet connection.
Begin by powering on the WiFi Pineapple and directly connecting an Ethernet cable between the WiFi Pineapple and PC. Open **Network Connections** on the PC and view the properties of the Internet-facing adapter.
We begin by powering on the WiFi Pineapple and directly connecting an Ethernet cable between the WiFi Pineapple and PC. Open **Network Connections** on the PC and view the properties of the Internet-facing adapter.
![](imgs/windows_ics1.png)
From the Sharing tab, check the box labeled *Allow other network users to connect through this computer's Internet connection* and click OK. You may need to select an network connection if there is more than one.
From the Sharing tab, check the box labeled *Allow other network users to connect through this computer's Internet connection* and click OK. You may need to select a network connection if there is more than one.
![](imgs/windows_ics2.png)
@ -40,13 +42,13 @@ Check *Use the following IP address* and specify 172.16.42.42 for the IP address
![](imgs/windows_ics5.png)
The WiFi Pineapple-facing and Internet-facing adapters have been configured and Internet Connection Sharing has been enabled.
The WiFi Pineapple-facing and Internet-facing adapters have now been configured and Internet Connection Sharing has been enabled.
## OSX ICS
How-to provided by http://champagneandsecurity.wordpress.com/2014/10/03/wifi-pineapple-and-mac-os-x-internet-sharing/
This one is for you Mac users out there that want to share your Mac's WiFi internet connection via the LAN cable to the WiFi Pineapple. Using the out of the box Internet sharing option of your Mac doesn't work with the WiFi Pineapple. I had experienced it again, but never gave it any good look and switched to Linux. Today I it frustrated me and I looked into it.
This one is for you Mac users out there that want to share your Mac's WiFi internet connection via the LAN cable to the WiFi Pineapple. Using the out of the box Internet Sharing option of your Mac doesn't work with the WiFi Pineapple. I had experienced it again, but never gave it any good look and switched to Linux. Today it frustrated me and I looked into it.
The problem with the setup is twofold:
@ -71,10 +73,10 @@ That's it. Now you can connect the LAN cable and enjoy internet from your Pineap
## Android ICS
If your Android device support USB Tethering it may be used to provide Internet access to the WiFi Pineapple, sharing either the Android's WiFi or Mobile Broadband connection. To enable, connect a USB cable between the Android device and the WiFi Pineapple. With the WiFi Pineapple powered on and a USB cable connected between both devices, tethering is now possible.
If your Android device supports USB Tethering it may be used to provide Internet access to the WiFi Pineapple. To enable, connect a USB cable between the Android device and the WiFi Pineapple. With the WiFi Pineapple powered on and a USB cable connected between both devices, tethering is now possible.
Since Android 2.3 (Gingerbread) devices, the USB tethering option will be found from the Settings menu (typically from Wireless and Networks, Tethering and Portable Hotspot). Simply check the box labeled **USB Tethering**.
![](imgs/android_ics.png)
In this configuration the WiFi Pineapple will obtain a new interface, usb0, and routing will automatically adjust to use the Android device as the WiFi Pineapple's default gateway. No configuration is necessary on the WiFi Pineapple. To discontinue use of Android USB Tethering, either disconnect the USB cable or uncheck the USB Tethering checkbox. The WiFi Pineapple will automatically disable the usb0 interface and reset the routing configuration to defaults.
In this configuration the WiFi Pineapple will obtain a new interface, usb0, and routing will automatically be adjusted to use the Android device as the WiFi Pineapple's default gateway. No configuration is necessary on the WiFi Pineapple. To discontinue use of Android USB Tethering, either disconnect the USB cable or uncheck the USB Tethering checkbox. The WiFi Pineapple will automatically disable the usb0 interface and reset the routing configuration to defaults.

BIN
imgs/dip_switches.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

@ -1,15 +1,13 @@
# ![](imgs/wiki_logo.png) WiFi Pineapple Wiki ![](imgs/wiki_logo.png)
# Welcome to the official WiFi Pineapple Wiki!
# Welcome to the Official WiFi Pineapple Wiki!
Welcome to the new wiki for the [WiFi Pineapple (official site)!](https://wifipineapple.com/) The current iteration of this wiki is geared towards the Mark 5 Revision of the WiFi Pineapple. In this wiki you can find guides and information for both the hardware and software. Please visit the [Legacy](legacy.md) section for FAQs and guides for older hardware. For information about infusions, [Infusions](infusions.md) is the place.
Welcome to the wiki for the [WiFi Pineapple](https://wifipineapple.com/). The current iteration of this wiki is geared towards the Mark V Revision of the WiFi Pineapple. On this wiki you'll find guides and information for both the hardware and software. Please visit the [Legacy](legacy.md) section for FAQs and guides for older hardware revisions. For information about infusions, [Infusions](infusions.md) is the place.
## Overview
The WiFi Pineapple Mark V is the latest generation wireless network auditing tool from Hak5. With its custom, purpose built hardware and software, the WiFi Pineapple enable users to quickly and easily deploy advanced attacks using our intuitive web interface.
The WiFi Pineapple is the wireless network auditing tool from Hak5. With its custom, purpose built hardware and software, the WiFi Pineapple enables users to quickly and easily deploy advanced attacks using our intuitive web interface. From a man-in-the-middle hot-spot honeypot to an out-of-band pentest pivot box, the WiFi Pineapple is unmatched in performance, value and versatility.
Hak5 focuses on making easily accessible, affordable and infinitely expandable wireless hacking tools. Since 2008 the WiFi Pineapple has been serving penetration testers, law enforcement, military and government with a versatile wireless auditing platform for almost any deployment scenario.
The WiFi Pineapple Mark V is the latest generation wireless network auditing tool from Hak5. With its custom, purpose built hardware and software, the WiFi Pineapple enable users to quickly and easily deploy advanced attacks using our intuitive web interface.From a man-in-the-middle hot-spot honeypot to an out-of-band pentest pivot box, the WiFi Pineapple is unmatched in performance, value and versatility.
The WiFi Pineapple Mark V is precision engineered as the ultimate hacker companion. Designed from the ground up with thoughtful focus on performance and usability, the Mark V packs a powerful punch.
The WiFi Pineapple Mark V is precision engineered as the ultimate hacker companion. Designed from the ground up with thoughtful focus on performance and usability, the Mark V packs a powerful punch.

View File

@ -2,15 +2,15 @@
## Infusions
Infusions were introduced in firmware 1.1.0 for the Mark IV Pineapple, which allow the community to make extensions for the Systems WebUI. Infusions range from front-ends for commands to full back-ends and front-ends for added purposes, Such as text messaging your pineapple, Changing its wireless properties or making it confuse unsuspecting internet browsers. Infusions can be programmed from a mixture of PHP, JavaScript/AJAX, Python, Perl, and BASH.
Introduced in firmware 1.1.0 for the WiFi Pineapple Mark IV, Infusions allow the community to make extensions for the System's WebUI. Infusions can range from front-ends for command-line utilities to full-featured extended functionality such as text messaging your Pineapple, changing its wireless settings or injecting content into unsuspecting internet browsers. Infusions can be programmed in PHP, JavaScript/AJAX, Python, Perl, or BASH.
## Command Line Infusions
Command line infusions were introduced in firmware 1.1.0 for Mark V Pineapple. Command line infusions are just like regular infusions except they don't have a front-end. Command line infusions can be programmed from a mixture of PHP, Python, Perl, and BASH.
Command line Infusions were introduced in firmware 1.1.0 for Mark V Pineapple. Command line Infusions are just like regular Infusions except they don't have a front-end for the WebUI. Command line Infusions can be programmed in PHP, Python, Perl, or BASH.
## Creating Infusions
[Creating Infusions](creating_infusions.md) on the Mark V firmware is very simple. Go to the "Pineapple Bar" on you Pineapple's WebUI. This allows you to create a new infusion, or manage your existing infusions. The new Pineapple Bar also has a built-in basic text editor for quickly whipping up an Infusion.
[Creating Infusions](creating_infusions.md) on the Mark V firmware is very simple. Go to the "Pineapple Bar" in your Pineapple's WebUI. This allows you to create a new infusion, or manage your existing infusions. The new Pineapple Bar also has a built-in basic text editor for quickly whipping up an Infusion.
## Supporting your Infusion
@ -18,4 +18,4 @@ It is recommended that if you decide to submit your infusion for approval, you m
## List of Infusions
Here is a table of infusions: https://wifipineapple.com/?infusions
Here is a table of infusions: https://wifipineapple.com/?infusions. Note that Infusions for the WiFi Pineapple must be downloaded and installed from the "Pineapple Bar" on your WiFi Pineapple.

View File

@ -1,14 +1,15 @@
# What is Karma?
# What is Karma/Jasager?
Karma is a an attack vector based on exploiting the convenience of automatically connecting to that free wireless.
Karma is a an attack vector based on exploiting the convenience of wireless devices automatically connecting to open WiFi access points.
Jasager was the name originally given to the implementation of Karma for OpenWRT devices. The two words have since become synonymous.
# How does it Work?
Karma/Jasager works by automatically responding to 802.11 probes. These probes are sent from your client device (like your phone and tablet), These save the convenience of having to connect to the remembered wireless by doing it for you, asking "Is my open network around?". The Pineapples Karma helpfully responds to these probe requests, and says "Sure, I'm your remembered network, lets get you online!", And voilla, your pineapple is now the remembered wireless. From this, Monitor network traffic, inject code into pages and even spoof pages to have pictures of funny cats, if you'd like.
Karma/Jasager works by automatically responding to 802.11 probes. These probes are sent from a client device (such as a phone or tablet). This saves you the inconvenience of having to connect to an access point manually every time you want to connect to it. Essentially, the probes sent out by a client device are done so in order to ascertain whether any previously known WiFi access points are within range. The Pineapple's Karma helpfully responds to these probe requests affirmatively (hence the name 'Jasager') and thus impersonates the access point to the user, and voila, the client device is now connected to your Pineapple whilst believing that it is connected to a familiar access point. This is possible due to the lack of authentication in open WiFi networks. Once the client is connected to the Pineapple, you are the "man-in-the-middle" which means that you are able to take full control of the users web traffic; logging URLs, redirecting HTTP requests, or even injecting images of cats into web pages!
# How do I enable Karma?
Karma is most easily enabled from the Web UI, in the Karma tile. You can also enable it from a shell by executing :
The simplest way to activate Karma is from the Web UI, in the Karma tile. If you prefer, it can also be done from a shell via executing :
```
ifconfig wlan0 up
@ -17,8 +18,6 @@ hostapd_cli -p /var/run/hostapd-phy0 karma_enable;
## What devices does Karma work against?
Note: NB: Not entirely correct. To be edited.
Karma works by intercepting probe requests from potential wireless clients. Unfortunately, in recent years many software developers have patched wireless drivers in their Operating Systems to not actively broadcast probe requests whilst connected to an Access Point. This is most prevalent amongst mobile operating systems such as iOS and Android. NT-Based operating systems such as Windows are mostly unaffected due to their incapability to modify wireless drivers through the "Windows Update" feature. As a general rule, almost every device running an embedded or mobile OS developed after 2012 will not work with Karma.
Karma works by intercepting probe requests from potential wireless clients. Unfortunately, in recent years many software developers have patched wireless drivers in their Operating Systems to not actively broadcast probe requests whilst connected to an Access Point. This is most prevalent among mobile phone manufacturers such as Apple and Google, whose flagship software products are iOS and Android. NT-Based operating systems such as Windows are mostly unaffected due to their inability to modify wireless drivers through the "Windows Update" feature. As a general rule, almost every device running an embedded or mobile OS developed after 2012 will not work with Karma.
Currently the main use of Karma is an opportunistic attack vector rather than a specific one. Meaning that it is better to run karma to investigate susceptible devices and proceed from there, as opposed to targeting a specific device or user.

View File

@ -8,7 +8,7 @@ The instructions for connecting via the UART are the same as the Mark V's. They
## Enabling WAN
To utilize the WAN port, execute these commands from an SSH Session:
In order to utilize the WAN port, execute these commands from an SSH Session:
```
iptables -A FORWARD -i eth1 -o wlan0 -s 172.16.42.0 -m state --state NEW -j ACCEPT
@ -17,7 +17,7 @@ iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
```
## SSLStrip
To use SSLStrip, you must first install it :
To use SSLStrip, we first need to install it as well as Python. Ensure that your Pineapple is connected to the internet and then from an SSH session, issue the following commands:
```
opkg update
@ -25,21 +25,21 @@ opkg install sslstrip
opkg install --dest usb python
```
Then execute these commands:
Then we need to create a symlink from the USB Mass Storage to the Pineapple's root directory (/) to ensure that Python will work properly:
```
ln -s /usb/usr/lib/python2.7 /usr/lib/python2.7
touch /usb/usr/lib/python2.7/site-packages/zope/__init__.py
```
Now you need to configure IP Tables:
Finally, IPTables need to be configured correctly so as to allow the web traffic to be redirected to SSLStrip:
```
iptables -t nat -A PREROUTING -p tcp destination-port 80 -j REDIRECT to-ports 10000
iptables -t nat -A PREROUTING -p tcp destination-port 443 -j REDIRECT to-ports 10000
```
All you need to do now is execute SSLStrip.
Now you can execute SSLStrip as normal:
```
sslstrip -w sslstrip.log &

View File

@ -21,11 +21,11 @@
* [Factory Reset](reset.md)
* [Compatible Modems](compatible_modems.md)
* [Compatible Wireless Cards](compatible_wifi_cards.md)
* [SSLsplit on WiFi Pineapple](http://champagneandsecurity.wordpress.com/2014/07/26/sslsplit-on-wifi-pineapple/)
* [SSL VPN from WiFi Pineapple](https://forums.hak5.org/index.php?/topic/32784-how-to-tunnel-mk5-through-vpn/?p=246346)
* [SSLsplit on WiFi Pineapple **(External)**](http://champagneandsecurity.wordpress.com/2014/07/26/sslsplit-on-wifi-pineapple/)
* [SSL VPN from WiFi Pineapple **(External)**](https://forums.hak5.org/index.php?/topic/32784-how-to-tunnel-mk5-through-vpn/?p=246346)
* [Add SSL to Pineapple Web UI](add_ssl.md)
* [WarWalking with Kismet](https://forums.hak5.org/index.php?/topic/33626-warwalking-with-pineapple-and-battery/#entry250802)
* [PineShock](http://d.uijn.nl/?p=32)
* [WarWalking with Kismet **(External)**](https://forums.hak5.org/index.php?/topic/33626-warwalking-with-pineapple-and-battery/#entry250802)
* [PineShock **(External)**](http://d.uijn.nl/?p=32)
[Videos]()

View File

@ -1,6 +1,6 @@
# WiFi Pineapple MKV
The WiFi Pineapple is a Wireless Pen-Test Drop Box, The current revision sports a 400Mhz Atheros AR9331 SoC, 16MB of ROM, 64MB of RAM and an onboard Realtek RTL8187L Chipset, as well as MicroSD card support and 5 [DIP Switches](dip_switches.md).
The WiFi Pineapple is a Wireless Pen-Test Drop Box, The Mark V revision sports a 400Mhz Atheros AR9331 SoC, 16MB of ROM, 64MB of RAM and an onboard Realtek RTL8187L Chipset, as well as MicroSD card support and 5 [DIP Switches](dip_switches.md).
## Hardware
@ -27,7 +27,7 @@ The WiFi Pineapple has 4 major interfaces for communicating over, wlan0, wlan1,
### Internet Connection Sharing
You can share internet from your desktop or laptops wireless over ethernet to your pineapple to download various Infusions or share internet to your clients. For in depth way to share the connection see the [Internet Connection Sharing](ics.md) guides
You can share an internet connection from your desktop or laptop computer over ethernet in order to download various Infusions or share internet to your clients. For in depth way to share the connection see the [Internet Connection Sharing](ics.md) guides.
### Recovery

View File

@ -6,20 +6,20 @@ A factory reset is used to reset the WiFi Pineapple back to its default settings
If you're experiencing issues with your WiFi Pineapple or you simply want to restart from scratch, you can use the web interface to perform a factory reset by completing the following steps.
1. **Connect** to your WiFi Pineapple via Wi-Fi or ethernet cable
2. Open a web browser and **navigate** to your WiFi Pineapple's web interface: http://172.16.42.1:1471
3. Open the **"Configuration"** tile
4. Select the **"Advanced"** tab
5. Click **"Factory Reset Pineapple"**
6. **Wait** for your WiFi Pineapple to complete the factory reset
1. **Connect** to your WiFi Pineapple via Wi-Fi or ethernet cable.
2. Open a web browser and **navigate** to your WiFi Pineapple's web interface: http://172.16.42.1:1471.
3. Open the **"Configuration"** tile.
4. Select the **"Advanced"** tab.
5. Click **"Factory Reset Pineapple"**.
6. **Wait** for your WiFi Pineapple to complete the factory reset. This may take a while.
Once the factory reset is complete, your WiFi Pineapple will automatically reboot.
7. Connect to your WiFi Pineapple via Wi-Fi or ethernet cable
8. Open a web browser and **navigate to** your WiFi Pineapple's web interface: http://172.16.42.1:1471
9. **Follow** the on-screen instructions to create a new password
7. Connect to your WiFi Pineapple via Wi-Fi or ethernet cable.
8. Open a web browser and **navigate to** your WiFi Pineapple's web interface: http://172.16.42.1:1471.
9. **Follow** the on-screen instructions to create a new password.
Once you've finished creating a new password, your WiFi Pineapple will automatically reboot.
That's it! If everything went as planned, your WiFi Pineapple will be restored to its factory defaults the next time you login.
That's it! If everything went as planned, your WiFi Pineapple will have been restored to its factory defaults the next time you login.
## Factory Reset Via DIP Switches
@ -36,17 +36,17 @@ If you're locked out of your WiFi Pineapple or you've forgotten your password, y
Switch 5 - UP
```
NOTE: Position your WiFi Pineapple so the DIP switches are facing you. The DIP switches are ordered 1 through 5 from left to right.
NOTE: Position your WiFi Pineapple so the DIP switches are facing you. The DIP switches are ordered 1 through 5 from left to right. Please see the **[DIP Switches](http://wiki.wifipineapple.com/#!dip_switches.md)** Wiki page for more information.
3. Power **on** your WiFi Pineapple
3. Power **on** your WiFi Pineapple.
4. Allow your WiFi Pineapple **sufficient time** to execute the factory reset. When the factory reset is complete, your WiFi Pineapple will automatically reboot.
5. After the factory reset is complete and your WiFi Pineapple has finished booting, power **off** your WiFi Pineapple
6. Place **all five** of the DIP switches in the up position
7. Power **on** your WiFi Pineapple
8. **Connect** to your WiFi Pineapple via WiFi or ethernet cable
9. Open a web browser and **navigate to** your WiFi Pineapple's web interface: http://172.16.42.1:1471
10. **Follow** the on-screen instructions to create a new password
5. After the factory reset is complete and your WiFi Pineapple has finished booting, power **off** your WiFi Pineapple.
6. Place **all five** of the DIP switches in the up position.
7. Power **on** your WiFi Pineapple.
8. **Connect** to your WiFi Pineapple via WiFi or ethernet cable.
9. Open a web browser and **navigate to** your WiFi Pineapple's web interface: http://172.16.42.1:1471.
10. **Follow** the on-screen instructions to create a new password.
Once you've finished creating a new password, your WiFi Pineapple will automatically reboot.
That's it! If everything went as planned, your WiFi Pineapple will be restored to its factory defaults the next time you login.
That's it! If everything went as planned, your WiFi Pineapple will have been restored to its factory defaults the next time you login.

View File

@ -1,15 +1,15 @@
# Serial UART (Universal Asynchronous Receiver/Transmitter)
The WiFi Pineapple has a UART Serial interface mainly purposed for debugging and recovery. To access the UART you will need a TTL-UART-Serial adaptor. A recommended one would be the USB Adaptor with a CP2102 Chip, These can be bought from the Hak5's Hakshop.
The WiFi Pineapple has a UART Serial interface mainly purposed for debugging and recovery. Accessing your Pineapple via the UART Serial will give you terminal shell, similar to if you were to SSH in over a network. To access the UART you will need a TTL-UART-Serial adaptor. A recommended one would be the USB Adaptor with a CP2102 Chip. These can be bought from the [Hakshop](https://hakshop.myshopify.com/).
## Accessing the UART on Linux
To access the UART on Linux, You will need the following tools:
+ A UART Serial Adaptor.
+ Minicom (Linux)
+ Minicom (A Free Linux Utility)
You will need to connect the UART to the WiFi Pineapple. To do this, please refer to both the manual that you recieved with your pineapple and the table below (MK5 only). Double check that the device is oriented the same as the image in the manual.
**1)** You will need to connect the UART Adapter to the WiFi Pineapple. To do this, please refer to both the manual that you recieved with your pineapple and the table below (MK5 only). Double check that the device is oriented the same as the image in the manual.
![](imgs/serial_uart1.jpg)
@ -26,15 +26,15 @@ The table below is for the MK5, Left to Right when looking at the serial pins an
Warning: **(DO NOT PLUG IN THE VCC/VDD VOLTAGE PIN!)**
First, check what name your UART adaptor has, to do this, execute `ls /dev/tty*` and look for a ttyUSBx. Like this :
**2)** First, check what name your UART adaptor has, to do this, execute `ls /dev/tty*` and look for a ttyUSBx. Like this :
![](imgs/serial_uart2.png)
Next, after install minicom with your favourite package manager, open it as root with `sudo minicom -s` and enter into the 'Serial Port Setup' option. It will present you with a screen similiar to this, you need to change your existing commands to these, with the /dev/ttyUSB0 reflecting your adaptor name:
**3)** Next, after install minicom with your favourite package manager. If you are running a Debian-based distro (such as Ubunutu and its variants), then you only need to type `sudo apt-get install minicom` in a terminal. Once you've installed it, run it as root with `sudo minicom -s` and enter into the 'Serial Port Setup' option. It will present you with a screen similiar to this, you need to change your existing commands to these, with the /dev/ttyUSB0 reflecting your adaptor name:
![](imgs/serial_uart3.png)
Now press ESC and exit from minicom, Then run 'sudo minicom', and connect your pineapple to the Wall Adaptor powersource, you should see information flow through the terminal. After the pineapple has a solid blue light, you can press return on your keyboard to drop into a shell.
**4)** Now press ESC and exit from minicom, Then run 'sudo minicom', and connect your pineapple to the Wall Adaptor powersource, you should see information flow through the terminal. After the pineapple has a solid blue light, you can press return on your keyboard to drop into a shell.
![](imgs/serial_uart4.png)
@ -43,20 +43,20 @@ Now press ESC and exit from minicom, Then run 'sudo minicom', and connect your p
To access the UART on Windows, You will need the following tools:
- A UART Serial Adapter.
- Putty (or alternative such as kitty)
- PuTTY (or alternative such as KiTTY)
You will need to connect the UART to the WiFi Pineapple. To do this, please refer to the manual that you recieved with your pineapple. Double check the device is oriented the same as the image in the manual.
**1)** You will need to connect the UART to the WiFi Pineapple. To do this, please refer to the manual that you recieved with your pineapple. Double check the device is oriented the same as the image in the manual.
Warning: **(DO NOT PLUG IN THE VCC/VDD VOLTAGE PIN!)**
First, you will need to open device manager and check what com port number your UART facing serial interface has. Like this :
**2)** First, you will need to open Device Manager and check what COM port number your UART facing serial interface has. Like this :
![](imgs/serial_uart5.png)
Next, open putty and select the radio button for serial and then proceed to set the serial line to whatever you found in device manager and set the speed to 115200. All of the other settings can remain on their defaults.
**3)** Next, open PuTTY and select the radio button for serial and then proceed to set the serial line to whatever you found in Device Manager. Set the speed to 115200. All of the other settings can remain at their defaults.
![](imgs/serial_uart6.png)
Now, press open and connect your pineapple to a power source, you should see information flow through the terminal. After the pineapple has a solid blue light, you can press enter on your keyboard to drop into a shell.
**4)** Now, press open and connect your Pineapple to a power source, you should see information flow through the terminal. After the pineapple has a solid blue light, you can press enter on your keyboard to drop into a shell.
![](imgs/serial_uart7.png)

View File

@ -1,6 +1,6 @@
# Video Guides
## Guides
## General Guides
+ [Wardriving with Wifi Pineapple Mark V running Kismet](https://www.youtube.com/watch?v=ZDiByMQ7Wb8)
+ [Pineapple Wifi Intro and Reconnaissance View](https://www.youtube.com/watch?v=ttDQQqyVaIA)
@ -11,7 +11,7 @@
+ [WiFi Pineapple, Karma, sslstrip and Captive Portals](https://www.youtube.com/watch?v=vuzB8BvoRx4)
## Infusion Guides
## Infusion-Specific Guides
+ [Evil Portal 2.3 - Fix all the bugs!](https://www.youtube.com/watch?v=8D_MkqkeoWw&list=UUAY2nSvrK_8S91ub9j26csA)
+ [Collecting Browser Data With Evil Portal and Get](https://www.youtube.com/watch?v=puOP_0feBwY&list=UUAY2nSvrK_8S91ub9j26csA)

View File

@ -2,4 +2,7 @@
## Web User Interface
The WiFi Pineapples Web UI is in its 3rd major revision. It works in a tile interface, with small tiles for both System Tiles and Infusion Tiles, which can indicate status or information about the tiles purpose, and large tiles which are used to control the System/Infusion. The WebUIs files are located in `/pineapple/`.
The WiFi Pineapples Web UI is currently in its 3rd major revision. It presents a tiled interface, with smaller tiles for things like System and Configuration as well as for installed Infusions. These smaller tiles are what user is first presented with upon logging in to the WebUI. They can display various pieces of information relating to that tab, such as status updates or details of the tile's purpose.
If the heading of a smaller tile is clicked, then a larger tile is opened in the forefront of the interface. These larger tiles will contain more indepth settings and information. Many of these expanded tiles will also have tabs along the top in order to further categorise the wealth of options and features available.
The WebUI's files are located in `/pineapple/`

View File

@ -1,8 +1,8 @@
# Contributing to the Wiki
## Thank you
## Thank You
The WiFi Pineapple wiki is brought to you by the WiFi Pineapple team, and many other community members. As a community driven resource, the people who use and edit the wiki would be very grateful if you followed the few rules below. This page also has tips and tricks for making your article, which would also be fabulous.
The WiFi Pineapple Wiki is brought to you by the WiFi Pineapple Team, and many other community members. As a community driven resource, the people who use and edit the wiki would be very grateful if you followed the guidelines below. This page also has tips and tricks for making your article, which would also be fabulous.
All changes to the wiki can be contributed on [GitHub](https://github.com/hak5/wifipineapple-wiki)