木马后门扫描清除_后门木马程序如何启动车辆

hacker|
133

如何查找木马后门

分类: 电脑/网络 反病毒

问题描述:

总是有一个 上海谱东区的 IP地址向我发送数据包 都被防火墙拒绝了 但是我玩游戏听音乐总是听到嘟嘟的警报声 烦的我脑子快炸了 我重新启动机器 我晕 一秒种工夫一长流的这IP给我发送数据包

交我怎么样使用PING 命令 总是不断的

另外我怀疑我机器有木马程序安装的后门,而一般这种后门 杀毒软件都查不出来 我应该怎样查杀?我家有最新版的卡巴 和最新版的AVG

都查不出来

我看的一些黑客的教程 做出来的鸽子 都轻松过卡巴。所以很为我机器担忧

解析:

在运行中输入cmd然后用stat -na查看你的端口的连接情况。最好是把你的其他的程序都关掉。这样你的电脑和其他的的端口就没有联系了。有就应该是不正常的了!

篡改系统启动项

AppInit_DLLs 启动项是初始化动态链接库,删除了还会出现。

字串8

注册表的系统设置项“AppInit_DLLs”可以为任一个进程调用一个dll列表,也就是AppInit_DLLs一般不会有问题,有问题的是其他文件,具体情况需要具体分析了,努力做好杀毒软件的更新工作,以在可能的情况下,让杀毒软件来处理。

帮你找了几篇,希望能帮到你。

AppInit_DLLs是注册表内的一个键值 不是文件 不能粉碎

只要将其内容清空即可

注册表的系统设置项“AppInit_DLLs”可以为任一个进程调用一个dll列表

早期的进程插入式木马的伎俩,通过修改注册表中的[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs]来达到插入进程的目的。缺点是不实时,修改注册表后需要重新启动才能完成进程插入。如求职信病毒。利用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。

任何操作系统都会在启动时自动运行一些程序,用以初始化系统环境或额外功能等,这些被允许跟随系统启动而运行的程序被放置在专门的区域里供系统启动时加载运行,这些区域就是“启动项”,不同的系统提供的“启动项”数量也不同,对于Win9x来说,它提供了至少5个“启动项”:DOS环境下的Autoexec.bat、Config.sys,Windows环境下的“启动”程序组、注册表的2个Run项和1个RunServices项,分别是:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

到了2000/XP系统时代,DOS环境被取消,却新增了一种称之为“服务”的启动区域,注册表也在保持原项目不变的基础上增加了2个“启动项”:

项目 键名

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows AppInit_DLLs

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows run

这么多的启动入口,木马自然不会放过,于是我们经常在一些计算机的启动项里发现陌生的程序名,这时候就只能交由你或者病毒防火墙来判断了,毕竟系统自身会在这里放置一些必要的初始化程序,还有一些正常工具,包括病毒防火墙和网络防火墙,它们也必须通过启动项来实现跟随系统启动。

此外还有一种不需要通过启动项也能达到跟随系统启动的卑劣手法,那就是“系统路径遍历优先级欺骗”,Windows系统搜寻一个不带路径信息的文件时遵循一种“从外到里”的规则,它会由系统所在盘符的根目录开始向系统目录深处递进查找,而不是精确定位的,这就意味着,如果有两个同样名称的文件分别放在C:\和C:\Windows下,Windows会执行C:\下的程序,而不是C:\Windows下的。这样的搜寻逻辑就给入侵者提供了一个机会,木马可以把自己改为系统启动时必定会调用的某个文件名,并复制到比原文件要浅一级以上的目录里,Windows就会想当然的执行了木马程序,系统的噩梦就此拉开序幕。这种手法常被用于“internat.exe”,因为无论哪个Windows版本的启动项里,它都是没有设置路径的。

要提防这种占用启动项而做到自动运行的木马,用户必须了解自己机器里所有正常的启动项信息,才能知道木马有没有混进来。至于利用系统路径漏洞的木马,则只能靠用户自己的细心了。

