一些随机的词

有一天我收到一个样本,说游戏运行后,当你在浏览器中访问某个游戏的官方网站时,你会被重定向到另一个网站,而当你在浏览器中搜索该网站的关键字时,您也将被重定向。 由于技术较差,读了近一个月传奇游戏,才想出了这篇文章。 有时截图中的PID可能是错误的。 请见谅,因为这样调整后程序会跑掉。

基本信息样本概览

该样本属于供应链劫持。 传送传奇 Login应用程序的服务器被攻破,导致软件包捆绑恶意程序劫持网站。

样本发现日期

2021 年 7 月 8 日

样品类型

流氓促销、恶意捆绑

样本文件大小

文件大小,(字节)

样本文件MD5校验值

md5,

示例文件 SHA1 校验值

沙1,

示例文件检查值

,0753

系统可能面临的威胁

x86

相关漏洞

没有参与

受感染的系统和网络症状 文件系统发生变化

样本主体从服务器获取数据并释放.jpg、.exe、.exe

.exe程序释放驱动程序

注册表变更

其他发布的程序对注册表的更改没有任何可疑之处。 驱动程序已对注册表执行操作。

网络症状

执行网络行为中发现的异常样本后,会发起TCP连接。

我们开始登录并配置抓包,发现一个地址被重定向到

样本将访问

https://pz.520found.com:86/dll.txt

下载后访问

静态分析详解

既然是游戏登录设备,我们区分哪些是游戏行为,哪些是恶意软件行为,哪些是外挂行为。 这实际上让我们的分析变得非常困难。 当我们分析该字符串时,我们发现有一个对.dll的调用来启动网络。 问

后续看到不仅调整了.dll,还调整了.dll来提供网络请求。

我们顺着这个函数向上分析一下

我们获得了创建任务栏提示的部分。 有了这样的字符串,我们推测登录应该首先创建一个任务栏提示,然后当我们点击鼠标时,就会触发条件并加载.dll,而.dll就会发起网络请求。 事实上,我们的示例确实会在任务栏上触发这样的请求。

然后会弹出一个框

经过多次尝试,发现点击“是”就会发生劫持,点击“否”就不会发生劫持。分析这个的时候,提醒我技术手段可能是APC注入,继续分析。

我调整了.dll库并粗略地看了一下。 有的获取进程快照,有的获取进程的之一堆,有的搜索进程,有的搜索模块。 看到这里,我们推测此次劫持是由于APC注入造成的。 它肯定会额外增加一分概率,但也可能是博弈行为,因为它也可能是在利用搜索过程和堆来进行一些功能判断。 然后我们继续分析他在调整.dll库时做了什么。 实现什么就到了反汇编,函数名在代码最上面

查看交叉引用

向上滚动找到这个功能

这块的主要功能是找到进程并打开,然后向上滚动查看交叉引用,然后到达函数

注意我标注的地方,然后我们看流程图来分析这个函数,我们后续

那么当我们看到这个的时候,我们就明白上面的流程是为了什么了。 意思是样本获取进程线程ID,然后搜索某个进程。 如果找到就执行这个函数,执行delme.bat,然后启动What,然后执行

我们已经分析了它所引用的所有交叉进程,进程几乎是相同的,这意味着这三个交叉引用的函数可能检查了三个不同的进程。 具体来说,我们可以动态调出我们检查过的内容。 我们正在分析 函数。 我们在 .dll 中发现了引起我们注意的函数 tsEx,我们找到了该函数并检查了它的交叉引用。

我们随便跟进一个函数,比如这个函数,查看一下它的交叉引用函数如下

作用是获取线程ID然后执行等待线程挂起关闭,然后进入Sleep进行延迟查看交叉引用后续功能。

看到分析出的字符串Set-,推测好像和网络请求有关,然后继续往上追函数。

很明显是在构造http请求头。 函数调用关系已经分析过了,但是没有关联性。 我们继续看tsEx,追踪它所在函数的顶部。

这里使用循环来处理传入的消息。 传入什么消息以及一开始获取的句柄。 让我们来看看。

在这里调整

是 API 的一个函数,用于获取类名称和窗口名称与给定字符串匹配的窗口的句柄。

