当前位置:文档之家› CC 木马编程进阶与实战

CC 木马编程进阶与实战

CC  木马编程进阶与实战
CC  木马编程进阶与实战

C/C++木马编程进阶与实战精摘

【内容提要】

本书全面介绍了C/C++语言网络编程和Socket编程的基本方法。重点剖析了目前流行木马的编程方法,揭露了黑客木马编程技术内幕。本书的特色在于从整体入手,先学习木马程序的整体框架雏形,然后一步一步地深入学习木马编程中的隐藏技术、管道技术、反弹技术以及远程注入技术等,全书结合多个生动案例,环环相扣,深入浅出,实现黑客编程技术的融会贯通。本书提供的程序代码力求完整、精简以及可读性强,为初、中级黑客编程爱好者提供了实用的学习参考资料。同时也可以作为大中专院校学生课外编程参考资料。

【序】

一直以来想写一本关于黑客编程方面的书,一方面,市面上流行的黑客书籍大多拘泥于黑客工具的使用上,仅适合入门级的黑客技术爱好者;另一方面,黑客技术博大精深,自身的学识浅薄,不能写成令大家满意的作品,所以就一直搁浅。由于我的上一部专著《信息安全顾问最佳实践指南》的读者给了我颇多的建议,同时也给了我写一本黑客编程方面的书籍的信心。在中国,随着Internet的发展,黑客技术的爱好者也越来越多,水平也越来越高,他们不再满足使用别人的工具,也想自己亲自动手编制一些工具,这就非常需要一部关于黑客技术理论方面的书籍。

兵家云:“知己知彼,百战不殆”,毛主席也说过“要想知道梨子的滋味,就得亲自尝一下”,所以,我们要亲自动手编制一些实用的小程序,首先,我们要摈弃那些代码冗长,功能大而全的程序;其次,从整体入手,先有面的概念,然后在学习点的知识,最后串起来;最后,任何代码都要在实践中进行检验,所以,在本部书最后一章设计了四个完整实用的程序,给读者一个豁然开朗的感觉。

【本书的组织】

第1~9章主要内容如下:

第1章,木马介绍-介绍了木马的历史以及当前木马的发展趋势。

第2章,Windows下黑客编程语言-如何学习黑客编程以及C/C++语言的使用入门。

第3章,Socket套接字编程基础-TCP/UDP的Socket介绍,木马基本结构介绍。

第4章,木马隐藏技术剖析-介绍了注册表的自启动加载技术、服务的加载技术、DLL远程注入的加载技术。

第5章,匿名管道技术-介绍了匿名管道的技术利用,单、双管道后门代码的分析,以及简单的双管道后门。

第6章,反弹木马技术-介绍了反弹木马的出现背景,着重分析了反弹木马的原理以及给出

反弹式木马的源代码。

第7章,端口重用技术-介绍了端口重用的实现方法,以及给出了端口重用的源代码。

第8章,黑客编程经典代码-给出了经常使用的部分C语言源代码,例如:下载者、关机、进程查杀等。可以直接使用或作为函数使用。

第9章,实战编程-从实践出发,通过四个真实的案例,对学过的技术进行练习,由浅入深,最后做出真正实用的木马。

【致谢】

最后,感谢一直支持我的家人和朋友,在写作的过程中,每当我遇到困难的时候,甚至放弃的时候,是他们给了我巨大的精神鼓舞和物质支持,在此,再一次向他们表示感谢。

【目录】

第一章木马介绍 (1)

1.1木马发展历史 (1)

1.2国内木马发展趋势 (3)

第二章Windows下黑客编程语言 (10)

2.1如何学习黑客编程 (11)

2.2黑客编程的基本技巧 (12)

2.3 C语言编程入门 (14)

2.3.1 C程序结构 (14)

2.3.2利用VisualC++6.0编译 (16)

2.3.3VisualC++6.0 使用技巧 (18)

第三章Socket套接字编程基础 (22)

3.1客户机/服务器模式介绍 (22)

3.2基于TCP的socket编程 (27)

3.3基于UDP的socket编程 (28)

3.4 木马雏形框架 (32)

3.5木马源码剖析 (33)

第四章木马隐藏技术剖析 (37)

4.1 注册表加载技术 (40)

4.1.1注册表的基本操作 (44)

4.1.2 代码实现注册表自启动 (48)

4.2服务级的木马技术 (49)

4.2.1 Windows服务简介 (49)

4.2.2编程实现服务级木马 (51)

4.3 DLL远程注入技术 (55)

4.3.1 动态链接库 (62)

4.3.2 DLL木马的启动 (63)

第五章匿名管道技术 (68)

5.1匿名管道技术的利用 (68)

5.2单管道后门代码 (71)

5.3双管道后门代码 (73)

5.4简化双管道后门代码 (76)

第六章反弹木马技术 (78)

6.1什么是反弹式木马 (78)

6.2反弹式木马的原理 (78)

6.3反弹木马程序源码 (80)

第七章端口重用技术 (82)

7.1端口重用实现 (83)

7.2端口重用实现代码 (86)

第八章黑客编程经典代码 (95)

8.1 下载者源码 (95)

8.2 关机源码 (96)

8.3 获取系统信息源码 (96)

8.4 进程查杀源码 (100)

第九章实战编程 (103)

9.1牛刀小试—我的第一个木马 (103)

9.2进一步思考—穿过防火墙 (106)

9.3再进一步—控制与隐藏 (116)

9.4终极篇—实战检验 (132)

【其他】

书名:C/C++木马编程进阶与实战

作者:赵玉明

开本:780x1000 1/16 字数:200 千字

版次:2008年3月第一版2008年3月第一次印刷

印数:0001~5000

定价:35.00元

第一章木马介绍

什么是“木马”?

正像历史上的“特洛伊木马”一样,被称作“木马”的程序也是一种掩藏在美丽外表下打入我们电脑内部的东西。确切地说,“木马”是一种经过伪装的欺骗性程序,它通过将自身伪

装吸引用户下载执行,从而破坏或窃取使用者的重要文件和资料。

木马程序与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它的主要作用是向施种木马者打开被种者电脑的门户,使对方可以任意毁坏、窃取你的文件,甚至远程操控你的电脑。木马与计算机网络中常常要用到的远程控制软件是有区别的。虽然二者在主要功能上都可以实现远程控制,但由于远程控制软件是“善意”的控制,因此通常不具有隐蔽性。木马则完全相反,木马要达到的正是“偷窃”性的远程控制,因此如果没有很强的隐蔽性的话,那么木马简直就是“毫无价值”的。

一个完整的“木马”程序包含了两部分:“服务器”和“控制器”。植入你的电脑的是它的“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。

众所周知,基于TCP/IP协议接入互联网的电脑有0到65535共256×256个端口。通常我们上网的时候,电脑通过80端口与外界保持联系。运行了木马程序的“服务器”以后,你的电脑就会有另一个或几个端口被打开,使黑客可以利用这些打开的端口进入你的系统,你的系统安全和个人隐私也就全无保障了!

1.1木马发展历史

计算机世界中的特洛伊木马的名字由《荷马史诗》的特洛伊战记得来。故事说的是希腊人围攻特洛伊城十年后仍不能得手,于是阿迦门农受雅典娜的启发:把士兵藏匿于巨大无比的木马中,然后佯作退兵。当特洛伊人将木马作为战利品拖入城内时,高大的木马正好卡在城门间,进退两难。夜晚木马内的士兵爬出来,与城外的部队里应外合而攻下了特洛伊城。而计算机世界的特洛伊木马(Trojan)是指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具备破坏和删除文件、发送密码、记录键盘和攻击等特殊功能的后门程序。

? 第一代木马:伪装型病毒

这种病毒通过伪装成一个合法性程序诱骗用户上当。世界上第一个计算机木马是出现在1986年的PC-Write木马。它伪装成共享软件PC-Write的2.72版本(事实上,编写PC-Write 的Quicksoft公司从未发行过2.72版本),一旦用户信以为真运行该木马程序,那么他的下场就是硬盘被格式化。在我刚刚上大学的时候,曾听说我校一个前辈牛人在WAX机房上用BASIC作了一个登录界面木马程序,当你把你的用户ID,密码输入一个和正常的登录界面一模一样的伪登录界面后后,木马程序一面保存你的ID,和密码,一面提示你密码错误让你重新输入,当你第二次登录时,你已成了木马的牺牲品。此时的第一代木马还不具备传染特征。

? 第二代木马:邮件型木马

继PC-Write之后,1989年出现了AIDS木马。由于当时很少有人使用电子邮件,所以AIDS 的作者就利用现实生活中的邮件进行散播:给其他人寄去一封封含有木马程序软盘的邮件。之所以叫这个名称是因为软盘中包含有AIDS和HIV疾病的药品,价格,预防措施等相关信息。软盘中的木马程序在运行后,虽然不会破坏数据,但是他将硬盘加密锁死,然后提示受感染用户花钱消灾。可以说第二代木马已具备了传播特征(尽管通过传统的邮递方式)。

