FruityWiFi v2.2 on Raspberry Pi 2 and Kali 2

Holla! I recently found a really cool project called FruityWiFi. I decided to try it out on the Raspberry Pi as a comparison to another review I did of the PwnPi, looking for some good alternatives to a pentest drop box system for my favorite ARM flavored platform. Tldr; I eventually got FruityWifi working on the Raspberry Pi 2 but I had to go back to an older version of Kali 1 for the Rasp Pi 2. I also got it working  in a virtual machine, this was way easier. Overall nice platform, but feels buggy / untested, especially when setting it up on the Raspberry Pi 2.

I first approached FruityWiFi running a Raspberry Pi 1 model B+, based in Raspbian with a 8Gb micro-SD card (refresh differences between a Pi model 1 and a model 2). Aside from the initial install being long on the Pi 1, none of the modules would subsequently install properly, making the Raspberry Pi Model 1 not the best choice for running the new v2.2 release. While at first I was sure I must have hit a corner case, as there are videos of the old Fruity running on a Pi 1, I decided just to move on with the faster Pi 2 Model B to save time. This setup used a Rasp Pi 2 B, a 16Gb micro-SD card, a TP-Link TL-WN722N, mouse, keyboard, monitor and a case (I also had a backup Hornettek HT-M802N as a regular wireless client). I later got an externally powered USB hub for the TP-Link wifi adapter, wanting to rule out the possibility of it being under-powered as the problem. I also flashed a Kali 2.0.1-RPi2 image, provided by OffSec (The Kali 2.0.1 image turns out to have been the major issue at the time). I first installed the packages via the Kali repos, i.e: apt-get install fruitywifi, then I ran the install script for Fruity: sh install-FruityWifi.sh. Next, browse to http://127.0.0.1:8000, the default username/password for Fruity is admin:admin, although you will want change this and your default kali un/pw. Once logged in with an internet connection it is easy to pull the modules from the modules page. Granted, the github certificates are un-trusted on the Kali image for Arm, so you have to add these manually. The framework seemed buggy on top of the Rasp Pi; I kept running into issues, thankfully they seemed well documented on the forum. If you experience issues when setting up the Raspberry Pi, I would check the forums first to see if other users have experienced similar issues. Despite coming across my exact issue, I was unable to get hostapd or airmon-ng running through Fruity / Kali on the Rasp Pi 2 with Kali 2, such that they wouldn't hand out IP addresses through DHCP when a new host joined. The following lack of DHCP addresses would then cause clients to timeout and drop off. reviewing the forums, I figured I could work my way backwards to a good version and was able to find an older version of Kali 1.1.0 RPi2 for Armv7 (Raspberry Pi 2) to run FruityWifi v2.2 on! I was stoked when this worked, the power and ease of Fruity on a mobile Raspberry Pi solution is ideal, although was difficult to arrive at.


During my attempts, I really wanted this project to work, so as a control I downloaded FruityWiFiv2.2 and ran it in a Kali 2 VM to confirm the issues were specific to the Rasp Pi 2 / Kali 2 build and not my own induced or hardware based error. As before, the install was slightly buggy and I had to consult the forums a few times, but I confirmed the framework working on in the Kali v2.0 VM with relative ease (using the same wireless card and USB hub), it seemed only the Pi or Arm based OS was unable to issue dhcp addresses to newly joined clients.

The coolest part of FruityWiFi is the simple main interface, the web application module wrapper! This is where you can import packages from the github projects or Kali repos that have supported web app modules. These are well known pentesting packages and each very powerful in their own way. The wrappers will then let you easily configure and run the tools, making it a breeze to run some of your favorite tool chains remotely via wifi and a web application wrapper! For example, in my Kali VM it was a breeze to set up a rouge access point with a captive portal, sslstrip and responder all running to gather credentials. Fruity makes it really easy of those Rouge AP style kill chains quickly via the web application wrapper. A drawback is that the web application wrapper can sometime be buggy or not work as understood, in these cases it's best to run the same tools via the CLI in a similar fashion to how you would traditionally chain them together.

The Xtr4nge Youtube channel also has a lot of good tutorials using the FruityWiFi framework, so much so that I had to include one at the end. These videos really convey the utility and power of the framework. While I did get FruityWiFi v2.2 working on a Raspberry Pi 2, running Kali 1, I hit so many road blocks along the way that I honestly don't think it is fair to call it stable on the Pi at this point. The project has a manual, set of tutorials on a wiki, a FAQs and even a forum (super helpful and I read through all of them) to ask questions on! Despite all the good resources, I'm still looking forward to help getting it running on the Rasp Pi 2 / Kali v2. All that said, xtr4nge has been putting in a ton of work on this framework,and it gets better every month, so I will keep my eyes on it for when that Raspberry Pi support improves (supposedly he will be releasing LCD display code for the Rasp Pi, looking forward to this).