2020-08-14 16:41:59 +05:30
|
|
|
# coding=utf-8
|
|
|
|
|
import os
|
2025-10-14 02:02:18 -04:00
|
|
|
import subprocess
|
2020-08-14 16:41:59 +05:30
|
|
|
|
|
|
|
|
from core import HackingTool
|
|
|
|
|
from core import HackingToolsCollection
|
|
|
|
|
|
2025-10-14 02:02:18 -04:00
|
|
|
from rich.console import Console
|
|
|
|
|
from rich.theme import Theme
|
|
|
|
|
from rich.table import Table
|
|
|
|
|
from rich.panel import Panel
|
|
|
|
|
from rich.prompt import Prompt
|
|
|
|
|
|
|
|
|
|
_theme = Theme({"purple": "#7B61FF"})
|
|
|
|
|
console = Console(theme=_theme)
|
|
|
|
|
|
2020-08-14 16:41:59 +05:30
|
|
|
|
|
|
|
|
class WIFIPumpkin(HackingTool):
|
|
|
|
|
TITLE = "WiFi-Pumpkin"
|
2025-10-14 02:02:18 -04:00
|
|
|
DESCRIPTION = (
|
|
|
|
|
"The WiFi-Pumpkin is a rogue AP framework to easily create "
|
|
|
|
|
"these fake networks\n"
|
|
|
|
|
"all while forwarding legitimate traffic to and from the "
|
|
|
|
|
"unsuspecting target."
|
|
|
|
|
)
|
2020-08-14 16:41:59 +05:30
|
|
|
INSTALL_COMMANDS = [
|
|
|
|
|
"sudo apt install libssl-dev libffi-dev build-essential",
|
|
|
|
|
"sudo git clone https://github.com/P0cL4bs/wifipumpkin3.git",
|
2020-12-26 16:56:05 +00:00
|
|
|
"chmod -R 755 wifipumpkin3",
|
2020-08-14 16:41:59 +05:30
|
|
|
"sudo apt install python3-pyqt5",
|
2025-10-14 02:02:18 -04:00
|
|
|
"cd wifipumpkin3;sudo python3 setup.py install",
|
2020-08-14 16:41:59 +05:30
|
|
|
]
|
|
|
|
|
RUN_COMMANDS = ["sudo wifipumpkin3"]
|
|
|
|
|
PROJECT_URL = "https://github.com/P0cL4bs/wifipumpkin3"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class pixiewps(HackingTool):
|
|
|
|
|
TITLE = "pixiewps"
|
2025-10-14 02:02:18 -04:00
|
|
|
DESCRIPTION = (
|
|
|
|
|
"Pixiewps is a tool written in C used to bruteforce offline "
|
|
|
|
|
"the WPS pin\n "
|
|
|
|
|
"exploiting the low or non-existing entropy of some Access "
|
|
|
|
|
"Points, the so-called pixie dust attack"
|
|
|
|
|
)
|
2020-08-14 16:41:59 +05:30
|
|
|
INSTALL_COMMANDS = [
|
|
|
|
|
"sudo git clone https://github.com/wiire/pixiewps.git && apt-get -y install build-essential",
|
|
|
|
|
"cd pixiewps*/ && make",
|
2025-10-14 02:02:18 -04:00
|
|
|
"cd pixiewps*/ && sudo make install && wget https://pastebin.com/y9Dk1Wjh",
|
2020-08-14 16:41:59 +05:30
|
|
|
]
|
|
|
|
|
PROJECT_URL = "https://github.com/wiire/pixiewps"
|
|
|
|
|
|
|
|
|
|
def run(self):
|
|
|
|
|
os.system(
|
|
|
|
|
'echo "'
|
|
|
|
|
'1.> Put your interface into monitor mode using '
|
2025-10-14 02:02:18 -04:00
|
|
|
"'airmon-ng start {wireless interface}\n'"
|
|
|
|
|
"'2.> wash -i {monitor-interface like mon0}\'\n'"
|
|
|
|
|
"'3.> reaver -i {monitor interface} -b {BSSID of router} -c {router channel} -vvv -K 1 -f"
|
|
|
|
|
'| boxes -d boy'
|
|
|
|
|
)
|
2020-08-14 16:41:59 +05:30
|
|
|
print("You Have To Run Manually By USing >>pixiewps -h ")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BluePot(HackingTool):
|
|
|
|
|
TITLE = "Bluetooth Honeypot GUI Framework"
|
2025-10-14 02:02:18 -04:00
|
|
|
DESCRIPTION = (
|
|
|
|
|
"You need to have at least 1 bluetooth receiver "
|
|
|
|
|
"(if you have many it will work with those, too).\n"
|
|
|
|
|
"You must install/libbluetooth-dev on "
|
|
|
|
|
"Ubuntu/bluez-libs-devel on Fedora/bluez-devel on openSUSE"
|
|
|
|
|
)
|
2020-08-14 16:41:59 +05:30
|
|
|
INSTALL_COMMANDS = [
|
2020-12-26 20:05:56 +00:00
|
|
|
"sudo wget https://raw.githubusercontent.com/andrewmichaelsmith/bluepot/master/bin/bluepot-0.2.tar.gz"
|
|
|
|
|
"sudo tar xfz bluepot-0.2.tar.gz;sudo rm bluepot-0.2.tar.gz"
|
2020-08-14 16:41:59 +05:30
|
|
|
]
|
2020-12-26 17:18:49 +00:00
|
|
|
RUN_COMMANDS = ["cd bluepot && sudo java -jar bluepot.jar"]
|
2020-08-14 16:41:59 +05:30
|
|
|
PROJECT_URL = "https://github.com/andrewmichaelsmith/bluepot"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Fluxion(HackingTool):
|
|
|
|
|
TITLE = "Fluxion"
|
2020-12-28 19:53:23 +01:00
|
|
|
DESCRIPTION = "Fluxion is a remake of linset by vk496 with enhanced functionality."
|
2020-08-14 16:41:59 +05:30
|
|
|
INSTALL_COMMANDS = [
|
2020-12-28 19:53:23 +01:00
|
|
|
"git clone https://github.com/FluxionNetwork/fluxion.git",
|
|
|
|
|
"cd fluxion && sudo chmod +x fluxion.sh",
|
2020-08-14 16:41:59 +05:30
|
|
|
]
|
2020-12-28 19:53:23 +01:00
|
|
|
RUN_COMMANDS = ["cd fluxion;sudo bash fluxion.sh -i"]
|
|
|
|
|
PROJECT_URL = "https://github.com/FluxionNetwork/fluxion"
|
2020-08-14 16:41:59 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
class Wifiphisher(HackingTool):
|
|
|
|
|
TITLE = "Wifiphisher"
|
|
|
|
|
DESCRIPTION = """
|
|
|
|
|
Wifiphisher is a rogue Access Point framework for conducting red team engagements or Wi-Fi security testing.
|
|
|
|
|
Using Wifiphisher, penetration testers can easily achieve a man-in-the-middle position against wireless clients by performing
|
|
|
|
|
targeted Wi-Fi association attacks. Wifiphisher can be further used to mount victim-customized web phishing attacks against the
|
|
|
|
|
connected clients in order to capture credentials (e.g. from third party login pages or WPA/WPA2 Pre-Shared Keys) or infect the
|
|
|
|
|
victim stations with malware..\n
|
|
|
|
|
For More Details Visit >> https://github.com/wifiphisher/wifiphisher
|
|
|
|
|
"""
|
|
|
|
|
INSTALL_COMMANDS = [
|
|
|
|
|
"git clone https://github.com/wifiphisher/wifiphisher.git",
|
2025-10-14 02:02:18 -04:00
|
|
|
"cd wifiphisher;sudo python3 setup.py install",
|
2020-08-14 16:41:59 +05:30
|
|
|
]
|
|
|
|
|
RUN_COMMANDS = ["cd wifiphisher;sudo wifiphisher"]
|
|
|
|
|
PROJECT_URL = "https://github.com/wifiphisher/wifiphisher"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Wifite(HackingTool):
|
|
|
|
|
TITLE = "Wifite"
|
2020-12-26 20:48:42 +00:00
|
|
|
DESCRIPTION = "Wifite is an automated wireless attack tool"
|
2020-08-14 16:41:59 +05:30
|
|
|
INSTALL_COMMANDS = [
|
|
|
|
|
"sudo git clone https://github.com/derv82/wifite2.git",
|
2025-10-14 02:02:18 -04:00
|
|
|
"cd wifite2 && sudo python3 setup.py install",
|
2020-08-14 16:41:59 +05:30
|
|
|
]
|
|
|
|
|
RUN_COMMANDS = ["cd wifite2; sudo wifite"]
|
|
|
|
|
PROJECT_URL = "https://github.com/derv82/wifite2"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EvilTwin(HackingTool):
|
|
|
|
|
TITLE = "EvilTwin"
|
2025-10-14 02:02:18 -04:00
|
|
|
DESCRIPTION = (
|
|
|
|
|
"Fakeap is a script to perform Evil Twin Attack, by getting"
|
|
|
|
|
" credentials using a Fake page and Fake Access Point"
|
|
|
|
|
)
|
2020-08-14 16:41:59 +05:30
|
|
|
INSTALL_COMMANDS = ["sudo git clone https://github.com/Z4nzu/fakeap.git"]
|
|
|
|
|
RUN_COMMANDS = ["cd fakeap && sudo bash fakeap.sh"]
|
|
|
|
|
PROJECT_URL = "https://github.com/Z4nzu/fakeap"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Fastssh(HackingTool):
|
|
|
|
|
TITLE = "Fastssh"
|
2025-10-14 02:02:18 -04:00
|
|
|
DESCRIPTION = (
|
|
|
|
|
"Fastssh is an Shell Script to perform multi-threaded scan"
|
|
|
|
|
" \n and brute force attack against SSH protocol using the "
|
|
|
|
|
"most commonly credentials."
|
|
|
|
|
)
|
2020-08-14 16:41:59 +05:30
|
|
|
INSTALL_COMMANDS = [
|
|
|
|
|
"sudo git clone https://github.com/Z4nzu/fastssh.git && cd fastssh && sudo chmod +x fastssh.sh",
|
2025-10-14 02:02:18 -04:00
|
|
|
"sudo apt-get install -y sshpass netcat",
|
2020-08-14 16:41:59 +05:30
|
|
|
]
|
|
|
|
|
RUN_COMMANDS = ["cd fastssh && sudo bash fastssh.sh --scan"]
|
|
|
|
|
PROJECT_URL = "https://github.com/Z4nzu/fastssh"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Howmanypeople(HackingTool):
|
|
|
|
|
TITLE = "Howmanypeople"
|
2025-10-14 02:02:18 -04:00
|
|
|
DESCRIPTION = (
|
|
|
|
|
"Count the number of people around you by monitoring wifi "
|
|
|
|
|
"signals.\n"
|
|
|
|
|
"[@] WIFI ADAPTER REQUIRED* \n[*]"
|
|
|
|
|
"It may be illegal to monitor networks for MAC addresses, \n"
|
|
|
|
|
"especially on networks that you do not own. "
|
|
|
|
|
"Please check your country's laws"
|
|
|
|
|
)
|
2020-08-14 16:41:59 +05:30
|
|
|
INSTALL_COMMANDS = [
|
|
|
|
|
"sudo apt-get install tshark"
|
2020-12-15 18:07:12 -05:00
|
|
|
";sudo python3 -m pip install howmanypeoplearearound"
|
2020-08-14 16:41:59 +05:30
|
|
|
]
|
2020-12-15 18:09:52 -05:00
|
|
|
RUN_COMMANDS = ["howmanypeoplearearound"]
|
2020-08-14 16:41:59 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
class WirelessAttackTools(HackingToolsCollection):
|
|
|
|
|
TITLE = "Wireless attack tools"
|
|
|
|
|
DESCRIPTION = ""
|
|
|
|
|
TOOLS = [
|
|
|
|
|
WIFIPumpkin(),
|
|
|
|
|
pixiewps(),
|
|
|
|
|
BluePot(),
|
|
|
|
|
Fluxion(),
|
|
|
|
|
Wifiphisher(),
|
|
|
|
|
Wifite(),
|
|
|
|
|
EvilTwin(),
|
|
|
|
|
Fastssh(),
|
2025-10-14 02:02:18 -04:00
|
|
|
Howmanypeople(),
|
2020-08-14 16:41:59 +05:30
|
|
|
]
|
2025-10-14 02:02:18 -04:00
|
|
|
|
|
|
|
|
def pretty_print(self):
|
|
|
|
|
table = Table(title="Wireless Attack Tools", show_lines=True, expand=True)
|
|
|
|
|
table.add_column("Title", style="purple", no_wrap=True)
|
|
|
|
|
table.add_column("Description", style="purple")
|
|
|
|
|
table.add_column("Project URL", style="purple", no_wrap=True)
|
|
|
|
|
|
|
|
|
|
for t in self.TOOLS:
|
|
|
|
|
desc = getattr(t, "DESCRIPTION", "") or ""
|
|
|
|
|
url = getattr(t, "PROJECT_URL", "") or ""
|
|
|
|
|
table.add_row(t.TITLE, desc.strip().replace("\n", " "), url)
|
|
|
|
|
|
|
|
|
|
panel = Panel(table, title="[purple]Available Tools[/purple]", border_style="purple")
|
|
|
|
|
console.print(panel)
|
|
|
|
|
|
|
|
|
|
def show_options(self, parent=None):
|
|
|
|
|
console.print("\n")
|
|
|
|
|
panel = Panel.fit("[bold magenta]Wireless Attack Tools Collection[/bold magenta]\n"
|
|
|
|
|
"Select a tool to view options or run it.",
|
|
|
|
|
border_style="purple")
|
|
|
|
|
console.print(panel)
|
|
|
|
|
|
|
|
|
|
table = Table(title="[bold cyan]Available Tools[/bold cyan]", show_lines=True, expand=True)
|
|
|
|
|
table.add_column("Index", justify="center", style="bold yellow")
|
|
|
|
|
table.add_column("Tool Name", justify="left", style="bold green")
|
|
|
|
|
table.add_column("Description", justify="left", style="white")
|
|
|
|
|
|
|
|
|
|
for i, tool in enumerate(self.TOOLS):
|
|
|
|
|
title = getattr(tool, "TITLE", tool.__class__.__name__)
|
|
|
|
|
desc = getattr(tool, "DESCRIPTION", "—")
|
|
|
|
|
table.add_row(str(i + 1), title, desc or "—")
|
|
|
|
|
|
|
|
|
|
table.add_row("[red]99[/red]", "[bold red]Exit[/bold red]", "Return to previous menu")
|
|
|
|
|
console.print(table)
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
choice = Prompt.ask("[bold cyan]Select a tool to run[/bold cyan]", default="99")
|
|
|
|
|
choice = int(choice)
|
|
|
|
|
if 1 <= choice <= len(self.TOOLS):
|
|
|
|
|
selected = self.TOOLS[choice - 1]
|
|
|
|
|
if hasattr(selected, "show_options"):
|
|
|
|
|
selected.show_options(parent=self)
|
|
|
|
|
elif hasattr(selected, "run"):
|
|
|
|
|
selected.run()
|
|
|
|
|
else:
|
|
|
|
|
console.print("[bold yellow]Selected tool has no runnable interface.[/bold yellow]")
|
|
|
|
|
elif choice == 99:
|
|
|
|
|
return 99
|
|
|
|
|
except Exception:
|
|
|
|
|
console.print("[bold red]Invalid choice. Try again.[/bold red]")
|
|
|
|
|
return self.show_options(parent=parent)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
tools = WirelessAttackTools()
|
|
|
|
|
tools.pretty_print()
|
|
|
|
|
tools.show_options()
|