首页 > 其他分享 >QQ盗号木马动静态分析流程

QQ盗号木马动静态分析流程

时间:2024-07-17 21:09:32浏览次数:19  
标签:QQ 匹配 函数 数组 盗号 木马 字符串 字节

小小的记录一下~~

分析对象

动态分析 – 测试电脑环境

测试电脑运行环境:Win10_64位机
木马分析工具:火绒剑5.0.74,dnSpy
image
image

木马动态分析

运行时提示加载失败,该文件未释放任何文件,且在注册表,计划任务,服务项,用户组内未发现恶意内容存在。
image

木马静态分析

将木马拖入DIE中进行检查,发现其为32位.Net木马程序,且不存在加壳保护。时间戳为2058-09-27,时间戳混乱。
image

将文件拖入dnSpy中进行反编译,检查其代码。其程序入口处为BingNav.Program.Main,进入程序入口处继续分析,发现其实际运行函数为BingNav()。
image
image

BingNav()函数中只有两步代码,第一行负责初始化一个Windows窗口,即动态分析中跳出的Windows窗口,第二行则是进入功能函数BingNavWorkJob(),继续跟进该函数。
image

该函数中尝试执行实际的功能函数BingNavExcuteBingNav(),如果执行中发生了错误,则执行函数BingNavShowErrMesgBingNav(),该函数主要负责返回错误提示信息窗口。
image

BingNavExcuteBingNav()函数中则实现了该程序的主要功能逻辑,函数较为复杂且部分敏感字符串是被AES加密后再以字节数据格式写在程序中,以下是对该函数的功能分析:

  1. 获取当前进程并匹配目标进程(chyed.exe,qq.exe,tim.exe):该函数首先使用CreateToolhelp32Snapshot创建当前计算机中系统进程的快照,并通过Process32First和Process32Next遍历每个进程。随后使用SelfDec函数解密字节数组,并进行匹配。
    image

SelfDec函数内定义了一个AES-ECB模式的解密方法,接收加密的字节数组,并解密为UTF8编码的字符串。在本地实现该解密函数,其三个字节数组的实际内容为:
bytes1 = chyed.exe;
bytes2 = qq.exe(QQ进程);
bytes3 = tim.exe(QQ tim进程)
说明该程序匹配的是这三个与QQ相关的进程,获取到当前电脑存在匹配进程后进入后续操作。
image
image

  1. 读取匹配进程的内存数据,搜索并提取特定数据字符串:该函数在匹配到目标进程后,继续获取此进程的内存数据,随后在该内存数据中使用BingNavGetIDXByComBingNav函数进行匹配,被匹配的字节数组为array。
    image
    BingNavGetIDXByComBingNav函数负责在传入的内存数据中查找另一个字节序列的首次出现位置,并返回匹配序列末尾的索引,完成寻找特定的数据块这一行为。
    image
    array字节数组并未进行加密操作,其字节数据转为UTF8字符串为:msg.fcg?clientuin=,pattern字节数组解密后是一串正则表达式:clientuin=[0-9]*,即匹配以字符串“clientuin=“开始的一串阿拉伯数字字符串,这些字符串可能与劫持QQNT、TIM、QQ客户端的QQClientKeys/QQKey相关,相关文章:
    https://www.cnblogs.com/RainbowTechnology/p/17947778
    https://cloud.tencent.com/developer/article/2150324
    根据代码和文章可得,此步主要行为是遍历进程的内存数据,并在内存数据中查找字符串msg.fcg?clientuin=,最后获取到的内容为当前受害者电脑中的QQ号码。
    image
    image
    接下来函数再次进行匹配,进行的操作与上一步匹配类似,只是第一次匹配的字节数组换为bingNavMatchBingNav,解析出的16进制字符串为“70000000700000000001“,匹配到该16进制字符串后继续获取该字符串后1024字节的数据,并在该数据内搜索被解密的bytes4字节数组,该字节数组实际内容为“700000007000000000016”,在网上搜索未发现有关内容,可能和QQ进程的cookie或key值有关。最后程序在匹配到的结果中提取从第16个字符开始的到第224个字符,可能是存在其固定的数据格式。
    image
    image

如果两个匹配都匹配到目标数据后,函数则将提取的信息添加到列表中,并构造一个特定格式的字符串(10@{第一个匹配的QQ号码数据}@{第二个匹配的16进制字符串数据)),然后终止循环。
image
image

  1. 构造和发送HTTP请求到固定的URL,并解析响应包获取客户段密钥:此部分中函数使用了多个加密的字节数组(从byte5到byte14),这里先列出这些字节数组对应的明文内容:
    bytes5 = https://localhost.ptlogin2.qq.com:4301/pt_get_st?callback=
    bytes6 = https://localhost.ptlogin2.qq.com:4301/pt_get_uins?callback=
    bytes7 = https://xui.ptlogin2.qq.com
    bytes8 = pt_local_token=
    bytes9 = &pt_local_tk=
    bytes10 = "uin"

    标签:QQ,匹配,函数,数组,盗号,木马,字符串,字节
    From: https://www.cnblogs.com/cateraser/p/18308239

