困扰了二个月的病毒问题,杀毒高手请进!
发布网友
发布时间:2022-10-08 02:14
我来回答
共3个回答
热心网友
时间:2023-11-01 17:53
大哥,怀疑你中了灰鸽子病毒。
我这有全套图形教材,大部分是我自己写的,有的是引用别人的,不过都是经过本人亲自测试,现在摘录如下,如果你要的话,发到你的邮箱里:
《进程、端口、PID、木马---关系详解》
如果发现一些从没见过的端口号,你怎样分辨出该端口是不是木马开放的端口?或者在进程列表中发现陌生的进程时,是否想知道该进程在你的系统中开了什么端口?或者配置木马web时,会有80端口被占用的情况,怎么办?
一、进程--〉PID号
首先在开始菜单的“运行”框中输入“cmd”进入命令提示符窗口,先键入“tasklist”命令将列出系统正在运行的进程列表,就可以找到你要查的进程所对应的“PID”号了,比如查看inetinfo.exe的PID号为1536。
注:还可以查看调用DLL模块文件的进程列表,Tasklist/M [mole],列出所有其中符合指定模式名的 DLL 模块的所有任务。如果没有指定模块名,则显示每个任务加载的所有模块,如“Tasklist /m shell32.dll”即可显示这些进程的列表。
注意:一般灰鸽子木马分两部分:客户端和服务端。黑客操纵着客户端,利用客户端配置生成出一个服务端程序。服务端文件的名字默认为G_Server.exe,然后黑客通过各种渠道传播这个木马,比如,黑客可以将它与一张图片绑定,然后假冒成一个羞涩的MM通过QQ把木马传给你,诱骗你运行;也可以建立一个个人网页,诱骗你点击,利用IE漏洞把木马下载到你的机器上并运行;还可以将文件上传到某个软件下载站点,冒充成一个有趣的软件诱骗用户下载…… G_Server.exe运行后将自己拷贝到Windows目录下(98/xp下为系统盘的windows目录,2k/NT下为系统盘的Winnt目录),然后再从体内释放G_Server.dll和G_Server_Hook.dll到windows目录下。G_Server.exe、G_Server.dll和G_Server_Hook.dll三个文件相互配合组成了灰鸽子服务端,有些灰鸽子会多释放出一个名为G_ServerKey.dll的文件用来记录键盘操作。注意,G_Server.exe这个名称并不固定,它是可以定制的,比如当定*务端文件名为A.exe时,生成的文件就是A.exe、A.dll和A_Hook.dll。每次开机都能自动运行,运行后启动G_Server.dll和G_Server_Hook.dll并自动退出。G_Server.dll文件实现后门功能,与控制端客户端进行通信;G_Server_Hook.dll则通过拦截API调用来隐藏病毒。因此,中毒后,我们看不到病毒文件,也看不到病毒注册的服务项。所以要到安全模式(按F8)下查一下以 _hook.dll结尾的文件,有时候会搜到mag_hook.dll,但是却找不到与之对应的mag.exe,mag.dll和magkey.dll文件,这说明mag_hook.dll不是病毒文件,其实没什么影响 ,它只是放大镜的动态连接库, 平常 的人很少使用 放大镜的 ,如果你不使用放大镜,删除就可以了。如果还是不放心的话,在正常启动模式下,用Tasklist /m mag_hook.dll命令,查一下有没有进程调用此文件:
或者打开任务管理器,在菜单栏,选择“进程”—“查看”—“选择列”,在打开的选择项窗口中将“PID(进程标识符)”项选择钩上,这样任务管理器的进程中就会多出PID一项了。
小技巧:①单击右键菜单中的标记,然后将你要标记的内容,再按一下“回车”键就可以把标记的内容复制到剪贴板上了;②清屏的命令为cls;③按方向键的右键,即可输入刚才输入的内容;
需要注意的是,相同的进程图像名,每次运行的“PID”号都不会相同,因为PID的分配并不固定,是在进程启动是由系统随机分配的,所以进程每次启动的进程一般都不会一样。所以一旦该进程重启后(程序重新打开后),该“PID”号就会改变,这就需要重新查看。如用命令taskkill/im notepad.exe结束正在运行的记事本,其PID分别为3096,重新打开记事本后,发现其PID为1844。
二、PID号--〉端口号
把进程的PID号记下后,接下来就用这个PID号把该进程所开的端口显示出来了。在当前的命令符下继续键入“netstat -ano findstr 1536”命令,其中“netstat -ano”参数表示以数字形式显示所有活动的TCP连接以及计算机正在侦听的TCP、UDP端口 并且显示对应的进程ID PID 号;“ findstr 1536”表示查找进程PID为“1536”的TCP连接以及TCP、UDP端口的侦听情况(在实际应用中,需要把你刚才记下或复制的PID号替换掉这里的1536)。按“回车”键后,就会显示出该进程所开的端口号。可是netstat -ano findstr 1536这行命令好像执行不了。
我们可以明显地看出,PID为“1536”的进程所开启的端口有TCP的80、1032和UDP的3456端口。如果此时没有任何提示信息返回,则说明该进程没有开启任何端口。
三、端口号--〉PID号--〉进程
在命令提示符窗口中输入“netstat -ano”命令,列出系统当前的端口列表,
或者用netstat -ano -p tcp(xp系统,如果是Windows 2000系统,就输入“netstat -an -p tcp”命令),显示本机开放的所有端口。
该命令的作用已在上面提过了。-o参数的作用主要是显示各端口对应的进程PID号,现在把你要查的端口80对应的进程PID号1536记下或复制。然后在命令提示符下继续输入“tasklist /fi 〃PID eq 1536 〃”(在实际应用中,需要把你复制或记下的PID号替换掉这里的1536),这行语句“/fi”参数表示在“tasklist”中筛选,而“PID eq 1536”则是指定筛选的条件,按“回车”键后,就会显示出端口对应的进程。
可以看出,PID号为“1536”所对应的进程为“inetinfo.exe”(不是病毒,是Windows本身的一个系统进程,Windows用这个程序提供IIS服务,也就是说,当你机器中运行了这个程序,其他用户理论上可以把你的计算机当作一个网站来访问。 最新出现是由于不知什么原因,你的计算机打开了IIS服务,如果是XP系统,你可以如下关掉这个程序: 开始->设置->控制面板->管理工具->服务,进入服务管理程序,找到IIS,在其上点右键,选择“停止”即可。难怪设置灰鸽子web时,80端口总数提示被占用)
如果你查的端口没有关联任何进程的话,此时就会返回“没有运行带有指定标准的任务”的提示信息。
现在讲讲基于Windows的tcp/ip的过滤
控制面板——网络和拨号连接——本地连接——INTERNET协议(tcp/ip)--属性--高级---选项-tcp/ip筛选--属性!!
然后添加需要的tcp 和UDP端口就可以了~如果对端口不是很了解的话,不要轻易进行过滤,不然可能会导致一些程序无法使用。
或者
下面介绍如何在WinXP/2000/2003下关闭这些网络端口:
第一步,点击“开始”菜单/设置/控制面板/管理工具,双击打开“本地安全策略”,选中“IP 安全策略,在本地计算机”,在右边窗格的空白位置右击鼠标,弹出快捷菜单,选择“创建 IP 安全策略”(如右图),于是弹出一个向导。在向导中点击“下一步”按钮,为新的安全策略命名;再按“下一步”,则显示“安全通信请求”画面,在画面上把“激活默认相应规则”左边的钩去掉,点击“完成”按钮就创建了一个新的IP 安全策略。
第二步,右击该IP安全策略,在“属性”对话框中,把“使用添加向导”左边的钩去掉,然后单击“添加”按钮添加新的规则,随后弹出“新规则属性”对话框,在画面上点击“添加”按钮,弹出IP筛选器列表窗口;在列表中,首先把“使用添加向导”左边的钩去掉,然后再点击右边的“添加”按钮添加新的筛选器。
第三步,进入“筛选器属性”对话框,首先看到的是寻址,源地址选“任何 IP 地址”,目标地址选“我的 IP 地址”;点击“协议”选项卡,在“选择协议类型”的下拉列表中选择“TCP”,然后在“到此端口”下的文本框中输入“135”,点击“确定”按钮(如左图),这样就添加了一个屏蔽 TCP 135(RPC)端口的筛选器,它可以防止外界通过135端口连上你的电脑。
点击“确定”后回到筛选器列表的对话框,可以看到已经添加了一条策略,重复以上步骤继续添加 135、139、445、593、1025、1028、2745、3127、3389、3874、6129 端口和 UDP 123、135、137、138、139、445、1048、1124、1900、2587、2588、4500、9730 端口,为它们建立相应的筛选器,最后点击“确定”按钮。
第四步,在“新规则属性”对话框中,选择“新 IP 筛选器列表”,然后点击其左边的圆圈上加一个点,表示已经激活,最后点击“筛选器操作”选项卡。在“筛选器操作”选项卡中,把“使用添加向导”左边的钩去掉,点击“添加”按钮,添加“阻止”操作(右图):在“新筛选器操作属性”的“安全措施”选项卡中,选择“阻止”,然后点击“确定”按钮。
第五步,进入“新规则属性”对话框,点击“新筛选器操作”,其左边的圆圈会加了一个点,表示已经激活,点击“关闭”按钮,关闭对话框;最后回到“新IP安全策略属性”对话框,在“新的IP筛选器列表”左边打钩,按“确定”按钮关闭对话框。在“本地安全策略”窗口,用鼠标右击新添加的 IP 安全策略,然后选择“指派”。
如果系统提示有问题,就点开始、设置、控制面板、管理工具、服务,将IPSEC Services 设置为“自动”。
于是重新启动后,电脑中上述网络端口就被关闭了,病毒和黑客再也不能连上这些端口,从而保护了你的电脑。目前还没听说有补丁下载。
再看一例:
UDP 1048端口,
他娘的,竟然找不到1048端口,奇怪?
UDP 1908端口,
用netstat -ano,得知,PID为1608,
然后用tasklist /fi 〃PID eq 1608〃,
我靠,是svchost.exe,搜一下,有3个。(其实应该去安全模式搜的)
揭开SVCHOST.exe进程之谜
svchost.exe是nt核心系统的非常重要的进程,对于2000、xp来说,不可或缺。很多病毒、木马也会调用它。所以,深入了解这个程序,是玩电脑的必修课之一。
大家对windows操作系统一定不陌生,但你是否注意到系统中“svchost.exe”这个文件呢?细心的朋友会发现windows中存在多个 “svchost”进程(通过“ctrl+alt+del”键打开任务管理器,这里的“进程”标签中就可看到了),为什么会这样呢?下面就来揭开它神秘的面纱。
发现
在基于nt内核的windows操作系统家族中,不同版本的windows系统,存在不同数量的“svchost”进程,用户使用“任务管理器”可查看其进程数目。一般来说,win2000有两个svchost进程,winxp中则有四个或四个以上的svchost进程(以后看到系统中有多个这种进程,千万别立即判定系统有病毒了哟),而win2003 server中则更多。这些svchost进程提供很多系统服务,如:rpcss服务(remote procere call)、dmserver服务(logical disk manager)、dhcp服务(dhcp client)等。
如果要了解每个svchost进程到底提供了多少系统服务,可以在win2000的命令提示符窗口中输入“tlist -s”命令来查看,该命令是win2000 support tools提供的。在winxp则使用“tasklist /svc”命令。
svchost中可以包含多个服务
深入
windows系统进程分为独立进程和共享进程两种,“svchost.exe”文件存在于“%systemroot% system32”目录下,它属于共享进程。随着windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由 svchost.exe进程来启动。但svchost进程只作为服务宿主,并不能实现任何服务功能,即它只能提供条件让其他服务在这里被启动,而它自己却不能给用户提供任何服务。那这些服务是如何实现的呢?
原来这些系统服务是以动态链接库(dll)形式实现的,它们把可执行程序指向 svchost,由svchost调用相应服务的动态链接库来启动服务。那svchost又怎么知道某个系统服务该调用哪个动态链接库呢?这是通过系统服务在注册表中设置的参数来实现。下面就以rpcss(remote procere call)服务为例,进行讲解。
从启动参数中可见服务是靠svchost来启动的。
实例
以windows xp为例,点击“开始”/“运行”,输入“services.msc”命令,弹出服务对话框,然后打开“remote procere call”属性对话框,可以看到rpcss服务的可执行文件的路径为“c:\windows\system32\svchost -k rpcss”,这说明rpcss服务是依靠svchost调用“rpcss”参数来实现的,而参数的内容则是存放在系统注册表中的。
在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]项,找到类型为“reg_expand_sz”的键“magepath”,其键值为“%systemroot%system32svchost -k rpcss”(这就是在服务窗口中看到的服务启动命令),另外在“parameters”子项中有个名为“servicedll”的键,其值为“% systemroot%system32rpcss.dll”,其中“rpcss.dll”就是rpcss服务要使用的动态链接库文件。这样 svchost进程通过读取“rpcss”服务注册表信息,就能启动该服务了。
解惑
因为svchost进程启动各种服务,所以病毒、木马也想尽办法来利用它,企图利用它的特性来迷惑用户,达到感染、入侵、破坏的目的(如冲击波变种病毒“w32.welchia.worm”)。但windows系统存在多个svchost进程是很正常的,在受感染的机器中到底哪个是病毒进程呢?这里仅举一例来说明。
假设windows xp系统被“w32.welchia.worm”感染了。正常的svchost文件存在于“c:\windows\system32”目录下,如果发现该文件出现在其他目录下就要小心了。“w32.welchia.worm”病毒存在于“c:\windows\system32wins”目录中,因此使用进程管理器查看svchost进程的执行文件路径就很容易发现系统是否感染了病毒。windows系统自带的任务管理器不能够查看进程的路径,可以使用第三方进程管理软件,如“windows优化大师”进程管理器,通过这些工具就可很容易地查看到所有的svchost进程的执行文件路径,一旦发现其执行路径为不平常的位置就应该马上进行检测和处理。
四、查出进程对应的程序
知道了端口和进程的关联后,如何再进一步查出该进程是那个软件或程序的进程呢?有的时候,在系统盘C盘下搜索进程(inetinfo.exe)。或者用tlist命令(Tlist显示运行在本地或远程计算机上的所有任务的应用程序和服务列表,带有过程 PID),tlist.exe文件在 Win2000/XP/2003 安装盘的\SUPPORT\TOOLS\SUPPORT.CAB中(有的安装光盘不一定有此文件,所以最好的办法就是上网下载),将此文件释放到任一目录,如C:\Documents and Settings\chongchong>。然后在命令提示符窗口中切换到此目录,运行tlist命令,把要查的进程对应的PID号记下或复制(第一列就是进程的PID号),然后继续输入“tlist.exe 1536”命令(你输入的时候,需要将刚才记下的PID号替换掉这里的1536),后面显示的就是该进程对应的软件所在的目录。除此之外,返回信息中还列出了该进程所调用的文件,得到了这些信息就可以很容易查出进程对应的程序了。
哪有什么鸟目录和调用的文件???
五、结束PID对应的进程
假如想关闭某个进程,可把该进程的PID号记下,在命令提符下输入“taskkill /pid 1536” 1536是PID号)就可以将PID号为1536的进程关闭,如果要强制关闭该进程,只须在这条命令的后面加个“/f”参数即可。
实例:
一、要关掉本机的notepad.exe进程,有两种方法:
1、先使用Tasklist查找它的PID,假设系统显示本机notepad.exe(notepad.exe是个病毒性程序,很难删除,一般在C:/windows/system32下)进程的PID值为1132,然后运行“Taskkill /pid 1132”命令即可。其中“/pid”参数后面是要终止进程的PID值。
2、直接运行“Taskkill /IM notepad.exe”命令,其中“/IM”参数后面为进程的图像名。
二、NTSD
很多进程Tasklist是杀不了的,但是用系统debug级的ntsd就可以,ntsd从Windows 2000开始就是系统自带的进程调试工具,在system32目录下。NTSD的功能非常的强大,用法也比较复杂,但如果只用来结束一些进程,那就比较简单了。在Windows中只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。lsass.exe也不要杀掉,它是负责本地账户安全的。被调试器附着的进程会随调试器一起退出,所以可以用来在命令行下终止进程。不过有些rootkit级别的超级木马就*为力了,不过幸好这类木马还是很少的。
1、利用进程的PID结束进程
命令格式:ntsd -c q -p pid
命令范例: ntsd -c q -p 1332 (结束notepad.exe进程)
2、利用进程名结束进程
命令格式:ntsd -c q -pn ***.exe (***.exe 为进程名,exe不能省)
命令范例:ntsd -c q -pn notepad.exe
注意:此命令为强行关闭进程,没有提示,这点和Taskkill /IM notepad.exe有点不一样;另它在运行时会出现另外一个调试窗口:
热心网友
时间:2023-11-01 17:54
全盘搜索在文件中搜索在注册表中搜索卡巴提示的病毒文件
见到就删除
搜索svchost.ex见到就在那个文件夹下创建同名文件夹
创建kdbinbek.dll文件夹
就使用这种方法试一试
热心网友
时间:2023-11-01 17:54
发现可疑进程就用杀毒软件杀毒看啊,只是使用360有么用啊