Beispiel #1
0
    def __init__(self, FSettings, main, parent=None):
        super(PopUpPlugins, self).__init__(parent)
        self.main_method = main
        self.FSettings = FSettings
        self.layout = QtGui.QVBoxLayout()
        self.layoutform = QtGui.QFormLayout()
        self.GroupPlugins = QtGui.QGroupBox()
        self.GroupPlugins.setTitle('Activity Monitor:')

        self.layoutproxy = QtGui.QVBoxLayout()
        self.GroupPluginsProxy = QtGui.QGroupBox()
        self.GroupPluginsProxy.setTitle('Enable proxy server:')
        self.GroupPluginsProxy.setCheckable(True)
        #self.GroupPluginsProxy.toggled.connect(self.get_disable_proxyserver)
        self.GroupPluginsProxy.setLayout(self.layoutproxy)
        self.GroupPlugins.setLayout(self.layoutform)
        self.proxyGroup = QtGui.QButtonGroup()

        self.check_netcreds = QtGui.QCheckBox('net-creds ')
        self.check_responder = QtGui.QCheckBox('Firelamb')
        self.check_tcpproxy = QtGui.QCheckBox('TCP-Proxy')
        self.check_pumpkinProxy = QtGui.QRadioButton('Pumpkin-Proxy')
        self.check_dns2proy = QtGui.QRadioButton('SSLstrip+|Dns2proxy')
        self.check_sergioProxy = QtGui.QRadioButton('SSLstrip|Sergio-proxy')
        self.check_bdfproxy = QtGui.QRadioButton('BDFProxy-ng')
        self.check_noproxy = QtGui.QRadioButton('No Proxy')

        self.btnBDFSettings = QtGui.QPushButton('Change')
        self.btnResponderSettings = QtGui.QPushButton('Change')
        self.btnBDFSettings.setIcon(QtGui.QIcon('icons/config.png'))
        self.btnResponderSettings.setIcon(QtGui.QIcon('icons/config.png'))

        self.proxyGroup.addButton(self.check_pumpkinProxy)
        self.proxyGroup.addButton(self.check_dns2proy)
        self.proxyGroup.addButton(self.check_sergioProxy)

        self.proxyGroup.addButton(self.check_bdfproxy)

        self.check_tcpproxy.clicked.connect(self.checkBoxTCPproxy)
        self.check_pumpkinProxy.clicked.connect(self.checkGeneralOptions)
        self.check_dns2proy.clicked.connect(self.checkGeneralOptions)
        self.check_sergioProxy.clicked.connect(self.checkGeneralOptions)
        self.check_bdfproxy.clicked.connect(self.checkGeneralOptions)
        self.check_noproxy.clicked.connect(self.checkGeneralOptions)

        # set text description plugins
        self.check_dns2proy.setObjectName(
            'This tools offer a different features '
            'for post-explotation once you change the DNS server to a Victim. coded by: LeonardoNve'
        )
        self.check_sergioProxy.setObjectName(
            'Sergio proxy is an HTTP proxy that was written '
            'in Python for the Twisted framework. coded by: LeonardoNve')
        self.check_bdfproxy.setObjectName(
            'Patch Binaries via MITM: BackdoorFactory + mitmProxy, '
            'bdfproxy-ng is a fork and review of the original BDFProxy. coded by: secretsquirrel.'
        )
        self.check_pumpkinProxy.setObjectName(
            'Transparent proxy - intercepting HTTP data, '
            'this proxy server that allows to intercept requests and response on the fly'
        )

        # desction plugin checkbox
        self.check_netcreds.setObjectName(
            'Sniff passwords and hashes from an interface or pcap file.'
            ' coded by: Dan McInerney')
        self.check_tcpproxy.setObjectName(
            'sniff for isntercept network traffic on UDP,TCP protocol.'
            ' get password,hash,image,etc...')
        self.check_responder.setObjectName(
            'Firelamb an LLMNR, NBT-NS and MDNS poisoner. '
            'By default, the tool will only answer to File Server Service request, which is for SMB.'
        )

        #self.layoutproxy.addWidget(self.tableplugins)
        #self.layoutproxy.addWidget(self.tableplugincheckbox)
        self.layout.addWidget(self.GroupPluginsProxy)
        self.layout.addWidget(self.GroupPlugins)
        self.addLayout(self.layout)
