首页
社区
课程
招聘
[旧帖] [转帖]ms04-006漏洞利用挑战 0.00雪花
发表于: 2011-6-3 09:58 1259

[旧帖] [转帖]ms04-006漏洞利用挑战 0.00雪花

2011-6-3 09:58
1259
作者:袁哥

微软说此漏洞winnt\win2k下拒绝服务都不能,win2003下只能拒绝服务不能利用,只能说他们不懂溢出。

挑战:

1、写出winnt\win2k\win2003下的稳定利用。

2、写出有防火墙的稳定利用。防火墙只开了tcp42,不准许外联,不能影响原有wins服务。

写出1和2的愿意来公司应聘的可以发简历过来。

漏洞代码如下:

0:000> uf wins!getname
wins!GetName:
01011d38 55              push    ebp
01011d39 8bec            mov     ebp,esp
01011d3b 8b4508          mov     eax,dword ptr [ebp+8]
01011d3e 53              push    ebx
01011d3f 56              push    esi
01011d40 8b7510          mov     esi,dword ptr [ebp+10h]
01011d43 8b00            mov     eax,dword ptr [eax]
01011d45 33db            xor     ebx,ebx
01011d47 891e            mov     dword ptr [esi],ebx
01011d49 57              push    edi
01011d4a 0fb608          movzx   ecx,byte ptr [eax]
01011d4d 8bd1            mov     edx,ecx
01011d4f 81e2c0000000    and     edx,0C0h
01011d55 895510          mov     dword ptr [ebp+10h],edx
01011d58 0f8589000000    jne     wins!GetName+0xaf (01011de7)

wins!GetName+0x26:
01011d5e 83e13f          and     ecx,3Fh
01011d61 40              inc     eax
01011d62 3bcb            cmp     ecx,ebx
01011d64 894d10          mov     dword ptr [ebp+10h],ecx
01011d67 7e28            jle     wins!GetName+0x59 (01011d91)

wins!GetName+0x31:
01011d69 8b7d0c          mov     edi,dword ptr [ebp+0Ch]
01011d6c 8d5101          lea     edx,[ecx+1]
01011d6f d1ea            shr     edx,1

wins!GetName+0x39:
01011d71 8a08            mov     cl,byte ptr [eax]
01011d73 8a5801          mov     bl,byte ptr [eax+1]
01011d76 80e941          sub     cl,41h
01011d79 40              inc     eax
01011d7a 836d1002        sub     dword ptr [ebp+10h],2
01011d7e 80eb41          sub     bl,41h
01011d81 c0e104          shl     cl,4
01011d84 0ad9            or      bl,cl
01011d86 881f            mov     byte ptr [edi],bl
01011d88 47              inc     edi
01011d89 40              inc     eax
01011d8a ff06            inc     dword ptr [esi]
01011d8c 4a              dec     edx
01011d8d 75e2            jne     wins!GetName+0x39 (01011d71)

wins!GetName+0x57:
01011d8f eb03            jmp     wins!GetName+0x5c (01011d94)

wins!GetName+0x59:
01011d91 8b7d0c          mov     edi,dword ptr [ebp+0Ch]

wins!GetName+0x5c:
01011d94 b901010000      mov     ecx,101h
01011d99 2b4d10          sub     ecx,dword ptr [ebp+10h]

wins!GetName+0x64:
01011d9c 33db            xor     ebx,ebx
01011d9e 3818            cmp     byte ptr [eax],bl
01011da0 7434            je      wins!GetName+0x9e (01011dd6)

wins!GetName+0x6a:
01011da2 813eef000000    cmp     dword ptr [esi],0EFh
01011da8 773d            ja      wins!GetName+0xaf (01011de7)

wins!GetName+0x72:
01011daa 49              dec     ecx
01011dab 3bcb            cmp     ecx,ebx
01011dad 7e38            jle     wins!GetName+0xaf (01011de7)

wins!GetName+0x77:
01011daf c6072e          mov     byte ptr [edi],2Eh
01011db2 47              inc     edi
01011db3 ff06            inc     dword ptr [esi]
01011db5 8a10            mov     dl,byte ptr [eax]
01011db7 83e23f          and     edx,3Fh
01011dba 2bca            sub     ecx,edx
01011dbc 3bcb            cmp     ecx,ebx
01011dbe 7e27            jle     wins!GetName+0xaf (01011de7)

wins!GetName+0x88:
01011dc0 40              inc     eax
01011dc1 8bda            mov     ebx,edx
01011dc3 4a              dec     edx
01011dc4 85db            test    ebx,ebx
01011dc6 74d4            je      wins!GetName+0x64 (01011d9c)