? 第三代木马:网络传播性木马

随着Internet的普及,这一代木马兼备伪装和传播两种特征并结合TCP/IP网络技术四处泛滥。同时他还有新的特征:

第一,添加了“后门”功能。

所谓后门就是一种可以为计算机系统秘密开启访问入口的程序。一旦被安装,这些程序就能够使攻击者绕过安全程序进入系统。该功能的目的就是收集系统中的重要信息,例如,财务报告、口令及信用卡号。此外,攻击者还可以利用后门控制系统,使之成为攻击其它计算机的帮凶。由于后门是隐藏在系统背后运行的,因此很难被检测到。它们不像病毒和蠕虫那样通过消耗内存而引起注意。

第二,添加了击键记录功能。

从名称上就可以知道,该功能主要是记录用户所有的击键内容然后形成击键记录的日志文件发送给恶意用户。恶意用户可以从中找到用户名、口令以及信用卡号等用户信息。这一代木马比较有名的有国外的BO2000(BackOrifice)和国内的冰河木马。它们有如下共同特点:基于网络的客户端/服务器应用程序。具有搜集信息、执行系统命令、重新设置机器、重新定向等功能。当木马程序攻击得手后,计算机就完全在黑客控制的傀儡主机,黑客成了超级用户,用户的所有计算机操作不但没有任何秘密而言,而且黑客可以远程控制傀儡主机对别的主机发动攻击,这时候背俘获的傀儡主机成了黑客进行进一步攻击的挡箭牌和跳板。

1.2国内木马发展趋势

自BO、冰河诞生以来,国内的木马历史便正式展开了,下面我们以技术的发展突破作为界限,分别说说他们的历史和发展趋势。

? 后台运行程序

早期的特洛伊木马后门先驱可以追溯到1997年那个网络在国内还未大量普及的时代,在当时,初期阶段的特洛伊木马技术在国外早已热火朝天,而国内众多用户却还在用着拨号上网偶尔浏览新闻和下载文件,只有少数用户知道并研究外国传入的英文界面特洛伊木马程序BO、SubSeven等,木马技术始终属于少数人手里的“高科技”入侵工具,直到国产木马“冰河”的出现和随后的几个版本升级,才标志着国内用户迎来了网络木马的混沌时代。冰河在2000年停止更新时放出的最后一个版本更是让大家第一次体会到了远程控制他人计算机的心跳感觉,于是冰河在短时间内就掀起了一股热潮,一时之间国内许多计算机都对外开放了被冰河驻扎的标志——7626端口,并且大量的扫描报告也都指向7626端口,随后众多带有模仿性质和改良优化的其他后门也相应出事,这个时代的后门入侵是极其简单的,究其原因,是由于那时候网络防火墙的雏形仍在探索发展阶段,大部分网络用户都是处于毫无防备的状态下,而且那时候又有几个人明白所谓的“安全问题”是什么东西呢?于是许多人依靠这些木马入了门。

这一时期的木马在现在的时代眼光看来,都是及其简单的入门级产品了,但是由于当时的主

流系统是安全性马马虎虎的Windows 9x系列,这些木马只需要简单的一些功能函数就实现了在任务管理器中的隐藏,而且由于当时并没有太多相对强大的第三方任务管理器,加上用户自身安全意识比现在相对更低,于是造就了一个木马招摇过市的时代。

从技术上看,这时期的木马后门普遍都是运行于用户层(Ring3)上的隐藏了窗体并将自己在Windows9x中注册为“服务程序”(RegisterAsService)的后台网络应用程序,而且大部分并不存在自我保护功能,就连冰河的自我保护也是更改了一些常用文件如文本文件等类型的打开方式以实现的;这一时代的木马启动项也非常简单易找,就现在的木马发展程度来说,它们充其量只能作为初学者的木马查杀防范入门练习教材罢了,首先这些木马的标准运行环境是毫无安全防御可言的Windows 9x系统,到了NT架构系统上甚至会直接报错退出运行了,只有少数木马对NT架构系统做了一点额外设置以便绕过Win9x专有的系统函数来确保运行顺利,但是这样的后果就是它们直接在NT系统自带的任务管理器中暴露并简单终结掉了;其次,用户只需要找到它的进程并终结,然后简单的清理一下启动项残留数据就完成了木马的查杀——大部分此类型的木马的全部家当就是一个能够自我复制到系统目录并设置自启动项的可执行程序而已,只要这个程序消失,就等于把整个木马扫地出门了。然而,由于这一时期的用户群体几乎没有安全意识和相应反病毒产品领域的空白,这一批木马技术先驱却为后面的木马发展打下了不可忽视的基础。

? 内部间谍软件

好景不长,随着越来越多用户对信息安全有了隐隐约约的需求和安全厂商适时推出了用于屏蔽过滤外部异常访问扫描的网络防火墙产品以后,许多用户即使对计算机处于朦胧状态,也会给自己安装一个网络防火墙产品——虽然用户可能根本连它的用处是什么都不知道;其次,网吧作为一种大众普遍上网场所也开始流行起来,初涉木马的试探者们很快发现他们无法成功对网吧里的电脑进行连接控制了,但是在网吧里使用木马连接Internet上的受感染机器却又不存在这个问题,这是为什么?因为网吧的内部网络环境是一个局域网,它使用私有IP地址进行通讯,对外部网络的访问出口是通过代理服务器(Proxy)或路由器NAT(网络地址转换,Network Address Translation)方式实现的,这两种方法都会屏蔽掉内部网络,所有内部网络中的计算机对于公共网络来说都是不可见的,也就是说,无论用户在网吧内部什么机器上种植了木马,那么只要他离开了网吧到外面的公共网络中意图对这个木马进行连接控制,他就会发现无论如何努力都做不到了,这是由于网吧对外提供的只是一个由网络接口设备负责通讯和地址转换的公共网络IP,用户在公共网络中执行的访问操作都只会被视为对这个网络接口设备的访问,而这个网络接口设备上是不可能存在用户刚才在网吧内部机器中设置的木马的,而且由于连接条件匹配不充分,它也不会把这个连接请求转交给内部网络中任何一台计算机,所以网吧内部网络里植入的木马根本就收不到来自外部的连接控制请求,自然也就无法工作了。

这个现象直接导致了基于C/S(客户端/服务端)模式的传统木马在遇到网吧或者类似的局域网环境时无功而返,同时一部分安装了网络防火墙的用户也由于防火墙默认屏蔽了外部网络访问的大部分端口而幸免于难,在相当一段时间内造成了传统木马一蹶不振的局面,然而好景不长,在经过一段时间的沉寂后,一种新型的木马连接概念被提出来了,虽然其原理也是基于C/S模式的网络连接,但是在连接时却将态度转了180度:这次的入侵,发出第一个连接请求的不再是远程控制者使用的客户端,而是受害者的木马服务器端。第一个使用此概念的木马名为“网络神偷”,被设计用来从局域网内往外盗取文件数据。

这个概念被业界称为“端口反弹”,它的实现思路是将以往的C/S模式来了个逆转:客户端开启一个本地端口来监听远方连接请求,而服务端却是通过一些方法获得客户端IP以后主动来连接它,最终实现远程控制。这个思路一下子就把网络防火墙打个措手不及,因为早期的防火墙开发者并未考虑过通过本机主动发起的连接也会出现这种意料之外的情况,而对于网吧等局域网环境,它们更只是会把这一行为视作用户发出的一次正常网络请求,于是,这个来自心灵地狱的连接请求最终和入侵者碰了头,连接成功后发生的事情就和传统木马所要做的所有事情一模一样了。

在早期网络防火墙尚未出现记录本机主动连接请求的功能之前,要判断自己的机器上是否存在反弹型木马是一件比较困难的事情,因为使用端口反弹概念的服务端并不主动开放任何端口连接,在其未发起入侵连接之前,用户无法得知自己机器进程里是否有异常,直到它与远方入侵者建立了连接,用户才有可能在网络程序状态检测工具里看到一些对外连接的进程信息,可是这样主动对外连接的进程也太多了,如Internet Explorer、Foxmail、QQ等也都是主动对外连接的,一般的用户根本就无法将其判断分析出来。端口反弹型木马的出现虽然让入侵的隐蔽等级又提高了一个层次,但是它也不是无懈可击的,由于木马需要实现主动连接客户端的功能,而大部分入侵者是不会使用固定IP的,在生成木马服务端的时候就必须使用一个相对固定的公共网络连接方式让服务端以后能通过这个途径得到客户端的控制请求,这一途径经常是公共网络上的HTTP空间或FTP空间,随着技术发展还出现过依赖动态域名直达客户端的端口反弹型木马,它们与客户端建立连接的步骤是:

