對APT34洩密工具的分析——HighShell和HyperShell

對APT34洩密工具的分析——HighShell和HyperShell

前言

最近APT34的6款工具被洩露,本文作為分析文章的第二篇,目的在於從技術角度對其中的HighShell和HyperShell進行分析。

參考資料:https://malware-research.org/apt34-hacking-tools-leak/amp/

 

本文介紹章節如下:

  • 對HighShell的分析
  • 對HyperShell的分析
  • 小結

對HighShell的分析

對應洩露檔的名稱為Webshells_and_Panel中的HighShell。其中的檔為HighShell.aspx,是針對Windows伺服器的webshell。

預設訪問頁面如下圖:

 

登入框(Login)為紅色,需要輸入連接指令。

正確的指令為Th!sN0tF0rFAN。

輸入正確的指令後,點擊Do it,重新整理頁面,成功登入,如下圖:

登入框(Login)變為綠色。

該工具的公開線索:

https://unit42.paloaltonetworks.com/unit42-twoface-webshell-persistent-access-point-lateral-movement/

HighShell同paloaltonetworks在文中提到的TwoFace的頁面相同。

 

 

對HyperShell的分析

對應洩露檔的名稱為Webshells_and_Panel中的HyperShell。下面包含7個資料夾:

  • ExpiredPasswordTech
  • HyperShell
  • Image
  • Libraries
  • packages
  • ShellLocal
  • StableVersion

1.ExpiredPasswordTech

包括3個檔案:

  • error4.aspx,功能與HighShell.aspx相同,但登錄指令未知
  • ExpiredPassword.aspx,適用於Exchange的webshell
  • MyMaster.aspx,生成字串:NxKK<TjWN^lv-$*UZ|Z-H;cGL(O>7a

2.HyperShell

包含多個檔案,是各個webshell的原始碼檔案。其中包含另一個可用的webshell,相對路徑:.\Webshells_and_Panel\HyperShell\HyperShell\Shell\simple.aspx

連接指令:MkRg5dm8MOk。

如下圖:

3.Image

圖片資料夾。

 

4.Libraries

包含多個依賴檔。

 

5.packages

包含多個依賴檔。

 

6.ShellLocal

空資料夾。

 

7.StableVersion

穩定版本,包含多個webshell。

(1)ExpiredPassword.aspx

適用於Exchange的webshell。

相對路徑:.\Webshells_and_Panel\HyperShell\StableVersion\HighShell v5.0\HyperShell\HyperShell\ExpiredPasswordTech

與相對路徑.\Webshells_and_Panel\HyperShell\ExpiredPasswordTech下的檔內容相同。

ExpiredPassword.aspx是Exchange正常的功能,對應重設使用者指令的頁面,如下圖:

 

訪問的URL:https://<domain>/owa/auth/ExpiredPassword.aspx

對應Windows絕對路徑:C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\ExpiredPassword.aspx

該路徑下的webshell預設許可權為System

 

我的測試系統安裝了Exchange2013,正常的ExpiredPassword.aspx原始碼我已經上傳至github:

https://raw.githubusercontent.com/3gstudent/test/master/ExpiredPassword.aspx(2013)

HyperShell中的ExpiredPassword.aspx是一個添加了後門代碼的檔,同我測試環境的正常ExpiredPassword.aspx檔相比有多處不同,如下圖:

 

經過分析發現有可能是Exchange版本差異導致的,忽略版本差異,HyperShell中的ExpiredPassword.aspx主要添加了如下代碼:

對應到我的測試環境,也就是Exchange2013,添加payload後的代碼已上傳至github:

https://raw.githubusercontent.com/3gstudent/test/master/ExpiredPassword.aspx(2013)(HyperShell)

使用方法如下圖:

New password項對應登錄webshell的驗證口令,驗證通過後會執行Confirm new password項的內容,許可權為System。

洩露的檔中未提到webshell的驗證口令,為了驗證該後門,我們修改代碼去掉登錄webshell的驗證環節即可。

 

(2)HighShellLocal

功能強大的webshell。

相對路徑:.\Webshells_and_Panel\Webshells_and_Panel\HyperShell\StableVersion\HighShell v5.0\HyperShell\HyperShell\ShellLocal\StableVersions\ShellLocal-v8.8.5.rar

解壓到目前的目錄,相對路徑為.\ShellLocal-v8.8.5\ShellLocal-v8.8.5\HighShellLocal,包括以下檔:

  • 資料夾css
  • 資料夾files
  • 資料夾js
  • HighShellLocal.aspx

 

實際使用時,還需要.\ShellLocal-v8.8.5\ShellLocal-v8.8.5\下的bin資料夾,否則提示無法使用Json。

完整結構如下:

登入指令:Th!sN0tF0rFAN

登入頁面如下圖:

輸入正確的登入指令後,如下圖:

可以看到該webshell支援多個功能。

 

小結

本文對洩漏檔中的HighShell和HyperShell進行了分析,其中HyperShell中的ExpiredPassword.aspx是一個比較隱蔽的webshell,目前為止我還未在公開資料中找到這種利用方法。

 

原始文章出處:

https://mp.weixin.qq.com/s?__biz=MzI0MDY1MDU4MQ==&mid=2247492847&idx=4&sn=b68173441a6f40968736eb0cf33f6aa0&chksm=e91534d5de62bdc37e24ab6d4254f4ab60137cabbe938cc19b86742776fe46483214c9c578a7&scene=0&xtrack=1

圖片出處:

 

 

You may also like...

發佈留言