堵住旁注攻击之门

2020-12-31 15:26
网络安全和信息化 2020年9期
关键词:域名木马攻击者

编者按:所谓旁注攻击,其实就是从旁边进行攻击。在虚拟主机中往往存在很多个Web 网站,黑客从正面进攻受挫后,就会了解该网站所在的虚拟机中存在的其它网站地址,这些网站中一旦存在漏洞,黑客就可能控制整个虚拟主机,进而控制整个服务器。

旁注攻击解析

同脚本攻击相比,旁注攻击对虚拟主机的危害很大,即使您精心设计扥网站没有安全问题,只是因为与之同处一台虚拟主机的别的网站存在漏洞,导致攻击者可以利用旁注攻击手法,采取迂回战术控制整个虚拟主机,您的网站自然陷落。

从旁注原理上分析,当我们的网站设计的很安全,让攻击者无计可施的话,他们就会利用旁注的方法,来搜寻与我们网站处于同一服务器上的别的网站。利用其存在的安全漏洞,来获得WebShell 甚至是整个服务器的控制权,之后我们的网站也没有任何安全性可言了。

旁注的首要条件就是Whois 查询,即查处同一服务器上的网站信息,可以查知IP 地址和域名所有者等级资料的Whois 服务器。黑客只需要知道了网站的IP 地址,之后利用Whois的查询功能,就可能在服务的记录资料里面找到该网站所在的主机中的网站列表信息。

接下来攻击者就可能会对这些网站进行逐一探测,来发现存在漏洞的站点。这其中攻击者还会利用旁注入侵专用工具,对虚拟主机中的所有域名进行自动扫描检测,来发现其中存在漏洞的网站(例如暴露数据库路径或文件上传等)。

获得WebShell 控制接口往往权限很小,对虚拟主机的危害并不是很大(例如只能浏览目录等)。而如果进一步执行提权,攻击者就可能获得虚拟主机的控制权,那么服务器上的所有网站(包括目标网站)就完全处于黑客的掌控。黑客可以随心所欲的对网站进行修改,盗取数据,嵌入木马等操作。

由此可见,攻击者没有采用太高的技术,就攻破了原本严密设防的网站。从中不难看出,旁注攻击对虚拟主机的危害极大。

有时,当攻击者对目标虚拟主机进行检测时,会发现其中的域名很少,而且这些网站也不存在什么漏洞,这时他们会盯上虚拟主机用户的某些二级域名。有些网站管理员也会将空间划分为几个目录,并分别绑定二级域名。攻击者会通过查询其中存在的二级域名来寻找攻击的突破口。因此,这些方面也是用户必须引起重视的地方。

防御旁注攻击的常规策略

了解到了旁注攻击的过程,就需要采取措施,对服务器进行严密的安全配置,让黑客无法通过旁注来危害网站的安全。

由于黑客往往会上传ASP或PHP 木马来对服务器进行渗透,这些木马或者WebShell接口主要使用了Wscript.Shell、Wscript.Shell.1、Wscript.Network、Wscript.Network.l、FileSystem Object 以及Adodb.Stream 等组件,对服务器上的文件执行读写、删除、复制及更名等操作。所以如果服务器对FSO组件要求不高的话,通过禁用或修改FSO 组件,可以有效禁止这类木马的活动。

木马脚本中的各种功能,诸如浏览目录删除文件等,都是基于某些模型对象之上,这需要微软提供的脚本运行时间DLL 文 件“scrun.dll”的支持。点击“Windows+R”组合键,执行“regsvr/u c:windowssystem32scrrun.dll”命令,来注销FSO 组件。对于基于Shell.application组件的木马来说,可以执行“regsvr32 shell32.dll/u/s”命令进行删除。

熟悉ASP 语法的用户都知道,在ASP 程序中调用组件的语法通常是“set 对象名=Server.CreateObject("Progid")”,其中的关键就是“Progid”值。不同的组件对应不同的Progid 值,而FSO 组件的调用也是通过Progid 值来完成的。因此修改Progid 值,也可以禁止FSO 组件。

在注册表编辑器中打开“HKEY_CLASSES_ROOTScripting.FileSystem Object”分支,然后将其中的“Scripting.FileSystem Object”名称进行修改,比如说修改为“Scripting.FileSystemObjectxx”等。这样,在ASP 木马试图调用FSO 组件的Progid 值时,对应语句就变成了“Set 对象名=Server.CreateObject("Scripting.Filesystem Objectxx")”格式,让使用FSO 组件的ASP 木马失去作用。

为了防止黑客通过FSO的类标识符CLSID 在网页中调用组件,最好在上述分支中选择“CLSID”项,在窗口右侧双击默认项,修改其CSLID 值,防止非法调用。同理,对“HKEY_CLASSES_ROOTWScript.Shell.1” “HKEY_CLASSES_ROOTWScript.Network” “HKEY_CLASSES_ROOTWScript.Network.1”“HKEY_CLASSES_ROOTShell.Application” “HKEY_CLASSES_ROOTShell.Application.1”等键值进行同样的修改,来抵御ASP 木马等恶意程序的威胁。为了防止黑客随意调用CMD.exe 程序,可以执行“cacls C:WindowsSystem32cmd.exe/e/d guests”命令,禁止Guests 组用户访问CMD.exe 程序。

