示例#1
0
    def Start_Attack(self):
        if  (len(self.txt_target.text()) and len(self.txt_mac.text()) and len(self.txt_gateway.text())) == 0:
            QMessageBox.information(self, 'Error Arp Attacker', 'you need set the input correctly')
        else:
            chdir(self.owd)
            if (len(self.txt_target.text()) and len(self.txt_gateway.text())) and len(self.txt_mac.text()) != 0:
                if len(self.txt_redirect.text()) != 0:
                    self.StatusMonitor(True,'stas_arp')
                    Refactor.set_ip_forward(1)

                    arp_gateway = ThARP_posion(str(self.txt_gateway.text()),str(self.txt_target.text()),
                    get_if_hwaddr(str(self.ComboIface.currentText())))
                    arp_gateway.setObjectName('Arp Posion:: [gateway]')
                    self.ThreadDirc['Arp_posion'].append(arp_gateway)
                    arp_gateway.start()

                    arp_target = ThARP_posion(str(self.txt_target.text()),
                    str(self.txt_gateway.text()),
                    str(self.txt_mac.text()))
                    self.connect(arp_target,SIGNAL('Activated ( QString ) '), self.StopArpAttack)
                    arp_target.setObjectName('Arp::Posion => [target]')
                    self.ThreadDirc['Arp_posion'].append(arp_target)
                    arp_target.start()

                    self.conf_attack(True)
                    redirectPackets = ThSpoofAttack('',
                    str(self.ComboIface.currentText()),'udp port 53',True,str(self.txt_redirect.text()))
                    self.connect(redirectPackets,SIGNAL('Activated ( QString ) '), self.StopArpAttack)
                    redirectPackets.setObjectName('Packets Spoof')
                    self.ThreadDirc['Arp_posion'].append(redirectPackets)
                    redirectPackets.start()
示例#2
0
 def CoreSettings(self):
     range_dhcp = self.FSettings.xmlSettings('Iprange', 'range',None,False)
     self.PortRedirect = self.FSettings.xmlSettings('redirect', 'port',None,False)
     self.SettingsAP = {
     'interface':
         [
             'ifconfig %s up'%(self.Ap_iface),
             'ifconfig %s 10.0.0.1 netmask 255.255.255.0'%(self.Ap_iface),
             'ifconfig %s mtu 1400'%(self.Ap_iface),
             'route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1'
         ],
     'kill':
         [
             'iptables --flush',
             'iptables --table nat --flush',
             'iptables --delete-chain',
             'iptables --table nat --delete-chain',
             'killall dhpcd',
             'killall dnsmasq'
         ],
     'dhcp-server':
         [
             'authoritative;\n',
             'default-lease-time 600;\n',
             'max-lease-time 7200;\n',
             'subnet 10.0.0.0 netmask 255.255.255.0 {\n',
             'option routers 10.0.0.1;\n',
             'option subnet-mask 255.255.255.0;\n',
             'option domain-name \"%s\";\n'%(str(self.EditApName.text())),
             'option domain-name-servers 10.0.0.1;\n',
             'range %s;\n'% range_dhcp,
             '}',
         ],
     'dnsmasq':
         [
             'interface=%s\n'%(self.Ap_iface),
             'dhcp-range=10.0.0.10,10.0.0.50,12h\n',
             'dhcp-option=3, 10.0.0.1\n',
             'dhcp-option=6, 10.0.0.1\n',
             'no-hosts\n'
             'addn-hosts='+ getcwd() + '/Settings/dnsmasq.hosts\n'
         ]
     }
     Refactor.set_ip_forward(1)
     for i in self.SettingsAP['interface']:popen(i)
     for i in self.SettingsAP['kill']:popen(i)
     dhcp_select = self.FSettings.xmlSettings('dhcp','dhcp_server',None,False)
     if dhcp_select != 'dnsmasq':
         with open('Settings/dhcpd.conf','w') as dhcp:
             for i in self.SettingsAP['dhcp-server']:dhcp.write(i)
             dhcp.close()
             if path.isfile('/etc/dhcp/dhcpd.conf'):
                 system('rm /etc/dhcp/dhcpd.conf')
             move('Settings/dhcpd.conf', '/etc/dhcp/')
     else:
         with open('Settings/dnsmasq.conf','w') as dhcp:
             for i in self.SettingsAP['dnsmasq']:
                 dhcp.write(i)
             dhcp.close()
示例#3
0
 def kill(self):
     if self.Apthreads['RougeAP'] == []:return
     for i in self.Apthreads['RougeAP']:i.stop()
     for kill in self.SettingsAP['kill']:popen(kill)
     set_monitor_mode(self.interface).setDisable()
     self.Started(False)
     Refactor.set_ip_forward(0)
     self.ListLoggerDhcp.clear()
