本文目录一览:
为什么有些人要制造木马病毒啊?他们当时心里是怎样想的?
有些人制造木马是为了赚钱;有的纯属恶作剧,炫耀(心理有问题);有的是安全公司拿来测试的。
分析一个木马的步骤
近年来,随着计算机 *** 发展, *** 安全问题日益显得尤其重要.黑客的入侵对 *** 安全造成了极大威胁.入侵的主要手段之一,就是使用木马技术,其破坏力之大,是绝不容忽视的.黑客是如何制造这种具有破坏力的木马程序,以及如何防范木马程序的入侵?这是本文着重要讨论的问题.本文首先从木马程序的隐藏技术、自动加载技术和通讯技术3个方面进行详细的技术分析研究,总结出木马程序的一般设计原理;其次,给出了防范木马程序入侵的一般 *** .1 木马程序的隐藏技术为了避免被发现,木马程序的服务器端,多数都要进行隐藏处理.早期的木马程序所采用的隐藏技术是比较简单的,早期最简单的隐藏 *** 是在任务栏目里隐藏程序.到后来发展到当按下Ctrl+Alt+Delete的时候,也就看不到这个程序.现在的木马在进程隐藏方面,已做了大的改动,采用了内核插入式的嵌入方式,利用远程插入线程技术,嵌入DLL线程,或者挂接PSAPI,实现木马程序的隐藏,甚至在WindowsNT/2000下,都能达到良好的隐藏效果.1.1 在任务栏中隐形这是最基本的隐藏要求,其实现技术同样也是非常的简单.在VB中,只要把form的Visible属性设为False,将ShowInTaskBar设为False,程序就不会出现在任务栏中了.1.2 在win9x的任务管理器中隐形这只要把木马服务器端的程序注册为一个服务就可以了,这样,程序就会从任务列表中消失,因为系统不认为该程序是一个进程,当按下Ctrl+Alt+Delete的时候,也就看不到这个程序.但是,这种 *** 只适用于Windows9x的系统,对于WindowsNT,Windows2000等,通过服务管理器,还是可以发现在系统中注册过的服务.将程序设为/系统服务0就可以隐藏.在VB中如下的代码可以实现这一功能:1 声明部分 PublicDeclareFunctionRegister2ServiceProcessLib/kernel320(ByValProcessIDAsLong,ByValServiceFlagsAsLong)AsLongPublicDeclareFunctionGetCurrentProcessIdLib/kernel320Alias/GetCurrentProcessId0()AsLong
2 函数部分 PrivateSubFormLoad()RegisterServiceProcessGetCurrentProcessId,1(注册系统服务)EndSubPrivateSubFormUnload()RegisterServiceProcessGetCurrentProcessId,0(取消系统服务)EndSub1.3 在winNT/win2000中的任务管理器中隐形在winNT/win2000中实现进程隐藏的 *** 有两种:一是采用API的拦截技术;二是采用DLL技术.1 API的拦截技术 在WINDOWS系统下,可执行文件主要是Exe和Com文件,这两种文件在运行时都有一个共同点,即均会生成一个独立的进程.在Windows中有多种 *** 能够看到进程的存在:PSAPI(ProcessStatusAPI),PDH(PerformanceDataHelper)和ToolHelpAPI.如果能够采用API的拦截技术,通过建立一个后台的系统钩子,拦截PSAPI的EnumProcessModules等相关的函数来实现对进程和服务的遍历调用的控制,当检测到进程ID(PID)为木马程序的服务器端进程的时候直接跳过,那样就实现了进程的隐藏.如果这个进程是一个木马的服务器部分程序,则显然就是现在win9x/win2000的任务管理器中隐藏的程序.2 采用DLL技术 DLL文件是Windows的基础,因为所有的API函数都是在DLL中实现的.DLL文件没有程序逻辑,是由多个功能函数构成的,它并不能独立运行,一般都是由进程加载并调用的.因为DLL文件不能独立运行,所以,在进程列表中并不会出现.如果是一个木马DLL,并且通过别的进程来运行它,那么无论是在入侵检测软件还是进程列表中,都只会出现那个进程而并不会出现木马DLL.运行DLL文件最简单的 *** 是利用Rundll32.exe进行,但是很容易被识破.比较高级的 *** 是使用木马DLL替换常用的DLL文件,通过函数转发器将正常的调用转发给原DLL,截获并处理特定的消息.DLL木马的更佳隐藏 *** 是动态嵌入技术,动态嵌入技术是指将自己的代码嵌入正在运行的进程中的技术.与一般的木马不同,该技术基本上摆脱了原有的木马模式监听端口,而是采用替代系统功能的 *** ,即改写驱动程序或动态链接库.这样做的结果是:由于没有增加新的文件,因此不能用扫描的 *** 查杀;不需要打开新的端口,所以不能用端口监视的 *** 查杀;没有新的进程,所以使用进程查看的 *** 发现不了它,也就不能用kill进程的 *** 终止其运行.在正常运行时木马几乎没有任何的症状,而一旦木马的控制端向被控端发出特定的信息后,隐藏的程序就立即开始运作.1.4 利用端口实现隐形一般来说,一个端口都应对着一种特定的服务.如果某一主机的某一端口处于开放状态,那就意味着这一主机将对互联网上的用户提供该服务,并且该服务程序已在这台主机上运行.反过来,如果某一主机上并未启动某端口服务,而该端口却莫明其妙处于开放状态,那么这一计算机就很可能已被入侵者投放了/木马0.一台机器由65536个端口,通常情况下木马端口一般都在1000个以上,而且呈越来越大的趋势.这是因为,1000以下的端口是常用端口,占用这些端口可能会造成系统不正常,这样,木马就会很容易暴露;而由于端口扫描是需要时间的,即使是一个速度较快的端口扫描器,在远程也需要大约20min才能扫完所有的端口,因此,使用诸如54321的端口很难发现它.冰河及很多比较新的木马都具有端口修改功能,因而木马大多都能在任何端口出现.现在有很多流行的端口扫描程序,比如portscan程序就很不错,在网上可免费下载.2 程序的自加载运行技术让程序自运行的 *** 比较多,使用者当然不会指望在每次启动后点击木马图标来运行服务端,其实这是启动木马程序的最原始的 *** .木马要做的第二件重要的事情就是如何在每次用户启动时自动装载服务端.目前木马程序最常见的启动 *** 为:加载程序到启动组,写程序启动路径到注册表的HKEYLOCALMACHINE\SOFTWARE\Microsoft\Windows\CurrentVersions\Run.当然还有很多其他的 *** ,比如可以修改Boot.ini,或者通过注册表里的输入法键值直接挂接启动,以及通过修改Explorer.exe启动参数等,真可谓防不胜防
制造木马病毒是违法的么?
制造木马病毒属于违法行为。计算机信息系统安全保护条例有以下规定:
第二十三条 故意输入计算机病毒以及其他有害数据危害计算机信息系统安全的,或者未经许可出售计算机信息系统安全专用产品的,由公安机关处以警告或者对个人处以5000元以下的罚款、对单位处以15000元以下的罚款;有违法所得的,除予以没收外,可以处以违法所得1至3倍的罚款。
第二十四条 违反本条例的规定,构成违反治安管理行为的,依照《中华人民共和国治安管理处罚条例》的有关规定处罚;构成犯罪的,依法追究刑事责任。
另外,刑法第286条中明确规定:“违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。故意 *** 、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的依照以上的规定处罚。”
因此,制造木马病毒属于违法行为。