Exemplo n.º 1
0
    def _restore_deauthor_state(self):
        card = NetworkCard(self.running_interface)
        if card.get_mode() != self._previous_mode:
            card.set_mode(self._previous_mode)
            self._previous_mode = None

        self.running_interface = None
Exemplo n.º 2
0
    def start_sniffer(self, interface):
        """
        This method launches the necessary threads for the sniffing process.
        """
        self.running_interface = interface
        SessionManager().log_event(NeutralEvent("Starting AirScanner module."))
        try:
            card = NetworkCard(interface)
            if card.get_mode().lower() != 'monitor':
                card.set_mode('monitor')
        except:
            print "[-] Could not set card to monitor mode. Card might be busy."
            SessionManager().log_event(
                UnsuccessfulEvent(
                    "AirScanner start was aborted, unable to set card to monitor mode."
                ))
            return

        for plugin in self.plugins:
            plugin.pre_scanning()

        self.sniffer_running = True
        self.sniffing_thread = Thread(target=self.sniff_packets)
        self.sniffing_thread.start()

        hopper_thread = Thread(target=self.hop_channels)
        hopper_thread.start()
Exemplo n.º 3
0
    def start_sniffer(self, interface, hop_channels=True, fixed_channel=7):
        self.running_interface = interface
        try:
            card = NetworkCard(interface)
            if card.get_mode().lower() != 'monitor':
                card.set_mode('monitor')
        except:
            print "[-] Could not set card to monitor mode. Card might be busy."
            return

        for plugin in self.plugins:
            plugin.pre_scanning()

        self.sniffer_running = True
        self.sniffing_thread = Thread( target=self.sniff_packets)
        self.sniffing_thread.start()

        if hop_channels:
            hopper_thread = Thread( target=self.hop_channels)
            hopper_thread.start()
        else:
            try:
                card = NetworkCard(interface)
                card.set_channel(fixed_channel)
                if card.get_channel() == fixed_channel:
                    print "[+] Set fixed channel to {}".format(fixed_channel)
                else:
                    print "[-] Could not change channel, try unplugging your interface."
                    print "[/] Channel is on {}".format(card.get_channel())
            except:
                print "[-] Cannot set channel at the moment."
Exemplo n.º 4
0
    def _restore_injection_state(self):
        try:
            card = NetworkCard(self.injection_interface)
            if card.get_mode().lower() != self._previous_mode:
                card.set_mode(self._previous_mode)
                self._previous_mode = None
        except: pass

        self.injection_interface = None
Exemplo n.º 5
0
    def _restore_injection_state(self):
        try:
            card = NetworkCard(self.running_interface)
            if card.get_mode().lower() != self._previous_mode:
                card.set_mode(self._previous_mode)
                self._previous_mode = None
        except:
            pass

        self.running_interface = None
Exemplo n.º 6
0
    def start_injection_attack(self, interface):
        self.injection_interface = interface
        card = NetworkCard(interface)
        current_mode = card.get_mode().lower()
        self._previous_mode = current_mode
        if not (current_mode == 'monitor' or current_mode == 'ap'):
            card.set_mode('monitor')

        self.injection_running = True
        injection_thread = Thread(target=self.injection_attack)
        injection_thread.start()
    def start_sniffer(self, interface):
        self.running_interface = interface
        card = NetworkCard(interface)
        if card.get_mode() != 'monitor':
            card.set_mode('monitor')
        self.sniffing_thread = Thread( target=self.sniff_packets)
        self.sniffer_running = True
        self.sniffing_thread.start()

        hopper_thread = Thread( target=self.hop_channels)
        hopper_thread.start()
Exemplo n.º 8
0
 def sniff_packets(self):
     card = NetworkCard(self.ap_interface)
     if card.get_mode() != "monitor":
         card.set_mode("monitor")
     try:
         sniff(iface=self.ap_interface, store=0, prn=self.handle_packet, stop_filter= (lambda pkt: self.should_stop))
     except Exception as e:
         print e
         print "[-] Exception occurred while sniffing on interface '{}'".format(self.ap_interface)
     self.should_stop = False
     if card.get_mode() != "managed":
         card.set_mode("managed")
Exemplo n.º 9
0
    def start_deauthentication_attack(self, interface):
        # Restart services to avoid conflicts

        self.running_interface = interface
        card = NetworkCard(interface)
        current_mode = card.get_mode()
        self._previous_mode = current_mode
        if current_mode != 'monitor':
            card.set_mode('monitor')

        self.deauth_running = True
        deauth_thread = Thread(target=self.deauthentication_attack)
        deauth_thread.start()