相关文章

  • 《QQ三国》bugreportnew.dll 加载失败:游戏启动难题的深度解析与修复
    遇到《QQ三国》游戏加载bugreportnew.dll失败的问题,通常意味着游戏在启动或运行时未能成功加载或初始化bugreportnew.dll这个动态链接库(DynamicLinkLibrary)文件。bugreportnew.dll文件可能是游戏内置错误报告系统的一部分,用于在游戏崩溃或遇到问题时收集错误信息并生成报告。......
  • 关于任务栏图标变白的原因及解决方法(以 QQ 为例)
    如下图所示,qq图标变白了,原因是我qq更新后改动了所在位置,或者你将一些软件连同整个文件夹一起移动到其他文件夹下也可能会出现这种情况。这种变白并不是我之前说的桌面图标变白,如果你是桌面的图标变白,可以参考我之前写的博客的解决方案:针对Win10系统为了加速图标的显示,......
  • 一句话木马
    一句话木马定义一句话木马也叫做一句话后门,是一种简单、直接的攻击方式。一句话木马通常是指一行简短的PHP代码,可以在Web服务器上运行,实现代码执行的功能。一句话木马的代码很是短小精悍,一旦在网站上植入一句话木马,就可以远程控制他人网站,进行各种非法操作。一句话木马也可以......
  • 你还在用QQ截图吗(Snipaste PC最强截图贴图软件)
    多数打工人可能更习惯用QQ截图,ctrl+alt+某键用起来很顺手,但QQ截图有几个小缺陷:1、登录QQ才可以用。2、有些场景在截图的时候会失去焦点,也就是出现截不到某些画面的情况(后面会展开说)。3、功能不够强大。最近发现一个很优秀的截图工具可以完美代替QQ,解决上面的问题,它就是Snipast......
  • PN转Modbus RTU模块连接ACS4QQ变频器通信
    一台完整的机器在出厂前由许多部件组成。但是,由于各种原因,这些组件来自不同的制造商,导致设备之间的通信协议存在差异。Modbus和Profinet代表两种不同的通信协议,Profinet通常用于较新的设备,而Modbus是较旧的通信协议。在工业控制现场,很可能会有同时使用Profinet协议和Modbus协议的......
  • 多线程网络实战之仿qq群聊的服务器和客户端
    目录一、前言二、设计需求1.服务器需求 2.客户端需求三、服务端设计1.项目准备 2.初始化网络库3.SOCKET创建服务器套接字4. bind绑定套接字 5.listen监听套接字 6.accept接受客户端连接7.建立套接字数组8.建立多线程与客户端通信9.处理线程函数,收消息......
  • QQ机器人开发教程:智能群聊助手
    随着社交媒体的普及,QQ群已成为人们日常生活中重要的交流平台。本文将介绍如何开发一款智能的QQ机器人,作为群聊助手,提供便捷的服务和娱乐功能。一、开发环境搭建首先,需要搭建开发环境。安装Python解释器,并配置好相关的开发工具和库。同时,需要申请一个QQ号作为机器人的登录账......
  • 纯真IP库查询方法(2024-6-19更新qqwry.dat后无法查询,修改代码)
    2024-6-19更新qqwry.dat后使用pthon38那篇文章里的代码无法查询,使用pythom2的代码,修改之后python3可用,将文件放到工程里查询,不用Lib库里的。修改后的qqwry.py如下,python3可用。coding=utf-8forPython2.7为https://pypi.python.org/pypi/qqwry-py3的Python2版版本:2017-10-......
  • 【QML】用 Image(QQuickPaintedItem) 显示图片
    大体功能:频繁地往界面推送图片,帧率达到视频效果。捕获画布上的鼠标事件和键盘事件。代码如下://DrawImageInQQuickPaintedItem.pro代码如下:QT+=quick#YoucanmakeyourcodefailtocompileifitusesdeprecatedAPIs.#Inordertodoso,uncommentthefo......
  • 对不起了,QQ和微信,我选择用它!
    哈喽,各位小伙伴们好,我是给大家带来各类黑科技与前沿资讯的小武。每当我们需要在电脑和手机之间传输文件、在学习和工作时与朋友/同事传输文件,相信大多都会使用微信或者QQ。但是在分享一些软件apk等安装包时,微信和QQ会将其转换为apk.1文件,导致即便对方接收也无法直接安装,表......