高级用法Wmic命令

极客

本文目录导读:

  1. Wmic到底是个啥?先来个灵魂拷问!
  2. Wmic高级用法之“进程操作三板斧”
  3. 系统信息收集的“情报特工”模式
  4. 服务操作实战技巧
  5. 那些让人拍大腿叫绝的进阶技巧
  6. Wmic安全防护与绕过
  7. 踩坑心得与避坑指南
  8. 最后的碎碎念

玩转高级用法Wmic命令,让你的渗透测试效率直接起飞!

嘿,各位网安老铁们!今儿咱们不聊那些虚头巴脑的理论,直接上硬菜——Wmic命令的高级用法,讲真,我刚开始接触这玩意儿的时候,也觉得不就是个查系统信息的工具嘛,能有多大能耐?结果后来在实战中才发现,这货简直就是Windows下的“瑞士军刀”啊!用得好,效率直接翻倍,用得不好?那可能连门都摸不着,哈哈,别急,今儿我就把这几年摸爬滚打的经验全掏出来,跟大伙儿好好唠唠。

Wmic到底是个啥?先来个灵魂拷问!

咱们先别急着抄命令,得先搞清楚Wmic在Windows系统里到底扮演啥角色,它就是Windows Management Instrumentation的命令行工具,能让咱们用命令行去访问系统的各种管理信息,但!重点来了,高级用法可不是让你去敲那些谁都会的wmic cpu get name之类的,那太小儿科了,咱得玩点不一样的!

记得有次,我去给一个客户做应急响应,对方系统被种了后门,进程列表里藏得贼深,用任务管理器根本看不到,tasklist也被hook了,我灵机一动,直接甩出wmic process list full,好家伙,所有隐藏进程的原型立马现出来了,那种感觉,真跟武侠小说里高手过招,一招制敌似的痛快!

Wmic高级用法之“进程操作三板斧”

第一板斧:精准定位进程

平时咱们用tasklist查进程,信息太杂,看着头大,但要是配上wmic,那可就清爽多了。

wmic process where "name='cmd.exe'" get processid,commandline

你看,这样就能直接过滤出名为cmd.exe的进程,还附带命令行参数,这对于查那些伪装成系统进程的恶意程序,简直是一大杀器!有一次,我就是靠这个命令揪出了一个伪装成svchost.exe的挖矿木马,当时心里那个爽啊,就差哼个小曲儿了。

第二板斧:远程进程管理

哎,说到这儿,得插一句,别嫌我啰嗦,有些兄弟可能还不知道,Wmic是支持远程的!语法很简单:

wmic /node:192.168.1.100 /user:admin /password:123456 process list brief

是不是觉得瞬间格局打开了?想想看,在攻防演练的时候,你拿到了一台内网机器,想看看同网段其他机器的情况,这不比翻工具方便多了?不过得提醒一句,这玩意儿流量有点大,用的时候小心点,别被蓝队盯上哈!

第三板斧:动态监控进程

有时候咱们需要盯着某个进程,看看它是不是持续在跑,与其写脚本,不如直接用:

wmic process where "name='msedge.exe'" get workingsetsize/filesize,processid /every:2

这个/every:2的意思是每2秒刷新一次,动态监控起来那叫一个舒坦!我记得有一回分析恶意软件,就靠这招盯着它的内存变化,硬是找出了它的关键行为特征。

系统信息收集的“情报特工”模式

高级用法可不止进程管理,用来收集系统情报那也是顶呱呱的!Wmic命令在信息收集阶段,那可是能为你打开一扇通往“上帝视角”的大门。

揪出所有账户信息

wmic useraccount list full

这串命令一敲,所有用户的详细信息全暴露在你眼前,什么SID啊、权限级别啊、账户是否禁用啊,一目了然,尤其是看那些隐藏账户,简直不要太爽,记得有次,我发现了一个名字非常接近“Administrator”的隐藏账户,要不是靠这招,那台机器早被控得死死的了。

系统补丁状况一览

咱们打攻防比赛的时候,最烦的就是不知道目标机器打了哪些补丁,用wmic qfe list brief,所有安装的补丁号统统给你列出来,接下来干嘛?当然是拿着这些补丁去搜索漏洞啦!有一次,我就是通过这个命令发现客户系统缺失了一个关键补丁,顺利拿下权限,客户还直夸我专业。

