コード例 #1
0
ファイル: coap_replay_attack.py プロジェクト: yqyunjie/peniot
    def __init__(self):
        default_parameters = ["", 10, "any"]
        inputs = [
            InputFormat("Selected packet index",
                        "selected_index",
                        self.selected_index,
                        int,
                        mandatory=True),
            InputFormat("Timeout", "timeout", self.timeout, float),
            InputFormat("Interface",
                        "interface",
                        str(self.interface),
                        str,
                        mandatory=True)
        ]

        Attack.__init__(
            self, "CoAP Replay Attack", inputs, default_parameters,
            "    It listens to the network traffic and\n"
            "    sends captured packets without changing anything.")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #2
0
    def __init__(self):
        default_parameters = ["", "", "", "", "", 10.0]
        inputs = [
            InputFormat("Host Name", "host", "", str, mandatory=True),
            InputFormat("Port Number", "port", "", int, mandatory=True),
            InputFormat("Endpoint", "path", "", str, mandatory=True),
            InputFormat("Method",
                        "method_string",
                        self.method_string,
                        str,
                        mandatory=True),
            InputFormat("Payload", "payload", "", str, mandatory=True),
            InputFormat("Timeout", "timeout", self.timeout, float)
        ]

        Attack.__init__(
            self, "CoAP DoS Attack", inputs, default_parameters,
            "    We send CoAP requests to the client.\n"
            "    The time difference between those requests\n"
            "    can be specified.")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #3
0
    def __init__(self):
        default_parameters = ["", 10.0, "any"]
        inputs = [
            InputFormat("Selected packet index",
                        "selected_index",
                        self.selected_index,
                        int,
                        mandatory=True),
            InputFormat("Timeout", "timeout", self.timeout, float),
            InputFormat("Interface",
                        "interface",
                        str(self.interface),
                        str,
                        mandatory=True)
        ]
        Attack.__init__(
            self, "MQTT Replay Attack", inputs, default_parameters,
            "Performs a replay attack using the inputs\n"
            "which are provided by the user.")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #4
0
    def __init__(self):
        default_parameters = ["", "", "", "", "", 2, 10, 100]
        inputs = [
            InputFormat("Host Name", "host", "", str, mandatory=True),
            InputFormat("Port Number", "port", "", int, mandatory=True),
            InputFormat("Endpoint", "path", "", str, mandatory=True),
            InputFormat("Seed Payload", "payload", "", str, mandatory=True),
            InputFormat("Method",
                        "method_string",
                        self.method_string,
                        str,
                        mandatory=True),
            InputFormat("Fuzzing Round Count", "fuzzing_turn",
                        self.fuzzing_turn, int),
            InputFormat("Number of fuzzer messages", "fuzzing_count",
                        self.fuzzing_count, int),
            InputFormat("Payload length",
                        "max_length_of_random_payload",
                        self.max_length_of_random_payload,
                        int,
                        mandatory=True)
        ]

        Attack.__init__(
            self, "CoAP Random Payload Fuzzing Attack", inputs,
            default_parameters, "    It creates a random payload and sends \n"
            "    this payload to the client.")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #5
0
    def __init__(self):
        default_parameters = [
            60.0, generic_sniffer.DEFAULT_INTERFACE,
            generic_sniffer.DEFAULT_SAVE
        ]
        inputs = [
            InputFormat("Timeout", "timeout", self.timeout, float),
            InputFormat("Interface",
                        "interface",
                        str(self.interface),
                        str,
                        mandatory=True),
            InputFormat("Save Captured Packets", "save_output",
                        str(self.save_output), bool)
        ]
        Attack.__init__(
            self, "MQTT Sniff Attack", inputs, default_parameters,
            "    It listens to the network traffic and\n"
            "    captures MQTT packages.")
        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #6