1.服务端根据入侵者预设的反弹依据,连接到一个指定的公共网络空间里,通过读取某个数据文件获得客户端的当前IP地址,这个数据文件是通过客户端的自动更新上传实现的。

2.获得IP地址数据后,服务端尝试与之建立连接

3.如果连接成功,则开始控制行为

? 无进程”木马后门

在2002年和2003年间,网络上出现了3款令当时的用户和安全技术者大呼头痛的木马作品“广外系列”,分别是“广外男生”、“广外女生”以及“广外幽灵”,这3个作品都使用了在当时颇感新鲜的技术“远程线程注射”,做到了国内真正意义上的第一款“无进程”木马——DLL木马。

“广外男生”的主体是一个可执行程序EXE和一个动态链接库DLL,而EXE只是用于在开机时调用这个DLL执行木马主线程并使用“远程线程注射”(RemoteThread Inject)技术将DLL与这个EXE脱离开来,然后DLL的线程进入系统里现有的任意一个进程的内存空间中维持运行,而用于执行最初的DLL启动工作并实现在DLL被破坏时复活它的EXE会在DLL成功插入其他进程后自动退出,这种传统的DLL启动方式成为早期大量DLL木马的加载方式,所以它存在一个弱点:在计算机启动时用户如果查看任务管理器的速度稍微快一些,他就能看到一个迅速消失的进程,而且这时期的DLL木马虽然实施了无进程启动,但却是被动的加载方式,在如今可以枚举并终止进程中相关DLL模块的程序遍天下的现状中,任意一款具备进程模块查找功能的程序如Process Explorer、IceSword等都能将它们清

理干净——它们的文件名太明显了。

但是不得不否认,早期的DLL木马技术虽然只是个雏形,但它却是为如今到处横行的真正无第三方EXE加载项(使用特殊技术令系统外壳程序加载它)的众多恶意软件和木马的DLL 主体的技术实现做了铺垫。从最初的第三方EXE加载DLL启动方式开始,到随后的使用rundll32.exe加载运行,再到利用NT服务的宿主程序svchost.exe实现启动,直到现在的技术巅峰——使用“ShellExecuteHook”(执行挂钩)技术。

经常关注安全的用户或许会见到过“ShellExecuteHook”,如今许多木马和恶意程序都在用户层使用它作为启动方式了,但这是一种什么技术,大家可能又会迷惑不解了,究竟这个技术和木马有什么联系?其实这是一种正常的系统功能,名为“执行挂钩”,操作系统厂商开发它的初衷十分简单:为程序提供一个额外的通知功能,以实现系统中任何程序启动时都提前让使用了“执行挂钩”的程序收到新程序的启动通知,简单的说,这是操作系统在出于某种程序交互需求的考虑下所衍生的技术,它的作用就是让一部分程序能够在其他程序开始运行之前就得知有新程序即将运行的通知,以及这个程序的映像文件名称等信息,用于接收通知的程序必须遵循COM对象编程标准编写。

这个技术是通过外壳程序Explorer.exe实现的,它的加载项被指定在系统注册表“HKLMSoftwareMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks”内,用户浏览这里会发现里面并不是熟悉的路径和文件名,而是一堆奇怪组合的数字和字符串,这些字符串被称为“Class ID”(类唯一标识符,CLSID),每一个DLL模块都拥有属于它自己的唯一CLSID,操作系统自身是通过CLSID获得这个DLL的详细文件位置并加载它的。在执行挂钩技术里,这个注册表键里的数据就代表了申请接受通知的DLL模块的CLSID,当一个新程序执行时,系统会将这个消息通过注册表的执行挂钩入口派发出去,而后系统会载入这些符合COM对象标准的DLL文件以执行它预先定义的线程代码对消息进行处理,换句话说,也就是系统自己启动了声明为“执行挂钩”对象的DLL模块,它们的初次加载程序是外壳Explorer.exe。看到这里,各位是不是觉得这个过程很熟悉?没错,这简直就是第一代DLL 木马依靠第三方EXE实现自启动的翻版,所不同的是,这次的DLL启动宿主是系统外壳自身,而且它还拥有一个任何第三方EXE宿主都无法具备的功能:确保DLL在每一个进程启动时自动加载运行。

这个技术最早被杀毒软件用于实现提前检测功能,然而现在它却被恶意软件、木马后门等程序编写者大量的用在了不法行为之上,与IFEO的初衷一样,它们的功能都被曲解应用了。

由于这个技术的执行逻辑使得木马主体DLL可以在每一个程序运行时也随着它执行并随之进入它的内存空间,成为其模块之一,也就是说,这个技术使得做了保护措施的DLL木马变得难以彻底查杀,而且它不会产生任何敏感位置的启动项,也不需要指明一个加载器——它的加载器就是Explorer.exe自身。而广大用户中,能够理解并找到这个注册表项的人不多。

? 网页木马

网页木马并不是指使用网页编写的木马程序,也不是一种新的木马类型,而是一种通过浏览器漏洞实现普通木马传播的感染手段,这个时代里浏览器已经成为众多入侵途径的窗口,它们都是通过一些嵌入了特殊构造的漏洞执行代码的网页和脚本进行入侵的,其后果是浏览器

代替用户自动运行了之前下载的木马程序,这一切,让人防不胜防。

其实不仅仅是浏览器自身漏洞可以引发木马危机,各种以浏览器为执行宿主的BHO控件漏洞也同样可以导致浏览器崩溃或自行下载执行入侵者指定的页面,如支付宝、Web迅雷、百度搜霸、蓝天语音聊天室插件等IE控件都出现过危害程度高的漏洞。

当一个被载入浏览器的控件出现漏洞时,对用户而言就等于是浏览器自身出了漏洞,因为它们形成了宿主关系,其影响已经形成一体了,当入侵者使用特殊编写的脚本诱使存在漏洞的控件发生溢出时,轻则控件发生崩溃直接导致浏览器也跟着崩溃,重则发生缓冲区溢出,执行来自浏览器传递的攻击代码ShellCode而导致用户机器变成一个“木马下载器”(Trojan-Downloader),自动下载执行木马等危害程序。

网页木马的历史非常悠久,自从1999年MIME执行漏洞被公开后,早期的网页木马便宣告出世,如果你是那个时代就走过来的用户,你一定听说过“求职信”,它就是使用浏览器MIME漏洞传播的早期恶意程序之一,随后的“大无极”更是把漏洞影响扩散到了严重危害的程度。大部分网页木马的共同点都是依赖于用户机器的浏览器漏洞来实现下载木马本体执行的功能,在相关厂商未出有效的安全补丁之前,我们能做的只有通过某种手段预防漏洞危害,那就是利用浏览器自身提供的一个小功能将问题控件暂时屏蔽。细心的用户在阅读一些安全小组的漏洞分析报告时,经常会看到这么一句:“在软件厂商未发布安全补丁之前,我们建议用户对该控件设置Killbit”。那么,什么是“Killbit”?微软编号Q的知识库文章《如何禁止ActiveX 控件在Internet Explorer 中运行》一文对此做出了诠释:Internet Explorer 有一项安全功能,可用于禁止Internet Explorer HTML 呈现引擎加载某个ActiveX 控件。此功能可通过进行注册表设置来完成,这种设置叫做设置“killbit”。一旦设置了“killbit”,该控件即永远不可加载,即使将其完全安装也是如此。此设置可以确保,即使有漏洞的组件被引入或重新引入系统中,它也不具活性,没有破坏力。

? 主流技术“Rootkit”

上面提到的木马和恶意程序手段其实都是在用户层Ring3级别运行的应用程序,所以它们无法做得非常厉害,只要用户使用适当的安全工具即可检测并除去,然而现在,技术的战斗转入了系统核心层Ring0。

要了解Rootkit木马的原理,就必须从系统原理说起,我们知道,操作系统是由内核(Kernel)和外壳(Shell)两部分组成的,内核负责一切实际的工作,包括CPU任务调度、内存分配管理、设备管理、文件操作等,外壳是基于内核提供的交互功能而存在的界面,它负责指令传递和解释。由于内核和外壳负责的任务不同,它们的处理环境也不同,因此处理器提供了多个不同的处理环境,把它们称为运行级别(Ring),Ring让程序指令能访问的计算机资源依次逐级递减,目的在于保护计算机遭受意外损害——内核运行于Ring 0级别,拥有最完全最底层的管理功能,而到了外壳部分,它只能拥有Ring 3级别,这个级别能操作的功能极少,几乎所有指令都需要传递给内核来决定能否执行,一旦发现有可能对系统造成破坏的指令传递(例如超越指定范围的内存读写),内核便返回一个“非法越权”标志,发送这个指令的程序就有可能被终止运行,这就是大部分常见的“非法操作”的由来,这样做的目的是为了保护计算机免遭破坏,如果外壳和内核的运行级别一样,用户一个不经意的点击都有可能破坏整个系统。

