网络协议编程讲师:Socket木马木马•木马传说•计算机木马•常用木马端口•警告:木马破坏的处罚木马传说••木马--所有网络游戏玩家都会头痛的字眼,它源自希腊神话木马屠城记,现今网络中的各种木马虽然不会象神话中那样危害人的生命,但是它却使广大玩家们用心血换来的劳动成果在一息间荡然无存。我们在痛恨它,唾弃它的同时,必须对它有一定的了解,并掌握一些解决的方法,这样以后在游戏的过程中自己的心血才不会被木马摧毁!一个完整的木马程序包含了两部分:服务器和控制器。植入被种者电脑的是服务器部分,而所谓的黑客正是利用控制器进入运行了服务器的电脑。运行了木马程序的服务器以后,被种者的电脑就会有一个或几个端口被打开,使黑客可以利用这些打开的端口进入电脑系统,肆意查看包括游戏帐号、密码在内的任何东西,个人的安全和隐私当然也就全无保障了!对于计算机来说“木马”是指恶意安装在用户个人电脑中,通过控制用户个人电脑的某些操作而盗取用户个人电脑数据信息的破坏性程序。计算机木马木马构成的基本知识事先说明,因为下面很多地方会提到这些内容。一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。这里主要对软件部分介绍,它主要有控制端程序、木马程序(后台服务程序)、木马配制程序组成。控制端用以远程控制服务端的程序;木马程序是潜入服务端内部,获取其操作权限的程序;木马配制程序是设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏的更隐蔽的程序。•使用的技术:•控制端程序发送控制码控制服务器,服务器后台运行,修改注册表达到控制的目的。技术不是很难的,主要体现C#的网络编程和注册表的修改。•控制端开发:•控制端向服务器发出一段控制码,服务端(木马程序)收到控制码后,根据控制的要求,完成指定的要求,如果服务器完成工作,返回成功的信息。控制端开发要注意的几点:•1,连接请求•使用了.NET类中的System.Net.Sockets.TcpClient类,•TcpClient(stringhostname,intport)•Hostname是要控制的主机名称,当然你也可以用IP地址。Port是端口。•2,测试是否与被控制机连接•程序的流程是发送控制码看控制端是否有反应,如果有返回则显示控制成功。•3,控制生效的代码•4,使用线程高效执行•服务端的开发:•要实现木马服务的程序,主要实现以下几个功能:后台的运行(隐藏技术),控制码的接收与注册表的修改,下面对这几方面做介绍:1.在VC#中,建立一个后台服务程序是很容易的,先建立一个新的C#的Windows应用程序,项目名称自定(不过为了隐藏可使用与系统相近的名称),将窗体属性“ShowInTaskbar”属性设为false,让它运行时不会在任务栏中显示,并将属性“Windowstate”属性设为Mininized即可,这样窗体就可以隐藏运行了。当然你也可以在InitializeComponent()设置,此函数起初始化的作用,在窗体显示前运行2.控制代码的接收,必需在服务程序运行开始就启动,所以侦听线程必需在程序初始化中启动,所以放在窗体的构造函数中3.C#中实现注册表的修改,使用了.NET类库中的System.Microsoft.Win32命令空间,它提供两种类型的类:处理由操作系统引发的事件的类和对系统注册表进行操作的类•4.在木马程序中还有一个重要的功能就是自我的复制和转移。木马引入被控制的主机时必需自动将木马隐藏在System,System32的目录下以防被发现。转移的代码分析如下,主要实现的功能是将D盘下的木马程序转移到C:\\\\winnnt\\\\system\\\\msdoss.exe,同时换名称。使用的.NET命名空间System.IO,它的作用是允许对数据流和文件进行同步和异步读写。常用木马端口•平时木马端口.txt木马破坏的处罚•●《刑法》第二百八十六条第三款规定,故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。“木马”是一种破坏性程序,经营者应当依据本条承担刑事责任。•●《治安处罚法》第第二十九条规定,违反国家规定,对计算机信息系统中存储、处理、传输的数据和应用程序进行删除、修改、增加的;或者故意制作、传播计算机病毒等破坏性程序,影响计算机信息系统正常运行的,处五日以下拘留;情节较重的,处五日以上十日以下拘留,“木马”经营者应当依据本条承担行政责任。案例演示打开木马案例(服务端)打开木马案例(客户端)