根除木马——文件并联型木马的查杀

某些用户经常会很郁闷,自己明明已经删除了木马文件和相应的启动项,可是不知道什么时候它自己又原封不动的回来了,这还不算,更悲惨的是有时候杀掉某个木马后,系统也出了故障:所有应用程序都打不开了。这时候,如果用户对计算机技术的了解仅限于使用杀毒软件,那可只能哭哭啼啼的重装系统了!

为什么会这样?难道这种木马还恶意修改了系统核心?其实答案很简单,因为这种木马修改了应用程序(EXE文件)的并联方式。

什么是“并联方式”呢?在Windows系统里,文件的打开操作是通过注册表内相应键值指定的应用程序来执行的,这个部分位于注册表的“HKEY_CLASSES_ROOT”主键内,当系统收到一个文件名请求时,会以它的后缀名为依据在这里识别文件类型,进而调用相应的程序打开。而应用程序自身也被视为一个文件,它也属于一种文件类型,同样可以用其他方式开启,只不过Windows设置它的调用程序为“"%1" %*”,让系统内核理解为“可执行请求”,它就会为使用这种打开方式的文件创建进程,最终文件就被加载执行了,如果有另外的程序更改了这个键值,Windows就会调用那个指定的文件来开启它。一些木马程序把EXE后缀名对应的exefile类型的“打开方式”改成了“木马程序 "%1" %*”,运行程序时系统就会先为“木马程序”创建进程,把紧跟着的文件名作为参数传递给它执行,于是在我们看来程序被正常启动了。因为木马程序被作为所有EXE文件的调用程序,使得它可以长期驻留内存,每次都能恢复自身文件,所以在一般用户看来,这个木马就做到了“永生不死”。然而一旦木马程序被删除,Windows就会找不到相应的调用程序,于是正常程序就无法执行了,这就是所谓的“所有程序都无法运行”的情况来源,并不是木马更改了系统核心,更没必要因此重装整个系统。

根除这种木马的最简单方法只需要查看EXE文件的打开方式被指向了什么程序,立即停止这个程序的进程,如果它还产生了其他木马文件的话,也一起停止,然后在保持注册表编辑器开启着的情况下(否则你的所有程序都会打不开了)删除掉所有木马文件,把exefile的“打开方式”项(HKEY_CLASSES_ROOT\exefile\shell\open\command)改回原来的“”%1” %*”即可。

如果删除木马前忘记把并联方式改回来,就会发现程序打不开了,这时候不要着急,如果你是Win9x用户,请使用“外壳替换大法”:重启后按F8进入启动菜单选择MS-DOS模式,把Explorer.exe随便改个名字,再把REGEDIT.EXE改名为Explorer.exe,再次重启后会发现进入Windows只剩下一个注册表编辑器了,赶快把并联方式改回来吧!重启后别忘记恢复以前的Explorer.exe。

对于Win2000/XP用户而言,这个操作更简单了,只要在开机时按F8进入启动菜单,选“命令提示符的安全模式”,系统就会自动调用命令提示符界面作为外壳,直接在里面输入REGEDIT即可打开注册表编辑器!XP用户甚至不需要重启,直接在“打开方式”里浏览到CMD.EXE就能打开“命令提示符”界面运行注册表编辑器REGEDIT.EXE了。

追回被盗的系统文件

除了添加自己到启动项、路径欺骗和更改文件并联以外,一般的木马还有一种伎俩可以使用,那就是替换系统文件。由于如今的操作系统都是由许多文件共同构造的,并不是所有用户都能明白系统文件夹里每个文件的作用,这就给了木马可乘之机,它们盯上了系统里那些不会危害到系统正常运行而又经常会被调用的程序文件,像输入法指示程序internat.exe、让动态链接库可以像程序一样运行的rundll32.exe等。木马先把系统原来的文件改名成只有它们自己知道的一个偏僻文件名,再把自己改名成那个被替换的文件,这样就完成了隐藏极深的感染工作,从此只要系统需要调用那个被替换的程序进行工作,木马就能继续驻留内存了。那么文件被替换会不会导致系统异常呢?只要木马没有被删除,就不会造成系统异常,因为木马在作为原来的程序而被系统启动时,会获得一个由系统传递来的运行参数,这就是系统要求该程序工作的关键所在,木马会直接把这个参数传递给被改名的程序执行,像接力比赛那样完成数据操作,这样在系统看来就是命令被正常执行了,自然不会出现异常。但是也因为这样的特性导致木马被查杀后,系统的某些命令无法传递到本该执行操作的程序中,反而让系统出错了。

