HomePwn - Swiss Army Knife for Pentesting of IoT Devices
.__ __________
| |__ ____ _____ ____\______ \__ _ ______
| | \ / _ \ / \_/ __ \| ___/\ \/ \/ / \
| Y ( <_> ) Y Y \ ___/| | \ / | \
|___| /\____/|__|_| /\___ >____| \/\_/|___| /
\/ \/ \/ \/
☠ HomePwn - IoT Pentesting & Ethical Hacking ☠
Created with ♥ by: 'Ideas Locas (CDO Telefonica)'
HomePwn is a framework that provides features to audit and pentesting devices that company employees can use in their day-to-day work and inside the same working environment. It is designed to find devices in the home or office, take advantage of certain vulnerabilities to read or send data to those devices. With a strong library of modules you can use this tool to load new features and use them in a vast variety of devices.
HomePwn has a modular architecture in which any user can expand the knowledge base about different technologies. Principally it has two different components:
-
Discovery modules. These modules provide functionalities related to the discovery stage, regardless of the technology to be used. For example, it can be used to conduct WiFi scans via an adapter in monitor mode, perform discovery of BLE devices, Bluetooth Low-Energy, which other devices are nearby and view their connectivity status, etc. Also, It can be used to discover a home or office IoT services using protocols such as SSDP or Simple Service Discovery Protocol and MDNS or Multicast DNS.
-
Specific modules for the technology to be audited. On the other hand, there are specific modules for audited technology. Today, HomePwn can perform auditing tests on technologies such as WiFi, NFC, or BLE. In other words, there are modules for each of these technologies in which different known vulnerabilities or different techniques are implemented to asses the device's security level implemented and communicated with this kind of technologies.
Built With
- Python - Programming language used
- Prompt Toolkit - Python command line
Documentation
It's possible to read the documentation in our papers:
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites:
You need to have Linux and python 3.6+ running in your computer, please install them in the download page.
- Ubuntu, Debian or similar.
- Python 3.6+.
Installing all requisites:
To install all dependencies in Ubuntu 18.04 or derivatives use the file install.sh
> sudo apt-get update
> cd [path to the HomePWN project]
> sudo ./install.sh
The script ask you if you want to create a virtualenv, if your answer is 'y' then it installs python libraries within the virtual environment, if not in the system itself
Usage
To run the script, if you chose a virtual environment in the installation follow execute the next command to activate the virtual environment:
> source homePwn/bin/activate
Launch the application:
> sudo python3 homePwn.py
Configure Alpha Card
https://askubuntu.com/questions/1122095/install-alfa-awus036nha-driver-on-ubuntu-18-04-lts
Examples
Here are some videos to see how the tool works.
HomePwn. Bluetooth Low-Energy PoC & Hacking
HomePwn. Bluetooth Spoofing
HomePwn. NFC Clone
HomePwn. BLE capture on PCAP file (sniffing)
HomePwn. QR Options hack
HomePwn. Apple BLE Discovery
HomePwn. Xiaomi IoT Advertisement
Authors
This project has been developed by the team of 'Ideas Locas' (CDO - Telefónica). To contact the authors:
- Pablo Gonzázlez Perez -- @pablogonzalezpe -- pablo.gonzalezperez@telefonica.com
- Josué Encinar García -- @JosueEncinar -- josue.encinargarcia@telefonica.com
- Lucas Fernández Aragón -- @lucferbux -- lucas.fernandezaragon@telefonica.com
See also the list of CONTRIBUTORS.md who participated in this project.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
License
This project is licensed under the GNU General Public License - see the LICENSE.md file for details.
Disclaimer!
THE SOFTWARE (for educational purpose only) IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
This software doesn't have a QA Process.