當前位置:
首頁 > 新聞 > 深入了解惡意軟體如何濫用TeamViewer?

深入了解惡意軟體如何濫用TeamViewer?

深入了解惡意軟體如何濫用TeamViewer?



TeamViewer,遠程支持、遠程訪問、在線協作和會議,用於實現遠程支持、遠程訪問、遠程管理、家庭辦公及在線協作和會議功能的軟體。支持Windows、Mac、Linux、Chrome OS、iOS、Android、Windows Mobile和BlackBerry平台。


不幸的是,惡意軟體 TeamSpy也發現這個工具非常有利於用來進行惡意活動。惡意軟體 TeamSpy 是由遠程訪問工具 TeamViewer 和鍵盤記錄器等組件組成。攻擊者利用社會工程學誘騙受害者安裝TeamSpy,並通過 DLL 劫持技術進行隱藏,然後利用合法的遠程訪問工具 TeamViewer 執行未經授權的操作,從而從受害者的設備中竊取機密文檔和加密密鑰。


TeamSpy 早在 2013 年就被發現了,當時匈牙利 CrySyS 實驗室的研究人員和卡巴斯基實驗室發布了有關其操作的白皮書。 來自Heimdal Security的安全專家最近發現了TeamSpy出現了新的攻擊方式,該攻擊方式採用了一個有針對性的垃圾郵件活動,通過惡意程序來獲得目標計算機的完整控制權。

隱藏命令


在感染設備後,大多數惡意軟體會與命令和控制(C&C)伺服器進行通信,因為,C&C伺服器是發送惡意軟體執行命令的控制中心。 C&C伺服器也是惡意軟體收集數據的地方,在和C&C伺服器進行通信時,惡意軟體的開發者通常會實現一個自定義協議,但這樣,殺毒軟體就可以很容易地發現它與其他流量的不同,從而進行阻止。


於是,為了使殺毒軟體更加難以檢測到惡意行為,一些惡意軟體的開發者便想到利用流行的遠程控制程序(如TeamViewer),而不是利用其VPN網路,這樣就能起到更好地掩蓋其惡意軟體和C&C伺服器之間通信的作用。


TeamSpy如何進行感染


TeamSpy通過垃圾郵件傳播,旨在誘騙受害者打開附件。附件是一個帶有宏的Excel文件,打開附件後,將出現以下內容:

深入了解惡意軟體如何濫用TeamViewer?



當攻擊目標啟用宏時,感染過程就會開始,這一切都會在後台完全運行,因此受害者不會發現任何攻擊徵兆。但如果讓安全人員來查看這些惡意宏,他們就可以看到經過混淆的字元串,這些經過修改的字元串通常會分割成一個或多個子串,這些子串最後又能被連接起來。最重要的信息,我在下圖已用紅色圈出來了,並且是一個鏈接,攻擊者可以通過這個鏈接下載攻擊程序以及稍後使用的密碼:

深入了解惡意軟體如何濫用TeamViewer?


在innounp實用程序的幫助下,我可以輕鬆地從惡意軟體使用的Inno Setup安裝程序列出或提取文件。如下圖列所示,大多數文件都是常規的經過數字簽名的TeamViewer二進位文件,但兩個文件除外——msimg32.dll和tvr.cfg。 Tvr.cfg是TeamSpy的配置文件,稍後我會介紹,而msimg32.dll則是惡意軟體的一個組成部分。 Msimg32.dll是一個DLL庫,它是Windows操作系統的一部分。然而TeamSpy會濫用DLL搜索順序,以便將當前目錄中的假msimg32.dll載入到進程中,而不是從Windows / System32目錄中刪除原始msimg32.dll。惡意軟體本身就位於假的msimg32.dll庫中:

深入了解惡意軟體如何濫用TeamViewer?



TeamSpy的隱藏過程


通常當你安裝TeamViewer時,會看到一個帶有ID和密碼的GUI窗口,但對於攻擊者來說,他們需要知道是否要遠程連接到攻擊目標的計算機:

深入了解惡意軟體如何濫用TeamViewer?



如果TeamSpy成功感染了用戶,則不會顯示任何內容,因為所有操作都是在後台運行的,因此攻擊目標不會注意到安裝了TeamViewer。這是通過掛接許多API函數並改變其行為來實現的。 TeamSpy掛接了以下近50種不同的API:


kernel32.dll


