网络攻击器的原理是什么?是怎么向固定的ip地址发起进攻的?
常见网络攻击原理
1.1 TCP SYN拒绝服务攻击
一般情况下,一个TCP连接的建立需要经过三次握手的过程,即:
1、 建立发起者向目标计算机发送一个TCP SYN报文;
2、 目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应;
3、 发起者收到TCP ACK报文后,再回应一个ACK报文,这样TCP连接就建立起来了。
利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击:
1、 攻击者向目标计算机发送一个TCP SYN报文;
2、 目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应;
3、 而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。
可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。
1.2 ICMP洪水
正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Reply报文。而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如处理分片的时候。这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的网络数据报文,这也是一种拒绝服务攻击(DOS)。
1.3 UDP洪水
原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。
1.4 端口扫描
根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCP SYN)的时候,做这样的处理:
1、 如果请求的TCP端口是开放的,则回应一个TCP ACK报文,并建立TCP连接控制结构(TCB);
2、 如果请求的TCP端口没有开放,则回应一个TCP RST(TCP头部中的RST标志设为1)报文,告诉发起计算机,该端口没有开放。
相应地,如果IP协议栈收到一个UDP报文,做如下处理:
1、 如果该报文的目标端口开放,则把该UDP报文送上层协议(UDP)处理,不回应任何报文(上层协议根据处理结果而回应的报文例外);
2、 如果该报文的目标端口没有开放,则向发起者回应一个ICMP不可达报文,告诉发起者计算机该UDP报文的端口不可达。
利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP或UDP端口是开放的,过程如下:
1、 发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样最大为65535,数量很有限);
2、 如果收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可达报文,则说明这个端口没有开放;
3、 相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放)。
这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。
1.5 分片IP报文攻击
为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。
目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时),如果攻击者发送了大量的分片报文,就会消耗掉目标计算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。
1.6 SYN比特和FIN比特同时设置
在TCP报文的报头中,有几个标志字段:
1、 SYN:连接建立标志,TCP SYN报文就是把这个标志设置为1,来请求建立连接;
2、 ACK:回应标志,在一个TCP连接中,除了第一个报文(TCP SYN)外,所有报文都设置该字段,作为对上一个报文的相应;
3、 FIN:结束标志,当一台计算机接收到一个设置了FIN标志的TCP报文后,会拆除这个TCP连接;
4、 RST:复位标志,当IP协议栈接收到一个目标端口不存在的TCP报文的时候,会回应一个RST标志设置的报文;
5、 PSH:通知协议栈尽快把TCP数据提交给上层程序处理。
正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)是不能同时出现在一个TCP报文中的。而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,各个操作系统的协议栈在收到这样的报文后的处理方式也不同,攻击者就可以利用这个特征,通过发送SYN和FIN同时设置的报文,来判断操作系统的类型,然后针对该操作系统,进行进一步的攻击。
1.7 没有设置任何标志的TCP报文攻击
正常情况下,任何TCP报文都会设置SYN,FIN,ACK,RST,PSH五个标志中的至少一个标志,第一个TCP报文(TCP连接请求报文)设置SYN标志,后续报文都设置ACK标志。有的协议栈基于这样的假设,没有针对不设置任何标志的TCP报文的处理过程,因此,这样的协议栈如果收到了这样的报文,可能会崩溃。攻击者利用了这个特点,对目标计算机进行攻击。
1.8 设置了FIN标志却没有设置ACK标志的TCP报文攻击
正常情况下,ACK标志在除了第一个报文(SYN报文)外,所有的报文都设置,包括TCP连接拆除报文(FIN标志设置的报文)。但有的攻击者却可能向目标计算机发送设置了FIN标志却没有设置ACK标志的TCP报文,这样可能导致目标计算机崩溃。
1.9 死亡之PING
TCP/IP规范要求IP报文的长度在一定范围内(比如,0-64K),但有的攻击计算机可能向目标计算机发出大于64K长度的PING报文,导致目标计算机IP协议栈崩溃。
1.10 地址猜测攻击
跟端口扫描攻击类似,攻击者通过发送目标地址变化的大量的ICMP ECHO报文,来判断目标计算机是否存在。如果收到了对应的ECMP ECHO REPLY报文,则说明目标计算机是存在的,便可以针对该计算机进行下一步的攻击。
1.11 泪滴攻击
对于一些大的IP包,需要对其进行分片传送,这是为了迎合链路层的MTU(最大传输单元)的要求。比如,一个4500字节的IP包,在MTU为1500的链路上传输的时候,就需要分成三个IP包。
在IP报头中有一个偏移字段和一个分片标志(MF),如果MF标志设置为1,则表面这个IP包是一个大IP包的片断,其中偏移字段指出了这个片断在整个IP包中的位置。例如,对一个4500字节的IP包进行分片(MTU为1500),则三个片断中偏移字段的值依次为:0,1500,3000。这样接收端就可以根据这些信息成功的组装该IP包。
如果一个攻击者打破这种正常情况,把偏移字段设置成不正确的值,即可能出现重合或断开的情况,就可能导致目标操作系统崩溃。比如,把上述偏移设置为0,1300,3000。这就是所谓的泪滴攻击。
1.12 带源路由选项的IP报文
为了实现一些附加功能,IP协议规范在IP报头中增加了选项字段,这个字段可以有选择的携带一些数据,以指明中间设备(路由器)或最终目标计算机对这些IP报文进行额外的处理。
源路由选项便是其中一个,从名字中就可以看出,源路由选项的目的,是指导中间设备(路由器)如何转发该数据报文的,即明确指明了报文的传输路径。比如,让一个IP报文明确的经过三台路由器R1,R2,R3,则可以在源路由选项中明确指明这三个路由器的接口地址,这样不论三台路由器上的路由表如何,这个IP报文就会依次经过R1,R2,R3。而且这些带源路由选项的IP报文在传输的过程中,其源地址不断改变,目标地址也不断改变,因此,通过合适的设置源路由选项,攻击者便可以伪造一些合法的IP地址,而蒙混进入网络。
1.13 带记录路由选项的IP报文
记录路由选项也是一个IP选项,携带了该选项的IP报文,每经过一台路由器,该路由器便把自己的接口地址填在选项字段里面。这样这些报文在到达目的地的时候,选项数据里面便记录了该报文经过的整个路径。
通过这样的报文可以很容易的判断该报文经过的路径,从而使攻击者可以很容易的寻找其中的攻击弱点。
1.14 未知协议字段的IP报文
在IP报文头中,有一个协议字段,这个字段指明了该IP报文承载了何种协议 ,比如,如果该字段值为1,则表明该IP报文承载了ICMP报文,如果为6,则是TCP,等等。目前情况下,已经分配的该字段的值都是小于100的,因此,一个带大于100的协议字段的IP报文,可能就是不合法的,这样的报文可能对一些计算机操作系统的协议栈进行破坏。
1.15 IP地址欺骗
一般情况下,路由器在转发报文的时候,只根据报文的目的地址查路由表,而不管报文的源地址是什么,因此,这样就 可能面临一种危险:如果一个攻击者向一台目标计算机发出一个报文,而把报文的源地址填写为第三方的一个IP地址,这样这个报文在到达目标计算机后,目标计算机便可能向毫无知觉的第三方计算机回应。这便是所谓的IP地址欺骗攻击。
比较著名的SQL Server蠕虫病毒,就是采用了这种原理。该病毒(可以理解为一个攻击者)向一台运行SQL Server解析服务的服务器发送一个解析服务的UDP报文,该报文的源地址填写为另外一台运行SQL Server解析程序(SQL Server 2000以后版本)的服务器,这样由于SQL Server 解析服务的一个漏洞,就可能使得该UDP报文在这两台服务器之间往复,最终导致服务器或网络瘫痪。
1.16 WinNuke攻击
NetBIOS作为一种基本的网络资源访问接口,广泛的应用于文件共享,打印共享,进程间通信(IPC),以及不同操作系统之间的数据交换。一般情况下,NetBIOS是运行在LLC2链路协议之上的,是一种基于组播的网络访问接口。为了在TCP/IP协议栈上实现NetBIOS,RFC规定了一系列交互标准,以及几个常用的TCP/UDP端口:
139:NetBIOS会话服务的TCP端口;
137:NetBIOS名字服务的UDP端口;
136:NetBIOS数据报服务的UDP端口。
WINDOWS操作系统的早期版本(WIN95/98/NT)的网络服务(文件共享等)都是建立在NetBIOS之上的,因此,这些操作系统都开放了139端口(最新版本的WINDOWS 2000/XP/2003等,为了兼容,也实现了NetBIOS over TCP/IP功能,开放了139端口)。
WinNuke攻击就是利用了WINDOWS操作系统的一个漏洞,向这个139端口发送一些携带TCP带外(OOB)数据报文,但这些攻击报文与正常携带OOB数据报文不同的是,其指针字段与数据的实际位置不符,即存在重合,这样WINDOWS操作系统在处理这些数据的时候,就会崩溃。
1.17 Land攻击
LAND攻击利用了TCP连接建立的三次握手过程,通过向一个目标计算机发送一个TCP SYN报文(连接建立请求报文)而完成对目标计算机的攻击。与正常的TCP SYN报文不同的是,LAND攻击报文的源IP地址和目的IP地址是相同的,都是目标计算机的IP地址。这样目标计算机接收到这个SYN报文后,就会向该报文的源地址发送一个ACK报文,并建立一个TCP连接控制结构(TCB),而该报文的源地址就是自己,因此,这个ACK报文就发给了自己。这样如果攻击者发送了足够多的SYN报文,则目标计算机的TCB可能会耗尽,最终不能正常服务。这也是一种DOS攻击。
为什么黑客能从IP地址进入电脑盗取号码?
木马入侵的工作原理
在介绍木马的工作原理之前有一些木马构成的基础知识我们要事先加以说明,因为下面有很多地方会提到这些内容。一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。
(1)硬件部分:建立木马连接所必须的硬件实体。控制端:对服务端进行远程控制的一方。服务端:被控制端远程控制的一方。INTERNET:控制端对服务端进行远程控制,数据传输的网络载体。
(2)软件部分:实现远程控制所必须的软件程序。控制端程序:控制端用以远程控制服务端的程序。木马程序:潜入服务端内部,获取其操作权限的程序。木马配置程序:设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏得更隐蔽的程序。
(3)具体连接部分:通过INTERNET在服务端和控制端之间建立一条木马通道所必须的元素。控制端IP,服务端IP:即控制端,服务端的网络地址,也是木马进行数据传输的目的地。控制端端口,木马端口:即控制端,服务端的数据入口,通过这个入口,数据可直达控制端程序或木马程序。
用木马这种黑客工具进行网络入侵,从过程上看大致可分为六步,下面我们就按这六步来详细阐述木马的攻击原理。
(一)配置木马
一般来说一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两方面功能:
(1)木马伪装:木马配置程序为了在服务端尽可能的隐藏木马,会采用多种伪装手段,如修改图标,捆绑文件,定制端口,自我销毁等。
(2)信息反馈:木马配置程序将就信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址,IRC号,ICO号等等。
(二)传播木马
1、传播方式:木马的传播方式主要有两种:一种是通过E-MAIL,控制端将木马程序以附件的形式夹在邮件中发送出去,收信人只要打开附件系统就会感染木马;另一种是软件下载,一些非正规的网站以提供软件下载为名义,将木马捆绑在软件安装程序上,下载后,只要一运行这些程序,木马就会自动安装。
2、伪装方式:鉴于木马的危害性,很多人对木马知识还是有一定了解的,这对木马的传播起了一定的抑制作用,这是木马设计者所不愿见到的,因此他们开发了多种功能来伪装木马,以达到降低用户警觉,欺骗用户的目的。主要有以下6个方面:
(1)修改图标:当你在E-MAIL的附件中看到这个图标时,是否会认为这是个文本文件呢?但是我不得不告诉你,这也有可能是个木马程序,现在已经有木马可以将木马服务端程序的图标改成HTML,TXT, ZIP等各种文件的图标,这有相当大的迷惑性,但是目前提供这种功能的木马还不多见,并且这种伪装也不是无懈可击的,所以不必整天提心吊胆,疑神疑鬼的。
(2)捆绑文件:这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷的进入了系统。至于被捆绑的文件一般是可执行文件(即EXE,COM一类的文件)。
(3)出错显示:有一定木马知识的人都知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序,木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务端用户打开木马程序时,会弹出一个错误提示框(这当然是假的),错误内容可自由定义,大多会定制成一些诸如“文件已破坏,无法打开!”之类的信息,当服务端用户信以为真时,木马却悄悄侵入了系统。
(4)定制端口:很多老式的木马端口都是固定的,这给判断是否感染了木马带来了方便,只要查一下特定的端口就知道感染了什么木马,所以现在很多新式的木马都加入了定制端口的功能,控制端用户可以在1024---65535之间任选一个端口作为木马端口(一般不选1024以下的端口),这样就给判断所感染木马类型带来了麻烦。
(5)自我销毁: 这项功能是为了弥补木马的一个缺陷。我们知道当服务端用户打开含有木马的文件后,木马会将自己拷贝到WINDOWS的系统文件夹中(C:WINDOWS或C:WINDOWSSYSTEM目录下),一般来说原木马文件和系统文件夹中的木马文件的大小是一样的(捆绑文件的木马除外),那么中了木马的朋友只要在近来收到的信件和下载的软件中找到原木马文件,然后根据原木马的大小去系统文件夹找相同大小的文件,判断一下哪个是木马就行了。而木马的自我销毁功能是指安装完木马后,原木马文件将自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工具帮助下,就很难删除木马了。
(6)木马更名:安装到系统文件夹中的木马的文件名一般是固定的,那么只要根据一些查杀木马的文章,在系统文件夹查找特定的文件。就可以断定中了什么木马。所以现在有很多木马都允许控制端用户自由定制安装后的木马文件名,这样很难判断所感染的木马类型了。
(三)运行木马: 服务端用户运行木马或捆绑木马的程序后,木马就会自动进行安装。首先将自身拷贝到WINDOWS的系统文件夹中(C:WINDOWS或C:WINDOWSSYSTEM目录下),然后在注册表,启动组,非启动组中设置好木马的触发条件,这样木马的安装就完成了。安装后就可以启动木马了。
(1)由触发条件激活木马。触发条件是指启动木马的条件,大致出现在下面八个地方:
第一、注册表:打开HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion下的五个以Run和RunServices主键,在其中寻找可能是启动木马的键值。
第二、WIN.INI:C:WINDOWS目录下有一个配置文件win.ini,用文本方式打开,在[windows]字段中有启动命令load=和run=,在一般情况下是空白的,如果有启动程序,可能是木马。
第三、SYSTEM.INI:C:WINDOWS目录下有个配置文件system.ini,用文本方式打开,在[386Enh],[mic],[drivers32]中有命令行,在其中寻找木马的启动命令。
第四、Autoexec.bat和Config.sys:在C盘根目录下的这两个文件也可以启动木马。但这种加载方式一般都需要控制端用户与服务端建立连接后,将已添加木马启动命令的同名文件上传到服务端覆盖这两个文件才行。
第五*.INI:即应用程序的启动配置文件,控制端利用这些文件能启动程序的特点,将制作好的带有木马启动命令的同名文件上传到服务端覆盖这同名文件,这样就可以达到启动木马的目的了。
第六、注册表:打开HKEY_CLASSES_ROOT文件类型shellopencommand主键,查看其键值。举个例子,国产木马“冰河”就是修改HKEY_CLASSES_ROOTtxtfileshellopencommand下的键值,将“C :WINDOWS NOTEPAD.EXE %1”改为“C:WINDOWSSYSTEMSYSEXPLR.EXE %1”,这时你双击一个TXT文件后,原本应用NOTEPAD打开文件的,现在却变成启动木马程序了。还要说明的是不光是TXT文件,通过修改HTML,EXE,ZIP等文件的启动命令的键值都可以启动木马,不同之处只在于“文件类型”这个主键的差别,TXT是txtfile,ZIP是WINZIP,大家可以试着去找一下。
第七、捆绑文件:实现这种触发条件首先要控制端和服务端已通过木马建立连接,然后控制端用户用工具软件将木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被安装上去了。
第八、启动菜单:在“开始---程序---启动”选项下也可能有木马的触发条件。
(2)木马运行过程。木马被激活后,进入内存,并开启事先定义的木马端口,准备与控制端建立连接。这时服务端用户可以在MS-DOS方式下,键入NETSTAT -AN查看端口状态,一般个人电脑在脱机状态下是不会有端口开放的,如果有端口开放,你就要注意是否感染木马了。
在上网过程中要下载软件,发送信件,网上聊天等必然打开一些端口,下面是一些常用的端口:
①1---1024之间的端口:这些端口叫保留端口,是专给一些对外通讯的程序用的,如FTP使用21,SMTP使用25,POP3使用110等。只有很少木马会用保留端口作为木马端口的。
②1025以上的连续端口:在上网浏览网站时,浏览器会打开多个连续的端口下载文字,图片到本地硬盘上,这些端口都是1025以上的连续端口。
③4000端口:这是OICQ的通讯端口。
④6667端口:这是IRC的通讯端口。 除上述的端口基本可以排除在外,如发现还有其它端口打开,尤其是数值比较大的端口,那就要怀疑是否感染了木马,当然如果木马有定制端口的功能,那任何端口都有可能是木马端口。
(四)信息泄露:一般来说,设计成熟的木马都有一个信息反馈机制。所谓信息反馈机制是指木马成功安装后会收集一些服务端的软硬件信息,并通过E-MAIL,IRC或ICO的方式告知控制端用户。
(五)建立连接: 一个木马连接的建立首先必须满足两个条件:一是服务端已安装了木马程序;二是控制端,服务端都要在线 。在此基础上控制端可以通过木马端口与服务端建立连接。
假设A机为控制端,B机为服务端,对于A机来说要与B机建立连接必须知道B机的木马端口和IP地址,由于木马端口是A机事先设定的,为已知项,所以最重要的是如何获得B机的IP地址。获得B机的IP 地址的方法主要有两种:信息反馈和IP扫描。我们重点来介绍IP扫描,因为B机装有木马程序,所以它的木马端口7626是处于开放状态的,所以现在A机只要扫描IP地址段中7626端口开放的主机就行了,假设B机的IP地址是202.102.47.56,当A机扫描到这个IP时发现它的7626端口是开放的,那么这个IP就会被添加到列表中,这时A机就可以通过木马的控制端程序向B机发出连接信号,B机中的木马程序收到信号后立即作出响应,当A机收到响应的信号后,开启一个随即端口1031与B机的木马端口7626建立连接,到这时一个木马连接才算真正建立。值得一提的要扫描整个IP地址段显然费时费力,一般来说控制端都是先通过信息反馈获得服务端的IP地址,由于拨号上网的IP是动态的,即用户每次上网的IP都是不同的,但是这个IP是在一定范围内变动的,B机的IP是202.102.47.56,那么B机上网IP的变动范围是在202.102.000.000---202.102.255.255,所以每次控制端只要搜索这个IP地址段就可以找到B机了。
(六)远程控制:木马连接建立后,控制端端口和木马端口之间将会出现一条通道。控制端上的控制端程序可藉这条通道与服务端上的木马程序取得联系,并通过木马程序对服务端进行远程控制。下面我们就介绍一下控制端具体能享有哪些控制权限,这远比你想象的要大。
(1)窃取密码:一切以明文的形式,*形式或缓存在CACHE中的密码都能被木马侦测到,此外很多木马还提供有击键记录功能,它将会记录服务端每次敲击键盘的动作,所以一旦有木马入侵, 密码将很容易被窃取。
(2)文件操作:控制端可藉由远程控制对服务端上的文件进行删除,新建,修改,上传,下载,运行,更改属性等一系列操作,基本涵盖了WINDOWS平台上所有的文件操作功能。
(3)修改注册表:控制端可任意修改服务端注册表,包括删除,新建或修改主键,子键,键值。有了这项功能控制端就可以禁止服务端软驱,光驱的使用,锁住服务端的注册表,将服务端上木马的触发条件设置得更隐蔽一系列高级操作。
(4)系统操作:这项内容包括重启或关闭服务端操作系统,断开服务端网络连接,控制服务端的鼠标,键盘,监视服务端桌面操作,查看服务端进程等,控制端甚至可以随时给服务端发送信息,想象一下,当服务端的桌面上突然跳出一段话,这是多么吓人的事。
tt
四、黑客是如何骗取你执行木马的
如今大多数上网的朋友警惕性都很高,想骗取他们执行木马是件很困难的事,因为木马出现这么久,木马两个字听得人们耳朵都长出了老茧,可说是谈“马”色变,即使不是电脑高手都知道,一见到是exe 文件便不会轻易“招惹”它,因而中标的机会也就相对减少了。对于此,黑客们是不会甘于寂寞的,在黑客的世界里挑战与刺激才是他们趋之若婺的。
1、冒充为图像文件
首先,黑客最常使用骗别人执行木马的方法,就是将特洛伊木马说成为图像文件,比如说是照片等,应该说这是一个最不合逻辑的方法,但却是最多人中招的方法,有效而又实用 。
只要入侵者扮成美眉及更改服务器程序的文件名(例如 sam.exe )为“类似”图像文件的名称,再假装传送照片给受害者,受害者就会立刻执行它。为什么说这是一个不合逻辑的方法呢?图像文件的扩展名根本就不可能是.exe,而木马程序的扩展名基本上又必定是.exe ,明眼人一看就会知道有问题,多数人在接收时一看见是exe文件,便不会接收了,那有什么方法呢? 其实方法很简单,他只要把文件名改变,例如把“sam.exe” 更改为“sam.jpg” ,那么在传送时,对方只会看见sam.jpg 了,而到达对方电脑时,因为windows 默认值是不显示扩展名的,所以很多人都不会注意到扩展名这个问题,而恰好你的计算机又是设定为隐藏扩展名的话,那么你看到的只是sam.jpg 了,受骗也就在所难免了。
还有一个问题就是,木马本身是没有图标的,而在电脑中它会显示一个windows 预设的图标,别人一看便会知道了!但入侵者还是有办法的,这就是给文件换个“马甲”,即修改文件图标。修改文件图标的方法如下:
1)比如到http://www.download.com 下载一个名为IconForge 的软件,再进行安装。
2)执行程序,按下File Open
3) 在File Type 选择exe 类
4)在File Open 中载入预先制作好的图标( 可以用绘图软件或专门制作icon 的软件制作,也可以在网上找找) 。
5)然后按下File Save 便可以了。
如此这般最后得出的,便是看似jpg 或其他图片格式的木马了,很多人就会不经意间执行了它。
2、合并程序欺骗
通常有经验的用户,是不会将图像文件和可执行文件混淆的,所以很多入侵者一不做二不休,干脆将木马程序说成是应用程序:反正都是以 exe 作为扩展名的。然后再变着花样欺骗受害者,例如说成是新出炉的游戏,无所不能的黑客程序等等,目地是让受害者立刻执行它。而木马程序执行后一般是没有任何反应的,于是在悄无声息中,很多受害者便以为是传送时文件损坏了而不再理会它。
如果有更小心的用户,上面的方法有可能会使他们的产生坏疑,所以就衍生了一些合拼程序。合拼程序是可以将两个或以上的可执行文件(exe文件) 结合为一个文件,以后只需执行这个合拼文件,两个可执行文件就会同时执行。如果入侵者将一个正常的可执行文件(一些小游戏如 wrap.exe) 和一个木马程序合拼,由于执行合拼文件时 wrap.exe会正常执行,受害者在不知情中,背地里木马程序也同时执行了。而这其中最常用到的软件就是joiner,由于它具有更大的欺骗性,使得安装特洛伊木马的一举一动了无痕迹,是一件相当危险的黑客工具。让我们来看一下它是如何运作的:
以往有不少可以把两个程序合拼的软件为黑客所使用,但其中大多都已被各大防毒软件列作病毒了,而且它们有两个突出的问题存在,这问题就是:
(1)合拼后的文件体积过大
(2)只能合拼两个执行文件
正因为如此,黑客们纷纷弃之转而使用一个更简单而功能更强的软件,那就是Joiner 了。此软件不但把软件合拼后的体积减少,而且可以待使用者执行后立马就能收到一个icq 的信息,告诉你对方已中招及对方的IP ,更重要的是这个软件可以把图像文件、音频文件与可执行文件合拼,用起来相当方便。
首先把Joiner 解压,然后执行Joiner ,在程序的画面里,有“First executable : ”及“ Second File : ”两项,这两行的右方都有一个文件夹图标,分别各自选择想合拼的文件。
下面还有一个Enable ICQ notification 的空格,如果选取后,当对方执行了文件时,便会收到对方的一个ICQ Web Messgaer ,里面会有对方的ip ,当然要在下面的ICQ number 填上欲收取信息的icq 号码。但开启这个功能后,合拼后的文件会比较大。
最后便按下“Join” ,在Joiner 的文件夹里,便会出现一个Result.exe 的文件,文件可更改名称,因而这种“混合体”的隐蔽性是不言而喻的。
3、以Z-file 伪装加密程序
Z-file 伪装加密软件是台湾华顺科技的产品,其经过将文件压缩加密之后,再以 bmp图像文件格式显示出来(扩展名是 bmp,执行后是一幅普通的图像)。当初设计这个软件的本意只是用来加密数据,用以就算计算机被入侵或被非法使使用时,也不容易泄漏你的机密数据所在。不过如果到了黑客手中,却可以变成一个入侵他人的帮凶。 使用者会将木马程序和小游戏合拼,再用 Z-file 加密及将 此“混合体”发给受害者,由于看上去是图像文件,受害者往往都不以为然,打开后又只是一般的图片,最可怕的地方还在于就连杀毒软件也检测不出它内藏特洛伊木马,甚至病毒!当打消了受害者警惕性后,再让他用WinZip 解压缩及执行 “伪装体 (比方说还有一份小礼物要送给他),这样就可以成功地安装了木马程序。 如果入侵者有机会能使用受害者的电脑(比如上门维修电脑),只要事先已经发出了“混合体,则可以直接用 Winzip 对其进行解压及安装。由于上门维修是赤着手使用其电脑,受害者根本不会怀疑有什么植入他的计算机中,而且时间并不长,30秒时间已经足够。就算是“明晃晃”地在受害者面前操作,他也不见得会看出这一双黑手正在干什么。特别值得一提的是,由于 “混合体” 可以躲过反病毒程序的检测,如果其中内含的是一触即发的病毒,那么一经结开压缩,后果将是不堪设想。
4、伪装成应用程序扩展组件
此类属于最难识别的特洛伊木马。黑客们通常将木马程序写成为任何类型的文件 (例如 dll、ocx等) 然后挂在一个十分出名的软件中,例如 OICQ 。由于OICQ本身已有一定的知名度,没有人会怀疑它的安全性,更不会有人检查它的文件是否多了。而当受害者打开OICQ时,这个有问题的文件即会同时执行。 此种方式相比起用合拼程序有一个更大的好处,那就是不用更改被入侵者的登录文件,以后每当其打开OICQ时木马程序就会同步运行 ,相较一般特洛伊木马可说是“踏雪无痕”。更要命的是,此类入侵者大多也是特洛伊木马编写者,只要稍加改动,就会派生出一支新木马来,所以即使杀是毒软件也拿它没有丝毫办法。
黑客是怎么通过IP攻击电脑使对方电脑瘫痪
扫描端口--获得开放某些特殊端口的机器的IP--使用某些溢出工具进行攻击--攻击成功--上传文件--取得目标机的运行权限(一般为管理员级别的)
-----------大概的过程是这样的,详细的当然要复杂得多。
防范的方法是加装一个防火墙软件,关闭系统的一些默认共享,关闭一些有危险的端口。
黑客的原理是什么?
熟练掌握 C语言,汇编语言
基本上黑客新手都要学到disassemble(反汇编),就是通过一个程序运行的汇编套路来分析其源代码。并用c语言进行测试。汇编要掌握到(stack,protected mode,data segmentESPEBP...),C语言(bit-field, stdcall...)
2.计算机原理
分析程序数据没有十进制,只有2进制和16进制(就是0101 0010或0xFF...),要懂得基本运算。还有big/little-endian等基本术语,会用WinHex/UltraEdit或VS的dempbin分析程序。
3.网络:TCP/IP(TCP,UDP,ICMP,DNS,IP等许多协议),会截取数据包,还有分析frame,结合telnet/ftp/c语言的socket等命令进行网络打劫!这部分最难最枯燥,建议看understanding TCP/IP这本书
4.系统的认知!了解Windows内部API,sockets编程,IP proxy(IPv6最好也学),真正的黑客是几乎漏不出马脚的!
这些就是基础,然后熟练掌握各种操作流程,可以强行进行telnet,或进行TCP hijack,或夺取远程sid等。。。还有很多要学,根本数不完。
推荐你看一下几本书(我看过许多书,走过弯路,这是整理后的最优选择)
1.Assembly language step-by-step
掌握汇编语言,和CPU运行机制,内存模式等
2.the C programming language
C语言的灵魂制作
3.(C++可以了解一下)C++ from ground up或C++ premier
C++在底层其实代替不了C
4.Understanding TCP/IP
TCP/IP网络的精髓
黑客是怎么利用IP来攻击的
先追踪IP,然后扫描该IP主机的开放端口,如果有直接进行攻击的端口就直接攻击,如果没有的话就利用你开放的端口进行木马种植再攻击