利用Python半自動化生成Nessus報告的方法

2022-10-04 17:48:10 字數 2411 閱讀 1971

0x01 前言

nessus是乙個功能強大而又易於使用的遠端安全掃瞄器,nessus對個人使用者是免費的,只需要在官方**上填郵箱,立馬就能收到註冊號了,對應商業使用者是收費的。當然,個人使用者是有16個ip限制,通過企業郵箱可以體驗免費7天的nessus專業版,ip無限制。

nessus啟用碼獲取位址:

0x02 nessus使用

登入後通過new scan建立掃瞄任務,掃瞄完成後,我們即可匯出掃瞄報告。nessus提供4種報告型別匯出:

我們選擇html型別,report選擇custom,croup by 選擇host,匯出html報告。

但這程式設計客棧些報告還需要進一步整理成我們想要的格式,並且去掉不必要的訊息,得到最終我們希望能夠得到資訊。

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

1、伺服器ip

2、漏洞危害級別

3、漏洞名稱

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

0x03 python指令碼

通過解析htm程式設計客棧l檔案,獲取相關漏洞資訊,並輸出到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.ar**[1]

list_host = main(filename)

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

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

w = csv.writer(f)

w.writeuvjcxarow(['伺服器ip','漏洞級別','漏洞編號','漏洞名稱'])

for i in list_host:

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

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

指令碼執行效果如下:

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

最後,通過excel進行相關資訊的篩選、刪除和整理,最後彙總成報告。

0x04 小結

本文提供了乙個demo,用於半自動化生成nessus報告,有需要的話,可入庫擴充套件,增加自動翻譯,提供修復建議等。nessus中文漏洞庫可參見這個專案,nessusreportinchinese:半自動化將 nessus 英文報告(csv格式)生成中文 excel ,中文漏洞庫已有700多條常見漏洞。

github位址:

本文標題: 利用python半自動化生成nessus報告的方法

本文位址:

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

0x01 前言 nessus是乙個功能強大而又易於使用的遠端安全掃瞄器,nessus對個人使用者是免費的,只需要在官方 上填郵箱,立馬就能收到註冊號了,對應商業使用者是收費的。當然,個人使用者是有16個ip限制,通過企業郵箱可以體驗免費7天的nessus專業版,ip無限制。0x02 nessus使用...

access半自動化注入

自己編寫程式指令碼,進行高度自定義的 半 自動化注入 借助已有工具,如sqlmap,brup等,進行 半 自動化注入。此次 半 自動化注入演示,我們採取第二種方案,使用burp工具進行演示。之所以說本文是半自動化注入的演示,主要是因為本文的演示不同於sqlmap工具那樣可以完全規避手工,還是需要一些...

使用postman實現半自動化

前些日子專案要上乙個活動,其中有乙個功能是幸運大轉盤,使用者可以隨機 獎品有多種滿減券及多種商品,但是獎品都是有抽中概率的,且有的商品還設定有庫存,所以測試點便是測試 的概率和庫存。接下來拆分一下,測試庫存即邊界值測試,那概率測試究竟怎麼測試?剛開始的時候看到這個有點懵逼,後來想到之前看過使用pos...