|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。 3 R1 I& j3 {$ V& C/ z8 d" K. V2 A
drwtsn32.exe故障转储文件默认权限设置不当 3 e+ W" Z y i3 g9 I3 Z6 y7 G4 ^
涉及程序:
7 Q; G& i9 i& w3 X2 `8 k当前所有Windows版本 # t3 w5 ^& d* M8 Q
7 F2 w7 Z7 w1 K1 K
描述:
3 I5 {2 t& |# p& }( H3 U2 Z, idrwtsn32.exe可能导致敏感信息泄漏 9 o5 x; i1 ]1 O3 K2 g0 L/ x% Z7 W
3 @7 [. L% R* k详细: . M( Y- v( e [6 I! ?4 ]
发现者:tombkeeper@126.com
1 R. L& {; a0 u发现时间:2001.10.30. [! Z7 W6 T: Z2 X
* e M' ]3 `0 F; _ _
drwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认) C z& f% {" Q1 Z' o
状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有
; c! r" T5 f& J$ P; X4 b4 ]! I7 D调试功能的软件更改了默认值。注册表项:4 T5 B4 ]& `: |8 ]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
I7 j" A) W1 a, {1 A下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,
6 l6 b3 q3 q4 j并记录相应的诊断信息。* p% {* k4 Y% s* }
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
/ c& @: b5 i) x6 P$ O! p8 B, X# x5 B4 g! u$ u( h1 t8 B
在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录
% K/ H% K* O ^$ l8 A“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone
$ z( k8 c) Z2 p1 y$ ^完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。+ K+ E& D; t, F( T0 y, N" a
: f$ ?8 n. E* k) @5 @0 R. W; w7 G
由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息8 ]. g0 e+ j0 ~/ m0 { _
泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
1 U5 g5 X+ N1 i, x3 b6 d应用程序和在此之前用户进行了那些操作。
" L. K4 T3 v; h( d$ S- r7 |0 z; u! @9 ?! }7 v& p9 f1 O( ] Q
因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息* f( v* G2 ^; l+ p9 _( O
的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe6 v# ]% u" w. A- \ _, X- }
和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释
) r1 R6 [6 r( a1 N# G- S! Z, }" i, C的HTML文件可使IE 5.0以上版本崩溃》)( [1 a! h; n$ M% v# N+ Q* n2 S6 H: {
+ Q/ F6 q4 K& j$ c( J测试:- i9 e5 M3 Q8 Y/ Q' ?
--->在administrator帐号下操作:
$ I6 `7 \% v" h. o" L1 w& k如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i
( h9 X, P4 @; ^+ G% d) N将 Dr. Watson 设为默认调试器。
8 ^0 W r" K: @9 k5 u先启动一个需要使用密码的程序,这里我们选择Foxmail。$ ]) T0 f) z1 n, C9 g8 {
用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:8 E% G7 E% P) ~. f' [
drwtsn32 -p 886
; _0 H" @% j2 k1 j- X( g--->在guest帐号下操作:3 z0 ^3 z; B* E2 _6 w' i
在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:
5 h0 B8 J& L5 Gtype user.dmp|find "youEmailPasswd"
( m( d& f( ]& H3 m& Z, u% I: l( X8 g就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。% Y! F3 H2 h% j9 @5 K0 L: n3 t$ _
3 s0 } u& w! A0 l7 b0 w
/ {5 w) p2 c7 p解决方案:
. t, T+ h, g6 S+ Y, w6 a微软尚未对此做出反应。; x+ y; D. Q6 _; K# n. ~2 b
在可用的补丁出来之前,采取以下任一措施皆可解决此问题,+ y8 Z- z, K! I1 V4 f
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:
- J' A" U. P5 V1 \, U0 {\Documents and Settings\Administrator\DrWatson\
/ Y# l5 T- e5 [. \# K: ^7 |或取消“建立故障转储文件”选项。
5 d: u s" z# q5 q7 l8 B: |2、删除注册表项
' n9 u! S# F1 d[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]" o, h4 z3 `4 f M
下的相关键值。
/ a% V X8 J) R( W+ @' Q0 C3、使用其它调试工具。并在注册表中正确设置。
" K; [( i- b% z9 {$ S
: w2 n& S2 A& h/ v/ Z
" x6 N+ X3 X4 c+ u, ]附加信息: 2 [: H" F' P6 Y1 g0 P
发现者:tombkeeper@126.com
4 w! y; K9 R. B" H
Y7 i1 o0 E% u( H. wdrwtsn32 参数
* S* b1 _9 U, l7 C5 L9 u
q4 B* K. @' v# kdrwtsn32 [-i] [-g] [-p pid] [-e event] [-?]9 z& {/ b# G$ C5 O z8 F
+ X/ j7 H E6 X$ [& j
-i 将 DrWtsn32 当作默认应用程序错误调试程序) r0 F/ f2 b2 ]. x( n
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供- O& ?! w2 {$ d# P e
-p pid 要调试的进程 id
- L0 K* D) Y3 l# y2 p' t, b! P-e event 表示进程附加完成的事件
8 ^7 q- k* J; |. _+ ?-? 这个屏幕 , p% v2 N+ R8 ~. M4 R7 g c @ Z
另外这个网址可能对你也有帮助!
, P/ D( X* o; B8 Whttp://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
. i. U! P4 Z3 \/ q. a' F# {[此贴子已经被作者于2005-4-21 8:47:06编辑过] |