病毒木马防御与分析

病毒木马防御与分析

病毒包和工具包下载:Github

  • 一.前言
  • 二.建立对手动查杀病毒技术的正确认识
    • 1.病毒分析方法
    • 2.病毒查杀步骤
    • 3.必备知识
      * 1) 熟悉windows系统进程
      * 2) 熟悉常见端口与进程对应关系
      * 3) 熟悉windows自带系统服务
      * 4) 熟悉注册表启动项位置
  • 三.详解Windows随机启动项目——注册表
  • 四.详解Windows随机启动项目——系统服务
  • 五.手动查杀病毒实战——熊猫烧香病毒
    • 0. 病毒分析
      * 1).中毒症状
      * 2).病毒特征
      * 3).发作症状
    • 1. 查内存,排查可疑进程,将病毒从内存中干掉
    • 2. 查启动项,删除病毒启动项
    • 3. 通过启动项判断病毒所在位置,并从根本上删除病毒
    • 4. 修复系统

一.前言

《病毒木马防御与分析》系列以真实的病毒木马(或恶意程序)为研究对象,通过现有的技术手段对其分析,总结出它的恶意行为,进而制定出相应的应对方法,对其彻底查杀。当然,因为我个人水平的有限,查杀分析的病毒可能不是过于高端复杂,但对你认识病毒工作原理还是会很有帮助的,甚至最后你也可以利用c语言实现一个简单的病毒程序。

二.建立对手动查杀病毒技术的正确认识

1.病毒分析方法

一般来说,除非是感染型病毒,否则是不需要对病毒进行逆向分析的,只需要对病毒进行行为分析就可以编写专杀工具。而如果是感染型病毒,由于需要修复被病毒感染的文件,那么就不能仅仅简单地分析病毒的行为,而必须对病毒进行逆向分析,从而修复被病毒所感染的文件。因此,实际中的分析方法有以下两种:

  1. 行为分析。恶意程序为了达到目的,都有自己的一些特殊的行为,这些特殊的行为是正常的应用程序所没有的。比如把自己复制到系统目录下,或把自己添加进启动项,或把自己的某个DLL文件注入到其它进程中去。

  2. 逆向分析。当恶意程序感染了可执行文件之后,所感染的内容是无法通过行为监控工具发现的。而病毒对可执行文件的感染,有可能是通过PE文件结构中的节与节之间的缝隙来存放病毒代码,也可能是添加一个新节来存放病毒代码。无论是哪种方式,都需要通过逆向的手段进行分析。

2.病毒查杀步骤

  1. 查内存,排查可疑进程,将病毒从内存中干掉

  2. 查启动项,删除病毒启动项

  3. 通过启动项判断病毒所在位置,并从根本上删除病毒

  4. 修复系统

3.必备知识

1) 熟悉windows系统进程
2) 熟悉常见端口与进程对应关系
3) 熟悉windows自带系统服务
  • 系统随机启劢服务查看:msconfig/services.msc
  • SvcHost.exe宿主进程对应的多项服务
  • windows隐藏服务管理工具:SDCT
4) 熟悉注册表启动项位置

随机启动项目在注册表中的位置

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

三.详解Windows随机启动项目——注册表

注册表是Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在很多年前的Windows系统中注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。

注册表是一个重要的数据库,里面存储的是本系统中的所有配置,如开机启动项,桌面背景,右键菜单,图标,系统更新,系统中一些按键的响应,甚至还有系统管理员的信息。所以修改注册表是一个病毒可以控制影响我们系统一个很直接的方式。比如在c语言中就提供了可以直接操作Windows注册表的接口函数。

// 打开注册表
LONG WINAPI RegCreateKey(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpSubKey,
_Out_ PHKEY phkResult
);
// 读写注册表
LONG RegSetValueEx(HKEY hKey,LPCTSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData
);

此处在病毒编程实战中再做详细阐述

开机自启动的实现方法就是通过注册表实现,在注册表中有固定的开机自启程序设置位置。

在命令提示符中输入regedit打开注册表看看能不能在下面五个开机自启项中找到你本机的开机自启软件吧!

一个软件出现在五个启动项一个中即可

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run;
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Runonce;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

img1

四.详解Windows随机启动项目——系统服务