由于Ring的存在,除了由系统内核加载的程序以外,由外壳调用执行的一般程序都只能运行在Ring 3级别,也就是说,它们的操作指令全部依赖于内核授权的功能,一般的进程查看工具和杀毒软件也不例外,由于这层机制的存在,我们能看到的进程其实是内核“看到”并通过相关接口指令(还记得API吗?)反馈到应用程序的,这样就不可避免的存在一条数据通道,虽然在一般情况下它是难以被篡改的,但是不能避免意外的发生,Rootkit正是“制造”这种意外的程序。简单的说,Rootkit实质是一种“越权执行”的应用程序,它设法让自己达到和内核一样的运行级别,甚至进入内核空间,这样它就拥有了和内核一样的访问权限,因而可以对内核指令进行修改,最常见的是修改内核枚举进程的API,让它们返回的数据始终“遗漏”Rootkit自身进程的信息,一般的进程工具自然就“看”不到Rootkit了。更高级的Rootkit还篡改更多API,这样,用户就看不到进程(进程API被拦截),看不到文件(文件读写API被拦截),看不到被打开的端口(网络组件Sock API被拦截),更拦截不到相关的网络数据包(网络组件NDIS API被拦截)了,幸好网络设备的数据指示不受内核控制,否则恐怕Rootkit要让它也不会亮了才好!我们使用的系统是在内核功能支持下运作的,如果内核变得不可信任了,依赖它运行的程序还能信任吗?

Rootkit技术是如今这个时代的研究主流,从最初的可以在安全模式里轻易发现并删除的灰鸽子保护驱动、3721保护驱动等,到现在的无视安全模式照常运行的驱动,它们在Ring0层里实现的功能早已不再是简单的文件隐藏保护手段,而是到了全面负责的地步,例如有一种Rootkit分为Ring3层执行程序和Ring0驱动两部分,而它的Ring3启动项是一般用户无论如何也找不出来的,因为它的驱动实现的功能是在用户系统每次启动进入桌面,所有启动项都未加载时将Ring3层可执行程序的路径写入启动项,当桌面加载完毕、所有启动项都执行完毕后,驱动又做了一件事情,它将刚才自己写入的启动项删除了,如此一来,不知情的用户根本就不知道自己机器上存在过如此险恶的东西。

木马编程系列

木马编程系列 今天我为大家讲如何用VB编写"木马"程序 木马一般分为两个主程序:一个是服务器端的程序(server),另一个是客户端程序(client),服务器程序是给 攻击对象用的,千万不可用错了----给自己种马的人 0 客户程序才是给自己用的,于是我们就用VB建立两个程序,一个为服务器端程序cockhorseserver,另一个为 客户端程序cockhorseclient. 先在cockhorseclient程序中建立一个窗体,加载一个winsock控件,称为tcpclient,再加上两个文本框,用来 输入服务器的IP地址和端口号.另外还要建立一个按钮,按下后可以对连接进行初始化. 代码我写下: Private Sub Command1_Click() '调用connect方法,初始化连接. tcpclient.RemoteHost = ipinput.Text tcpclient.RemotePort = Val(portinput.Text) '这是端口号,默认为1001 tcpclient.Connect '和指定的IP相对的计算机相连接 cmdconnect.Enabled = False End Sub (在收到数据之后,就要对这些数据做出相应的处理,使用dataarrival事件,可以方便运载数据进操作. Private Sub tcpclient_dataArrival(ByVal bytestotal As Long) Dim strdata As String tcpclient.GetData strdata If strdata = "test connect" Then tcpstate.Text = "connect OK" + vbNewLine + LocalIP Is ":" + -tcpclient.LocalIP + "computer name is : " + tcpclient.LocalHostName tcpstate.Text = tcpstate.Text + vbNewLine + "remote ip is :" + -tcpclient.RemoteHostIP + "computer name is : " + tcpclient.remotehostname If InStr(Trim(strdata), "closeOK?") > 0 Then tcpclient.Close End If End If txtoutput.Text = txtouput.Text + vbNewLine + tcpclient.RemoteHostIP + ": " + strdata End Sub

1个简单的批处理让你的电脑免疫所有木马病毒

1个简单的批处理让你的电脑免疫所有木马病毒 为了编写这这个批处理程序,本人整整研究了1个多星期,终于完成了,给大家分享。不发附件,因为下载要钱的,我要的是让大家都可以免费获得这个好程序。我把原代码发上来! 觉得的好的,只需要帮我顶下帖子就行!谢谢!! @echo off color 0a echo ****************************************************************************** echo * * echo * 现在进行机器狗免疫 * echo * * echo ****************************************************************************** md C:\WINDOWS\system32\wxptdi.sys 2>nul md C:\WINDOWS\system32\wxptdi.sys\1..\ 2>nul md C:\WINDOWS\system32\fat32.sys 2>nul md C:\WINDOWS\system32\fat32.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\ati32srv.sys 2>nul md C:\WINDOWS\system32\drivers\ati32srv.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\pcibus.sys 2>nul md C:\WINDOWS\system32\drivers\pcibus.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\pcidisk.sys 2>nul md C:\WINDOWS\system32\drivers\pcidisk.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\pcihdd.sys 2>nul md C:\WINDOWS\system32\drivers\pcihdd.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\phy.sys 2>nul md C:\WINDOWS\system32\drivers\phy.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\pop.sys 2>nul md C:\WINDOWS\system32\drivers\pop.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\puid.sys 2>nul md C:\WINDOWS\system32\drivers\puid.sys\1..\ 2>nul md C:\WINDOWS\system32\drivers\usb32k.sys 2>nul md C:\WINDOWS\system32\drivers\usb32k.sys\1..\ 2>nul md C:\WINDOWS\system32\2dogkiller.sys 2>nul md C:\WINDOWS\system32\2dogkiller.sys\1..\ 2>nul attrib C:\WINDOWS\system32\wxptdi.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\fat32.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\drivers\ati32srv.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\drivers\ati32srv.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\drivers\pcidisk.sys +s +h +r +a 2>nul attrib C:\WINDOWS\system32\drivers\pcihdd.sys +s +h +r +a 2>nul

利用NC来制作自己的反弹木马

利用NC来制作自己的反弹木马 免责申明:我也是第一次公开写这样的东西,不过写此文的目的是为了技术上的研究,把我自己的一些方法和技巧讲出来,和大家一起探讨,希望大家能提出意见.并不是教大家如何利用此方法去破坏别人的电脑!请不要用于非法目的,否则一切责任自负与我无关,呵呵~~~我可不想做黑鹰的大米呀. 一、必须掌握的基础知识; NC这个工具对于一个黑客来说再熟悉不过了,可以说是每个黑客必备工具之一,被称做黑客的一把瑞士军刀!可见其地位之高.大家有兴趣的话自己去看一下有关NC的一些详细用法吧,我在这里就不多说了,这不是我这次要讲的主题,我只把其中我用到的一些参数介绍给大家.NC并不是一个图形界面的工具,但它有很强大的正向链接、反向链接、扫描和监听PORT等功能! 对于木马,它的种类也有很多,但最让人喜欢的还是具有反弹功能的木马,它可以让我们一劳永逸,一次种植成功以后便自动找上门来,呵呵~~~事半功倍呀!这也是我喜欢反向链接木马的一个原因。(对于正向链接我最喜欢的一个工具就是radmin,原因就是它不会被杀。)至于如何让别人中了你的木马、如何去入侵对方,然后给他种马我就不说了(这也不是我这次要说的主题)方法和手法有很多,就看你的技术了。当你成功入侵一台机子后,你想做的事当然是永远的抓住它,不要让他轻易的溜走,那就赶快上传你自己的木马吧!这是我的通常做法。这时一个优秀的木马会给我们很大帮助。 还是来说NC吧。它的使的格式是这样的,在CMD下输入:NC.EXE [参数1] [参数2] ……主机名(或IP)。 NC有很多的参数,它的功能就体现在这些参数上。这里有几个要用到的、必需掌握的参数给大家简略的介绍一下: -l监听模式,可以监听本地的PORT即端口; -p设置端口,后加端口号; -v显示详细信息, -vv显示更详细信息; -t 以telnet交互方式来回应; -e程序重定向,可以把目标机的CMD重定向到一个端口上,然后我们在本机进行监听,这样就可以得到目标机的SHELL了,具体看后面我讲的例子吧; -d后台模式;主要的参数就这么多吧,我们通过下面的例子来一步一步学习吧! 二、简单的几个例子; 例如对本机TCP端口90的监听:nc.exe -l -v -p 90 127.0.0.1 意思是临听本机的TCP 端口90(如图1)。

查木马的简单方法