Exemplo n.º 10
0
 def sniff_packets(self):
     card = NetworkCard(self.ap_interface)
     if card.get_mode() != "monitor":
         card.set_mode("monitor")
     try:
         sniff(iface=self.ap_interface,
               store=0,
               prn=self.handle_packet,
               stop_filter=(lambda pkt: self.should_stop))
     except Exception as e:
         print e
         print "[-] Exception occurred while sniffing on interface '{}'".format(
             self.ap_interface)
     self.should_stop = False
     if card.get_mode() != "managed":
         card.set_mode("managed")
    def _clean_quit(self, wait = True):
        self.sniffer_running = False
        for plugin in self.plugins:
            plugin.restore()
        del self.plugins[:]
        
        if wait:
            self.sniffing_thread.join() # The sniffing_thread will stop once it receives the next packet

        # Reset card operaing state to 'managed'
        if self.running_interface != None:
            card = NetworkCard(self.running_interface)
            if card.get_mode() != 'managed':
                card.set_mode('managed')

        self.running_interface = None
Exemplo n.º 12
0
    def start_injection_attack(self, interface):
        SessionManager().log_event(NeutralEvent("Starting AirInjector module."))
        self.injection_interface = interface
        card = NetworkCard(interface)
        current_mode = card.get_mode().lower()
        self._previous_mode = current_mode
        if not (current_mode == 'monitor' or current_mode == 'ap'):
            try:
                card.set_mode('monitor')
            except:
                SessionManager().log_event(UnsuccessfulEvent("AirInjector start was aborted,"
                                                             " cannot set card to monitor mode."))
                return

        self.injection_running = True
        injection_thread = Thread(target=self.injection_attack)
        injection_thread.start()
Exemplo n.º 13
0
    def _clean_quit(self, wait = True):
        self.sniffer_running = False
        for plugin in self.plugins:
            plugin.post_scanning()
            plugin.restore()
        del self.plugins[:]

        if wait:
            self.sniffing_thread.join()  # The sniffing_thread will stop once it receives the next packet

        # Reset card operaing state to 'managed'
        if self.running_interface is not None:
            try:
                card = NetworkCard(self.running_interface)
                if card.get_mode().lower() != 'managed':
                    card.set_mode('managed')
            except: pass

        self.running_interface = None
Exemplo n.º 14
0
	def start_sniffer(self, interface, hop_channels=True, fixed_channel=7):
		self.running_interface = interface
		card = NetworkCard(interface)
		if card.get_mode() != 'monitor':
			card.set_mode('monitor')

		for plugin in self.plugins:
			plugin.pre_scanning()

		self.sniffer_running = True
		self.sniffing_thread = Thread( target=self.sniff_packets)
		self.sniffing_thread.start()

		if hop_channels:
			hopper_thread = Thread( target=self.hop_channels)
			hopper_thread.start()
		else:
			card = NetworkCard(interface)
			card.set_channel(fixed_channel)
Exemplo n.º 15
0
    def start_injection_attack(self, interface):
        SessionManager().log_event(
            NeutralEvent("Starting AirInjector module."))
        self.injection_interface = interface
        card = NetworkCard(interface)
        current_mode = card.get_mode().lower()
        self._previous_mode = current_mode
        if not (current_mode == 'monitor' or current_mode == 'ap'):
            try:
                card.set_mode('monitor')
            except:
                SessionManager().log_event(
                    UnsuccessfulEvent("AirInjector start was aborted,"
                                      " cannot set card to monitor mode."))
                return

        self.injection_running = True
        injection_thread = Thread(target=self.injection_attack)
        injection_thread.start()
Exemplo n.º 16
0
    def start_sniffer(self, interface):
        """
        This method launches the necessary threads for the sniffing process.
        """
        self.running_interface = interface
        SessionManager().log_event(NeutralEvent("Starting AirScanner module."))
        try:
            card = NetworkCard(interface)
            if card.get_mode().lower() != 'monitor':
                card.set_mode('monitor')
        except:
            print "[-] Could not set card to monitor mode. Card might be busy."
            SessionManager().log_event(UnsuccessfulEvent("AirScanner start was aborted, unable to set card to monitor mode."))
            return

        for plugin in self.plugins:
            plugin.pre_scanning()

        self.sniffer_running = True
        self.sniffing_thread = Thread( target=self.sniff_packets)
        self.sniffing_thread.start()

        hopper_thread = Thread( target=self.hop_channels)
        hopper_thread.start()