|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。 : E& r6 `, J& T$ }
drwtsn32.exe故障转储文件默认权限设置不当 5 Q0 W- s \6 O6 d* V; B, Y8 Q
涉及程序: , y4 `8 D5 u1 g9 `& X1 o+ {4 Y
当前所有Windows版本 " p' l) S9 q- c. B, h# F
1 Q$ ]# X( R7 T8 V0 k0 M描述: $ y/ _' y7 G, k' T) L
drwtsn32.exe可能导致敏感信息泄漏 ' g: s9 k% [& L( X& @3 [1 a" a
% u( W' w& [& Y详细: 3 o' x$ ^8 Z; p, ^* S7 i! ?
发现者:tombkeeper@126.com( P4 e7 ^' K8 Y
发现时间:2001.10.30
) V, K+ y- T) ^, | `' ~
* Z5 j7 t) H3 }7 u* ?1 N1 G/ {9 P3 ~2 vdrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认, X5 h% L% R2 H
状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有8 j2 W" K2 ~. Q9 ?6 ?/ |
调试功能的软件更改了默认值。注册表项:8 P2 K# p: j& i
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
; k) y! C* Q# L+ h( h下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,
' B8 K0 o: ?3 `# `$ l, w+ X并记录相应的诊断信息。( ]; P9 f3 u X
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
7 d9 {% k+ w, t! Q' X: B9 G' D6 o! H6 {' c2 U! r0 d
在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录
7 y/ x* [8 E. t2 v$ e“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone
! @8 w6 P8 Q9 p4 t! R r. y- X完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。
% T: N' _6 g3 q7 l6 i3 t; z& I/ k8 r" N }% k3 I7 \# G( a
由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息2 _; l8 i# w; S( c( f) v
泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
% s" t! F/ P6 i1 H, j1 W# o. z应用程序和在此之前用户进行了那些操作。4 a8 k: }; v. ~9 u8 o
+ T; a, d W9 v4 b0 Y- P# T0 G6 d因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息
; {7 c, _1 F3 f/ `# e2 P$ G" o8 [! h的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe* W& g+ k5 Z/ F' @
和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释
: Q7 @: r/ X' N的HTML文件可使IE 5.0以上版本崩溃》)
0 Z& b! a. D5 G4 S1 Y0 ^
' ]4 N$ B" W" i8 r/ h测试: _' S+ m' R- y2 f6 x( T0 h
--->在administrator帐号下操作:
9 M- z/ c$ ~* V6 ~+ C" |如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i
$ O& ]5 D2 P, _; B7 Q1 D6 o- j' K# R将 Dr. Watson 设为默认调试器。$ F& ?3 ^( w, e, j
先启动一个需要使用密码的程序,这里我们选择Foxmail。% R" x& U$ ]0 b$ N8 g6 k' J0 ?
用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:
/ e3 l5 y u9 r7 w8 h7 Cdrwtsn32 -p 8861 _3 g0 T$ S& Y$ {: _
--->在guest帐号下操作:
% z! B$ l1 g; u0 `# y1 W9 E D在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:) R; ~3 X0 s: `: P V- v. y
type user.dmp|find "youEmailPasswd"+ c* l8 n) a% s7 f3 L+ [
就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。
) r3 p2 n ?1 A4 `" ^" P2 v; p( m7 I' d
{; p/ m2 Y# W- `; `0 P8 S解决方案:
4 R9 Y4 U! r. {: z/ c微软尚未对此做出反应。3 X) L8 c9 O5 W( @, X. L% x6 V# y
在可用的补丁出来之前,采取以下任一措施皆可解决此问题,+ W5 h" l! ]( i. o
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:( z" ^% B& K; ?8 Y' {( e2 `
\Documents and Settings\Administrator\DrWatson\3 Y5 q7 s9 `) _) m9 `5 v
或取消“建立故障转储文件”选项。
/ U, e, v! f M& Y2 f G6 l2、删除注册表项; W7 B( r( o5 A' p+ A, T+ d
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]% i% l( V* g! h) e
下的相关键值。4 G( I, j- \" B6 R
3、使用其它调试工具。并在注册表中正确设置。
2 W J! ?' _6 j% }3 i1 k7 i
% s6 E' r9 ~, \ `4 e* s( `
( W2 [' p( x9 i附加信息:
) m/ M; U6 S/ M发现者:tombkeeper@126.com% t* L& g/ {3 d/ \1 P
# g/ l% G8 a1 Y
drwtsn32 参数+ d6 O7 e; p$ B
0 d" E; N: A$ \$ a) S8 h/ Zdrwtsn32 [-i] [-g] [-p pid] [-e event] [-?]) ~1 F. T6 p( C; H ~5 X3 X
5 A! \6 {3 f2 ^0 C: K1 e: d$ w
-i 将 DrWtsn32 当作默认应用程序错误调试程序5 x8 B5 T, V# F
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
/ `) D- J9 j, P; M+ R8 X" S-p pid 要调试的进程 id% b* ^8 m& |% Y- d5 g; Y1 y4 ^
-e event 表示进程附加完成的事件' x8 v$ R5 u. m9 Q7 h, u/ Y9 E
-? 这个屏幕
' `( y# b: {8 c9 C2 D0 T9 r3 S- ?3 w另外这个网址可能对你也有帮助! 3 `7 ?4 I& `/ G3 `- b
http://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1 3 G! R1 }. k0 F
[此贴子已经被作者于2005-4-21 8:47:06编辑过] |