见招拆招 粉碎劫持阴谋

2018-11-07 07:15
网络安全和信息化 2018年9期
关键词:注册表IP地址局域网

映像劫持 最常用的劫持伎俩

大家也许都遇到过这样的场景——原本正常的杀软等安全工具突然无法启动了,系统出现各种奇怪症状。这很有可能说明恶意程序对杀软进行了映像劫持。

映像劫持技术(IFEO)本意是为一些在默认系统环境下运行时,又可能发生错误的程序执行体提供一个特殊的环境设定,主要用于调试程序的目的。当一个可执行程序位于IFEO的控制中时,其内存分配则根据其参数而定,而Windows NT架构的系统可以通过相关注册表项的使用与可执行程序文件名匹配的项目作为程序加载时的控制依据,最终得以设定一个程序的堆管理机制和一些辅助机制等。

出于简化的目的,IFEO使用忽略路径的方法来匹配它所要控制的程序文件名,因此无法将程序放置在哪个目录,只有其名称没有变化,其运行就会出现问题。所以,将被劫持的程序更换一个名称,就可以顺利启动了。

运行“regedit.exe”程序,展开“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options”分支,在其下可以查看被劫持的程序。

也可以自建有益的劫持项目,例如当您不希望运行某个程序(例如“xxx.com”),可以在该主键的右键菜单上点击“新建”→“项”,之后将新建的子健改名为“xxx.exe”,选中该子健,在右侧窗口中建立一个字符串类型的名称为“debugger”的键值名,并将其值修改为“C:denyrun.exe”。这样,当运行该“XXX.exe”程序时,会触发一个根本不存在的程序,自然无法运行了。

除了在上述路径中删除被劫持的程序项目外,也可以运行“regedit32.exe”程序,在其中打开上述路径,在其右键菜单上点击“权限”项,在弹出窗口中分别选 择“Administrators”和“SYSTEM”账户,在“拒绝”列中选择所有项目,就可以禁止操作映像劫持项目。

或者单独创建一个允许运行列表,让之外的程序无法运行,来抗击映像劫持操作。方法是在注册表编辑器中打开“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer”分之,在其右侧建立一个DWORD类型的名称为“RestrictRun”的项目,将其值设置为“1”。在双击“Explorer”子键下建立一个名为“RestrictRun”的子键,在其右侧分别创建字符串类型的名称从“1”到某个数字(例如“10”等)的项目,每个项目的值为具体的程序名(例 如“qq.exe”等)。

您可以根据需要来创建任意多个项目,让所需的程序获得正常运行的权利。而该列表之外的程序将无法运行。

此外,还有一种劫持程序的方法也值得关注,在注册表中打开“HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor”,在其右侧双击“AutoRun”项,来查看其值是否为空,否则的话就要警惕了。

当运行“cmd.exe”程序时,系统会优先运行在上述“AutoRun”项中设定的指令。当病毒木马入侵后,为了防止用户在CMD窗口执行各种检测操作,会利用对上述键值进行劫持。

例如,将“AutoRun”项的值设为“taskkill /im cmd.exe”。这样,当用户启动CMD窗口时,该指令就会自动关闭CMD窗口。如果“AutoRun”项的值指向病毒木马程序,那么只要运行“cmd.exe”程序,就会立即激活病毒程序。如果其值为“"C:Program FilesInternet Exploreriexplore.exe" www.xxx.com”,就会自动启动指定的恶意网站。

所以,及时将“AutoRun”项的值清空,或者直接删除该项,可以有效避免病毒的潜在威胁。

注意,在“HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor”分之中也存在这种情况,同样不应漏掉。

抗击劫持 让浏览器回归正途

上网冲浪离不开浏览器,于是病毒、木马、流氓软件等恶意程序就将黑手伸向了浏览器,对浏览器(特别是IE)进行绑架,成了目前颇为流行的网络攻击方式。

浏览器劫持指的是恶意程序通过DLL插入、创建BHO插件、注册恶意控件、破坏Winsock LSP配置、设置Rootkit后门等伎俩,对浏览器各项配置进行恶意篡改,导致用户在访问正常网站时被强制转向恶意网页,对IE主页或者搜索页进行恶意修改等等行为。