查木马的简单方法 当前最为常见的木马通常是基于TCP/UDP协议进行client端与server端之间的通讯的,既然利用到这两个协议,就不可避免要在server端(就是被种了木马的机器了)打开监听端口来等待连接。例如鼎鼎大名的冰河使用的监听端口是7626,Back Orifice 2000则是使用54320等等。那么,我们可以利用查看本机开放端口的方法来检查自己是否被种了木马或其它黑客程序。以下是详细方法介绍。 1.Windows本身自带的netstat命令 关于netstat命令,我们先来看看windows帮助文件中的介绍: Netstat 显示协议统计和当前的TCP/IP 网络连接。该命令只有在安装了TCP/IP 协议后才可以使用。 netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval] 参数 -a 显示所有连接和侦听端口。服务器连接通常不显示。 -e 显示以太网统计。该参数可以与-s 选项结合使用。 -n 以数字格式显示地址和端口号(而不是尝试查找名称)。 -s 显示每个协议的统计。默认情况下,显示TCP、UDP、ICMP 和IP 的统计。-p 选项可以用来指定默认的子集。 -p protocol 显示由protocol 指定的协议的连接;protocol 可以是tcp 或udp。如果与-s 选项一同使用显示每个协议的统计,protocol 可以是tcp、udp、icmp 或ip。 -r 显示路由表的内容。 interval 重新显示所选的统计,在每次显示之间暂停interval 秒。按CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。 好了,看完这些帮助文件,我们应该明白netstat命令的使用方法了。现在就让我们现学现用,用这个命令看一下自己的机器开放的端口。进入到命令行下,使用netstat命令的a和n两个参数: C:\>netstat -an Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:80 0.0.0.0:0 LISTENING TCP 0.0.0.0:21 0.0.0.0:0 LISTENING TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING UDP 0.0.0.0:445 0.0.0.0:0 UDP 0.0.0.0:1046 0.0.0.0:0 UDP 0.0.0.0:1047 0.0.0.0:0

自解压木马的制作及查杀图文教程

自解压木马的制作及查杀图文教程 https://www.doczj.com/doc/85211800.html,/wojiubaibudu/blog/item/e75b30871fd65d3466096e04.html 2009-09-24 自解压木马是利用 WinRAR 软件的自解压技术制作的。WinRAR 解压软件想必你的电脑已经安装了吧。 不要问我怎么安装 WinRAR ,我会生气的(╰_╯)。那么,我们开始吧。 1.本例用一张图片和一个木马制作自解压木马,当然你可以用别的文件代替本例中的图片。 2.接着,将图片和木马压缩为一个文件,不要问我怎么压缩(╰_╯)。

3.双击压缩好的文件,可以看到下图界面,单击工具栏最右边的“自解压格式”。 4.在弹出的对话框中,再单击下图鼠标所指的“高级自解压选项”。

5.此时,弹出如下图所示对话框,在“解压路径”文本框中输入一个路径,此路径的作用是: 当用户运行自解压木马时,压缩包中的木马自动释放到此路径中。所以,最好输入一个不容易被发现的位置 如本例中的“%SystemRoot%\system32”,表示解压到系统文件夹下的system32文件夹中。

同时,还要在【安装程序】组合框中的“解压后运行”文本框中输入木马文件“木马.exe”, 在“解压前运行”文本框中输入图片文件“MM.jpg”。 6.切换到【模式】选项卡,在【安静模式】中选择“全部隐藏”。

7.再切换到【更新】选项卡,选择“解压并替换文件”和“覆盖所有文件”。

8.点击确定,再点击确定,到此为止,自解压木马就制作完成了,生成的自解压木马在原压缩文件同目录下,如下图所示。

基于行为分析的木马检测系统设计与实现

龙源期刊网 https://www.doczj.com/doc/85211800.html, 基于行为分析的木马检测系统设计与实现 作者:张琦李梅 来源:《电子技术与软件工程》2016年第18期 摘要 随着近年来网络技术的飞速发展,安全问题日益突出,病毒、木马、后门程序等恶意代码层出不穷,重大经济损失事件及重要泄密事件频频发生。传统的代码检查技术主要依靠特征码,静态分析等手段,对分析者的技术要求高,效率较低,难以实现批量检查。针对这些缺点,本文提出一种基于行为分析的木马检测技术,通过记录应用程序的动态行为,综合恶意代码的API调用序列,功能性行为特征、隐藏性行为特征、Rootkit行为特征等作为判别依据, 分析其恶意危害性;同时给出详细的分析报告及关键行为记录,方便对恶意代码的手动查杀及深入分析。实验表明本文提出的检测方案能够有效地检测已知或未知的恶意代码,提高木马的检测准确率和检测效率,达到预期的研究目的。 【关键词】恶意代码行为分析行为特征 随着信息技术的飞速发展,计算机应用以及计算机网络己经成为当今社会中不可缺少的重要组成部分,对经济发展、国家安全、国民教育和现代管理都起着重要的作用。但随着网络应用的增加,以计算机信息系统为犯罪对象和犯罪工具的各类犯罪活动不断出现。网络安全风险也不断暴露出来,其中,利用木马技术入侵、控制和破坏网络信息系统,是造成信息安全问题的典型表现之一。 传统的恶意文件检测通常使用恶意程序特征值匹配的技术,即通过提取已经发现恶意程序的特征值(通常为恶意程序某一段的二进制文件或'汇编指令流),使用模式匹配的方式对恶 意程序进行检测,这样做的好处是查杀准确,而且可以有效的将恶意程序进行定性,但是特征值需要获得并分析恶意文件样本,才可以得到,因此时间上有着滞后性为解决特征值查杀的滞后性。如何能够快速、准确、简便的分析一个应用程序,成为了一种普遍的需求。 1 木马检测系统的设计与实现 1.1 系统设计 1.1.1 系统设计原则 系统总体设计需要满足未来的木马检测发展需要,既要安全可靠,又要具有一定的先进性。在架构设计和功能模块的划分上,应充分的分析和整合项目的总体需求和预期的目标,尽量遵循高内聚、低耦合的设计原则,既要保证各个模块的独立性,也要保证模块间联系的简单性和易扩展性。

木马程序是如何实现隐藏的

木马程序是如何实现隐藏的 木马是一种基于远程控制的病毒程序,该程序具有很强的隐蔽性和危害性,它可以在人不知鬼不觉的状态下控制你或者监视你。有人说,既然木马这么厉害,那我离它远一点不就可以了!然而这个木马实在是“淘气”,它可不管你是否欢迎,只要它高兴,它就会想法设法地闯到你“家”中来的!哎呀,那还了得,赶快看看自己的电脑中有没有木马,说不定正在“家”中兴风作浪呢!那我怎么知道木马在哪里呢,相信不熟悉木马的菜鸟们肯定想知道这样的问题。下面就是木马潜伏的诡招,看了以后不要忘记采取绝招来对付这些损招哟! 1、集成到程序中 其实木马也是一个服务器-客户端程序,它为了不让用户能轻易地把它删除,就常常集成到程序里,一旦用户激活木马程序,那么木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被安装上去了。绑定到某一应用程序中,如绑定到系统文件,那么每一次Windows启动均会启动木马。 2、隐藏在配置文件中 木马实在是太狡猾,知道菜鸟们平时使用的是图形化界面的操作系统,对于那些已经不太重要的配置文件大多数是不闻不问了,这正好给木马提供了一个藏身之处。而且利用配置文件的特殊作用,木马很容易就能在大家的计算机中运行、发作,从而偷窥或者监视大家。不过,现在这种方式不是很隐蔽,容易被发现,所以在Autoexec.bat和Config.sys中加载木马程序的并不多见,但也不能因此而掉以轻心哦。 3、潜伏在Win.ini中 木马要想达到控制或者监视计算机的目的,必须要运行,然而没有人会傻到自己在自己的计算机中运行这个该死的木马。当然,木马也早有心理准备,知道人类是高智商的动物,不会帮助它工作的,因此它必须找一个既安全又能在系统启动时自动运行的地方,于是潜伏在Win.ini中是木马感觉比较惬意的地方。大家不妨打开Win.ini来看看,在它的[windows]字段中有启动命令“load=”和“run=”,在一般情况下“=”后面是空白的,如果有后跟程序,比方说是这个样子:run=c:\windows\file.exe load=c:\windows\file.exe 这时你就要小心了,这个file.exe很可能是木马哦。 4、伪装在普通文件中 这个方法出现的比较晚,不过现在很流行,对于不熟练的windows操作者,很容易上当。具体方法是把可执行文件伪装成图片或文本----在程序中把图标改成Windows的默认图

网页木马制作全过程(详细)