wins!GetName+0x90:
01011dc8 42              inc     edx

wins!GetName+0x91:
01011dc9 8a18            mov     bl,byte ptr [eax]
01011dcb 881f            mov     byte ptr [edi],bl
01011dcd 47              inc     edi
01011dce 40              inc     eax
01011dcf ff06            inc     dword ptr [esi]
01011dd1 4a              dec     edx
01011dd2 75f5            jne     wins!GetName+0x91 (01011dc9)

wins!GetName+0x9c:
01011dd4 ebc6            jmp     wins!GetName+0x64 (01011d9c)

wins!GetName+0x9e:
01011dd6 40              inc     eax
01011dd7 49              dec     ecx
01011dd8 85c9            test    ecx,ecx
01011dda 7c0b            jl      wins!GetName+0xaf (01011de7)

wins!GetName+0xa4:
01011ddc 8b4d08          mov     ecx,dword ptr [ebp+8]
01011ddf 881f            mov     byte ptr [edi],bl
01011de1 ff06            inc     dword ptr [esi]
01011de3 8901            mov     dword ptr [ecx],eax
01011de5 eb2a            jmp     wins!GetName+0xd9 (01011e11)

wins!GetName+0xaf:
01011de7 53              push    ebx
01011de8 6892030000      push    392h
01011ded 68d4200001      push    offset wins!`string' (010020d4)
01011df2 6817100140      push    40011017h
01011df7 6a01            push    1
01011df9 68010000e0      push    0E0000001h
01011dfe e8330b0000      call    wins!WinsEvtLogEvt (01012936)
01011e03 53              push    ebx
01011e04 53              push    ebx
01011e05 53              push    ebx
01011e06 680a0000e0      push    0E000000Ah
01011e0b ff1598100001    call    dword ptr [wins!_imp__RaiseException (01001098)
]

wins!GetName+0xd9:
01011e11 5f              pop     edi
01011e12 5e              pop     esi
01011e13 5b              pop     ebx
01011e14 5d              pop     ebp
01011e15 c20c00          ret     0Ch
0:000>

  

微软安全公告MS04-006

Windows互联网命名服务(WINS)允许代码执行漏洞(830352)

影响系统:
     Microsoft Windows NT Server 4.0 Service Pack 6a
     Microsoft Windows NT Server 4.0 Terminal Server Edition Service Pack 6
     Microsoft Windows 2000 Server Service Pack 2
     Microsoft Windows 2000 Server Service Pack 3
     Microsoft Windows 2000 Server Service Pack 4  
     Microsoft Windows Server 2003
     Microsoft Windows Server 2003 64-Bit Edition

详细信息:
     Windows互联网命名服务(WINS)中存在一个安全漏洞,导致漏洞存在的原因是因为WINS服
务用来验证特别创建的报文长度的方法中存在错误。利用这个漏洞攻击者可以对
WINDOWS 2003 server 的WINS服务进行拒绝服务攻击。

     2003 server本身带有一项安全功能,这项安全功能会检测系统服务恶意的缓冲溢出行为,
一旦检测到就会立即中止该服务。当一个攻击者利用该漏洞发送一系列特别创建报文到
WINDOWS 2003 server 的WINS服务时,会导致WINS服务发生缓冲溢出,这样该服务就会被安全功能禁
止,需要重新启动服务才能恢复正常。恶意的攻击者也可能发现绕过安全功能利用该漏洞的方法,
如果那样的话,攻击者将可以已系统权限执行任意代码。
     在Windows NT和Windows 2000中,漏洞的本质有些轻微的差异。WINS会拒绝特别创建的报
文,攻击者不能导致拒绝服务。这些平台上的漏洞也不允许代码执行。     

解决方法:
微软已经针对这个漏洞发布了相应的安全公告及补丁程序,你可以到我们的网站上下载相应的
补丁程序:

Microsoft Windows NT Server 4.0 Service Pack 6a 中文版补丁

Microsoft Windows 2000 Server 中文版补丁

Microsoft Windows Server 2003 中文版补丁

更多漏洞及补丁信息请参见:
http://www.microsoft.com/technet/security/bulletin/MS04-006.asp

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
没看懂,这个是什么呢
2011-6-3 10:02
0
雪    币: 52
活跃值: (120)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你们公司待遇怎么样?
ps:你们公司是干什么的?
再ps一下此漏洞网上能找到源码
2011-6-3 11:24
0
游客
登录 | 注册 方可回帖
返回
//