
VERALTET, wifipumpkin3 -> https://github.com/P0cL4bs/wifipumpkin3

WiFi-Pumpkin - Framework for Rogue Wi-Fi Access Point Attack
Das WiFi-Pumpkin ist ein Rogue-AP-Framework, das es einfach macht, diese gefälschten Netzwerke zu erstellen, während gleichzeitig legitimer Datenverkehr zum und vom ahnungslosen Ziel weitergeleitet wird. Es ist vollgepackt mit Funktionen, darunter Rogue-Wi-Fi-Access-Points, Deauth-Angriffe auf Client-APs, ein Probe-Request- und Anmeldeinformationsmonitor, transparenter Proxy, Windows-Update-Angriff, Phishing-Manager, ARP-Poisoning, DNS-Spoofing, Pumpkin-Proxy und Bilderfassung im laufenden Betrieb. Darüber hinaus ist das WiFi-Pumpkin ein sehr vollständiges Framework für das Auditing der Wi-Fi-Sicherheit. Die Liste der Funktionen ist recht umfangreich.

git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git
cd WiFi-Pumpkin
./installer.sh --install
oder lade die .deb-Datei herunter, um sie zu installieren
sudo dpkg -i wifi-pumpkin-0.8.8-all.deb
sudo apt-get -f install # force install dependencies if not install normally
Siehe das Wiki für die Installation
1HBXz6XX3LcHqUnaca5HRqq6rPUmA3pf6f