一个病毒往往会以系统服务的形式存在,也就是说他的图标不会出现在你的桌面任务栏,不会像在我们初学编程时程序运行时的一个小黑框展现给用户。

系统服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层程序。通过网络提供服务时,服务可以在Active Directory(活动目录)中发布,从而促进了以服务为中心的管理和使用。

运行中输入msconfig打开系统配置

2

3

在这里我们可以看到有服务启动启动中即是之前我们所说在注册表中的开机自启动项了,不过很多病毒都有在系统配置启动中隐藏自己的功能,所以我们还是要会在注册表中查找。

我们选择隐藏所以Microsoft服务便可看服务列表大量服务被隐藏,只剩下非Microsoft服务,在这些中就可以查找异常服务进行查杀了。

除了这种查看服务的方式,我们还有一种更加详细的方法,通过services.msc查看。

运行中输入services.msc打开服务。

4

在这里我们可以看到大量的系统服务,比如有WLAN服务(连不上WIFI可以考虑重新启动这个服务),Windows更新服务(可以考虑禁用)。通过查看描述,我们就可以发现一些异常的服务了,比如灰鸽子远控,在其服务描述中很明显的写出了是灰鸽子。

5

在Windows下病毒也可以对自身服务进行隐藏,这类病毒就需要一些第三方工具了,利用SDCT工具可以查看到本机所有服务的信息,包括隐藏与未隐藏,启动与未启动。

5

SDCT工具还有之后的工具都可以在我的Github仓库中找到

此外,病毒进程可能利用svcHost.exe宿主进程,此时在Windows任务管理器中病毒进程显示的就是svcHost.exe名称了,这种情况下我们需要利用一条命令来查看SvcHost.exe下有哪些进程。

命令: tasklist /svc

6

可以看到svchost.exe会存在多个进程,而每个进程下还有多个依赖于此进程的服务。

五.手动查杀病毒实战——熊猫烧香病毒

如果像自己实践记得在虚拟机下!
病毒包可以在Github仓库找到

0. 病毒分析

病毒名称: 武汉男生,又名熊猫烧香病毒。"Worm.WhBoy.h"

1).中毒症状
  • 拷贝自身到所有驱动器根目录,命名为Setup.exe,并生成一个autorun.inf使得用户打开该盘运行病毒,并将这两个文件属性设置为隐藏、只读、系统。

  • 无法手工修改“文件夹选项”将隐藏文件显示出来。

  • 在每个感染后的文件夹中可见Desktop_ini的隐藏文件,内容为感染日期 如:2007-4-1

  • 电脑上的所有脚本文件中加入一段代码:

<iframe src=xxx width=”0” height=”0”></iframe>
  • 中毒后的机器上常见的反病毒软件及防火墙无法正常开启及运行。

  • 不能正常使用任务管理器及注册表。

  • 无故的向外发包,连接局域网中其他机器。

  • 感染其他应用程序的.exe文件,并改变图标颜色,但不会感染微软操作系统自身的文件。

  • 删除GHOST文件(.gho后缀),网吧、学校和单位机房深受其害。

  • 禁用常见杀毒工具。

2).病毒特征
  • 关闭众多杀毒软件和安全工具。

  • 循环遍历磁盘目录,感染文件,对关键系统文件跳过。

  • 感染所有EXE、SCR、PIF、COM文件,并更改图标为烧香熊猫。

  • 感染所有.htm/.html/.asp/.php/.jsp/.aspx文件,添加木马恶意代码。

  • 自动删除*.gho文件。

3).发作症状
  1. 拷贝文件

病毒运行后,会把自己拷贝到C:\WINDOWS\System32\Drivers\spoclsv.exe

  1. 添加注册表自启动

病毒会添加自启动项HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\svcshare -> C:\WINDOWS\System32\Drivers\spoclsv.exe

  1. 病毒行为
  • 每隔1秒寻找桌面窗口,并关闭窗口标题中含有以下字符的程序

QQKav,QQAV,防火墙,进程,VirusScan,网镖,杀毒,毒霸,瑞星,江民,黄山IE,超级兔子,优化大师,木马克星,木马清道夫,QQ病毒,注册表编辑器,系统配置实用程序,卡巴斯基反病毒,Symantec AntiVirus,Duba,esteem proces,绿鹰PC,密码防盗,噬菌体,木马辅助查找器,System Safety Monitor,Wrapped gift Killer,Winsock Expert,游戏木马检测大师,msctls_statusbar32,pjf(ustc),IceSword
并使用的键盘映射的方法关闭安全软件IceSword

