发新话题
打印

了解木马知识 加强安全意识[转]

了解木马知识 加强安全意识[转]

刚刚给人盗号  心情沉重  希望大家看了这个帖子  能有所帮助

        前车之鉴  切误重蹈覆辙.                                      



正题:了解木马知识,加强安全意识.

   在注册表HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion Run下可以加载程序,使之开机时自动运行,类似“Run”这样的子键在注册表中还有几处,均以“Run”开头,如RunOnce、RunServices等。除了这种方法,还有一种修改注册表的方法也可以使程序自启动。

  具体说来,就是更改文件的打开方式,这样就可以使程序跟随您打开的那种文件类型一起启动。举例来说,打开注册表,展开注册表到HKEY_CLASSES_ROOTexefileshell
opencommand,这里是exe文件的打开方式,默认键值为:“%1”%*。如果把默认键值改为Trojan.exe“%1”%*,您每次运行exe文件,这个Trojan.exe文件就会被执行。木马灰鸽子就采用关联exe文件的打开方式,而大名鼎鼎的木马冰河采用的是也与此相似的一招——关联txt文件。

  对付这种隐藏方法,主要是经常检查注册表,看文件的打开方式是否发生了变化。如果发生了变化,就将打开方式改回来。最好能经常备份注册表,发现问题后立即用备份文件恢复注册表,既方便、快捷,又安全、省事。

TOP

木马对设备名的利用

  大家知道,在Windows下无法以设备名来命名文件或文件夹,这些设备名主要有aux、com1、com2、prn、con、nul等,但Windows 2000/XP有个漏洞可以以设备名来命名文件或文件夹,让木马可以躲在那里而不被发现。

  具体方法是:点击“开始”菜单的“运行”,输入cmd.exe,回车进入命令提示符窗口,然后输入md c:con\命令,可以建立一个名为con的目录。默认请况下,Windows是无法建立这类目录的,正是利用了Windows的漏洞我们才可以建立此目录。再试试输入md c:aux\命令,可以建立aux目录,输入md c:prn\可以建立prn目录,输入md c:com1\目录可以建立Com1目录,而输入md c: ul\则可以建立一个名为nul的目录。在资源管理器中依次点击试试,您会发现当我们试图打开以aux或com1命名的文件夹时,explorer.exe失去了响应,而许多“牧马人”就是利用这个方法将木马隐藏在这类特殊的文件夹中,从而达到隐藏、保护木马程序的目的。

  现在,我们可以把文件复制到这个特殊的目录下,当然,不能直接在Windows中复制,需要采用特殊的方法,在CMD窗口中输入copy muma.exe \.c:aux\命令,就可以把木马文件muma.exe复制到C盘下的aux文件夹中,然后点击“开始”菜单中的“运行”,在“运行”中输入c:aux muam.exe,就会成功启动该木马。我们可以通过点击文件夹名进入此类特殊目录,不过,如果您要试图在资源管理器中删除它,会发现这根本就是徒劳的,Windows会提示找不到该文件。

  由于使用del c:aux\命令可以删除其中的muma.exe文件,所以,为了达到更好的隐藏和保护效果,下木马者会把muma.exe文件也改名,让我们很难删除。具体方法就是在复制木马文件到aux文件夹时使用命令copy muma.exe \.c:con.exe,就可以把木马文件muma.exe复制到aux目录中,并且改名为con.exe,而con.exe文件是无法用普通方法删除的。

  可能有的朋友会想,这个con.exe文件在“开始”菜单的“运行”中无法运行啊。其实不然,只要在命令行方式下输入cmd /c \.c:con就可以运行这个程序了。在运行时会有一个cmd窗口一闪而过,下木马者一般来说会对其进行改进,方法有很多,可以利用开机脚本,也可以利用cmd.exe的autorun:在注册表HKEY_LOCAL_ MACHINESoftwareMicrosoftCommand Processor下建一个字串AutoRun,值为要运行的.bat文件或.cmd文件的路径,如c:winntsystem32auto.cmd,如果建立相应的文件,它的内容为@\.c:con,就可以达到隐蔽的效果。

  对于这类特殊的文件夹,发现后我们可以采用如下方法来删除它:先用del \.c:con.exe命令删除con.exe文件(该文件假设就是其中的木马文件名),然后再用rd \.c:aux命令删除aux文件夹即可。

  好了,文章到这里就结束了。由于水平有限,文中如有不正确或值得商榷的地方欢迎大家批评指点,另外,写作时曾参阅过网上高手们的帖子,受益匪浅,在此一并谢过!


  不过,AutoRun不仅能应用于光盘中,同样也可以应用于硬盘中(要注意的是,AutoRun.inf必须存放在磁盘根目录下才能起作用)。让我们一起看看AutoRun.inf文件的内容吧。

  打开记事本,新建一个文件,将其命名为AutoRun.inf,在AutoRun.inf中键入以下内容:

  [AutoRun]
  Icon=C:WindowsSystemShell32.DLL,21
  Open=C:Program FilesACDSeeACDSee.exe

  其中,“[AutoRun]”是必须的固定格式,一个标准的AutoRun文件必须以它开头,目的是告诉系统执行它下面几行的命令;第二行“Icon=C:WindowsSystemShell32.DLL,21”是给硬盘或光盘设定一个个性化的图标,“Shell32.DLL”是包含很多Windows图标的系统文件,“21”表示显示编号为21的图标,无数字则默认采用文件中的第一个图标;第三行“Open=C:Program FilesACDSeeACDSee.exe”指出要运行程序的路径及其文件名。

  如果把Open行换为木马文件,并将这个AutoRun.inf文件设置为隐藏属性,我们点击硬盘时就会启动木马。

  为防止遭到这样的“埋伏”,可以禁止硬盘AutoRun功能。在“开始”菜单的“运行”中输入Regedit,打开注册表编辑器,展开到HKEY_CURRENT_USERSoftware MicrosoftWindowsCurrentVersionPoliciesExploer主键下,在右侧窗口中找到“NoDriveTypeAutoRun”,就是它决定了是否执行CDROM或硬盘的AutoRun功能。将其键值改为9D,00,00,00就可以关闭硬盘的AutoRun功能,如果改为B5,00,00,00则禁止光盘的AutoRun功能。修改后重新启动计算机,设置就会生效。

