|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。
, L+ v* F4 v! [/ X/ Zdrwtsn32.exe故障转储文件默认权限设置不当
: t% w q) ]0 G) O& a" \, L: `3 P涉及程序:
+ O4 s% ]- Z% N! x" b- N' R- K当前所有Windows版本 7 h; q2 {8 x6 T% r& A/ N# M
6 u) Y! v0 I8 R' x. o% s, l8 |. A
描述: ( U" Z0 A: Z4 Y* V( t U
drwtsn32.exe可能导致敏感信息泄漏 % j' C1 w3 h9 j9 _- ^/ J
. V$ t3 u% s) Z
详细: 2 }, y G: {3 x' v
发现者:tombkeeper@126.com( n# E# q- w3 O7 V# H; W
发现时间:2001.10.30
5 w: I7 l& v8 ?! u6 X. w
( o/ A& P p# @3 I. s; q# kdrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
# p! t( G8 d% s% H- B" w3 ?* h$ g状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有
O( P% M% I- g \/ r9 j调试功能的软件更改了默认值。注册表项:* k) }- T1 r$ _: b
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]1 {6 r, Q" C+ u" |: ]
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,/ ^: @, d n. j; T( v$ j, M9 T; c. P
并记录相应的诊断信息。0 S! P$ n: m; ?! u. Q* q
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
8 ]" d0 j5 n! u4 b& N
5 A$ V+ v# n M6 V在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录7 Q/ S8 q/ [" K8 `9 n2 M h
“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone
, N& N) p5 z2 V完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。( X3 q C* {0 g% C4 E1 Z- T' e
# p) W$ G' q' y
由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息+ ^( @$ K% g7 s) i, v
泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
6 y/ B9 u1 l$ c应用程序和在此之前用户进行了那些操作。) Q, H2 ^9 I, y" ]7 N9 Y; Z
! ~1 d ~ ]' a
因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息
& M; {4 M; d% }- `8 J的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe
3 W8 S- ?1 g1 B6 s5 L! G. o/ A和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释
4 Q3 W7 r2 A$ {" _* Z, m9 W的HTML文件可使IE 5.0以上版本崩溃》)
; b) a/ `4 {8 m% `- R
- C- S9 Y4 N3 Z' Y& M; z+ J测试:; J6 E4 x: C* k3 v7 i& h. Q7 E" Y
--->在administrator帐号下操作:0 K& N1 k) v; c3 [
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i 5 Q: c! h) E* k: E
将 Dr. Watson 设为默认调试器。: S8 m' P0 b- S
先启动一个需要使用密码的程序,这里我们选择Foxmail。
; \. m# J$ E* x1 i5 ]8 n2 j用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:
8 T/ ~0 W9 c2 }( _- P: I* `drwtsn32 -p 8863 d' j; B- o/ H& a3 h5 N( w" h
--->在guest帐号下操作:
% _% R7 _0 D! Q. x1 x在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:" g& ~6 s0 H( X# Y9 }
type user.dmp|find "youEmailPasswd"
4 h7 S5 t8 X: p z就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。7 D' ]6 j b2 u
/ R+ @$ g- y, E; F! L7 i8 u: h) q
% G( q/ M$ M Q' @: F解决方案:
2 o3 F. u) P9 {# h微软尚未对此做出反应。# q% v1 ?7 j" o! H
在可用的补丁出来之前,采取以下任一措施皆可解决此问题,& q' U8 K8 b+ d' P
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:
9 Z8 A4 [2 }) C- c+ _\Documents and Settings\Administrator\DrWatson\ x( b& B( p$ j; \
或取消“建立故障转储文件”选项。
% ~/ H# J/ E+ O, v2、删除注册表项( Y, {. _( n$ t0 \" B- B: S, @5 D2 m
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]& T1 g/ k1 s0 t# G" V" W
下的相关键值。" R1 a- L; G, M, M1 t+ Y# b; ^ @
3、使用其它调试工具。并在注册表中正确设置。* g& G) _% |+ f9 J" Y) Q4 p/ K3 z
) b/ A* n! Q9 b" i
! `( C6 o+ B; j6 k8 h附加信息: * Y% K O! K5 U4 F- ]7 W- I
发现者:tombkeeper@126.com/ J V; P* }9 f0 `
. |- |0 F5 [/ G+ W( {
drwtsn32 参数
% ]/ z5 \$ f( {
0 m W$ Y+ \7 `4 B. q. idrwtsn32 [-i] [-g] [-p pid] [-e event] [-?]
5 B( H9 L7 ?+ {% y# ?
$ j( @8 b; q) R2 G) g; o; W-i 将 DrWtsn32 当作默认应用程序错误调试程序1 Q8 D( i. s u+ ?2 l
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
, c! o' L! l: k# T+ c4 J-p pid 要调试的进程 id
$ B! [+ S; U) ^ S-e event 表示进程附加完成的事件& f' G5 E* B' b+ z# _) W5 Z% M0 w
-? 这个屏幕
2 Y; _9 F' S: _' m另外这个网址可能对你也有帮助! 7 S& y( {& m' Y7 j5 A9 o
http://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1 ( r6 |; K0 i8 ?9 f9 o
[此贴子已经被作者于2005-4-21 8:47:06编辑过] |