如果你访问××网站(国内某门户网站),你就会中灰鸽子木马。这是我一黑客朋友给我说的一句说。打开该网站的首页,经检查,我确实中了灰鸽子。怎么实现的呢?他说,他侵入了该网站的服务器并在网站主页上挂了网页木马;一些安全专家常说,不要打开陌生人发来的网址,为什么?因为该网址很有可能就是一些不怀好意者精心制作的网页木马。 以上只是网页木马的两种形式,实际上网页木马还可以挂在多媒体文件(RM、RMVB、WMV、WMA、Flash)、电子邮件、论坛等多种文件和场合上。很可怕吧,那么用户如何防范网页木马呢?下面我们就先从网页木马的攻击原理说起。 一、网页木马的攻击原理 首先明确,网页木马实际上是一个HTML网页,与其它网页不同的是该网页是黑客精心制作的,用户一旦访问了该网页就会中木马。为什么说是黑客精心制作的呢?因为嵌入在这个网页中的脚本恰如其分地利用了IE浏览器的漏洞,让IE在后台自动下载黑客放置在网络上的木马并运行(安装)这个木马,也就是说,这个网页能下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始。 有朋友会说,打开一个网页,IE浏览器真的能自动下载程序和运行程序吗?如果IE真的能肆无忌惮地任意下载和运行程序,那天下还不大乱。实际上,为了安全,IE浏览器是禁止自动下载程序特别是运行程序的,但是,IE浏览器存在着一些已知和未知的漏洞,网页木马就是利用这些漏洞获得权限来下载程序和运行程序的。下面我举IE浏览器早期的一个漏洞来分别说明这两个问题。 ⒈自动下载程序 小提示:代码说明 a. 代码中“src”的属性为程序的网络地址,本例中 “https://www.doczj.com/doc/85211800.html,/1.exe”为我放置在自己Web服务器上的灰鸽子服务端安装程序,这段代码能让网页下载该程序到浏览它的电脑上。 b. 也可以把木马程序上传到免费的主页空间上去,但免费空间出于安全的考虑,多数不允许上传exe文件,黑客可能变通一下把扩展名exe改为bat或com,这样他们就可以把这些程序上传到服务器上了。 把这段代码插入到网页源代码的…之间(如图1),然后用没打补丁的IE6打开,接下来,打开IE的临时目录

一个简单木马程序的设计与开发.

一个简单木马程序的设计与开发 1 前言 1.1 课题背景随着互联网技术的迅猛发展,网络给人们带来了很多便利,但是也带来了许多麻烦。各种网页木马,后门,下载者,病毒,利用各种系统漏洞,网站漏洞,程序漏洞,邮箱漏洞,U 盘及社会工程学等在网上横行,给广大用户带来了重要资料丢失,机密文件提前泄密,邮箱帐号,游戏帐号,各类照片被人恶意修改后传播到网上,系统被格盘,系统被监视,摄像头被人暗中开启并录像传播等非常严重的后果。使得许多朋友,闻木马,就变色。为了使更多朋友了解木马病毒,通过编写一个简单的木马,来分析它及其的变形,提出相应的防范措施。 1. 2 国内外研究现状从有关的资料看,国内外的windows系统下的木马,功能已经从简单发展到全面,大致包括以下功能:上传下载文件,删除文件,复制文件,粘贴文件,文件编辑,文件重命名,文件剪切,新建文件,修改文件,修改文件的创建时间等;获得目标主机名,IP地址,以及目标主机地理位置,系统打了多少补丁,安装了些什么软件,MAC地址,安装了几个处理器,内存多大,网速多快,系统启动时间,系统目录,系统版本等;取得目标主机的CMD权限,添加系统管理员,对目标主机进行注册表操作,开启目标主机3389端口,软件自动更新,使目标主机成为HTTP,SOCK5代理服务器,对目标主机的服务进行操作,对目标主机的开机自启动项进行操作,目标主机主动向控制端发起连接,也可主动向目标主机发起连接等,暗中打开用户摄像头,监控,录制用户隐私生活,对用户进行屏幕监控等。木马的隐蔽性更强了,从原来的单纯隐藏在某个目录中,发展到了替换系统文件,修改文件修改时间等。木马从EXE文件靠注册表启动,发展到了DLL文件远程线程插入,替换修改系统DLL文件,靠驱动文件等高级水准,更有写入系统核心中的。木马深藏在系统中,甚至在许多杀毒软件启动前启动,或者是绑定到杀毒软件上,或者修改杀毒软件规则,使得杀毒软件误以为它是合法文件,或者是将木马DLL文件插入到WINLOGON.EXE 中,以至于在安全模式下也无法删除。有的病毒会在系统部分盘中,创建Autorun.inf文件,然后把病毒也复制到该目录下隐藏着,使得用户双击该盘时,运行该病毒,对此,某些用户格式化了系统盘再重装系统,也无法删除它。更有木马,病毒会感染某些盘中的EXE文件,COM文件,使得用户重装系统后,运行该文件后又运行病毒。木马中招的方式包括:访问不安全网站,访问某些被入侵后的安全网站,在不同机子上使用U盘,通过U盘传播的木马病毒也越来越多,对系统或是一般程序进行溢出后,上传木马,对网络中的主机进行漏洞扫描,然后利用相关漏洞自动传播,利用邮箱漏洞配合网页木马,使用户中招,直接通过QQ等聊天软件传给用户,并叫其运行,在QQ等聊天软件中发布网址给好友,好友不知情下点击中招,通过物理接触主机以及远程破解主机密码等手段中招。木门在被杀毒软件查杀后,一般马上就会有变种或是升级版本流传,通过对木马进行加壳,修改木马特征码,修改程序等手段使木马免杀。木马还包括ASP和PHP以及ASPX,JSP木马,它们能过网页的形式存在,也可以有很多功能,如常见的ASP木马就有如下功能:登录验证,上传下载文件,删除,复制,移动,编辑文件,新建文件,新建目录,搜索文件,更改文件名,查看文件修改时间,serv_u漏洞提权,查看服务器信息,查看环境变量,注册表操作,探查网站是否支持PHP,查找网站上已经存在的木马,包括已经加密后的,对服务器上所有盘的文件操作,对数据库进行操作,对网站

木马程序设计

木马程序设计 摘要:在计算机日益普及的时代,信息在网络上的传播已经凸显出不可或缺的重要地位。在感受网络带来的信息交流与资源共享的益处的同时,各种病毒也在危害着计算机用户,木马程序是其中最为猖獗的一类。本文通过利用C#编程等方法分析与设计一个简单的木马程序,让人们更进一步了解木马的功能、原理、植入方法以及如何防护与处理木马。 关键词:木马技术;远程控制; .NET类;

1 引言 1.1 课题背景 随着信息技术的飞速发展,计算机和计算机通信网络己经成为当今社会不可缺少的基本组成部分,依托互联网技术的全球信息化浪潮冲击和深刻影响着人类政治、经济、社会的方方面面,对经济发展、国家安全、国民教育和现代管理都起着重要的作用。随着网络技术和信息化应用范围的不断扩大,网络信息应用领域开始从传统的、小型业务系统逐渐向大型、关键业务系统扩展,如政府部门业务系统、金融业务系统、教育科研系统等等。但随着网络应用的增加,以计算机信息系统为犯罪对象和犯罪工具的各类新型犯罪活动不断出现。网络安全风险也不断暴露出来,网络信息安全问题已经成为制约各类网络信息系统实用化和进一步发展的不可忽视因素,对一些关系国民经济的重要信息系统和关系国家安全的网络信息系统,己经到了非解决不可的地步。其中,利用木马技术入侵、控制和破坏网络信息系统,是造成网络信息安全问题的典型表现之一。 木马是一种基于C/S模式的远程控制技术,能在被监控对象毫无察觉的情况下渗透到对方系统并隐藏在合法程序中的计算机程序。一旦植入和触发成功,控制端与被控制端之间就能遵照TCP/IP协议进行数据通信,从而使得控制者获取被控制者的相关信息。它们通常以欺骗为手段,在用户不知情的情况下进行安装,并暗中把所获的机密信息发送给第三者,威胁用户电脑中的数据安全并侵犯个人隐私,严重影响了人们正常工作和生活。2008年1月至10月,瑞星公司共截获新病毒样本930余万个,其中绝大部分(776万)是盗号木马、后门程序,专门窃取网游账号、网银账号等虚拟财产,具有极其明显的经济利益特征。时隔两年,不断有新的木马病毒被发现,社会上己经掀起一个木马研究的热潮。 正是在这样的背景下,我的课题主要设计一个简单的木马程序,进一步地了解木马程序的结构和实现原理,加深对相关知识的了解,进而提高对木马的防范水平。 1.2 课程设计目的 本课程设计的目的主要有以下几个:

教你如何识别进程中的木马程序