对于一般的简单的绑架行为,例如仅仅修改了主页,可以通过手工方式对注册表相关键值进行修复操作。

但是,很多狡猾的恶意程序绑架浏览器的手段很高明,依靠手工操作很难修复。这就需要使用一些辅助安全工具,来拯救被绑架的浏览器。例如,在360安全卫士、金山卫士、QQ电脑医生等安全软件,都提供了修复浏览器的工具,使用起来极为简单,这里就不再赘述。

其实,为了防止IE遭到绑架,可以在开始程序菜单中选择IE快捷方式,在IE右键菜单中点击“运行方式”项,在弹出窗口中选择“当前账户”和“保护我的计算机和数据不受未授权程序的活动影响”项,点击确定按钮,可以打开IE,不过在该状态下IE进程的权限极低。

为了兼顾安全和权限等级,可以以基本用户身份运行IE,注册表编辑器中打开“HKEY_LOCAL_MACHINESOFTWAREPolicie sMicrosoftWindowsSaferCodeIdentifiers”分支,在右侧窗口建立DWORD类型名称为“Levels”的项目,将其值设置为“2000”。在CMD窗口中执行“runas /showtrustlevel”命令,如果出现“基本用户”字样表示操作成功。

之后手工为IE创建快捷方式,其命令行为“%windir%system32 unas /trustlevel:基本用户"C:Program FilesInternet Exploreriexplore.exe"”,之后双击该快捷方式,就可以以基本用户身份使用IE了。

这样既保证了IE进程拥有相当的权限,又有效地避免了恶意程序对IE的绑架行为。

如果恶意程序使用了RootKit技术,清除起来就没有那么简单了。RootKit使用了更高级的后台保护技术,程序工作在系统核心Ring 0级别。我们知道,系统核心模块和各种驱动程序就活动在Ring 0层。病毒设计者可以将恶意程序设计为符合WDM(Windows Driver Model)规范的驱动程序模块,并将其添加到注册表中的驱动程序加载入口位置,这样就可以以更加隐蔽的方式启动。任务管理器等普通的进程管理器只能枚举可以执行文件的信息,而无法显示通过驱动模块信息。

这样,通过驱动、模块和执行文件结合的后门程序就可以悄无声息的侵入系统。由于其运行在Ring 0级别,可以轻易的将自身隐藏起来,包括进程信息、文件信息、通讯端口、流量信息等等内容。

这类高级恶意程序对浏览器进行劫持时,一般会隐藏恶意BHO插件,启动项和进程信息等对象。因为其运行权利极高,可以控制系统核心库中的相关函数,来保护相关的恶意文件,例如禁止删除等。

利用Vundofix这款安全工具,可以轻松找出隐藏劫持系统文件的DLL模块,并将其安全清除。

例如,当系统核心进程被恶意程序劫持后,使用一般的安全工具无法加以应对。而Vundofix可以轻松找出隐藏在系统中或者劫持系统文件的恶意程序,并将其清除。其使用方法很简单,当启动程序后点击“Scanfor Vundo”按钮,对系统进行安全扫描,之后点击“Fix Vundo”按钮,执行清理恶意文件修复系统操作。

此外,使用 SysReveal、XueTr、Atool等安全工具,同样可以让使用RootKit技术的恶意程序彻底漏出马脚。这些工具可以执行诸如删除顽固文件,查看隐藏文件、进程和端口,结束顽固进程,检测隐藏的注册表信息,管理SSDT服务表,查看内核模块,卸载进程中包含的DLL模块,控制端口等功能。

下载地址:http://www.crsky.com/soft/11529.html。

不可忽视的杀毒后遗症——LSP劫持

面对猖獗的恶意程序,需要利用各种安全软件将其清理出去。但是,有时当清理完毕后,却可能面临无法上网的情况。