TOP

利用工具:

  查杀木马的工具有EWIDO,木马克星、金山木马专杀、木马清除大师、木马分析专家等,其中有些工具,如果想使用全部功能,需要付一定的费用.

  查看目前运行的服务

  服务是很多木马用来保持自己在系统中永远能处于运行状态的方法之一。我们可以通过点击“开始”->“运行”->“cmd”,然后输入“net start”来查看系统中究竟有什么服务在开启,如果发现了不是自己开放的服务,我们可以进入“服务”管理工具中的“服务”,找到相应的服务,停止并禁用它。

  检查系统启动项

  由于注册表对于普通用户来说比较复杂,木马常常喜欢隐藏在这里。检查注册表启动项的方法如下:点击“开始”->“运行”->“regedit”,然后检查:

  HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion下所有以“run”开头的键值;
  HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion下所有以“run”开头的键值;
  HKEY-USERS Default Software Microsoft Windows CurrentVersion下所有以“run”开头的键值。

  Windows安装目录下的System.ini也是木马喜欢隐蔽的地方。打开这个文件看看,在该文件的[boot]字段中,是不是有shell=Explorer.exe file.exe这样的内容,如有这样的内容,那这里的file.exe就是木马程序了!

  检查网络连接情况

  由于不少木马会主动侦听端口,或者会连接特定的IP和端口,所以我们可以在没有正常程序连接网络的情况下,通过检查网络连情情况来发现木马的存在。具体的步骤是点击“开始”->“运行”->“cmd”,然后输入netstat -an这个命令能看到所有和自己电脑建立连接的IP以及自己电脑侦听的端口,它包含四个部分——proto(连接方式)、local address(本地连接地址)、foreign address(和本地建立连接的地址)、state(当前端口状态)。通过这个命令的详细信息,我们就可以完全监控电脑的网络连接情况。

  检查系统帐户

  恶意的攻击者喜在电脑中留有一个账户的方法来控制你的计算机。他们采用的方法就是激活一个系统中的默认账户,但这个账户却很少用的,然后把这个账户的权限提升为管理员权限,这个帐户将是系统中最大的安全隐患。恶意的攻击者可以通过这个账户任意地控制你的计算机。针对这种情况,可以用以下方法对账户进行检测。

  点击“开始”->“运行”->“cmd”,然后在命令行下输入net user,查看计算机上有些什么用户,然后再使用“net user 用户名”查看这个用户是属于什么权限的,一般除了Administrator是administrators组的,其他都不应该属于administrators组,如果你发现一个系统内置的用户是属于administrators组的,那几乎可以肯定你被入侵了。快使用“net user用户名/del”来删掉这个用户吧。

TOP

