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

WiFi-Pumpkin - Framework para Ataques de Punto de Acceso Wi-Fi Falso
WiFi-Pumpkin es un framework de AP falso para crear fácilmente estas redes fraudulentas, mientras se reenvía tráfico legítimo hacia y desde el objetivo desprevenido. Viene cargado de funciones, que incluyen puntos de acceso Wi-Fi falsos, ataques de desautenticación a APs cliente, monitor de solicitudes de sonda y credenciales, proxy transparente, ataque de actualización de Windows, gestor de phishing, ARP Poisoning, DNS Spoofing, Pumpkin-Proxy y captura de imágenes sobre la marcha. Además, WiFi-Pumpkin es un framework muy completo para auditar la seguridad Wi-Fi; la lista de características es bastante amplia.

git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git
cd WiFi-Pumpkin
./installer.sh --install
o descarga el archivo .deb para instalar
sudo dpkg -i wifi-pumpkin-0.8.8-all.deb
sudo apt-get -f install # force install dependencies if not install normally
consulta la wiki para Instalación
1HBXz6XX3LcHqUnaca5HRqq6rPUmA3pf6f

Proxies transparentes (mitmproxy) que puedes usar para interceptar y manipular tráfico HTTP modificando solicitudes y respuestas, lo que permite inyectar JavaScript en los sitios visitados por los objetivos. Puedes implementar fácilmente un módulo para inyectar datos en páginas creando un archivo Python en el directorio "plugins/extension/" y automáticamente se listará en la pestaña Pumpkin-Proxy.
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 en la wiki
Un proxy que puedes colocar entre un flujo TCP. Filtra los flujos de solicitudes y respuestas con el módulo (scapy) y modifica activamente paquetes de un protocolo TCP que es interceptado por WiFi-Pumpkin. Este plugin utiliza módulos para ver o modificar los datos interceptados; posiblemente la implementación más sencilla de un módulo es añadir tu módulo personalizado en "plugins/analyzers/" y automáticamente se listará en la pestaña TCP-Proxy.
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'})
Proxy TCP en la wiki
El plugin Portal Cautivo permite al atacante montar un punto de acceso inalámbrico que se utiliza junto con un servidor web y reglas de captura de tráfico iptables para crear el portal de phishing. Los usuarios pueden conectarse libremente a estas redes sin contraseña y, a menudo, serán dirigidos a una página de inicio de sesión donde se requiere una contraseña antes de permitirles navegar por la web.
Portales cautivos en la wiki
Capturas de pantalla en la wiki
Preguntas frecuentes en la wiki
Ya sea para reportar un bug, enviar un parche o dar sugerencias sobre este proyecto, escríbenos o abre pull requests
| Plugin | Descripción |
|---|
| Dns2proxy | Esta herramienta ofrece diferentes funcionalidades para la post-explotación una vez que cambias el servidor DNS a una víctima. |
| Sstrip2 | Sslstrip es una herramienta MITM que implementa los ataques de stripping SSL de Moxie Marlinspike basada en un fork de @LeonardoNve/@xtr4nge. |
| Sergio_proxy | Sergio Proxy (un Grabador Súper Efectivo de Entradas y Salidas) es un proxy HTTP escrito en Python para el framework Twisted. |
| BDFProxy | Parcheo de binarios vía MITM: BackdoorFactory + mitmProxy, bdfproxy-ng es un fork y revisión del BDFProxy original de @secretsquirrel. |
| Responder | Responder, un envenenador LLMNR, NBT-NS y MDNS. Autor: Laurent Gaffie |
| PumpkinProxy | Interceptación de datos HTTP, este servidor proxy permite interceptar solicitudes y respuestas sobre la marcha. |
| CaptivePortals | Portal Cautivo permite al atacante bloquear el acceso a Internet a los usuarios hasta que abran la página de inicio de sesión donde se requiere una contraseña antes de permitirles navegar por la web. |