要修复它其实很简单,只要记住这个木马的文件名,在删除它之后再从系统光盘复制一个“原配”文件就可以了,如果没有系统光盘,就必须通过工具追踪木马传递参数的目标程序名,再把它改回来。

qhbpri木马(AppInit_DLLs)专杀工具

【qhbpri木马简介】

1.变名,变形,大量自我复制(*pri.dll,前面为变名字母),躲避杀毒软件查杀,普通方式无法彻底清除

2.非法修改Windows注册表AppInit_DLLs达到优先启动的效果。

3.隐蔽插入到其他程序进程,普通方式难以查杀。

4.下载其他木马,与木马指定的服务器通讯,泄露用户隐私,盗窃网络财产帐号。

5. 360安全卫士主程序检测到【qhbpri木马】和【未知启动项AppInit_DLLs正在被装入】C:\WINDOWS\system32\kvdxbma.dll

qhbpri木马专杀(9月4日更新版本):

HTTP下载:

手动的方法

1、启动注册表:

开始——运行——键入:REGEDIT——打开注册表

按照360提示的位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows 找到“AppInit_DLLs”

把“AppInit_DLLs”改成“0”(注意:删除没有用,会自动重建。)

2、分别运行“Windows清理助手”和“恶意软件清理助手”清理系统

appinit_dlls是什么?

appinit_dlls存在路径在windowsNT/cv/windows/APPInit_DLLs ,appinit_dlls是不是病毒呢?

注册表的系统设置项“AppInit_DLLs”可以为任一个进程调用一个dll列表

早期的进程插入式木马的伎俩,通过修改注册表中的

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs]来达

到插入进程的目的。缺点是不实时,修改注册表后需要重新启动才能完成进程插入。如求职信病毒。利

用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的

稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。

appinit_dlls分析:

最近很多人发现有appinit_dlls这个文件,查查看你的电脑是否安装了木马克星,再查看appinit_dlls

的数值是什么,如果是 APIHookDll.dll ,那你的电脑没有中毒,这个只是木马克星的文件,不用担心

如果不是,说明你中毒了,可以参考以下办法清除appinit_dlls病毒。

appinit_dlls病毒清除办法:

appinit_dlls病毒DLL型后缀病毒的手工杀毒的方法教程:

这类病毒大多是后门病毒,这类病毒一般不会把自己暴露在进程中的,所以说特别隐蔽,比较不好发现

。启动DLL后门的载体EXE是不可缺少的,也是非常重要的,它被称为:Loader。如果没有Loader,那DLL

后门如何启动呢?因此,一个好的DLL后门会尽力保护自己的Loader不被查杀。Loader的方式有很多,可

以是为我们的DLL后门而专门编写的一个EXE文件;也可以是系统自带的Rundll32.exe和 Svchost.exe,

即使停止了Rundll32.exe和Svchost.exeDLL后门的主体还是存在的。现在大家也许对DLL有了个初步的了

解了,但是不是后缀是DLL就是病毒哦,也不要因为系统有过多的Rundll32.exe和Svchost.exe进程而担

心,因为他们不一定就是病毒,所以说这个病毒比较隐蔽,下边来介绍几种判别办法:

1/Svchost.exe的键值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\

CurrentVersion\Svchost”每个键值表示一个独立的Svchost.exe组。微软还为我们提供了一种察看系统

正在运行在 Svchost.exe列表中的服务的方法。以Windows XP为例:在“运行”中输入:cmd,然后在命