Beispiel #2
0
    def __init__(self,FSettings,main,parent=None):
        super(PopUpPlugins, self).__init__(parent)
        self.main_method = main
        self.FSettings = FSettings
        self.layout = QtGui.QVBoxLayout()
        self.layoutform = QtGui.QFormLayout()
        self.layoutproxy = QtGui.QVBoxLayout()
        self.GroupPlugins = QtGui.QGroupBox()
        self.GroupPluginsProxy = QtGui.QGroupBox()
        self.GroupPlugins.setTitle('plugins:')
        self.GroupPluginsProxy.setLayout(self.layoutproxy)
        self.GroupPlugins.setLayout(self.layoutform)

        self.check_netcreds     = QtGui.QCheckBox('net-creds ')
        self.check_responder    = QtGui.QCheckBox('Responder')
        self.check_tcpproxy     = QtGui.QCheckBox('TCP-Proxy')
        self.check_noproxy      = QtGui.QRadioButton('No Proxy')
        self.check_mitmproxy    = QtGui.QRadioButton('MITM Proxy (HTTP)')
        self.check_mitmproxyssl   = QtGui.QRadioButton('MITM Proxy (HTTP/HTTPS) + SSL-Strip')

        self.btnResponderSettings = QtGui.QPushButton('Change')
        self.btnResponderSettings.setIcon(QtGui.QIcon('icons/config.png'))
        #self.btnResponderSettings.clicked.connect(self.ConfigOBJBResponder)

        # set text description plugins
        self.check_mitmproxy.setObjectName('MITM Proxy 4.0.4. Forward HTTP only')
        self.check_mitmproxyssl.setObjectName('MITM Proxy 4.0.4. Forward HTTP + HTTPS and run SSLStrip')
        self.check_noproxy.setObjectName('No HTTP / HTTPS proxying')

        # desction plugin checkbox
        self.check_netcreds.setObjectName('Sniff passwords and hashes from an interface or pcap file.'
        ' coded by: Dan McInerney')
        self.check_tcpproxy.setObjectName('sniff for isntercept network traffic on UDP,TCP protocol.'
        ' get password,hash,image,etc...')
        self.check_responder.setObjectName('Responder an LLMNR, NBT-NS and MDNS poisoner. '
        'By default, the tool will only answer to File Server Service request, which is for SMB.')


        # table 1 for add plugins with QradioBtton
        self.THeadersPluginsProxy  = OrderedDict(
        [   ('Plugins',[self.check_noproxy, self.check_mitmproxy, self.check_mitmproxyssl]),
            ('Settings',[QtGui.QPushButton('None'), QtGui.QPushButton('None'), QtGui.QPushButton('None')]),
            ('Description',[self.check_noproxy.objectName(), self.check_mitmproxy.objectName(), self.check_mitmproxyssl.objectName()])
        ])

        # table 2 for add plugins with checkbox
        self.THeadersPlugins  = OrderedDict(
        [   ('Plugins',[self.check_tcpproxy, self.check_responder]),
            ('Settings',[QtGui.QPushButton('None'), self.btnResponderSettings]),
            ('Description',[self.check_tcpproxy.objectName(), self.check_responder.objectName()])
        ])

        self.tableplugins = QtGui.QTableWidget()
        self.tableplugins.setColumnCount(3)
        self.tableplugins.setRowCount(len(self.THeadersPluginsProxy['Plugins']))
        self.tableplugins.resizeRowsToContents()
        self.tableplugins.setSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
        self.tableplugins.horizontalHeader().setStretchLastSection(True)
        self.tableplugins.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
        self.tableplugins.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
        self.tableplugins.verticalHeader().setVisible(False)
        self.tableplugins.verticalHeader().setDefaultSectionSize(23)
        self.tableplugins.setSortingEnabled(True)
        self.tableplugins.setHorizontalHeaderLabels(list(sorted(dict(self.THeadersPluginsProxy).keys())))
        self.tableplugins.horizontalHeader().resizeSection(0, 400)
        self.tableplugins.horizontalHeader().resizeSection(1, 290)
        self.tableplugins.resizeRowsToContents()

        self.tableplugincheckbox = QtGui.QTableWidget()
        self.tableplugincheckbox.setColumnCount(3)
        self.tableplugincheckbox.setRowCount(len(self.THeadersPlugins['Plugins']))
        self.tableplugincheckbox.resizeRowsToContents()
        self.tableplugincheckbox.setSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
        self.tableplugincheckbox.horizontalHeader().setStretchLastSection(True)
        self.tableplugincheckbox.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
        self.tableplugincheckbox.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
        self.tableplugincheckbox.verticalHeader().setVisible(False)
        self.tableplugincheckbox.verticalHeader().setDefaultSectionSize(23)
        self.tableplugincheckbox.setSortingEnabled(True)
        self.tableplugincheckbox.setHorizontalHeaderLabels(list(sorted(dict(self.THeadersPlugins).keys())))
        self.tableplugincheckbox.horizontalHeader().resizeSection(0, 400)
        self.tableplugincheckbox.horizontalHeader().resizeSection(1, 290)
        self.tableplugincheckbox.resizeRowsToContents()

        # add all widgets in Qtable 1 plgins
        Headers = []
        for n, key in enumerate(list(sorted(dict(self.THeadersPluginsProxy).keys()))):
            Headers.append(key)
            for m, item in enumerate(self.THeadersPluginsProxy[key]):
                if type(item) == type(QtGui.QRadioButton()) or type(item) == type(QtGui.QPushButton()):
                    self.tableplugins.setCellWidget(m,n,item)
                else:
                    item = QtGui.QTableWidgetItem(item)
                    self.tableplugins.setItem(m, n, item)
        self.tableplugins.setHorizontalHeaderLabels(list(sorted(dict(self.THeadersPluginsProxy).keys())))

        # add all widgets in Qtable 2 plugin
        Headers = []
        for n, key in enumerate(list(sorted(dict(self.THeadersPlugins).keys()))):
            Headers.append(key)
            for m, item in enumerate(self.THeadersPlugins[key]):
                if type(item) == type(QtGui.QCheckBox()) or type(item) == type(QtGui.QPushButton()):
                    self.tableplugincheckbox.setCellWidget(m,n,item)
                else:
                    item = QtGui.QTableWidgetItem(item)
                    self.tableplugincheckbox.setItem(m, n, item)
        self.tableplugins.setHorizontalHeaderLabels(list(sorted(dict(self.THeadersPlugins).keys())))

        self.proxyGroup = QtGui.QButtonGroup()
        self.proxyGroup.addButton(self.check_mitmproxy)
        self.proxyGroup.addButton(self.check_mitmproxyssl)
        self.proxyGroup.addButton(self.check_noproxy)

        self.check_tcpproxy.clicked.connect(self.checkBoxTCPproxy)
        self.check_mitmproxy.clicked.connect(self.checkGeneralOptions)
        self.check_mitmproxyssl.clicked.connect(self.checkGeneralOptions)
        self.check_noproxy.clicked.connect(self.checkGeneralOptions)
        self.check_responder.clicked.connect(self.checkBoxResponder)

        self.layoutproxy.addWidget(self.tableplugins)
        self.layoutproxy.addWidget(self.tableplugincheckbox)
        self.layout.addWidget(self.GroupPluginsProxy)
        self.addLayout(self.layout)