任何病毒和木马存在于系统中,都无法彻底和进程脱离关系,即使采用了隐藏技术,也还是能够从进程中找到蛛丝马迹,因此,查看系统中活动的进程成为我们检测病毒木马最直接的方法。但是系统中同时运行的进程那么多,哪些是正常的系统进程,哪些是木马的进程,而经常被病毒木马假冒的系统进程在系统中又扮演着什么角色呢?请看本文。 病毒进程隐藏三法 当我们确认系统中存在病毒,但是通过“任务治理器”查看系统中的进程时又找不出异样的进程,这说明病毒采用了一些隐藏措施,总结出来有三法: 1.以假乱真 系统中的正常进程有:svchost.exe、explorer.exe、iexplore.exe、winLOGOn.exe等,可能你发现过系统中存在这样的进程:svch0st.exe、explore.exe、iexplorer.exe、winlogin.exe。对比一下,发现区别了么?这是病毒经常使用的伎俩,目的就是迷惑用户的眼睛。通常它们会将系统中正常进程名的o改为0,l改为i,i改为j,然后成为自己的进程名,仅仅一字之差,意义却完全不同。又或者多一个字母或少一个字母,例如explorer.exe和iexplore.exe本来就轻易搞混,再出现个iexplorer.exe就更加混乱了。假如用户不仔细,一般就忽略了,病毒的进程就逃过了一劫。 2.偷梁换柱 假如用户比较心细,那么上面这招就没用了,病毒会被就地正法。于是乎,病毒也学聪明了,懂得了偷梁换柱这一招。假如一个进程的名字为svchost.exe,和正常的系统进程名分毫不差。那么这个进程是不是就安全了呢?非也,其实它只是利用了“任务治理器”无法查看进程对应可执行文件这一缺陷。我们知道svchost.exe进程对应的可执行文件位于“C:\WINDOWS\system32”目录下(Windows2000则是C:\WINNT\system32目录),假如病毒将自身复制到“C:\WINDOWS\”中,并改名为svchost.exe,运行后,我们在“任务治理器”中看到的也是svchost.exe,和正常的系统进程无异。你能辨别出其中哪一个是病毒的进程吗? 3.借尸还魂 除了上文中的两种方法外,病毒还有一招终极大法——借尸还魂。所谓的借尸还魂就是病毒采用了进程插入技术,将病毒运行所需的dll文件插入正常的系统进程中,表面上看无任何可疑情况,实质上系统进程已经被病毒控制了,除非我们借助专业的进程检测工具,如卡卡助手中的功能,否则要想发现隐藏在其中的病毒是很困难的。 系统进程解惑 上文中提到了很多系统进程,这些系统进程到底有何作用,其运行原理又是什么?下面我们将对这些系统进程进行逐一讲解,相信在熟知这些系统进程后,就能成功破解病毒的“以假乱真”和“偷梁换柱”了。 svchost.exe

会声会影旋转木马教程.doc

会声会影旋转木马教程 第一种方法: 首先向元月虎致谢! 我通过对元月虎老师“旋转木马制作方法”的学习,使我学会了制作旋转木马的方法。 在我进行深入研究之后,我发现“制作旋转木马”规律性很强。 当你掌握这个规律之后,你就可以随心所欲的制作任意N张照片的旋转木马了! 具体做法如下: 一.准备工作:准备N 张照片,对照片PS成PNG格式图片,编序列号1 2 3 4 . . . . . N 二.照片排列顺序:覆叠轨只设五条,照片在各条覆叠轨上的排列顺序见下表(点击看大图) 不用我说,请朋友自己总结照片在横向和竖向上的摆放规律。 三.对照片进行画中画滤镜处理,(设置照片关键帧数据) A.照片位置XY为0 B.照片大小设为70 C.边框阴影设为0 D.反射你自定 E.旋转X旋转Z不动 F.旋转Y轴:各条覆叠轨上照片的起、止点关键帧Y轴转角数据设置如下: 覆叠轨1# 第一张及其后全为(起+120 止+180) 覆叠轨2# 第一张及其后全为(起-180 止-120) 覆叠轨3# 第一张(起-120止-60)第二张(起-60止0.0)第三张及其后全为(起0.0止+60) 覆叠轨4# 第一张(-120止-60)第二张及其后全为(起-60止0.0) 覆叠轨5# 第一张及其后全为(起-120止-60) 四.对照片进行属性处理: 覆叠轨1# 对第一张照片“复制属性”对其后照片全为“粘贴所有属性” 覆叠轨2# 对第一张照片“复制属性”对其后照片全为“粘贴所有属性” 覆叠轨3# 对第三张照片“复制属性”对其后照片全为“粘贴所有属性” 覆叠轨4# 对第二张照片“复制属性”对其后照片全为“粘贴所有属性” 覆叠轨5# 对第一张照片“复制属性”对其后照片全为“粘贴所有属性” 五.反复检查确认无误,加标题,加背景视频,加背景音乐,试听试看无误,渲染! 第二种方法: 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 2、旋转角度: 第一轨(60-120)第二轨(0-60)第三轨(-60-0)第四轨(120-180)第五轨[(-180)-(-120)] 第六轨[(-120)-(-60)] 备注:如果照片较多,一直排列到第N张 第三种方法:中间为空心轴的旋转做法(照片不用PS) ——使用6张图片(横幅或竖幅均可),每张需复制6份进行设置。图片宽高比1:1.5,每张图片3秒。 ——将第一张图片拖进覆叠轨,在预览窗右键调至屏幕大小、保持宽高比、添加矩形遮罩、添加画中画滤镜,然后进入自定义滤镜。首先关闭“使用关键帧”,将阴影栏下各项设置为0,然后再打开“使用关键帧”,按照下面第1份数据进行设置,设置完成确定退出。 ——将该图片复制一份放在其后,并按照第2份的数据进行自定义设置……,按前述方法依次将6份数据全部设置完成。 ——然后将其他图片拖进覆叠轨,按照排列方法排列好后,分别复制第1张6份图片的属性,分别粘贴于其他图片相应的份数上即可。 具体数据:

木马设计

木马设计 01. 飞利浦阅读灯 - “精于心,简于形” 客户名称: 飞利浦 项目内容: 市场调研、工业设计、结构设计 项目时间: 2008 项目背景: 众所周知,飞利浦是全球著名的多元化企业,在照明、医疗、家电等领域处于领导地位。同时也是最重视工业设计的跨国企业之一,以拥有优秀的设计师为荣,在荷兰总部、香港、新加坡等地拥有自己的设计机构。木马非常荣幸的有机会与飞利浦研究院在照明、医疗等领域展开一系列合作,打造创新的满足用户需要的产品。 My Reading Light是飞利浦研究院研发的一款创新产品,为学生、商务人士、读书爱好者等用户看书时使用。设计的目标是打造属于飞利浦的,“精于心,简于形”的产品。 站。。。Q群讨论中2939 5151

飞利浦研究院负责产品整体规划和技术研发,木马负责工业设计、结构设计和量产支持,飞利浦香港设计中心负责设计咨询和包装设计。第一个阶段是设计研究,包括自身分析、竞争分析、潮流趋势分析、用户研究等部分,理解飞利浦的品牌诉求和价值主张是这个阶段的重点,飞利浦香港设计中心的设计师给予了很好的指导意见,让设计师深入理解“精于心,简于形”的核心内涵。概念设计阶段,设计师根据设计研究提出设计方向,有的概念强调遵循飞利浦的设计语言,有的强调复古风,有的更加关注用户的使用方式,在不同的思路引导下提出大量的设计草案.选定的是所有概念中最简约的方案,仅保留了最原始的功能和最必要的附加功能,设计语言强化飞利浦的设计符号特征.设计关注每一个细节,包括按键的选择,是用按的方式还是用推的方式?档位是需要清晰一点还是柔和一点?它需要放置在正面、顶面还是侧面,哪种方式有更好的用户体验? 项目作为飞利浦研究实验室的标志性项目在创新大会上展出,获得包括飞利浦CEO柯慈雷先生在内的管理委员会的一致好评.这次合作也让木马收获很多,在设计流程、设计观念、分析方法上进一步完善,木马设计的思维方法,对于设计的深刻理解也给飞利浦相关人员留下很深的印象,是本土设计公司与跨国企业的一次高效的合作。飞利浦阅读灯让你随时随地享受阅读的乐趣 书签一样薄的读书灯 日常生活忙忙碌碌,偶尔抽空读书放松自己是件非常享受的事情,然而阅读的条件往往不尽人意,尤其在旅途中,或临睡前。 现在有了飞利浦阅读灯,让我能随时随地享受阅读乐趣的同时又不打扰周围的人… … 只照亮书页,而不是周围环境 轻便并易于携带 LED高效环保照明 薄如纸页的设计 站。。。Q群讨论中2939 5151

实验1-木马病毒攻防

