首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

QBot恶意软件深度解析

以下是检测方式: 1、使用关键字“ VMXh”执行ASM代码,如果在虚拟机中将触发异常。异常处理程序可以捕获异常返回1,否则返回0。下面是ASM代码段。...当它检测到QBot在分析设备中运行时不会立即退出,它会转到另一个代码分支,在其中执行一些无关的操作。...“307”的内容是加密的PE文件,它并没有真正加载核心模块“307”来执行工作,它从解密的“307”模块加载另一个名为“308”的资源。 ?...转储分析PE文件,发现它是一个Dll文件(QBot的核心模块)。它包含核心模块使用的三个资源“ 308”,“ 310”和“ 311”。.图4.2显示了PE分析工具中转储的三个资源。 ?...它通过调用API VirtualAllocate将每个部分从“ 307” PE结构加载到新分配的内存中。然后修复重定位数据导入必要的API,使核心模块可以在“ explorer.exe”中执行。

1.6K30

二进制程序分析指南

首先通过分析PE/ELF头结构,其中提供了操作系统加载和执行文件的有价值的信息(例如支持的系统版本、内存布局、动态链接库、静态链接库、导出和导入表、资源和线程数据等等)。...导入函数:从外部链接库加载并且样本文件使用的API函数列表。API函数是一种被定义的代码,程序无需在其代码中实现即可调用它。...该软件具有针对微软操作系统产品的行为监视、捕获和过滤多个工件的能力,具体如下: 监视进程和线程的启动退出,包括退出状态代码 监视映像 (DLL 和内核模式驱动程序) 加载 捕获更多输入输出参数操作 非破坏性的过滤器允许你自行定义而不会丢失任何捕获的数据...不同之处在于,调试器提供了对恶意代码动态监视的能力,对内存、寄存器、堆栈进行深入调查。调试的好处是有机会运行代码、实时中断,查看寄存器中的特定值、函数的参数及其返回值,有助于更好地理解代码。...本例中,js执行了命令,启动powershell脚本,从http://jblecsywt6925.cc/documents/下载文件‘ spy20.exe ‘,保存为’ temp.exe ‘执行。

2K10
您找到你想要的搜索结果了吗?
是的
没有找到

Gacrux:基于C语言的可自定义PE加载恶意软件

进行模式扫描修复问题之后,我们就可以使用IDA来对代码进行反编译了。 ? 第二种技术涉及到伪造的返回值,破坏IDA的函数分析过程。跟之前的一样,我们同样可以使用nop操作码来解决这种问题。 ?...持久化 恶意软件的持久化是通过一个Windows进程实现的,恶意代码会在explorer.exe上下文中不断地调用这个进程,这个进程会检测安装文件,并在启动项菜单中创建.lnk文件。 ? ?...这里的代码注入技术主要用来调用一个小型的自定义PE加载器,请大家继续往下看。...自定义PE加载器和数据格式 这是Gacrux最有意思的功能,注入到Explorer中的代码并非一个普通的PE文件,而是一个带有自定义PE Header和自定义加载器的PE加载器。...PE加载器使用的是自定义的PE格式,根据Kaitai描述符,我们可以轻松恢复出原始的PE文件: ?

68040

三十五.Procmon工具基本用法及文件进程、注册表查看