其实这和Winsock LSP(Windows Socket Layered Service Probider,分层服务提供商)出错有关。LSP是维持Windows底层网络Socket通讯的重要组件,LSP是WinSock 2.0之后才有的功能,它需要Windows服务提供商接口(SPI,Service Provider Interface)才可以实现,SPI无法独立工作,必须依赖于已经存在的诸如TCP/IP等网络协议。在这些基本协议上派分出的子协议,被称为分层协议(例如SSL等),其必须通过一定的接口函数来调用。

LSP就是这些协议的接口,因为LSP直接从Winsock取得信息,而所有的浏览器最终的数据传输都建立在Winsock接口上,所以一旦LSP层被恶意劫持,所有传输的网络数据可能遭到劫持。一些病毒、木马、流氓软件侵入系统后,往往要将自身模块添加到LSP中,这样当进行网络访问时,恶意程序就可以拦截、访问、修改进出系统的的网络数据包。

基于此原理,恶意程序不仅可以随意在系统中弹出各种垃圾广告,还可以获取您的访问习惯等隐私信息。流氓软件使用LSP技术,甚至可以对您的浏览器进行劫持。由于LSP工作在系统底层,当安全软件在清除流氓软件时,很容易就将对应LSP的DLL文件删除,从而造成了无法上网的情况。

在注册表编辑器中打开“HKEY_LOCAL_MACHINESYSTEMCurrent ControlSetServicesWinSock2ParametersProtocol_Catalog9Catalog_Entries”分支,就可以查看LSP的配置信息了。

一般情况下,系统存在两个LSP接口,分别负责TCP/IP组件(对应的文件为“mswsock.dll”)和 NTDS组件(对应的文件为“Winrnr.dll”)的正常运作。

当然,有些安全软件也会在上述注册表分支中添加对应的LSP项目。在默认情况下,TCP/IP组件的优先级为000000000001,当LSP劫持发生后,恶意程序可能使LSP将自身修改为000000000001,,并使对应的注册表键值指向恶意文件,而将原有的LSP项目后推为000000000002。

了解了LSP劫持的原理,修复起来也很简单,例如使用金山LSP修复工具,就可以解救被绑架的LSP。在其主界面中显示所有LSP项目,对于非绿色显示的项目,就要提高警惕了。点击“自动修复”按钮,可以删除非法的LSP项目。点击“恢复初始状态”按钮,可以彻底恢复LSP的原始配置信息。如果修复失败,也可以手工查看注册表中的LSP项目列表,查看排在最前面的恶意LSP项目,找到与之关联的恶意文件并将其删除,之后删除该恶意LSP项目,之后将其后的正常LSP项目等级向前提升即可。或者直接从别的主机导入“Catalog_Entries”子键的内容,也可以完成LSP的修复操作。

HOSTS文件遭劫持 网络访问陷迷途

有时,当在访问一个网站时,浏览器却莫名其妙的打开了一个毫不相干的网页,这就说明HOSTS文件被劫持了。

可以打开“C:WindowsSystem32Driversetc”文件夹,可看到名为“HOSTS”的文件,这是一个系统文件,它和浏览器的劫持有着密切的联系。在该文件中记录着一些网站的IP地址和域名之间的对应关系。当在访问该文件中记录的网站时,就会自动定向到对应的IP地址上。

如果病毒木马对其加以恶意利用,将正常的网站地址关联到恶意IP上,那么当用户访问这些网站时,就会掉入恶意网址的陷阱中。病毒甚至会利用HOSTS文件对杀软的病毒库升级网址进行恶意修改,让杀软无法升级病毒。

注 意,HOSTS文件位置是可以自定义的,打开注册表编辑器,在其中打开“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters”分支,在右侧双击“Data BasePath”项目,可以查看其实际的路径信息。

对付HOSTS劫持的方法很简单,只需使用记事本打开HOSTS文件,将其中杂乱的IP和域名的对应关系删除即可。

为了便于操作,可以使用HostsX这款专用软件,来快速简单的编辑HOSTS文件的内容。当然,合理利用HOSTS文件,也可以对恶意网站进行屏蔽。

例如,简单地将一个恶意网址映射到不存在的IP地址,例如在Hosts文件中添加一行“0.0.0.0 www.xxxxxx.com”,在访问“www.xxxxxx.com”时,系统将尝试连接错误的IP地址“0.0.0.0”,就可以实现禁止访 问“www.xxxxxx.com”恶意网站的目的。为了简便起见,可以从网上下载配置好的HOSTS反黑文件,直接使用其覆盖原始的HOSTS文件即可。

