Difference between revisions of "WiFi-Pumpkin"

From Embedded Lab Vienna for IoT & Security
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Summary ==  
== Summary ==  


Create a rogue Wi-Fi access point on Raspberry Pi.
Create a [https://en.wikipedia.org/wiki/Rogue_access_point rogue Wi-Fi access point] on [[Raspberry Pi 3, Model B+, WLAN, BT|Raspberry Pi]].


== Requirements ==
== Requirements ==


* Operating system: Kali Linux RaspberryPi 2 and 3
* Operating system: [https://www.offensive-security.com/kali-linux-arm-images/ Kali Linux RaspberryPi 2 and 3]
** Version 2019.1
** Version 2019.1
* Packages: Dependencies WiFi-Pumpkin
* Packages: Dependencies [https://github.com/P0cL4bs/WiFi-Pumpkin WiFi-Pumpkin]


== Description ==
== Description ==
Line 13: Line 13:
=== Setup ===
=== Setup ===


==== Touchscreen ====
==== [[Raspberry Pi 7" Display Touch Screen LCD|Touchscreen]] ====


* Connect the small ribbon cable to the connector on the top of the board
* Connect the small ribbon cable to the connector on the top of the board
Line 19: Line 19:
* Connect the white ribbon cable to the connector on the board
* Connect the white ribbon cable to the connector on the board
* Connect the four jumper wires to the 5V, GND, SCL and SDA pins on the display driver board
* Connect the four jumper wires to the 5V, GND, SCL and SDA pins on the display driver board
* Mount your Raspberry Pi onto the four spacers
* Mount your [[Raspberry Pi 3, Model B+, WLAN, BT|Raspberry Pi]] onto the four spacers
* Connect the white ribbon to the Display Connector of the Raspberry Pi
* Connect the white ribbon to the Display Connector of the [[Raspberry Pi 3, Model B+, WLAN, BT|Raspberry Pi]]
* Connect the jumper wires (assuming your Pi is in front of you with the GPIO on the right side):
* Connect the jumper wires (assuming your [[Raspberry Pi 3, Model B+, WLAN, BT|Raspberry Pi]] is in front of you with the [https://en.wikipedia.org/wiki/General-purpose_input/output GPIO] on the right side):
** GND to the third pin down on the right hand side
** GND to the third pin down on the right hand side
** 5V to the second pin down on the right
** 5V to the second pin down on the right
** SCL to the third pin down on the left hand side
** SCL to the third pin down on the left hand side
** SDA to the second pin down on the left hand side
** SDA to the second pin down on the left hand side
* Connect your keyboard and mouse to the Pi
** Click [https://thepihut.com/blogs/raspberry-pi-tutorials/45295044-raspberry-pi-7-touch-screen-assembly-guide here] for more detailed information of the assembly
* Connect the ALFA wireless interface to the Pi
* Connect your keyboard and mouse to the [[Raspberry Pi 3, Model B+, WLAN, BT|Raspberry Pi]]
* Connect the [[Alfa AWUS036ACH Wide Range AC1200 Wireless Adapter|ALFA]] wireless interface to the [[Raspberry Pi 3, Model B+, WLAN, BT|Raspberry Pi]]
* Do NOT power on yet
* Do NOT power on yet


=== Installation ===
=== Installation ===


* Download, unzip and install Kali Linux RaspberryPi 2 and 3 (version 2019.1) on your SD card with the PC
* Download, unzip and install [https://www.offensive-security.com/kali-linux-arm-images/ Kali Linux RaspberryPi 2 and 3] (version 2019.1) on your SD card with the PC
* Insert the SD card into the Pi and connect the Pi with the power source
* Insert the SD card into the [[Raspberry Pi 3, Model B+, WLAN, BT|Raspberry Pi]] and connect it with the power source
* Login with username "root" and password "toor"
* Login with username "root" and password "toor"
* Open a terminal and update:
* Open a terminal and update:
Line 48: Line 49:
   passwd
   passwd


* Regenerate SSH keys:
* Regenerate [https://en.wikipedia.org/wiki/Secure_Shell SSH] keys:


   dpkg-reconfigure openssh-server
   dpkg-reconfigure openssh-server
Line 56: Line 57:
   apt-get install gparted
   apt-get install gparted


* Launch the tool and resize the ext4 partition to use the rest of the unused space
* Launch the tool and resize the [https://en.wikipedia.org/wiki/Ext4 ext4] partition to use the rest of the unused space


----
----


* Install WiFi-Pumpkin:
* Install [https://github.com/P0cL4bs/WiFi-Pumpkin WiFi-Pumpkin]:


   git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git
   git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git
Line 76: Line 77:
== Usage ==
== Usage ==


* Connect to the Internet with the internal interface of the Pi (either wired or wireless)
* Connect to the Internet with the internal interface of the [[Raspberry Pi 3, Model B+, WLAN, BT|Raspberry Pi]] (either wired or wireless)
* Identify the name of ALFA wireless interface (wlan1 in my case): # iwconfig
* Identify the name of [[Alfa AWUS036ACH Wide Range AC1200 Wireless Adapter|ALFA]] wireless interface (wlan1 in my case):
* Put ALFA wireless interface in monitor mode:
 
  iwconfig
 
* Set the [[Alfa AWUS036ACH Wide Range AC1200 Wireless Adapter|ALFA]] wireless interface to [https://en.wikipedia.org/wiki/Monitor_mode monitor mode]:


   ifconfig wlan1 down
   ifconfig wlan1 down
Line 90: Line 94:
   airodump-ng wlan1
   airodump-ng wlan1


* Check the channel of your target network (1 in my case)
* Check the [https://en.wikipedia.org/wiki/List_of_WLAN_channels channel] of your target network (1 in my case)
* Put your ALFA in the appropriate channel:
* Set your [[Alfa AWUS036ACH Wide Range AC1200 Wireless Adapter|ALFA]] to the appropriate [https://en.wikipedia.org/wiki/List_of_WLAN_channels channel]:


   iwconfig wlan1 channel 1
   iwconfig wlan1 channel 1
Line 101: Line 105:
   iwconfig wlan1
   iwconfig wlan1


* Start WiFi-Pumpkin:
* Start [https://github.com/P0cL4bs/WiFi-Pumpkin WiFi-Pumpkin]:


   wifi-pumpkin
   wifi-pumpkin
Line 107: Line 111:
* A GUI opens
* A GUI opens
* Go to "Settings":
* Go to "Settings":
** Change "SSID" to the same name as your target network (OpenHotSpot in my case)
** Change "[https://en.wikipedia.org/wiki/Service_set_(802.11_network)#Service_set_identifier_(SSID) SSID]" to the same name as your target network (OpenHotSpot in my case)
** Change "Channel" to the channel you discovered before (1 in my case)
** Change "[https://en.wikipedia.org/wiki/List_of_WLAN_channels Channel]" to the [https://en.wikipedia.org/wiki/List_of_WLAN_channels channel] you discovered before (1 in my case)
** Change "Network Adapter" to your ALFA's name (wlan1 in my case)
** Change "Network Adapter" to your [https://www.alfa.com.tw/WiFi%20USB%20Antenna.html ALFA]'s name (wlan1 in my case)
** My target network does not have any security, so I leave "Wireless Security" unchecked
** My target network does not have any security, so I leave "Wireless Security" unchecked
* Go to "Plugins":
* Go to "Plugins":
** Check "Enable Proxy Server"
** Check "Enable Proxy Server"
** Check "TCP Proxy"
** Check "[https://github.com/P0cL4bs/WiFi-Pumpkin/wiki/TCP-PProxy TCP Proxy]"
** Select "SSLStrip+DNS2Proxy"
** Select "[https://github.com/LeonardoNve/sslstrip2 SSLStrip]+[https://github.com/LeonardoNve/dns2proxy DNS2Proxy]"
* Hit start and watch the clients connect to your rogue AP!!
* Hit start and watch the clients connect to your rogue AP!!


== Used Hardware ==
== Used Hardware ==


* Raspberry Pi 3 Model B
* [[Raspberry Pi 3, Model B+, WLAN, BT]]
* Micro SD Card 8GB + adapter
* [[Kingston 8GB micro SD-HC class 4]]
* Raspberry Pi 7" Touchscreen Display
* [[Raspberry Pi 7" Display Touch Screen LCD]]
* Micro USB charger 2.5 A for Raspberry Pi
* [[Goobay micro-USB Netzteil 2.5A for Raspberry Pi]]
* ALFA NETWORK AWUS036ACH
* [https://www.alfa.com.tw/WiFi%20USB%20Antenna.html ALFA NETWORK AWUS036ACH]
* external mouse + keyboard
* external mouse + keyboard
* PC
* PC

Latest revision as of 13:00, 12 March 2019

Summary

Create a rogue Wi-Fi access point on Raspberry Pi.

Requirements

Description

Setup

Touchscreen

  • Connect the small ribbon cable to the connector on the top of the board
  • Fix the board to the screen with the four spacers
  • Connect the white ribbon cable to the connector on the board
  • Connect the four jumper wires to the 5V, GND, SCL and SDA pins on the display driver board
  • Mount your Raspberry Pi onto the four spacers
  • Connect the white ribbon to the Display Connector of the Raspberry Pi
  • Connect the jumper wires (assuming your Raspberry Pi is in front of you with the GPIO on the right side):
    • GND to the third pin down on the right hand side
    • 5V to the second pin down on the right
    • SCL to the third pin down on the left hand side
    • SDA to the second pin down on the left hand side
    • Click here for more detailed information of the assembly
  • Connect your keyboard and mouse to the Raspberry Pi
  • Connect the ALFA wireless interface to the Raspberry Pi
  • Do NOT power on yet

Installation

  • Download, unzip and install Kali Linux RaspberryPi 2 and 3 (version 2019.1) on your SD card with the PC
  • Insert the SD card into the Raspberry Pi and connect it with the power source
  • Login with username "root" and password "toor"
  • Open a terminal and update:
  apt-get update
  apt-get upgrade

Optional

  • Change the password:
  passwd
  • Regenerate SSH keys:
  dpkg-reconfigure openssh-server
  • Expand the image to use all SD card space:
  apt-get install gparted
  • Launch the tool and resize the ext4 partition to use the rest of the unused space

  git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git
  cd WiFi-Pumpkin
  chmod +x installer.sh
  sudo ./installer.sh --install
  • Install dependencies:
  pip install -r requirements.txt

Usage

  • Connect to the Internet with the internal interface of the Raspberry Pi (either wired or wireless)
  • Identify the name of ALFA wireless interface (wlan1 in my case):
  iwconfig
  ifconfig wlan1 down
  iwconfig wlan1 mode monitor
  ifconfig wlan1 up
  • Start monitoring the networks:
  airodump-ng wlan1
  • Check the channel of your target network (1 in my case)
  • Set your ALFA to the appropriate channel:
  iwconfig wlan1 channel 1
  • Check the frequency:
  iwlist channel
  iwconfig wlan1
  wifi-pumpkin
  • A GUI opens
  • Go to "Settings":
    • Change "SSID" to the same name as your target network (OpenHotSpot in my case)
    • Change "Channel" to the channel you discovered before (1 in my case)
    • Change "Network Adapter" to your ALFA's name (wlan1 in my case)
    • My target network does not have any security, so I leave "Wireless Security" unchecked
  • Go to "Plugins":
  • Hit start and watch the clients connect to your rogue AP!!

Used Hardware

References