天天看點

安全攻防實戰:使用winlogonhack擷取系統密碼一、遠端終端密碼洩露分析 二、WinlogonHack工具軟體截取密碼原理 三、使用WinlogonHack擷取密碼執行個體 四、攻擊與防範方法探讨參考文獻

安全攻防實戰:使用winlogonhack擷取系統密碼

S.S.F  simeon

摘要 在網絡安全事件頻發的今天,很多人都在抱怨,為什麼我的系統被入侵了,我的首頁被修改了,在入侵後,我采取了一些安全加強措施,可是沒過幾天又發現系統被入侵了!分析根本原因就是系統仍然存在安全隐患,可能是沒有徹底清除系統後門,可能是系統的密碼一直都掌握在黑客手中,本文作為安天365團隊<b>“系統密碼攻擊與防範”</b>安全研究中的一個子課題,将全面分析遠端終端密碼的截取和防範。

對于大型企業來說,一般都部署有遠端終端,微軟最新的伺服器作業系統Windows 2008 Server中更是重點打造遠端終端。終端伺服器遠端APP是Windows Server 2008中新的遠端應用示範方法。在遠端連接配接的一些參數上進行了調整,增加了一些新的功能,據說性能也有較大提高!

在大型網絡中,由于網絡環境複雜,是以伺服器之間往往通過遠端終端來維護和管理,這種管理在方向不太固定,多是發散。有的可能是通過一台主機登入多台主機,也有的可能是通過多台主機來登入同一台主機,也可能是混亂交叉登入,黑客在入侵網絡某一台主機後,肯定會想辦法收集網絡内部或者跟外部獨立主機之間的遠端終端登入使用者名稱和密碼。收集方法不外乎三種:

(1)使用GetHashes、Pwdump等工具擷取系統的Hash密碼值,然後通過LC5以及彩虹表來進行破解,破解成功後得到系統密碼,這些密碼極有可能是遠端終端的密碼。

(2)在被控制計算機上安裝鍵盤記錄,通過鍵盤記錄來擷取使用者在登入3389遠端終端過程所輸入的使用者名和密碼。這種方法有一定的限制,鍵盤記錄在遠端終端視窗最大化時有可能無法記錄遠端終端登入密碼。

(3)使用WinlogonHacK工具軟體截取遠端登入時所輸入的正确密碼。這也是本文要重點介紹的部分。當然除了以上三種外,還有一些其它的洩露途徑。

Gina.dll在NT/2000中互動式的登陸支援是由WinLogon調用Gina.dll實作的,Gina.dll提供了一個互動式的界面為使用者登陸提供認證請求。WinLogon會和Gina.dll進行互動,預設是msgina.DLL(在System32目錄下)。微軟同時也為我們提供了接口,我們可以自己編寫Gina.dll來代替Msgina.dll。

不知道什麼原因,微軟的Gina.dll在Windows XP以及後續版本中都不再出現,原來的Gina.dll改為Msgina.dll(加了ms表示是微軟的,嘿嘿!)。Msgina.dll在WindowsXP系統中預設大小為967,680 位元組(945K),在Windows 2003中其大小為1,180,672 位元組(1153K),如果不是這個大小,估計就有問題了。

圖1 Msgina.dll被損壞或者被修改導緻無法遠端登入遠端終端

WinlogonHack通過挂鈎系統中的msgina.dll的WlxLoggedOutSAS函數,記錄登入賬戶密碼!WinLogon初始化時會建立3個桌面:

(1)Winlogon桌面:主要顯示Windows 安全等界面,如你按下“CTRL+ALT+DEL”快捷看所出現的登陸的界面等。

(2)應用程式桌面:我們平時見到的那個有我的電腦的界面。

(3)螢幕保護桌面:螢幕保護顯示界面。

在預設情況下,Gina.dll或者Msgina.dll顯示登陸對話框,使用者輸入使用者名及密碼。是以要獲得使用者名和密碼,則可以寫一個新的Gina.DLL或者Msgina.dll,其中提供接口調用msgina.dll的函數是WlxLoggedOutSAS。啟動就用winlogon通知包,當有3389,連上伺服器時。新建立的 winlogon.exe會在登入前加載,注冊了 “Startup”的dll,Hook了函數,登入成功後,記錄密碼到 boot.dat 檔案,并取消Hook。退出3389後,dll檔案即可删除。在實作上隻要msgina.dll中WlxLoggedOutSAS函數的前五個位元組:

<b>mov edi,edi</b>

<b>push ebp</b>

<b>mov ebp,esp</b>