并中止系统中以下的进程:

Mcshield.exe VsTskMgr.exe naPrdMgr.exe UpdaterUI.exe TBMon.exe scan32.exe
Ravmond.exe CCenter.exe RavTask.exe Rav.exe Ravmon.exe RavmonD.exe
RavStub.exe KVXP.kxp kvMonXP.kxp KVCenter.kxp KVSrvXP.exe KRegEx.exe UIHost.exe TrojDie.kxp
FrogAgent.exe Logo1_.exe Logo_1.exe Rundl132.exe
  • 每隔18秒

点击病毒作者指定的网页,并用命令行检查系统中是否存在共享,存在的话就运行net share命令关闭admin$共享。

  • 每隔10秒

下载病毒作者指定的文件,并用命令行检查系统中是否存在共享共存在的话就运行net share命令关闭admin$共享。

  • 每隔6秒

删除安全软件在注册表中的键值。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
RavTask KvMonXP kav KAVPersonal50 McAfeeUpdaterUI Network Associates Error Reporting Service ShStartEXE YLive.exe yassistse

并修改以下值不显示隐藏文件

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue修改为 0x00

删除以下服务

navapsvc wscsvc KPfwSvc SNDSrvc
ccProxy ccEvtMgr ccSetMgr SPBBCSvc
Symantec Core LC NPFMntor MskService FireSvc
  • 感染文件

病毒会感染扩展名为exe,pif,com,src的文件,把自己附加到文件的头部并在扩展名为htm,html, asp,php,jsp,aspx的文件中添加一网址,用户一旦打开了该文件,IE就会不断的在后台点击写入的网址,达到增加点击量的目的,但病毒不会感染以下文件夹名中的文件,防止系统崩溃。

WINDOW
Winnt
System Volume Information
Recycled
Windows NT
WindowsUpdate
Windows Media Player
Outlook Express
Internet Explorer
NetMeeting
Common Files
ComPlus Applications
Messenger
InstallShield Installation Information
MSN
Microsoft Frontpage
Movie Maker
MSN Gamin Zone

1. 查内存,排查可疑进程,将病毒从内存中干掉

在虚拟机中运行熊猫烧香病毒,记得要在xp虚拟机啊,物理机现在Windows补丁已经免疫熊猫烧香了。

9

在虚拟机中我们打开任务管理器,发现刚一打开就会被关闭,这是熊猫烧香的特征之一。

10

右键一个分区,你会发现第一项不是打开,而是Auto,这是因为熊猫烧香病毒会在分区产生一个autorun.inf文件使得用户打开该盘运行病毒,autorun.inf文件是系统,隐藏文件。

甚至一些病毒会把Auto起名为打开,右键分区你会发现两个打卡选项。

我们第一步就要先关闭病毒进程,排查内存时我们需要使用tasklist命令查看可疑进程,spoclsv.exe就是熊猫烧香的进程名了(这个可能需要大量的积累,最好是对Windows系统进程有大量了解)。

找到后通过taskkill /f /im PID命令将其终止

有些病毒无论任务管理器还是taskkill命令都无法将其终止,这类病毒大多是有三个进程相互保护,有一个被终止后其他进程会立即再次启动这个进程。

8

2. 查启动项,删除病毒启动项

将病毒从内存中清除之后,接下来我们要删除其服务和启动项。

12

在禁用删除掉启动项之前,我们需要先记住这个病毒的路径,以便第三步去删除它的主体。

3. 通过启动项判断病毒所在位置,并从根本上删除病毒

下图就是熊猫烧香病毒本体的位置了,其实但看启动项中exe路径就能发现spoclsv服务的可疑了,它位于system32\drivers下,也不是一些常见的系统服务。

13

到这个路径下删除这个exe程序。

4. 修复系统

删除完exe之后我们重启系统,会发现现在系统中没有spoclsv.exe这个进程了。

这时病毒还有可能会复发,因为系统还未完成修复,之前说的分区双击默认选项可能会导致病毒程序再次运行。

我们需要将Auto选项删除,并且清理系统。

14

