觀點

Hidden Virtual Network Connection (HVNC)

2017 / 12 / 14
資策會資安科技研究所
Hidden Virtual Network Connection (HVNC)
現今金融業為駭客一個很大的目標之一,Banking Trojan亦為攻擊金融業一個很重要的惡意程式之一,駭客在成功入侵了系統之後,會透過許多方式對受害者進行控制,包括了VNC、VPN、自行架設Tunnel、建立後門等控制方式。
VNC是一種遠端共享桌面軟體,在遠端可以透過VNC的連線,進而對受控電腦進行管理或控制,而身為一個Banking trojan/Banking backdoor,當然在控制受害電腦時,會想辦法讓自己的行為被隱藏,但VNC在控制時,並不像command line可以在背景利用script的方式執行,執行圖形介面的操控時,很難不被受害端發現,HVNC的攻擊流程圖,如下圖所示:


圖1 HVNC攻擊流程圖 

因為國外或國內目前很多金融業在登入自己的金融帳號密碼時,是有綁定固定的電腦(ex. 瀏覽器、作業系統版本語系、時區),若從別的電腦登入,則會發出警訊給受害者做身份的確認,因此駭客想要控制受害電腦進行控制,而最大的目的就是利用受害者的電腦與帳密,進行金錢的盜轉或交易。
攻擊者為了解決使用VNC共享桌面會被受害者發現的問題,因此發展出了Hidden VNC,主要目的即為了掩飾自己的控制行為,避免受害電腦的使用者發現,進行資安通報或事件處理流程,而將好不容易植入的malware清除。
在駭客成功植入惡意程式並且在受害電腦執行後,遠端控制bot的中繼站,會運用相關的工具,例如:Citadel(Atmos),如下圖所示

圖2 Bot控制與產生惡意程式工具


這個Bot C&C控制工具,攻擊者可以自己Build Config,內容包括要產生什麼惡意程式,惡意程式要到那個中繼站去做報到,如下圖所示



圖3.1 Build Config 

再來按下Build Bot,此工具就會自動依照上述的Config,來產生要到攻擊者報到的惡意程式,如下圖所示

圖3.2 Build Malware

攻擊者可以利用此工具,不斷的產生不同MD5的惡意程式,而每次成功植入惡意程式後而打下來的Bot(俗稱肉機),都會在這個工具的Control Panel去控制每台Bot要做的背後行為,包括VNC連線、Web-injection、執行command指令等動作,如下圖所示

圖4 Bot 控制介面範例 

Citadel產生的惡意程式,為一個提供駭客控制的後門惡意程式,可以透過各種管道入侵受害者的電腦,包括作業系統/應用程式漏洞、弱密碼、社交工程等手法,植入惡意程式並使其在受害電腦中觸發,下圖為產生出來的惡意程式反組譯後的組合語言,可得知其為後門程式,有bind一個port在listen


圖5 disassembly malware 

執行此惡意程式,process explorer的畫面,會產生另一支亂數產生的程式,而此程式會listen一個極大的port,如下圖所示,此次執行為listen 22740 port,駭客可以透過這個惡意程式,得到這台受害主機的控制權,進行後續的injection、VNC連線、command指令執行。如下圖所示

圖6 執行後的process


在sniffer的環境,的確可以看到此惡意程式試圖去對上述config設定的DN去做連線報到,如下圖所示

圖7 觸發後的網路活動 

而此工具在使用VNC連線時,即會自動建立Fake Desktop,即會複製一個受害電腦目前正在使用的電腦桌面,並且與使用者有互動,但其實真正的VNC連線,是在另一個Desktop。
實作建立桌面,可以利用Windows內建的API,包括了下列幾種
(1) EnumDesktopWindows
(2) CreateWindowStation
(3) GetProcessWindowStation
(4) OpenWindowStation
(5) PrintWindow
(6) CreateDesktop
(7) GetThreadDesktop
(8) OpenDesktop
(9) OpenInputDesktop
HiddenDesktop會先複製受害者目前使用的桌面圖示,並且建造一個一模一樣桌面圖示,程式原始碼片段如下圖所示



圖8 Create Desktop


將程式碼編譯並執行起來後,即會立即出現另一個桌面,且二個桌面在做的事彼此並不知情,下圖為執行CreateDesktop.exe前的桌面


圖9 First Desktop

而在執行CreateDesktop之後,即會複製一個新的桌面,而在此桌面做的事,新增的檔案,皆不會在原來的桌面上顯示,複製的桌面如下圖所示


圖10 Copy Desktop


如上2張圖所示,看起來真的是一模一樣的桌面,而複製的桌面是可以正常的運作,使用者是可以在上面進行任何的操作,如下圖所示

圖11 在Copy Desktop新增檔案 

而此時回到原來的桌面,會發現剛剛開啟的瀏覽器或是應用程式,在原來的桌面是不會同步的,但產生的檔案是會同步,因此如果駭客利用應用程式去連結受害者的金融網路交易平台,是不會被發現的,如下圖所示,為執行完CreateDesktop後,原來的桌面的顯示畫面



圖12 原來的桌面 


HVNC為一個Banking trojan常用的方式,為了掩飾自己的蹤跡,相對也比一般惡意程式複雜了許多,也讓銀行盜領或進行背後交易的風險更加的提高。一般企業/政府的網路活動,皆應受到監控,若有異常遠端連線/登入等行為,會立刻觸發規則告警,可偵測此類型的攻擊,並且進而找到企業內受駭的機器,進行資安事件處理流程,降低其他電腦受駭的可能。

 

圖片來源:資安所自行整理