当然,也可以对HOSTS文件配置严格的访问权限,让恶意程序无法对其修改。在CMD窗口中执行“cacls C:WindowsSystem32Driversetchosts /t /c /g administrators:r”命令,就可以将该文件彻底保护起来,即只允许管理员用户对其进行读取、运行等操作,而无法对其进行修改删除等操作,其他账户更是被彻底排斥在外。这样,恶意程序就无法对其进行劫持了。

对于一些广告网址也可以借用HOSTS文件进行拦截。例如在Windows 8自带了很多各式各样的应用,不过与之关联的广告让人不胜其烦,为此,可以在资源管理器地址栏中输入“C:WindowsSystem32Driversetc”路径,将其中的HOSTS文件剪切到其他路径。之后使用记事本打开该文件,并写入一下内容:

之后执行保存操作,并将修改后的HOSTS文件放置到原来的位置。当系统弹出用户需要提供管理员权限的警告时,直接点击提示窗口中的“继续”按钮,就可以将HOSTS文件保存到原来的目录中了。

ARP劫持 局域网混乱之源

对于局域网用户来说,有时会出现无法上网的情况,这说明您的主机遭到遭到了ARP劫持攻击。

ARP即Address Resolution Protocol地址解析协议,报文在物理网络上传送,必须知道目标主机的物理地址,这就需要将目标IP地址转换为物理地址,这就需要依靠ARP协议的支持。

之所以发生ARP劫持,是因为安装TCP/IP的主机中都存在一个ARP缓存表,其中的IP地址和MAC地址是一一对应的。例如,主机A(IP为192.168.1.1)向主机B(IP为192.168.1.10)发送数据时,主机A会在自己的ARP缓存表中寻找是否存在目标IP,如果找到即可直接将对应的MAC地址写入到帧并发送即可。如果没有找到,主机A就会在网络上发送一个广播,向同一网段内所有的主机发出询问,来寻找目标MAC地址。这样,主机A才可以向主机B发送数据。同时主机A会更新本机的ARP缓存表,以后向主机B发送数据时,直接查询ARP缓存表就可以知道其MAC地址。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行未使用,就会被删除掉,这样可以减小ARP缓存表的长度,加快查询速度。

ARP劫持就是通过伪造IP地址和MAC对应关系来实现的,可以在网络中产生大量的ARP通讯量让网络阻塞,攻击者只要连续发出伪造的ARP响应包就可以更改目标主机ARP缓存表中的IP-MAC对应条目,造成网络中断或者中间人攻击,在局域网中如果一台主机感染了ARP木马,该主机就会试图通过ARP欺骗的手段来截获网络内其他主机之间的通讯,并造成网络中其他主机的通讯故障。

实际上,攻击者只需利用 Zxarps、Cain、maxhijacks等工具,就可以对局域网发起ARP欺骗攻击。一般来说,ARP劫持分为两种方式,一种是欺骗网关,一种欺骗局域网中的其他主机。

为了安全起见,最好在局域网中划分VLAN子网,让ARP攻击无法影响整个局域网。但是一般个人用户使用的都是无线路由器上网模式,可以在路由器设置界面中将IP和MAC逐一绑定起来。也可以安装和使用ARP防火墙,例如彩影ARP防火墙、360 ARP防护墙等,来狙击ARP劫持。

检测ARP劫持的方法一般有两种,一种是在局域网中使用Wireshark等抓包工具,来抓取数据包进行分析。而另外一种是在三层交换机上查询ARP表。当然,也可以使用欣向巡路之ARP工具等工具,对ARP欺骗进行监控分析等。

猜你喜欢
注册表IP地址局域网
轨道交通车-地通信无线局域网技术应用
铁路远动系统几种组网方式IP地址的申请和设置
基于VPN的机房局域网远程控制系统
更上一层楼 用好注册表编辑器
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
注册表的便捷用法
《IP地址及其管理》教学设计