查找与清除线程插入式木马

目前网络上最猖獗的病毒估计非木马程序莫数了,特别是在过去的2004年木马程序的攻击性也有了很大的加强,在进程隐藏方面,做了较大的改动,不再采用独立的EXE可执行文件形式,而是改为内核嵌入方式、远程线程插入技术、挂接PSAPI等,这些木马也是目前最难对付的。本期就教你查找和清除线程插入式木马。

操作步骤:

1.通过自动运行机制查木马 
一说到查找木马,许多人马上就会想到通过木马的启动项来寻找“蛛丝马迹”,具体的地方一般有以下几处:

1)注册表启动项: 
在“开始/运行”中输入“regedit.exe”打开注册表编辑器,依次展开[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\],查看下面所有以"Run"开头的项,其下是否有新增的和可疑的键值,也可以通过键值所指向的文件路径来判断,是新安装的软件还是木马程序。 
另外[HKEY LOCAL MACHINE\Software\classes\exefile\shell\open\command\]键值也可能用来加载木马,比如把键值修改为“X:\windows\system\ABC.exe "%1"%”。

2)系统服务 
有些木马是通过添加服务项来实现自启动的,大家可以打开注册表编辑器,在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices]下查找可疑键值,并在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\]下查看的可疑主键。 
然后禁用或删除木马添加的服务项:在“运行”中输入“Services.msc”打开服务设置窗口,里面显示了系统中所有的服务项及其状态、启动类型和登录性质等信息。找到木马所启动的服务,双击打开它,把启动类型改为“已禁用”,确定后退出。也可以通过注册表进行修改,依次展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务显示名称”键,在右边窗格中找到二进制值“Start”,修改它的数值数,“2”表示自动,“3”表示手动,而“4”表示已禁用。当然最好直接删除整个主键,平时可以通过注册表导出功能,备份这些键值以便随时对照。

   3)开始菜单启动组 
   现在的木马大多不再通过启动菜单进行随机启动,但是也不可掉以轻心。如果发现在“开始/程序/启动”中有新增的项,可以右击它选择“查找目标”到文件的目录下查看一下,如果文件路径为系统目录就要多加小心了。也可以在注册表中直接查看,它的位置为[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders],键名为Startup。

4)系统INI文件Win.ini和System.ini 
系统INI文件Win.ini和System.ini里也是木马喜欢隐蔽的场所。选择“开始/运行”,输入“msconfig”调出系统配置实用程序,检查Win.ini的[Windows]小节下的load和run字段后面有没有什么可疑程序,一般情况下“=”后面是空白的;还有在System.ini的[boot]小节中的Shell=Explorer.exe后面也要进行检查。

5)批处理文件 
如果你使用的是WIN 9X系统,C盘根目录下“AUTOEXEC.BAT”和WINDOWS目录下的“WinStart.bat”两个批处理文件也要看一下,里面的命令一般由安装的软件自动生成,在系统默认会将它们自动加载。在批处理文件语句前加上“echo off”,启动时就只显示命令的执行结果,而不显示命令的本身;如果再在前面加一个“@”字符就不会出现任何提示,以前的很多木马都通过此方法运行。 
2.通过文件对比查木马

最近新出现的一种木马。它的主程序成功加载后,会将自身做为线程插入到系统进程SPOOLSV.EXE中,然后删除系统目录中的病毒文件和病毒在注册表中的启动项,以使反病毒软件和用户难以查觉,然后它会监视用户是否在进行关机和重启等操作,如果有,它就在系统关闭之前重新创建病毒文件和注册表启动项。下面的几招可以让它现出原形(下面均以Win XP系统为例):

1)对照备份的常用进程 
大家平时可以先备份一份进程列表,以便随时进行对比查找可疑进程。方法如下:开机后在进行其他操作之前即开始备份,这样可以防止其他程序加载进程。在运行中输入“cmd”,然后输入“tasklist /svc >X:\processlist.txt”(提示:不包括引号,参数前要留空格,后面为文件保存路径)回车。这个命令可以显示应用程序和本地或远程系统上运行的相关任务/进程的列表。输入“tasklist /?”可以显示该命令的其它参数。