启动项里的猫腻

开机启动项可是恶意软件最爱藏的地方之一,用

wmic startup list full

就能看到所有启动项,包括它们的位置和命令,嗯?那个C:\ProgramData\xxx\svchost.exe是什么鬼?这路径一看就有问题,直接定位过去,往往就能顺藤摸瓜抓到木马,这招我用了不下十回,每次都能有收获。

服务操作实战技巧

服务这块儿,Wmic也是用得贼顺手,比如你想找一个服务:

wmic service where "name='wuauserv'" get pathname,startmode

如果发现某个服务的启动路径特别诡异,或者启动模式是“Auto”但实际却是手动,那可得留个心眼儿了,就在上个月,我还通过排查服务路径,发现了一个DLL劫持的攻击痕迹,当时冷汗都下来了,要是晚发现几天,那损失可大了去了。

你还可以操作服务:

wmic service where "name='wuauserv'" call startservice
wmic service where "name='wuauserv'" call stopservice

比用net start/stop方便多了,而且还能配合条件筛选,批量处理。

那些让人拍大腿叫绝的进阶技巧

生成HTML报表

你是不是经常要向领导汇报工作?用wmic导出系统信息,那效率杠杠的:

wmic /output:D:\report.htm cpu get name,numberofcores /format:hform

一条命令,漂亮的HTML格式报表立马生成,交给领导,那档次一下子就上去了,这可比截图发QQ消息强多了!

批量获取多台机器信息

如果有一堆机器要收集信息,你可以在目标机上开启Wmic服务后,写一个批处理:

for /L %i in (2,1,20) do wmic /node:192.168.1.%i /user:admin /password:123 os get caption

这样一来,整个网段的机器装了什么系统全清楚了,省时省力,效率直接拉满。

配合其他工具使用

Wmic的高级用法,往往不是单独作战,而是配合其他工具打组合拳,比如用curl下载payload,再通过wmiccreate命令创建计划任务执行,这简直不要太丝滑。

Wmic安全防护与绕过

说完了进攻,咱们也得聊聊防守,毕竟,知己知彼才能百战不殆嘛!

对于蓝队朋友来说,Wmic的这些高级用法也是监控重点,你可以通过日志审计看看有没有wmic process call create这样可疑的命令执行记录,企业环境下,不妨考虑通过组策略禁用Wmic或者严格限制其使用权限。

对于红队朋友,那就得想想怎么绕过了,比如用powershell配合使用,或者用一些混淆技巧,别让命令行的参数那么显眼,这其中的门道可就多了,先卖个关子,下次有机会再单独写一篇Wmic绕过技巧(嘿嘿,记得关注我哦)。

踩坑心得与避坑指南

说实话,用Wmic的日子里,我也踩过不少坑,比如在远程执行时,一定要确保目标机器开启了Wmic服务,不然直接报错,那一刻真想摔键盘,还有,在64位系统上,有时候需要特别注意权限问题,记得用管理员身份打开CMD,不然压根儿查不到完整信息。

Wmic命令的语法对大小写不敏感,但别高兴太早,引号和转义符才是真正让人头疼的,跟你讲,我之前在远程执行时,就因为引号没配对,愣是卡了半天,从那以后,我养成了一个好习惯:先在本地测试一遍命令,再丢到远程去,稳得一批。

最后的碎碎念

好啦,今儿这篇关于高级用法Wmic命令的文章就先聊到这儿,说实话,这话题要是真展开写,能写好几万字,但篇幅有限,咱们就先挑了些最核心、最实战的来唠,要是你觉得还不过瘾,或者在实际操作中遇到了什么奇葩问题,欢迎随时来骚扰我,咱们一起切磋切磋!

最后啰嗦一句,网安这行当,技术永远是基础,但思路才是王道,希望这篇文章能帮你打开一扇新的大门,让你在渗透测试、应急响应或者平时的安全检查中,多一把趁手的利器,嘿嘿,那咱们下次再见啦!

高级用法Wmic命令


学习网络安全可以加QQ:2456645420(备注“公众号粉丝”更容易通过哦!)咱们私下里聊点技术小秘密,或者交流交流心得,都行!

文章版权声明:除非注明,否则均为咸鱼-即刻攻防原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码