我们先看一下定义,也就是说,获取窗口句柄并与给定的字符串进行比较,与谁比较。 让我们看看下面的函数。

这里传入一段数据解密tls,获取线程ID返回给hWnd来追赶函数。

这里使用了泵等待函数 dles。 具体用法如下

在分析的过程中,我思考了很长时间该怎么办。 它提醒我,如果长时间没有人单击“是”,则示例将默认按照“是”条件运行。 换句话说,如果我们的调试器遇到它,我们将忽略它,程序将继续运行。 当超过等待时间时,会自动加载。 我推测应该是起到这样的作用。 至于具体传输哪些数据,还得动态对照,继续跟进。

没有什么可分析的,也没有进一步的参考,但我们用空格切换了汇编代码。

IDA将这段代码识别为文本,但是我们通过偏移地址找到了这段数据所涉及的函数所在,并后续调用了函数。

这里我们看到调用了一个函数。 该函数的意义是恢复线程的函数。 看到这一点很有意义/很有趣。 我们继续查证并跟进。

交出字符串进行解密。 此处调整以加载dll。

前面我们分析了函数执行过程,样本运行时会弹出一个框,所以我们检查相关最外层函数的交叉引用,

首先会进入函数

调用该参数可获取当前进程中加载​​模块的文件路径,读取数据,并解密数据。

这是退出时该函数的最后一次调用。 关键是判断(); (); 最后执行函数退出进程。 至于接下来一堆函数调用,就是判断数据和上面的调用是否已经执行完毕。 执行完毕后调用结束然后进入A JZ判断,结果不等于0,获取字符串,在桌面上重新生成一个程序,然后返回

如果等于0,则弹出窗口,根据运行结果推断函数加载

对于这样的弹框,打完补丁后,会进行一系列的判断,然后执行退出。

分析过程中发现这个函数还调用了

调用的关键函数

调用and的主要目的是获取线程ID并枚举

动态分析 行为分析

样本运行后会释放.jpg文件,msg后的名称是随机的。

然后释放C:\Users\jhon\\Local\Temp中的.exe文件。 rar后面的名字也是随机的。

.exe程序进行图像劫持,但在我的机器上劫持不成功。

然后.exe,释放并加载驱动到C:\\\目录

然后样本执行两次销毁.exe程序

.jpg 分析

文件查看数据类型

放入ida,看起来是加密的

配对释放配对驱动程序分析

我们先看看子串中是否能找到什么信息,并提取一些关键信息。

/?t=1
[ENDBASE64]
[BASE64]


/?a=1&t=1&s1=%u&s2=%d&s3=%d
\SystemRoot\System32\
/?t=2&c=
mo.cn
hk.cn
tw.cn
xj.cn
nx.cn
qh.cn
gs.cn
sn.cn
xz.cn
yn.cn
gz.cn
sc.cn
hi.cn
gx.cn
gd.cn
hn.cn
hb.cn
ha.cn
sd.cn
jx.cn
fj.cn
ah.cn
zj.cn
js.cn
hl.cn
jl.cn
ln.cn
nm.cn
sx.cn
he.cn
cq.cn
tj.cn
sh.cn
bj.cn
ac.cn
net.ru
com.ru
edu.cn
gov.cn
org.cn
cn.com
net.cn
com.cn

其中发现,样本中使用的签名

151222010803Z
161222010803Z0l1
Henan1
Jiaozuo1#0!
feifan7892@gmail.com
Zhang Zhengqi0

得到这些信息后,在不验证真伪的情况下,我会对上述关键信息进行分析。 我把它放进ida里看了一会儿。 我没有任何线索。 对驱动程序的分析很少。 稍后我会通过研究驱动来补充。

动态调试

动态调整了几次后,它就跑了。 未发现样本主要流程被释放的迹象。 然后我们打开并监控了一段时间。

由于我们在 .exe 释放之前停止了捕获,因此 .exe 没有被捕获。 幸运的是, Sword 被捕获,但记录的 pid 不同。