教大家防木马的办法,只针对网页木马,有效率90%以上,可以防止90%以上木马在你的机器上被执行,甚至杀毒软件发现不了的木马都可以禁止执行。先说一下原理。
  现在网页木马无非有以下几种方式中到你的机器里。

  1:把木马文件改成BMP文件,然后配合你机器里的DEBUG来还原成EXE,网上存在该木马20%

  2:下载一个TXT文件到你机器,然后里面有具体的FTP操作,FTP连上他们有木马的机器下载木马,网上存在该木马20%

  3:也是最常用的方式,下载一个HTA文件,然后用网页控件解释器来还原木马。该木马在网上存在50%以上

  4:采用JS脚本,用VBS脚本来执行木马文件,该型木马偷QQ的比较多,偷传奇的少,大概占10%左右

  5:其他方式未知……

  现在我们来说防范的方法……不要拿砖头砸我!

  那就是把 windows\system\mshta.exe文件改名,

  改成什么自己随便 (Windows XP/2000是在system32下)

  HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Internet Explorer \ActiveX Compatibility 下为Active Setup controls创建一个基于CLSID的新键值 {6E449683_C509_11CF_AAFA_00AA00 B6015C},然后在新键值下创建一个REG_DWORD 类型的键Compatibility,并设定键值为0x00000400即可。

  还有windows\command\debug.exe和windowsftp.exe都给改个名字 (或者删除)

  一些最新流行的木马,最有效果的防御!

  比如网络上流行的木马 smss.exe,这个是其中一种木马的主体,潜伏在(98/winme/xp)c:\windows目录下(2000)c:\winnt目录下。

  假如你中了这个木马,首先我们用进程管理器结束,正在运行的木马smss.exe,然后在C:windows或 c:winnt目录下创建一个假的smss.exe并设置为只读属性(2000/XP NTFS的磁盘格式的话那就更好可以用“安全设置” 设置为读取) ,这样木马没了权限,以后也不会在感染了,这个办法本人测试过对很多木马都很有效果的。

  经过这样的修改后,我现在专门找别人发的木马网址去测试,实验结果是上了大概20个木马网站,有大概15个瑞星会报警,另外5个瑞星没有反映,而我的机器没有添加出来新的EXE文件,也没有新的进程出现,只不过有些木马的残骸留在了IE的临时文件夹里,他们没有被执行起来,没有危险性,所以建议大家经常清理临时文件夹和IE。


以前,我曾认为只要不随便运行网友发来的文件就不会中病毒或木马,但后来出现了利用漏洞传播的冲击波、震荡波;以前,我曾认为不上小网站就不会中网页木马,但后来包括国内某知名游戏网站在内的多个大网站均在其首页被黑客挂上了木马。从此,我知道:安全,从来没有绝对的。
  虽然没有绝对的安全,但如果能知已知彼,了解木马的隐藏手段,对于木马即使不能百战百胜,也能做到及时发现,使损失最小化。那么,木马究竟是如何躲在我们的系统中的呢?

  最基本的隐藏:不可见窗体+隐藏文件

  木马程序无论如何神秘,但归根究底,仍是Win32平台下的一种程序。Windows下常见的程序有两种:

  1.Win32应用程序(Win32 Application),比如QQ、Office等都属于此行列。

  2.Win32控制台程序(Win32 Console),比如硬盘引导修复程序FixMBR。

  其中,Win32应用程序通常会有应用程序界面,比如系统中自带的“计算器”就有提供各种数字按钮的应用程序界面。木马虽然属于Win32应用程序,但其一般不包含窗体或隐藏了窗体(但也有某些特殊情况,如木马使用者与被害者聊天的窗口),并且将木马文件属性设置为“隐藏”,这就是最基本的隐藏手段,稍有经验的用户只需打开“任务管理器”,并且将“文件夹选项”中的“显示所有文件”勾选即可轻松找出木马,于是便出现了下面要介绍的“进程隐藏”技术。

TOP

