IExpressWindows 2000和更高版本的操作系统的组件,用于从一组文件中创建自解压缩程序包。此类软件包可用于安装软件。

概述

IExpress(IEXPRESS.EXE)可用于将自包含的安装程序包(基于INF的安装可执行文件)分发到多台本地或远程Windows计算机。它使用提供的前端界面(IExpress向导)或自定义的自我提取指令(SED)文件创建自解压缩的可执行文件(.EXE)或压缩的Cabinet(.CAB)文件。[1] 可以使用任何纯文本/ ASCII编辑器(例如Notepad)修改SED文件。由IExpress创建的所有自解压缩文件均使用CAB压缩算法,使用MakeCab(MAKECAB.EXE)工具压缩 ,并使用WExtract(WEXTRACT.EXE)工具提取。 IEXPRESS.EXE位于WindowsSYSTEM32的32位和64位安装文件夹中。可以通过手动导航到相应目录并打开可执行文件(IExpress.exe)或在“开始”菜单的“运行”窗口中键入IExpress来启动前端界面(IExpress向导)。也可以从命令行(Windows命令提示符或批处理文件)中使用它来创建自定义安装程序包,这些程序包将会自动操作:

IEXPRESS /N drive_letter:\directory_name\file_name.SED

IExpress向导界面指导用户完成创建自解压程序包的过程。IExpress会询问用户,程序包应该做什么,提取文件然后运行程序,或者仅提取文件。然后,其允许用户为程序包指定标题,添加确认提示,添加最终用户必须接受以允许提取的许可协议,选择要归档的文件,为进度窗口设置显示选项,以及最后指定要在完成时显示的消息。

如果选择了创建归档文件并运行程序的选项,则将有一个附加步骤,提示用户选择要在提取时运行的程序。

IExpress将根据操作系统类型(32或64位)创建相应的自解压缩存档,而且64位将无法在32位计算机上运行解压缩。[2]

安全性

使用IExpress创建的自解压程序包具有(固有的)漏洞,由于处理安装命令和命令行处理的方式,它们允许任意代码的执行。[3] [4] 此外,由于Windows 用户帐户控制处理安装程序的方式,这些漏洞允许特权提升[5][6]

更具体地说,此漏洞有两个版本:最明显的是/c:开关告诉软件包在提取的目录中运行任意命令;另一个是该目录对于任何普通用户都是可读可写的,因此msiexec.exe可以用攻击有效载荷代替常用命令。[5] 后者已由Microsoft在MS14-049中修复,但是仅通过弃用IExpress的策略解决了前者。[6] 此外,IExpress还可能存在DLL劫持漏洞。[7]

参考资料

  1. ^ SED Overview. www.mdgx.com. [2020-07-12]. (原始内容存档于2018-02-06). 
  2. ^ macos - Installing IIS Express 32-bit on a 64-bit operating system using MAC Parallels Windows 7. Stack Overflow. [2020-07-12]. (原始内容存档于2016-03-12). 
  3. ^ Command-line switches for IExpress software update packages. web.archive.org. 2016-08-24 [2020-07-12]. 原始内容存档于2016-08-24. 
  4. ^ Dansimp. IExpress 向导命令行选项(适用于 IT 专业人员的 Internet Explorer 管理工具包 11) - Internet Explorer. docs.microsoft.com. [2020-07-12]. (原始内容存档于2020-07-15) (中文(中国大陆)). 
  5. ^ 5.0 5.1 Full Disclosure: Defense in depth -- the Microsoft way (part 11): privilege escalation for dummies. seclists.org. [2020-07-12]. (原始内容存档于2019-04-10). 
  6. ^ 6.0 6.1 Full Disclosure: Defense in depth -- the Microsoft way (part 32): yet another (trivial) UAC bypass resp. privilege escalation. seclists.org. [2020-07-12]. (原始内容存档于2019-08-08). 
  7. ^ Microsoft IExpress DLL Hijacking ≈ Packet Storm. packetstormsecurity.com. [2020-07-12]. (原始内容存档于2020-07-12).