Crackmapexec 6.1.0 和一些杂项

Gcow安全团队

共 3768字,需浏览 8分钟

 ·

2023-10-10 02:15

Crackmapexec 6.1.0 和一些杂项

Author:Xiaoli-小离

0x01 Intro

  • • 在内网渗透中,一般收集到了凭据,都会去用CME挂个代理去爆破一遍,尝试扩大你的战果,但有个协议估计没什么人会focus

  • • 本文也谈谈我近期对CME提交的PR,以及一些关于CME的事情

0x02 被人遗忘的协议 - WMI / RPC(ncacn_ip_tcp)

  • • 相信大家对CME的使用流程已经基本很熟悉了,收集到凭据后,美美的跑一波SMB + WINRM爆破,所以普遍来说,管理员印象中只对445,139特别关照,而WINRM这个,实战没遇到多少台机器开,基本上也可以忽略了,除了你打HTB之外

  • • 很早之前Orange-Cyberdefense也写过这个协议,但是CME已经更新多个版本了,这个模块也是用不了了,这也萌生了重写的想法 [Orange-Cyberdefense/cme-wmi: A standalone WMI protocol for CrackMapExec (github.com)]https://github.com/Orange-Cyberdefense/cme-wmi 一个看上去什么都没的内网

    e1c2db89293c9dc8922373677cfee97c.webp

  •    但是,让我们切换到135,此时出现了惊喜

    e12a44d840ab273e385f11839de53bde.webp

  •    目前我给这两个协议预留了两种命令执行方法,第一种是普通的wmiexec,但是也是不使用SMB,第二种则是和wmiexec-Pro一样的方法,原定计划还有第三种,atexec,(其实只需要改一改代码,就可以让atexec不走ncacn_np,走ncacn_ip_tcp,要考虑的就是防火墙问题了) 目前你可以在CME体验到该协议,具体的Commit你可以在CME官方看到,mpgn也以该PR为CME 6.1.0划上了句号(感动 TAT)

0x03 RDP模块重写

  • • 使用效果和wmiexec-Pro一样,通过wmi开启,不需要cmd

    60c0d3cd917bbcd821368184b3b1bd26.webp

0x04 题外话1 - 武器化你的工具

  • • 还有很多bug修复之类的,这里就不一一说了,有兴趣的可以去看我的commit

  • • 此外,我最近看到很多文章,都在写impacket GUI,什么什么impacket图形化之类的,但是我没get到意义何在,更有甚者JAVA套壳impacket,我承认java很屌,但是写这些东西,真的有意义吗?(似乎在往一条错误的道路前进,也许我是傻逼,没看懂操作,欢迎多多指教)

  • • 很多时候,我们需要快准狠的工具作为内网渗透,但是像CME这种已经很成熟的工具,动动手指,基本上就可以写出一个CME模块,并且剩下你大量的时间

  • • 以下是一个例子:上一篇文章我写了个zerologon-Shot,但是有不少人私下找我反馈,参数太麻烦,基本上没啥bug,都能做到自动恢复DC密码 看到CME,已经是很屌的一个核心了,因此可以基于该核心编写一个模块 如图所示,当你还在慢慢寻找恢复密码的命令/脚本,绑定Hosts,找笔记之类的繁琐过程,而我已经可以做到一步到位,剩下的时间用来截图写报告之类的


    a895755560475160bbbb67d933db89ef.webp

0x05 题外话2 - 是否要打开潘多拉魔盒?

  • • CME虽然支持rdp协议,但是用的是aardwolf,这个项目是真的屌,但是也存在许多BUG,例如判断信息非常不准确,如图所示,和调用popen的xfreerdp相比,这种错误是实战不允许的

  •   0c91e8ec5d3286ae64393141b04997da.webp

  • • 但是和其他开发者交流过,他们觉得不应该打开这个Popen潘多拉魔盒,目前你需要的话可以在这里获取到相关代码 [XiaoliChan/CrackMapExec-Extension: CrackMapExec extension module/protocol support (github.com)]https://github.com/XiaoliChan/CrackMapExec-Extension

0x06 题外话2 - 交PR的心得

  • • 在给CME交PR的过程中,不仅能锻炼你的英语,更重要的是,你能知道其他开发者这么想,而我更喜欢这一种氛围

  • • 代码要注意规范,不然会被卡rewiew,WMI那个PR就是了,九世看着我写,卡PR卡了挺久的

  • • 早在上一年,我就看到mpgn在给CME 的contributiors赠送CME 纪念币,但是努力也换来了回报

    a864062508684d9f68fd116e911ce3fb.webp

0x07 题外话3 - CME代码之争

  • • 在mpgn发布6.1.0之后,原先的作者byt3bl33d3r想继续发布半开源(现在的状态时,他更偏向于把代码商业化),以sponsorware模型发布CME(赞助者能比开源版早获取1-2个月的代码更新),最终的结局就是mpgn退出了他们的组织,同时遭到多名开发者反对sponsorware,坚持要求全开源 [So what happens now? the future of CrackMapExec · Porchetta-Industries/CrackMapExec · Discussion #801 (github.com)]https://github.com/Porchetta-Industries/CrackMapExec/discussions/801

  • • 和mpgn私下聊了,他表示不会再去管理任何关于CME的东西,等他下个新项目(我也不知道是什么项目)

  • • 同时和另外一名开发者neff也聊了,他表示会fork一份出来,和他一起维护:[Pennyw0rth/CrackMapExec: A swiss army knife for pentesting networks (github.com)]https://github.com/Pennyw0rth/CrackMapExec

0x08 Outro

  • • 原PO文:[(1) X 上的 mpgn:“New release of crackmapexec is out ! 6.1.0🥳 This version now support of a new protocol : WMI by @Memory_before ! If the SMB port is filtered, you can still pwn3d everything !! 🔥 Quick list of improvements 🔽 - CME now works against Windows 2003 and Windows 7 (it was broken)… https://t.co/0HMu538enM” / X (twitter.com)]https://twitter.com/mpgn_x64/status/1698384195641389559

  • • 文章有些地方是我本人的观点,只代表我本人,如果你觉得有更好的心得,亦或者感到困惑,有疑问,欢迎各位留言,我有时间也会一一解答,虚心倾听各位意见

  • • 感谢mpgn和neff,这两位大哥几乎天天帮我检查代码,估计眼都要瞎了XD

  • • mpgn's twitter:[mpgn (@mpgn_x64) / X (twitter.com)]https://twitter.com/mpgn_x64

  • • neff's twitter: [Alex neff (@al3x_n3ff) / X (twitter.com)]https://twitter.com/al3x_n3ff

  • • 有大哥人写了一篇文章,有兴趣可以去看看:[X 上的 Kostas:“New blog: Understanding Red to Be Better at Blue: Navigating New CrackMapExec Updates ✅Keeping up with the red team ✅Breaking down CME’s new key features ✅From code to behavioural hunting & detections ✅Illustrations with examples https://t.co/ok1gZS7JXX” / X (twitter.com)]https://twitter.com/Kostastsale/status/1699082642988122622


浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报