令行模式中输入:tasklist /svc。如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令

替换为:“tlist -s”即可。如果你怀疑计算机有可能被病毒感染,Svchost.exe的服务出现异常的话通

过搜索 Svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:\Windows\System32”目录下

的Svchost.exe程序。如果你在其他目录下发现Svchost.exe程序的话,那很可能就是中毒了。

2/还有一种确认Svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在

Windows系统自带的任务管理器不能察看进程路径,所以要使用第三方的进程察看工具。比如Windows优

化大师中的Windows 进程管理 2.5。这样,可以发现进程到底饔昧耸裁碊LL文件.

3/普通后门连接需要打开特定的端口,DLL后门也不例外,不管它怎么隐藏,连接的时候都需要打开端口

。我们可以用netstat –an来查看所有TCP/UDP端口的连接,以发现非法连接。大家平时要对自己打开的

端口心中有数,并对netstat –an中的state属性有所了解。当然,也可以使用Fport来显示端口对应的

进程,这样,系统有什么不明的连接和端口,都可以尽收眼底。

4/最关键的方法对比法。安装好系统和所有的应用程序之后,备份system32目录下的EXE和DLL文件:打

开CMD,来到 WINNTsystem32目录下,执行:dir *.exeexe.txt dir *.dlldll.txt,这样,就会把

所有的EXE和DLL文件备份到exe.txt和dll.txt文件中;日后,如发现异常,可以使用相同的命令再次备

份EXE和DLL文件(这里我们假设是exe0.txt和dll0.txt),并使用:fc exe.txt exe0.txtexedll.txt

fc dll.txt dll0.txtexedll.txt,其意思为使用FC命令比较两次的EXE文件和DLL文件,并将比较结果

保存到exedll.txt文件中。通过这种方法,我们就可以发现多出来的EXE和DLL文件,并通过文件大小,

创建时间来判断是否是DLL后门。

DLL型病毒的清除方法

1/ 在确定DLL病毒的文件的话请尝试下边方法

移除方法:

1. 开始——运行——输入"Regedit"

2. 搜索"*.dll"

3. 删除搜索到的键值。

4. 重启

5. 转到C:\Windows\System32\

6. 删除*.dll

2/到注册表下列地方寻找DLL的踪迹

HKEY_LOCAL_MACHINE/ SOFTWARE/ Microsoft/ WindowsNT/ Currentversion/ Svchost

3/如果上边的地方都找不到的话建议使用优化大势进程显示工具 对 RUNDLL32.EXE和SVCHOST.EXE里边运

行的DLL程序进行核实找到病毒文件对其进行结束 然后在对他进行删除 建议使用第1种方法是非常有效

appinit_dlls病毒清除另外一种方法:

一、须准备的刑具

Windows清理助手

恶意软件清理助手

360安全卫士

二、注册表启动命令:REGEDIT

三、磨刀霍霍卷袖动手——杀!!!!

1、启动注册表:

开始——运行——键入:REGEDIT——打开注册表

按照360提示的位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows

找到“AppInit_DLLs”

把“AppInit_DLLs”改成“0”(注意:删除没有用,会自动重建。)

2、分别运行“Windows清理助手”和“恶意软件清理助手”清理系统

“恶意软件清理助手”清理:“恶意软件清理”、“注册表项清理”、“临时文件清理”

其中“注册表项清理”我没有耐心清理完

因为有几项好像清理不掉

“Windows清理助手”使用了“定制扫描”项

四、清理完毕,重启电脑

一切OK

特洛伊木马是如何启动的

您好:

特洛伊木马是采用远控的方式进行启用的,这种木马病毒会按照黑客的远程指令对您的电脑进行系统文件修改、资料盗取等操作,如果您的电脑中了特洛伊木马的话,您可以使用腾讯电脑管家的杀毒功能对您的电脑杀毒,腾讯电脑管家是完全可以彻底查杀干净特洛伊木马病毒的,您可以点击这里下载最新版本的腾讯电脑管家:最新版腾讯电脑管家下载

