Python文件执行的行为不同于普通的Explorer执行或CMD

2024-04-29 12:37:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python编写一个非常简单的UAC旁路应用程序。经过研究和分析,Windows7、8和8.1中存在相同的DLL搜索顺序劫持漏洞。你知道吗

首先,忘记所有的准备。例如,我在本地存储了一个.cab文件,其中包含一个将启动的.dll命令提示符. 其要点是将其写入临时目录,使用WUSA将其提取到目标文件夹,然后执行易受攻击的应用程序。你知道吗

我之所以说忘记准备,是因为它还没有进入我的问题清单。假设目标程序是“程序.exe". 当我双击“程序.exe,“它像它应该的那样生成CMD。另外,当我打开CMD并键入“程序.exe“,同样的事情发生了,我得到了命令行从被劫持的DLL中提取shell。你知道吗

然而,我的问题。即使我什么也不做,除了:

import os
os.sytem("program.exe") #Same thing with subprocess.call and Popen

我得到的是原始程序,不是被劫持的程序。这是非常奇怪的,因为它的工作正确时,我只是双击或执行它通过一个正常的命令。你知道吗

有什么我不知道的吗?为什么这在其他场景中有效,但在python中却不行? enter image description here 如您所见,相同的安全上下文。。。一个用被劫持的DLL执行,另一个启动正常程序。为什么?你知道吗


Tags: 文件程序cmd应用程序顺序osexedll