search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

淺談macRansom

0x0

前一段時間Windows上出現了WannaCry,造成了很大影響,在我們剛呼了口氣時,Mac平台也』不甘示弱』地出現了首款勒索比特幣的惡意軟體—macRansom。

這個勒索軟體在6.9日就被FortiGuard實驗室發現並給出詳細介紹,本文主要記錄自己的分析流程,第一次分析這種勒索軟體,真心希望各位前輩多多提建議,感謝!

0x1

首先在https://objective-see.com/blog/blog_0x1E.html找到樣本,下載后先在虛擬機運行看看,結果發現運行后沒有任何反應

既然這樣,我們先通過lldb來看看能不能找到一些原因。

結果發現 運行失敗。按理說比較通用的反調試就是ptrace了,不過我們還是先在hopper中看一看確認一下。

從入口開始往下看,看看偽代碼,圖中標出來的東西有沒有一絲熟悉?0x1f結合之前的有關ptrace的PT_DENY_ATTACH 31,我們可以確定作者使用了ptrace。那這樣的話就好辦了我們直接修改彙編把0x1F修改為0xa,保存成新的可執行文件后再到虛擬機中看一看

這次我們通過lldb連接macRansom后,r一下,可以看到進程又終止了,說明還有別的檢測姿勢。沒關係,我們繼續從hopper中尋求答案!

在hopper中我們看到有兩處jne loc_100001b05,再來看看處理邏輯,我們會發現這裡應該是有兩處地方做出了某種檢測導致進程載入失敗。我們繼續在lldb中,通過ni指令,一直到函數跳轉之前,通過讀取內存看看究竟有什麼問題

如圖,我們看到了這裡主要載入了一條指令sysctl hw.model,百度了下這個hw.model主要是來獲得目標的硬體信息。

那既然這樣,我們應該看看下一部分檢測了什麼,但是要怎麼做呢?難道我們又要在hopper中修改,保存後生成新的可執行文件,繼續lldb??,別急,看看反彙編,邏輯很清晰,我們只需要把rax的值改為0不就行了!

繼續,我們在下一個跳轉處通過x/s $rdi,可以看到sysctl -n hw.logicalcpu/sysctl -n physicalcpu,這個主要就是檢測你系統中邏輯cpu和物理cpu的個數了。

同樣,我們通過之前的方法修改rax的值來繞過檢測。

繼續運行,按理說這時候應該運行成功了。

但是!這裡還檢測了系統時間,只有到了指定的時間才可以運行,否則它就待在你的電腦中什麼事情都不做,這也是這個勒索軟體的隱蔽之處。

既然是勒索軟體,那麼它肯定會加密你的文件,那關於如何加密等信息我們還是從hopper來入手吧。

從函數入口往下看,一眼過去可以瞄到一個sub_100001f30,跳轉到它的偽代碼,大致瀏覽一遍,我們猜測這個函數應該是對勒索軟體中的一些字元串做了加密。

代碼邏輯比較簡單,我們可以載入一個腳本,通過hopper來恢復它。

這裡要說明一下,hopper是可以載入自己的腳本的,具體做法是把自己的腳本放在目錄~/Library/Application Support/Hopper/Scripts中,然後等hopper載入完可執行文件之後,點擊菜單欄的scripts,選擇自己的腳本就可以載入了。

我們可以看到一些被加密的字元串顯現了出來,這為我們更直觀地分析它提供了很大的幫助。

繼續往下看,我們可以看到,當它對系統中的文件進行加密時,是通過find /Volumes ~ ! -path "%s" -type f -size +8c -user 'whoami' -perm -u=r -exec這條命令對大於8位元組且許可權為r的文件進行枚舉。平常的勒索軟體一般是通過遍歷文件然後通過文件後綴來篩選出要加密的文件,這種直接來枚舉的也是。

整個加密的大概流程如圖,其中的十六進位數我們大概可以猜得出是對稱加密中初始化的一些值,既然這樣,難道我們可以通過尋找密鑰來進行解密???

其實不然,在sub_100002050中的arc4random我們能看得出,加密的密鑰實際上是被隨機化了,而且也沒有找到任何與勒索者伺服器對接的痕迹。

照這樣看來,即使最後交了錢,當了冤大頭,自己的數據還是不會被解密。當然~暴力破解理論上是可以的,這要看你自己有多少精力了

好,言歸正傳,接下來,等勒索軟體正式運行的時候,我們打開活動監視器,可以看到已經有一個叫做.FS_Store的進程。

然後想想,既然他要在系統啟動后開始運行加密的進程,而在macOS 中LaunchAgents用來實現開機自啟動,所以我們在目錄~/Library/LaunchAgents下看看,有一個com.apple.finder文件,打開后可以看到pgrep -x .FS_Store&&~/Library/.FS_Store,原來我們活動監視器中的那個可疑進程是這樣存在的,它還把名字設為.開頭的,以至於我們表面上看不到它。

不出一會,隨著進程數越來越多,我們虛擬機越來越卡,然後重新啟動后發現我們虛擬機中的文件被加密出現了很多的md文件,並出現了我們「期待」已久的小窗口!

至此,我們終於通過一些手段成功的運行並了解了這款惡意軟體。

然而,在成功加密文件后,之前的啟動文件com.apple.finder.plist和macRansom binary則會被刪除。

0x2

關於在如何在hopper中一次性修改繞過所有的檢查,其實也不難,回過頭來看看彙編,我們只需要把兩處jne xxxxx改成nop就可以了

那麼為了避免我們在真機上不小心運行了它(比如說我>_<),幸好做了備份~這樣也不至於造成多大的損失。

0x3

隨著惡意軟體的肆意流行,越來越多的人漸漸把目光放在了macOS上,總的來說這款軟體相比於之前Windows上的WannaCry還是差了好多,但隨著Mac用戶數量日漸增長,我們終究會在macOS上遇到更危險的勒索軟體,萬一勒索軟體們偽裝的很好,稍有不慎還是會中招,最好的辦法還是勤備份,比如iCloud備份就不錯,可以實時同步,而且50G一個月只要6塊。當然像Time Machine等等都是很不錯的選擇~

本文由看雪論壇 橘子Ora 原創,轉載請註明來自看雪社區

熱門閱讀

  • 利用OD通過Call調用實現掃雷(win7旗艦版32位)

  • Safengine Shielden 2.3.8.0 脫殼 ∷之∷ 修復IAT

  • Metasploit 演練



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