在線惡意軟件和URL分析集成框架 – MalSub。malsub是一個(gè)基于Python 3.6.x的框架,它的設(shè)計(jì)遵循了當(dāng)前最流行的互聯(lián)網(wǎng)軟件架構(gòu)RESTful架構(gòu),并通過其RESTful API應(yīng)用程序編程接口(API),封裝了多個(gè)在線惡意軟件和URL分析站點(diǎn)的web服務(wù)。它支持用戶提交文件或URL進(jìn)行分析,并可通過哈希值,域名,IPv4地址或URL檢索報(bào)告,下載示例和其他文件,進(jìn)行一般搜索和獲取API配額值。該框架同時(shí)遵循了模塊化的設(shè)計(jì)理念,方便用戶自定義添加相應(yīng)的功能模塊。該框架也是多線程的,例如它會(huì)在每個(gè)輸入?yún)?shù)的線程池中調(diào)度服務(wù)API函數(shù),這意味著它會(huì)為每個(gè)提交的文件生成一個(gè)線程池,或者為每個(gè)提供報(bào)告檢索的哈希值生成一個(gè)線程池。
以下是目前malsub中所提供的服務(wù):
AVCaesar;在線惡意軟件分析引擎和存儲(chǔ)庫。
Hybrid Analysis;在線惡意軟件分析引擎
MalShare;公共惡意軟件存儲(chǔ)庫。
maltracker;自動(dòng)化惡意軟件分析及跟蹤(威脅情報(bào)收集)
malwr;在線惡意軟件分析引擎
Metadefender;威脅情報(bào)收集及惡意軟件分析檢測(cè)平臺(tái)
OpenPhish;針對(duì)零日釣魚站點(diǎn)自動(dòng)識(shí)別,并提供實(shí)時(shí)情報(bào)
PDF Examiner;在線自動(dòng)化PDF惡意軟件分析。
PhishTank;在線釣魚站點(diǎn)識(shí)別,并提供實(shí)時(shí)網(wǎng)絡(luò)釣魚數(shù)據(jù)
QuickSand;在線惡意文檔分析平臺(tái)
Safe Browsing;一項(xiàng)Google的客戶端服務(wù),用于自動(dòng)檢索識(shí)別當(dāng)前瀏覽的站點(diǎn)是否合法
Threat Crowd;在線情報(bào)收集網(wǎng)站
URLVoid;在線網(wǎng)站信譽(yù)分析平臺(tái)
VirusTotal;在線惡意文件及URL分析平臺(tái)
以上所提供的大多數(shù)服務(wù),都需要在其各自的網(wǎng)站上注冊(cè)并獲取相應(yīng)的API密鑰才能使用,這些密鑰需要根據(jù)給定的結(jié)構(gòu)在apikey.yaml文件中指定。需要注意的是,malsub中提供的服務(wù)所使用的的API,大多為免費(fèi)API密鑰開發(fā),因此部分操作可能受限。
依賴和使用
malsub需要在require.txt文件中指定的幾個(gè)模塊。以下是該配置文件中一些關(guān)鍵文件的簡(jiǎn)單說明:
malsub/malsub.py:應(yīng)用入口點(diǎn);
malsub/data:雜項(xiàng)數(shù)據(jù)文件夾;
apikey.yaml:用于API密鑰和用戶名配對(duì)的YAML數(shù)據(jù)文件;
malsub/downl:文件和樣本下載所存放的文件夾;
malsub/malsub/:malsub包;
malsub/malsub/common/:共同所使用的模塊;
out.py:具有根據(jù)特定格式和日志級(jí)別(調(diào)試,詳細(xì),信息或錯(cuò)誤)的輸出顯示功能模塊;
frmt.py:具有漂亮顯示功能的模塊,如將字典格式轉(zhuǎn)為JSON或表格格式;
rw.py:具有讀寫功能的模塊;
malsub/malsub/core/:應(yīng)用程序的核心模塊;
web.py:負(fù)責(zé)處理HTTP請(qǐng)求的模塊;
malsub/malsub/service/:運(yùn)行時(shí)用于解析的模塊;
base.py:用于服務(wù)構(gòu)建的基本模板模塊。
其支持的選項(xiàng)如下:
Usage: malsub [-h] [-a ] (-d | -f | -q | -r | -s | -t) [-i | -o | -l | -u] [-p ] [-v ...] [ ...]
選項(xiàng):
-h, --help 顯示幫助信息和退出
-a, --analysis 服務(wù)字符分割列表 (類或短名稱) [默認(rèn)為全部]
-p, --pause 等待服務(wù)請(qǐng)求之間的間隔(速率限制)[默認(rèn)值為0]
-v, --verbose 顯示更詳細(xì)的調(diào)試信息
API 函數(shù):
-d, --download 下載文件或惡意軟件樣本
-f, --find 搜索任意項(xiàng)(與輸入格式無關(guān))
-q, --quota 檢索API用戶配額
-r, --report 檢索域,哈希值,IP地址或URL的提交報(bào)告
-s, --submit 提交惡意軟件樣本或URL進(jìn)行分析
-t, --test 通過調(diào)用每個(gè)服務(wù)函數(shù)來測(cè)試API調(diào)用,并定義一些默認(rèn)值
輸入格式(哈希值或文件默認(rèn)情況下取決于選項(xiàng)):
-i, --ipaddr 輸入為IPv4地址(僅適用于'-r'選項(xiàng))
-o, --domain 輸入為域名 (僅適用于‘-r’選項(xiàng))
-l, --appl 輸入為哈希值(僅適用于'-r'選項(xiàng))
-u, --url 輸入為URL(僅適用于‘-r’和‘-s’選項(xiàng))
所支持的哈希值: MD5, SHA1, SHA-256 and SHA-512。
服務(wù)模塊
服務(wù)模塊被作為malsub/service/base.py中Service類的子類開發(fā)。Service是一個(gè)抽象類,其中列出了子類必須繼承的屬性和函數(shù)。以下是其支持的API函數(shù)的完整列表:
download_file:下載與給定哈希值匹配的文件或樣本;
report_file:檢索由其哈希值標(biāo)識(shí)的文件提交的分析報(bào)告;
submit_file:提交文件進(jìn)行分析;
report_app:為已知應(yīng)用程序哈希值提供一個(gè)檢索報(bào)告;
report_dom:域名檢索報(bào)告;
report_ip:IPv4地址檢索報(bào)告;
report_url:URL檢索報(bào)告;
submit_url:提交一個(gè)URL進(jìn)行分析;
search:執(zhí)行任意條件的搜索;
quota:查詢用戶配額數(shù)據(jù)。
該框架適用于惡意軟件分析師,滲透測(cè)試人員、安全愛好者從業(yè)者等。
Github下載:https://github.com/diogo-fernan/malsub
|