From 32d361e722ce1ff16b6c502322e60737b98646d2 Mon Sep 17 00:00:00 2001 From: Sayak Brahmachari Date: Wed, 4 Dec 2019 20:17:10 +0530 Subject: [PATCH 1/2] Create handshakes-dl.py --- handshakes-dl.py | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 handshakes-dl.py diff --git a/handshakes-dl.py b/handshakes-dl.py new file mode 100644 index 0000000..71b6e0a --- /dev/null +++ b/handshakes-dl.py @@ -0,0 +1,69 @@ +import logging +import json +import os +import glob + +import pwnagotchi +import pwnagotchi.plugins as plugins + +from flask import abort +from flask import send_from_directory +from flask import render_template_string + +TEMPLATE = """ +{% extends "base.html" %} +{% set active_page = "handshakes" %} + +{% block title %} + {{ title }} +{% endblock %} + +{% block content %} + +{% endblock %} +""" + +class HandshakesDL(plugins.Plugin): + __author__ = 'me@sayakb.com' + __version__ = '0.1.0' + __license__ = 'GPL3' + __description__ = 'Download handshake captures from web-ui.' + + def __init__(self): + self.ready = False + + def on_loaded(self): + logging.info("[HandshakesDL] plugin loaded") + + def on_ready(self, agent): + self.config = agent.config() + self.ready = True + + def on_internet_available(self, agent): + self.config = agent.config() + self.ready = True + + def on_webhook(self, path, request): + if not self.ready: + return "Plugin not ready" + + if path == "/" or not path: + handshakes = glob.glob(os.path.join(self.config['bettercap']['handshakes'], "*.pcap")) + handshakes = [os.path.basename(path)[:-5] for path in handshakes] + return render_template_string(TEMPLATE, + title="Handshakes | " + pwnagotchi.name(), + handshakes=handshakes) + + else: + dir = self.config['bettercap']['handshakes'] + try: + logging.info(f"[HandshakesDL] serving {dir}/{path}.pcap") + return send_from_directory(directory=dir, filename=path+'.pcap', as_attachment=True) + except FileNotFoundError: + abort(404) From 78d3aec1f43e17433f516075802d4f19d51f7901 Mon Sep 17 00:00:00 2001 From: Sayak Brahmachari Date: Wed, 4 Dec 2019 20:18:45 +0530 Subject: [PATCH 2/2] Create handshakes-dl.yml --- handshakes-dl.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 handshakes-dl.yml diff --git a/handshakes-dl.yml b/handshakes-dl.yml new file mode 100644 index 0000000..d21403e --- /dev/null +++ b/handshakes-dl.yml @@ -0,0 +1,2 @@ +handshakes-dl: + enabled: false