MASTIFF安裝中的部分坑

MASTIFF

  • Mastiff是Tyler Hudak在2013年開發的一個靜態惡意軟件分析項目,其主要作用是集成多種插件提取各種特徵,例如對於PE文件,包括PE頭,簽名,資源,yara檢測結果等等。
  • 因爲一個項目的原因,我需要安裝MASTIFF,由於項目比較久遠,README.INSTALL以及網上找得到的教程中很多在當前是不適用的,且作者項目主頁與郵箱都無法訪問(主頁是科學上網都無法訪問),因此在此簡單羅列幾個本人踩過的坑。本人萌新,求大佬輕噴。
  • 本人安裝環境:Win10,WSL(Ubuntu18),python2.7.15rcl,pip 9.0.1

yara找不到庫

  • 起初我使用pip install yara yara-python,然後報錯,查看錯誤提示大致是/usr/lib/libyara.so找不到,此處我們使用pip show libyara.so,找到pip安裝庫所在的路徑,之後用find 該路徑 libyara.so,之後找到libyara.so後ln -s添加一條軟連接到/usr/lib下(或者是/usr/local/lib,作者記不太清了,這個取決於python錯誤提示)。
  • 那麼爲什麼不在/路徑下找libyara?一方面是速度慢,另一方面可能存在多個libyara.so,這個是由於apt-get安裝產生的,如果連接了這個庫會導致錯誤(具體可以試試將錯誤代碼複製搜索,StackOverFlow中記得有一個解釋)

運行發現Except yara.Error ,err錯誤

  • 此處有兩種可能,第一種,MASTIFF運行環境是python2,因此用3會出現語法錯誤,這個是由於python3中該語句應當改成Except yara.Error as err。
  • 第二種,pip不夠新,安裝的yara-python版本不包括Error module,此時pip卸載yara-python,從github上下載最新版的yara-python,安裝可以解決此問題。

make test 正常後嘗試make dev/install時報錯,Yaspy無法下載

  • 這個可能是由於作者給添加了沒有Yaspy就下載的安裝機制,由於作者給出的下載鏈接已經沒有該版本的Yaspy,建議直接刪除這個機制後手動安裝Yaspy。
  • 找到setup.py中的install_requires一項,清空,重新安裝則無問題

報錯AttributeError: ‘list’ object has no attribute ‘Key’

  • 當完成前一步之後我們已經可以順利運行測試文件了(tests/test.exe),而當我們實際測試自己的惡意軟件之後就會發現會出現AttributeError,查看錯誤提示的文件EXE-peinfo.py源碼

for fileinfo in pe.FileInfo:
if fileinfo.Key == ‘StringFileInfo’:

  • 此處顯然fileinfo類型出錯,回溯到pe,找到pe的賦值語句

pe = pefile.PE(filename)

  • 那麼我們此時就可以確定pefile模塊出了問題。查看MASTIFF是在2015年上傳最後版本,所以猜測是由於版本不兼容升級造成的問題。pip show pefile發現是2018年版本,應該不是版本不夠新而是相反,舊版本纔是正確的。由於沒有2015的版本,所以嘗試了2016.3.4的Release,可以使用。所以卸載pefile模塊後最終從github獲取2016.3.4的Release版本安裝,最終成功運行

部分找得到的安裝文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章