示例#4
0
 def CoreSettings(self):
     range_dhcp = self.FSettings.xmlSettings('Iprange', 'range', None,
                                             False)
     self.PortRedirect = self.FSettings.xmlSettings('redirect', 'port',
                                                    None, False)
     self.SettingsAP = {
         'interface': [
             'ifconfig %s up' % (self.Ap_iface),
             'ifconfig %s 10.0.0.1 netmask 255.255.255.0' % (self.Ap_iface),
             'ifconfig %s mtu 1400' % (self.Ap_iface),
             'route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1'
         ],
         'kill': [
             'iptables --flush', 'iptables --table nat --flush',
             'iptables --delete-chain',
             'iptables --table nat --delete-chain', 'killall dhpcd',
             'killall dnsmasq'
         ],
         'dhcp-server': [
             'authoritative;\n',
             'default-lease-time 600;\n',
             'max-lease-time 7200;\n',
             'subnet 10.0.0.0 netmask 255.255.255.0 {\n',
             'option routers 10.0.0.1;\n',
             'option subnet-mask 255.255.255.0;\n',
             'option domain-name \"%s\";\n' % (str(self.EditApName.text())),
             'option domain-name-servers 10.0.0.1;\n',
             'range %s;\n' % range_dhcp,
             '}',
         ],
         'dnsmasq': [
             'interface=%s\n' % (self.Ap_iface),
             'dhcp-range=10.0.0.10,10.0.0.50,12h\n',
             'dhcp-option=3, 10.0.0.1\n', 'dhcp-option=6, 10.0.0.1\n',
             'no-hosts\n'
             'addn-hosts=' + getcwd() + '/Settings/dnsmasq.hosts\n'
         ]
     }
     Refactor.set_ip_forward(1)
     for i in self.SettingsAP['interface']:
         popen(i)
     for i in self.SettingsAP['kill']:
         popen(i)
     dhcp_select = self.FSettings.xmlSettings('dhcp', 'dhcp_server', None,
                                              False)
     if dhcp_select != 'dnsmasq':
         with open('Settings/dhcpd.conf', 'w') as dhcp:
             for i in self.SettingsAP['dhcp-server']:
                 dhcp.write(i)
             dhcp.close()
             if path.isfile('/etc/dhcp/dhcpd.conf'):
                 system('rm /etc/dhcp/dhcpd.conf')
             move('Settings/dhcpd.conf', '/etc/dhcp/')
     else:
         with open('Settings/dnsmasq.conf', 'w') as dhcp:
             for i in self.SettingsAP['dnsmasq']:
                 dhcp.write(i)
             dhcp.close()
示例#5
0
 def kill_attack(self):
     try:
         for i in self.ThreadDirc['Arp_posion']:i.stop()
         self.Ftemplates.killThread()
     except:pass
     chdir(self.owd)
     self.StatusMonitor(False,'stas_arp')
     self.StatusMonitor(False,'stas_phishing')
     self.conf_attack(False)
     Refactor.set_ip_forward(0)
示例#6
0
 def kill(self):
     if self.Apthreads['RougeAP'] == []: return
     for i in self.Apthreads['RougeAP']:
         i.stop()
     for kill in self.SettingsAP['kill']:
         popen(kill)
     set_monitor_mode(self.interface).setDisable()
     self.Started(False)
     Refactor.set_ip_forward(0)
     self.ListLoggerDhcp.clear()
 def kill_attack(self):
     try:
         for i in self.ThreadDirc['Arp_posion']:
             i.stop()
         self.Ftemplates.killThread()
     except:
         pass
     chdir(self.owd)
     self.StatusMonitor(False, 'stas_arp')
     self.StatusMonitor(False, 'stas_phishing')
     self.conf_attack(False)
     Refactor.set_ip_forward(0)