进程 在Process Monitor的进程/线程监听子系统中,它将跟踪所有进程/线程的创建和退出操作,包括DLL和设备驱动程序的加载操作。...其中,下图框出来的4个常用按钮作用分别为:捕获开关、清屏、设置过滤条件、查找。...最后5个并排的按钮,是用来设置捕获哪些类型的事件,分别表示注册表的读写、文件的读写、网络的连接、进程和线程的调用和配置事件。一般选择前面2个,分别为注册表和文件操作。...注意,作者之前第36篇文章CVE漏洞复现文章中,将“hi.exe”恶意加载至自启动目录,这里分析它。...文件逆向基础知识(PE解析、PE编辑工具和PE修改) [系统安全] 十七.Windows PE病毒概念、分类及感染方式详解 [系统安全] 十八.病毒攻防机理及WinRAR恶意劫持漏洞(bat病毒、自启动

7.3K21

详解反调试技术

恶意代码可以使用异常来破坏或者探测调试器。调试器捕获异常后,并不会立即将处理权返回被调试进程处理,大多数利用异常的反调试技术往往据此来检测调试器。...这是因为很多时候通过Windows API实现的反调试技术无效,例如这些API函数被rootkit挂钩,返回错误信息。因此,恶意代码编写者经常手动执行与这些API功能相同的操作。...在OllyDbg中安装命令行插件,为了启动该插件,用OllyDbg加载恶意代码,选择Plugins->Command Line->Command Line选项,在命令行窗口输入下面的命令。 ?...2.3检测NTGlobalFlag 由于调试器中启动进程与正常模式下启动进程有些不同,所以它们创建内存堆的方式也不同。系统使用PEB结构偏移量0x68处的一个未公开位置,来决定如何创建堆结构。...TLS数据在PE文件头中添加数据。

2K40

Windows黑客编程技术详解 --第四章 木马启动技术(内含赠书福利)

q 内存直接加载运行:模拟PE加载器,直接将DLL和exe等PE文件加载到内存启动运行。...nShowCmd [in] 指定应用程序在打开时如何显示标志。SW_HIDE表示隐藏窗口激活其他窗口;SW_SHOWNORMAL表示激活显示一个窗口。 返回值 如果函数成功,则返回大于32的值。...本节主要针对DLL和exe这两种PE文件进行介绍,分别剖析如何直接从内存中加载运行。这两种文件具体的实现原理相同,只需掌握其中一种,另一种也就容易掌握了。...完成上述操作之后,DLL加载工作才算完成,接下来便是获取入口地址跳转执行以便完成启动。 具体的实现流程总结如下。...接下来,根据PE结构的重定位表,重新对重定位表进行修正。 然后,根据PE结构的导入表,加载所需的DLL,获取导入函数的地址写入导入表中。 接着,修改DLL的加载基址ImageBase。

3.6K50

解包分析攻击越南机场和其它组织机构的间谍程序

经分析发现,恶意代码注入了系统正常进程svchost.exe,程序主体启动时将会运行svchost.exe进程。从svchost.exe当前进程的详细信息中可以发现,其进程镜像目录包含恶意程序目录。...McAfee.exe一旦执行,恶意程序就会在系统启动目录中加载名为McUtil.dll的动态库文件,由于系统不对恶意程序整体进行完整性检查,所以执行程序可以加载任意DLL文件: McUtil.dll被用来部署下一阶段文件...,所以,钩子程序加载调用返回之后便会立即执行。...攻击者为了能让攻击载荷隐秘执行,对所有调用部分进行了执行顺序检查,以下为对主要调用部分进行检查的硬编码名称: 5 总结 该恶意程序使用McAfee程序劫持DLL文件运行恶意代码,为了逃避检测,还把各部分模块进行了混淆...这种类型的恶意程序,其EXE或DLL文件只用来加载shellcode,并不包含恶意代码,虽然用户对PE文件的运行比较谨慎,但是这一次,可能就会比较倒霉。

98680

二十四.逆向分析之OD调试INT3断点、反调试、硬件断点与内存断点

如果存在,就会引发捕获这个异常,程序就中断在此处,然后OD会删除INT3,还原原来的代码,接着继续运行我们的程序。...GetProcAddress返回值包括: 如果函数调用成功,返回值是DLL中的输出函数地址 如果函数调用失败,返回值是NULL。...下列代码是获取MessageBoxA函数的首地址,判断是否为CC断点。...病毒原理、C++实现文件加解密及OllyDbg逆向 [系统安全] 八.Windows漏洞利用之CVE-2019-0708复现及蓝屏攻击 [系统安全] 九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度提权...文件逆向基础知识(PE解析、PE编辑工具和PE修改) [系统安全] 十七.Windows PE病毒概念、分类及感染方式详解 [系统安全] 十八.病毒攻防机理及WinRAR恶意劫持漏洞(bat病毒、自启动

2.6K20

iOS 启动连续闪退保护方案

闪退原因 连续闪退,可能是 App 启动关键路径中执行了必 crash 的代码,原因可能有: 数据库损坏:在日常使用如异常退出、断电,或者错误的操作(参考:sqlite corruption causes...文件损坏:处理文件时如果没有 @try...catch,损坏文件会抛出 NSException 导致 crash 网络返回数据处理异常:比如预期返回数组,但实际返回了字典,对字典对象执行 -objectAtIndex...代码 bug:当必 crash 的代码出现在启动关键路径中,就会导致连续闪退。 针对 1,可以通过工具修复数据库,或者删除 DB。针对2,可以删除文件来进行修复。...在 didFinishLaunching 时,会卡住界面发请求检查是否有可用的 JSPatch 脚本,如果有则加载执行,解决代码 bug 导致的闪退。...收集 crash 样本,查明原因,定制 JSPatch 修复补丁下发 退出微信读书登录状态 进入原 didFinishLaunch 连续闪退检测 + 保护流程如图所示: ?

2.3K40

lokibot样本分析

\xxx \AppData\Local\Temp\vxogkynyop 3.主进程退出 4.frhdgr.exe自我删除 释放C:\Users\xxx\AppData\Roaming\F503CB\B28854....exe 隐藏文件 网络监控 frhdgr.exe有网络连接和数据包发送等行为 数据包未加密 恶意代码分析 第一层代码-释放PE文件 在temp文件夹下创建vxogkynyop文件文件中写入加密的代码...此加密代码解密后是一段shellcode 用于解密核心PE文件的 还会再temp文件夹下创建wdxw2bfd6vcc5n文件文件为样本的核心代码 解密后的数据是PE文件 解密算法就在vxogkynyop...首地址为0x00400000 向新创建的Frhdgr.exe进程拷贝PE文件(按内存对齐展开) 注:此pe文件就是wdxw2bfd6vcc5n文件解密后的 运行程序 本进程退出 第四层代码-新创建的...就是PE文件的.X段 .X段存储了解密代码 和未解密的数据 解密前的URL数据 在.X偏移0x74的位置 就是一个异或操作 数据异或0xFF 解密后 返回端口号 和要访问的路径 返回User

18220

十一.那些年的熊猫烧香及PE病毒行为机理分析

: 病毒的重定位 获取API函数地址 文件搜索 内存映射文件 病毒如何感染其他文件 病毒如何返回到Host程序 PE病毒分类 以感染目标进行分类,包括: 文件感染型 将代码寄生在PE文件,病毒本身只是PE...常见自启动方式 PE病毒运行之后,需要使用自启动技术保证下次开机再运行。常见的自启动方式包括: 注册表中的键值 特定路径的特定文件 系统中的特定位置,如Explorer.exe(显示桌面)。...在其他可执行文件嵌入少量触发代码 比如修改引入函数节启动DLL病毒文件(添加相应结构,初始化代码触发),或在特定PE文件代码段插入触发代码等(只需定位可执行程序运行)。...第6点行为:将自身拷贝到根目录命名为setup.exe,创建autorun.inf用于病毒的启动,这两个文件的属性都是“隐藏”。...在无文件加载中,如果DLL没有实体文件,是否可以在内存中完成DLL加载? 病毒运行一定要开启新的进程吗? 如何编写感染性病毒的清除程序?其与系统感染性病毒的清除方法有何差异?

8.6K60

黑客利用病毒挖门罗币 已获利 60 余万

混淆器相关代码,如下图所示: ? 混淆代码 混淆器中使用了大量与上图中类似的垃圾代码,而用于还原加载原始PE镜像数据的关键逻辑代码也被穿插在这些垃圾代码中。...还原加载原始PE数据的相关代码,如下图所示: ? 还原加载原始PE镜像数据的相关代码 上述代码运行完成后,会调用加载原始PE镜像数据的相关的代码逻辑。...解密后的加载代码 原始PE镜像数据被使用LZO算法(Lempel-Ziv-Oberhumer)进行压缩,经过解压,再对原始PE镜像进行虚拟映射、修复导入表及重定位数据后,即会执行原始恶意代码逻辑。...该病毒的传播只针对可移动存储设备和网络驱动器,被感染后的可移动存储设备或网络驱动器根目录中会被释放一组病毒文件通过诱导用户点击或利用系统自动播放功能进行启动。...之后,病毒会使用挖矿参数启动自身程序,再将挖矿程序(XMRig)PE镜像数据注入到新启动的进程中执行挖矿逻辑。在火绒行为沙盒中挖矿病毒行为,如下图所示: ?

1.3K30

iOS 启动连续闪退保护方案

如何捕获异常 通过以下方法捕获异常: 利用 Mach API 捕获 Mach 异常 通过 POSIX API 注册 signal(SIGSEGV,signalHandler) 来捕获 UNIX 异常信号...1.闪退原因 连续闪退,可能是 App 启动关键路径中执行了必 crash 的代码,原因可能有: 数据库损坏:在日常使用如异常退出、断电,或者错误的操作(参考:sqlite corruption causes...文件损坏:处理文件时如果没有 @try...catch,损坏文件会抛出 NSException 导致 crash 网络返回数据处理异常:比如预期返回数组,但实际返回了字典,对字典对象执行 -objectAtIndex...代码 bug:当必 crash 的代码出现在启动关键路径中,就会导致连续闪退。 针对 1,可以通过工具修复数据库,或者删除 DB。针对2,可以删除文件来进行修复。...在 didFinishLaunching 时,会卡住界面发请求检查是否有可用的 JSPatch 脚本,如果有则加载执行,解决代码 bug 导致的闪退。

5.8K10

lokibot样本分析

\xxx \AppData\Local\Temp\vxogkynyop3.主进程退出4.frhdgr.exe自我删除 释放C:\Users\xxx\AppData\Roaming\F503CB\B28854....exe 隐藏文件网络监控frhdgr.exe有网络连接和数据包发送等行为 数据包未加密图片恶意代码分析第一层代码-释放PE文件在temp文件夹下创建vxogkynyop文件图片向文件中写入加密的代码图片此加密代码解密后是一段...frhdgr.exe文件文件中写入PE文件创建进程 进程参数就是vxogkynyop文件图片提取样本图片第二层代码-frhdgr.exe进程解密代码 ((xx-0x18) ^ 0x80) - 0x28...进程拷贝PE文件(按内存对齐展开) 注:此pe文件就是wdxw2bfd6vcc5n文件解密后的图片运行程序本进程退出图片第四层代码-新创建的Frhdgr.exe进程开始会检查有没有 -u参数如果有就睡10...就是PE文件的.X段 .X段存储了解密代码 和未解密的数据解密前的URL数据 在.X偏移0x74的位置就是一个异或操作 数据异或0xFF图片解密后返回端口号 和要访问的路径图片返回User Agent字段

22520

警惕!你下载的软件可能携带STOP勒索病毒变种

cexplorer.exe运行会将两个PE文件释放,如下图所示: ? ? 随后运行两个PE文件,如下图所示: ?...勒索病毒母体是一个Loader加载器,如下所示: ? 2. 通过调试,在内存中解密出PE,如下所示: ? 3. 然后加载到00400000内存的位置,然后执行相应的PE代码,如下图所示: ? 4....从内存中DUMP出完整的PE文件,是勒索病毒的主体模块,获取主机的地理位置,如下所示: ?...通过访问相应的网站,如果返回包含RU、BY、UA、AZ、AM、TJ、KZ、KG、UZ等国家代码的,则进行自删除操作,如下所示: ? 5....相应的代码,如下所示: ? 执行之后,再次判断程序运行的参数,通过相应的判断,调用参数,启动程序,进行勒索加密的过程,如下所示: ? 8.

91420

装机工具老毛桃携带木马病毒 卸载安全软件进行恶意推广

【快讯】 近期,火绒收到用户反馈,称在使用老毛桃U盘启动装机工具制作的PE系统后,原有系统中多款安全软件被无故删除。...病毒执行流程图 当用户使用老毛桃制作PE盘并进入PE系统后,PECMD.EXE加载PECMD.INI配置文件执行,从IntelRaid.sys中解压执行TaoSet.exe模块。...解压执行TaoSet模块 TaoSet模块会从资源节中解出Deploy模块调用DeployGhostDelta导出函数。DeployGhostDelta函数会根据配置文件删除用户系统中的软件。...配置文件 配置解析与删除文件操作相关代码,如下图所示: ? 读取配置 ?...删除文件和注册表 TaoSet会将自身(重命名为随机名)以及压缩后的推广软件拷贝到用户系统的Windows目录下,添加开机启动。当用户退出PE系统进入原来的系统时,TaoSet模块便会加载执行。

1.4K10

Wannacry深度解析:第一阶段tasksche

初始化Payload的结果会记录在全局变量g_StatusCode中,如果初始化失败,会析构退出,同时程序将无法成功。...文件读取到内存中,并用初始化后的AESKey进行解密,这个函数返回一个在内存中的PE文件,接下来就轮到PeBuilder上场了。...那我简单讲一下好了,这个函数会返回一个PeBuilder对象,它会解决加载这个pe对象的所有系统级别的工作。 ? 上面是一些重要的片段,如果你没有仔细读上面大片的代码,那么看看这个也是可以的。...上面这个函数接受CPeBuilder以及一个Func Name作为参数,程序在PE的Export中搜索名为FuncName的导出函数,返回这个导出函数。 ? 这部分代码就是在搜索导出函数表。 ?...至此,tasksche悄无声息的将一个PE dll加载运行,整个过程无法通过Proc monitor等软件发现。

1.3K60

模拟隐蔽操作 - 动态调用(避免 PInvoke 和 API 挂钩)

我们还提供了以多种方式加载可执行文件的函数,从而更容易秘密地执行其代码。 使用 DInvoke 执行代码 我们正在 SharpSploit 中构建第二组函数原型。...MapModuleToMemory:手动将模块映射到动态分配的内存中,正确对齐 PE 部分,更正内存权限,修复导入地址表。可以采用字节数组或磁盘上文件的名称。...想要绕过所有用户空间挂钩而不让 PE 可疑地漂浮在内存中吗?原生使用系统调用! 这些只是您如何绕过钩子的一些示例。关键是:通过为您提供强大而灵活的原语来确定代码的执行方式,所有操作选择都由您决定。...顺便说一句,因为我们使用委托来执行原始机器代码,这也演示了如何在当前进程中执行 shellcode,同时传递参数获取返回值。 注意:系统调用执行目前在 WOW64 进程中不起作用。...考虑一下您为如何在目标上加载和执行代码所做的每个决定的操作权衡。您的设计决策基于这些权衡如何平衡以使您的工具不被捕获

1.9K00

十七.Windows PE病毒概念、分类及感染方式详解

PE文件格式与恶意软件的关系 何为文件感染或控制权获取? 使目标PE文件具备或启动病毒功能(或目标程序) 不破坏目标PE文件原有功能和外在形态(如图标)等 病毒代码如何与目标PE文件融为一体呢?...病毒,则需要掌握以下的关键: 病毒的重定位 获取API函数地址 文件搜索 内存映射文件 病毒如何感染其他文件 病毒如何返回到Host程序 三.PE病毒的分类 PE病毒分类方式很多,其中以感染目标进行分类...当调用外部DLL中的API函数时,通过引入函数节将这种关系定义出来;系统加载时就能加载对应的DLL文件找到相应的API函数,再将地址写入到PE文件的引入函数表中;程序运行时就直接从引入函数表中取地址进行调用...两个关键问题: 如何再次获得控制权——自启动 由于该程序不感染PE文件,它没有HOST文件,所以如何再次获得控制权是一个关键性问题,也是目标很多病毒程序设计时不得不考虑的问题。...在其他可执行文件嵌入少量触发代码 修改引入函数节启动DLL病毒文件(添加相应结构,初始化代码触发) 在特定PE文件代码段插入触发代码等(只需定位可执行程序运行) DLL劫持:替换已有DLL文件 很多应用程序或操作系统执行时

4.4K11

实战 | 进程启动技术的思路和研究

如果要做,比如要访问磁盘,写文件,那就要通过执行系统调用(函数),执行系统调用的时候,CPU的运行级别会发生从ring3到ring0的切换,跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问...因为根据PE结构的基础知识可知,PE文件有两个对齐字段,一个是映像对齐,另一个是文件对齐大。...其中,映像对齐大小是PE文件加载到内存中所用的对齐大小,而文件对齐大小是PE文件存储在本地磁盘所用的对齐大小。一般文件对齐大小会比映像对齐大小要小,这样文件会变小,以此节省磁盘空间。...当改变加载基址的时候,硬编码也要随之改变,这样DLL程序才会计算正确。 如何知道硬编码的位置?答案就藏在PE结构的重定位表中,重定位表记录的就是程序中所有需要修改的硬编码的相对偏移位置。...那么DLL如何知道MessageBox函数的地址呢?它只有获取正确的调用函数地址后,方可正确调用函数。PE结构使用导入表来记录PE程序中所有引用的函数及其函数地址。

1K50
领券