Beispiel #3
0
    def __init__(self, FSettings, main, parent=None):
        super(PopUpPlugins, self).__init__(parent)
        self.main_method = main
        self.FSettings = FSettings
        self.layout = QtGui.QVBoxLayout()
        self.layoutform = QtGui.QFormLayout()
        self.layoutproxy = QtGui.QVBoxLayout()
        self.GroupPlugins = QtGui.QGroupBox()
        self.GroupPluginsProxy = QtGui.QGroupBox()
        self.GroupPlugins.setTitle('plugins:')
        self.GroupPluginsProxy.setTitle('Enable proxy server:')
        self.GroupPluginsProxy.setCheckable(True)
        self.GroupPluginsProxy.clicked.connect(self.get_disable_proxyserver)
        self.GroupPluginsProxy.setLayout(self.layoutproxy)
        self.GroupPlugins.setLayout(self.layoutform)

        self.check_netcreds = QtGui.QCheckBox('net-creds ')
        self.check_responder = QtGui.QCheckBox('Responder')
        self.check_tcpproxy = QtGui.QCheckBox('TCP-Proxy')
        self.check_pumpkinProxy = QtGui.QRadioButton('Pumpkin-Proxy')
        self.check_dns2proy = QtGui.QRadioButton('SSLstrip+|Dns2proxy')
        self.check_sergioProxy = QtGui.QRadioButton('SSLstrip|Sergio-proxy')
        self.check_bdfproxy = QtGui.QRadioButton('BDFProxy-ng')
        self.check_noproxy = QtGui.QRadioButton('No Proxy')

        self.btnBDFSettings = QtGui.QPushButton('Change')
        self.btnResponderSettings = QtGui.QPushButton('Change')
        self.btnBDFSettings.setIcon(QtGui.QIcon('icons/config.png'))
        self.btnResponderSettings.setIcon(QtGui.QIcon('icons/config.png'))
        self.btnBDFSettings.clicked.connect(self.ConfigOBJBDFproxy)
        self.btnResponderSettings.clicked.connect(self.ConfigOBJBResponder)

        # set text description plugins
        self.check_dns2proy.setObjectName(
            'This tools offer a different features '
            'for post-explotation once you change the DNS server to a Victim. coded by: LeonardoNve'
        )
        self.check_sergioProxy.setObjectName(
            'Sergio proxy is an HTTP proxy that was written '
            'in Python for the Twisted framework. coded by: LeonardoNve')
        self.check_bdfproxy.setObjectName(
            'Patch Binaries via MITM: BackdoorFactory + mitmProxy, '
            'bdfproxy-ng is a fork and review of the original BDFProxy. coded by: secretsquirrel.'
        )
        self.check_pumpkinProxy.setObjectName(
            'Transparent proxy - intercepting HTTP data, '
            'this proxy server that allows to intercept requests and response on the fly'
        )

        # desction plugin checkbox
        self.check_netcreds.setObjectName(
            'Sniff passwords and hashes from an interface or pcap file.'
            ' coded by: Dan McInerney')
        self.check_tcpproxy.setObjectName(
            'sniff for isntercept network traffic on UDP,TCP protocol.'
            ' get password,hash,image,etc...')
        self.check_responder.setObjectName(
            'Responder an LLMNR, NBT-NS and MDNS poisoner. '
            'By default, the tool will only answer to File Server Service request, which is for SMB.'
        )

        # table 1 for add plugins with QradioBtton
        self.THeadersPluginsProxy = OrderedDict([
            ('Plugins', [
                self.check_pumpkinProxy, self.check_dns2proy,
                self.check_sergioProxy, self.check_bdfproxy
            ]),
            ('Settings', [
                QtGui.QPushButton('None'),
                QtGui.QPushButton('None'),
                QtGui.QPushButton('None'), self.btnBDFSettings
            ]),
            ('Description', [
                self.check_pumpkinProxy.objectName(),
                self.check_dns2proy.objectName(),
                self.check_sergioProxy.objectName(),
                self.check_bdfproxy.objectName()
            ])
        ])

        # table 2 for add plugins with checkbox
        self.THeadersPlugins = OrderedDict([
            ('Plugins', [self.check_tcpproxy, self.check_responder]),
            ('Settings',
             [QtGui.QPushButton('None'), self.btnResponderSettings]),
            ('Description', [
                self.check_tcpproxy.objectName(),
                self.check_responder.objectName(),
            ])
        ])

        self.tableplugins = QtGui.QTableWidget()
        self.tableplugins.setColumnCount(3)
        self.tableplugins.setRowCount(len(
            self.THeadersPluginsProxy['Plugins']))
        self.tableplugins.resizeRowsToContents()
        self.tableplugins.setSizePolicy(QtGui.QSizePolicy.Preferred,
                                        QtGui.QSizePolicy.Preferred)
        self.tableplugins.horizontalHeader().setStretchLastSection(True)
        self.tableplugins.setSelectionBehavior(
            QtGui.QAbstractItemView.SelectRows)
        self.tableplugins.setEditTriggers(
            QtGui.QAbstractItemView.NoEditTriggers)
        self.tableplugins.verticalHeader().setVisible(False)
        self.tableplugins.verticalHeader().setDefaultSectionSize(23)
        self.tableplugins.setSortingEnabled(True)
        self.tableplugins.setHorizontalHeaderLabels(
            self.THeadersPluginsProxy.keys())
        self.tableplugins.horizontalHeader().resizeSection(0, 158)
        self.tableplugins.horizontalHeader().resizeSection(1, 80)
        self.tableplugins.resizeRowsToContents()

        self.tableplugincheckbox = QtGui.QTableWidget()
        self.tableplugincheckbox.setColumnCount(3)
        self.tableplugincheckbox.setRowCount(
            len(self.THeadersPlugins['Plugins']))
        self.tableplugincheckbox.resizeRowsToContents()
        self.tableplugincheckbox.setSizePolicy(QtGui.QSizePolicy.Preferred,
                                               QtGui.QSizePolicy.Preferred)
        self.tableplugincheckbox.horizontalHeader().setStretchLastSection(True)
        self.tableplugincheckbox.setSelectionBehavior(
            QtGui.QAbstractItemView.SelectRows)
        self.tableplugincheckbox.setEditTriggers(
            QtGui.QAbstractItemView.NoEditTriggers)
        self.tableplugincheckbox.verticalHeader().setVisible(False)
        self.tableplugincheckbox.verticalHeader().setDefaultSectionSize(23)
        self.tableplugincheckbox.setSortingEnabled(True)
        self.tableplugincheckbox.setHorizontalHeaderLabels(
            self.THeadersPlugins.keys())
        self.tableplugincheckbox.horizontalHeader().resizeSection(0, 158)
        self.tableplugincheckbox.horizontalHeader().resizeSection(1, 80)
        self.tableplugincheckbox.resizeRowsToContents()

        # add all widgets in Qtable 1 plgins
        Headers = []
        for n, key in enumerate(self.THeadersPluginsProxy.keys()):
            Headers.append(key)
            for m, item in enumerate(self.THeadersPluginsProxy[key]):
                if type(item) == type(
                        QtGui.QRadioButton()) or type(item) == type(
                            QtGui.QPushButton()):
                    self.tableplugins.setCellWidget(m, n, item)
                else:
                    item = QtGui.QTableWidgetItem(item)
                    self.tableplugins.setItem(m, n, item)
        self.tableplugins.setHorizontalHeaderLabels(
            self.THeadersPluginsProxy.keys())
        # add all widgets in Qtable 2 plugin
        Headers = []
        for n, key in enumerate(self.THeadersPlugins.keys()):
            Headers.append(key)
            for m, item in enumerate(self.THeadersPlugins[key]):
                if type(item) == type(QtGui.QCheckBox()) or type(item) == type(
                        QtGui.QPushButton()):
                    self.tableplugincheckbox.setCellWidget(m, n, item)
                else:
                    item = QtGui.QTableWidgetItem(item)
                    self.tableplugincheckbox.setItem(m, n, item)
        self.tableplugins.setHorizontalHeaderLabels(
            self.THeadersPlugins.keys())

        self.proxyGroup = QtGui.QButtonGroup()
        self.proxyGroup.addButton(self.check_pumpkinProxy)
        self.proxyGroup.addButton(self.check_dns2proy)
        self.proxyGroup.addButton(self.check_sergioProxy)
        self.proxyGroup.addButton(self.check_noproxy)
        self.proxyGroup.addButton(self.check_bdfproxy)

        self.check_tcpproxy.clicked.connect(self.checkBoxTCPproxy)
        self.check_pumpkinProxy.clicked.connect(self.checkGeneralOptions)
        self.check_dns2proy.clicked.connect(self.checkGeneralOptions)
        self.check_sergioProxy.clicked.connect(self.checkGeneralOptions)
        self.check_bdfproxy.clicked.connect(self.checkGeneralOptions)
        self.check_noproxy.clicked.connect(self.checkGeneralOptions)
        self.check_responder.clicked.connect(self.checkBoxResponder)

        self.layoutproxy.addWidget(self.tableplugins)
        self.layoutproxy.addWidget(self.tableplugincheckbox)
        self.layout.addWidget(self.GroupPluginsProxy)
        self.addLayout(self.layout)