跳转至

通过搜索顺序劫持进行路径拦截

对手可能通过劫持用于加载其他程序的搜索顺序来执行他们自己的恶意有效负载。由于某些程序在调用其他程序时不使用完整路径,对手可能会将他们自己的文件放置在调用程序所在的目录中,从而导致操作系统在调用程序的请求下启动他们的恶意软件。 搜索顺序劫持发生在对手滥用Windows搜索未指定路径的程序的顺序时。与DLL搜索顺序劫持不同,搜索顺序因执行程序的方法而异。(引用: Microsoft CreateProcess) (引用: Windows NT Command Shell) (引用: Microsoft WinExec) 然而,Windows通常会在搜索Windows系统目录之前搜索启动程序的目录。发现易受搜索顺序劫持(即未指定可执行文件路径)的程序的对手可能会通过在启动程序的目录中创建一个命名为不正确指定程序的程序来利用此漏洞。 例如,“example.exe”运行“cmd.exe”并带有命令行参数net user。对手可能会在example.exe所在的目录中放置一个名为“net.exe”的程序,“net.exe”将被运行而不是Windows系统实用程序net。此外,如果对手在与“net.exe”相同的目录中放置一个名为“net.com”的程序,那么cmd.exe /C net user将执行“net.com”而不是“net.exe”,因为在PATHEXT下定义的可执行文件扩展名顺序。(引用: Microsoft Environment Property) 搜索顺序劫持也是劫持DLL加载的常见做法,并在DLL搜索顺序劫持中进行了介绍。