APP下载

特洛伊木马程序的设计方法研究

2011-08-15郑州广播电视大学王民川

河南科技 2011年4期
关键词:注册表服务端木马

郑州广播电视大学 王民川

特洛伊木马程序的设计方法研究

郑州广播电视大学 王民川

目前在不断发生的互联网安全事件中,大部分都有木马的身影。据中国国家计算机网络应急处理中心的估计,目前木马黑色产业链的年产值已超过2.38亿元人民币,造成的损失则超过76亿元。

只要了解木马的工作原理,借助协议分析工具,就能及时发现其蛛丝马迹,降低木马带来的危害。只要熟悉木马的隐藏方法,就能快速找到并彻底清除木马,甚至找到入侵者。如果能够预先了解木马攻击手段,就可以有针对性地防范木马的主动入侵或攻击。

一、木马技术基础

在计算机领域中特洛伊木马程序是一种未经授权的程序,它包含在一段正常的程序中,这个未经授权的程序提供了一些用户不知道的功能,其目的是不需要管理员的准许就可获得系统使用权。木马的全称是“特洛伊木马”,是一种新型的计算机网络病毒程序。它利用自身所具有的植入功能,依附其他具有传播能力的病毒之上, 或者通过入侵后植入等多种途径,进驻目标机器,搜集其中的各种敏感信息,并通过网络与外界通信,发回所搜集到的各种敏感信息,接受植入者指令,完成其他各种操作,如修改指定文件、格式化硬盘等。

二、木马工作原理及关键技术

典型的木马工作原理为:当服务器端在目标计算机上被执行后,木马打开一个默认的端口进行监听,当客户机向服务端提出连接请求,服务器上的相应程序就会自动运行来应答客户机的请求,服务器端程序与客户端建立连接后,由客户端发出指令,服务器在计算机中执行这些指令,并将数据传送到客户端,以达到控制主机的目的。

木马程序的工作过程包含了木马程序的伪装、隐藏、启动、通信以及攻击等。特洛伊木马程序的伪装技术主要有以下几种方法:修改图标、捆绑于正常文件中、显示出错信息、自我销毁、更改文件名。木马的隐蔽性是木马能否长期存活的关键,木马隐藏的主要方式有:在任务栏里隐藏、隐藏端口、在任务管理器里隐藏、隐藏通信、隐藏启动方式、隐藏传播方式、最新隐身技术。特洛伊木马程序主要有以下几种启动方式:随正常的程序启动而启动、隐藏在配置文件中、潜伏在Win.ini中、在System.ini中藏身、伪装成普通文件、内置到注册表中、隐形于启动组中、隐蔽在Winstart.bat中、设置在超级链接中。

远程计算机控制指的是基于一定的物理网络,通过一定的网络协议,对分布在网络上的计算机实现远程控制并协同工作。目前的许多木马检测软件正是通过扫描本地和远程主机系统中打开的已知木马端口进行木马检测的。为此采用新技术的木马对其通信形式进行了隐蔽和变通,使其很难被端口扫描发现。木马为隐蔽通信形式所采用手段有:端口复用、反弹端口和潜伏技术。

三、远程控制木马的设计

本系统采用基于反弹端口机制的C/S模型进行通信。反弹端口的机制是进行C/S的反向连接,即由服务器向客户机主动建立连接。当服务端在目标主机上运行后,目标的主机系统会为其动态分配一个端口,此时,服务端即可向客户端发起连接,并且连接的端口指向客户端的80端口,即使用“netstat-an”命令查看本机的TCP/IP网络连接状态,也将显示“TCP本机IP地址:端口 远程IP地址:80ESTABLISHED”类似的数据,防火墙也不会阻挡这种非法连接,从而确保了木马控制程序的安全和通信的隐蔽。

四、远程控制木马的实现

本节将详细介绍远程控制木马的主要实现过程,包括客户端和服务端的实现,通信模块的实现,程序的界面和功能的测试等。

1.服务端程序的实现。本模块通过修改注册表来实现目标监控子系统的自启动,根据注册表的结构和每个键值的含义,服务端在注册表中加载自启动项及自启动参数的位置如下:

Internet SettingsAgenter子键下加载系统的自启动参数,如在线中转服务器的IP地址、目标管理子系统的IP地址以及程序的配置信息等。

通信模块的实现。通信模块的开发采用Winsock API,建立基于阻塞模式的流式Sockets套接字,数据的接收和发送除了与通用流式套接字编程模型相同外,还增加了对数据的处理功能。

服务端管理模块。管理模块是服务端的主模块,它将各个功能模块融合在一起,实现对目标主机的监控和管理。它主要负责接收监控系统的命令,对其命令进行识别解释,并调用各个功能模块,执行管理器命令。

2.客户端的实现。客户端是运行在控制端主机上,用来远程控制被控制端的信息和操作。客户端运行后,修改中间服务器上的客户端信息,包括客户机IP,开放的端口和登录密码。修改成功后,等待远程主机的上线。如果有远程主机上线,则可以完成的操作有文件控制、系统控制和文件传输。

操作远程主机的文件,完成所需要的目的,包括文件的新建、删除、上传和下载。作为木马的破坏功能,系统控制中包括了远程关机、重启、注销、鼠标屏幕控制等功能。选择需要控制的主机,然后点击相应的按钮,即可完成操作。

选择从远程主机下载文件后,其具体实现就由文件传输模块来实现。选择需要的任务,然后点击“正常启动”,“暂停任务”和“删除任务”按钮完成相应操作。传输进度显示当前启动的任务文件已经完成数据程度。文件的传输采用断点传输模式。

本文,笔者设计实现了一个基于反弹端口连接的远程控制木马,该木马程序较成功地实现服务端的主动上线、客户端对服务端的良好控制、服务端良好的伪装和隐藏性以及整个通信过程的秘密性。通过该项目的实施,可对木马技术、远程控制技术、防火墙技术、信息系统安全等技术有了更加深刻的认识。

猜你喜欢

注册表服务端木马
小木马
骑木马
小木马
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
旋转木马
更上一层楼 用好注册表编辑器
在Windows Server 2008上创建应用
注册表的便捷用法
摸清黑客套路防范木马侵入