示例#8
0
    def Start_Attack(self):
        if (len(self.txt_target.text()) and len(self.txt_mac.text())
                and len(self.txt_gateway.text())) == 0:
            QMessageBox.information(self, 'Error Arp Attacker',
                                    'you need set the input correctly')
        else:
            chdir(self.owd)
            if (len(self.txt_target.text()) and len(self.txt_gateway.text())
                ) and len(self.txt_mac.text()) != 0:
                if len(self.txt_redirect.text()) != 0:
                    self.StatusMonitor(True, 'stas_arp')
                    if self.configure.xmlSettings('statusAP', 'value', None,
                                                  False) == 'False':
                        Refactor.set_ip_forward(1)
                        arp_gateway = ThARP_posion(
                            str(self.txt_gateway.text()),
                            str(self.txt_target.text()),
                            get_if_hwaddr(str(self.ComboIface.currentText())))
                        arp_gateway.setObjectName('Arp Posion:: [gateway]')
                        self.ThreadDirc['Arp_posion'].append(arp_gateway)
                        arp_gateway.start()

                        arp_target = ThARP_posion(str(self.txt_target.text()),
                                                  str(self.txt_gateway.text()),
                                                  str(self.txt_mac.text()))
                        self.connect(arp_target,
                                     SIGNAL('Activated ( QString ) '),
                                     self.StopArpAttack)
                        arp_target.setObjectName('Arp::Posion => [target]')
                        self.ThreadDirc['Arp_posion'].append(arp_target)
                        arp_target.start()

                    redirectPackets = ThSpoofAttack(
                        '', str(self.ComboIface.currentText()), 'udp port 53',
                        True, str(self.txt_redirect.text()))
                    self.connect(redirectPackets,
                                 SIGNAL('Activated ( QString ) '),
                                 self.StopArpAttack)
                    if self.configure.xmlSettings('statusAP', 'value', None,
                                                  False) == 'False':
                        redirectPackets.redirection()
                    else:
                        redirectPackets.redirectionAP()
                    redirectPackets.setObjectName('Packets Spoof')
                    self.ThreadDirc['Arp_posion'].append(redirectPackets)
                    redirectPackets.start()
                    return
                QMessageBox.information(self, 'Error Redirect IP',
                                        'Redirect IP not found')
 def kill(self):
     if self.Apthreads['RougeAP'] == []:return
     for i in self.Apthreads['RougeAP']:i.stop()
     terminate = [
     'killall dhcpd',
     'killall dnsmasq'
     'killall xterm',
     'iptables --flush',
     'iptables --table nat --flush',
     'iptables --delete-chain',
     'iptables --table nat --delete-chain']
     for delete in terminate:popen(delete)
     set_monitor_mode(self.interface).setDisable()
     self.Started(False)
     Refactor.set_ip_forward(0)
     self.ListLoggerDhcp.clear()
示例#10
0
 def Start_Attack(self):
     if  (len(self.txt_target.text()) and len(self.txt_mac.text()) and len(self.txt_gateway.text())) == 0:
         QMessageBox.information(self, 'Error Arp Attacker', 'you need set the input correctly')
     else:
         chdir(self.owd)
         if (len(self.txt_target.text()) and len(self.txt_gateway.text())) and len(self.txt_mac.text()) != 0:
             if len(self.txt_redirect.text()) != 0:
                 self.StatusMonitor(True,'stas_arp')
                 Refactor.set_ip_forward(1)
                 self.conf_attack(True)
                 thr = ThreadAttackPosion(str(self.txt_target.text()),
                                          str(self.txt_gateway.text()),
                                          str(self.txt_mac.text()))
                 self.connect(thr,SIGNAL('Activated ( QString ) '), self.StopArpAttack)
                 thr.setObjectName('Arp Posion')
                 self.ThreadDirc['Arp_posion'].append(thr)
                 thr.start()
示例#11
0
 def closeEvent(self, event):
     reply = QMessageBox.question(self, 'About Exit',
                                  'Are you sure to close ArpPosion?',
                                  QMessageBox.Yes | QMessageBox.No,
                                  QMessageBox.No)
     if reply == QMessageBox.Yes:
         event.accept()
         if (len(self.ThreadDirc['Arp_posion']) != 0):
             try:
                 for i in self.ThreadDirc['Arp_posion']:
                     i.stop(), i.join()
             except:
                 pass
             if self.configure.xmlSettings('statusAP', 'value', None,
                                           False) == 'False':
                 Refactor.set_ip_forward(0)
         self.deleteLater()
         return
     event.ignore()
示例#12
0
 def kill(self):
     if self.Apthreads['RougeAP'] == []:return
     self.FSettings.xmlSettings('statusAP','value','False',False)
     for i in self.Apthreads['RougeAP']:i.stop()
     for kill in self.SettingsAP['kill']:popen(kill)
     set_monitor_mode(self.ConfigTwin['interface']).setDisable()
     self.Started(False)
     self.Apthreads['RougeAP'] = []
     self.APclients = {}
     with open('Settings/dhcp/dhcpd.leases','w') as dhcpLease:
         dhcpLease.write(''),dhcpLease.close()
     self.btn_start_attack.setDisabled(False)
     Refactor.set_ip_forward(0)
     self.TabInfoAP.clearContents()
     try:
         self.FormPopup.Ftemplates.killThread()
         self.FormPopup.StatusServer(False)
     except AttributeError as e:
         print e