CreateMutexW, CreateDirectoryW, CreateFileW, CreateProcessW, GetVolumeInformationW, GetDriveTypeW, GetCommandLineW, GetCommandLineA, GetStartupInfoA, MoveFileExW, CreateMutexA

user32.dll


SetWindowTextW, TrackPopupMenuEx, DrawTextExW, InvalidateRect, InvalidateRgn, RedrawWindow, SetWindowRgn, UpdateWindow, SetFocus, SetActiveWindow, SetForegroundWindow, MoveWindow, DialogBoxParamW, LoadIconW, SetWindowLongW, FindWindowW, SystemParametersInfoW, RegisterClassExW, CreateWindowExW, CreateDialogParamW, SetWindowPos, ShowWindow, GetLayeredWindowAttributes, SetLayeredWindowAttributes, IsWindowVisible, GetWindowRect, MessageBoxA, MessageBoxW


advapi32.dll


RegCreateKeyW, RegCreateKeyExW, RegOpenKeyExW, CreateProcessAsUserW, CreateProcessWithLogonW, CreateProcessWithTokenW, Shell_NotifyIconW, ShellExecuteW


iphlpapi.dll


GetAdaptersInfo


其中有一些掛接會阻止應用程序訪問某些特定資源,例如如果RegCreateKey或RegOpenKey嘗試訪問Software TeamViewer註冊表項,則會返回錯誤代碼ERROR_BADKEY:

深入了解惡意軟體如何濫用TeamViewer?



掛接GetCommandLine使得TeamViewer認為它是以預定義的密碼開始的,而不是隨機生成的密碼,TeamViewer用戶通常可以通過添加命令行參數將此密碼設置為任意值:

深入了解惡意軟體如何濫用TeamViewer?



掛接 SetWindowLayeredAttributes將TeamViewer窗口的不透明度設置為0(指令PUSH 0),根據MSDN文檔,該視圖的含義如下:「當bAlpha為0時,窗口是完全透明的。當bAlpha為255時,窗口是不透明的:

深入了解惡意軟體如何濫用TeamViewer?



掛鉤CreateDialogParam會阻止一些惡意軟體創建不需要的對話框,用戶可以在文件TeamViewer_Resource_en.dll中查找這些對話框,它們以10075的數字引用,如下圖所示:

深入了解惡意軟體如何濫用TeamViewer?



在ShowWindow的情況下,它定義了它自己的nCmdShow參數範圍4d2h-10e1h。如果其他值超過這個範圍,則不會發生任何進程:

深入了解惡意軟體如何濫用TeamViewer?


其中最有趣的掛鉤便是CreateWindowEx API。通過一系列類名檢查,我發現它屬於TeamViewer聊天窗口的窗口和其他窗口控制項。在WinSpy ++等工具的幫助下,即使特定進程的所有窗口被隱藏,我們還是可以看到這些窗口的。從下圖可以看出,有一個ControlWin窗口,它有幾個TVWidgets。TvWidget是一個TV常用效果控制項,包括焦點、邊框處理等, 它有兩個ATL:????????文本編輯,一個用於聊天消息歷史,一個用於新的聊天消息,還有一個組合框,具有聊天參與者的下拉列表和按鈕發送。 「消息01」代表聊天中收到的消息,「消息02」代表在點擊「發送」按鈕後發送的消息。聊天窗口無法正常顯示,因為惡意軟體在後台運行,但是可以修復惡意軟體,從而不會發生隱藏窗口:

深入了解惡意軟體如何濫用TeamViewer?



下面的代碼片段顯示了惡意軟體是如何獲取這些窗口控制項的句柄的, GetWindowLong,CallWindowProc,SetWindowLong與nIndex = GWL_PROC用自定義窗口過程替換了聊天歷史文本編輯窗口過程的舊地址:

深入了解惡意軟體如何濫用TeamViewer?



自定義窗口過程會監聽傳入消息,並且基於窗口消息id,它會發送新消息或等待來自C&C伺服器的回復,直到EM_SETCHARFORMAT消息的出現。


下圖顯示了惡意軟體是如何發送新消息,惡意軟體首先將重點放在使用WM_SETFOCUS的新消息文本編輯中,然後通過WM_SETTEXT設置新消息編輯文本,最後通過發送BM_CLICK點擊「發送」按鈕:

深入了解惡意軟體如何濫用TeamViewer?


