Warung Bebas
Showing posts with label WinPE. Show all posts
Showing posts with label WinPE. Show all posts

Tuesday, September 8, 2009

又一破解 Windows 密碼保護 - Sneaky Win Intruder


Sneaky Win Intruder in Windows 7 PESneakyWinIntruder 在 Windows PE 3.0 下的運行畫面。






做電腦維修的,其中一樣常做的就是向客人查詢 Windows 密碼,因為 Windows 內的事件檢視器、當機報告 (Minidump) 等都是很有用的除錯工具。例如當見到事件編號 (Event ID) 為 7 的紅色交叉,硬碟編號是 0 (Harddisk0) 又顯示有錯誤區塊 (bad block) 的話便已可以確診有壞磁區 (如果之後又沒有了壞磁區,可能是硬碟自己修復了,但始終曾經出現問題)。另一方面,有不少有名的系統診斷軟體例如 Sysinternals Autorun 都是要 Windows 在登入後才能運作的 (如果 Windows 不能進入,其實仍可以用 Paraglider's Runscanner 在非登入時模擬登入狀態使用該些軟體,這個下次再談)。那是否表示如果聯絡不上客人維修便要延誤了嗎?客人的電話錯了怎辦?除了等他再打過來,其實可以主動點 - 強行登入 Windows!





坊間破解 Windows 密碼的方法和軟體破多,有窮舉法 (brute force attack),但不能準確知道所花時間,例如 Elcomsoft 便有能使用 CUDA GPU 加速的產品;一類是重設密碼的,例如使用 ERDCommander LockSmith 或 NTPWEdit 重設 Windows 密碼,這方法個人從沒有使用,因為密碼重設後難保不會讓客人懷疑或帶來麻煩,例如若客人有 EFS (Encrypting File System) 加密了的檔案,不用回本來的密碼是開不了的;另一類則不會更改密碼,直接進入 Windows,例如 Konboot、WindowsGate;一類則可製作一個新帳戶,用它來「為所欲為」也不怕。小弟常用最後一種,因為很重視個人私隱;使用客人的帳戶應可免則免。完成後只要刪除新建的帳戶便可消除大部份足印



這一種方法的代表者有「將 sethc.exe/utilman.exe 換成 cmd.exe」技巧。不知道大家有沒有試過在登入時碰下 shift 鍵太多次之後 Windows 出現啟動相粘鍵的訊息?sethc.exe 就是那時執行的程式。而 utilman.exe 則是 Vista/7 登入畫面左下角的輕鬆存取功能。只要將它們換成 cmd.exe 就可以在登入畫面喚出由系統身份 (NT Authority\System) 執行的「命令提示字元」,然後在那裡輸入 lusrmgr.msc 或用 net user 指令就可以新增帳戶然後進入 Windows 了。



由於小弟偏好這個技巧,但坊間的軟體好像沒有一種是完全利用這種技巧 (近似的雖有 WindowsGate、Sala's Password Renew、Dc-PASS,但都不是利用 sethc.exe),所以小弟編寫了一些指令檔,在令自己對工作生厭之前將這堆刻板的步驟自動化... 接下來會介紹 Sneaky Win Intruder Type 1,以下簡稱 Swi 1。







注意:執行 Swi 前請確定它所依賴的程式已經放在 Swi 資料夾或者系統資料夾 (System32)。請參閱 Readme.txt。



Swi 1 所做的可以簡單分成三部份:



1 - 置換 sethc.exe



因客人 Windows 受密碼保護,首要是用另一個作業系統起機 (e.g. Windows PE),進入後執行 Swi1.bat。跟著指示做。過程中如果它偵測到目標 Windows 為 Vista/7,而且 UAC (User Account Control) 狀態為開啟,便需輸入「y」關上 UAC 以確保後期運作無誤。成功後可關機然後啟動目標 Windows,進入第二部份。




Sneaky Win Intruder in Windows 7在 Windows 7 下搜尋 Windows 的畫面;可輸入「s」進入此選單





Sneaky Win Intruder in NoName XPE在 NoName XPE 下的 Part 1 完成畫面

(在 Windows PE 1.x 下執行前需先從 XP 補回 attrib.exe 和 find.exe,放在 Swi 資料夾)





2 - 新增帳戶



在目標 Windows 的登入畫面按下 shift 鍵五次,在彈出的「命令提示字元」輸入「adduser1」便會自動建成帳戶。過程中它會問是否重新載入歡迎畫面,如新增帳戶後歡迎畫面仍未出現新帳戶,可輸入「y」。最後用以下的帳戶資料登入:



  • 用者:temp

  • 密碼:Password12! (區分大小寫)




Windows 7 logon screen, sethc.exe hacked


Windows 7 下的 Part 2 過程動畫


(可見 Windows 7 下些訊息未能正常顯示,但不影響運作,按任何鍵繼續便可)




※ 3 -
還原系統



電腦修好,是時候刪除帳戶、「抹掉足印」了!先打開命令提示字元 (cmd.exe),輸入「clean1」。(注意不要經 shift 鍵技巧打開,否則恢復過程可能失敗。)



至目前為止,帳戶已刪除,sethc.exe 已恢復,上次登錄用戶記憶已刪除 (僅在 AutoAdminLogon 項目沒有設定時)。這時候其實您的部分已經完成,餘下的將在客人取回電腦後首次登入時在背景繼續執行。但是,若該用戶沒有系統管理員權限,作業便會失敗 (透過 RunOnce 執行的原故)。儘管真的失敗了,
其實普通用戶也不會輕易察覺到剩餘的痕跡;若成功,UAC 將重新啟用 (若最初是開的),用者設置檔 (user profile) 和其餘遺留下來的程式將被刪除。



已試過能用在中文或英文的 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。



最後,按此下載。(請注意 Part 2 指令錯寫為「adduser」,要知道應為「adduser1」。下一版本會修正。)








歡迎用以下方式儲存或分享本文:

















Share

















Sunday, August 16, 2009

繁體 Windows PE 3.0 (Windows 7 PE) 草擬及維修技術探討

微軟最近推出了 Windows OPK (OEM Preinstallation Kit) 和 AIK (Automated Installation Kit) for Windows 7 的 RTM 版。這兩套部署工具連同 Windows 7 DVD 都包括了最新的 Windows PE 3.0 (Vista 是 2.0,XP/2003 是 1.0-1.6)。小弟趕緊造了一套半製成品。



Startup of Windows 7 PE (3.0), C7PE


Desktop of Windows 7 PE (3.0), C7PE(圖一:登入選項,圖二:桌面和程式)



製作原因



小弟之前的工作之一是在客人面前測試他們帶來的硬體和組裝電腦,例如懷疑主板的內建網卡壞了,便可用包含所有網卡驅動程式和 Firefox 的 PE 測試。30 秒起機,一試,如果可以上網即便知道只屬 Windows 問題,節省重裝 Windows 來測試的時間。



另外也要維修電腦,有時是軟體成因的便需看看可否起動 Windows,如入到還要看看有沒有被密碼鎖上,兩種情況都需要支援 NTFS 的 Windows PE 幫助。首先,入不到 Windows 的可以在進入 PE 後用 nirSoft BlueScreenView 查看所有出現過的藍畫面,假如藍畫面是關於檔案系統或硬碟的 (UNKNOWN_HARD_ERROR、UNMOUNTABLE_BOOT_DEVICE),可以執行檢查磁碟工具 (chkdsk) 以檢查檔案系統和硬碟。想簡單點也可以直接使用系統還原 (Vista/7 可使用「系統修復工具」的「啟動修復」,它會自動偵測和修正包括檔案系統/系統檔案在內問題。XP 則可使用 Registry Restore Wizard,但只能還原登錄檔)。第二,如 Windows 被鎖上,便需使用破解密碼的軟體,有幾種方法甚至不影響已存帳戶的密碼 (WindowsGate、Sala's Password Renew、Sneaky Win Intruder),近乎不留痕跡。



還有就是安裝 Windows 了,我的同事不會用 winnt32 或 unattend 的方法裝 Windows。如果是 最流行的 XP Home 或 Vista Home Basic 中文版,因效率問題,會用 Sysprep 一般化了的 DOS Ghost DVD 而非新裝,而其它沒有製成映像的版本才會新裝。似乎和 Windows PE 毫無關係。但據我所見他們的 Windows 好像不能夠用在 AMD 系統,必需要 Intel CPU 和 IDE 控制器為 Intel 的系統,就算 nVidia/ATI/VIA 晶片組的 Intel 平台底板就不可以了。要解決這問題,可以在倒種後第一次啟動前用 Windows PE 起機,然後載入目標 Windows 的 SYSTEM 登錄檔(hive),然後有兩種做法,(1) 載入經「修改」的 MergeIDE.reg (參考微軟文章 KB314082) 或 (2) 用 Save Hardware ID 或 devcon 工具查看那塊底版的 IDE 控制器的硬體識別碼是甚麼,然後用登錄編輯程式直接更新「HKLM\目標Windows\ControlSet001\Control\CriticalDeviceDatabase」機碼內 ClassGUID 值開首為 4D36E96A,Service 值為 *ide 的對應選項。至於要解決 Intel 平台轉 AMD 的問題,都有兩種作法,(1) 修改「HKLM\目標Windows\ControlSet001\Service\intelppm」將 Start 值改為 4,或 (2) 這方法要在 Sysprep 時做的,方法是使用第三方軟體 OfflineSysprep 內的 AMD 系統修正功能 (Sysprep 不可用於 Windows PE;OfflineSysprep 是在 PE 環境執行的版本)。裝 Windows 小弟很少會用這兩個技巧,但在維修電腦時都間中會用的,因為不少客人壞機要轉底版(不同晶片組)但又不想重裝 Windows。還有想一提,因為新舊底版的驅動不同,在登入 Windows 後裝會很麻煩(例如最好要 PS/2 滑鼠和鍵盤,USB 的很可能需要等待其它驅動裝好後才會辨認),如果預先將新底板的驅動給目標 Windows 利用那就可以解決。這個可使用 SysPrep Driver Scanner 或 DriverPacks BASE 達成 (後者沒有試過)。



還有很多很多情況可以應用 PE 達成的。最後最後一點,曾經試過一次都是在替客人換新板後的舊電腦執行 Sysprep (目的是 Sysprep 的另一副功能 - 延長舊 Windows 的啟用期限,因為換底板後 Windows XP 命令三天內必須重新啟用),但執行前忘了使用 Keyfinder 抄下原有的產品序號,他正在途中來不及問他,但又必須要現場試給他看。Mini-setup / OOBE 需要序號才能繼續完成安裝,怎麼辦呢?最後突然想... 在 Windows PE 使用 Keyfinder 可不可以呢?原來是可以的!最後使用 nirSoft ProduKey (Keyfinder 同類) 搜尋 external Windows installations 就可以了。




Using Keyfinder in Windows 7 PE (3.0), C7PE(圖三:Sysprep 一般化後仍能使用 Windows PE 取回 Windows 的 CD-key)




為何不使用建基於 Windows XP 的 PE 1.x? 因為需要最新版的「系統修復工具」(對應 Windows 7) 和 BCDEdit 等支持。



為何不使用 DOS? Windows PE 的驅動 (大量儲存控制器、網絡、USB) 易找、支援較好 (支援 Windows 的大都可以了),程式多 (支援 Windows 正常版的大都可以了,最多需要抄多幾個 DLL 檔),應用空間大,隨著高速 USB 隨身碟流行,是開機碟未來的大方向;最新 Ghost Solution Suite 2.5 的 Boot Wizard 都預設以 PE 2.0 來做開機碟了,Hiren's Boot CD 9.7 開始都內置了 PE 1.6。



理想中的 project 工作清單


  1. * 設計給 USB 隨身碟結合 PStart (綠色軟體開啟器) 用 (CD 亦可)。PStart 內的程式便是 PE 內的程式,用者可隨意增減

  2. * 每次開機都會偵測隨身碟內的 PStart.xml 檔案,實時更新在「開始程式集」內的連結

  3. 起動快、佔記憶體少,因為將大部份程式*、驅動都放於主 .wim 外**,以佔用最少 PE的運作記憶體為目標。最低運作要求為 256MB,但建議 512MB 或以上 (*1 除需要關聯 zip, rar 等檔案的 7-zip. *2 以 DriverPath 方式,自Vista開始支援自動掃瞄子資料夾)

  4. * 如記憶體不夠,支援啟動虛擬記憶體

  5. 包括至今所有 mass storage controller (大量儲存控制器) 和有線網卡驅動 (來自 driverpacks.net)

  6. 如沒有驅動可由用者隨後加在隨身碟或光碟機「a-z:\driver」資料夾 (以支援任何未來的新晶片)。只要按下桌面上「啟動網絡」PENetCfg 便會開始搜尋、安裝

  7. 可以設定密碼保護登入 (利用 PreLogonConfig.exe,密碼保護後便更適合當成公共電腦用的還原分區)

  8. * 多種開機選項,可與 Ultimate Boot CD/Hiren's Boot CD 結合 (使用 Grub for Dos)

  9. 除了給隨身碟或CD用的軟體外置 .wim 版本,另設有軟體內置 .wim 的版本,為了適合 network boot (PXE) 用途和取代 Windows 7 C:\Recovery 內 winre.wim (啟動修復用途)

  10. 支援中文輸入法,包括舊式倉頡、速成、廣東

  11. * 支持執行 non-Unicode 簡繁體程式 (需切換)

  12. 支援 MMC、CPL (磁碟管理、地區選項等)

  13. 但除 MMC 外並沒使用 WinBuilder,不採用 vpeldr/7peldr (試過可能阻礙 USB、網卡在 PE 上運作)。不使用 explorer.exe,改用 BSExplorer (快和節省 100MB 記憶體,但沒有了「連上網絡磁碟機」功能,需由第三方軟體提供)

  14. 自行中文化 BSExplorer 工作列和開始功能表

  15. PE 和所有軟體盡量為繁體

  16. 補回一些 PE 沒有的 CLI/GUI 程式和 DLL 檔案,例如 devcon, fciv, telnet, nc, nslookup, 小畫家, 計算機

  17. 可上網(內置Firefox、Opera、MSN...)、倒種(Ghost8.3,11,11.5等/Ghostcast Server/ImageX/GImageX/DriveImage XML...)、部署 Windows XP/2003/Vista/2008/7/2008 R2 (內置 OfflineSysprep、XPSetupLauncher...)、救硬碟(用 PE 就不用拆走硬碟,內置GetDataBack、Partition Find and Mount及其餘十多個)、救機(Kaspersky、BlueScreenView、HDDScan、Everest、MBRWizard、TestDisk、ServicePE、RegistryPELoader...)、破解 Windows/網絡/應用軟體密碼(KeyReader、ProduKey、NTPWEdit...)、遠端控制 (Remote Desktop 7, VNC, Putty, WinSCP...)、檔案總管 (Free Commander、7-Zip Explorer、A43...)、一般軟體(Office、SHA/MD5 checker、Eraser、File Renamer、螢幕測試、Notepad++...),專業工具 (SysinternalsSuite、nirSoft Tools、Roadkil Tools、Windows Support Tools、Windows Resource Kits) 及更多。

  18. 還欠甚麼?


(「*」在前的為仍未完成的功能)



Windows PE 3.0 比舊版進步之處


  1. 更新了的指令,包括 BCDBoot, DISM, 支援 VHD 的 Diskpart

  2. 再不需要 peimg /prep 以犧牲 serviceability 來減少大小

  3. 內建 PE 2.o 沒有的 PPPoE 支援 (但怎樣使用?)


  4. WinBuilder Win7PE project 支援無線網卡*、DirectX*、.Net Framework* (* 因佔記憶體太多和運作可能有問題,不會採用)

  5. ...?




製作教學和所需工具



- Windows 7 繁體版 (因 WinBuilder 需要目標語系的 Windows 配合)

- WOPK 或 WAIK 或 Windows 7 DVD (包括 Diskpart, DISM 工具, ImageX, Oscdimg 工具)

- WinBuilder 的 Win7PE project (包括 BSExplorer)

- Nu2Convert (用來編輯 BSExplorer 的 bs_start.ini 等)

- 虛擬電腦, e.g. VMWare Workstation,用作測試效果

- CDImage GUI (用來配合 Oscdimg 製作 ISO),雖然 USB 不需要但虛擬電腦只支援 ISO 或 network boot

- TFTPD32、3Com PXE Server (如使用 network boot 配合虛擬電腦便需這個)

- ...?



方法就留待完成後才繼續寫吧,如果真的有機會能夠完成...



Windows PE 簡介



Windows PE 是一個超簡化版的 Windows,微軟原意只是用來部署

Windows,經 DVD (Windows Vista/7 的 setup 介面就是 Windows PE),或經

network boot (Windows Server 的 WDS 服務)。



因為是 Windows 簡化版,本來只得「命令提示字元」可以用,但坊間下載到的 PE 多是被人180度翻轉自訂,導致出現 IE、工作列/桌面、MMC 這些功能,變到與正式 Windows 接近,加上預載很多有用的救機軟體,最出名在外國有 BartPE、LiveXP、VistaPE,大中華有 NoName XPE, PE 3.0, 等等。所以 Windows PE 已經變了角色成為足以取代 Linux BootCD 作救機用途了。



如果當 Windows PE 為一般作業系統使用,有不少問題的,例如

1) 不可以照正常程序安裝軟體,只行到綠色版軟體

2) Windows PE 主要在 RAM 執行的作業系統,要有足夠記憶體否則耗盡就會掛掉 (除非啟用 pagefile)

3) 亦因為在 RAM 行,所有資料在重新開機後就 bye

4) 沒有聲音,不能作立體影像運算或加速

5) 為防用作盜版系統,Windows PE 1.x (XP 底) 都會每 24 小時重新開機,但有破解的,2.0 (Vista 底) 以上已經不會了。




歡迎用以下方式儲存或分享本文:

















Share

















 

wander-sick Copyright © 2012 Fast Loading -- Powered by Blogger