木马通信的隐蔽技术
木马隐藏技术初探
maae n esrsn th e cig eh iu . i s dc l q i n J un l 0 ,2( )8 — 1 9 】 ngmet aue, o tedt t cnq e[ n eMe ia E u me t o ra, 1 3 4 :9 9 , 6 m e nt Ch e p 2 1
T oa re d s n d i hsat l a u c sfl e l e h x e td fn t n . o cu in T ec aa tro rjn rin Hos e i e n ti r ce h d sc esul rai d te e p ce u ci s C n lso h h rce fT oa g i y z o
d s n a d i pe e t i f i pe T oa r , hsat l f l dsu sd a d p n t td it e e o ro e ei n m lm na o o a s l rjn Hos t i r ce u y i se n e e ae no v r c me ft g tn m e i l c r y h i c n c nq e te hd gtc nq e ted tc n c nq ea d tew y f w r f r a os . l l h i p e  ̄e t gt h i . h ii h iu .h e t gt h iu n a r ado o n H re 1 i e u n e ei e h o T j  ̄ut T es l m m
技 术 、 测技 术 、 展 方 向 进 行 了深 入 全 面论 述 。 果 : 计 的 简 单 木 马 成 功 实 现 了预 想 功 能 。 检 发 结 设 结论 : 马 的 特 性 决 定 了 木 检 测 防御 的 难 度 , 范 重 点在 于 网 络 管 理措 施 . 不 是 检 测 技 术 防 而
木马分析
5.5木马技术5.5.1 木马技术概述木马的全称是“特洛伊木马”(Trojan horse),来源于希腊神话。
古希腊围攻特洛伊城多年无法攻下,于是有人献出木马计策,让士兵藏匿于巨大的木马中,然后佯作退兵,城中得知解围的消息后,将“木马”作为战利品拖入城内,匿于木马中的将士出来开启城门,与城外部队里应外合攻下特洛伊城,后世称这只大木马为“特洛伊木马”。
网络世界的特洛伊木马是指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具备破坏和删除文件、发送密码、记录键盘和DoS攻击等特殊功能的后门程序。
它与控制主机之间建立起连接,使得控制者能够通过网络控制受害系统,通信遵照TCP/IP协议,最大的特征在于隐秘性,偷偷混入对方的主机里面,但是却没有被对方发现。
就象一个潜入敌方的间谍,为其他人的攻击打开后门,这与战争中的木马战术十分相似,因而得名木马程序。
实际上计算机网络木马不但可以窃取、破坏被植入主机的信息,而且可以通过控制主机来攻击网络中的其它主机。
木马程序不仅可能侵害到个人乃至某些公司的利益和权力,更可能危及整个社会和国家的利益和安全。
如果公安部用于采集处理人们身份证信息的计算机被安装了木马,那么这些信息就可能被木马以有线或无线的方式通过网络泄露出去,后果不堪设想。
木马是受控的,它能分清敌我,所以与分不清敌我的其它病毒和攻击技术相比,具有更大的危险性和破坏性。
木马是近几年比较流行的危害程度较严重的恶意软件,常被用作网络系统入侵的重要工具和手段。
2008年金山病毒报告监测显示,木马攻击占当前网络病毒的70%以上,已经成为当前网络危害最严重的网络病毒。
网络上各种“种马”技术加剧了木马的流行和发展,由于木马控制了被植入者的计算机,它几乎可以在被植入主机上为所欲为,破坏程度非常巨大,可以窃取账号密码、删除文件、格式化磁盘,甚至可以打开摄像头进行偷窥等;木马往往又被用做后门,植入被攻击的系统,以便为入侵者再次访问系统提供方便;或者利用被入侵的系统,通过欺骗合法用户的某种方式暗中“散发”木马,以便进一步扩大入侵成果和入侵范围,为进行其它入侵活动,如分布式拒绝服务攻击(DDoS)等提供可能。
木马的基本原理
木马的基本原理
什么是木马?
木马(Trojan Horse)是指一种在计算机网络上传播的、非法的恶意程序,通常像表面上无害的安全软件一样,却能够实施不可挽回的破坏。
木马病毒攻击是一种通过互联网传播的计算机病毒,它专门攻击用户
权限较高的网站、企业信息系统或个人机器。
木马的基本原理:
1. 运行原理:一般来说,木马通过向受害用户发送邮件或拦截用户访
问其他网站时下载的文件传播,木马植入到系统中后会伪装成有用的
程序,而在安装完毕后,它会下载其他的病毒,以实现拦截攻击者远
程控制的目的。
2. 隐蔽性:木马病毒通过不删除受害者的文件,而是将它们替换或插
入到主目录或者系统目录中,令其更加隐秘,如果不能及时发现木马,则它很可能在系统中传播并继续造成破坏。
3. 感染原理:木马通常在用户的浏览器上加上特殊的插件,来实现对
受害者的控制,同时会通过对本地网络上的用户进行感染,来使得木
马的蔓延速度大大增加。
4. 逃逸技术:木马采用的一种逃逸技术是启动机制(Boot Sector),这种技术是在用户系统运行前,木马就被植入,在此阶段植入的木马最隐蔽,很难检测到。
5. 远程控制:木马攻击者可以通过远程服务器来连接目标机器,对受害系统设备进行远程控制,使用系统资源传输大量数据,侵入者还可以安装恶意软件。
6. 破坏:木马攻击者可以通过进入系统来收集所有的信息,甚至可以破坏和删除系统上的文件和文件夹,造成严重的影响。
特洛伊木马病毒的隐藏技术_李军丽
特洛伊木马病毒的隐藏技术李军丽云南大学信息学院 云南 650031摘要:隐藏技术是木马的关键技术之一,其直接决定木马的生存能力。
本文对木马病毒的隐藏技术从几个方面进行了研究,并对木马病毒的预防和检测提出了自己的一些建议。
关键词:木马病毒;网络安全;隐藏技术0 引言随着计算机网络技术的迅速发展和普及,人们也开始面临着越来越多的网络安全的隐患,特别木马对网络用户的网络数据和隐私安全产生了极大的威胁;据调查,目前在国内,68.26%的用户怀疑受到过木马病毒的攻击,63%的电脑用户曾受到过木马病毒攻击。
隐藏技术是木马的关键技术之一,其直接决定木马的生存能力。
本文对木马病毒的隐藏技术从几个方面进行了研究,并对木马病毒的预防和检测提出了自己的一些建议。
1 木马的隐藏技术木马区别与远程控制程序的主要不同点就在于它的隐蔽性,木马的隐蔽性是木马能否长期存活的关键。
木马的隐藏技术主要包括以下几个方面:本地文件隐藏、启动隐藏、进程隐藏、通信隐藏和内核模块隐藏和协同隐藏等。
1.1 本地文件伪装隐藏木马文件通过将木马文件设置为系统、隐藏或是只读属性来实现木马问的隐藏,或是通过将木马文件命名为和系统文件的文件名相似的文件名,从而使用户误认为系统文件而忽略。
或是将文件的存放在不常用或难以发现的系统文件目录中,或是将木马存放的区域设置为坏扇区。
1.2 木马的启动隐藏方式(1) 本地文件伪装最常用的文件隐藏是将木马病毒伪装成本地文件。
木马病毒将可执行文件伪装成图片或文本----在程序中把图标改成WINDOWS的默认图片图标,再把文件名改为.JPG.EXE。
由于WINDOWS默认设置是不显示已知的文件后缀名,文件将会显示为.JPG.,不注意的人一点击这个图标就在无意间启动了木马程序。
(2) 通过修改系统配置来实现木马的启动隐藏利用配置文件的特殊作用,木马很容易就能在大家的计算机中运行。
像Autoexec.bat和Config.sys。
特洛伊木马的隐藏技术浅析
特洛伊木马的隐藏技术浅析王海青【摘要】文章着重从木马的文件隐藏、进程隐藏、通信隐藏三个方面系统分析了木马的隐藏技术.【期刊名称】《甘肃广播电视大学学报》【年(卷),期】2010(020)002【总页数】2页(P63-64)【关键词】木马;文件隐藏;进程隐藏;通信隐藏【作者】王海青【作者单位】甘肃广播电视大学,继续教育学院,甘肃,兰州,730030【正文语种】中文【中图分类】TP393.8随着病毒编写技术的发展,木马程序对用户的威胁越来越大,为了不被目标系统用户及管理员发现,木马通过各种技术手段把自己的运行形式进行隐蔽。
1.文件隐藏木马程序植入目标系统后,会在目标系统的磁盘上加以隐蔽欺骗用户。
隐藏、保护木马文件的主要方式有:(1)嵌入隐藏。
采用此隐蔽手段的木马通常有以下两种形式:插入到某程序中和与某程序捆绑到一起,一旦运行程序就会启动木马。
如绑定到系统文件中,在系统启动时木马也跟随启动;或者捆绑常用程序,这样程序一旦被点击木马就会运行加载,使用户难以防范。
(2)伪装隐藏。
利用自身外部特征的多变性进行伪装,以单独的文件存在,同时定制好了文件名,修改与文件系统操作有关的程序,伪装成正常的文件或者非可执行文件,再将文件属性修改为系统隐蔽或者只读。
如木马文件把图标改成Windows 的一些非可执行文件的默认图标,再把文件名改为*.jpg.exe、*.txt.exe等,由于Windows默认设置是“不显示已知的文件后缀名”,因此木马文件将会显示为*.jpg、*.txt等。
(3)替换隐藏。
木马通过修改自身的DLL替换目标文件的系统DLL文件,替换的基础上不增加新的文件,也不需要打开新的端口或者监听端口,替换之后,对于正常的系统调用还照常进行,只有在木马的控制端向被控制端发出指令后,隐藏的程序才开始运行。
2.进程隐藏木马将自身作为DLL插入别的进程空间后,用查看进程的方式无法找出木马的踪迹,看到的仅仅是一些正常程序的进程,但木马却已经偷偷潜入其中了。
木马隐蔽技术分析及检测
26
E-mail:cmee@
一、木马程序的分类
木马程序技术发展至今,已经经历了四代,第一代 是简单的密码窃取、发送等。第二代木马在技术上有了 很大的进步,“冰河”可以说为是国内木马的典型代表 之一。第三代木马在数据传递技术上,又做了不小的改 进,出现了I C M P等类型的木马,利用畸形报文传递数 据,增加了查杀的难度。第四代木马在进程隐藏方面, 做了大的改动,采用了内核插入式的嵌入方式,利用远 程插入线程技术,嵌入DLL线程;或者挂接PSAPI,实 现木马程序的隐藏,甚至在Windows NT/2000下,都达 到了良好的隐藏效果。
五、结束语
木马的存在需要引起广大用户的警惕和注意,它是 用户面临的众多安全威胁中的一种,给我们带来了经济 损失和信息泄露的风险。防范各种网络安全威胁,需要 用户的整体合作。
四 、木 马 检测
1.检查注册表:看HKEY_LOCAL_MACHINE\SOFTW ARE\Microsoft\Windows\Curren Version和 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion 下,所有以”Run”开头的键值名,其下有没有可疑的 文件名。如果有,就需要删除相应的键值,再删除相应 的应用程序。
木马隐蔽技术分析及检测
盖凌云 黄树来
(莱阳农学院 山东青岛 266109)
摘 要 : 木马作为一种计算机网络病毒,对计算机信息资源构成了极大危害。研究木马技术,对防范木马 攻击,减少网络破坏有重要的意义。文章分析了木马的关键技术— 隐藏技术,提出了对木马病毒的有效的 检测方法。 关 键 词 : 木马 隐藏技术 网络安全
木马技术发展至今,已经不再只是简单的客户及服 务器程序,它涉及到了系统及网络安全的方方面面,对 于许多高级木马技术的研究,是对网络环境及系统实现 中各种安全机制的重新审视,因此,对木马的开发技术 做一次彻底的透视,从了解木马技术开始,更加安全地 管理好自己的计算机显得尤为重要。
木马的7种分类
木马的7种分类随着计算机技术的不断发展,木马病毒也不断地演化和发展,出现了各种不同类型的木马病毒,本文将介绍木马病毒的七种基本分类。
1.远程控制木马远程控制木马可以通过网络,远程控制受感染电脑的操作系统。
黑客可以远程操作受害者的计算机,以获取其个人信息、机密资料和密码等。
这种木马病毒非常隐蔽,很难被发现,因此危害性相对较大。
2.间谍木马间谍木马主要用于监控用户的行动,例如记录用户的浏览历史记录、键盘输入等。
这种木马病毒通常会将窃取到的数据发送给黑客来实现监控。
3.下载木马下载木马病毒具有下代码、过滤HTML代码等功能,可以从远程服务器下载感染电脑所需的程序或文件。
当这种木马病毒感染到用户的计算机后,可以在后台下载恶意程序或软件。
4.钓鱼木马钓鱼木马通常通过电子邮件、社交网络等方式来欺骗受害者,使其下载木马病毒。
这种木马病毒的危害性非常高,因为它可以窃取受害者的个人信息,例如社交网络的用户账户和密码、银行账户信息等。
5.后门木马后门木马是指在计算机上预留出的一些未经授权的入口,可以让黑客在未经授权的情况下远程访问受害者的计算机系统。
这种木马病毒可以在用户不知情的情况下进行远程控制,非常隐蔽,难以发现。
6.窃密木马窃密木马可以获取用户的账户和密码等个人信息,并将这些信息上传到黑客服务器。
这种木马病毒通常隐藏在诱骗受害者下载的文件、恶意链接等背后。
7.多功能木马多功能木马是一种综合了多种木马病毒功能的复合木马病毒。
它可以通过网络来获取用户的个人信息、远程访问受害者计算机、窃取银行账号密码等敏感信息。
这种木马病毒的危害性非常高,可以严重威胁用户的安全和隐私。
网络安全基础:木马各种隐藏技术全方位披露
网络安全基础:木马各种隐藏技术全方位披露以前,我曾认为只要不随便运行网友发来的文件就不会中病毒或木马,但后来出现了利用漏洞传播的冲击波、震荡波;以前,我曾认为不上小网站就不会中网页木马,但后来包括国内某知名游戏网站在内的多个大网站均在其首页被黑客挂上了木马。
从此,我知道:安全,从来没有绝对的。
虽然没有绝对的安全,但如果能知已知彼,了解木马的隐藏手段,对于木马即使不能百战百胜,也能做到及时发现,使损失最小化。
那么,木马究竟是如何躲在我们的系统中的呢?最基本的隐藏:不可见窗体+隐藏文件木马程序无论如何神秘,但归根究底,仍是Win32平台下的一种程序。
Windows下常见的程序有两种:1.Win32应用程序(Win32 Application),比如QQ、Office等都属于此行列。
2.Win32控制台程序(Win32 Console),比如硬盘引导修复程序FixMBR。
其中,Win32应用程序通常会有应用程序界面,比如系统中自带的“计算器”就有提供各种数字按钮的应用程序界面。
木马虽然属于Win32应用程序,但其一般不包含窗体或隐藏了窗体(但也有某些特殊情况,如木马使用者与被害者聊天的窗口),并且将木马文件属性设置为“隐藏”,这就是最基本的隐藏手段,稍有经验的用户只需打开“任务管理器”,并且将“文件夹选项”中的“显示所有文件”勾选即可轻松找出木马,于是便出现了下面要介绍的“进程隐藏”技术。
第一代进程隐藏技术:Windows 98的后门在Windows 98中,微软提供了一种能将进程注册为服务进程的方法。
尽管微软没有公开提供这种方法的技术实现细节(因为Windows的后续版本中没有提供这个机制),但仍有高手发现了这个秘密,这种技术称为RegisterServiceProcess。
只要利用此方法,任何程序的进程都能将自己注册为服务进程,而服务进程在Windows 98中的任务管理器中恰巧又是不显示的,所以便被木马程序钻了空子。
木马通信的隐蔽技术
引言木马通常需要利用一定的通信方式进行信息交流(如接收控制者的指令、向控制端传递信息等)。
系统和应用程序一般采用TCP/UDP通信端口的形式与控制端进行通信。
木马一般也是利用TCP/UDP端口与控制端进行通信。
通常情况下,木马进行通信时直接打开一个或几个属于自己的TCP/UDP端口。
早期的木马在系统中运行后都是打开固定的端口,后来的木马在植入时可随机设定通信时打开的端口,具有了一定的随机性。
可是通过端口扫描很容易发现这些可疑的通信端口。
事实上,目前的许多木马检测软件正是通过扫描本地和远程主机系统中打开的已知木马端口进行木马检测的。
木马通信端口成为暴露木马形踪一个很不安全的因素。
为此采用新技术的木马对其通信形式进行了隐蔽和变通,使其很难被端口扫描发现。
2木马通信形式的隐蔽技术木马为隐蔽通信形式所采用的手段有:端口寄生、反弹端口、潜伏技术,嗅探技术。
2.1端口寄生端口寄生指木马寄生在系统中一个已经打开的通信端口,如TCP80端口,木马平时只是监听此端口,遇到特殊的指令才进行解释执行。
此时木马实际上是寄生在系统中已有的系统服务和应用程序之上的,因此,在扫描或查看系统中通信端口时是不会发现异常的。
在Windows9X系统中进行此类操作相对比较简单,但是在WindowsNT/2K系统中实现端口寄生相对比较麻烦。
在控制端与木马进行通信时,如木马所在目标系统有防火墙的保护,控制端向木马发起主动连接就有可能被过滤掉。
2.2反弹端口反弹端口就是木马针对防火墙所采用的技术[1]。
防火墙对于向内的链接进行非常严格的过滤,对于向外的连接比较信任。
与一般的木马相反,反弹端口木马使用主动端口,控制端使用被动端口。
木马定时监测控制端的存在,发现控制端上线,立即主动连接控制端打开的被动端口。
为了隐蔽起见,控制端的被动端口一般开在TCP80。
这样,即使用户使用端口扫描软件检查自己的端口,发现的也是类似TCPUSERIP:1026CONTROLLERIP:80ESTABLISHED这种情况,用户可能误认为是自己在浏览网页。
木马病毒的工作原理
木马病毒的工作原理
木马病毒是一种恶意软件,其工作原理是通过隐藏在合法程序或文件中,悄悄地进入受害者的计算机系统,隐蔽地运行并窃取、破坏或控制系统的信息。
木马病毒首先通过远程攻击、恶意链接或邮件附件等方式感染用户的计算机。
一旦成功进入系统,它会隐藏在操作系统或应用程序的进程中,并通过与系统自动启动文件的联结或修改,实现每次开机都自动激活。
木马病毒潜伏在系统中后,其主要目标是窃取用户的个人信息、敏感数据或者登录凭证。
它可以监视用户的键盘输入、截屏、记录访问的网站等活动。
此外,木马病毒还可以通过网络连接远程服务器,与黑客进行通信,将被窃取的数据传送给黑客。
木马病毒还可以拥有远程控制计算机的能力。
黑客可以通过木马病毒操控受感染计算机,远程启动、关闭或重启计算机,远程访问文件并进行修改或删除,甚至在不被察觉的情况下控制摄像头、麦克风等输入设备,获取用户的私密信息。
此外,木马病毒还可以通过传播自身的方式进行蔓延。
它可以利用受感染计算机上的联系人列表,通过发送恶意链接或文件给联系人,使得更多的计算机感染木马病毒。
为了对抗木马病毒,用户需要注意不打开来历不明的链接或附件,及时更新操作系统和应用程序的安全补丁,安装和定期更新杀毒软件,并定期扫描计算机系统,确保其安全性。
木马隐藏技术分析
木马隐藏技术分析郜多投(山东大学山东省济南市250100)摘要:文章首先介绍了木马的原理和特征,然后对木马所实现的功能做了简单的介绍,最后从木马的文件隐藏,进程隐藏和通信隐藏三个方面着重进行了分析。
关键词:木马;木马隐藏;通信隐藏[引言]木马,是一种通过潜入对方电脑进非法操作的计算机成程序,是目前黑客惯用的一种攻击手段,和一般的恶意软件不同,木马不主动进行自我复制和传播,破坏其他程序,然而,木马的潜伏性是超前的,为了看起来和正常程序一样,在进入系统之前,对自身的程序进行了伪装,使被感染的系统看起来一切正常,从而严重威胁计算机网络安全。
1.木马的原理和特征一个完整的木马程序包含两部分内容,服务端和控制端,服务端程序是通过远程计算机网络植入对方电脑,而黑客通过客户端进入运行了服务端的受控电脑,通常运行了服务端的计算机会生成一个类似于系统文件的进程,此时端口被暗中打开,电脑中保存的各类数据会向控制端进行发送,黑客也可以通过这些暗中打开的端口进入目标电脑,此时,电脑中更多的隐私将会遭受更大的泄露。
木马一般具有以下特征:一,隐藏性,隐藏性是木马的最显著特征,比如,改写进程名称使其和系统文件高度相似,隐藏在任务管理器中的进程,减少程序大小,减少暗中打开端口的流量。
二、自动运行性,可以随电脑启动而启动,比如潜入启动配置文件win.ini,winstart。
Bat等,有的也可嵌入正常软件,随软件的运行而启动。
三、欺骗性:木马为了防止被发现,通常伪装成为系统中本身存在的文件,比武将文件名中的“O”改为“0”,“1改为I”等容易混淆是非的字符,或者有的系统中本身的文件名也可被木马直接套用,只不过是保存在不同的系统路径下,另外,有的木马将自己改装成为ZIP压缩文件,当用户解压时,直接运行。
四、自我恢复性。
目前大多数木马程序的功能模块已不是单一的组件构成,而是自动复制到电脑其他路径做备份,在子木马或者主木马被删除时,都可以再自动生成。
12 LKM技术
第十二讲 LKM技术1.LKM介绍木马最大的特性就是隐蔽性,不能轻易让人察觉,所以隐藏木马相关信息是关键的因素。
对于Linux 操作系统来说,主要有静态隐藏和动态隐藏两个标准。
静态隐藏是指木马文件的隐藏,用“ls”命令看不见我们的木马服务端程序。
动态隐藏是指当木马运行时,进程和通讯端口的隐藏,如用“ps –A”命令不能找到木马进程,用“netstat -at”命令不会显示木马端口的通讯情况等。
对于Windows操作系统,隐藏进程的最新技术是通过修改虚拟设备驱动程序(VXD)或修改动态连接库 (DLL)。
这种方法基本上摆脱了原有的木马模式---监听端口,而采用替代系统功能的方法(改写VXD 或DLL文件),木马会将修改后的DLL替换系统原有的DLL,并对所有的函数调用进行过滤。
对于特殊的调用,使用函数转发器直接转发给被替换的系统DLL,执行一些相应的操作。
由于修改了系统调用,使用常规的方法监测不到它。
由于Linux本身的安全性,想利用外壳程序隐藏木马文件和进程不可能实现,所以就借鉴上面的修改系统调用的方法,通过修改Linux内核的系统调用来隐藏木马相关信息,这就是LKM技术。
1.1 LKMLKM就是可装载内核模块(Loadable Kernel Modules)。
这些模块本来是Linux系统用于扩展其功能的。
当LKM被载入内核,就能修改内核变量,重载内核函数,轻易得实现扩充或裁减操作系统内核的某些功能。
同时动态的载入模块还意味着能留给用户程序更多的内存。
由于这些优点,他们常常被特殊的设备或者文件系统(例如声卡、打印机等)使用。
每个LKM至少由两个基本的函数组成:int init_module(void) /*用于初始化所有的数据*/{...}void cleanup_module(void) /*用于清除数据从而能安全地退出*/{...}对这个module.c文件的编译命令是:#gcc -c -O2 –I/usr/src/linux/include module.c有时会需要更加复杂的参数,视具体情况而定。
基于NDIS隐蔽通信技术的木马病毒分析
Y ANG i h n , HU i DONG e- u Zh - e g S c Hu , W i y
( p . f mp tr ce c n e h o o y Colg f no mainE g n eig P A I fr t nEn i e r gUnv ri , h n z o 5 0 2 De to Co ue i ea dT c n lg , l e f r t n ie r , L omai g n e n ies y Z e g h u4 0 0 ) S n e oI o n n o i t
进步 ,木马病毒 与杀毒软件斗 争的主战场逐 渐扩 展到操作 系
统的核心态 和底 层。当前 的主流木 马已经 普遍使 用了驱动程 序 对进程、文件、T P连接等进行 隐藏,在 反查 杀方面取得 C
了长足进步。但是木 马隐蔽通信技术近年来没有 大的发展 ,
已公开 的各种木 马仍然采 用传统的 “ 线程注 入”等方法。作
于 N I 驱动的木马隐蔽通信方法 ,以该方法为依据设计 和实现 了木 马验 证模 型并对 其进 行分析和测试。测试结果验证 了模型 的非接触式 DS
穿透 防火墙性能 。
关羹 诃 :N I 驱动 ;验证模型 ;隐蔽通信 ;非接触 式;防火墙 DS
An ls fn jnV r s ae nN I ayi 0 r a i sdo D S s 10 uB
[ src | e eeo me trn frjnvrsote en li re rvd ni i seh oo yrfrn etipp r n lzs eND S Abta t Ash v lp n edo oa i re,nod ro o ieat vr cn lg eec , s a e ay e I t d t t u th k tp —u t e h a h t
木马的隐藏技术
真隐藏实现方式
在Windows系统中常见的真隐藏实现方 式有:
利用DLL实现简单隐藏 采用替代技术的DLL木马 采用动态嵌入技术的DLL木马
采用替代技术的DLL木马
工作原理是替换常用的DLL文件,截获并处理 特定的消息,将正常的调用转发给原DLL
此种技术是比较古老的技术,因此微软也做 了相当的防范
在Windows的system32目录下有一个dllcache目录,一旦操 作系统发现被保护的DLL文件被篡改(利用数字签名技术),就 会自动从dllcache中恢复该文件
真隐藏实现方式
在Windows系统中常见的真隐藏实现方 式有:
利用DLL实现简单隐藏 采用替代技术的DLL木马 采用动态嵌入技术的DLL木马
进程隐藏
想要隐藏木马的服务器端,可以伪隐藏, 也可以真隐藏
伪隐藏是指程序的进程仍然存在,只不过是让 它消失在进程列表里
真隐藏则是让程序彻底的消失,不以一个进程 或者服务的方式工作
进程隐藏
伪隐藏
把木马服务器端的程序注册为一个服务,这样, 程序就会从任务列表中消失了,当按下 Ctrl+Alt+Delete的时候,也看不到这个程序。 但是通过服务管理器,会发现在系统中注册过 的服务
进程隐藏
进程、线程、服务 进程:一个正常的Windows应用程序,在运行之
后,都会在系统之中产生一个进程,分别对应一 个不同的PID(进程标识符)。这个进程会被系统 分配一个虚拟的内存空间地址段,一切相关的程 序操作,都会在这个虚拟的空间中进行 线程:一个进程,可以存在一个或多个线程,线 程之间同步执行多种操作,一般地,线程之间是 相互独立的,当一个线程发生错误的时候,并不 一定会导致整个进程的崩溃 服务:一个进程当以服务的方式工作的时候,它 将会在后台工作,不会出现在任务列表中,但可 通过服务管理器检查任何的服务程序是否被启动 运行
对木马隐藏技术的研究
对木马隐藏技术的研究计算机病毒、木马以及网络蠕虫等恶意程序对网络安全构成了巨大的威胁。
其中木马的破坏最大,它能在高隐蔽性的状态下窃取网民的隐私信息。
通常,被感染木马的计算机用户并不知道自己的计算机已被感染,这是由于木马程序具有很高的隐蔽性。
木马的隐藏技术主要由以下三种:1、程序隐蔽木马程序隐藏通常指利用各种手段伪装木马程序,让一般用户无法从表面上直接识别出木马程序。
要达到这一目的可以通过程序捆绑的方式实现。
程序捆绑方式是将多个exe 程序链接在一起组合成一个exe 文件,当运行该exe 文件时,多个程序同时运行。
程序捆绑有多种方式,如将多个exe 文件以资源形式组合到一个exe 文件中或者利用专用的安装打包工具将多个exe 文件进行组合,这也是许多程序捆绑流氓软件的做法。
2、进程隐蔽隐藏木马程序的进程的显示能防止用户通过任务管理器查看到木马程序的进程,从而提高木马程序的隐蔽性。
目前,隐藏木马进程主要有如下两种方式:(1)API拦截API 拦截技术属于进程伪隐藏方式。
它通过利用Hook技术监控并截获系统中某些程序对进程显示的API 函数调用,然后修改函数返回的进程信息,将自己从结果中删除,导致任务管理器等工具无法显示该木马进程。
具体实现过程是,木马程序建立一个后台的系统钩子(Hook),拦截PSAPI的EnumProcessModules 等相关函数的调用,当检测到结果为该木马程序的进程ID(PID)的时候直接跳过,这样进程信息中就不会包含该木马程序的进程,从而达到了隐藏木马进程的目的。
(2)远程线程注入远程线程注入属于进程真隐藏方式。
它主要是利用CreateRemoteThread 函数在某一个目标进程中创建远程线程,共享目标进程的地址空间,并获得目标进程的相关权限,从而修改目标进程内部数据和启动DLL 木马。
通过这种方式启动的DLL 木马占用的是目标进程的地址空间,而且自身是作为目标进程的一个线程,所以它不会出现在进程列表中。
Windows下木马隐藏技术分析
中图分类号 :T 39 文献标识码 :A 文章编号:10 - 59( 1) 0 0 4- 2 P 0. 5 07 99 2 2 1- 15 0 0
目前,木 马 已经成 为 常见 的网络 攻击 技术 之 一 ,对 网络 安全 造成 了严 重 的威胁 。它具 有攻 击 范 围广 、隐 蔽性 强等特 点 。本 文 主要 针对 木 马 的隐藏 技术 展 开研 究 。 木 马定 义和特 征 木 马是 指潜 伏在 电脑 中 ,受 到外 部用 户控 制 以达 到窃 取本 机 信 息或 控制 权 为 目的 的 程序 。其 全 称 为 特 洛 伊 木 马 ,英 文 叫做 “ r a os” To nhr 。它是 指利 用 一段特 定 的程 序 ( 马程序 ) 控制 j e 木 来 另一 台计 算机 。木 马通常 有两 个 可执 行程 序 :分 别为 客户 端和 服 务端 , 即控制 端和 被控 制 端 。植入 被种 者 电脑 的是 “ 务 器 ”部 服 分 ,而 所谓 的 “ 客 ”正 是利 用 “ 制器 ”进 入运 行 了 “ 黑 控 服务 器 ” 的 电脑 。一 旦运 行 了木 马程序 的 “ 务器 ”以后 ,被 种者 的 电脑 服 就会 有一 个或 几个 端 口被 打开 ,黑客 就可 以利 用这 些 打开 的端 口 进 入 电脑 系 统 ,用 户 的个 人 隐私 就全 无保 障 了 。木 马的设 计者 采 用 多种 手 段 隐藏木 马 以防 止木 马被 发现 。随着 病毒 编 写技 术 的发 展 ,木 马程序 采用 越来 越 狡猾 的手 段 来 隐蔽 自己,使普 通 用户 很 难发 觉 。 二 、木 马的功 能 木 马的 主要 功能有 : ( )窃 取数 据 :仅 仅 以窃取 数据 为 目的 ,本 身不 破 坏损 伤 - 计 算机 的文件 和数 值 ,也 不妨 碍 系统 的正 常办 公 。有很 多木 马有 键 盘 记录 功 能 ,会 记 录服 务端 每 次敲 击键 盘 的动 作 ,所 以一 旦有 木 马入 侵 ,数 据将 很容 易被 窃 取 。 ( )篡 改文 件 :对 系统 的文 件有 选 择地 进行 篡 改 ,对服 务 二 端 上 的文 件有 筛选 的施 行删 除 ,修改 , 行 等一些 系 列相 关操 作 。 运 ( )使 系统 自毁 。利用 的方 法有 很 多 : 比如 改变 报 时 的钟 三 频 率 、使 芯 片热解 体而 毁 坏 、使系 统风 瘫 等 。 三 、木 马的 隐藏技 术 ( )文 件 隐藏 一 木 马 程序 植入 目标 系 统后 ,就 会 改变 其文 件表 现形 式 加 以隐 蔽 ,从 而 欺骗 用户 。隐藏保 护 木马 文件 的方 式 主要 有 以下几 种 : 1 绑 隐藏 . 捆 采 用 此隐 蔽手 段 的木 马主 要有 两种 方 式 :插入 到某 程 序 中或 者 与某 程 序捆 绑到 一起 ,一旦 程序 运行 木 马也 就会 被启 动 ,例 如 使 用压 缩 的木 马程 序伪 装成 je pg等格 式 的图 片文 件 , 马程序 就 木 有 了随时运 行 的可 能 。或者 与 常用 程序 捆 绑到 一起 ,一 旦 木马 被 点 击就 会 加载 运行 ,使 用户 难 以 防范 ,例 如提 供给 用户 捆 绑 了木 马 程序 的解 压 软件 ,一 旦用 户运 行 该软 件此 程序 便 被释 放 并立 即 运行。 2伪装 隐藏 . 首先利 用 自身多变性 的外部特 征伪 装成 单独 的文件 , 定好 文 选 件名 ,然后 修改 文件 系 统的相关 程序 ,最后 设置文件 属性 为隐藏 或 者只 读 。这样 ,木 马就伪装 成 了正常 的文件或 者非 可执行 文件 。
浅谈计算机木马常用的伪装/隐藏及清除方式
木马的隐藏技术
任务栏隐藏:使程序不出现在任务栏中 进程隐藏:躲避任务管理器等进程管理工具 通讯隐藏:进行通信时,将目标端口设定为常用
的80、21等端口,以此躲过防火墙的过滤 文件隐藏:通过某种方式,使用户无法发现木马
程序 加载方式隐藏:
通过各类脚本加载木马 修改设备驱动程序或修改DLL加载木马
利用DLL实现简单隐藏 采用替代技术的DLL木马 采用动态嵌入技术的DLL木马
利用DLL实现简单隐藏
利用DLL实现简单隐藏
假设编写了一个木马DLL,并且通过别的进程来运行它, 那么无论是入侵检测软件还是进程列表中,都只会出现该 进程而并不会出现该木马DLL
如果该进程是可信进程,那么木马DLL作为该进程的一部 分,也将成为被信赖的一员
IAT HOOK技术 Inline HOOK技术
导入表
指向的数组内容会被替换成 导入函数的真正入口地址;
所谓Inline指的是所直调接用修的改其函他模块的函数信息。
数的代码。
当PE装载器将PE文件装载到内存后,再将使用到的
IAT Hook技术改模变块了装AP载I函进来,然后从导入表中读取调用函数的名称或
数的入口,而API函数序本号身,没定有位这些函数在内存中的地址,填入导入表中的
变化,而Inline Hoo一k则个是数保组持输入地址表(IAT),以后PE中程序调用API时
木马要窃取其他进程的一些信息比如网络游戏的登录密码就需要利用代码注入进入其地址空间中运行代码注入技术更改线程上下文注入dll利用createremotethread函数注入createremotethread是一个api函数它可以在其它进程的地址空间中开启远程线程如果要注入的代码是一个dll文件即将一个dll注入到其他进程中需要考虑怎样运行dll中的代码只开启了远程线程还不够还需要将dll加载到目标进程中这时需要在已开启的远程线程中调用loadlibrary函数利用createremotethread函数注入createremotethread函数的第四个参数lpstartaddress即线程函数起始地址直接设置为loadlibrary的地址即可获取loadlibrary的地址很简单此函数由kernel32dll导出windows总是将kernel32dll映射到相同的地址所以只要在自身的进程中获取loadlibrary的地址就可以具体方法是首先调用getmodulehandle函数获取knernel32dll的句柄再调用getprocaddress函数获得loadlibrary的地址利用createremotethread函数注入createremotethread函数的另一个参数lpparameter是要开启的远程线程函数的参数也就是loadlibrary的参数即dll的文件名
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多媒体技术及其应用本栏目责任编辑:唐一东木马通信的隐蔽技术张春诚,路刚,冯元(解放军炮兵学院计算中心,安徽合肥230031)摘要:服务器和客户机如何通信是木马研究的一个核心技术,该文讲述了如何利用网络协议躲避了防火墙和系统工具的检查,成功实现了木马的隐蔽通信,给出的源代码均调试通过。
关键词:木马通信;隐藏通信中图分类号:TP393文献标识码:A 文章编号:1009-3044(2008)35-2481-03Covert Technologies on Communications of Trojan HorseZHANG Chun-cheng,LU Gang,FENG Yuan(PLA Artillery Academy Computer Center,Hefei 230031,China)Abstracr:The communications between server and client is a kernel technology to research Trojan.This paper describes how to hide out inspect of firewall and system tools through network protocol,and successful implement on covert communications of Trojan.These sound codes are all debugged and passed.Key words:communications of trojan horse;covert communications1引言木马通常需要利用一定的通信方式进行信息交流(如接收控制者的指令、向控制端传递信息等)。
系统和应用程序一般采用TCP/UDP 通信端口的形式与控制端进行通信。
木马一般也是利用TCP/UDP 端口与控制端进行通信。
通常情况下,木马进行通信时直接打开一个或几个属于自己的TCP/UDP 端口。
早期的木马在系统中运行后都是打开固定的端口,后来的木马在植入时可随机设定通信时打开的端口,具有了一定的随机性。
可是通过端口扫描很容易发现这些可疑的通信端口。
事实上,目前的许多木马检测软件正是通过扫描本地和远程主机系统中打开的已知木马端口进行木马检测的。
木马通信端口成为暴露木马形踪一个很不安全的因素。
为此采用新技术的木马对其通信形式进行了隐蔽和变通,使其很难被端口扫描发现。
2木马通信形式的隐蔽技术木马为隐蔽通信形式所采用的手段有:端口寄生、反弹端口、潜伏技术,嗅探技术。
2.1端口寄生端口寄生指木马寄生在系统中一个已经打开的通信端口,如TCP 80端口,木马平时只是监听此端口,遇到特殊的指令才进行解释执行。
此时木马实际上是寄生在系统中已有的系统服务和应用程序之上的,因此,在扫描或查看系统中通信端口时是不会发现异常的。
在Windows 9X 系统中进行此类操作相对比较简单,但是在Windows NT/2K 系统中实现端口寄生相对比较麻烦。
在控制端与木马进行通信时,如木马所在目标系统有防火墙的保护,控制端向木马发起主动连接就有可能被过滤掉。
2.2反弹端口反弹端口就是木马针对防火墙所采用的技术[1]。
防火墙对于向内的链接进行非常严格的过滤,对于向外的连接比较信任。
与一般的木马相反,反弹端口木马使用主动端口,控制端使用被动端口。
木马定时监测控制端的存在,发现控制端上线,立即主动连接控制端打开的被动端口。
为了隐蔽起见,控制端的被动端口一般开在TCP80。
这样,即使用户使用端口扫描软件检查自己的端口,发现的也是类似TCP USERIP :1026CONTROLLERIP :80ESTABLISHED 这种情况,用户可能误认为是自己在浏览网页。
这种反弹端口的木马常常会采用固定IP 的第三方存储空间来进行控制端IP 地址的传递。
下面的代码演示了被控制端的客户套接字连接控制端的服务套接字。
CServerSocket *pMy;//CServerSocket 是CAsyncSocket 的派生类……//初始化是开始连接,同时建立定时器BOOL CServiceDlg::OnInitDialog(){CDialog::OnInitDialog();pMy=NULL;SetTimer(199,30000,NULL);pMy=new MySock;pMy->Create();pMy->Connect(m_ip,80);//连接目标的80端口,让人感觉在上网收稿日期:2008-07-02作者简介:张春诚(1982-),男,硕士,研究方向:网络安全;路刚(1983-),男,硕士,研究方向:计算机人工智能;冯元(1983-),男,硕士,研究方向:计算机网络技术。
ISSN 1009-3044Computer Knowledge And Technology 电脑知识与技术Vol.4,No.8,December 2008,pp.2481-2483E-mail:eduf@ Tel:+86-551-569096356909642481Computer Knowledge And Technology电脑知识与技术2008年第4卷第8期(总第35期)}//在定时器中检查是否有连接,否则试图重新连接Void CServiceDlg::OnTimer(UINT nIDEvent){If(nIDEvent=199){If(pMy->Send(“test”,4)=SOCKET_ERROR){pMy->Detach();delete pMy;pMy=NULL;pMy=new MySock;pMy->Create();pMy->Connect(m_ip,80);}}CDialog::OnTimer(nIDEvent);}2.3潜伏技术ICMP(互联网控制报文协议)是IP协议的附属协议,用来传递差错报文以及其他需要注意的消息报文。
它是由内核或进程直接处理而不会打开通信端口。
采用潜伏技术进行通信的木马一般都是使用ICMP协议。
由于不利用TCP/UDP协议,不会打开通信端口,所以不会被一些端口扫描软件和利用端口进行木马防范的软件检测到[2]。
通常情况下,木马利用ICMP报文与控制端进行通信时将自己伪装成一个Ping的进程,这样系统就会将ICMP_ECHOREPLY(Ping的回包)的监听、处理权交给木马进程,一旦事先约定好的ICMP_ECHOREPLY包出现(可以判断包大小、ICMP_SEQ等特征,这此包实为控制端发给木马的命令和数据),木马就会接受、分析并从报文中解码出命令和数据尽而采取相应的操作。
有的采用潜伏技术的木马不会完全采用ICMP协议进行通信,它们只是监听ICMP报文,当出现特殊的报文时,例如特殊大小的包,特殊的报文结构等,它会打开TCP端口等待控制端的连接。
在本地可以看到状态为ESTABLISHED的木马连接(如果端口的最大连接数设为1,在远程用CONNECT方法进行端口扫描时没有办法发现)。
一个严格采用潜伏技术的木马会严格地使用ICMP 协议来进行数据和控制命令的传递(数据放在ICMP的报文中)。
木马利用ICMP协议与控制端进行通信的基本过程如下:为了实现发送/监听ICMP报文,都要首先建立SOCK_RAW(原始套接口)。
建立SOCK_RAW之前需要定义一个IP首部,然后定义一个ICMP首部:typedef struct_ihdr{BYTE i_type;//8位类型BYTE i_code;//8位代码USHORT i_cksum;//16位校验和USHORT i_id;//识别号(一般用进程号作为识别号)USHORT i_seq;//报文序列号ULONG timestamp;//时间戳}IcmpHeader;这时可以通过WSASocket建立一个原始套接口SockRaw=WSASocket(AF_INET,//协议族SOCK_RAW,//协议类型,SOCK_RIPPROTO_ICMP,//协议,IPPROTNULL,//WSAPROTOCOL_INFO置空0,//保留字,永远置为0WSA_FLAG_OVERLAPPED//标志位);随后使用fill_icmp_data子程序填充ICMP报文段,调用CheckSum子程序计算ICMP校验和。
然后通过sendto函数发送ICMP_ECHOREPLY报文:sendto(sockRaw,icmp_data,datasize,0,(structsockaddr*)&dest,sizeof(dest));木马控制端监听程序的基本操作与木马端相同,只是需要使用recvfrm函数接收ICMP_ECHOREPLY报文并用decoder函数将接收来的报文解码为数据和命令:recv_icmp=recvfrom(sockRaw,recvbuf,MAX_PACKET,0,(struct sockaddr*)&from,&fromlen);decode_resp(recvbuf,recv_icmp,&from);对于严格采用ICMP协议通信的木马,除非过滤分析网络链路层的信息或者监视Windows系统的Socket API调用,否则是很难发现其行踪的。
2.4嗅探技术2.4.1共享环境下嗅探技术原理嗅探技术即sniffer技术,指在网络上监听数据报文的方法[3]。
一般来说,sniffer技术应用环境为共享式以太网(Hub-based Eth-ernet)。
在以太网中,所有的通讯都是广播的,通常在同一个网段的所有网络接口都可以访问在物理媒体上传输的所有数据。
在实际系统中,数据的收发是由网卡来完成。
当收到网络上传输来的数据时,首先由网卡对数据帧的目的MAC地址进行检查,如果目的MAC地址与本地的MAC地址相匹配,则认为应接收该数据并产生相应的中断信号通知CPU,如果不匹配,则直接丢弃该数据帧,本地计算机将根本不知道有数据帧的到来。
网卡一般有如下4种接收模式:2482多媒体技术及其应用本栏目责任编辑:唐一东(上接第2467页)对教学工作带来了极大的方便。
参考文献:[1]张万光,李长利.基于Windows系统组建IPv6/IPv4实验网络[J].南开大学报,2003,36,(4):23-25.[2]董红政,史晓鹏,王忠勇.IPv6环境下信息家电系统网络终端设计[J].微计算机信息,2007,12(2):159-160.[3]代刚,马严.移动IPv6技术的研究及其在Linux环境下的实现[J].中兴通讯技术,2002(3):24-27.[4]王常杰,秦浩,王育民.基于IPv6的防火墙设计[J].计算机学报,2001,24(2):221-223.图5IPv6防火墙系统层次结构示意图1)广播方式,网卡能够接收网络中的广播信息。