Savior:渗透测试报告自动生成工具
系統(tǒng)框架
前端:Ant Design Pro
后端:Django REST Framework
數(shù)據(jù)庫(kù):Mysql
主要功能
用戶管理:主要是方便統(tǒng)計(jì)漏洞的發(fā)現(xiàn)者,后續(xù)可能大概也許會(huì)添加漏洞統(tǒng)計(jì)模塊,根據(jù)提交數(shù)據(jù)、漏洞類型、時(shí)間等進(jìn)行統(tǒng)計(jì)報(bào)表,當(dāng)前用戶管理模塊僅允許通過(guò)Django后臺(tái)進(jìn)行修改,前端只負(fù)責(zé)展示,主要是我太懶了。
項(xiàng)目管理:根據(jù)項(xiàng)目的不同可上傳項(xiàng)目的專屬滲透測(cè)報(bào)告模板,并可以根據(jù)需要進(jìn)行模板自定義模板(/Demo/demo.docx);
模板自定義:不用修改源代碼,僅需修改word即可進(jìn)行模板自定義;
整改建議管理:此平臺(tái)主要就是為了體現(xiàn)標(biāo)準(zhǔn)化輸出,因此可通過(guò)內(nèi)置漏洞描述及修復(fù)建議進(jìn)行快速輸出,并支持自定義修改(/Demo/常規(guī)WEB滲透測(cè)試漏洞描述及修復(fù)方法.docx);
一鍵生成:通過(guò)提交報(bào)告模塊,內(nèi)聯(lián)項(xiàng)目模板,快速生成滲透測(cè)試報(bào)告,真正達(dá)到了一鍵生成,并確保報(bào)告內(nèi)數(shù)據(jù)準(zhǔn)確、字體統(tǒng)一、格式標(biāo)準(zhǔn);
自動(dòng)郵件:在生成報(bào)告后可通過(guò)用戶管理配置的自動(dòng)郵件發(fā)送功能進(jìn)行郵件通知,可自定義郵件模板,這樣再報(bào)告給客戶的時(shí)候就可以直接轉(zhuǎn)發(fā)了(暖男功能);
漏洞統(tǒng)計(jì):每次滲透過(guò)后,需要挨個(gè)查找報(bào)告進(jìn)行統(tǒng)計(jì)整理,現(xiàn)在只要提交報(bào)告后,后臺(tái)會(huì)自動(dòng)聯(lián)動(dòng);
漏洞報(bào)表一鍵導(dǎo)出
漏洞跟蹤:增加了漏洞狀態(tài)字段,創(chuàng)建報(bào)告后,漏洞狀態(tài)默認(rèn)為新增,漏洞管理模塊可進(jìn)行復(fù)測(cè),包括已整改、未整改兩種狀態(tài);
相關(guān)預(yù)覽
Demo:http://savior.sec404.cn
演示賬號(hào):admin
演示密碼:Savior@404
安裝指南
首先將代碼clone到本地:
git clone https://github.com/Mustard404/Savior.gitDocker部署
我們推薦使用Docker進(jìn)行部署,相對(duì)于源碼部署更為簡(jiǎn)單和快速。
部署前請(qǐng)務(wù)必先安裝Docker及docker-compose。
修改配置文件
首先復(fù)制根目錄的.env.docker并重命名為.env,修改其中的Email Settings和initial Administrator配置。這兩個(gè)配置分別控制郵件提醒,以及初始管理帳號(hào)密碼及郵箱。
同時(shí)需要注意以下兩點(diǎn):
務(wù)必把郵箱修改為自己郵箱,不然可能會(huì)出現(xiàn)非預(yù)期錯(cuò)誤!
如果使用阿里云、騰訊云服務(wù)器,請(qǐng)使用smtp的ssl協(xié)議,兩家云廠商默認(rèn)封禁了25端口。
一鍵啟動(dòng)
docker-compose up -d訪問(wèn) http://127.0.0.1:8000即可看到頁(yè)面。
修改啟動(dòng)端口
如果想修改啟動(dòng)端口,可以修改docker-compose.yaml文件中web容器的ports。
默認(rèn)為8000:8000,比如要修改為8080端口可改為8080:8000。
【點(diǎn)擊查看網(wǎng)絡(luò)安全學(xué)習(xí)資料與相關(guān)工具】·關(guān)注回復(fù)資料即可獲取學(xué)習(xí)資料
- 2000多本網(wǎng)絡(luò)安全系列電子書
- 網(wǎng)絡(luò)安全標(biāo)準(zhǔn)題庫(kù)資料
- 項(xiàng)目源碼
- 網(wǎng)絡(luò)安全基礎(chǔ)入門、Linux、web安全、攻防方面的視頻
- 網(wǎng)絡(luò)安全學(xué)習(xí)路線圖
- 相關(guān)工具
源碼部署
所需環(huán)境:
python 3.8+(測(cè)試過(guò)3.6也沒(méi)問(wèn)題,其他版本自行測(cè)試)
yarn 1.22+
Pandoc
Mysql 5.7
前端環(huán)境
cd app yarn && yarn start:no-mock環(huán)境變量設(shè)置 創(chuàng)建字符集為utf-8編碼的數(shù)據(jù)庫(kù)。 復(fù)制**.env.docker為.env**,并配置數(shù)據(jù)庫(kù)、郵箱、管理員等信息。
務(wù)必把郵箱修改為自己郵箱,不然可能會(huì)出現(xiàn)非預(yù)期錯(cuò)誤!
如果使用阿里云、騰訊云服務(wù)器,請(qǐng)使用smtp的ssl協(xié)議,兩家云廠商默認(rèn)封禁了25端口。
后端環(huán)境
#開啟env環(huán)境 python3 -m venv env source env/bin/activate #安裝依賴 python -m pip install -r requirements.txt -i http://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com #同步數(shù)據(jù)庫(kù) python manage.py makemigrations api python manage.py migrate python manage.py init_admin #啟動(dòng)后端 python manage.py runserver 0.0.0.0:8000源碼部署環(huán)境:
前臺(tái)頁(yè)面:http://127.0.0.1:8001
Django管理后臺(tái):http://127.0.0.1:8000/api/admin/
使用手冊(cè)
初始化說(shuō)明
其中Savior平臺(tái)包含兩個(gè)后臺(tái)頁(yè)面。考慮到安全性,目前用戶管理、項(xiàng)目管理托管于Django管理后臺(tái)(主要是這兩個(gè)模塊不會(huì)寫),其余功能均可通過(guò)前臺(tái)頁(yè)面實(shí)現(xiàn)。
前臺(tái)頁(yè)面:http://127.0.0.1:8000
Django管理后臺(tái):http://127.0.0.1:8000/api/admin/
用戶管理
訪問(wèn)Django管理后臺(tái):http://127.0.0.1:8000/api/admin/, 請(qǐng)完善API>用戶的Name、Avatar、Autosentmail三個(gè)字段,分別控制報(bào)告的作者、頭像(圖片Url)、生成報(bào)告后自動(dòng)發(fā)送滲透測(cè)試報(bào)告到郵箱。
項(xiàng)目管理
訪問(wèn)Django管理后臺(tái):http://127.0.0.1:8000/api/admin/,請(qǐng)通過(guò)API>Projects進(jìn)行添加項(xiàng)目,可根據(jù)不通項(xiàng)目選擇不通的滲透測(cè)試報(bào)告模板。參數(shù)說(shuō)明:Project logo(項(xiàng)目Logo)、Project center(項(xiàng)目名稱)、Project description(項(xiàng)目描述)、Project template(滲透測(cè)試報(bào)告模板,目前標(biāo)準(zhǔn)模板可使用Demo/demo.docx,如需自定義模板,請(qǐng)參考模版自定義部分)
整改設(shè)置
訪問(wèn)http://127.0.0.1:8000可進(jìn)入Savior平臺(tái),通過(guò)個(gè)人設(shè)置>整改設(shè)置>添加漏洞模板可進(jìn)行設(shè)置漏洞類型、漏洞描述、修復(fù)建議從而達(dá)到標(biāo)準(zhǔn)化。目前整理了一些通用的修復(fù)建議模板,請(qǐng)參考Demo/常規(guī)WEB滲透測(cè)試漏洞描述及修復(fù)方法.docx。
模板自定義
目前根據(jù)我經(jīng)常使用的滲透測(cè)試報(bào)告模板生成了一個(gè)demo版本(請(qǐng)參考/Demo/demo.docx)。當(dāng)然您也可以根據(jù)自己的需求進(jìn)行模板自定義,其中僅需在WORD模板中進(jìn)行參數(shù)替換,目前Savior中具體參數(shù)如下:
{{report_no}} - 漏洞編號(hào),通過(guò)時(shí)間戳自動(dòng)生成,確保漏洞編號(hào)的唯一性
{{report_center}} - 測(cè)試項(xiàng)目,為項(xiàng)目管理中項(xiàng)目名稱
{{report_systemname}} - 系統(tǒng)名稱
{{report_start_time}} - 測(cè)試開始時(shí)間
{{report_end_time}} - 測(cè)試結(jié)束時(shí)間
{{report_author}} - 測(cè)試提交人,對(duì)應(yīng)用戶管理的Name參數(shù)
{{report_test_url}} - 測(cè)試Url
{{vuls|length}} - 漏洞個(gè)數(shù)
{{vuls|vul_statistics(3)}} - 高危漏洞個(gè)數(shù)
{{vuls|vul_statistics(2)}} - 中危漏洞個(gè)數(shù)
{{vuls|vul_statistics(1)}} - 低危漏洞個(gè)數(shù)
以下漏洞詳情請(qǐng)利用{%tr for vuls in vuls %}{%tr endfor %}進(jìn)行循環(huán)遍歷。如想列出所有漏洞URL,則使用參數(shù){%tr for vuls in vuls %}{{item.vul_url}}{%tr endfor %}
{{item.vul_url}} - 漏洞Url
{{item.vul_recurrence}} - 漏洞復(fù)現(xiàn)
{{item.vul_level}} - 漏洞危險(xiǎn)等級(jí)
{{item.vul_describe}} - 漏洞描述
{{item.vul_modify_repair}} - 修復(fù)建議
注:Savior平臺(tái)滲透測(cè)試模板遵循Jinja2語(yǔ)法
創(chuàng)建報(bào)告
如果我們完善了用戶信息、項(xiàng)目管理、整改設(shè)置后,就可以通過(guò)前端頁(yè)面進(jìn)行創(chuàng)建報(bào)告,其大概流程如下: 首先完善報(bào)告的基本信息。
選擇漏洞管理的添加漏洞功能。選擇漏洞類型后,漏洞名稱、漏洞描述、修復(fù)建議會(huì)根據(jù)整改設(shè)置進(jìn)行自動(dòng)聯(lián)動(dòng),并可根據(jù)需求進(jìn)行自定義修改。需要注意的是漏洞詳情處如果需要插入XSS語(yǔ)句,請(qǐng)進(jìn)行url編碼后進(jìn)行輸入!
注:未提交前請(qǐng)勿刷新頁(yè)面,此時(shí)漏洞詳情保存為前端。提交后會(huì)自動(dòng)生成滲透測(cè)試報(bào)告并進(jìn)行下載。
打開報(bào)告會(huì)提示更新域,更新請(qǐng)選擇是,再選擇更新整個(gè)目錄,此問(wèn)題主要是為了更新目錄,不然滲透測(cè)試報(bào)告中目錄無(wú)法自動(dòng)更新。
如果在用戶管理打開了Autosentmail功能,滲透測(cè)試報(bào)告會(huì)自動(dòng)發(fā)送至我們郵箱,方便轉(zhuǎn)給甲方爸爸。
漏洞列表
訪問(wèn)Savior平臺(tái),選擇漏洞列表可進(jìn)行漏洞統(tǒng)計(jì)并進(jìn)行漏洞復(fù)測(cè)。其中漏洞包含三個(gè)狀態(tài)(新發(fā)現(xiàn)、已修復(fù)、未修復(fù))。
通過(guò)選擇導(dǎo)出數(shù)據(jù)功能,可將漏洞列表導(dǎo)出為Excle。
后續(xù)計(jì)劃
用戶管理、項(xiàng)目管理遷移至前端
大數(shù)據(jù)看板
關(guān)注私信回復(fù)“資料”即可獲取網(wǎng)絡(luò)安全學(xué)習(xí)資料
總結(jié)
以上是生活随笔為你收集整理的Savior:渗透测试报告自动生成工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何使用lazyCSRF在Burp Su
- 下一篇: 功能强大的被动开源情报自动化侦察框架