O WiFi-Pumpkin é um framework de AP para criar facilmente essas redes falsas, tudo isso enquanto encaminha o tráfego legítimo de e para o alvo desavisado. Ele vem repleto de recursos, incluindo pontos de acesso Wi-Fi desonestos, deauth ataques a APs cliente, um monitor de solicitação e credenciais de sondagem , proxy transparente, ataque de atualização do Windows, gerenciador de phishing, envenenamento ARP, DNS Spoofing, Pumpkin Proxy e captura de imagem no vôo. Além disso, o WiFi-Pumpkin é um quadro muito completo para auditoria de segurança Wi-Fi verificar a lista de recursos é bastante amplo.
git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git
cd WiFi-Pumpkin
./installer.sh --install
ou baixe o arquivo .deb para instalar
sudo dpkg -i wifi-pumpkin-0.8.7-all.deb
sudo apt-get -f install # force install dependencies if not install normally
consulte o wiki para os recursos de instalação
- Ponto de acesso Wi-Fi desonesto
- Deauth Attack Clients AP
- Monitor de Solicitação de Sonda
- Ataque de fome DHCP
- Monitor de Credenciais
- Proxy Transparente
- Ataque do Windows Update
- Gerente de Phishing
- Protocolo HSTS de Bypass Parcial
- Suporte gancho de carne
- Veneno de ARP
- DNS Spoof
- Binários de Correção via MITM (BDF-Proxy)
- LLMNR, NBT-NS e envenenador MDNS (Responder)
- Proxy-da-abóbora (ProxyServer (API do mitmproxy))
- Capture imagens em tempo real
- TCP-Proxy (com scapy )
- Plugins e proxys modulados
- Modo sem fio suporta ataques hostapd-mana / hostapd-karma
Plugins
Plugar | Descrição |
---|---|
Dns2proxy | Essas ferramentas oferecem recursos diferentes para pós-explotação quando você altera o servidor DNS para uma vítima. |
Sstrip2 | O Sslstrip é uma ferramenta MITM que implementa a versão fork @ LeonardoNve / @ xtr4nge, baseada em ataques de remoção SSL da Moxie Marlinspike. |
Sergio_proxy | Sergio Proxy (um Super Gravador Efetivo de Entradas e Saídas Reunidas) é um proxy HTTP que foi escrito em Python para o framework Twisted. |
BDFProxy | Binários de Correção via MITM: BackdoorFactory + mitmProxy, bdfproxy-ng é uma bifurcação e revisão do BDFProxy @secretsquirrel original. |
Respondente | Responder um envenenador LLMNR, NBT-NS e MDNS. Autor: Laurent Gaffie |
Proxy Transparente
Proxies transparentes (mitmproxy) que você pode usar para interceptar e manipular solicitações e respostas de modificação de tráfego HTTP, que permitem injetar javascripts nos destinos visitados. Você pode facilmente implementar um módulo para injetar dados em páginas criando um arquivo python no diretório "plugins / extension /" automaticamente será listado na aba Pumpkin-Proxy.
Exemplo de Plugins Dev
Exemplo de Plugins Dev
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('
','
') # 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
Sobre plugins de
plugins no wiki
Servidor TCP-Proxy
Um proxy que você pode colocar entre um fluxo TCP. Ele filtra os fluxos de solicitação e resposta com (módulo scapy ) e modifica ativamente pacotes de um protocolo TCP que é interceptado pelo WiFi-Pumpkin. este plugin usa módulos para visualizar ou modificar os dados interceptados que possivelmente implementação mais fácil de um módulo, basta adicionar o seu módulo personalizado em "plugins / analisadores /" automaticamente será listado na guia 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'})
Sobre o TCP-Proxy
TCP-Proxy na wiki
Capturas de
tela Captura de tela na wiki