|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。 ! i+ g# q- y, _# H& B5 W
drwtsn32.exe故障转储文件默认权限设置不当
7 F) Q7 Q1 B( L6 z* p涉及程序:
. {6 \, x6 M& l4 n L4 \! J" x+ t5 }当前所有Windows版本
7 G$ r5 g2 N4 J1 _" P- R- l W9 p5 J0 I c/ O2 T$ y/ K
描述: " B; \( p. ^$ l! H- I; f
drwtsn32.exe可能导致敏感信息泄漏
+ K9 Z7 e$ S( [- R H
1 H- k1 q' I* t详细: - r' l! l4 W9 c5 C) Q% t- {/ l4 _. @
发现者:tombkeeper@126.com$ ~: @$ x9 `1 @' X- \1 H! ?) R9 ~
发现时间:2001.10.30
+ y& g+ K0 S/ j* g! v8 |4 K
' ~9 n) J s; s6 g- e m, S/ Y, \' sdrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
) q$ s- X0 S. B& H+ _! o状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有& ?: H, y& F8 d" ^# c0 \
调试功能的软件更改了默认值。注册表项:; A9 X6 X/ `7 M2 F8 U
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]9 F0 U9 g: b# } |
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,5 C! l3 G& v1 ^. E. S
并记录相应的诊断信息。, ^; y4 d3 b2 }# z
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
$ d, w: N, T9 O
) V8 ]1 t8 [' w! v3 H$ X在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录
M* v# l" I; y _6 {- a“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone0 q% b7 V7 E! n1 `2 T
完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。
- a3 [8 ? _/ X v, n) v; R& a" |& }
由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息
* _. |' b- M1 H& I2 _! r泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
9 V! s9 f& p# l应用程序和在此之前用户进行了那些操作。/ G9 c" R1 i3 g. i# P: n$ t5 n- I
0 p$ T1 A' c3 Y) p- [ Y因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息/ ?8 U8 S4 k: i# K
的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe
. X) S2 U% m; V) A7 {; h; {和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释
7 K. j0 v0 }/ H7 D' M) b; @* T' s8 J% B的HTML文件可使IE 5.0以上版本崩溃》)9 @. m! N" i$ K' y' y$ ?
' u' e! S8 B# s! a# x测试:
, p2 t4 H3 W3 T7 N$ B--->在administrator帐号下操作:- [' k1 I) |! z6 b: J% e. L$ b: p
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i
& a/ F) R! ^. _0 C1 ]$ X# X; D; \将 Dr. Watson 设为默认调试器。
# S/ J* N) g" j: j( H先启动一个需要使用密码的程序,这里我们选择Foxmail。
5 [; u! H3 n$ f4 F& x, r% m$ B8 F用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:; e3 \( ]* {& Z" ^$ H3 }
drwtsn32 -p 886
. }8 f& A+ ] B/ n I1 L--->在guest帐号下操作:
) Z4 p4 u$ L8 Q7 V1 B2 K1 K在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:4 A' I, y. L8 b ?7 {$ A0 f0 o
type user.dmp|find "youEmailPasswd"
& P: h1 G* o0 A% T就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。
0 G4 s0 @5 u% q) e' \) b
# i4 g6 k" M M h% w- \& [9 g+ }( p% ?* |: B, t1 L6 C
解决方案:
3 W4 G5 L7 ]2 r% h, U, f微软尚未对此做出反应。
" `, s' ]. N6 q$ K$ ^1 e* e在可用的补丁出来之前,采取以下任一措施皆可解决此问题,$ Y* h- N z( v! X+ d. {; ]
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:
. h! b3 d- [0 v( d5 {4 Z) d8 [9 k\Documents and Settings\Administrator\DrWatson\
+ i7 `! a$ q, p2 Q或取消“建立故障转储文件”选项。
$ z6 [4 u( L8 p% B* p5 T7 d" y2、删除注册表项7 s4 _2 N0 Q* R% q
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
/ ^, h L( B' N8 w+ G8 {下的相关键值。
6 f* t9 j/ |1 p* y; f, I3、使用其它调试工具。并在注册表中正确设置。' l1 X' i% |6 u% k( f
( G1 {. N' \9 b0 O, o# `
+ G! c, Z% ?9 ^& |
附加信息:
, J1 \ r" _/ |发现者:tombkeeper@126.com: h" B3 r- z& F8 T+ V% y
6 ~3 A' O3 @+ G! Qdrwtsn32 参数
+ Q) _5 v3 O0 O* u& E, B3 A; {# B3 n/ ]) J8 e0 V8 R4 f+ U8 D1 z
drwtsn32 [-i] [-g] [-p pid] [-e event] [-?]
3 ~$ w2 O% G; e4 O) t; T( o0 N; D% L+ u$ W
-i 将 DrWtsn32 当作默认应用程序错误调试程序9 h* w5 O: u$ u' f# |
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
7 Y s0 {+ i# H# S0 j2 ]-p pid 要调试的进程 id0 o" V5 J, {& Q: H
-e event 表示进程附加完成的事件
3 `5 x( t; e. D! r* I-? 这个屏幕
, w7 M9 h( V7 }4 N6 h另外这个网址可能对你也有帮助!
) z/ X8 T7 V2 H+ d4 k+ zhttp://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
/ P0 N# Y2 L% I* B1 c4 z& ?+ p[此贴子已经被作者于2005-4-21 8:47:06编辑过] |