腾讯电脑管家企业平台:

木马程序 Backdoor.Win32.Hupigon.htxf

1、启动系统时按F8进入安全模式杀

2、用Window PE光盘、U盘或安到硬盘上,启动到PE下删除

3、取下硬盘,挂到其它的电脑上杀。

请高手解答!木马是什么?它有多少种?有什么办法去防预它?被木马入侵后有什么现象?

什么是木马?

特洛伊木马(以下简称木马),英文叫做“Trojan house”,其名称取自希腊神话的特洛伊木马记。

它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。

所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。

所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。

从木马的发展来看,基本上可以分为两个阶段。

最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。

而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。

所以所木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。

参考资料:

回答者:完颜康康 - 探花 十一级 9-18 12:40

--------------------------------------------------------------------------------

DLL 木马揭秘

相信经常玩木马的朋友们都会知道一些木马的特性,也会有自己最喜爱的木马,不过,很多朋友依然不知道近年兴起的“DLL木马”为何物。什么是“DLL木马”呢?它与一般的木马有什么不同?

一、从DLL技术说起

要了解DLL木马,就必须知道这个“DLL”是什么意思,所以,让我们追溯到几年前,DOS系统大行其道的日子里。在那时候,写程序是一件繁琐的事情,因为每个程序的代码都是独立的,有时候为了实现一个功能,就要为此写很多代码,后来随着编程技术发展,程序员们把很多常用的代码集合(通用代码)放进一个独立的文件里,并把这个文件称为“库”(Library),在写程序的时候,把这个库文件加入编译器,就能使用这个库包含的所有功能而不必自己再去写一大堆代码,这个技术被称为“静态链接”(Static Link)。静态链接技术让劳累的程序员松了口气,一切似乎都很美好。可是事实证明,美好的事物不会存在太久,因为静态链接就像一个粗鲁的推销员,不管你想不想要宣传单,他都全部塞到你的手上来。写一个程序只想用到一个库文件包含的某个图形效果,就因为这个,你不得不把这个库文件携带的所有的图形效果都加入程序,留着它们当花瓶摆设,这倒没什么重要,可是这些花瓶却把道路都阻塞了——静态链接技术让最终的程序成了大块头,因为编译器把整个库文件也算进去了。

时代在发展,静态链接技术由于天生的弊端,不能满足程序员的愿望,人们开始寻找一种更好的方法来解决代码重复的难题。后来,Windows系统出现了,时代的分水岭终于出现。Windows系统使用一种新的链接技术,这种被称为“动态链接”(Dynamic Link)的新技术同样也是使用库文件,微软称它们为“动态链接库”——Dynamic Link Library,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些独立文件里,但是在编译方面,微软绕了个圈子,并没有采取把库文件加进程序的方法,而是把库文件做成已经编译好的程序文件,给它们开个交换数据的接口,程序员写程序的时候,一旦要使用某个库文件的一个功能函数,系统就把这个库文件调入内存,连接上这个程序占有的任务进程,然后执行程序要用的功能函数,并把结果返回给程序显示出来,在我们看来,就像是程序自己带有的功能一样。完成需要的功能后,这个DLL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。最重要的是,DLL绝对不会让你多拿一个花瓶,你要什么它就给你什么,你不要的东西它才不会给你。这样,写出来的程序就不能再携带一大堆垃圾了——绝对不会让你把吃剩的东西带回家,否则罚款,这是自助餐。

DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了强大的Windows系统。如果Windows使用静态链接技术,它的体积会有多大?我不敢想。

二、应用程序接口API

上面我们对DLL技术做了个大概分析,在里面我提到了“接口”,这又是什么呢?因为DLL不能像静态库文件那样塞进程序里,所以,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,让一个DLL文件像奶酪一样开了许多小洞,每个洞口都注明里面存放的功能的名字,程序只要根据标准规范找到相关洞口就可以取得它要的美味了,这个洞口就是“应用程序接口”(Application Programming Interface),每个DLL带的接口都不相同,尽最大可能的减少了代码的重复。用Steven的一句话:API就是一个工具箱,你根据需要取出螺丝刀、扳手,用完后再把它们放回原处。在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。