2)对照备份的系统DLL文件列表 
对于没有独立进程的DLL木马怎么办吗?既然木马打的是DLL文件的主意,我们可以从这些文件下手,一般系统DLL文件都保存在system32文件夹下,我们可以对该目录下的DLL文件名等信息作一个列表,打开命令行窗口,利用CD命令进入system32目录,然后输入“dir *.dll>X:\listdll.txt”敲回车,这样所有的DLL文件名都被记录到listdll.txt文件中。日后如果怀疑有木马侵入,可以再利用上面的方法备份一份文件列表“listdll2.txt”,然后利用“UltraEdit”等文本编辑工具进行对比;或者在命令行窗口进入文件保存目录,输入“fc listdll.txt listdll2.txt”,这样就可以轻松发现那些发生更改和新增的DLL文件,进而判断是否为木马文件。

3)对照已加载模块 
频繁安装软件会使system32目录中的文件发生较大变化,这时可以利用对照已加载模块的方法来缩小查找范围。在“开始/运行”中输入“msinfo32.exe”打开 “系统信息”,展开“软件环境/加载的模块”,然后选择“文件/导出”把它备份成文本文件,需要时再备份一个进行对比即可。

4)查看可疑端口 
所有的木马只要进行连接,接收/发送数据则必然会打开端口,DLL木马也不例外,这里我们使用netstat命令查看开启的端口。我们在命令行窗口中输入“netstat -an”显示出显示所有的连接和侦听端口。Proto是指连接使用的协议名称,Local Address是本地计算机的IP地址和连接正在使用的端口号,Foreign Address是连接该端口的远程计算机的IP地址和端口号,State则是表明TCP连接的状态。Windows XP所带的netstat命令比以前的版本多了一个-O参数,使用这个参数就可以把端口与进程对应起来。输入“netstat /?”可以显示该命令的其它参数。

接着我们可以通过分析所打开的端口,将范围缩小到具体的进程上,然后使用进程分析软件,例如《WINDOWS优化大师》目录下的WinProcess.exe程序,来查找嵌入其中的木马程序。有些木马会通过端口劫持或者端口重用的方法来进行通信的,一般它们会选择139、80等常用端口,所以大家分析时要多加注意。也可以利用网络嗅探软件(如:Commview)来了解打开的端口到底在传输些什么数据.

(0)

