def scanAllRelays(self, policyId, scanName): targets = '' for node in self.torNodes: targets += node.host + "\n" nessusConverter = NessusConverter( self.nessusClient.scanNew(targets, policyId, scanName, method="POST")) nessusConverter.scanToStructure() tableScan = PrettyTable([ "Owner", "Scan Name", "Start Time", "UUID", "Readable Name", "Status", "Completion Current", "Completion Total" ]) tableScan.add_row([ nessusConverter.nessusStructure.scan.owner, nessusConverter.nessusStructure.scan.scanName, nessusConverter.nessusStructure.scan.startTime, nessusConverter.nessusStructure.scan.uuid, nessusConverter.nessusStructure.scan.readableName, nessusConverter.nessusStructure.scan.status, nessusConverter.nessusStructure.scan.completionCurrent, nessusConverter.nessusStructure.scan.completionTotal ]) print tableScan
def scanTemplateEditByRelay(self, templateEdit, templateNewName, policyId, relay): found = False for node in self.torNodes: if relay is not None: if relay == node.host or relay.lower() == node.nickName.lower( ): found = True break if found: nessusConverter = NessusConverter( self.nessusClient.scanTemplateEdit(templateEdit, templateNewName, policyId, relay)) nessusConverter.scanTemplateToStructure() print "[*] Nessus scan Template Edit." tableTemplate = PrettyTable( ["Owner", "Readable Name", "Target", "Scan Name", "Policy ID"]) if nessusConverter.nessusStructure.nessusScanTemplate is not None: tableTemplate.add_row([ nessusConverter.nessusStructure.nessusScanTemplate.owner, nessusConverter.nessusStructure.nessusScanTemplate. readablename, nessusConverter.nessusStructure.nessusScanTemplate.target, nessusConverter.nessusStructure.nessusScanTemplate.name, nessusConverter.nessusStructure.nessusScanTemplate.policyId ]) print tableTemplate
def scanByRelay(self, policyId, scanName, relay): found = False for node in self.torNodes: if relay is not None: if relay == node.host or relay.lower() == node.nickName.lower( ): found = True break if found: nessusConverter = NessusConverter( self.nessusClient.scanNew(relay, policyId, scanName, method="POST")) nessusConverter.scanToStructure() print "[*] Nessus scan using the relay %s " % (relay) tableScan = PrettyTable([ "Owner", "Scan Name", "Start Time", "UUID", "Readable Name", "Status", "Completion Current", "Completion Total" ]) tableScan.add_row([ nessusConverter.nessusStructure.scan.owner, nessusConverter.nessusStructure.scan.scanName, nessusConverter.nessusStructure.scan.startTime, nessusConverter.nessusStructure.scan.uuid, nessusConverter.nessusStructure.scan.readableName, nessusConverter.nessusStructure.scan.status, nessusConverter.nessusStructure.scan.completionCurrent, nessusConverter.nessusStructure.scan.completionTotal ]) print tableScan else: print["[-] The relay specified is not found."]
def pluginsAttributesFamilySearch(self, filter0Quality, filterSearchType, filter0Value, filter0Filter): nessusConverter = NessusConverter(self.nessusClient.pluginsAttributesFamilySearch(filter0Quality,filterSearchType,filter0Value,filter0Filter)) nessusConverter.pluginsAttributeFamilySearchToStructure() print "[*] Family Search" tablePluginAttributes = PrettyTable(["Family"]) tablePluginAttributes.add_row([nessusConverter.nessusStructure.pluginsAttributeFamilySearch]) print tablePluginAttributes
def feed(self): nessusConverter = NessusConverter(self.nessusClient.feed(method="POST")) nessusConverter.feedToStructure() print "[*] Basic Feed Information" tableBasicFeed = PrettyTable(["Feed", "Plugin Rules", "Expiration", "UI Version", "Server Version", "WebServer Version"]) tableBasicFeed.padding_width = 1 tableBasicFeed.add_row([nessusConverter.nessusStructure.feed.feed, nessusConverter.nessusStructure.feed.pluginRules, nessusConverter.nessusStructure.feed.expiration, nessusConverter.nessusStructure.feed.uiVersion, nessusConverter.nessusStructure.feed.serverVersion, nessusConverter.nessusStructure.feed.webServerVersion]) print tableBasicFeed print "\n[*] Other Information" tableOtherFeed = PrettyTable(["Nessus Type", "Diff","Expiration Time","Report Email", "Tags", "MSP", "Multi-Scanner","Loaded PluginSet"]) tableOtherFeed.padding_width = 1 tableOtherFeed.add_row([nessusConverter.nessusStructure.feed.nessusType, nessusConverter.nessusStructure.feed.diff, nessusConverter.nessusStructure.feed.expirationTime, nessusConverter.nessusStructure.feed.reportEmail, nessusConverter.nessusStructure.feed.tags, nessusConverter.nessusStructure.feed.msp, nessusConverter.nessusStructure.feed.multiScanner, nessusConverter.nessusStructure.feed.loadedPluginSet]) print tableOtherFeed
def pluginsMd5(self): nessusConverter = NessusConverter(self.nessusClient.pluginsMd5()) nessusConverter.md5StructureToStructure() print "[*] Plugins MD5" tableMD5 = PrettyTable(["FileName", "MD5 Hash"]) for md5 in nessusConverter.nessusStructure.md5Structure: tableMD5.add_row([md5.fileName, md5.md5]) print tableMD5
def serverUuid(self): nessusConverter = NessusConverter(self.nessusClient.serverUuid()) nessusConverter.serverUuidToStructure() tableUuid = PrettyTable(["UUID"]) tableUuid.padding_width = 1 tableUuid.add_row([nessusConverter.nessusStructure.uuid]) print tableUuid
def policyPreferencesList(self): nessusConverter = NessusConverter(self.nessusClient.policyPreferencesList()) nessusConverter.serverPolicyPreferenceToStructure() print "[*] Policy Preferences List" tablePreference = PrettyTable(["Name", "Value"]) for preference in nessusConverter.nessusStructure.policyPreferences: tablePreference.add_row([preference.name, preference.value]) print tablePreference
def policyList(self): nessusConverter = NessusConverter(self.nessusClient.policyList()) nessusConverter.policyStructureToStructure() print "[*] Policy List" tablePolicies = PrettyTable(["Id", "Name","Owner","Visibility"]) for policy in nessusConverter.nessusStructure.nessusPolicies: tablePolicies.add_row([policy.policyId, policy.policyName, policy.policyOwner, policy.policyVisibility]) print tablePolicies
def policyDelete(self, policyId): nessusConverter = NessusConverter(self.nessusClient.policyDelete(policyId)) nessusConverter.policyDeletedToStructure() print "[*] Policy Deleted" tablePolicies = PrettyTable(["Policy Deleted"]) for policy in nessusConverter.nessusStructure.nessusPolicies: tablePolicies.add_row([nessusConverter.nessusStructure.policyDeleted]) print tablePolicies
def policyCopy(self, policyId): nessusConverter = NessusConverter(self.nessusClient.policyCopy(policyId)) nessusConverter.policyStructureToStructure() print "[*] Policy Copy" tablePolicies = PrettyTable(["Id", "Name","Owner","Visibility"]) for policy in nessusConverter.nessusStructure.nessusPolicies: tablePolicies.add_row([policy.name, policy.value]) print tablePolicies
def serverSecureSettings(self): nessusConverter = NessusConverter(self.nessusClient.securesettings()) nessusConverter.secureSettingsListToStructure() print "[*] Nessus Secure Settings Updated" tableNessusSecureSettings = PrettyTable(["Preferences"]) tableNessusSecureSettings.padding_width = 1 tableNessusSecureSettings.add_row([nessusConverter.nessusStructure.secureSettings.preferences]) print tableNessusSecureSettings
def policyPreferencesList(self): nessusConverter = NessusConverter( self.nessusClient.policyPreferencesList()) nessusConverter.serverPolicyPreferenceToStructure() print "[*] Policy Preferences List" tablePreference = PrettyTable(["Name", "Value"]) for preference in nessusConverter.nessusStructure.policyPreferences: tablePreference.add_row([preference.name, preference.value]) print tablePreference
def policyCopy(self, policyId): nessusConverter = NessusConverter( self.nessusClient.policyCopy(policyId)) nessusConverter.policyStructureToStructure() print "[*] Policy Copy" tablePolicies = PrettyTable(["Id", "Name", "Owner", "Visibility"]) for policy in nessusConverter.nessusStructure.nessusPolicies: tablePolicies.add_row([policy.name, policy.value]) print tablePolicies
def serverUpdate(self): nessusConverter = NessusConverter(self.nessusClient.serverUpdate()) nessusConverter.serverUpdateToStructure() print "[*] Server Update" tableNessusSecureSettings = PrettyTable(["Server Update"]) tableNessusSecureSettings.padding_width = 1 tableNessusSecureSettings.add_row([nessusConverter.nessusStructure.serverUpdate]) print tableNessusSecureSettings
def serverRegister(self, nessusCode): nessusConverter = NessusConverter(self.nessusClient.serverRegister(nessusCode)) nessusConverter.serverUpdateToStructure() print "[*] Server Register" tableNessusServerRegister = PrettyTable(["Server Register"]) tableNessusServerRegister.padding_width = 1 tableNessusServerRegister.add_row([nessusConverter.nessusStructure.serverRegistration]) print tableNessusServerRegister
def serverSecureSettings(self): nessusConverter = NessusConverter(self.nessusClient.securesettings()) nessusConverter.secureSettingsListToStructure() print "[*] Nessus Secure Settings Updated" tableNessusSecureSettings = PrettyTable(["Preferences"]) tableNessusSecureSettings.padding_width = 1 tableNessusSecureSettings.add_row( [nessusConverter.nessusStructure.secureSettings.preferences]) print tableNessusSecureSettings
def pluginAttributesList(self): nessusConverter = NessusConverter(self.nessusClient.pluginsAttributesList()) nessusConverter.pluginsAttributesToStructure() print "[*] Plugins Attributes List" tablePluginsAttributes = PrettyTable(["Readable Name", 'Readable Regex', 'List']) for pluginsAttribute in nessusConverter.nessusStructure.pluginsAttributes: tablePluginsAttributes.add_row([pluginsAttribute.readableName, pluginsAttribute.control.readableRegex, pluginsAttribute.control.list ]) print tablePluginsAttributes
def pluginsList(self): nessusConverter = NessusConverter(self.nessusClient.pluginsList()) nessusConverter.pluginsListToStructure() print "[*] Plugins List" tablePlugins = PrettyTable(["Family Member", "Family Name"]) tablePlugins.padding_width = 1 for nessusPlugin in nessusConverter.nessusStructure.pluginsList: tablePlugins.add_row([nessusPlugin.familyMembers, nessusPlugin.familyName]) print tablePlugins
def policyDelete(self, policyId): nessusConverter = NessusConverter( self.nessusClient.policyDelete(policyId)) nessusConverter.policyDeletedToStructure() print "[*] Policy Deleted" tablePolicies = PrettyTable(["Policy Deleted"]) for policy in nessusConverter.nessusStructure.nessusPolicies: tablePolicies.add_row( [nessusConverter.nessusStructure.policyDeleted]) print tablePolicies
def serverUpdate(self): nessusConverter = NessusConverter(self.nessusClient.serverUpdate()) nessusConverter.serverUpdateToStructure() print "[*] Server Update" tableNessusSecureSettings = PrettyTable(["Server Update"]) tableNessusSecureSettings.padding_width = 1 tableNessusSecureSettings.add_row( [nessusConverter.nessusStructure.serverUpdate]) print tableNessusSecureSettings
def usersList(self): nessusConverter = NessusConverter(self.nessusClient.usersList()) nessusConverter.userToStructure() print "[*] User List" tableUsers = PrettyTable(["Name", "Admin", "Idx", "Last-Login"]) tableUsers.padding_width = 1 for nessusUser in nessusConverter.nessusStructure.nessusUsers: tableUsers.add_row([nessusUser.name,nessusUser.admin,nessusUser.idx,nessusUser.lastLogin]) print tableUsers
def reportTags(self, reportUuid, hostname): nessusConverter = NessusConverter(self.nessusClient.reportTags(reportUuid, hostname)) nessusConverter.tagToNessusStructure() print "[*] Nessus Tags." tableReport = PrettyTable(["Tag Name","Tag Value"]) if nessusConverter.nessusStructure.nessusTags is not None: for tag in nessusConverter.nessusStructure.nessusTags: tableReport.add_row([tag.name, tag.value]) else: print "[*] No results." print tableReport
def pluginsAttributesFamilySearch(self, filter0Quality, filterSearchType, filter0Value, filter0Filter): nessusConverter = NessusConverter( self.nessusClient.pluginsAttributesFamilySearch( filter0Quality, filterSearchType, filter0Value, filter0Filter)) nessusConverter.pluginsAttributeFamilySearchToStructure() print "[*] Family Search" tablePluginAttributes = PrettyTable(["Family"]) tablePluginAttributes.add_row( [nessusConverter.nessusStructure.pluginsAttributeFamilySearch]) print tablePluginAttributes
def serverRegister(self, nessusCode): nessusConverter = NessusConverter( self.nessusClient.serverRegister(nessusCode)) nessusConverter.serverUpdateToStructure() print "[*] Server Register" tableNessusServerRegister = PrettyTable(["Server Register"]) tableNessusServerRegister.padding_width = 1 tableNessusServerRegister.add_row( [nessusConverter.nessusStructure.serverRegistration]) print tableNessusServerRegister
def pluginsList(self): nessusConverter = NessusConverter(self.nessusClient.pluginsList()) nessusConverter.pluginsListToStructure() print "[*] Plugins List" tablePlugins = PrettyTable(["Family Member", "Family Name"]) tablePlugins.padding_width = 1 for nessusPlugin in nessusConverter.nessusStructure.pluginsList: tablePlugins.add_row( [nessusPlugin.familyMembers, nessusPlugin.familyName]) print tablePlugins
def policyDownload(self, policyId, fileName): nessusConverter = NessusConverter(self.nessusClient.policyDownload(policyId)) nessusConverter.policyDownloadedToStructure() try: fileDescriptor = open(fileName, "w") fileDescriptor.write(str(nessusConverter.nessusStructure.policyDownloaded)) fileDescriptor.close() print "[+] Policy's file downloaded successfully." except: print "Unexpected error:", sys.exc_info()[0] print "[-] Error downloading the policy. Check the file name specified."
def policyList(self): nessusConverter = NessusConverter(self.nessusClient.policyList()) nessusConverter.policyStructureToStructure() print "[*] Policy List" tablePolicies = PrettyTable(["Id", "Name", "Owner", "Visibility"]) for policy in nessusConverter.nessusStructure.nessusPolicies: tablePolicies.add_row([ policy.policyId, policy.policyName, policy.policyOwner, policy.policyVisibility ]) print tablePolicies
def scanList(self): nessusConverter = NessusConverter(self.nessusClient.scanList(method="POST")) nessusConverter.scanListToStructure() print "[*] Nessus scan List." tableScan = PrettyTable(["Owner", "Scan Name", "Start Time", "UUID", "Readable Name", "Status", "Completion Current","Completion Total"]) if len(nessusConverter.nessusStructure.scanList) > 0: for scan in nessusConverter.nessusStructure.scanList: tableScan.add_row([scan.owner, scan.scanName, scan.startTime, scan.uuid, scan.readablename, scan.status, scan.completionCurrent, scan.completionTotal]) print tableScan
def pluginsAttributesPluginSearch(self, filter0quality, filterSearchType, filter0Value, filter0Filter, family): nessusConverter = NessusConverter(self.nessusClient.pluginsAttributesPluginSearch(filter0quality,filterSearchType,filter0Value,filter0Filter, family)) nessusConverter.pluginsAttributePluginSearchToStructure() print "[*] Plugin Search" tablePluginAttributes = PrettyTable(["Family", "FileName", "Plugin ID", "Plugin Name"]) if nessusConverter.nessusStructure.pluginsAttributePluginSearch is not None: tablePluginAttributes.add_row([nessusConverter.nessusStructure.pluginsAttributePluginSearch.pluginFamily, nessusConverter.nessusStructure.pluginsAttributePluginSearch.pluginFileName, nessusConverter.nessusStructure.pluginsAttributePluginSearch.pluginId, nessusConverter.nessusStructure.pluginsAttributePluginSearch.pluginName]) print tablePluginAttributes
def pluginListsFamily(self, familyName): nessusConverter = NessusConverter(self.nessusClient.pluginsListFamily(familyName)) nessusConverter.pluginListFamilyToStructure() print "[*] Plugins List Family" tablePluginsListFamily = PrettyTable(["Plugin ID", "Plugin Name", "Plugin Family", 'Plugin FileName']) for pluginFamily in nessusConverter.nessusStructure.pluginsListFamily: tablePluginsListFamily.add_row([pluginFamily.pluginId, pluginFamily.pluginName, pluginFamily.pluginFamily, pluginFamily.pluginFileName]) print tablePluginsListFamily
def reportList(self): nessusConverter = NessusConverter(self.nessusClient.reportList()) nessusConverter.reportToStructure() print "[*] Nessus Report List." tableReport = PrettyTable(["Status","Readable Name", "UUID", "Timestamp"]) if nessusConverter.nessusStructure.reportList is not None: for report in nessusConverter.nessusStructure.reportList: tableReport.add_row([report.status, report.readablename, report.name, report.timestamp]) print tableReport
def reportTags(self, reportUuid, hostname): nessusConverter = NessusConverter( self.nessusClient.reportTags(reportUuid, hostname)) nessusConverter.tagToNessusStructure() print "[*] Nessus Tags." tableReport = PrettyTable(["Tag Name", "Tag Value"]) if nessusConverter.nessusStructure.nessusTags is not None: for tag in nessusConverter.nessusStructure.nessusTags: tableReport.add_row([tag.name, tag.value]) else: print "[*] No results." print tableReport
def scanTemplateDelete(self, templateUuid): nessusConverter = NessusConverter(self.nessusClient.scanTemplateDelete(templateUuid)) nessusConverter.scanTemplateToStructure() print "[*] Nessus scan Template Deleted." tableTemplate = PrettyTable(["Owner", "Readable Name", "Target", "Scan Name", "Policy ID"]) if nessusConverter.nessusStructure.nessusScanTemplate is not None: tableTemplate.add_row([nessusConverter.nessusStructure.nessusScanTemplate.owner, nessusConverter.nessusStructure.nessusScanTemplate.readablename, nessusConverter.nessusStructure.nessusScanTemplate.target, nessusConverter.nessusStructure.nessusScanTemplate.name, nessusConverter.nessusStructure.nessusScanTemplate.policyId]) print tableTemplate
def userChpasswd(self, userName, password): nessusConverter = NessusConverter(self.nessusClient.usersChpasswd(userName,password)) nessusConverter.userToStructure() print "[*] User Password Changed" tableUsers = PrettyTable(["Name", "Admin", "Idx", "Last-Login"]) tableUsers.padding_width = 1 tableUsers.add_row([nessusConverter.nessusStructure.nessusUser.name, nessusConverter.nessusStructure.nessusUser.admin, nessusConverter.nessusStructure.nessusUser.idx, nessusConverter.nessusStructure.nessusUser.lastLogin]) print tableUsers
def userDelete(self, userName): nessusConverter = NessusConverter(self.nessusClient.usersDelete(userName)) nessusConverter.userToStructure() print "[*] User Removed" tableUsers = PrettyTable(["Name", "Admin", "Idx", "Last-Login"]) tableUsers.padding_width = 1 tableUsers.add_row([nessusConverter.nessusStructure.nessusUser.name, nessusConverter.nessusStructure.nessusUser.admin, nessusConverter.nessusStructure.nessusUser.idx, nessusConverter.nessusStructure.nessusUser.lastLogin]) print tableUsers
def reportPorts(self, reportUuid, hostname): nessusConverter = NessusConverter(self.nessusClient.reportPorts(reportUuid, hostname)) nessusConverter.reportPortToStructure() print "[*] Nessus Report Ports." tableReport = PrettyTable(["Port Number","Protocol", "Severity", "SVC Name"]) if nessusConverter.nessusStructure.reportPortList is not None: for reportPort in nessusConverter.nessusStructure.reportPortList: tableReport.add_row([reportPort.portNumber, reportPort.protocol, reportPort.severity, reportPort.svcName]) print tableReport
def reportList(self): nessusConverter = NessusConverter(self.nessusClient.reportList()) nessusConverter.reportToStructure() print "[*] Nessus Report List." tableReport = PrettyTable( ["Status", "Readable Name", "UUID", "Timestamp"]) if nessusConverter.nessusStructure.reportList is not None: for report in nessusConverter.nessusStructure.reportList: tableReport.add_row([ report.status, report.readablename, report.name, report.timestamp ]) print tableReport
def pluginListsFamily(self, familyName): nessusConverter = NessusConverter( self.nessusClient.pluginsListFamily(familyName)) nessusConverter.pluginListFamilyToStructure() print "[*] Plugins List Family" tablePluginsListFamily = PrettyTable( ["Plugin ID", "Plugin Name", "Plugin Family", 'Plugin FileName']) for pluginFamily in nessusConverter.nessusStructure.pluginsListFamily: tablePluginsListFamily.add_row([ pluginFamily.pluginId, pluginFamily.pluginName, pluginFamily.pluginFamily, pluginFamily.pluginFileName ]) print tablePluginsListFamily
def policyDownload(self, policyId, fileName): nessusConverter = NessusConverter( self.nessusClient.policyDownload(policyId)) nessusConverter.policyDownloadedToStructure() try: fileDescriptor = open(fileName, "w") fileDescriptor.write( str(nessusConverter.nessusStructure.policyDownloaded)) fileDescriptor.close() print "[+] Policy's file downloaded successfully." except: print "Unexpected error:", sys.exc_info()[0] print "[-] Error downloading the policy. Check the file name specified."
def scanTemplateLaunch(self, templateName): nessusConverter = NessusConverter(self.nessusClient.scanTemplateLaunch(templateName)) #Nessus will return an scan structure. nessusConverter.scanToStructure() print "[*] Nessus scan Template Launch." tableTemplate = PrettyTable(["Owner", "Readable Name", "Target", "Scan Name", "Policy ID"]) if nessusConverter.nessusStructure.nessusScanTemplate is not None: tableTemplate.add_row([nessusConverter.nessusStructure.nessusScanTemplate.owner, nessusConverter.nessusStructure.nessusScanTemplate.readablename, nessusConverter.nessusStructure.nessusScanTemplate.target, nessusConverter.nessusStructure.nessusScanTemplate.name, nessusConverter.nessusStructure.nessusScanTemplate.policyId]) print tableTemplate
def usersList(self): nessusConverter = NessusConverter(self.nessusClient.usersList()) nessusConverter.userToStructure() print "[*] User List" tableUsers = PrettyTable(["Name", "Admin", "Idx", "Last-Login"]) tableUsers.padding_width = 1 for nessusUser in nessusConverter.nessusStructure.nessusUsers: tableUsers.add_row([ nessusUser.name, nessusUser.admin, nessusUser.idx, nessusUser.lastLogin ]) print tableUsers
def reportPorts(self, reportUuid, hostname): nessusConverter = NessusConverter( self.nessusClient.reportPorts(reportUuid, hostname)) nessusConverter.reportPortToStructure() print "[*] Nessus Report Ports." tableReport = PrettyTable( ["Port Number", "Protocol", "Severity", "SVC Name"]) if nessusConverter.nessusStructure.reportPortList is not None: for reportPort in nessusConverter.nessusStructure.reportPortList: tableReport.add_row([ reportPort.portNumber, reportPort.protocol, reportPort.severity, reportPort.svcName ]) print tableReport
def scanTemplateAllRelays(self, policyId, templateName): targets = '' for node in self.torNodes: targets +=node.host+"\n" nessusConverter = NessusConverter(self.nessusClient.scanTemplateNew(policyId,targets,templateName)) nessusConverter.scanTemplateToStructure() print "[*] Nessus scan Template New." tableTemplate = PrettyTable(["Owner", "Readable Name", "Target", "Scan Name", "Policy ID"]) tableTemplate.add_row([nessusConverter.nessusStructure.nessusScanTemplate.owner, nessusConverter.nessusStructure.nessusScanTemplate.readablename, nessusConverter.nessusStructure.nessusScanTemplate.target, nessusConverter.nessusStructure.nessusScanTemplate.name, nessusConverter.nessusStructure.nessusScanTemplate.policyId]) print tableTemplate
def reportHosts(self,reportUuid): nessusConverter = NessusConverter(self.nessusClient.reportHosts(reportUuid)) nessusConverter.reportHostToStructure() print "[*] Nessus Report Hosts List." tableReport = PrettyTable(["Hostname","Num. Checks", "Total Checks", "Scan Progress Current", "Scan Progress Total", "Severity"]) if nessusConverter.nessusStructure.reportHosts is not None: for reportHost in nessusConverter.nessusStructure.reportHosts: tableReport.add_row([reportHost.hostname, reportHost.numchecksconsidered, reportHost.totalchecksconsidered, reportHost.scanprogresscurrent, reportHost.scanprogresstotal, reportHost.severity]) print tableReport
def scanPause(self, scanUuid): nessusConverter = NessusConverter(self.nessusClient.scanPause(scanUuid)) nessusConverter.scanToStructure() print "[*] Nessus scan Paused." tableScan = PrettyTable(["Owner", "Scan Name", "Start Time", "UUID", "Readable Name", "Status", "Completion Current","Completion Total"]) tableScan.add_row([nessusConverter.nessusStructure.scan.owner, nessusConverter.nessusStructure.scan.scanName, nessusConverter.nessusStructure.scan.startTime, nessusConverter.nessusStructure.scan.uuid, nessusConverter.nessusStructure.scan.readableName, nessusConverter.nessusStructure.scan.status, nessusConverter.nessusStructure.scan.completionCurrent, nessusConverter.nessusStructure.scan.completionTotal]) print tableScan
def serverLoad(self): nessusConverter = NessusConverter(self.nessusClient.serverLoad(method="POST")) nessusConverter.serverLoadToStructure() print "[*] Server Load" tableNessusServerLoad = PrettyTable(["Scans", "Sessions","Hosts","TCP Sessions", "Load AVG", "Platform"]) tableNessusServerLoad.padding_width = 1 tableNessusServerLoad.add_row([nessusConverter.nessusStructure.serverLoad.numScans, nessusConverter.nessusStructure.serverLoad.numSessions, nessusConverter.nessusStructure.serverLoad.numHosts, nessusConverter.nessusStructure.serverLoad.numTcpSessions, nessusConverter.nessusStructure.serverLoad.loadAvg, nessusConverter.nessusStructure.serverLoad.platform]) print tableNessusServerLoad
def reportAttributesList(self,reportUuid): nessusConverter = NessusConverter(self.nessusClient.reportAttributesList(reportUuid)) nessusConverter.reportAttributesToStructure() print "[*] Nessus Report Attributes." tableReport = PrettyTable(["Name","Readable Name","Readable Regex", "Operators"]) if nessusConverter.nessusStructure.nessusReportAttributes is not None: for reportAttribute in nessusConverter.nessusStructure.nessusReportAttributes: tableReport.add_row([reportAttribute.name, reportAttribute.readableName, reportAttribute.nessusControl.readableRegex, reportAttribute.operators]) tableReport.align["Operators"] = "l" print tableReport
def userDelete(self, userName): nessusConverter = NessusConverter( self.nessusClient.usersDelete(userName)) nessusConverter.userToStructure() print "[*] User Removed" tableUsers = PrettyTable(["Name", "Admin", "Idx", "Last-Login"]) tableUsers.padding_width = 1 tableUsers.add_row([ nessusConverter.nessusStructure.nessusUser.name, nessusConverter.nessusStructure.nessusUser.admin, nessusConverter.nessusStructure.nessusUser.idx, nessusConverter.nessusStructure.nessusUser.lastLogin ]) print tableUsers
def userChpasswd(self, userName, password): nessusConverter = NessusConverter( self.nessusClient.usersChpasswd(userName, password)) nessusConverter.userToStructure() print "[*] User Password Changed" tableUsers = PrettyTable(["Name", "Admin", "Idx", "Last-Login"]) tableUsers.padding_width = 1 tableUsers.add_row([ nessusConverter.nessusStructure.nessusUser.name, nessusConverter.nessusStructure.nessusUser.admin, nessusConverter.nessusStructure.nessusUser.idx, nessusConverter.nessusStructure.nessusUser.lastLogin ]) print tableUsers
def pluginAttributesList(self): nessusConverter = NessusConverter( self.nessusClient.pluginsAttributesList()) nessusConverter.pluginsAttributesToStructure() print "[*] Plugins Attributes List" tablePluginsAttributes = PrettyTable( ["Readable Name", 'Readable Regex', 'List']) for pluginsAttribute in nessusConverter.nessusStructure.pluginsAttributes: tablePluginsAttributes.add_row([ pluginsAttribute.readableName, pluginsAttribute.control.readableRegex, pluginsAttribute.control.list ]) print tablePluginsAttributes
def scanTemplateDelete(self, templateUuid): nessusConverter = NessusConverter( self.nessusClient.scanTemplateDelete(templateUuid)) nessusConverter.scanTemplateToStructure() print "[*] Nessus scan Template Deleted." tableTemplate = PrettyTable( ["Owner", "Readable Name", "Target", "Scan Name", "Policy ID"]) if nessusConverter.nessusStructure.nessusScanTemplate is not None: tableTemplate.add_row([ nessusConverter.nessusStructure.nessusScanTemplate.owner, nessusConverter.nessusStructure.nessusScanTemplate. readablename, nessusConverter.nessusStructure.nessusScanTemplate.target, nessusConverter.nessusStructure.nessusScanTemplate.name, nessusConverter.nessusStructure.nessusScanTemplate.policyId ]) print tableTemplate
def scanList(self): nessusConverter = NessusConverter( self.nessusClient.scanList(method="POST")) nessusConverter.scanListToStructure() print "[*] Nessus scan List." tableScan = PrettyTable([ "Owner", "Scan Name", "Start Time", "UUID", "Readable Name", "Status", "Completion Current", "Completion Total" ]) if len(nessusConverter.nessusStructure.scanList) > 0: for scan in nessusConverter.nessusStructure.scanList: tableScan.add_row([ scan.owner, scan.scanName, scan.startTime, scan.uuid, scan.readablename, scan.status, scan.completionCurrent, scan.completionTotal ]) print tableScan
def reportAttributesList(self, reportUuid): nessusConverter = NessusConverter( self.nessusClient.reportAttributesList(reportUuid)) nessusConverter.reportAttributesToStructure() print "[*] Nessus Report Attributes." tableReport = PrettyTable( ["Name", "Readable Name", "Readable Regex", "Operators"]) if nessusConverter.nessusStructure.nessusReportAttributes is not None: for reportAttribute in nessusConverter.nessusStructure.nessusReportAttributes: tableReport.add_row([ reportAttribute.name, reportAttribute.readableName, reportAttribute.nessusControl.readableRegex, reportAttribute.operators ]) tableReport.align["Operators"] = "l" print tableReport
def scanTemplateLaunch(self, templateName): nessusConverter = NessusConverter( self.nessusClient.scanTemplateLaunch(templateName)) #Nessus will return an scan structure. nessusConverter.scanToStructure() print "[*] Nessus scan Template Launch." tableTemplate = PrettyTable( ["Owner", "Readable Name", "Target", "Scan Name", "Policy ID"]) if nessusConverter.nessusStructure.nessusScanTemplate is not None: tableTemplate.add_row([ nessusConverter.nessusStructure.nessusScanTemplate.owner, nessusConverter.nessusStructure.nessusScanTemplate. readablename, nessusConverter.nessusStructure.nessusScanTemplate.target, nessusConverter.nessusStructure.nessusScanTemplate.name, nessusConverter.nessusStructure.nessusScanTemplate.policyId ]) print tableTemplate
def reportHosts(self, reportUuid): nessusConverter = NessusConverter( self.nessusClient.reportHosts(reportUuid)) nessusConverter.reportHostToStructure() print "[*] Nessus Report Hosts List." tableReport = PrettyTable([ "Hostname", "Num. Checks", "Total Checks", "Scan Progress Current", "Scan Progress Total", "Severity" ]) if nessusConverter.nessusStructure.reportHosts is not None: for reportHost in nessusConverter.nessusStructure.reportHosts: tableReport.add_row([ reportHost.hostname, reportHost.numchecksconsidered, reportHost.totalchecksconsidered, reportHost.scanprogresscurrent, reportHost.scanprogresstotal, reportHost.severity ]) print tableReport
def scanTemplateAllRelays(self, policyId, templateName): targets = '' for node in self.torNodes: targets += node.host + "\n" nessusConverter = NessusConverter( self.nessusClient.scanTemplateNew(policyId, targets, templateName)) nessusConverter.scanTemplateToStructure() print "[*] Nessus scan Template New." tableTemplate = PrettyTable( ["Owner", "Readable Name", "Target", "Scan Name", "Policy ID"]) tableTemplate.add_row([ nessusConverter.nessusStructure.nessusScanTemplate.owner, nessusConverter.nessusStructure.nessusScanTemplate.readablename, nessusConverter.nessusStructure.nessusScanTemplate.target, nessusConverter.nessusStructure.nessusScanTemplate.name, nessusConverter.nessusStructure.nessusScanTemplate.policyId ]) print tableTemplate
def userEdit(self, userName, password, admin=1): administrator = False if admin == 1: administrator = True nessusConverter = NessusConverter( self.nessusClient.usersEdit(userName, password, administrator)) nessusConverter.userToStructure() print "[*] User Edited" tableUsers = PrettyTable(["Name", "Admin", "Idx", "Last-Login"]) tableUsers.padding_width = 1 tableUsers.add_row([ nessusConverter.nessusStructure.nessusUser.name, nessusConverter.nessusStructure.nessusUser.admin, nessusConverter.nessusStructure.nessusUser.idx, nessusConverter.nessusStructure.nessusUser.lastLogin ]) print tableUsers