Beispiel #1
0
    def __init__(self, parent=None, widgets=None):
        super(PumpkinSettings, self).__init__(parent)
        self.SettingsAp = widgets['SettingsAP']
        self.Tab_Dock = widgets['Tab_dock']
        self.dockInfo = widgets['DockInfo']
        self.FSettings = widgets['Settings']
        self.NetworkGroup = widgets['Network']
        self.mainLayout = QtGui.QFormLayout()
        self.SettingsDHCP = {}

        #scroll area
        self.scrollwidget = QtGui.QWidget()
        self.scrollwidget.setLayout(self.mainLayout)
        self.scroll = QtGui.QScrollArea()
        self.scroll.setWidgetResizable(True)
        self.scroll.setWidget(self.scrollwidget)

        self.GroupDHCP = QtGui.QGroupBox()
        self.GroupArea = QtGui.QGroupBox()
        self.layoutDHCP = QtGui.QFormLayout()
        self.layoutArea = QtGui.QFormLayout()
        self.layoutbuttons = QtGui.QHBoxLayout()
        self.btnDefault = QtGui.QPushButton('Default')
        self.btnSave = QtGui.QPushButton('save settings')
        self.btnSave.setIcon(QtGui.QIcon('icons/export.png'))
        self.btnDefault.setIcon(QtGui.QIcon('icons/settings.png'))
        self.dhcpClassIP = QtGui.QComboBox()
        # dhcp class
        self.classtypes = [
            'Class-A-Address', 'Class-B-Address', 'Class-C-Address',
            'Class-Custom-Address'
        ]
        for types in self.classtypes:
            if 'Class-{}-Address'.format(
                    self.FSettings.Settings.get_setting('dhcp',
                                                        'classtype')) in types:
                self.classtypes.remove(types), self.classtypes.insert(0, types)
        self.dhcpClassIP.addItems(self.classtypes)

        self.leaseTime_def = QtGui.QLineEdit(
            self.FSettings.Settings.get_setting('dhcp', 'leasetimeDef'))
        self.leaseTime_Max = QtGui.QLineEdit(
            self.FSettings.Settings.get_setting('dhcp', 'leasetimeMax'))
        self.netmask = QtGui.QLineEdit(
            self.FSettings.Settings.get_setting('dhcp', 'netmask'))
        self.range_dhcp = QtGui.QLineEdit(
            self.FSettings.Settings.get_setting('dhcp', 'range'))
        self.route = QtGui.QLineEdit(
            self.FSettings.Settings.get_setting('dhcp', 'router'))
        self.subnet = QtGui.QLineEdit(
            self.FSettings.Settings.get_setting('dhcp', 'subnet'))
        self.broadcast = QtGui.QLineEdit(
            self.FSettings.Settings.get_setting('dhcp', 'broadcast'))
        self.dhcpClassIP.currentIndexChanged.connect(self.dhcpClassIPClicked)
        self.GroupDHCP.setTitle('DHCP-Settings')
        self.GroupDHCP.setLayout(self.layoutDHCP)
        self.layoutDHCP.addRow('Class Ranges', self.dhcpClassIP)
        self.layoutDHCP.addRow('default-lease-time', self.leaseTime_def)
        self.layoutDHCP.addRow('max-lease-time', self.leaseTime_Max)
        self.layoutDHCP.addRow('subnet', self.subnet)
        self.layoutDHCP.addRow('router', self.route)
        self.layoutDHCP.addRow('netmask', self.netmask)
        self.layoutDHCP.addRow('broadcast-address', self.broadcast)
        self.layoutDHCP.addRow('range-dhcp', self.range_dhcp)
        self.GroupDHCP.setFixedWidth(350)
        # layout add
        self.layoutbuttons.addWidget(self.btnSave)
        self.layoutbuttons.addWidget(self.btnDefault)
        self.layoutDHCP.addRow(self.layoutbuttons)

        # Area Group
        self.gridArea = QtGui.QGridLayout()
        self.CB_ActiveMode = QtGui.QCheckBox(
            '::Advanced Mode:: Monitor MITM Attack')
        self.CB_ActiveMode.setHidden(True)
        self.CB_Cread = QtGui.QCheckBox('HTTP-Authentication')
        self.CB_monitorURL = QtGui.QCheckBox('HTTP-Requests')
        self.CB_bdfproxy = QtGui.QCheckBox('BDFProxy-ng')
        self.CB_dns2proxy = QtGui.QCheckBox('Dns2Proxy')
        self.CB_responder = QtGui.QCheckBox('Responder')
        self.CB_pumpkinPro = QtGui.QCheckBox('Pumpkin-Proxy')
        self.CB_ActiveMode.setChecked(
            self.FSettings.Settings.get_setting('dockarea',
                                                'advanced',
                                                format=bool))
        self.CB_Cread.setChecked(
            self.FSettings.Settings.get_setting('dockarea',
                                                'dock_credencials',
                                                format=bool))
        self.CB_monitorURL.setChecked(
            self.FSettings.Settings.get_setting('dockarea',
                                                'dock_urlmonitor',
                                                format=bool))
        self.CB_bdfproxy.setChecked(
            self.FSettings.Settings.get_setting('dockarea',
                                                'dock_bdfproxy',
                                                format=bool))
        self.CB_dns2proxy.setChecked(
            self.FSettings.Settings.get_setting('dockarea',
                                                'dock_dns2proxy',
                                                format=bool))
        self.CB_responder.setChecked(
            self.FSettings.Settings.get_setting('dockarea',
                                                'dock_responder',
                                                format=bool))
        self.CB_pumpkinPro.setChecked(
            self.FSettings.Settings.get_setting('dockarea',
                                                'dock_PumpkinProxy',
                                                format=bool))

        #connect
        self.doCheckAdvanced()
        self.CB_ActiveMode.clicked.connect(self.doCheckAdvanced)
        self.CB_monitorURL.clicked.connect(self.doCheckAdvanced)
        self.CB_Cread.clicked.connect(self.doCheckAdvanced)
        self.CB_bdfproxy.clicked.connect(self.doCheckAdvanced)
        self.CB_dns2proxy.clicked.connect(self.doCheckAdvanced)
        self.CB_responder.clicked.connect(self.doCheckAdvanced)
        self.CB_pumpkinPro.clicked.connect(self.doCheckAdvanced)
        # group
        self.layoutArea.addRow(self.CB_ActiveMode)
        self.gridArea.addWidget(
            self.CB_monitorURL,
            0,
            0,
        )
        self.gridArea.addWidget(self.CB_Cread, 0, 1)
        self.gridArea.addWidget(self.CB_responder, 0, 2)
        self.gridArea.addWidget(self.CB_bdfproxy, 1, 0)
        self.gridArea.addWidget(self.CB_bdfproxy, 1, 0)
        self.gridArea.addWidget(self.CB_dns2proxy, 1, 1)
        #self.gridArea.addWidget(self.CB_pumpkinPro,0,2) disable tab plugin
        self.layoutArea.addRow(self.gridArea)
        self.GroupArea.setTitle('Activity Monitor settings')
        self.GroupArea.setLayout(self.layoutArea)

        # connects
        self.btnDefault.clicked.connect(self.setdefaultSettings)
        self.btnSave.clicked.connect(self.savesettingsDHCP)
        self.mainLayout.addRow(self.SettingsAp)
        self.mainLayout.addRow(self.NetworkGroup)
        self.mainLayout.addRow(self.GroupArea)
        self.mainLayout.addRow(self.GroupDHCP)
        self.layout = QtGui.QHBoxLayout()
        self.layout.addWidget(self.scroll)
        self.addLayout(self.layout)
