* 本文原創作者:降草,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載
近日,fortinet截獲一種使用python語言編寫的勒索軟件,并將其命名為 “Fsociety Locker”。之所以命名為“Fsociety Locker”,是因為勒索軟件作者是美劇“黑客軍團”的粉絲,勒索軟件作者使用了“fs0ciety”作為文件加密后的后綴名。 今天我們就對這款勒索軟件進行分析。
行為特征
在win7系統上運行的效果為:
運行后對文件的加密處理:
此exe是由pyinstall生成。Pyinstall生成的exe文件有下面幾個顯著特征:
特征一:字符串特點,在字符串中會出現使用的python的模塊文本
使用strings.exe查看exe的字符串信息,可以看到有好多python的模塊的文本內容:
特征二:算法特點。Pyinstall會將python的解釋程序使用zlib算法壓縮打包
使用peid的kanal查看加密算法,可以看到程序所使用的算法
特征三:進程特征。Pyinstall生成的exe會啟動自身做為子進程,同時父進程會創建一個互斥體等待子進程的結束,一旦子進程結束后,父進程也隨之結束:
源代碼分析
使用pyinstxtractor.py 腳本可以用來提取pyinstall打包的exe文件的內容,腳本同時也可以提取出可執行文件中的pyz文件的內容。
使用pyinstxtractor.py將exe反編譯成py文件
進入解壓出來的文件夾中的翻找一番,看到scolding文件,這就是原始的py文件
查看scolding文件的內容,可以知道scolding是一個python寫的勒索者軟件。
對scolding文件的分析
在main函數中
首先,調用regwrite函數,將自身寫入啟動項
2. 調用shadow_wipe刪除系統還原備份
3. 遍歷C-Z盤符,得到指定擴展名的文件列表
4. 對匯總得到文件,通過函數file_buster_network使用密鑰“123456789123456”進行加密
通過對源代碼的分析,我們基于下列理由相信,此勒索軟件正在處于調試開發階段,這可能也是這款勒索軟件現在還沒有大范圍流行起來的原因。
1.代碼中通過注釋的方式取消了通過共享傳播的函數,
2.代碼中也寫好了獲取Tor瀏覽器及運行tor代理的代碼,而這些代碼并沒有得到調用執行
3.程序中寫好了修改桌面壁紙顯示勒索信息的代碼,這些代碼也沒有被調用執行。
總結
Python 語言擁有開發快,語言簡潔,簡單易學,類庫眾多等優點,這使的勒索軟件作者可以使用python方便的進行惡意軟件開發,根據2016年6月TIOBE編程語言排行榜,python已經打入編程語言前五名。Python的快速普及也使python開發的惡意程序也普遍起來。可以預見,在不久的未來,此類的勒索軟件也極可能會出現linux和mac os的變種。
比較有意思的是,國內殺軟對此樣本目前仍全部失身。
pyinstxtractor腳本下載
參考資料:
https://blog.fortinet.com/2016/09/01/take-it-easy-and-say-hi-to-this-new-python-ransomware
http://news.softpedia.com/news/fsociety-ransomware-is-here-but-it-s-pretty-lame-507450.shtml
* 本文原創作者:降草,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載