autorun.inf就是关联我们右键菜单的文件了。

我们通过attrib -s -h -a -r autorun.inf来分别将autorun.infsetup.exe隐藏属性删除并且删除这两个文件。

15

删除之后我们双击分区打开会发现无法生效。

16

注销系统后,右键菜单恢复。

17

posted @ 2019-01-15 18:07 AntzUhl 阅读( ...) 评论( ...) 编辑 收藏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/351777.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

程序员大专毕业,月薪2w是什么体验?

在这个数据驱动的时代&#xff0c;大数据行业的发展前景也非常广阔&#xff0c;我相信我的未来会越来越光明 01 开始学习 是迈向前方的第一步 我是三月&#xff0c;一个来自小城市的大专毕业生。现在在杭州一家公司做大数据开发工程师&#xff0c;目前薪资是20k*13。 我本身…

MySQL 自增列使用上的一些 “坑”

文章目录 前言1. 自增列空洞1.1 手动指定2.2 分配未使用 2. 自增列监控2.1 sys 库监控2.2 通用查询 3. 一些 BUG3.1 重启失效3.2 冲突问题 前言 MySQL 的规范中&#xff0c;一般都会建议表要有主键&#xff0c;常使用自增列作为主键字段&#xff0c;这和 MySQL 属于聚簇索引表…

SQL——事务

&#x1f388; 什么是事务 &#x1f4a7; 概念 事务是用于保证数据的一致性,它由一组相关的DML&#xff08;增、删、改&#xff09;语句&#xff0c;该组的DML语句要么全部成功&#xff0c;要么全部失败。使用事务可以确保数据库的一致性和完整性&#xff0c;避免数据出现异常…

蓝屏代码0x00000074

前台电脑系统是win7&#xff0c;用着用着突然蓝屏&#xff08;代码0x00000074&#xff09;&#xff0c;网上都说是内存条或者选择最近一次正确的配置&#xff0c;但是我发现进bios都识别不到固态硬盘&#xff0c;以为硬盘坏了就换了一个就可以了&#xff0c;但是用了一星期不到…

0x0000007B是什么意思?解决方案

0x0000007b电脑蓝屏通常情况是硬盘的存储控制器驱动加载错误导致故障。对于这种情况就要有相应解决措施&#xff0c;下面来看看具体解决方法。 导致驱动加载错误的情况可能有以下三种情况&#xff1a; 1.无法自动识别硬盘控制器&#xff1a; 使用非正版的个别操作系统光盘&…

问题解决:应用程序错误0xc00007b

1. 问题出现 在安装软件lightroom的时候&#xff0c;出现了应用程序错误0xc00007b&#xff0c;程序无法打开&#xff0c;尝试了好些办法&#xff0c;最终是安装一个插件解决了问题。 2. 问题解决 安装aio-runtimes软件&#xff0c;里面包含一些基本软件所需要的库&#xff0c…

应用程序无法正常启动(0xc000007b)的解决办法

应用程序无法正常启动&#xff08;0xc000007b&#xff09;的解决办法。 有时候我们启动程序会发现以下错误&#xff0c;如图所示&#xff1a; 解决方法1&#xff1a; &#xff08;1&#xff09;根据下图指示&#xff0c;以管理员身份打开CMD &#xff08;2&#xff09;输入…

如何解决错误0×80071AC3

前几天我在机房敲百例的时候&#xff0c;敲完了想把文件夹移动到我的U盘里去&#xff0c;结果出现了这种情况 上面说运行chkdsk并重试&#xff0c;我运行了一下&#xff0c;没什么反应&#xff0c;我就想既然不能移动文件夹了&#xff0c;那就试试能不能移动文档好了&#xff0…

应用程序无法正常启动0xc000007b win7

1. 一开始报错 下载dll放到同级目录后报下一个错误。 &#xff08;这里注意&#xff1a;搜索的时候就发现大多数dll都是 vc_runtime 140 没有d&#xff0c;d表示debug。同事指点&#xff1a;使用vscode生成解决方案时要用release模式&#xff0c;不是debug模式&#xff0c;这也…

