首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PC(C/S架构)客户端测试笔记

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

作者头像
瓦都剋
修改于 2020-08-07 02:06:38
修改于 2020-08-07 02:06:38
2.9K00
代码可运行
举报
文章被收录于专栏:安全泰式柑汁安全泰式柑汁
运行总次数:0
代码可运行

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
代码运行次数:0
运行
AI代码解释
复制
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是一个用来显示系统中所有的TCPUDP端点(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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PC客户端(CS架构)客户端渗透测试指南
本项目主要针对PC客户端(CS架构)渗透测试,结合自身测试经验和网络资料形成清单,如有任何问题,欢迎联系,期待大家贡献更多的技巧和案例。
HACK学习
2019/09/30
14.3K0
PC客户端(CS架构)客户端渗透测试指南
Top 5 MQTT Clients客户端!!!
在当今的物联网(IoT)领域,MQTT 协议是推动物联网应用创新的核心。世界各地的开发人员都在利用不同的工具使 MQTT 代理的实现更加顺畅。这些 MQTT 工具使连接代理、发布消息和订阅主题变得更加容易。它们还简化了 MQTT 代理的测试和调试。
Hello工控
2025/06/08
2550
Top 5 MQTT Clients客户端!!!
实战介绍Windows下的PC客户端常见漏洞挖掘
对于小白来说,WEB安全方面似乎已经有了很完备的知识体系和漏洞发掘流程,刚刚入门的朋友总是喜欢选择web方向来作为自己的发展方向,因为针对web系统的渗透测试似乎获得的成就感要更高,也有很多小白认为web似乎更好学,然而对于PC客户端漏洞发掘,因为涉及到了一些计算机和操作系统底层的知识,很多人都不敢去碰,而实际上PC客户端的漏洞比大家想象中要容易的多,甚至你并不需要精通汇编语言就能很容易的挖到PC客户端漏洞,不过汇编语言是PC客户端漏洞发掘的基础,最好还是学好它。
FB客服
2019/05/23
3.4K0
C/S客户端的安全测试流程
听说C/S客户端的安全测试很少出现测试流程的。洛米唯熊百度一找,谷歌一搜。果然。没有正规的测试流程。偶然在一个群里看到一个图,感觉还可以,就自己摸索的尝试对应的流程写一下找到的工具给各位大佬做一下分享。
洛米唯熊
2019/07/25
5.9K0
C/S客户端的安全测试流程
【.NET】UnpackMe!Shielden+DNGuard,双层变异壳 - 脱壳详解
前言:自从脱壳神器de4dot横空出世以来,我们可以看到几乎所有的.net破文中的第一部分就是不管三七二十一把程序丢进去脱壳以及反混淆。可是你真的明白de4dot背后做了些什么吗?你对.net文件格式真的了解吗?如果这么好的开源工具大家都不去研究代码,实在是令人惋惜,以至于还在有人在论坛询问 Reactor最新版怎么脱的问题,也有的在论坛上断言MaxtoCode可以难倒99%的人……我想善于从基础学起,善于研究大神源码,真正搞懂de4dot背后所做的工作,那么这些问题都不算什么问题。这篇文章有点长,希望你能
逸鹏
2018/04/09
9.6K0
【.NET】UnpackMe!Shielden+DNGuard,双层变异壳 - 脱壳详解
DLL攻击漫谈
动态链接库(DLL)的方式以及Windows API指示使用它们的方式都可以用作任意代码执行的接口,并协助恶意行为者实现其目标。
黑白天安全
2020/11/03
1.4K0
DLL攻击漫谈
实现PC客户端抓包
而我负责的产品,就是桌面的客户端,抓包很困难,有时候想看看问题出现在什么地方,很难看到,完全纯黑盒测试。
赵云龙龙
2022/03/29
5.6K0
实现PC客户端抓包
史上最全Windows安全工具锦集
近日,深信服安全团队整理了一些常见的PE工具、调试反汇编工具、应急工具、流量分析工具和WebShell查杀工具,希望可以帮助到一些安全行业的初学者。
FB客服
2019/10/16
3.4K0
客户端应用试用限制设计
最近接到公司安排的任务给客户端设计一个“试用30天”的一个需求,其功能主要是为了防止客户拿到产品之后不支付尾款继续使用。众所周知靠纯软件想防“盗版”,“限制试用”等做法是行业难题。只要价值足够高一定有人会破解绕过你的所有防线达到免费试用的目的。那为什么还要写这篇文章呢,主要是为了给遇到同样问题的小伙伴提供一些"纸糊"的限制用户试用的思路,作为一个连接点的文章。
JusterZhu
2022/12/07
1.5K0
客户端应用试用限制设计
超详细之dll劫持+打包钓鱼详细教程
图片 1.dll劫持产生条件 1.dll能否被劫持: 不再'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs'注册表中 2.其dll是EXE程序首先加载的DLL,而不是依赖其他DLL加载的。 3.DLL确实被加载进内存中 2.判断dll是否可以劫持。 2.1手动方法 利用进程查看软件,查看dll是否存'KnownDlls'注册表中。 进程查看工具:ProcessExplorer/ProcessMonit
G0mini
2023/03/11
2.7K0
威胁狩猎系列文章之七到九
BloodHound 可以帮助攻击者更简单地分析域环境情况,确定攻击路线,完成域内横向移动和权限提升。防御者也可以使用 BloodHound 去识别和清理这些容易被攻击者利用的攻击路线。红队和蓝队都可以借助 BloodHound 更轻松地深入了解 AD 域环境中的权限关系。
信安之路
2019/05/15
1.4K0
主机应急响应与电子取证的经验分享
随着主机安全的问题日渐突显,挖矿勒索后门等病毒隐蔽手法越来越多种多样,仅仅依靠传统的安全工具不能完全查杀出相关恶意程序。安全事件具有突发性,复杂性与专业性,基于windows的一些运行机制人工排查安全事件需要从多个方面去检查与清除,抛砖引玉提出以下思路供参考。
FB客服
2018/09/21
9670
主机应急响应与电子取证的经验分享
威胁狩猎系列文章之一到三
这个系列的文章翻译由信安之路红蓝对抗小组的所有成员共同完成,后续将陆续发布,敬请期待!
信安之路
2019/05/09
1.8K0
威胁狩猎系列文章之一到三
获取Windows系统密码凭证总结
本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。
网络安全自修室
2024/03/06
1.3K0
获取Windows系统密码凭证总结
利用通用应用UWP进行权限维持
这种权限维持方式也是一种自启动后门,但仅支持Windows 10通用应用平台(UWP)上的应用程序,如:Cortana和People。
潇湘信安
2021/03/10
9950
利用通用应用UWP进行权限维持
【应急响应】windows入侵排查思路
当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。
Bypass
2019/07/08
2.8K0
【应急响应】windows入侵排查思路
Nidhogg:一款专为红队设计的多功能Rootkit
Nidhogg是一款专为红队设计的多功能Rootkit,该工具的主要目的是为红队研究人员提供一个多合一的切易于使用的多功能Rootkit,并允许研究人员通过单个头文件来将其引入到自己的C2框架之中。
FB客服
2023/08/08
4760
Nidhogg:一款专为红队设计的多功能Rootkit
利用SilentProcessExit机制dump内存
在GitHub上看到了一个利用SilentProcessExit机制dump内存的项目,于是学习了一下,于是今天来聊一聊利用SilentProcessExit机制dump内存,首先我们知道,在程序崩溃时或者系统崩溃时会产生崩溃后的文件。比如之前就有一篇文章,介绍的就是利用蓝屏崩溃来绕过卡巴斯基dump lsass进程(https://www.mrwu.red/web/2000.html),而在win7之后,windows引入一些进程退出的相关机制,即Selftermination的ExitProcess.与Crossprocesstermination的TerminateProcess.而我们今天所说的则是Silent Process Exit,即静默退出。而这种调试技术,可以派生 werfault.exe进程,可以用来运行任意程序或者也可以用来转存任意进程的内存文件或弹出窗口。若派生新进程的话其进程树如下:
鸿鹄实验室
2021/04/01
2K0
利用SilentProcessExit机制dump内存
windows 应急流程及实战演练
当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。
信安之路
2018/10/18
3.1K0
windows 应急流程及实战演练
【转】4 种实用方法:如何设置 Windows 10/11 自动登录
原文地址:https://www.sysgeek.cn/windows-auto-login/
AlphaHinex
2025/04/07
5260
【转】4 种实用方法:如何设置 Windows 10/11 自动登录
相关推荐
PC客户端(CS架构)客户端渗透测试指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验