三、DLL与木马

DLL是编译好的代码,与一般程序没什么大差别,只是它不能独立运行,需要程序调用。那么,DLL与木马能扯上什么关系呢?如果你学过编程并且写过DLL,就会发现,其实DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,这就是DLL木马的概念。也许有人会问,既然同样的代码就可以实现木马功能,那么直接做程序就可以,为什么还要多此一举写成DLL呢?这是为了隐藏,因为DLL运行时是直接挂在调用它的程序的进程里的,并不会另外产生进程,所以相对于传统EXE木马来说,它很难被查到。

四、DLL的运行

虽然DLL不能自己运行,可是Windows在加载DLL的时候,需要一个入口函数,就如同EXE的main一样,否则系统无法引用DLL。所以根据编写规范,Windows必须查找并执行DLL里的一个函数DllMain作为加载DLL的依据,这个函数不作为API导出,而是内部函数。DllMain函数使DLL得以保留在内存里,有的DLL里面没有DllMain函数,可是依然能使用,这是因为Windows在找不到DllMain的时候,会从其它运行库中找一个不做任何操作的缺省DllMain函数启动这个DLL使它能被载入,并不是说DLL可以放弃DllMain函数。

五、DLL木马技术分析

到了这里,您也许会想,既然DLL木马有那么多好处,以后写木马都采用DLL方式不就好了吗?话虽然是这么说没错,但是DLL木马并不是一些人想象的那么容易写的。要写一个能用的DLL木马,你需要了解更多知识。

1.木马的主体

千万别把木马模块写得真的像个API库一样,这不是开发WINAPI。DLL木马可以导出几个辅助函数,但是必须有一个过程负责主要执行代码,否则这个DLL只能是一堆零碎API函数,别提工作了。

如果涉及一些通用代码,可以在DLL里写一些内部函数,供自己的代码使用,而不是把所有代码都开放成接口,这样它自己本身都难调用了,更不可能发挥作用。

DLL木马的标准执行入口为DllMain,所以必须在DllMain里写好DLL木马运行的代码,或者指向DLL木马的执行模块。

2.动态嵌入技术

Windows中,每个进程都有自己的私有内存空间,别的进程是不允许对这个私人领地进行操作的,但是,实际上我们仍然可以利用种种方法进入并操作进程的私有内存,这就是动态嵌入,它是将自己的代码嵌入正在运行的进程中的技术。动态嵌入有很多种,最常见的是钩子、API以及远程线程技术,现在的大多数DLL木马都采用远程线程技术把自己挂在一个正常系统进程中。其实动态嵌入并不少见,罗技的MouseWare驱动就挂着每一个系统进程-_-

远程线程技术就是通过在另一个进程中创建远程线程(RemoteThread)的方法进入那个进程的内存地址空间。在DLL木马的范畴里,这个技术也叫做“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,要想让木马停止惟有让挂接这个木马DLL的进程退出运行。但是,很多时候我们只能束手无策——它和Explorer.exe挂在一起了,你确定要关闭Windows吗?

3.木马的启动

有人也许会迫不及待的说,直接把这个DLL加入系统启动项目不就可以了。答案是NO,前面说过,DLL不能独立运行,所以无法在启动项目里直接启动它。要想让木马跑起来,就需要一个EXE使用动态嵌入技术让DLL搭上其他正常进程的车,让被嵌入的进程调用这个DLL的DllMain函数,激发木马运行,最后启动木马的EXE结束运行,木马启动完毕。

启动DLL木马的EXE是个重要角色,它被称为Loader,如果没有Loader,DLL木马就是破烂一堆,因此,一个算得上成熟的DLL木马会想办法保护它的Loader不会那么容易被毁灭。记得狼狈为奸的故事吗?DLL木马就是爬在狼Loader上的狈。

