|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。
( m# I; V0 \; @drwtsn32.exe故障转储文件默认权限设置不当
. O( _- `1 e( {0 G6 X4 o, S9 @! w( n( W! O涉及程序: . H* P' I G" j
当前所有Windows版本 7 I `2 U4 C0 m, X8 n2 D1 E
4 r9 ?" ~% F3 H3 J/ M+ X
描述:
: e x3 @+ n" v0 c4 K" \3 Q$ |drwtsn32.exe可能导致敏感信息泄漏 4 E2 X) b; c8 P/ B
6 _8 u( G% J; W$ C* I( {详细: ( C$ S! u& H2 G& g7 u
发现者:tombkeeper@126.com
4 R- W, d/ s' O* [- C) w* h发现时间:2001.10.30
! _/ ?: V9 R& T' [1 ?" e. f1 O+ a' B) E# h/ A2 [5 R( b- B i3 U' }
drwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
! q _& t5 F" K( ?4 H$ A状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有
2 s( j' S% \( V+ J/ Y0 p3 _, ^ x调试功能的软件更改了默认值。注册表项:* K; n8 k+ D0 _/ y) g. P; R
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
, x$ e; x4 L8 `# z7 U下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,* |/ S7 c% g. o( D6 U. s
并记录相应的诊断信息。8 ~# J8 [* g9 p
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
' ]* h: K2 @; \3 V& _3 s G1 Z* t: |- s$ k4 D( L
在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录& `2 R9 d# S1 q! w( k
“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone% D% b; c P) K8 ~1 ?
完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。
/ k' q0 x1 m: a. W6 K
" R. i* F. i ^* o由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息
6 z- k! ^, Z3 f* _& \. W泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
! \, a; j% R$ k+ y应用程序和在此之前用户进行了那些操作。
9 v' \% k; s6 M/ `
% S& p; v, A6 K9 Y+ V9 K2 p& ^/ Z因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息/ O: l( N6 [* g6 W& G
的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe. M) v/ L! L3 u
和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释
5 ]; R0 U% y8 U% F. [2 }9 h的HTML文件可使IE 5.0以上版本崩溃》)
1 s' ?: H7 @& H* X- w" a( _( r1 \+ H
1 u/ @7 b. W0 W8 v# M8 [测试:9 v7 s) {) k2 n
--->在administrator帐号下操作:' f/ w" w+ f( A+ ~! D+ f
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i ! j! e& r" Q- V7 [; g
将 Dr. Watson 设为默认调试器。1 K, g7 R1 O9 r: B
先启动一个需要使用密码的程序,这里我们选择Foxmail。
J6 x; H0 O, I) p( e用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:% {' L* v8 p9 d# ~3 b* S% W
drwtsn32 -p 8862 `8 ]' @5 q! p8 y! p" }
--->在guest帐号下操作:
- |% m: k9 Y8 N0 d2 Z5 ~在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:, P* j3 s2 |. x p! V8 r
type user.dmp|find "youEmailPasswd"" ^7 d( {* s$ e- T. g4 D
就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。
, {7 j8 F" b% {+ O9 Z3 t& F2 |) V' @; b/ Y* h" g6 x8 I
4 d2 f3 ~' Q+ d" Q( h: u解决方案:
0 _5 m, Q& t# F# X9 x微软尚未对此做出反应。4 ^* z( w% X I: w# t ~
在可用的补丁出来之前,采取以下任一措施皆可解决此问题,4 o2 }( o o1 [- |6 V4 E7 L
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:, i* d* h" x. ~: K+ ]
\Documents and Settings\Administrator\DrWatson\
* N6 [7 u2 u; e5 {或取消“建立故障转储文件”选项。! U# W7 B& S. w; |
2、删除注册表项
; o2 f' V6 S# A1 K) ?! M[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
( D+ I: k, V' x下的相关键值。
2 z6 ^+ L- L5 ^; g- a3、使用其它调试工具。并在注册表中正确设置。2 Y4 x$ t3 K$ H2 }3 ], Q
8 P" Q" W; n7 P& p5 V2 W: T5 \6 j" Y5 n: g. x
附加信息: - `2 L2 ~& r: s2 H
发现者:tombkeeper@126.com
/ r' h4 ~8 W$ Y0 t- C l- C$ g P9 F1 ~
drwtsn32 参数
Q |& Z b7 |0 M3 E
" Y ] e4 ]# o# X( E5 D+ qdrwtsn32 [-i] [-g] [-p pid] [-e event] [-?]8 P+ E9 I8 c* M" o/ ~0 L8 ^# k
/ k* H# ~' c5 J2 ]) @) p
-i 将 DrWtsn32 当作默认应用程序错误调试程序& r" i# m9 S/ O; S" L( ?
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
. l/ r, O7 d: j- y' j7 x' [: G-p pid 要调试的进程 id
% U: C: K/ K7 \-e event 表示进程附加完成的事件* l3 K/ B# f5 l; l
-? 这个屏幕 : P5 I. J2 E' @5 p( N- \) i0 x
另外这个网址可能对你也有帮助! - W5 w2 D' r, C$ m9 v
http://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
' g7 B3 `0 K/ L6 [# H T4 [[此贴子已经被作者于2005-4-21 8:47:06编辑过] |