Transparente Proxys (mitmproxy), die Sie verwenden können, um HTTP-Verkehr abzufangen und zu manipulieren, indem Sie Requests und Responses modifizieren. Dies ermöglicht das Injizieren von JavaScript in die besuchten Ziele. Sie können einfach ein Modul implementieren, um Daten in Seiten zu injizieren, indem Sie eine Python-Datei im Verzeichnis "plugins/extension/" erstellen, die automatisch im Tab Pumpkin-Proxy aufgelistet wird.
from mitmproxy.models import decoded # for decode content html
from plugins.extension.plugin import PluginTemplate
class Nameplugin(PluginTemplate):
meta = {
'Name' : 'Nameplugin',
'Version' : '1.0',
'Description' : 'Brief description of the new plugin',
'Author' : 'by dev'
}
def __init__(self):
for key,value in self.meta.items():
self.__dict__[key] = value
# if you want set arguments check refer wiki more info.
self.ConfigParser = False # No require arguments
def request(self, flow):
print flow.__dict__
print flow.request.__dict__
print flow.request.headers.__dict__ # request headers
host = flow.request.pretty_host # get domain on the fly requests
versionH = flow.request.http_version # get http version
# get redirect domains example
# pretty_host takes the "Host" header of the request into account,
if flow.request.pretty_host == "example.org":
flow.request.host = "mitmproxy.org"
# get all request Header example
self.send_output.emit("\n[{}][HTTP REQUEST HEADERS]".format(self.Name))
for name, valur in flow.request.headers.iteritems():
self.send_output.emit('{}: {}'.format(name,valur))
print flow.request.method # show method request
# the model printer data
self.send_output.emit('[NamePlugin]:: this is model for save data logging')
def response(self, flow):
print flow.__dict__
print flow.response.__dict__
print flow.response.headers.__dict__ #convert headers for python dict
print flow.response.headers['Content-Type'] # get content type
#every HTTP response before it is returned to the client
with decoded(flow.response):
print flow.response.content # content html
flow.response.content.replace('</body>','<h1>injected</h1></body>') # replace content tag
del flow.response.headers["X-XSS-Protection"] # remove protection Header
flow.response.headers["newheader"] = "foo" # adds a new header
#and the new header will be added to all responses passing through the proxy
Plugins im Wiki
Ein Proxy, den Sie zwischen einem TCP-Stream platzieren können. Er filtert die Request- und Response-Streams mit dem (scapy-Modul) und modifiziert aktiv Pakete eines TCP-Protokolls, das von WiFi-Pumpkin abgefangen wird. Dieses Plugin verwendet Module, um die abgefangenen Daten anzuzeigen oder zu modifizieren. Die Implementierung eines Moduls ist möglicherweise am einfachsten, indem Sie Ihr benutzerdefiniertes Modul in "plugins/analyzers/" hinzufügen; es wird automatisch im Tab TCP-Proxy aufgelistet.
from scapy.all import *
from scapy_http import http # for layer HTTP
from default import PSniffer # base plugin class
class ExamplePlugin(PSniffer):
_activated = False
_instance = None
meta = {
'Name' : 'Example',
'Version' : '1.0',
'Description' : 'Brief description of the new plugin',
'Author' : 'your name',
}
def __init__(self):
for key,value in self.meta.items():
self.__dict__[key] = value
@staticmethod
def getInstance():
if ExamplePlugin._instance is None:
ExamplePlugin._instance = ExamplePlugin()
return ExamplePlugin._instance
def filterPackets(self,pkt): # (pkt) object in order to modify the data on the fly
if pkt.haslayer(http.HTTPRequest): # filter only http request
http_layer = pkt.getlayer(http.HTTPRequest) # get http fields as dict type
ip_layer = pkt.getlayer(IP)# get ip headers fields as dict type
print http_layer.fields['Method'] # show method http request
# show all item in Header request http
for item in http_layer.fields['Headers']:
print('{} : {}'.format(item,http_layer.fields['Headers'][item]))
print ip_layer.fields['src'] # show source ip address
print ip_layer.fields['dst'] # show destiny ip address
print http_layer # show item type dict
print ip_layer # show item type dict
return self.output.emit({'name_module':'send output to tab TCP-Proxy'})
TCP-Proxy im Wiki
Das Plugin Captive-Portal erlaubt es dem Angreifer, einen drahtlosen Access Point einzurichten, der in Verbindung mit einem Webserver und iptables-Regeln zur Verkehrserfassung verwendet wird, um das Phishing-Portal zu erstellen. Benutzer können sich frei mit diesen Netzwerken verbinden, ohne ein Passwort, und werden oft auf eine Anmeldeseite weitergeleitet, auf der ein Passwort erforderlich ist, bevor sie im Web surfen dürfen.
Captive-portals im Wiki
Screenshot im Wiki
FAQ im Wiki
Wenn Sie einen Bug melden, einen Patch senden oder Vorschläge zu diesem Projekt machen möchten, kontaktieren Sie uns oder eröffnen Sie Pull-Requests.
| Plugin | Beschreibung |
|---|
| Dns2proxy | Dieses Tool bietet verschiedene Funktionen für die Post-Exploitation, sobald Sie den DNS-Server eines Opfers ändern. |
| Sstrip2 | Sslstrip ist ein MITM-Tool, das die SSL-Stripping-Angriffe von Moxie Marlinspike implementiert, basierend auf einer Version eines Forks von @LeonardoNve/@xtr4nge. |
| Sergio_proxy | Sergio Proxy (ein Super Effective Recorder of Gathered Inputs and Outputs) ist ein HTTP-Proxy, der in Python für das Twisted-Framework geschrieben wurde. |
| BDFProxy | Patchen von Binärdateien via MITM: BackdoorFactory + mitmProxy, bdfproxy-ng ist ein Fork und eine Überarbeitung des ursprünglichen BDFProxy von @secretsquirrel. |
| Responder | Responder, ein LLMNR-, NBT-NS- und MDNS-Poisoner. Autor: Laurent Gaffie |
| PumpkinProxy | HTTP-Daten abfangen, dieser Proxy-Server ermöglicht es, Requests und Responses im laufenden Betrieb abzufangen. |
| CaptivePortals | Captive-Portale erlauben es dem Angreifer, den Internetzugang für Benutzer zu blockieren, bis sie die Anmeldeseite öffnen, auf der ein Passwort erforderlich ist, bevor sie im Web surfen dürfen. |