南昌航空大学实验报告 二〇一三年十一月八日 课程名称:信息安全实验名称:实验1木马攻击与防范 班级:xxx 姓名:xxx 同组人: 指导教师评定:签名: 一、实验目的 通过对木马的练习,使读者理解和掌握木马传播和运行的机制;通过手动删除木马,掌握检查木马和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识。 二、实验原理 木马的全称为特洛伊木马,源自古希腊神话。木马是隐藏在正常程序中的具有特殊功能的恶意代码,是具备破坏、删除和修改文件、发送密码、记录键盘、实施DOS攻击甚至完全控制计算机等特殊功能的后门程序。它隐藏在目标计算机里,可以随计算机自动启动并在某一端口监听来自控制端的控制信息。 1.木马的特性 木马程序为了实现其特殊功能,一般应该具有以下性质: (1)伪装性(2)隐藏性(3)破坏性(4)窃密性 2.木马的入侵途径 木马入侵的主要途径是通过一定的欺骗方法,如更改图标、把木马文件与普通文件合并,欺骗被攻击者下载并执行做了手脚的木马程序,就会把木马安装到被攻击者的计算机中。木马也可以通过Script、ActiveX及ASP、CGI交互脚本的方式入侵,攻击者可以利用浏览器的漏洞诱导上网者单击网页,这样浏览器就会自动执行脚本,实现木马的下载和安装。木马还可以利用系统的一些漏洞入侵,获得控制权限,然后在被攻击的服务器上安装并运行木马。3.木马的种类 (1)按照木马的发展历程,可以分为4个阶段:第1代木马是伪装型病毒;第2代木马是网络传播型木马;第3代木马在连接方式上有了改进,利用了端口反弹技术,例如灰鸽子木马;第4代木马在进程隐藏方面做了较大改动,让木马服务器端运行时没有进程,网络操作插入到系统进程或者应用进程中完成,例如广外男生木马。 (2)按照功能分类,木马又可以分为:破坏型木马;密码发送型木马;服务型木马;DOS 攻击型木马;代理型木马;远程控制型木马。 4.木马的工作原理 下面简单介绍一下木马的传统连接技术、反弹端口技术和线程插入技术。 (1)木马的传统连接技术;C/S木马原理如图1-1所示。第1代和第2代木马都采用的是C/S连接方式,这都属于客户端主动连接方式。服务器端的远程主机开放监听端目等待外部的连接,当入侵者需要与远程主机连接时,便主动发出连接请求,从而建立连接。 (2)木马的反弹端口技术;随着防火墙技术的发展,它可以有效拦截采用传统连接方式。但防火墙对内部发起的连接请求则认为是正常连接,第3代和第4代“反弹式”木马就是利用这个缺点,其服务器端程序主动发起对外连接请求,再通过某些方式连接到木马的客户端,如图1-2和图1-3所示。

CC 木马编程进阶与实战

C/C++木马编程进阶与实战精摘 【内容提要】 本书全面介绍了C/C++语言网络编程和Socket编程的基本方法。重点剖析了目前流行木马的编程方法,揭露了黑客木马编程技术内幕。本书的特色在于从整体入手,先学习木马程序的整体框架雏形,然后一步一步地深入学习木马编程中的隐藏技术、管道技术、反弹技术以及远程注入技术等,全书结合多个生动案例,环环相扣,深入浅出,实现黑客编程技术的融会贯通。本书提供的程序代码力求完整、精简以及可读性强,为初、中级黑客编程爱好者提供了实用的学习参考资料。同时也可以作为大中专院校学生课外编程参考资料。 【序】 一直以来想写一本关于黑客编程方面的书,一方面,市面上流行的黑客书籍大多拘泥于黑客工具的使用上,仅适合入门级的黑客技术爱好者;另一方面,黑客技术博大精深,自身的学识浅薄,不能写成令大家满意的作品,所以就一直搁浅。由于我的上一部专著《信息安全顾问最佳实践指南》的读者给了我颇多的建议,同时也给了我写一本黑客编程方面的书籍的信心。在中国,随着Internet的发展,黑客技术的爱好者也越来越多,水平也越来越高,他们不再满足使用别人的工具,也想自己亲自动手编制一些工具,这就非常需要一部关于黑客技术理论方面的书籍。 兵家云:“知己知彼,百战不殆”,毛主席也说过“要想知道梨子的滋味,就得亲自尝一下”,所以,我们要亲自动手编制一些实用的小程序,首先,我们要摈弃那些代码冗长,功能大而全的程序;其次,从整体入手,先有面的概念,然后在学习点的知识,最后串起来;最后,任何代码都要在实践中进行检验,所以,在本部书最后一章设计了四个完整实用的程序,给读者一个豁然开朗的感觉。 【本书的组织】 第1~9章主要内容如下: 第1章,木马介绍-介绍了木马的历史以及当前木马的发展趋势。 第2章,Windows下黑客编程语言-如何学习黑客编程以及C/C++语言的使用入门。 第3章,Socket套接字编程基础-TCP/UDP的Socket介绍,木马基本结构介绍。 第4章,木马隐藏技术剖析-介绍了注册表的自启动加载技术、服务的加载技术、DLL远程注入的加载技术。 第5章,匿名管道技术-介绍了匿名管道的技术利用,单、双管道后门代码的分析,以及简单的双管道后门。 第6章,反弹木马技术-介绍了反弹木马的出现背景,着重分析了反弹木马的原理以及给出

灰鸽子远程控制木马教程

一定要用迅雷下,不然可能下不了 【黑客视频教程-建立超级隐藏帐户】 https://www.doczj.com/doc/85211800.html,/eschool/esafe2/hideadmin1.wmv https://www.doczj.com/doc/85211800.html,/eschool/esafe2/hideadmin2.wmv https://www.doczj.com/doc/85211800.html,/eschool/esafe2/hideadmin3.wmv 【黑客视频教程-简单制作CHM木马】 https://www.doczj.com/doc/85211800.html,/eschool/esafe2/CHM1.wmv https://www.doczj.com/doc/85211800.html,/eschool/esafe2/CHM2.wmv 【黑客视频教程-简单破解Access数据库的密码】 https://www.doczj.com/doc/85211800.html,/eschool/esafe2/Access.wmv 【黑客视频教程-功能超强的BEAST远控木马】 https://www.doczj.com/doc/85211800.html,/eschool/esafe2/BEAST1.wmv https://www.doczj.com/doc/85211800.html,/eschool/esafe2/BEAST2.wmv https://www.doczj.com/doc/85211800.html,/eschool/esafe2/BEAST3.wmv https://www.doczj.com/doc/85211800.html,/eschool/esafe2/BEAST4.wmv 【黑客视频教程-VMware虚拟机的安装和使用】 https://www.doczj.com/doc/85211800.html,/eschool/esafe2/VMware1.wmv https://www.doczj.com/doc/85211800.html,/eschool/esafe2/VMware2.wmv https://www.doczj.com/doc/85211800.html,/eschool/esafe2/VMware3.wmv 【黑客视频教程-Iris网络嗅探器使用与技巧】 https://www.doczj.com/doc/85211800.html,/eschool/esafe2/Iris01.wmv

远程控制与木马程序设计

1 实验题目 远程控制与木马程序设计 2 实验目的 ●掌握远程控制的一般原理与类型,实现利用网络scoket套接字完成计算机远 程通信过程,学生深入理解和掌握基于TCP/IP协议的网络通信概念、原 理,以及网络客户机/服务器模型的结构概念。 ●熟悉常用的Windows API函数的用法,利用C++或VB语言实现木马程 序的设计。 3 实验条件和环境 ●Windows XP SP3 ●Microsoft Virtual C++ 4 实验方法(系统功能、结构设计,软件流程图等) ●利用Socket进行网络远程通信设计 使用套接字Socket在两台计算机实现通信过程中,首先假设一台是服务端,另一台是客户端。服务端先启动,建立一个套接字Socket,并对相应的IP 和端口进行绑定、监听;客户端也建立一个套接字Socket,并对其相应的IP 和端口进行绑定,然后与服务端连接,待其相应后,双方可以实现远程通信。 服务端流程如下: socket()->bind()->listen()->accept()->recv()/send()->closesocket()客户端流程如下:

socket()->connect()->recv()/send()->closesocket() 远程控制与木马程序 远程控制实际上是包含有服务器端和客户端的一套程序服务器端程序驻留在目标计算机里,随着系统启动而自行启动。此外,使用传统技术的程序会在某端口进行监听,若接收到数据就对其进行识别,然后按照识别后的命令在目标计算机上执行一些操作(比如窃取口令,拷贝或删除文件,或重启计算机等)。 攻击者一般在入侵成功后,将服务端程序拷贝到目标计算机中,并设法使其运行,从而留下后门。日后,攻击者就能够通过运行客户端程序,来对目标计算机进行操作。 总体流程: 通过C/S运行模式并结合进程与匿名管道技术来实现的,主体分为两部分:即客户端和服务端木马程序。其原理为服务端程序在目标计算机中采用自动运行模式,并打开2000端口进行监听,当客户端向服务端主动提出连接请求,服务端木马程序就会自动运行,来应答客户端的请求,从而建立连接,服务段木马程序根据客户端的指令而执行相应的操作。 软件流程图:

相关主题
文本预览
相关文档 最新文档