Beispiel #2
0
    def __init__(self, mainWindow):
        QtGui.QVBoxLayout.__init__(self)
        self.mainLayout = QtGui.QFormLayout()
        self.main_method = mainWindow

        self.scrollwidget = QtGui.QWidget()
        self.scrollwidget.setLayout(self.mainLayout)
        self.scroll = QtGui.QScrollArea()
        self.scroll.setWidgetResizable(True)
        self.scroll.setWidget(self.scrollwidget)
        self.split_window = QtGui.QHBoxLayout()

        guageWindow = QtGui.QGridLayout()
        self.currentThreadLabel = QtGui.QLabel('0')
        currentthread = self.create_info_box('CURRENT THREADS', 'infor',
                                             self.currentThreadLabel)

        self.sectionTimeLabel = QtGui.QLabel('00:00')
        currentTime = self.create_info_box('UPTIME', 'infor',
                                           self.sectionTimeLabel)
        guageWindow.addLayout(currentthread, 1, 1)
        guageWindow.addLayout(currentTime, 0, 1)

        self.AP_name = QtGui.QLabel(self.main_method.EditApName.text())
        self.AP_BSSID = QtGui.QLabel(self.main_method.EditBSSID.text())
        self.AP_Channel = QtGui.QLabel(self.main_method.EditChannel.text())
        self.AP_NetworkApdater = QtGui.QLabel(
            self.main_method.selectCard.currentText())
        self.AP_ROUTER = QtGui.QLabel(self.main_method.DHCP['router'])
        self.AP_DHCP_range = QtGui.QLabel(self.main_method.DHCP['range'])
        self.AP_Security = QtGui.QLabel('')
        self.update_security_label(
            self.main_method.GroupApPassphrase.isChecked())

        self.group_AccessPoint = QtGui.QGroupBox()
        self.form_window = AutoGridLayout()
        self.form_window.setSpacing(10)
        self.group_AccessPoint.setTitle('Access Point')
        self.form_window.addNextWidget(QtGui.QLabel('AP Name:'))
        self.form_window.addNextWidget(self.AP_name)
        self.form_window.addNextWidget(QtGui.QLabel('BSSID:'))
        self.form_window.addNextWidget(self.AP_BSSID)
        self.form_window.addNextWidget(QtGui.QLabel('Channel:'))
        self.form_window.addNextWidget(self.AP_Channel)
        self.form_window.addNextWidget(QtGui.QLabel('Network Adapter:'))
        self.form_window.addNextWidget(self.AP_NetworkApdater)
        self.form_window.addNextWidget(QtGui.QLabel('Router:'))
        self.form_window.addNextWidget(self.AP_ROUTER)
        self.form_window.addNextWidget(QtGui.QLabel('DHCP:'))
        self.form_window.addNextWidget(self.AP_DHCP_range)
        self.form_window.addNextWidget(QtGui.QLabel('Security Password:'))
        self.form_window.addNextWidget(self.AP_Security)
        self.form_window.addItem(
            QtGui.QSpacerItem(40, 10, QtGui.QSizePolicy.Minimum,
                              QtGui.QSizePolicy.Expanding))
        self.group_AccessPoint.setLayout(self.form_window)

        self.split_window.addWidget(self.group_AccessPoint)
        self.split_window.addLayout(guageWindow)

        self.mainLayout.addRow(self.split_window)
        self.layout = QtGui.QHBoxLayout()
        self.layout.addWidget(self.scroll)
        self.addLayout(self.layout)