声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
No.1
前言
本文是结合一次实际小项目与自学延伸以面向此方面纯小白的,关于PC客户端测试的入门向文章。
No.2
工具一栏
常用工具概述:
IDApro(收费)
OllyDbg(免费)
Burpsuite(免
BinScopeBinarAnalyzer(免费)
Fiddler(免费)
WinHex(免费)
HxD(免费)
dbgview(免费)
windbg(免费)
AKLT(免费)
PEExplorer(免费)
IOCTLFuzzer(免费)
APIMonitor(免费)
ComRaider(免费)
VNC(免费)
屏幕录像专家CamStudio(免费)
此文所用到工具:
SigcheckGUI
DetectItEasy2.04
PESecurity-master
UniversalExtractor
PEIDV0.95
IDA_Pro_v7.0_Portable
OllyDBG
FredUnYP
DllHijackAuditor
oCam
Wireshark
No.3
PC客户端检测流程
一般针对客户端的检测,都有标准且具体的流程,作为菜鸟需要明白的就是记住测试流程,明白每一步检测的意义和对应工具的使用方法。
流程图如下:
No.4
实操
静态测试项
●文件数字签名检测
意义:数字签名可以表明文件的发布日期,还能减少杀*软件的误报。此项操作是为了检查待测程序文件是否存在数字签名,被非法串改后的文件其数字签名将会被破坏,从而被检测出来以防止伪冒。
工具:SigcheckGUI
SigcheckGUI:微软Sysinternals工具Sigcheck
的可视化版本,可以用来批量检查文件的数字签名。
操作:将待待测客户端文件夹直接进SigcheckGUI
???识别结果,绿色√文件存在数字签名,红色!表示不存在数字签名???修复:建议对所有的组件全部进行签名,以免DLL文件有被劫持、篡改的风险
●编译器版本是否过低
意义:检测CS客户端编译器版本情况,如果编译器版本在VS之前版本,则存在风险。
工具:DetectItEasy
DetectitEasy是一个多功能的PE-DIY工具,主要用于壳侦测。支持文件直接拖放,可添加到右键菜单。
正常情况,文件拖入,会得到以上信息,但如果编译器版本高或其他情况,会得到下图结果,则代表着无风险
●编译器安全选项是否打开
意义:开启DEP(数据执行保护),ASLR(地址空间布局随机化),能够有效的减少缓冲区溢出漏洞的危害。这些机制是微软提供的高级系统防护机制,可以有效的避免代码植入等问题。如果未开启,攻击者可以很容易的通过缓冲区溢出进行代码植入。
工具:PESecurity-master
一个Powershell的模块,用来检查EXE/DLL文件编译选项,包括:ASLR,DEP,SafeSEH,StrongNaming,Authenticode。
PESecurityGitHub