上述50個API中的大多數都使用了類似的修改,其中有一些補丁很簡單,只有幾個指令,單還有一些補丁是非常複雜的,如CreateWindowEx。我不會在這裡一一列舉,但是最終的結果表明,TeamViewer的窗口是絕不會讓受害者看見的,它只存在與系統的後台。


TeamSpy的配置文件

深入了解惡意軟體如何濫用TeamViewer?



解密的配置文件可以在下圖中看到,參數的名稱大多是自我說明的。對我來說最重要的是密碼(受感染的機器具有密碼「superpass」)和server1,其中感染的設備ID已過濾了:

深入了解惡意軟體如何濫用TeamViewer?



受感染的設備和C&C伺服器之間的通信是在感染過程開始後才建立的,之後便會定期發送以下請求,大多數參數的名稱可以清楚地推導出來:


id = TeamViewer ID,網路犯罪分子需要這個id,它與密碼一起就足以遠程連接到受感染的計算機tout = timeoutidl =空閑時間osbt = 32bit / 64bitosv = OS版本osbd = OS構建版本ossp = service packtvrv = TeamViewer版本uname =用戶名cname =計算機名稱vpn =有TeamViewer vpnavr =防病毒解決方案

當我在網路瀏覽器中打開C&C伺服器時,就可以看到登錄頁面。


通信插件


受感染的計算機是通過TeamViewer控制的,攻擊者可以連接到遠程計算機,因為他們已經知道了TeamViewer的ID和密碼,或者他們可以通過TeamViewer聊天發送命令,這樣就可以在受感染的機器上做任何事情。通過TeamViewer聊天的通信可以實現基本的後門功能:applist,wcmd,ver,os,vpn,locale,time,webcam,genid。在TeamSpy代碼中,這些命令與它們的crc32校驗和進行比較,所以很容易發生衝突。因為crc32(wcmd)= 07B182EB = crc32(aacvqdz),這兩個命令都是可互換的:

深入了解惡意軟體如何濫用TeamViewer?


深入了解惡意軟體如何濫用TeamViewer?



攻擊者使用TeamViewer的合法VPN加密流量,使其與合法的TeamViewer流量無法區分。一旦設備受到感染,他們就可以完全訪問計算機。他們可以竊取和滲透敏感數據,下載和執行任意程序等等。


不得不說,濫用合法應用程序是一個聰明的技術,因為並不是每個用戶都會檢查所有DLL庫在同一目錄的合法性。檢查主可執行文件的簽名沒有顯示任何可疑的內容,可能讓受害者認為一切都是正常的。詳細情況,請參考下面的main_w32.exe文件的數字簽名,這個文件就不是惡意的。

深入了解惡意軟體如何濫用TeamViewer?


安全專家發現,目前除了TeamSpy外,已有越來越多的惡意軟體類開始濫用TeamViewer。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

如何使用加密的Payload來識別並利用SQL注入漏洞?
安卓APP破解利器Frida之破解實戰
追蹤IP地址你需要這幾款工具加持

TAG:嘶吼RoarTalk |

您可能感興趣

微軟 Word 宏惡意軟體可以同時感染 Mac 和 Windows
Malwaresearch:在Openmalware.org上查找惡意軟體的命令行工具
CIA Angelfire:專門感染Windows的惡意軟體框架
小心!Google Play 中出現首個使用代碼注入Android惡意軟體——Dvmap
Bashware攻擊:在Windows系統上運行Linux惡意軟體
全球 「Grand Fantasia」遊戲玩家注意了!惡意軟體Joao正盯著你!
QakBot銀行惡意軟體導致大量 Active Directory 被鎖定
CIA Vault7針對Window系統定製惡意軟體平台
「made in China」最強背鍋,勒索軟體FakeCry「各種冒牌」有何目的?
維基解密披露CIA惡意軟體框架中的新工具:AfterMidnight與Assassin
直指電網:比Stuxnet更具威脅的基建設施惡意軟體Industroyer
ExpensiveWall:「包裝」惡意軟體現身 Google Play,危及用戶財產安全
用VirtualBox、INetSim和Burp配置一個惡意軟體分析實驗室
Bioinformatics:新型軟體或可使CRISPR方法變得更加簡單
Canonical創始人抨擊自由軟體社區對Canonical的敵意
惡意軟體就在Docker容器中?
Mac用戶注意:全球macOS勒索病毒軟體MacRansom面世
蘋果用戶注意了,專為MacOS打造的勒索軟體MacRansom已上線
Android 史上最複雜的惡意軟體,就算手機沒 Root 也會幫你 Root