PC(CS架构)客户端测试笔记

548 阅读5分钟

0. 概述

web、PC 客户端、APP 客户端的区别:

  • web 为 B/S ​架构,服务端更新后,刷新一下页面就同步更新了
  • PC、APP 为 C/S ​架构,服务端更新后,需要对各个主流版本进行兼容测试及回归测试,客户端更新的话,需要重新安装或升级应用
  • PC 客户端漏洞挖掘主要是逆向工程和进程监控为主。

1. 信息收集

PC 客户端的信息收集有别于 web,主要收集一些比如:编译信息,开发环境/语言,协议,数据库,IP,接口,混淆/加密,是否加壳等。

1.1 信息提取

提取 PE 文件中的敏感信息

  • Universal Extractor

www.filecroco.com/download-un…

  • binwalk

github.com/devttys0/bi…

1.2 文件数字签名检测

  • Sigcheck:文件数字签名检查工具

download.sysinternals.com/files/Sigch…

  • GUI 版本:

github.com/bibortone/T…

1.3 PE 文件分析

查看.net 的 PE 结构、编译环境等

  • ExeinfoPe

down.52pojie.cn/Tools/PEtoo…

  • CFF Explorer

download.cnet.com/CFF-Explore…_4-10431155.html

  • StudyPE

down.52pojie.cn/?query=stud…

1.4 查壳/脱壳

  • PEID

down.52pojie.cn/Tools/PEtoo…

  • NETUnpack

down.52pojie.cn/Tools/NET/N…

1.5 字符串

通过 strings、find、cat、grep 等命令搜索 IP、域名等敏感字符串

2. 逆向工程

2.1 反编译

逆向工程里面两个最受欢迎的工具:

  • 静态分析:IDA pro

down.52pojie.cn/Tools/Disas…

  • 动态调试:Ollydbg

down.52pojie.cn/Tools/Debug…

down.52pojie.cn/Tools/OllyD…_Plugin/

2.1.1 .NET

ilasm 和 ildasm 都是微软官方提供的.Net 编译与反编译工具,可谓是.Net 逆向中的瑞士军刀。这两个工具的位置分别位于.Net Framework 目录和 Microsoft SDK 目录中:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exeC:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe

基于 ILSpy 发展而来,它能在完全没有源码的情况下即时调试程序,甚至还能修改程序!

2.1.2 Java

同安卓平台,所以安卓反编译的工具在此也应该是都可以用的

通过第一阶段的信息收集,我们可能会获得一些敏感信息,比如:

  • 安装目录是否存在 db、conf、config 等敏感文件;
  • IP、域名、API、数据库等敏感信息;
  • 硬编码配置信息,比如 Appkey、AppSecure、加密密钥等;
  • 源代码,在通过 github、码云等去搜相关的代码特征;
  • 获取加解密逻辑;
  • 后门;

3. 运行监控

运行监控包括软件安装、运行时 Windows 上文件、注册表、进程、流量的动态情况及分析。监控整个客户端的运行情况,我们就可以知道程序在我们的计算机上做了些什么、整个业务逻辑流程是什么样的。

3.1 文件

开发调试日志、错误日志、临时文件、配置文件、运行时文件等,比如登录后是否本地铭文保存账号密码,开发调试日志是否有服务器敏感信息,本地数据是否明文储存等

  • Process Monitor:强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动,可以添加过滤规则。

    docs.microsoft.com/en-us/sysin…

3.2 注册表

3.3 进程

  • ProcessHacker:查看客户端内存中的敏感数据,比如账号密码、key、数据库信息等。

    github.com/processhack…

  • ProcessExplorer:利用 ProcessExplorer 就可以知道哪个程序打开了某个文件或者目录么?PorcessExplorer 将会显示出进程打开或者加载了哪些的句柄(handles)或者动态链接库(Dlls)。

    docs.microsoft.com/en-us/sysin…

  • 火绒剑:集进程、启动项、注册表、文件等多种功能为一体的监控工具

    cowtransfer.com/s/3c60db3f0…

3.4 流量

Wireshark/Echo Mirage/Burpsuite+Proxifier/Fillder/Charles

  • WSExplorer:进程抓包工具,左侧是进程,右侧是对应的进程抓到的数据包。

bbs.pediy.com/thread-1254…

  • Echo Mirage:Echo Mirage 可针对某一个应用规则拦截并修改非 HTTP 协议的流量。

sourceforge.net/projects/ec…

  • TCPView:TCPView 是一个用来显示系统中所有的 TCP 和 UDP 端点(endpoint)列表的 Windows 程序,包括本地和远程的网络地址,以及 TCP 连接的状态。

docs.microsoft.com/zh-cn/sysin…

4. 业务逻辑分析

PC 客户端业务逻辑分析方法同安卓客户端,抓取到业务逻辑流量之后参照 B/S 架构的测试方法即可。

业务流量抓取主要分为两步:

1、添加代理服务器

2、设置代理规则(设置需要代理的应用程序)

这样,只要选择需要代理的应用程序,比如 chrome.exe​,即可实现 PC 客户端流量转发

image.png

具体详情可参考:渗透测试之业务流量通用抓包方法

5. 其他漏洞

其他漏洞的测试大致同 B/S 架构,只不过都变成了桌面的框框的。

  • 登录爆破
  • 用户名枚举
  • 任意用户注册
  • 任意用户密码重置
  • SQL 语句等敏感信息泄漏
  • SQL 注入
  • CSV 注入
  • XSS
  • 文件读取
  • 命令执行
  • 逻辑缺陷
  • DLL 劫持
  • 认证授权缺陷:www.freebuf.com/vuls/203227…
  • 安全策略绕过
  • 越权
  • 中间人攻击
  • 未授权
  • 溢出

参考文章:

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

down.52pojie.cn/

github.com/theLSA/CS-c…

github.com/cybertechni…

github.com/bibortone/T…

github.com/theLSA/hack…

www.aneasystone.com/archives/20…

blog.csdn.net/WPwalter/ar…

www.t00ls.net/articles-50…

www.freebuf.com/vuls/203227…

cloud.tencent.com/developer/a…