当然,使用上述方法虽然在一定程序上提高了安全性,不过有时会明显影响主机的运作效率。如何既允许FSO 组件的存在,又可以避免黑客利用ASP 木马对主机进行入侵呢?这就需要利用Windows的权限控制机制来实现了。例如,在各个盘符的属性窗口中的“安全”面板上点击“添加”按钮,之后搜索本机中的所有账户信息,将“Administrators”“Backup Operators” “Power Users”以及“Replicator”等账户组添加进来,并为其分配“完全控制权限”。将“Guests” “IWAM_ 主机名”“IUSR_主机名” “everyone”等账户或组删除。其中的“IUSR_主机名”是运行ASP时访问硬盘的账户,将其从访问列表中删除,ASP 木马就无法对硬盘进行读写操作。运行“lusrmgr.msc”程序,打开账户管理程序,为虚拟主机中的每个用户分别创建账户名,在创建账户窗口中不选择“用户下次登录时须更改密码”项,选择“用户不能更改密码”和“密码永不过期”项。

假设创建的账户名为“IUSR_one”,在CMD 窗口中执行“net localgroup user IUSR_one/del”和“net localgroup guests IUSR_one/add”命令,将“IUSR_one”账户从默认的用户组中删除,并将其添加到Guests组。在IIS 服务管理器中找到对应的虚拟主机项目,在其右键菜单上点击“属性”项,在弹出窗口中的“主目录”面板中点击“浏览”,设置虚拟主机的Web 路径。之后在该路径的属性窗口中的“安全”面板中将存在的账户全部清除,点击“添加”,将“Administrator”和“IUSR_one”添加进来,并为其设置完全控制的权限,可以根据需要添加所需的账户,但是Guests 和“IUSR_ 主机名”之类的账户不要添加进来。

选择上述IIS 管理窗口中的“目录安全性”→“匿名访问和验证控制”,点击“编辑”按钮,在验证方法窗口中点击“编辑”按钮,在匿名用户账号窗口中将默认账号修改为“IUSR_one”,并输入其密码信息。这样,所有访问该网站的用户都是使用“IUSR_one”账户来操作的,该账户只对虚拟主机本地的Web 网站目录有操作权限,对其他的目录没有任何权限,这样就可以防止攻击者利用WebShell 接口来浏览或者跳转目录。即使攻击者获得了“IUSR_one”的密码和对应的Web 网站目录中的全部权限,但由于该账户输入Guests组,权限非常低,根本无法运行任何程序。

按照同样的方法,为虚拟主机的不同Web 网站分别配置管理账户。

实际上,攻击者要想实施旁注攻击,需要满足一些条件。例如,目标主机安装了IIS 服务器,在主机上可以运行CMD 命令,主机需要支持FSO、ADO 和WSH 组件,主机安装了FTP 及终端服务等程序等条件。这样,黑客才可以执行扫描、探测、分析和攻击以及提升权限等动作。

所以,对服务器上的应用程序和系统软件进行合理的安全配置,对防止黑客入侵有着非常大的作用。例如,将各种程序升级到最新版本,为其设置复杂的密码,为系统打上各种补丁等,都可以增大黑客攻击的难度。

例如,删除无关的网络协议,不仅可以提高访问效率,也就可以降低黑客攻击的风险。禁止系统在出错时自动生成各种报告文件。这样可以防止泄露系统配置信息。禁止允许建立空连接,禁止自动启动服务器共享,关闭135 及445 等危险端口,都可以提高系统的安全性。针对IIS 目录,管理员可以设置拒绝特定的IP 地址,子网甚至域名来访问服务器。此外,利用WhosOn 工具,能够让管理员了解哪些IP 地址正在试图访问服务器上的特定文件。如果发现攻击者正在试图访问服务器上的“CMD.exe”程序,管理员可以选择拒绝其访问Web 服务器。

利用NTFS 权限控制机制,合理设置磁盘和文件访问权限,对于防范黑客入侵意义重大。特别是对各逻辑盘、系统盘和系统文件夹等重点目标,尽可能只保留Admibistrators 组和SYSTEM账户,将其余的账户全部删除,尤其是everyone 等危险性较大的账户。

对于系统自带的可能被攻击者利用的程序(例如“net.exe 等”),也需要配置合理的权限,只允许Admini strators 组 和SYSTEM 账 户对其进行控制。利用组策略,设置复杂的密码策略,可以提高密码的安全性。利用审核机制,便于及时发现黑客的入侵痕迹。关闭无关的系统服务(比如注册表远程访问等),防止黑客乘机进行渗透。如果使用FTP 服务器,尽可能使用IIS 中提供的FTP 组件,并为其合理配置账户和权限。如果使用终端服务,可以采取修改访问端口,设置监控脚本,利用安全策略拦截无关IP 等手段来提高安全性。当然,这些安全设置方法有很多技巧和注意事项,这里不再赘述。

