0. 概述
web、PC客户端、APP客户端的区别:
- web为
B/S
架构,服务端更新后,刷新一下页面就同步更新了 - PC、APP为
C/S
架构,服务端更新后,需要对各个主流版本进行兼容测试及回归测试,客户端更新的话,需要重新安装或升级应用
PC客户端漏洞挖掘主要是逆向工程和进程监控为主。
1. 信息收集
PC客户端的信息收集有别于web,主要收集一些比如:编译信息,开发环境/语言,协议,数据库,IP,接口,混淆/加密,是否加壳等。
1.1 信息提取
提取PE文件中的敏感信息
- Universal Extractor
https://www.filecroco.com/download-universal-extractor/
- binwalk
https://github.com/devttys0/binwalk/releases/latest
1.2 文件数字签名检测
- Sigcheck:文件数字签名检查工具
https://download.sysinternals.com/files/Sigcheck.zip
- GUI版本:
https://github.com/bibortone/Toolsuite/blob/master/SigcheckGUI.exe
1.3 PE文件分析
查看.net的PE结构、编译环境等
- ExeinfoPe
https://down.52pojie.cn/Tools/PEtools/ExeinfoPe.zip
- CFF Explorer
https://download.cnet.com/CFF-Explorer/3000-2383_4-10431155.html
- StudyPE
https://down.52pojie.cn/?query=studype
1.4 查壳/脱壳
- PEID
https://down.52pojie.cn/Tools/PEtools/PEiD%200.95.zip
- NETUnpack
https://down.52pojie.cn/Tools/NET/NETUnpack.rar
1.5 字符串
通过strings、find、cat、grep等命令搜索IP、域名等敏感字符串
2. 逆向工程
2.1 反编译
逆向工程里面两个最受欢迎的工具:
静态分析:IDA pro
https://down.52pojie.cn/Tools/Disassemblers/IDA.txt
动态调试:Ollydbg
https://down.52pojie.cn/Tools/OllyDbg_Plugin/
2.1.1 .NET
- de4dot:https://down.52pojie.cn/Tools/NET/de4dot.zip
- dotPeek:https://www.jetbrains.com/decompiler/download/
- ilasm:https://msdn.microsoft.com/zh-cn/library/496e4ekx(v=vs.110).aspx
- ildasm:https://msdn.microsoft.com/zh-cn/library/f7dy01k1(v=vs.110).aspx
ilasm 和 ildasm 都是微软官方提供的.Net编译与反编译工具,可谓是.Net逆向中的瑞士军刀。这两个工具的位置分别位于.Net Framework目录和Microsoft SDK目录中:
123 > C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe> C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe>
dnSpy:https://github.com/0xd4d/dnSpy/releases
基于ILSpy发展而来,它能在完全没有源码的情况下即时调试程序,甚至还能修改程序!
2.1.2 Java
同安卓平台,所以安卓反编译的工具在此也应该是都可以用的
- jadx:https://down.52pojie.cn/Tools/Android_Tools/jadx-1.1.0.zip
JD-GUI:https://down.52pojie.cn/Tools/Android_Tools/jd-gui-1.5.5.jar
- 在线反编译:javare.cn,www.javadecompilers.com
通过第一阶段的信息收集,我们可能会获得一些敏感信息,比如:
- 安装目录是否存在db、conf、config等敏感文件;
- IP、域名、API、数据库等敏感信息;
- 硬编码配置信息,比如Appkey、AppSecure、加密密钥等;
- 源代码,在通过github、码云等去搜相关的代码特征;
- 获取加解密逻辑;
- 后门;
3. 运行监控
运行监控包括软件安装、运行时Windows上文件、注册表、进程、流量的动态情况及分析。监控整个客户端的运行情况,我们就可以知道程序在我们的计算机上做了些什么、整个业务逻辑流程是什么样的。
3.1 文件
开发调试日志、错误日志、临时文件、配置文件、运行时文件等,比如登录后是否本地铭文保存账号密码,开发调试日志是否有服务器敏感信息,本地数据是否明文储存等
Process Monitor:强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动,可以添加过滤规则。
https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
3.2 注册表
RegfromApp:可以选择一个进程之后跟踪其对注册表的修改
https://www.nirsoft.net/utils/reg_file_from_application.html
Process Monitor:强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动,可以添加过滤规则。
https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
Regshot:注册表备份和比对工具,可以通过保存快照和比对快照的方式来找出注册表中哪些值发生了变化,利用regshot比较客户端运行(如登录)前后注册表差别。
Autoruns:一款启动项、注册表、进程等多功能的安全检测工具
https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
3.3 进程
ProcessHacker:查看客户端内存中的敏感数据,比如账号密码、key、数据库信息等。
ProcessExplorer:利用ProcessExplorer就可以知道哪个程序打开了某个文件或者目录么?PorcessExplorer将会显示出进程打开或者加载了哪些的句柄(handles)或者动态链接库(Dlls)。
https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
火绒剑:集进程、启动项、注册表、文件等多种功能为一体的监控工具
3.4 流量
Wireshark/Echo Mirage/Burpsuite+Proxifier/Fillder/Charles
- WSExplorer:进程抓包工具,左侧是进程,右侧是对应的进程抓到的数据包。
https://bbs.pediy.com/thread-125475.htm
- Echo Mirage:Echo Mirage可针对某一个应用规则拦截并修改非HTTP协议的流量。
https://sourceforge.net/projects/echomirage.oldbutgold.p/
- TCPView:TCPView是一个用来显示系统中所有的TCP和UDP端点(endpoint)列表的Windows程序,包括本地和远程的网络地址,以及TCP连接的状态。
https://docs.microsoft.com/zh-cn/sysinternals/downloads/tcpview
4. 业务逻辑分析
PC客户端业务逻辑分析方法同安卓客户端,抓取到业务逻辑流量之后参照B/S架构的测试方法即可。
业务流量抓取主要分为两步:
1、添加代理服务器
2、设置代理规则(设置需要代理的应用程序)
这样,只要选择需要代理的应用程序,比如chrome.exe
,即可实现PC客户端流量转发
具体详情可参考:渗透测试之业务流量通用抓包方法
5. 其他漏洞
其他漏洞的测试大致同B/S架构,只不过都变成了桌面的框框的。
登录爆破
用户名枚举
任意用户注册
任意用户密码重置
SQL语句等敏感信息泄漏
SQL注入
CSV注入
XSS
- 文件读取
- 命令执行
- 逻辑缺陷
DLL劫持
安全策略绕过
越权
- 中间人攻击
- 未授权
- 溢出
参考文章:
https://github.com/theLSA/CS-checklist
https://github.com/cybertechniques/site/
https://github.com/bibortone/Toolsuite/
https://github.com/theLSA/hack-cs-tools
https://www.aneasystone.com/archives/2015/06/net-reverse-decompiling.html
https://blog.csdn.net/WPwalter/article/details/80457131
https://www.t00ls.net/articles-50878.html