蓝屏stop:0x000000007B (oxf78aa524,Oxcooooo34

神舟飞天超级本安装键盘后提示错误,开机后,反复按f2,进入bios,高级SATA选项,发现我的默认是AHCI的模式我设置为IDE,按f4保存退出后正常了.

电脑运行应用程序出现0xc000007b的解决方法

在我们使用Windows操作系统的计算机时&#xff0c;双击运行程序&#xff0c;它无法运行而且还会出现一个这样的对话框(如下图)&#xff0c;总之程序就是运行不了&#xff0c;让人很头疼&#xff0c;这次教大家如何解决这个问题。 出现这样的问题&#xff0c;是电脑里面的几个文…

无法正常启动0xc000007b的解决方法

最近在我的电脑上用VS10-x64 release编译好了一个软件&#xff0c;用了VC,openCV以及其他的库&#xff0c;在我们已经装了VS10的电脑上运行都没有问题&#xff0c;但是在一台全新的电脑上安装上我发布的软件就出问题了。客户要求我们不能装VS10软件&#xff0c;于是我们装了VC1…

Spring-data-jpa最全的查询语法总结,直入超神

&#x1f935;‍♂️ 个人主页&#xff1a;香菜的个人主页 ✍&#x1f3fb;作者简介&#xff1a;csdn 认证博客专家&#xff0c;游戏开发领域优质创作者,华为云享专家&#xff0c;2021年度华为云年度十佳博主 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff…

0x0000007b电脑蓝屏的解决方法

AHCI是高级主机控制接口&#xff0c;可以发挥SATA硬盘潜在的加速功能&#xff0c;尤其是固态硬盘&#xff0c;更加需要使用AHCI硬盘模式&#xff0c;开启ahci一般在安装系统之前进入BIOS进行设置&#xff0c;但是不同主板BIOS设置界面不尽相同&#xff0c;很多人都不懂bios怎么…

蓝屏0x0000007b要怎么办?有什么简单的处理方法?

遇到蓝屏0x0000007b要怎么办?相信很多人都遇到过吧?这种蓝屏其实是很让人烦恼的&#xff0c;会导致系统直接无法使用&#xff0c;今天小编就来给大家详细的说说。 一.电脑蓝屏0x0000007b怎么办 1.首先点击开机键将电脑关闭&#xff0c;然后重启电脑开机按下F10进入bios。 2.选…

出现蓝屏代码0x0000007b的原因及解决办法

出现蓝屏代码0x0000007b的原因通常是硬盘的存储控制器驱动加载错误&#xff0c;我们可以通过对BIOS界面进行修复来解决这个问题。下面小编将详细介绍解决蓝屏代码0x0000007b的方法&#xff0c;一起来看看吧 导致驱动加载错误的情况有以下三种&#xff1a; 一、无法自动识别硬盘…

有效解决应用程序无法正常启动(0xc000007b)的错误

尝试了各种办法&#xff0c;最后就这个方法非常实用&#xff01;一下子就解决了问题&#xff01;大家快来用&#xff01; 博主遇到的问题是SPSS、Origin和某些绘图软件集体失灵&#xff0c;都显示无法正常启动应用程序 知道肯定是缺少了一些东西&#xff0c;于是开始自己手动…

0xc000007b应用程序无法正常启动解决方案(亲测有效)

这种问题的出现&#xff0c;大多数都是不小心删掉了c的静态库的东西&#xff0c;解决方案有很多&#xff0c;但是都有点复杂&#xff0c;我这里提供两种方法&#xff0c;可以解决大部分用户的难题。 在这里奉劝小伙伴们一句&#xff0c;不要手欠去动系统软件哈&#xff0c;就是…

软件提示无法正常启动0xc000007b的解决方法

#软件提示无法正常启动0xc000007b的解决方法 0xc000007b问题是由于我们缺少电脑.dll运行库问题所导致的&#xff0c;所以可以 下载DirectX修复工具进行修复&#xff1a; 可修复DirectX运行库VC个版本运行库msvcp.dll等各类dll缺失问题 当初博主遇到这个问题的时候&#xff…

应用程序无法正常启动(0xc000007b)解决

注&#xff1a;本文对0xc000007b的问题本质进行了说明&#xff0c;可以说对网上杂七杂八的声音做了一个统一。 问题情景&#xff1a; vs2013 写的一个64位的exe程序&#xff0c;release后带着来自系统目录C:\Windows\SysWOW64\msvcr120.dll 到一个没有runtime的win7环境去运行&…