利用端口转发,防范旁注攻击

除了采用常规方法来防御旁注攻击外,还可以采用一些特殊的技巧。

例如,使用端口转发技术,就可以让旁注攻击铩羽而归。在服务器上,通过禁用危险的组件合理设置目录访问机制,可以提高系统安全性。不过,对于一般用户来说,只能访问虚拟主机,而无法对真实服务器进行有效控制。所以,服务器的安全设置对于一般的网站管理员是无法做到的。从旁注的原理上看,一旦黑客通过Whois查出目标网站对应的IP 地址,要想禁止其查询该IP 上绑定的其他域名几乎是不可能的。那么,只要将网站的IP 地址隐藏起来,就可以避免遭到黑客的旁注攻击。

为了实现该想法,首先需要有一台没有开启80 端口,并且有公网IP的主机作为转发机来使用。假设虚拟主机的IP地址为“192.168.0.5”,网站的域名为“www.xxx.com”,作为转发机的主机IP为“192.168.0.3”。

先登录到域名管理界面,来更改DNS 设置信息,将域名“www.xxx.com”的A 记录指向192.168.0.3的IP。之后当访问“www.xxx.com”域名时,就会导向192.168.0.3的这台主机,但是网站其实并不在这台主机上,所以就会出现访问失败的情况。为了顺利访问到我们的网站,可以利用端口转发来实现,即 将192.168.0.3的80 端口转发到192.168.0.5的主机的80 端口上。

端口转发有很多工具可以利用,这里以Fpipe 为例进行说明:

在IP 为192.168.0.3的主机上运行“fpipe–l 80 r 80 192.168.0.5”,就可以将访问本机80 端口的数据转发到IP 为192.168.0.6的主机中的80 端口上。之后当访问“www.xxx.com”主机时,可以顺利访问我们的网站了。使用Ping 命令对“www.xxx.com”网站进行探测时,显示的IP 地址为“192.168.0.3”,即转发机的IP。使用“nslookup”命令进行检测,探测到的IP 依然为“192.168.0.3”。这样,攻击者会因为找到不真实的IP而无法进行侵袭网站。

巧用地址解析防范旁注攻击

根据以上分析可以看出,利用Whois 域名查询功能解析的IP 地址其实就是我们在域名管理的A 记录中填写的IP地址。因此反过来考虑,如果在域名管理的A 记录中写入一个错误的解析地址,Whois的查询功能自然随之失效。当然,这样虽然可以避开Whois 查询,不过同时也就无法解析域名了,因此在设置A 记录时就需要采取一些特殊的技巧。

按照正常的DNS 解析顺序,当访问者在浏览器中输入目标域名后,浏览器会先在本机中查找域名绑定信息,如果没有发现的话,就会到Internet 上特定的域名服务器中查询该域名,查询到之后,就可以根据与之对应的IP 来访问目标站点。而如果域名IP 绑定关系是错误的,访问就会出错,接着浏览器就会再次到域名服务器上查找正确的绑定信息。利用这一点,这要为特定的域名绑定多个IP 地址,其中第一个是错误的IP,之后的才是正确的IP,那么就可以让Whois 查询失效,让攻击者无法进行旁注攻击。

具体的操作并不复杂,您可以根据虚拟主机提供商的不同,进入对应的域名管理网站,在域名管理模块中进入域名解析界面,点击“新增”按钮,在A 记录添加一个域名解析到某个IP,假设为“192.168.0.10”,与该地址对应的是一台没有开启Web 服务的主机,而不是实际的真实IP。之后按照同样方法,在A 记录添加一个域名解析到真实的IP,假设为“192.168.0.20”。这 样,一个域名就绑定了两个IP,这并不影响网站的访问操作。当访问我们的网站时,浏览器的访问速度明显降低,但是最终访问成功了。这是因为其执行了两次域名解析操作,第一次解析的是错误的域名IP 绑定关系,第二次才解析成功。

注意,首次解析成功后,之后的解析动作非常顺利了,因为系统已经将域名信息下载到本机,直接在本机解析就可以了。当攻击者使用旁注检测工具对网站进行探测时,只能得到错误的IP。自然无法执行之后的旁注攻击动作。

当然,该方法并非滴水不漏。比如使用某些程序可以在浏览器中显示目标网站的真实IP。因为首次顺利访问成功后,会将域名信息现在到本机中,使用“ipconfig/displaydns”命令,就可以查看本机存储的域名信息。

猜你喜欢
域名木马攻击者
基于贝叶斯博弈的防御资源调配模型研究
小木马
骑木马
《江苏教育研究》官方网站域名变更公告
小木马
正面迎接批判
正面迎接批判
顶级域名争夺战:ICANN放出1930个通用顶级域名,申请者有上千家