|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。 ) j$ q" w( A. _+ d/ ?
drwtsn32.exe故障转储文件默认权限设置不当
1 T+ v4 |* P0 _) K3 a5 ]涉及程序:
( V" N: E4 O& G当前所有Windows版本 ) g/ u& a' N; B
% j, b3 c4 | p& V+ R' K1 u9 M
描述: 7 b/ X; K; Z z
drwtsn32.exe可能导致敏感信息泄漏 ( j v; H' R1 `
% Q' S3 s9 z6 C. I8 x9 D# k; m详细: * s5 G9 [9 |2 Y. k
发现者:tombkeeper@126.com4 _1 C0 z5 [3 K( _6 ]
发现时间:2001.10.30
/ f0 X; D. |& T p$ |0 {* {" l8 }
* E4 G0 F& r; v; v+ ?/ Bdrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认8 h; N' t$ m( o& R% I) ?
状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有
- a p) E8 }$ |: Y+ ]# n调试功能的软件更改了默认值。注册表项:' Z2 D; u; g$ z! l9 M
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]. k, q/ ]& h$ R, I
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,
) s5 N/ q, q2 N/ h+ a, B# G并记录相应的诊断信息。, q* y" ?: C9 o* i" \
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
+ |: W" g! v1 v& A1 T) p
; m3 i- f' U1 ^在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录
, F7 M) ?" J, A7 {4 I% @0 O1 `“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone" K( m. X5 q% n; G" k
完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。5 M1 H# q; s- F$ H7 u
- t, [6 b* N! n由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息
5 w: r8 D! {0 v1 u8 }6 J1 B泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的8 D7 E7 [6 A' [
应用程序和在此之前用户进行了那些操作。
2 j9 f& i* \6 B5 K3 H
" y' J! w5 X2 \* e8 I! w" r因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息
: j1 Z+ |( K1 z) f0 b的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe6 X+ Z/ ^9 _5 B
和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释
/ O6 M8 y% E' T0 p" B5 p的HTML文件可使IE 5.0以上版本崩溃》)
% x4 {( {/ _; j
7 C0 r, H: |+ u7 [6 `测试:
5 }$ F) U ?1 d: d7 `" r--->在administrator帐号下操作:# \* s9 q4 C2 q3 t4 O
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i 8 s2 F. E3 C' {! _5 M4 C5 r/ ~
将 Dr. Watson 设为默认调试器。
! {, t0 W; [: J+ k9 b先启动一个需要使用密码的程序,这里我们选择Foxmail。
! h5 Z* L' n# `- {) o用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:/ G1 j3 @ Y, s5 H6 U1 H
drwtsn32 -p 8861 F8 T3 R+ n* I4 H+ C, X
--->在guest帐号下操作:* x. s/ D' t" q$ C
在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:1 y7 z" @8 p8 @
type user.dmp|find "youEmailPasswd"- ]# X: a4 H' t. i# s& ~
就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。6 o/ g7 R! v9 O3 ^5 H: T
0 b, V3 u. J$ p% ^( r) d }0 s, K
& N, Q) v# j0 U7 ?& T! |( R5 _+ `解决方案: + X2 K+ q1 g& o7 M
微软尚未对此做出反应。! R& ` S$ h- |
在可用的补丁出来之前,采取以下任一措施皆可解决此问题,& S) B2 l& r8 y; q) J
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:/ e: w4 ?4 [: q9 b `7 ]+ J
\Documents and Settings\Administrator\DrWatson\
/ Z: ]3 v& ]. @2 l! F0 s或取消“建立故障转储文件”选项。
4 f: c; _- Q' k/ i1 H2、删除注册表项
6 J2 ], r& K! L# a+ N; N[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]) o# l. M1 x H+ Q e/ k- W! C
下的相关键值。, v2 K. a' @7 j* C
3、使用其它调试工具。并在注册表中正确设置。
3 X' s+ Y' X8 u [$ s) H
/ ^- @! r& X) l6 O: }" h5 a! B/ Z" Q6 B' O) |- I2 B
附加信息: " o8 P3 c6 k; ?% S) T y c
发现者:tombkeeper@126.com% Y2 x0 a+ O* L) V, d
4 R- A5 K3 o' k4 J( T# sdrwtsn32 参数
* B$ |6 w+ s, I. O7 W* Y8 p2 w
. ?, t" b+ r3 L! Y# Gdrwtsn32 [-i] [-g] [-p pid] [-e event] [-?]
: [+ H0 W3 D d7 a
& _0 d4 n% F3 G$ U; _" N-i 将 DrWtsn32 当作默认应用程序错误调试程序. E; b% c/ n; m6 L+ \
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供9 H; Z% g, j; ]1 h- T
-p pid 要调试的进程 id: W! n M, O a0 a+ g$ i7 U
-e event 表示进程附加完成的事件4 v" z, J6 p% m, ~, M2 r. j
-? 这个屏幕
! I; v! K; [3 }! a另外这个网址可能对你也有帮助! % R( W/ l9 m- H& f* u7 r
http://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
; ` M& E& C! N9 f- N# M[此贴子已经被作者于2005-4-21 8:47:06编辑过] |