揭秘远程服务器攻击:混淆代码解密与恶意功能分析

 

前言

最近,一家公司的服务器遭到了犯罪嫌疑人的远程攻击,犯罪嫌疑人通过技术手段绕过该公司的链接签名校验机制,生成色情网址链接,导致大量色情网址链接在聊天群内广泛传播,给公司造成了极其恶劣的影响。

为减少影响,查清事实,该公司报案后,公安机关对此案进行立案调查。委托方要求我所对涉案远程服务器中的网站备份文件和数据库备份文件进行提取,并对这些文件进行功能性鉴定。

01

环境准备

本次鉴定所需软件如下所示:

(1)星探网络取证系统

(2)盘古石计算机取证分析系统

(3)雷电模拟器

(4)Charles

(5)Navicat Premium

(6)在线 JS 反混淆工具“http://jsnice.org/”

02

分析过程

环境重构

获取服务器镜像后,在本地搭建操作系统为CentOS7的虚拟机,配置桥接模式的网络适配器并安装宝塔面板。安装成功后将提取到的网站备份文件和数据库备份文件上传并解压至虚拟机对应目录下,部分过程如下图所示:

使用命令“bt 14”获取宝塔面板信息,并进行登录。登录成功后,在“软件商店”中选择安装“Nginx 1.22.1”、“MySQL 5.7.40”、“PHP-8.0.26”并在PHP管理中安装扩展“redis”,部分过程如下图所示:

在“数据库”中新建数据库并导入已上传的备份文件。

在网站备份文件中“/application/”目录下的“config.php”文件中,查找该网站的“cookie”配置的“domain”信息,如下图所示:

根据上述信息,在“网站”界面中,添加站点,设置域名信息、网站目录和运行目录。如下图所示:

修改数据库配置文件,使其连接至虚拟机内数据库,如下图所示:

在Redis配置文件中查找Redis配置信息,根据Redis配置信息修改对应配置参数后,修改本地hosts文件,成功访问后台地址。部分过程如下图所示:

修改“Auth.php”文件中的login()函数,使得网站后台可以使用任意密码登录,如下图所示:

在数据库中查找后台管理员帐号,并使用管理员账号“admin”及任意密码登录,登录成功后的界面如下图所示:

根据页面信息,使用SQL语句对管理员表和域名管理表进行查询。部分过程如下图所示:

查询结果如下图所示:

更多环境重构方法参见:https://mp.weixin.qq.com/s/qbnFhZz8RQd1PswmSF8dEw。

功能复现

根据Charles的配置信息,修改模拟器中的网络配置,设置代理服务器主机名、代理服务器端口,使得Charles可以获取模拟器的数据包,如下图所示:

复制从网站后台管理页面中查询到的用户归属ID中的指定索引的入口域名至模拟器中的浏览器并访问,随后自动跳转至网站“http://jl.ss***.cn/x/2630/lynt”中,与查询结果中对应记录的“落地域名”相同,部分内容如下图所示:

代码解密及功能分析

查看Charles中捕获的数据包,部分内容如下图所示:

分析上述数据包时发现,在访问上图中的URL时,该页面会自动执行“script”下的内容,响应内容如下图所示:

自动执行“script”下的内容时,会使页面跳转至“https://mx1.e***.cn/js/t”,随后重定向至“https://mx***.cn/js/t.js”,部分内容如下图所示:

查看对URL“https://mx1.***.cn/js/t.js”请求的数据包,该数据包的响应内容对应网站备份文件中的“/public/js/t.js”,如下图所示:

该js脚本经过混淆加密,使用在线JS反混淆工具“http://jsnice.org/”对其进行反混淆解密,如下图所示:

再将解密后的代码进行整理,部分解密后结果如下图所示:

该js脚本首先会判断请求URL中的查询字符串长度是否大于1,若大于1,则判断请求的“navigator.platform”是否为“Win32”,若为“Win32”则会跳转至“https://n***q.com”,否则会获取请求中的查询字符串赋值给变量“id”。如“https://ima***s.cn/cailianpress/contention/20230331/cailianpress0641362154.html?n2PN”中的查询字符串为“n2PN”,将“n2PN”赋值给“id”,随后向URL“https://m***88.cn/?id=n2PN”发起请求。请求逻辑如下图所示:

对于向URL“https://m***88.cn/?id=n2PN”请求的响应过程,其对应网站代码文件中的“/application/index/controller/Index.php”,部分内容如下图所示:

这段代码会根据请求URL传入的“id”参数的值,前往后台数据库中的数据表中查找与“id”参数的值相同的“keys”值,并获取其对应的“jumpdom”(即落地域名),将其作为响应内容返回。

查看捕获数据包中对URL“https://mx***888.cn/?id=n2PN”请求的数据包,响应内容如下图所示:

根据响应内容可知,该页面会跳转至URL“http://j***es.cn/x/2630/lynt”中。

综上所述,检材备份数据库内的“入口域名”对应网页的代码具有控制“c***.cn”、“b***mg.com”、“k***u.com”等域名的网页跳转至绑定域名为“mx***8.cn”的网站并通过该网站的代码跳转至该网站后台用户设置链接的功能。

结语

本案例中的涉案开发人员具有较强的反侦察意识,运用js混淆技术使得代码逻辑不易被分析。并且在js中加入了浏览器类型的判断,让我们无法在鉴定设备中复现跳转的操作。但是,鉴定人员依旧利用自己专业知识,通过使用手机模拟器复现了整个过程,同时运用js反混淆技术,成功分析出代码的逻辑,完成了功能性鉴定。

页面异常跳转可能会给用户带来诸多不良影响和安全隐患。首先,它可能导致用户信息泄露,因为恶意跳转可能会将用户重定向到伪造的网站或恶意网站,从而窃取用户的个人信息、账号密码等敏感数据。其次,页面异常跳转可能会使用户误入钓鱼网站,诱使其点击欺诈链接或下载恶意软件,进而导致财产损失或计算机感染病毒。此外,页面异常跳转还可能影响用户体验,降低网站可信度和用户忠诚度,损害企业形象和声誉。综上所述,页面异常跳转对于个人用户和企业都存在严重的安全风险和危害,因此需要采取有效的措施加以防范和应对。这不仅有利于保护用户的合法权益和维护网络安全,还有助于促进公平竞争、提升网络信任度等方面的社会效益。  

 

本文来源及作者:@奇安信司法鉴定(微信号qax-forensic )

原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/14632.html

(0)
速盾高防cdn's avatar速盾高防cdn
上一篇 2024年3月21日 下午10:24
下一篇 2024年3月21日 下午10:28

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注