0
ファイル: ble_sniff_attack.py プロジェクト: yqyunjie/peniot
    def __init__(self):
        default_parameters = ["/dev/ttyUSB0"]
        inputs = [
            InputFormat("Port", "port", self.port, str, mandatory=True),
        ]

        Attack.__init__(self, "BLE Sniffing", inputs, default_parameters, "BLE Sniff Definition")

        logging.basicConfig(level=logging.DEBUG, format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")
コード例 #7
0
    def __init__(self):
        default_parameters = ["127.0.0.1", ""]
        inputs = [
            InputFormat("Broker Address", "address", "", str, mandatory=True),
            InputFormat("Client Name", "client2_name", "", str, mandatory=True)
        ]

        Attack.__init__(self, "MQTT Topic Name Fuzzing Attack", inputs,
                        default_parameters,
                        "    MQTT Topic Name Fuzzing Attack description")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #8
0
ファイル: ble_replay_attack.py プロジェクト: yqyunjie/peniot
    def __init__(self):
        default_parameters = [""]
        inputs = [
            InputFormat("File Path",
                        "file_path",
                        "",
                        str,
                        mandatory=True,
                        from_captured_packets=True),
        ]

        Attack.__init__(self, "BLE Replay Attack", inputs, default_parameters,
                        "BLE Replay Attack Definition")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")
コード例 #9
0
    def __init__(self):
        default_parameters = ["", "", "", "", 10, self.max_payload_length]
        inputs = [
            InputFormat("Host Name", "host", "", str, mandatory=True),
            InputFormat("Port Number", "port", "", int, mandatory=True),
            InputFormat("Endpoint", "path", "", str, mandatory=True),
            InputFormat("Method", "method_string", self.method_string, str, mandatory=True),
            InputFormat("Fuzzing Round Count", "fuzzing_turn", self.fuzzing_turn, int),
            InputFormat("Maximum Payload Size", "max_payload_length", self.max_payload_length, int, mandatory=True)
        ]

        Attack.__init__(self, "CoAP Payload Size Fuzzer Attack", inputs, default_parameters,
                        "    CoAP Payload size fuzzer attack description")

        logging.basicConfig(level=logging.DEBUG, format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #10
0
    def __init__(self):
        default_parameters = ["127.0.0.1", "#", 10, 10, ""]
        inputs = [
            InputFormat("Broker Address", "address", "", str, mandatory=True),
            InputFormat("Topic", "topic", "", str, mandatory=True),
            InputFormat("Fuzzing Turn", "turn", self.turn, int),
            InputFormat("Fuzzing Message Count in each Turn", "count", self.count, int),
            InputFormat("Payload", "payload", "", str, mandatory=True)
        ]

        Attack.__init__(self, "MQTT Random Payload Fuzzing Attack", inputs, default_parameters,
                        "    It creates a random payload and sends \n"
                        "    this payload to the client.")

        logging.basicConfig(level=logging.DEBUG, format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #11
0
    def __init__(self):
        default_parameters = ["127.0.0.1"]
        inputs = [
            InputFormat("Broker Address", "address", "", str, mandatory=True)
        ]

        Attack.__init__(
            self, "MQTT Generation Based Fuzzing Attack", inputs,
            default_parameters,
            "   Inject the packets which are created from the scratch\n"
            "   and changed by come of their bits to corrupt the content")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #12
0
    def __init__(self):
        inputs = [
            # You need to decide inputs to be taken from graphical user interface to conduct attack
        ]

        # Auto generated attack name, you can change attack name to be displayed in graphical user interface
        attack_name = "_ATTACK_NAME"
        # Auto generated attack description, you can change or add description for the new attack,
        # you can browse it from ? button nearby attacks in attack menu
        description = "_ATTACK_NAME Description"

        Attack.__init__(self, attack_name, inputs, description)

        # Simple logger and registration
        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")
        self.logger = logging.getLogger("_ATTACK_NAME")
コード例 #13
0
ファイル: amqp_dos_attack.py プロジェクト: yqyunjie/peniot
    def __init__(self):
        default_parameters = ["", "", "", "", "", "", 10.0]
        inputs = [
            InputFormat("Host Name", "host", "localhost", str, mandatory=True),
            InputFormat("Queue Name",
                        "queue",
                        "peniot-queue",
                        str,
                        mandatory=True),
            InputFormat("Exchange Name",
                        "exchange",
                        "peniot-exchange",
                        str,
                        mandatory=True),
            InputFormat("Routing Key",
                        "routing_key",
                        "peniot-routing-key",
                        str,
                        mandatory=True),
            InputFormat("Message Body",
                        "body",
                        "peniot-body",
                        str,
                        mandatory=True),
            InputFormat("Exchange Type",
                        "exchange_type",
                        "direct",
                        str,
                        mandatory=True),
            InputFormat("Timeout", "timeout", self.timeout, float)
        ]

        Attack.__init__(
            self, "AMQP DoS Attack", inputs, default_parameters,
            "    We send AMQP requests to the client.\n"
            "    The time difference between those requests\n"
            "    can be specified.")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #14
0
    def __init__(self):
        default_parameters = ["127.0.0.1", "#", 10]
        inputs = [
            InputFormat("Broker Address", "host", "", str, mandatory=True),
            InputFormat("Topic Name", "topic", self.topic, str,
                        mandatory=True),
            InputFormat("Fuzzing Turn", "fuzzing_turn", self.fuzzing_turn, int)
        ]

        Attack.__init__(self, "MQTT Payload Size Fuzzer Attack", inputs,
                        default_parameters,
                        "    MQTT Payload size fuzzer attack description")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #15
0
    def __init__(self):
        default_parameters = ["", "", "", "", "", "", 10, 1]
        inputs = [
            InputFormat("Host Name", "host", "localhost", str, mandatory=True),
            InputFormat("Queue Name",
                        "queue",
                        "peniot-queue",
                        str,
                        mandatory=True),
            InputFormat("Exchange Name",
                        "exchange",
                        "peniot-exchange",
                        str,
                        mandatory=True),
            InputFormat("Routing Key",
                        "routing_key",
                        "peniot-routing-key",
                        str,
                        mandatory=True),
            InputFormat("Payload", "payload", "", str),
            InputFormat("Exchange Type",
                        "exchange_type",
                        "direct",
                        str,
                        mandatory=True),
            InputFormat("Fuzzing Turn", "turn", 10, int),
            InputFormat("Fuzzing Count", "count", 1, int)
        ]

        Attack.__init__(
            self, "AMQP Random Payload Fuzzing Attack", inputs,
            default_parameters, "    It creates a random payload and sends \n"
            "    this payload to the client.")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)
コード例 #16
0
    def __init__(self):
        default_parameters = ["", "", "", "", "", "", 10]
        inputs = [
            InputFormat("Host Name", "host", "localhost", str, mandatory=True),
            InputFormat("Queue Name",
                        "queue",
                        "peniot-queue",
                        str,
                        mandatory=True),
            InputFormat("Exchange Name",
                        "exchange",
                        "peniot-exchange",
                        str,
                        mandatory=True),
            InputFormat("Routing Key",
                        "routing_key",
                        "peniot-routing-key",
                        str,
                        mandatory=True),
            InputFormat("Payload", "payload", "", str, mandatory=True),
            InputFormat("Exchange Type",
                        "exchange_type",
                        "direct",
                        str,
                        mandatory=True),
            InputFormat("Fuzzing Turn", "turn", 10, int)
        ]
        Attack.__init__(self, "AMQP Payload Size Fuzzer Attack", inputs,
                        default_parameters,
                        "    AMQP Payload size fuzzer attack description")

        logging.basicConfig(
            level=logging.DEBUG,
            format="%(asctime)s:%(levelname)s:%(name)s:%(message)s")

        # Signal handler to exit from function
        signal.signal(signal.SIGINT, self.signal_handler)