Loader可以是多种多样的,Windows的rundll32.exe也被一些DLL木马用来做了Loader,这种木马一般不带动态嵌入技术,它直接挂着rundll32进程运行,用rundll32的方法(rundll32.exe [DLL名],[函数] [参数])像调用API一样去引用这个DLL的启动函数激发木马模块开始执行,即使你杀了rundll32,木马本体还是在的,一个最常见的例子就是3721中文实名,虽然它不是木马。

注册表的AppInit_DLLs键也被一些木马用来启动自己,如求职信病毒。利用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。

有一些更复杂点的DLL木马通过svchost.exe启动,这种DLL木马必须写成NT-Service,入口函数是ServiceMain,一般很少见,但是这种木马的隐蔽性也不错,而且Loader有保障。

4.其它

到这里大家也应该对DLL木马有个了解了,是不是很想写一个?别急,不知道大家想过没有,既然DLL木马这么好,为什么到现在能找到的DLL木马寥寥无几?现在让我来泼冷水,最重要的原因只有一个:由于DLL木马挂着系统进程运行,如果它本身写得不好,例如没有防止运行错误的代码或者没有严格规范用户的输入,DLL就会出错崩溃。别紧张,一般的EXE也是这样完蛋的,但是DLL崩溃会导致它挂着的程序跟着遭殃,别忘记它挂接的是系统进程哦,结局就是……惨不忍睹。所以写一个能公布的DLL木马,在排错检查方面做的工作要比一般的EXE木马多,写得多了自己都烦躁……

六、DLL木马的发现和查杀

经常看看启动项有没有多出莫名其妙的项目,这是Loader的所在,只要杀了狼,狈就不能再狂了。而DLL木马本体比较难发现,需要你有一定编程知识和分析能力,在Loader里查找DLL名称,或者从进程里看多挂接了什么陌生的DLL,可是对新手来说……总之就是比较难啊比较难,所以,最简单的方法:杀毒软件和防火墙(不是万能药,切忌长期服用)。

木马如何实现开机自动运行

你好,木马要实现开机启动,有数种途径,最常见的是注册表,主要涉及到的注册表子键有HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run、RunOnce、RunServices子键右侧窗口中的键值,HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run、RunOnce、RunServices子键右侧窗口中的键值,容易涉及到映像劫持的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options子键下的各个子键,尤其是涉及到杀毒软件名称及重要HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks子键右侧窗口中的键值,及HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon中的Userinit键值也是容易被篡改的对象,如果是XP系统,还要提防HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows右面窗口中的AppInit_Dlls键值内容是否被篡改,这个键值内容默认为空。有些是以驱动程序形式进行加载,不过这些都难不倒腾讯电脑管家,你在“杀毒”选项中点击闪电查杀之时,电脑管家就会自动扫描这些系统关键位置,发现可疑注册表项目就会提示你进行修复。当然,一旦感觉可能中了病毒木马,最好是点击一下全盘查杀,将其它位置的文件也一并检查了。当然,你也可以自行在电脑管家的“电脑加速”中点击启动项查看,发现可疑的可以直接将其设置到已禁用。

还有是加载到服务项中,其实这也是涉及到注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentContrlset\Services子键下的各个子键,只是这里面的东西实在太多,不能随便删除,操作不当的话,你的电脑就瘫痪了。你可以在电脑管家的电脑加速中点击服务项,仔细查看可疑的服务项,将其设置为已禁用。

木马的启动项还可能会加载到计划任务中,你在电脑管家的电脑加速中点击计划任务,也同样可以查看可疑的计划任务项并设置为已禁用。

不过木马的模块也可能会插入到系统进程,如Explorer.exe中以实现自身的自动启动,遇有这种文件,你可以点击右下角的工具箱,选择文件粉碎,点击添加文件按钮,添加木马模块文件,然后点击粉碎按钮。

如果你还有其它电脑问题,欢迎你在电脑管家企业平台提出,我们将尽力为你解答。

0条大神的评论

发表评论