第一代进程隐藏技术:Windows 98的后门

  在Windows 98中,微软提供了一种能将进程注册为服务进程的方法。尽管微软没有公开提供这种方法的技术实现细节(因为Windows的后续版本中没有提供这个机制),但仍有高手发现了这个秘密,这种技术称为RegisterServiceProcess。只要利用此方法,任何程序的进程都能将自己注册为服务进程,而服务进程在Windows 98中的任务管理器中恰巧又是不显示的,所以便被木马程序钻了空子。

  要对付这种隐藏的木马还算简单,只需使用其他第三方进程管理工具即可找到其所在,并且采用此技术进行隐藏的木马在Windows 2000/XP(因为不支持这种隐藏方法)中就得现形!中止该进程后将木马文件删除即可。可是接下来的第二代进程隐藏技术,就没有这么简单对付了。

  第二代进程隐藏技术:进程插入

  在Windows中,每个进程都有自己的私有内存地址空间,当使用指针(一种访问内存的机制)访问内存时,一个进程无法访问另一个进程的内存地址空间,就好比在未经邻居同意的情况下,你无法进入邻居家吃饭一样。比如QQ在内存中存放了一张图片的数据,而MSN则无法通过直接读取内存的方式来获得该图片的数据。这样做同时也保证了程序的稳定性,如果你的进程存在一个错误,改写了一个随机地址上的内存,这个错误不会影响另一个进程使用的内存。

  你知道吗——进程(Process)是什么

  对应用程序来说,进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。

  一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰),在程序被运行后中,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程

  1.进程插入是什么

  独立的地址空间对于编程人员和用户来说都是非常有利的。对于编程人员来说,系统更容易捕获随意的内存读取和写入操作。对于用户来说,操作系统将变得更加健壮,因为一个应用程序无法破坏另一个进程或操作系统的运行。当然,操作系统的这个健壮特性是要付出代价的,因为要编写能够与其他进程进行通信,或者能够对其他进程进行操作的应用程序将要困难得多。但仍有很多种方法可以打破进程的界限,访问另一个进程的地址空间,那就是“进程插入”(Process Injection)。一旦木马的DLL插入了另一个进程的地址空间后,就可以对另一个进程为所欲为,比如下文要介绍的盗QQ密码。

  2.木马是如何盗走QQ密码的

  普通情况下,一个应用程序所接收的键盘、鼠标操作,别的应用程序是无权“过问”的。可盗号木马是怎么偷偷记录下我的密码的呢?木马首先将1个DLL文件插入到QQ的进程中并成为QQ进程中的一个线程,这样该木马DLL就赫然成为了QQ的一部分!然后在用户输入密码时,因为此时木马DLL已经进入QQ进程内部,所以也就能够接收到用户传递给QQ的密码键入了,真是“家贼难防”啊!

  3.如何插入进程

  (1)使用注册表插入DLL

  早期的进程插入式木马的伎俩,通过修改注册表中的[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs]来达到插入进程的目的。缺点是不实时,修改注册表后需要重新启动才能完成进程插入。

  (2)使用挂钩(Hook)插入DLL

  比较高级和隐蔽的方式,通过系统的挂钩机制(即“Hook”,类似于DOS时代的“中断”)来插入进程(一些盗QQ木马、键盘记录木马以Hook方式插入到其他进程中“偷鸡摸狗”),需要调用SetWindowsHookEx函数(也是一个Win32 API函数)。缺点是技术门槛较高,程序调试困难,这种木马的制作者必须具有相当的Win32编程水平。

TOP

你知道吗——什么是API

  Windows中提供各种功能实现的接口称为Win32 API(Application Programming Interface,即“应用程序编程接口”),如一些程序需要对磁盘上的文件进行读写,就要先通过对相应的API(文件读写就要调用文件相关的API)发出调用请求,然后API根据程序在调用其函数时提供的参数(如读写文件就需要同时给出需要读写的文件的文件名及路径)来完成请求实现的功能,最后将调用结果(如写入文件成功,或读取文件失败等)返回给程序。

  (3)使用远程线程函数(CreateRemoteThread)插入DLL

  在Windows 2000及以上的系统中提供了这个“远程进程”机制,可以通过一个系统API函数来向另一个进程中创建线程(插入DLL)。缺点很明显,仅支持Windows 2000及以上系统,在国内仍有相当多用户在使用Windows 98,所以采用这种进程插入方式的木马缺乏平台通用性。

  木马将自身作为DLL插入别的进程空间后,用查看进程的方式就无法找出木马的踪迹了,你能看到的仅仅是一些正常程序的进程,但木马却已经偷偷潜入其中了。解决的方法是使用支持“进程模块查看”的进程管理工具(如“Windows优化大师”提供的进程查看),木马的DLL模块就会现形了。

  不要相信自己的眼睛:恐怖的进程“蒸发”

  严格地来讲,这应该算是第2.5代的进程隐藏技术了,可是它却比前几种技术更为可怕得多。这种技术使得木马不必将自己插入到其他进程中,而可以直接消失!

  它通过Hook技术对系统中所有程序的进程检测相关API的调用进行了监控,“任务管理器”之所以能够显示出系统中所有的进程,也是因为其调用了EnumProcesses等进程相关的API函数,进程信息都包含在该函数的返回结果中,由发出调用请求的程序接收返回结果并进行处理(如“任务管理器”在接收到结果后就在进程列表中显示出来)。

  而木马由于事先对该API函数进行了Hook,所以在“任务管理器”(或其他调用了列举进程函数的程序)调用EnumProcesses函数时(此时的API函数充当了“内线”的角色),木马便得到了通知,并且在函数将结果(列出所有进程)返回给程序前,就已将自身的进程信息从返回结果中抹去了。就好比你正在看电视节目,却有人不知不觉中将电视接上了DVD,你在不知不觉中就被欺骗了。

  所以无论是“任务管理器”还是杀毒软件,想对这种木马的进程进行检测都是徒劳的。这种木马目前没有非常有效的查杀手段,只有在其运行前由杀毒软件检测到木马文件并阻止其病毒体的运行。当时还有一种技术是由木马程序将其自身的进程信息从Windows系统用以记录进程信息的“进程链表”中删除,这样进程管理工具就无法从“进程链表”中获得木马的进程信息了。但由于缺乏平台通用性而且在程序运行时有一些问题,所以没有被广泛采用。

