加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

实战介绍Windows下的PC客户端常见漏洞挖掘

发布时间:2019-05-24 20:56:35 所属栏目:Windows 来源:18615253400
导读:副标题#e# 0X00 为什么写这篇文章 对于小白来说,web安全方面似乎已经有了很完备的知识体系和漏洞发掘流程,刚刚入门的朋友总是喜欢选择web方向来作为自己的发展方向,因为针对web系统的渗透测试似乎获得的成就感要更高,也有很多小白认为web似乎更好学,然
副标题[/!--empirenews.page--]

0X00 为什么写这篇文章

对于小白来说,web安全方面似乎已经有了很完备的知识体系和漏洞发掘流程,刚刚入门的朋友总是喜欢选择web方向来作为自己的发展方向,因为针对web系统的渗透测试似乎获得的成就感要更高,也有很多小白认为web似乎更好学,然而对于PC客户端漏洞发掘,因为涉及到了一些计算机和操作系统底层的知识,很多人都不敢去碰,而实际上PC客户端的漏洞比大家想象中要容易的多,甚至你并不需要精通汇编语言就能很容易的挖到PC客户端漏洞,不过汇编语言是PC客户端漏洞发掘的基础,最好还是学好它。

另外,挖掘PC客户端漏洞和挖掘WEB漏洞是一样的,都需要细心和耐心,你要学会关注每一个细节,了解系统和软件是如何协同工作的。本文主要讲Windows下的PC客户端漏洞发掘,为了浅显易懂,不涉及ROP等高级内存攻击和内存溢出技术,大佬请绕道。

0×01 工具

“工欲善其事,必先利其器” 。

PC客户端漏洞挖掘主要是逆向工程和进程监控为主。

逆向工程方面我推荐两个工具,一个是静态分析之王:IDA pro,另一个是动态调试里面最好用的:Ollydbg(推荐大家用吾爱破解论坛版本的)这两个逆向分析工具一查就可以查到,在这里就不多介绍了。

进程监控工具主要分为进程本地行为监控和进程网络行为监控。

本地行为监控工具我推荐:ProcessExplorer进程监控和Autoruns进程监控,这两个工具知名度不高,但是很好用。

实战介绍Windows下的PC客户端常见漏洞挖掘

ProcessExplorer进程监控

实战介绍Windows下的PC客户端常见漏洞挖掘

Autoruns进程监控工具

本地监控工具里还有一种工具是专门监控注册表的工具,这里推荐几个:

实战介绍Windows下的PC客户端常见漏洞挖掘

Process Monitor:一个强大的注册表监视工具,可以添加过滤规则,很方便。

实战介绍Windows下的PC客户端常见漏洞挖掘

Regshot:一个注册表备份和比对工具,可以通过保存快照和比对快照的方式来找出注册表中哪些值发生了变化。

实战介绍Windows下的PC客户端常见漏洞挖掘

RegfromApp:也是一个进程监控工具,可以选择一个进程之后跟踪其对注册表的修改。

网络行为监控工具当然首推大名鼎鼎的Wireshark啦,当然还有一个工具很小众但是很好用,是岁月联盟的工具,叫WSExplorer(进程抓包)。

实战介绍Windows下的PC客户端常见漏洞挖掘

Wireshark

实战介绍Windows下的PC客户端常见漏洞挖掘

岁月联盟的进程抓包工具WSExplorer,非常方便,左侧是进程,右侧是抓到的数据包。

有了以上这些工具,我们便可以对程序在我们的计算机上做了些什么了如指掌,知己知彼方能百战百胜,便可以开始下一步的漏洞发掘了。

0×02 缺陷

对于开发者来说,开发一款完全没有漏洞的程序是不可能的,特别是这个程序的体量及其庞大时,则其必定存在漏洞,我们需要知道的就是哪些位置容易出现漏洞。

客户端的授权认证漏洞:

一般正版的客户端软件都设有授权认证模块,这些授权认证方式所需要达成的目的无非就是“买了的人能用,没买的人不能用”,一般验证采用注册码的形式并与个人计算机的机器码相互绑定,或者与某种个人认证机制相互绑定,以达到验证的目的。授权认证漏洞可以导致软件和功能被破解,盗版程序流通等严重后果。授权认证漏洞往往是开发者在开发时没有注重授权认证的保密性以及安全性所导致的。

客户端的网络服务漏洞:

这类漏洞一般是由于客户端在发送数据包或接收时没有进行严格的认证造成的,可导致无条件调用高级权限的服务。

客户端功能逻辑漏洞:

这类漏洞一般是由客户端功能设计不合理导致的,可以导致无授权的访问等严重后果。

客户端溢出漏洞:

这类漏洞包含属于逆向工程中比较高难度的一块,主要是由于开发时对内存的错误管理,或者程序本身的执行逻辑漏洞导致的。

本文仅介绍前三种漏洞。

0×03 实战

客户端功能逻辑漏洞:

挖掘这类漏洞应主要关注客户端功能之间的逻辑,与Web逻辑漏洞类似。但是不同的是,功能逻辑漏洞也包括在反编译之后的部分,一般情况下通过修改关键call函数之上的跳转逻辑来进行漏洞挖掘,主要成因是客户端逻辑过于简单,采用了较少的逻辑判断。这种漏洞在具有完备功能的客户端上并不常见。

客户端的授权认证漏洞:

1.基于本地注册表的破解:

某些软件虽然使用网络进行授权验证,但是由于其试用次数设计的验证缺陷,可以导致通过修改注册表来实现无限次数的试用,导致“不付费也能用”,即出现了授权认证漏洞。下面这款客户端程序即是如此,我们在刚刚打开它的时候会提示试用次数还剩29次。

实战介绍Windows下的PC客户端常见漏洞挖掘

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读