打开文本图片集
摘要:随着信息化不断发展,黑客利用这些信息系统的各种漏洞进行黑客攻击,造成了国家、企业和人民的大量損失,本文通过对黑客攻击中远程控制原理介绍,可对防范研究提供技术支撑。
关键词: 黑客 远程控制 防范
中图分类号:G4 文献标识码:A
随着信息化社会不断的发展,各种信息化基础设施不断完善,各种信息化系统有了蓬勃的发展,随之而来也出现了很多安全问题,有不少黑客利用这些信息系统的各种漏洞进行黑客攻击,造成了国家、企业和人民的大量损失。在黑客攻击中,远程控制攻击是危险性最高,破坏性最大的一种攻击。黑客一旦完成了远程控制,就可以进行窃取用户数据、盗取用户账号、破快用户系统和勒索等破坏性行动。
远程控制的原理主要就是要在客户主机安插一个木马,木马的安插方式多种多样,五花八门。但是木马的主要作用是一样的,都是通过TCP和远端的黑客建立连接,从而让黑客能够控制受害设备。在这个远程控制的原理中,有两种方式。一种方式称为主动模式,这种模式需要让木马在受害主机运行,并且在受害主机使用socket监听一个TCP端口,然后黑客计算机通过TCP尝试连接受害主机的对应端口号,连接成功就可以进行控制。当然这里的主动模式,还有WEB服务这种情况,这种情况需要生成PHP或者JSP的木马。
主动控制
另一种被称为被动模式,这种模式需要在黑客计算机使用socket监听一个TCP端口,然后设法让木马在受害主机运行,这个木马会使用socket的TCP连接去尝试连接黑客主机对应的端口号,如果连接成功,受害主机就会被黑客控制。
被动控制
在上述的远程控制过程中,首先需要考虑黑客是如何制作和植入一个木马到受害主机上的。最快速直接的方式可以使用kali linux来进行生成,也可以使用各种编程语言自己编写。
这里黑客一般会根据目标主机的操作系统来生成对应的木马。比如windows操作系统的木马,Linux操作系统的木马,android操作系统的木马和ARM嵌入式设备上运行的木马。同时对于一些WEB应用也可以生成对应的木马,比如对于jsp可以生成java木马,对于php可以生成php木马。至于木马如何才能植入受害主机呢?一种方式,黑客会利用一些系统的文件上传漏洞进行木马的上传。还有一种方式,黑客会制作恶意的URL链接,通过恶意网站,劫持网站和发送短信等各种方式诱导受害者点击链接,从而在受害者主机植入木马。各种各样的木马层出不穷,应该如何防范呢?首先,我们应该在我们的计算机设备上安装杀毒软件,这些杀毒软件拥有自己的木马病毒库,能够对文件系统中存在的木马进行扫描和确认。同时他们的病毒库也在不断更新,确保对于潜在的木马病毒具有较高的识别率。作为一般用户,也要养成良好的上网习惯。使用浏览器时,不要访问可疑网站,不要点击可疑链接。
主动模式中防火墙可以阻止黑客
目前流行的杀毒软件都会对用户操作系统的文件系统中的文件进行扫描,找出可疑的木马,并且删除,从而免除系统被控制的危险。这些杀毒软件会分析程序文件的编码特征来判断目标文件是否是一个木马文件。然而新的木马层出不穷,黑客也会不断想出新的方式来进行代码混淆,导致杀毒软件无法识别出这些新型木马。所以对于杀毒软件的选择,我们也要慎重,要选择的杀毒软件应该具有完善的病毒编码特征库,同时这些病毒编码特征库应该有一个安全团队在维护,确保特征库能够不断更新,从而达到对于新型木马也有很好的识别率。
除了硬盘上的木马,还有可能存在绕过硬盘直接在内存运行的木马,这种木马攻击方式主要是利用了操作系统的漏洞或者是操作系统上安装运行了的软件的漏洞。这里我们说的操作系统可以是Windows操作系统(主要见于个人计算机),也可以是Linux操作系统(主要见于互联网服务器、企业服务器)。软件可以是一切安装在Windows或者Linux上的软件。
比如永恒之蓝漏洞就是Windows操作系统的一个著名漏洞,2017年4月,黑客组织公布了一大批网络攻击工具,其中就有“永恒之蓝”的漏洞利用工具,这个工具利用Windows的SMB漏洞获取操作系统的最高权限。恶意工具会通过扫描寻找开放了445端口的Windows计算机,用户计算机只要是开机状态和联网状态,不需要用户的任何操作,黑客就可以在受害计算机中运行远程控制木马。这种木马是一段shellcode,由黑客通过网络发送数据到达受害计算机,并且在受害计算机的内存中执行了,配合黑客计算机达到远程控制的目的。
上面的漏洞是操作系统级别的漏洞,应用软件由于种类繁多,应用广泛,如果编写软件的代码存在不规范,就会出现可以利用的漏洞。比如EasyFileSharing在2015年被发现的一个漏洞。还有vsftpd-2.3.4上存在的笑脸漏洞。黑客首先研究这些漏洞,精心设计好一串数据,发送给运行了有漏洞的软件的受害计算机,覆盖进程中函数调用的返回地址,劫持进程的运行流程,让进程执行一段黑客指定的shellcode(也就是运行一个内存木马),配合黑客计算机达到远程控制的目的。
这种攻击方式就是黑客们常常研究的栈溢出攻击。黑客通过研究进程运行时函数调用和返回的原理,再结合反汇编技术,计算出缓冲区起始位置到达函数栈中返回地址的具体偏移量。构造字符串,利用程序漏洞覆盖函数调用栈中的返回地址,改变进程的执行内容,从而劫持进程,这个过程主要有四种方式。
第一种,覆盖返回地址,让它指向栈溢出数据串中的一段指令(shellcode)。这种方式需要在栈溢出数据中包含一段二进制攻击指令,并且用使用攻击指令的开始地址覆盖掉返回地址的值。攻击指令的作用一般都是运行之后会打开一个shell,进而获得了当前进程的具体控制权,shellcode的生成方式有很多种,可以用汇编语言写好代码片段,然后转化成对应的机器码。也可以使用kali Linux 中的工具来生成。