<b>   </b><b>關于WinlogonHack</b><b>工具如何具體實作3389</b><b>遠端終端密碼的截取,請檢視Winlogonhack</b><b>的源代碼以及程式([url]http://www.antian365.com/bbs/forumdisplay.php?fid=180[/url]</b><b>)。</b>

在WinlogonHack之前有一個Gina木馬主要用來截取Windows 2000下的密碼,WinlogonHack主要用于截取Windows XP以及Windows 2003 Server。

一種方法是将WinlogonHack的安裝程式檔案Hookmsgina.dll、install.bat、On.reg以及ReadLog.bat複制到一個相同檔案夾下面,然後在Dos提示符或者GUI界面寫直接運作install.bat即可。執行完畢後不需要重新開機,當有3389登上時,自動加載DLL,并且記錄登入密碼!儲存在系統system32目錄的boot.dat檔案中,另外一種方法是将所有檔案都放在同一個檔案夾中,然後執行install指令即可,如圖2所示,表示安裝正确的一些提示。

圖2 遠端安裝WinlogonHack軟體截取3389登入密碼

可以直接打開boot.dat檔案檢視,也可以運作“ReadLog.bat”腳本移動密碼檔案到目前目錄查中檢視。在本例中的作業系統是Windows 2003 Server,直接通過Radmin的telnet,然後先執行“dir boot.dat /a”指令,檢視是否有人遠端進行登入,如圖3所示,boot.dat大小為5762位元組,有貨!使用“type boot.dat”可以看到記錄的登入時間、使用者、域名、密碼以及舊密碼。出現兩個密碼主要是用于記錄使用者更改了密碼的情況下。

圖3 檢視密碼記錄boot.dat檔案

執行“Uninstall.bat”即可自動解除安裝該程式,如果“%systemroot%\system32\wminotify.dll”檔案未能删除,可以重新開機後删除!

(1)定制化開發

WinlogonHack代碼是開源的,是以入侵者可以定制它,即在“lstrcat( LogPath , "\\boot.dat");”代碼中将boot.dat換成其它一個檔案,執行Winlogonhack後,一般人員很難發覺。入侵者還可以在此基礎上增加一個郵件發送功能,将記錄下來的3389遠端終端使用者名和密碼發送到指定的郵箱,筆者在安全加強過程中就曾經碰到過具有這種功能的3389密碼截取木馬軟體。

(2)對WinlogonHack軟體做免殺處理

由于WinlogonHack工具軟體在網絡入侵中扮演了一個重要的輔助角色,是以一些厲害的防毒軟體會自動清除wminotify.dll檔案,如圖4所示,我在做試驗時,我的avast!防毒軟體就能查出來,作為病毒處理。是以可以通過加花指令、修改特征碼等方法修改wminotify.dll檔案,使其能夠繞過防毒軟體。

圖4 防毒軟體會自動清除wminotify.dll檔案

(3)WinlogonHack在攻擊中應用

WinlogonHack工具軟體主要用于截取3389登入密碼,是以在被入侵計算機上運作mstsc後,如果發現在mstsc的計算機位址欄目中出現有多個登入IP位址清單,如圖5所示,那麼在該計算機上就有安裝WinlogonHack軟體的必要,通過它來記錄在伺服器上管理者所登入的3389使用者名和密碼。

圖5 擷取3389登入位址清單

(1)在系統目錄查找“wminotify.dll”檔案,如果發現有這個檔案,則說明系統中一定安裝了Winlogonhack工具,可以通過登入一個3389終端來測試,系統目錄下是否存在boot.dat檔案,如果存在,則可以嘗試使用“Uninstall.bat”批處理來解除安裝它,如果還不能解除安裝,可以重新開機後再次解除安裝。

(2)直接到系統資料庫的鍵值“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\wminotify”下進行檢視,如果存在,則删除即可。

(3)對于定制的WinlogonHack比較難于根除,一個好的辦法就是在系統安全狀态下做一次檔案名稱清單備份,以後每次檢測系統是通過比較系統目前狀态下的檔案清單的異同來檢視。

(4)如果使用3389遠端終端登入多台伺服器進行管理,最好在管理完畢後,及時清除3389登入位址清單。

(5)定期殺毒,防毒軟體在一定程度上面能夠防範一些已知的病毒,是以勤殺毒,勤看日志,在确認系統被入侵後,一定要仔細徹底的做一邊系統的安全檢測。

1. WlxLoggedOutSAS [url]http://hi.baidu.com/ccyuankai/blog/item/5ef6dd[/url]80a8eeacd59023d906.html

<a href="http://down.51cto.com/data/2351421" target="_blank">附件:http://down.51cto.com/data/2351421</a>

 本文轉自 simeon2005 51CTO部落格,原文連結:http://blog.51cto.com/simeon/119798

繼續閱讀