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