TOP

你知道吗——什么是Hook

  Hook是Windows中提供的一种用以替换DOS下“中断”的一种系统机制,中文译名为“挂钩”或“钩子”。在对特定的系统事件(包括上文中的特定API函数的调用事件)进行Hook后,一旦发生已Hook的事件,对该事件进行Hook的程序(如:木马)就会收到系统的通知,这时程序就能在第一时间对该事件做出响应(木马程序便抢在函数返回前对结果进行了修改)。

  毫无踪迹:全方位立体隐藏

  利用刚才介绍的Hook隐藏进程的手段,木马可以轻而易举地实现文件的隐藏,只需将Hook技术应用在文件相关的API函数上即可,这样无论是“资源管理器”还是杀毒软件都无法找出木马所在了。更令人吃惊的是,现在已经有木马(如:灰鸽子)利用该技术实现了文件和进程的隐藏。要防止这种木马最好的手段仍是利用杀毒软件在其运行前进行拦截。

  跟杀毒软件对着干:反杀毒软件外壳

  木马再狡猾,可是一旦被杀毒软件定义了特征码,在运行前就被拦截了。要躲过杀毒软件的追杀,很多木马就被加了壳,相当于给木马穿了件衣服,这样杀毒软件就认不出来了,但有部分杀毒软件会尝试对常用壳进行脱壳,然后再查杀(小样,别以为穿上件马夹我就不认识你了)。除了被动的隐藏外,最近还发现了能够主动和杀毒软件对着干的壳,木马在加了这种壳之后,一旦运行,则外壳先得到程序控制权,由其通过各种手段对系统中安装的杀毒软件进行破坏,最后在确认安全(杀毒软件的保护已被瓦解)后由壳释放包裹在自己“体内”的木马体并执行之。对付这种木马的方法是使用具有脱壳能力的杀毒软件对系统进行保护。

TOP

你知道吗——什么是壳

  顾名思义,你可以很轻易地猜到,这是一种包在外面的东西。没错,壳能够将文件(比如EXE)包住,然后在文件被运行时,首先由壳获得控制权,然后释放并运行包裹着的文件体。很多壳能对自己包住的文件体进行加密,这样就可以防止杀毒软件的查杀。比如原先杀毒软件定义的该木马的特征是“12345”,如果发现某文件中含有这个特征,就认为该文件是木马,而带有加密功能的壳则会对文件体进行加密(如:原先的特征是“12345”,加密后变成了“54321”,这样杀毒软件当然不能靠文件特征进行检查了)。脱壳指的就是将文件外边的壳去除,恢复文件没有加壳前的状态。

TOP

以上文章全引用自天网官方网站。


  希望大家看了有所帮助           偶60的贼号没了....5555555555555555555555555

TOP

:P 上文所看到的应该是  :p

TOP

好,收下了。最近被公司的木马搞得烦透了!
Intel Core 2 Duo E6550 | MSI P35 NEO2-FR | Kingston DDR2 667 1G×4 | WD Raptor 1500ADFD & Hitachi T7K500 320G | Zotec GeForce 8800GT 512M | Creative SB Audigy 2 ZS | DELL 2007WFP | Pioneer DVR-112XL | Logitech MX518

TOP

感觉驱动之家的人很少...


         发个帖子全是看了不回的人

今天版主给回了个贴...太感动了

TOP

有收获呀

TOP

好东东  收下了  谢谢 !!LZ辛苦了
Pmmx-233
edo32*2
MT 2.1
S3 375
YAMAHA 724
SaGa 98

TOP

好贴  好贴 学习一下
CoreE6300技嘉965PDS3海盗 800512*4希捷320GELSA7900GS 512M

TOP

发新话题