编写绕过卡巴主动防御的Shellcode

本文已经发表在《黑客防线》2007年8月刊。作者及《黑客防线》保留版权,转载请注明原始出处。

适合读者:溢出爱好者
前置知识:汇编语言、Shellcode基本原理
编写绕过卡巴主动防御的Shellcode
文/图 gyzy[江苏大学信息安全系&EST]
现 在主动防御的概念已经深入人心,市面上已经有不少安全产品加入了防范缓冲区溢出的功能,典型代表就是Macfee和卡巴,作为一个攻击者,就得想法设法的 绕过,假如一个0day被拦截的话,就前功尽弃了。这我就以卡巴为例子,详细讲一下如何尽量少的修改原Shellcode来穿透卡巴的壁垒。

知己知彼
要想绕过卡巴,必须首先了解卡巴是怎么判断溢出的发生的,卡巴通过挂接GetProcAddress、LoadLibraryA、LoadLibraryW等函数,根据返回地址是否在栈中来判断是否发生了栈溢出。卡巴Hook的GetProcAddress代码如图1: Continue reading “编写绕过卡巴主动防御的Shellcode”