攻擊原理
這種方法的前提是必須先得到該主機上的某個合法用戶的
帳號,然後再進行合法用戶口令的破譯。獲得普通用戶帳號的方法很多,如:
利用目標
主機的Finger功能:當用Finger命令查詢時,
主機系統會將保存的用戶資料(如用戶名、登錄時間等)顯示在
終端或計算機上;
利用目標主機的X.500服務:有些主機沒有關閉X.500的目錄查詢服務,也給攻擊者提供了獲得信息的一條簡易途徑;
從
電子郵件地址中收集:有些用戶電子郵件地址常會透露其在目標主機上的帳號;查看主機是否有習慣性的帳號:有經驗的用戶都知道,很多系統會使用一些習慣性的帳號,造成帳號的泄露。
方法
這又有三種方法:
(1)是通過
網路監聽非法得到用戶口令,這類方法有一定的局限性,但危害性極大。監聽者往往採用中途截擊的方法也是獲取
用戶帳戶和密碼的一條有效途徑。當前,很多協定根本就沒有採用任何加密或
身份認證技術,如在Telnet、FTP、HTTP、SMTP等
傳輸協定中,
用戶帳戶和密碼信息都是以明文格式傳輸的,此時若攻擊者利用數據包截取工具便可很容易收集到你的帳戶和密碼。還有一種中途截擊攻擊方法,它在你同伺服器端完成"三次握手"建立連線之後,在通信過程中扮演"第三者"的角色,假冒伺服器身份欺騙你,再假冒你向伺服器發出惡意請求,其造成的後果不堪構想。另外,攻擊者有時還會利用軟體和硬體工具時刻監視系統主機的工作,等待記錄用戶登錄信息,從而取得用戶密碼;或者編制有
緩衝區溢出錯誤的SUID程式來獲得超級用戶許可權。
(2)是在知道用戶的賬號後(如電子郵件@前面的部分)利用一些專門軟體強行破解用戶口令,這種方法不受網段限制,但攻擊者要有足夠的耐心和時間。如:採用字典窮舉法(或稱暴力法)來破解用戶的密碼。攻擊者可以通過一些工具程式,自動地從電腦字典中取出一個單詞,作為用戶的口令,再輸入給遠端的主機,申請進入系統;若口令錯誤,就按序取出下一個單詞,進行下一個嘗試,並一直循環下去,直到找到正確的口令或字典的單詞試完為止。由於這個破譯過程由
電腦程式來自動完成,因而幾個小時就可以把上十萬條記錄的字典里所有單詞都嘗試一遍。
(3)是利用系統管理員的失誤。在現代的Unix作業系統中,用戶的基本信息存放在passwd檔案中,而所有的口令則經過DES加密方法加密後專門存放在一個叫shadow的檔案中。
黑客們獲取口令檔案後,就會使用專門的破解DES加密法的程式來解口令。同時,由於為數不少的作業系統都存在許多
安全漏洞、Bug或一些其他設計缺陷,這些缺陷一旦被找出,
黑客就可以長驅直入。例如,讓Windows95/98
系統後門洞開的BO就是利用了Windows 的基本設計缺陷。、放置
特洛伊木馬程式
特洛伊木馬程式可以直接侵入用戶的電腦並進行破壞,它常被偽裝成工具程式或者遊戲等誘使用戶打開帶有特洛伊木馬程式的郵件附屬檔案或從網上直接下載,一旦用戶打開了這些郵件的附屬檔案或者執行了這些程式之後,它們就會象古特洛伊人在敵人城外留下的藏滿士兵的木馬一樣留在自己的電腦中,並在自己的
計算機系統中隱藏一個可以在windows啟動時悄悄執行的程式。當您連線到網際網路上時,這個程式就會通知攻擊者,來報告您的IP位址以及預先設定的連線埠。攻擊者在收到這些信息後,再利用這個潛伏在其中的程式,就可以任意地修改你的計算機的參數設定、複製檔案、窺視你整個硬碟中的內容等,從而達到控制你的計算機的目的。
攻擊類型
因為多數人使用普通詞典中的單詞作為口令,發起詞典攻擊通常是較好的開端。詞典攻擊使用一個包含大多數詞典單詞的檔案,用這些單詞猜測用戶口令。使用一部 1萬個單詞的詞典一般能猜測出系統中70%的口令。在多數系統中,和嘗試所有的組合相比,詞典攻擊能在很短的時間內完成。
(2) 強行攻擊
許多人認為如果使用足夠長的口令,或者使用足夠完善的加密模式,就能有一個攻不破的口令。事實上沒有攻不破的口令,這只是個時間問題。如果有速度足夠快的計算機能嘗試字母、數字、特殊字元所有的組合,將最終能破解所有的口令。這種類型的攻擊方式叫強行攻擊。使用強行攻擊,先從字母a開始,嘗試aa、ab、 ac等等,然後嘗試aaa、aab、aac ……。
攻擊者也可以利用分散式攻擊。如果攻擊者希望在儘量短的時間內破解口令,他不必購買大量昂貴的計算機。他會闖入幾個有大批計算機的公司並利用他們的資源破解口令。
(3)NTCrack
NTCrack是UNIX破解程式的一部分,但是在NT環境下破解。NTCrack與UNIX中的破解類似,但是NTCrack在功能上非常有限。它不象其他程式一樣提取口令哈希,它和NTSweep的工作原理類似。必須給NTCrack一個user id和要測試的口令組合,然後程式會告訴用戶是否成功。
(4)PWDump2
PWDump2不是一個口令破解程式,但是它能用來從SAM資料庫中提取口令哈希。L0phtcrack已經內建了這個特徵,但是PWDump2還是很有用的。首先,它是一個小型的、易使用的命令行工具,能提取口令哈希;其次,很多情況下L0phtcrack的版本不能提取口令哈希。如SYSTEM是一個能在NT下運行的程式,為SAM資料庫提供了很強的加密功能,如果SYSTEM在使用,L0phtcrack就無法提取哈希口令,但是PWDump2 還能使用;而且要在windows2000下提取哈希口令,必須使用PWDump2,因為系統使用了更強的加密模式來保護信息。
破解程式
(1) Crack
Crack是一個旨在快速定位UNIX口令弱點的口令破解程式。Crack使用標準的猜測技術確定口令。它檢查口令是否為如下情況之一:和user id相同、單詞password、數字串、字母串。Crack通過加密一長串可能的口令,並把結果和用戶的加密口令相比較,看其是否匹配。用戶的加密口令必須是在運行破解程式之前就已經提供的。
(2) John the Ripper
UNIX口令破解程式,但也能在Windows平台運行,功能強大、運行速度快,可進行
字典攻擊和強行攻擊。
(3) XIT
XIT是一個執行詞典攻擊的UNIX口令破解程式。XIT的功能有限,因為它只能運行詞典攻擊,但程式很小、運行很快。
(4) Slurpie
Slurpie能執行詞典攻擊和定製的強行攻擊,要規定所需要使用的
字元數目和字元類型。如,可以能夠Slurpie發起一次攻擊,使用7
字元或8字元、僅使用小寫字母口令進行強行攻擊。
和John、Crack相比,Slurpie最大的優點是它能分布運行,Slurpie能把幾台
計算機組成一台分散式虛擬機器在很短的時間裡完成破解任務
攻擊防範
防範口令攻擊最根本的方法是用戶做好保護口令的工作,如口令要沒有規律並定期更換,採用加密的方式保存和傳輸口令,登錄失敗時要查清原因並記錄等。
不建議使用的口令
口令和用戶名相同。
口令為用戶名的某幾個鄰近的數字或字母。如:用戶名test001,口令為test。
口令為連續或相同的字母或數字。如:123456789,11111111,abcdefg,jjjjjjjj等。幾乎所有黑客軟體,都會從連續或相同的數字或字母開始試口令。
將用戶名顛倒或加前綴作為口令。如用戶為test,口令為test123.aaatest、tset、等。
使用姓氏的拼音或單位名稱的縮寫作為口令。
使用自己或親友的生日作為口令。由於表示月份的只有1-12可以使用,表示日期也只有1-31可以使用,表示日期的肯定19xx或xx因此表達方式只有100×12×31×2=74400種,即考慮到年月日其有六種排列順序,一共也只有74400×6=446400種。按普通計算計每秒搜尋3-4萬種的速度計算,破解這位的口令最多只需10s.
使用常用英文單詞作為口令。
口令長度小於6位數。