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