前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PC(C/S架构)客户端测试笔记

PC(C/S架构)客户端测试笔记

作者头像
瓦都剋
修改2020-08-07 10:06:38
2.6K0
修改2020-08-07 10:06:38
举报
文章被收录于专栏:安全泰式柑汁

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/Debuggers/%E5%90%BE%E7%88%B1%E7%A0%B4%E8%A7%A3%E4%B8%93%E7%94%A8%E7%89%88Ollydbg.rar

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目录中:

代码语言:javascript
复制
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exeC:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe

•ILSpy:https://github.com/icsharpcode/ILSpy/releases•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•jad:https://varaneckas.com/jad/•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比较客户端运行(如登录)前后注册表差别。https://sourceforge.net/projects/regshot/•Autoruns:一款启动项、注册表、进程等多功能的安全检测工具https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns

3.3 进程

•ProcessHacker:查看客户端内存中的敏感数据,比如账号密码、key、数据库信息等。https://github.com/processhacker/processhacker/releases•ProcessExplorer:利用ProcessExplorer就可以知道哪个程序打开了某个文件或者目录么?PorcessExplorer将会显示出进程打开或者加载了哪些的句柄(handles)或者动态链接库(Dlls)。https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer•火绒剑:集进程、启动项、注册表、文件等多种功能为一体的监控工具https://cowtransfer.com/s/3c60db3f057a4b

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://www.freebuf.com/vuls/203227.html•安全策略绕过•越权•中间人攻击•未授权•溢出

参考文章:

嘶吼RoarTalk《厚客戶端渗透测试实战》系列文章

https://down.52pojie.cn/

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

https://www.freebuf.com/vuls/203227.html

https://cloud.tencent.com/developer/article/1472352

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小宝的安全学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0. 概述
  • 1. 信息收集
    • 1.1 信息提取
      • 1.2 文件数字签名检测
        • 1.3 PE文件分析
          • 1.4 查壳/脱壳
            • 1.5 字符串
            • 2. 逆向工程
              • 2.1 反编译
                • 2.1.1 .NET
                  • 2.1.2 Java
                  • 3. 运行监控
                    • 3.1 文件
                      • 3.2 注册表
                        • 3.3 进程
                          • 3.4 流量
                          • 4. 业务逻辑分析
                          • 5. 其他漏洞
                            • 参考文章:
                            相关产品与服务
                            网站渗透测试
                            网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档