恶意代码分析实战 Lab16-01

知识点:
一、 使用windowsAPI来探测调试器是否存在反调试技术
IsDebuggerPresent
CheckRemoteDebuggerPresent
NtQueryInformationProcess
OutputDebugString
二、 手动检测数据结构
检测BeingDebugged属性
fs:[30]指向PEB的基地址,PEB基地址偏移为2的地方是BeingDebugged标志的位置。BeingDebugged为0,则没有调试器附加。
检测ProcessHeap属性
ProcessHeap在PEB基地址偏移0x18处。Winxp系统中,ForceFlags属性位于堆头部偏移量0x10处。
检测NTGlobalFlag
PEB结构偏移量0x68处,决定如何创建堆结构,若此位置值为0x70,则进程正运行在调试器中。
分析报告
1. 样本概况
样本名称是Lab16-01.exe,编译器为 Microsoft Visual C++ v6.0。
1.1样本信息
样本名称:Lab16-01.exe
MD5值: 7FAAFC7E4A5C736EBFEE6ABBBC812D80
SHA1值:625628D4C91D4193474735DA011903642B2C916E
样本行为:使用了三种不同的反调试技术来阻止调试分析。
1.2测试环境及工具
测试环境:WinXP
测试工具:IDA 、OD
2. 恶意代码分析
使用了BeingDebugged、ProcessHeap、NTGlobalFLag这三种反调试技术来阻止调试
 
 
一旦发现样本正在被调试,则程序将从磁盘上删除自身。
 
3. 总结
使用OD的插件PhantOm可以防御这些反调试技术。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值