WiFi-Pumpkin v0.8.7 – Framework for Rogue Wi-Fi Access Point Attack

WiFi-Pumpkin v0.8.7 - Framework for Rogue Wi-Fi Access Point Attack

The WiFi-Pumpkin is a rogue AP framework to simply create these pretend networks, all whereas forwarding legit visitors to and from the unsuspecting goal. It comes filled with options, together with rogue Wi-Fi entry factors, deauth assaults on consumer APs, a probe request and credentials monitor, clear proxy, Windows replace assault, phishing supervisor, ARP Poisoning, DNS Spoofing, Pumpkin-Proxy, and picture seize on the fly. furthermore, the WiFi-Pumpkin is a really full framework for auditing Wi-Fi safety examine the record of options is kind of broad.


 git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git
 cd WiFi-Pumpkin
 ./installer.sh --install

or obtain .deb file to put in

sudo dpkg -i wifi-pumpkin-0.8.7-all.deb
sudo apt-get -f set up # drive set up dependencies if not set up usually

seek advice from the wiki for Installation


  • Rogue Wi-Fi Access Point
  • Deauth Attack Clients AP
  • Probe Request Monitor
  • DHCP Starvation Attack
  • Credentials Monitor
  • Transparent Proxy
  • Windows Update Attack
  • Phishing Manager
  • Partial Bypass HSTS protocol
  • Support beef hook
  • ARP Poison
  • DNS Spoof
  • Patch Binaries by way of MITM (BDF-Proxy)
  • LLMNR, NBT-NS and MDNS poisoner (Responder)
  • Pumpkin-Proxy (ProxyServer (mitmproxy API))
  • Capture photographs on the fly
  • TCP-Proxy (with scapy)
  • Moduled plugins and proxys
  • Wireless Mode help hostapd-mana/hostapd-karma assaults


Plugin Description
Dns2proxy This instruments provide a unique options for submit-explotation as soon as you modify the DNS server to a Victim.
Sstrip2 Sslstrip is a MITM instrument that implements Moxie Marlinspike’s SSL stripping assaults primarily based model fork @LeonardoNve/@xtr4nge.
Sergio_proxy Sergio Proxy (a Super Effective Recorder of Gathered Inputs and Outputs) is an HTTP proxy that was written in Python for the Twisted framework.
BDFProxy Patch Binaries by way of MITM: BackdoorFactory + mitmProxy, bdfproxy-ng is a fork and evaluation of the unique BDFProxy @secretsquirrel.
Responder Responder an LLMNR, NBT-NS and MDNS poisoner. Author: Laurent Gaffie

Transparent Proxy

Transparent proxies(mitmproxy) that you should use to intercept and manipulate HTTP visitors modifying requests and responses, that enable to inject javascripts into the targets visited. You can simply implement a module to inject information into pages making a python file in listing “plugins/extension/” robotically will likely be listed on Pumpkin-Proxy tab.

Plugins Example Dev

from mitmproxy.fashions import decoded # for decode content material html
from plugins.extension.plugin import PluginTemplate

class Nameplugin(PluginTemplate):
   meta = {
       'Name'      : 'Nameplugin',
       'Version'   : '1.0',
       'Description' : 'Brief description of the brand new plugin',
       'Author'    : 'by dev'
   def __init__(self):
       for key,worth in self.meta.gadgets():
           self.__dict__[key] = worth
       # if you need set arguments examine refer wiki extra information.
       self.ConfigParser = False # No require arguments

   def request(self, stream):
       print stream.__dict__
       print stream.request.__dict__
       print stream.request.headers.__dict__ # request headers
       host = stream.request.pretty_host # get area on the fly requests
       versionH = stream.request.http_version # get http model

       # get redirect domains instance
       # pretty_host takes the "Host" header of the request under consideration,
       if stream.request.pretty_host == "example.org":
           stream.request.host = "mitmproxy.org"

       # get all request Header instance
       self.send_output.emit("n[{}][HTTP REQUEST HEADERS]".format(self.Name))
       for identify, valur in stream.request.headers.iteritems():
           self.send_output.emit('{}: {}'.format(identify,valur))

       print stream.request.methodology # present methodology request
       # the mannequin printer information
       self.send_output.emit('[NamePlugin]:: that is mannequin for save information logging')

   def response(self, stream):
       print stream.__dict__
       print stream.response.__dict__
       print stream.response.headers.__dict__ #convert headers for python dict
       print stream.response.headers['Content-Type'] # get content material sort

       #each HTTP response earlier than it's returned to the consumer
       with decoded(stream.response):
           print stream.response.content material # content material html
           stream.response.content material.exchange('</physique>','<h1>injected</h1></physique>') # exchange content material tag

       del stream.response.headers["X-XSS-Protection"] # take away safety Header

       stream.response.headers["newheader"] = "foo" # provides a brand new header
       #and the brand new header will likely be added to all responses passing via the proxy

About plugins
plugins on the wiki

TCP-Proxy Server
A proxy that you could place between in a TCP stream. It filters the request and response streams with (scapy module) and actively modify packets of a TCP protocol that will get intercepted by WiFi-Pumpkin. this plugin makes use of modules to view or modify the intercepted information that probably best implementation of a module, simply add your customized module on “plugins/analyzers/” robotically will likely be listed on TCP-Proxy tab.

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 brand new plugin',
        'Author'    : 'your identify',
    def __init__(self):
        for key,worth in self.meta.gadgets():
            self.__dict__[key] = worth

    def getInstance():
        if ExamplePlugin._instance is None:
            ExamplePlugin._instance = ExamplePlugin()
        return ExamplePlugin._instance

    def filterPackets(self,pkt): # (pkt) object with the intention to modify the information on the fly
        if pkt.haslayer(http.HTTPRequest): # filter solely http request

            http_layer = pkt.getlayer(http.HTTPRequest) # get http fields as dict sort
            ip_layer = pkt.getlayer(IP)# get ip headers fields as dict sort

            print http_layer.fields['Method'] # present methodology http request
            # present all merchandise in Header request http
            for merchandise in http_layer.fields['Headers']:
                print('{} : {}'.format(merchandise,http_layer.fields['Headers'][item]))

            print ip_layer.fields['src'] # present supply ip handle
            print ip_layer.fields['dst'] # present future ip handle

            print http_layer # present merchandise sort dict
            print ip_layer # present merchandise sort dict

            return self.output.emit({'name_module':'ship output to tab TCP-Proxy'})

About TCP-Proxy
TCP-Proxy on the wiki

Screenshot on the wiki



Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.