这里发布了两个程序,一个是.exe,另一个是.exe。 我们知道这一点。 让我们回到调试器,单步执行,并在开始时中断。 经过以上推断和调试,基本确定是APC注入导致的劫持。 ,然后我们一步看到主进程创建了7984个线程

此时我们断开连接,样本在这里运行,pid为2802。然后我们用管理员打开一个进程来附加它。

新的进程pid是7416然后是我们主进程的单步

然后我们根据样本7416创建了另一个线程9128。妈的,太恶心了。

也就是说,我们必须在创建9128线程捕获释放的文件并恢复快照之前停止。 运行停止后,执行3064

在这一点上休息,然后我们迈步

我们在单步过程中发现样本数据基本都是远程获取并动态解密的,因此非常混乱。

停止于,获取释放的文件并中断于,停止后运行。

样本解密发布后,将自动删除。 不过,从这里我们可以看出,该图片是从百度贴吧获取,然后在本地重命名的。 .exe 将解密图像。

恶意代码行为

.exe解密镜像后,会释放驱动文件

C:\Windows\System32\drivers\puhsvgvhhu.sys

现在我们已经拿到了发布的样本,我们简单分析一下。 我们将示例放在虚拟机中并运行了一段时间。 我们发现没有记录多少有用的东西,所以我们再次运行程序,没有记录加载驱动程序的过程。 但 Sword 记录了它

时间名称 进程号 操作路径 执行结果

16:53:55:800

。EXE文件

3364

C:\Users\mac\\Local\Temp\.exe

:7000 :'C:\Users\mac\\Local\Temp\.exe .jpg' : :

16:53:55:815

。EXE文件

3364

C:\Users\mac\\Local\Temp\.exe

::0:::::

16:53:55:831

。EXE文件

3364

C:\Users\mac\\Local\Temp\.exe

::0:::::

16:53:55:831

。EXE文件

3364

\\C:.exe

16:53:55:831

。EXE文件

3364

\\C:\Users\mac\\Local\Temp\.exe

16:53:55:831

。EXE文件

3364

C:\Users\mac\\Local\Temp\.exe

::0:::::

16:53:55:831

。EXE文件

3364

C:\Users\mac\\Local\Temp\.exe

::0:::::

16:53:55:831

。EXE文件

3364

\\C:.exe

16:53:55:831

。EXE文件

3364

\\C:\Users\mac\\Local\Temp\.exe

16:53:55:893

。EXE文件

3364

C:\\\\.sys

::0:::::

16:53:55:893

。EXE文件

3364

C:\\\\.sys

埃夫:

16:53:55:893

。EXE文件

3364

C:\\\\.sys

: :

16:53:55:893

。EXE文件

3364

C:\\\\.sys

::0:::::

16:53:55:893

。EXE文件

3364

C:\\\\.sys

[操作成功完成。 ]

16:53:55:893

。EXE文件

3364

C:\\\\.sys

[操作成功完成。 ]

从上面的记录我们注意到.exe执行了一个命令

rar_qlessd.exe msg_kucxcf.jpg

然后我们将这两个文件拖到新机器中并在终端中执行。

可以看到直接可以释放驱动,说明这才是重点。 哈哈哈,一瞬间感觉好幸福。 接下来就要分析这两件事了。 我们刚刚分析了.jpg包含数据,肯定是的。 Exe 转至 .jpg 进行解密。 我们首先分析.exe。 放入ida后,发现全是一堆乱七八糟的函数。 没有任何线索。 我们直接动态调整终端管理员模式来开启。 经过检查,我们发现该程序是x64,然后启动它并继续该过程。 额外的

通过调试,我们发现样本会生成并注入到驱动中。 我们可以查看调用堆栈。

发现调用了ntdll.dll的函数,,,这些

国际奥委会

42.81.34.35

相关链接

结束

招聘小广告

招募大佬入圈

新成立集团IOT+工控+样本分析长期招募

欢迎联系

未经允许不得转载! 作者:admin,转载或复制请以超链接形式并注明出处天心神途传奇手游发布网

原文地址:《某传奇游戏登录服务器劫持分析》发布于:2024-03-24

发表评论

表情:
验证码
评论列表 (暂无评论,45人围观)

还没有评论,来说两句吧...