相关推荐

  • 查找与清除线程插入式木马

    目前网络上最猖獗的病毒估计非木马程序莫数了,特别是在过去的2004年木马程序的攻击性也有了很大的加强,在进程隐藏方面,做了较大的改动,不再采用独立的EXE可执行文件形式,而是改为内核嵌入方式.远程线程插入技术.挂接PSAPI等,这些木马也是目前最难对付的.本期就教你查找和清除线程插入式木马. 操作步骤: 1.通过自动运行机制查木马  一说到查找木马,许多人马上就会想到通过木马的启动项来寻找"蛛丝马迹",具体的地方一般有以下几处: 1)注册表启动项:  在"开始/运行"

  • SqlServer中批量替换被插入的木马记录

    最近找了找 批量替换被插入的木马记录,找到了一条好的语句,用处很大,仅仅使用十几行游标语句,把整个数据库的所有表的恶 意木马清除掉了,而且在Google搜索到此记录几率很小,在此专门转载一下!为了以后自己能找得到,也希望后人能得到帮助. 原文如下: 复制代码 代码如下: declare @t varchar(555),@c varchar(555) ,@inScript varchar(8000) set @inScript='恶意代码' declare table_cursor cursor

  • 手动清除磁碟机病毒木马维护系统安全的具体步骤

    磁碟机木马最近成为安全领域的热门话题,据悉,进入3月以来,"磁碟机"木马作者已经更新了数次,感染率和破坏力正逐步提高.该病毒运行后关闭并阻止360安全卫士和卡巴.瑞星.金山.江民等安全类软件的运行,除此之外还会删除系统中含有"360"字样的文件.感染后,进程中会多出smss.exe和lsass.exe进程,使用任务管理器结束后会造成计算机重启,并自动下载大量的木马到本地机器. 据分析,该木马使用的关闭安全软件的方法和以往不同,其通过发生一堆垃圾消息,导致安全程序的崩

  • 让你变成ASP木马高手

    1.名称:如何制作图片ASP木马 (可显示图片)  建一个asp文件,内容为<!--#i nclude file="ating.jpg"-->  找一个正常图片ating.jpg,插入一句话木马(比如冰狐的),用ultraedit进行hex编译,插入图片里,为  了运行成功,还要搜索<%和%>,将其变为00,(不要替换自己asp的),再把jpg文件开头加入  <SCRIPT RUNAT=SERVER LANGUAGE=JAVASCRIPT>eval(

  • java多线程中线程封闭详解

    线程封闭的概念 访问共享变量时,通常要使用同步,所以避免使用同步的方法就是减少共享数据的使用,这种技术就是线程封闭. 实现线程封闭的方法 1:ad-hoc线程封闭 这是完全靠实现者控制的线程封闭,他的线程封闭完全靠实现者实现.也是最糟糕的一种线程封闭.所以我们直接把他忽略掉吧. 2:栈封闭 栈封闭是我们编程当中遇到的最多的线程封闭.什么是栈封闭呢?简单的说就是局部变量.多个线程访问一个方法,此方法中的局部变量都会被拷贝一分儿到线程栈中.所以局部变量是不被多个线程所共享的,也就不会出现并发问题.所

  • Java并发编程之线程之间的共享和协作

    一.线程间的共享 1.1 ynchronized内置锁 用处 Java支持多个线程同时访问一个对象或者对象的成员变量 关键字synchronized可以修饰方法或者以同步块的形式来进行使用 它主要确保多个线程在同一个时刻,只能有一个线程处于方法或者同步块中 它保证了线程对变量访问的可见性和排他性(原子性.可见性.有序性),又称为内置锁机制. 对象锁和类锁 对象锁是用于对象实例方法,或者一个对象实例上的 类锁是用于类的静态方法或者一个类的class对象上的 类的对象实例可以有很多个,但是每个类只有

  • c++ 如何实现线程注入

    简单编写DLL文件: #include <Windows.h> extern "C" __declspec(dllexport) void MsgBox(LPCWSTR szMsg, LPCWSTR Title) { MessageBox(NULL, szMsg, Title, MB_OK); } BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { swit

  • Golang排序和查找使用方法介绍

    目录 排序的介绍 交换式排序法 二维数组的介绍 二维数组的应用场景 二维数组快速入门 二维数组的使用 排序的介绍 排序是将一组数据,依指定的顺序进行排列的过程. 排序的分类: 1.内部排序: 指将需要处理的所有数据都加载到内部存储器中进行排序. 包括(交换式排序法,选择式排序法和插入式排序法): 2.外部排序法 数据量过大,无法全部加载到内存中,需要借助外部存储进行排序.包括(合并排序法和直接合并排序法). 交换式排序法 交换式排序属于内部排序法,是运用数据值比较后,依判断规则对数据位置进行交换

  • 浅谈java线程状态与线程安全解析

    目录 1.线程的几种状态 1.1 线程的状态 1.2 线程状态的转移 2.有关线程安全问题 2.1 一个简单的例子 2.2 造成线程不安全的原因 1.线程的几种状态 1.1 线程的状态 以下就是我们线程所有的状态和意义: NEW 已经创建Thread但未创建线程 RUNNABLE 可工作的. 又可以分成正在工作中和即将开始工作 BLOCKED 等待锁(阻塞状态) WAITING 调用wati方法(阻塞状态) TIMED_WAITING 调用sleep方法(阻塞状态) TERMINATED 系统线

  • asp木马代码解密的随机加密webshell

    随机加密webshell,解密还不错,应当免杀 加密源码 复制代码 代码如下: <%@ LANGUAGE = VBScript.Encode %> <%#@~^3A4CAA==@#@& jdDhl/k'r1v2FX!ZFE~,PP,~P,@#@&sHC:'r随机加密 J~P~~@#@&jkDnj"SxE4YY2lJzAhS 4l^0+MRmK:r~P,P~P,P~@#@&ZWazDbotDxEbUn木马随机加密器 rP~P~~,P~P,~P,

随机推荐