示例#13
0
 def kill(self):
     if self.Apthreads['RougeAP'] == []:return
     self.FSettings.xmlSettings('statusAP','value','False',False)
     for i in self.Apthreads['RougeAP']:i.stop()
     for kill in self.SettingsAP['kill']:popen(kill)
     set_monitor_mode(self.ConfigTwin['interface']).setDisable()
     self.Started(False)
     self.Apthreads['RougeAP'] = []
     self.APclients = {}
     with open('Settings/dhcp/dhcpd.leases','w') as dhcpLease:
         dhcpLease.write(''),dhcpLease.close()
     self.btn_start_attack.setDisabled(False)
     Refactor.set_ip_forward(0)
     self.TabInfoAP.clearContents()
     try:
         self.FormPopup.Ftemplates.killThread()
         self.FormPopup.StatusServer(False)
     except AttributeError as e:
         print e
 def Start_Attack(self):
     if (len(self.txt_target.text()) and len(self.txt_mac.text())
             and len(self.txt_gateway.text())) == 0:
         QMessageBox.information(self, 'Error Arp Attacker',
                                 'you need set the input correctly')
     else:
         chdir(self.owd)
         if (len(self.txt_target.text()) and len(self.txt_gateway.text())
             ) and len(self.txt_mac.text()) != 0:
             if len(self.txt_redirect.text()) != 0:
                 self.StatusMonitor(True, 'stas_arp')
                 Refactor.set_ip_forward(1)
                 self.conf_attack(True)
                 thr = ThreadAttackPosion(str(self.txt_target.text()),
                                          str(self.txt_gateway.text()),
                                          str(self.txt_mac.text()))
                 self.connect(thr, SIGNAL('Activated ( QString ) '),
                              self.StopArpAttack)
                 thr.setObjectName('Arp Posion')
                 self.ThreadDirc['Arp_posion'].append(thr)
                 thr.start()
示例#15
0
 def CoreSettings(self):
     range_dhcp = self.FSettings.xmlSettings("Iprange", "range", None, False)
     self.PortRedirect = self.FSettings.xmlSettings("redirect", "port", None, False)
     self.SettingsAP = {
         "interface": [
             "ifconfig %s up" % (self.Ap_iface),
             "ifconfig %s 10.0.0.1 netmask 255.255.255.0" % (self.Ap_iface),
             "ifconfig %s mtu 1400" % (self.Ap_iface),
             "route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1",
         ],
         "kill": [
             "iptables --flush",
             "iptables --table nat --flush",
             "iptables --delete-chain",
             "iptables --table nat --delete-chain",
             "killall dhpcd",
             "killall dnsmasq",
         ],
         "hostapd": [
             "interface={}\n".format(str(self.selectCard.currentText())),
             "driver=nl80211\n",
             "ssid={}\n".format(str(self.EditApName.text())),
             "channel={}\n".format(str(self.EditChannel.text())),
         ],
         "dhcp-server": [
             "authoritative;\n",
             "default-lease-time 600;\n",
             "max-lease-time 7200;\n",
             "subnet 10.0.0.0 netmask 255.255.255.0 {\n",
             "option routers 10.0.0.1;\n",
             "option subnet-mask 255.255.255.0;\n",
             'option domain-name "%s";\n' % (str(self.EditApName.text())),
             "option domain-name-servers 10.0.0.1;\n",
             "range %s;\n" % range_dhcp,
             "}",
         ],
         "dnsmasq": [
             "interface=%s\n" % (self.Ap_iface),
             "dhcp-range=10.0.0.1,10.0.0.50,12h\n",
             "dhcp-option=3, 10.0.0.1\n",
             "dhcp-option=6, 10.0.0.1\n",
             "addn-hosts=" + getcwd() + "/Settings/dnsmasq.hosts\n",
         ],
     }
     Refactor.set_ip_forward(1)
     for i in self.SettingsAP["interface"]:
         popen(i)
     for i in self.SettingsAP["kill"]:
         popen(i)
     dhcp_select = self.FSettings.xmlSettings("dhcp", "dhcp_server", None, False)
     if dhcp_select != "dnsmasq":
         with open("Settings/dhcpd.conf", "w") as dhcp:
             for i in self.SettingsAP["dhcp-server"]:
                 dhcp.write(i)
             dhcp.close()
             if path.isfile("/etc/dhcp/dhcpd.conf"):
                 system("rm /etc/dhcp/dhcpd.conf")
             if not path.isdir("/etc/dhcp/"):
                 mkdir("/etc/dhcp")
             move("Settings/dhcpd.conf", "/etc/dhcp/")
     else:
         with open("Settings/dnsmasq.conf", "w") as dhcp:
             for i in self.SettingsAP["dnsmasq"]:
                 dhcp.write(i)
             dhcp.close()