溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用Python半自動化生成Nessus報告

發布時間:2021-04-25 14:10:40 來源:億速云 閱讀:319 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關如何利用Python半自動化生成Nessus報告,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

python可以做什么

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。

0x01 前言

Nessus是一個功能強大而又易于使用的遠程安全掃描器,Nessus對個人用戶是免費的,只需要在官方網站上填郵箱,立馬就能收到注冊號了,對應商業用戶是收費的。當然,個人用戶是有16個IP限制,通過企業郵箱可以體驗免費7天的Nessus專業版,IP無限制。

如何利用Python半自動化生成Nessus報告

0x02 Nessus使用

登錄后通過New Scan創建掃描任務,掃描完成后,我們即可導出掃描報告。Nessus提供4種報告類型導出:

如何利用Python半自動化生成Nessus報告

我們選擇HTML類型,Report選擇Custom,Croup By 選擇Host,導出HTML報告。

如何利用Python半自動化生成Nessus報告

但這些報告還需要進一步整理成我們想要的格式,并且去掉不必要的消息,得到最終我們希望能夠得到信息。

那首先我們確認一下,想要得到的信息是哪些呢?

1、服務器IP

2、漏洞危害級別

3、漏洞名稱

這三個最基本的信息,對我來說就差不都足夠了,我就知道哪些服務器存在高危漏洞,并提供解決漏洞修復建議。

0x03 Python腳本

通過解析html文件,獲取相關漏洞信息,并輸出到csv文件。

#! /usr/bin/env python

# _*_ coding:utf-8 _*_

#Author:Aaron

 

from lxml import etree

import csv

import sys

 

host=''

title=''

result_list=[] 

def htm_parse(l):    

  if '#d43f3a' in etree.tostring(l):

    info=u"嚴重 - "+l.text

  elif '#ee9336' in etree.tostring(l):

    info=u"高危 - "+l.text

  elif '#fdc431' in etree.tostring(l):

    info=u"中危 - "+l.text

  elif '#3fae49' in etree.tostring(l):

    info=u"低危 - "+l.text      

  elif '#0071b9' in etree.tostring(l):

    info=u'信息泄露 - '+l.text

  else:

    info='Parsing error,Check that the versions are consistent.'

  return info

def main(filename):

  html = etree.parse(filename,etree.HTMLParser())

  ls =html.xpath('/html/body/div[1]/div[3]/div')

  for i in ls:

    if "font-size: 22px; font-weight: bold; padding: 10px 0;" in etree.tostring(i):

      host=i.text

    elif "this.style.cursor" in etree.tostring(i):

      result=host+" - "+htm_parse(i)

      print result

      result_list.append(result)

  return result_list 

if __name__ == '__main__':

  filename=sys.argv[1]

  list_host = main(filename)

  with open('result.csv','wb') as f:

    f.write(u'\ufeff'.encode('utf8'))

    w = csv.writer(f)

    w.writerow(['服務器IP','漏洞級別','漏洞編號','漏洞名稱'])

    for i in list_host:

      data=i.split('-',3)

      w.writerow([item.encode('utf8') for item in data])

腳本運行效果如下:

如何利用Python半自動化生成Nessus報告

在同目錄下生成result.csv,內容如下:

如何利用Python半自動化生成Nessus報告

最后,通過excel進行相關信息的篩選、刪除和整理,最后匯總成報告。

關于“如何利用Python半自動化生成Nessus報告”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女