Example #1
0
 def generate_csv(self, event):
     saveas = SaveDialog(self.view,
                         defaultDir=self._save_path,
                         message="Save csv as...").get_choice()
     if saveas:
         merged_scans = MergedNessusReport(self.files)
         if not saveas.endswith(".csv"):
             saveas = saveas + ".csv"
         sorted_tree_items = self.sorted_tree_items(
             merged_scans, merged_scans.criticals + merged_scans.highs +
             merged_scans.meds + merged_scans.lows + merged_scans.others)
         with open(saveas, "wb") as f:
             csv_writer = csv.writer(f)
             csv_writer.writerow(
                 ["PID", "Severity", "Hosts", "Output", "Diffs"])
             for item in sorted_tree_items:
                 csv_writer.writerow([
                     item.pid,
                     SEVERITY[item.item.severity],
                     "\n".join(
                         x.address
                         for x in merged_scans.hosts_with_pid(item.pid)),
                     self.get_item_output(item)[0],
                     self.get_item_output(item)[1],
                 ])
 def generate_csv(self, event):
     saveas = SaveDialog(self.view, defaultDir=self._save_path, message="Save csv as...").get_choice()
     if saveas:
         merged_scans = MergedNessusReport(self.files)
         if not saveas.endswith(".csv"):
             saveas = saveas+".csv"
         sorted_tree_items = self.sorted_tree_items(merged_scans, merged_scans.criticals+merged_scans.highs+merged_scans.meds+merged_scans.lows+merged_scans.others)
         with open(saveas, "wb") as f:
             csv_writer = csv.writer(f)
             csv_writer.writerow(["PID","Severity","Hosts","Output","Diffs"])
             for item in sorted_tree_items:
                 csv_writer.writerow([
                     item.pid,
                     SEVERITY[item.item.severity],
                     "\n".join(x.address for x in merged_scans.hosts_with_pid(item.pid)),
                     self.get_item_output(item)[0],
                     self.get_item_output(item)[1],
                     ]
                     )
 def generate_vulnxml(self, event):
     saveas = SaveDialog(self.view, defaultDir=self._save_path, message="Save VulnXML as...").get_choice()
     if saveas:
         merged_scans = MergedNessusReport(self.files)
         if not saveas.endswith(".xml"):
             saveas = saveas+".xml"
         sorted_tree_items = self.sorted_tree_items(merged_scans, merged_scans.criticals+merged_scans.highs+merged_scans.meds+merged_scans.lows+merged_scans.others)
         with open(saveas, "wb") as f:
             for item in sorted_tree_items:
                 issue, diffs, meta = self.get_item_output(item)
                 item.issue = meta
                 item.diffs = diffs
                 item.severity = SEVERITY[item.item.severity]
             f.write(VULNXML_TEMPLATE.render(
                 timestamp=datetime.now(),
                 hosts=merged_scans.hosts,
                 vulns=sorted_tree_items,
                 merged_scans=merged_scans,
                 )
                 )
Example #4
0
 def generate_vulnxml(self, event):
     saveas = SaveDialog(self.view,
                         defaultDir=self._save_path,
                         message="Save VulnXML as...").get_choice()
     if saveas:
         merged_scans = MergedNessusReport(self.files)
         if not saveas.endswith(".xml"):
             saveas = saveas + ".xml"
         sorted_tree_items = self.sorted_tree_items(
             merged_scans, merged_scans.criticals + merged_scans.highs +
             merged_scans.meds + merged_scans.lows + merged_scans.others)
         with open(saveas, "wb") as f:
             for item in sorted_tree_items:
                 issue, diffs, meta = self.get_item_output(item)
                 item.issue = meta
                 item.diffs = diffs
                 item.severity = SEVERITY[item.item.severity]
             f.write(
                 VULNXML_TEMPLATE.render(
                     timestamp=datetime.now(),
                     hosts=merged_scans.hosts,
                     vulns=sorted_tree_items,
                     merged_scans=merged_scans,
                 ))
Example #5
0
    def extract_results(self, event):
        item = self.view.tree.GetSelection()
        data = self.view.tree.GetItemData(item).GetData()

        saveas = SaveDialog(self.view,
                            defaultDir=self._save_path,
                            message="Save results as...").get_choice()
        if saveas:
            with open(saveas, "w") as f:
                output = ""
                if isinstance(data, list):
                    for item in data:
                        output, diff_output, _ = self.get_item_output(item)
                        f.write("=" * 20 + "\n")
                        f.write(output)
                        f.write(diff_output)
                elif isinstance(data, NessusReport):
                    pass
                elif isinstance(data, MergedNessusReport):
                    pass