|
|

$ h, r N4 A5 ]( ?2 g) j8 O; ESneakyWinIntruder 在 Windows PE 3.0 下的運行畫面。
' U. X5 u3 H' U2 g }2 K7 w" z
/ h. a# `* P9 a' u: G* t/ T做電腦維修的,其中一樣常做的就是向客人查詢 Windows 密碼,因為 Windows 內的事件檢視器、當機報告 (Minidump) 等都是很有用的除錯工具。例如當見到事件編號 (Event ID) 為 7 的紅色交叉,硬碟編號是 0 (Harddisk0) 又顯示有錯誤區塊 (bad block) 的話便已可以確診有壞磁區 (如果之後又沒有了壞磁區,可能是硬碟自己修復了,但始終曾經出現問題)。另一方面,有不少有名的系統診斷軟體例如 Sysinternals Autorun 都是要 Windows 在登入後才能運作的 (如果 Windows 不能進入,其實仍可以用 Paraglider's Runscanner 在非登入時模擬登入狀態使用該些軟件,這個下次再談)。那是否表示如果聯絡不上客人維修便要延誤了嗎?客人的電話錯了怎辦?除了等他再打過來,其實可以主動點 - 強行登入 Windows!
3 n! V# j% @7 i! C$ z% `/ h4 T3 T; \9 u7 l8 _
坊間破解 Windows 密碼的方法和軟體破多,有窮舉法的 (brute force attack),但不能準確知道所花時間,例如 Elcomsoft 便有能使用 CUDA GPU 加速的產品;有一類是重設密碼的,例如使用 ERDCommander LockSmith 或 NTPWEdit 重設 Windows 密碼,這方法個人從沒有使用,因為密碼重設後難保不會讓客人懷疑或帶來麻煩,例如若客人有 EFS (Encrypting File System) 加密了的檔案,不用回本來的密碼是開不了的;另一類則不會更改密碼,直接進入 Windows,例如 Konboot、WindowsGate;一類則可製作一個新帳戶,用它來「為所欲為」也不怕。小弟常用最後一種,因為很重視個人私隱;使用客人的帳戶應可免則免。完成後只要刪除新建的帳戶便可消除大部份足印。+ G% ?5 p1 P3 k+ R% g( j9 V
* x5 K, D& ~' T [1 i/ X' K
這一種方法的代表者有「將 sethc.exe/utilman.exe 換成 cmd.exe」技巧。不知道大家有沒有試過在登入時碰下 shift 鍵太多次之後 Windows 出現啟動相粘鍵的訊息?sethc.exe 就是那時執行的程式。而 utilman.exe 則是 Vista/7 登入畫面左下角的輕鬆存取功能。只要將它們換成 cmd.exe 就可以在登入畫面喚出由系統身份 (NT Authority\System) 執行的「命令提示字元」,然後在那裡輸入 lusrmgr.msc 或用 net user 指令就可以新增帳戶然後進入 Windows 了。' a( E4 n& K+ ?$ L
% K) [/ {. H0 P( g" J由於小弟偏好這個技巧,但坊間的軟體好像沒有一種是完全利用這種技巧 (近似的雖有 WindowsGate、Sala's Password Renew、Dc-PASS,但都不是利用 sethc.exe),所以小弟編寫了一些指令檔,在令自己對工作生厭之前將這堆刻板的步驟自動化... 接下來會介紹 Sneaky Win Intruder Type 1,以下簡稱 Swi 1。2 `( ^+ y) o/ F; [; G2 F
6 m, z9 O2 l" b$ M注意:執行 Swi 前請確定它所依賴的程式已經放在 Swi 資料夾或者系統資料夾 (System32)。請參閱 Readme.txt。
3 { g2 w$ f$ P5 L
: Y3 H1 P% B }; MSwi 1 所做的可以簡單分成三部份:
) M0 b) s5 v5 J2 Z7 b% F, g2 k
: l+ h) t) A. O4 [) e※ 1 - 置換 sethc.exe
& g7 m; |& E; R+ H! @% o
9 e v+ f( j4 G: `因客人 Windows 受密碼保護,首要是用另一個作業系統起機 (e.g. Windows PE),進入後執行 Swi1.bat。跟著指示做。過程中如果它偵測到目標 Windows 為 Vista/7,而且 UAC (User Account Control) 狀態為開啟,便需輸入「y」關上 UAC 以確保後期運作無誤。成功後可關機然後啟動目標 Windows,進入第二部份。
) n- v- p7 i- o* {( K" c: h
- ^; r7 u" U* j- |& J
2 a' k% J3 H9 B5 I4 B+ w在 Windows 7 下搜尋 Windows 的畫面; l0 ~0 e6 Z9 `4 ^
. [* o5 c6 v8 e; V/ C( [7 n
7 M$ c k' }* u4 |
6 d4 f& g! u, D3 O; p
在 NoName XPE 下的 Part 1 完成畫面. l, r8 G7 r$ ]
(在 Windows PE 1.x 下執行前需先從 XP 補回 attrib.exe 和 find.exe,放在 Swi 資料夾。)* Q, U3 y: m2 S6 y3 ^" [
& |. _- _, W" F( ]" K7 W+ o6 j) m# H) y' X
※ 2 - 新增帳戶
/ b) @7 ?) f! W* U2 U" a* G9 [. @4 Y3 Q! G2 H
在目標 Windows 的登入畫面按下 shift 鍵五次,在彈出的「命令提示字元」輸入「adduser1」便會自動建成帳戶。過程中它會問是否重新載入歡迎畫面,如新增帳戶後歡迎畫面仍未出現新帳戶,可輸入「y」。最後用以下的帳戶資料登入:( O3 b' |6 R, S( B
8 X9 e0 I* N$ M( N# U- O * 用者:temp
6 G9 O2 N. S+ e0 K* N3 _ * 密碼:Password12! (區分大小寫)7 X4 p% I E3 T7 k
4 n9 f9 J+ w k5 f

; h i+ u8 U) ]: L" L- L3 cWindows 7 下的 Part 2 過程動畫
% S0 {) E, H2 u) B(可見 Windows 7 下一些訊息未能正常顯示,但不影響運作。)
2 M! v5 y1 l/ K
/ c, Q1 p% v! T' V- D7 r% P6 U W8 n9 G" D2 U" F' `( v
※ 3 - 還原系統0 ]& h5 C. F8 ]6 d% p
: R% q& J6 K% n( {電腦修好,是時候刪除帳戶、「抹掉足印」了!先打開命令提示字元 (cmd.exe),輸入「clean1」。(注意不要經 shift 鍵技巧打開,否則恢復過程可能失敗。)3 s, I( x# ]3 O0 |! }$ ~
9 P7 h1 o2 o% s& E4 z5 [至目前為止,帳戶已刪除,sethc.exe 已恢復,上次登錄用戶記憶已刪除 (僅在 AutoAdminLogon 項目沒有設定時)。這時候其實您的部分已經完成,餘下的將在客人取回電腦後首次登入時在背景繼續執行。但是,若該用戶沒有系統管理員權限,作業便會失敗 (透過 RunOnce 執行的原故)。儘管真的失敗了,其實普通用戶也不會輕易察覺到剩餘的痕跡;若成功,UAC 將重新啟用 (若最初是開的),用者設置檔 (user profile) 和其餘遺留下來的程式將被刪除。
& a* R2 j% t4 B- s: f* _* C Z* e: e
已試過能用在中文或英文的 Windows XP、2003、Vista、7,基礎系統為 Windows PE 1.x 的 (NoName XPE,Hiren's Boot CD),PE 2.0 (VistaPE),PE 3.0 (C7PE)。不過仍有一點 bugs,請參閱 Readme.txt。
. Y% f/ V& v' j; o+ M$ M0 [7 a S# r$ E- j
最後,按此下載。& E+ v. K ?& |: F% B6 y
& W4 x7 c8 d# a- ]3 \如可以,在下一版本 (v1.0) 會完善它的不善,然後就到用另一種破解方法的 Swi Type 2 了。 |
|