iT邦幫忙

2021 iThome 鐵人賽

DAY 10
0
Security

讓 Hacking for Dummies 一書陪我 30 天系列 第 10

Day 10 - 密碼破解 101

出於書本 Chapter 7. Passwords

第十天了,可喜可賀可喜可賀
/images/emoticon/emoticon01.gif

寫在前面

密碼破解,是其中一種最簡單、以及常見用來獲得存取未經授權的電腦與網路方式的方式。理論上,越長、或是強度越強的密碼較難被破解。但是使用者或是網路管理者通常會忽略這件事。

外部攻擊者與惡意的內部使用者有很多能獲得密碼的方式。舉例,用問的、使用肩窺 (shoulder surfing) 的方式,或是在本機端使用密碼破解軟體。如果要透過網獲得密碼,攻擊者可以使用遠端破解工具,鍵盤側錄程式 (keylogger) 或是網路分析器 (network analyzers)。

密碼弱點

普遍能分成兩類

  • 組織或個人的:指的是缺乏密碼管理策略或是個人缺乏安全性意識
  • 技術上的:指的是使用了加密強度較低的演算法或是不安全的密碼存放

破解密碼

非技術類的方式

  • 社交工程
    • 最受歡迎的非技術方式
    • 使用教育訓練提升員工的安全性意識作為防範
  • 肩窺 (Shoulder surfing)
    • 透過偷看嘗試做登入的使用者的鍵盤或是螢幕,擷取密碼
    • 鼓勵使用者注意週遭的情況,確保沒有任何可疑人物朝向自己看之後,再嘗試做登入
  • 推斷 (Inference)
    • 透過使用者的資訊,比如生日、電話號碼等來推測使用者的密碼
    • 最好的防範方式就是不要在密碼裡帶有任何個人資訊
  • 脆弱的認證方式 (Weak authentication)
    • 舊式作業系統的密碼很容易被取得,甚至用 ESC 鍵跳過
    • 一但能登入該作業系統,很容易能夠使用系統密碼破解工具 [1] 找出如 VPN 連線或螢幕保護程式的密碼
    • 防範方式 ⇒ 升級作業系統

技術類的方式

使用程式決定所有可能的密碼組合來猜測密碼,主要的有字典式攻擊 (dictionary attack)、暴力攻擊(brute-force attack) 和彩虹表攻擊 (rainbow attack)。

密碼如何存放?

通常會以 one-way hash 或是加密的形式存放在電腦系統中,舉例像是 DES 或 MD5。這些被 hash 過後的密碼的長度會是固定的,但是一樣的字串被 hash 過後的字串還是ㄧ樣。所以,理論上,密碼是無法被加密。後來有一種稱作加鹽 (salt) 的方式,透過加點隨機的東西來增加點亂度。

以 Windows 為例,密碼通常存在於 Security Account Manager (SAM) 資料庫以及本地端或是灑在 Domain Controller 的 Active Directory (AD)

明天來繼續看這主要的三種技術類以及其他的密碼攻擊方式。

[1] 這裡是以 Elcomsoft 的 Proactive System Password Recovery 作為範例,這是一套 Windows 上的開機密碼破解工具。能夠恢復多種類型 Windows 密碼甚至產品金鑰等隱藏訊息。某些無法及時恢復的密碼,可以制定字典進行暴力破解。目前只支援到 Windows 8.1 與 Windows server 2012。作者在這一討論密碼的這個章節提起這套工具至少三次,可見鍾愛程度 XD

[2] 以這篇文章被撰寫的時間點 2021 九月為止,Windows 系統已經出到 Windows 10 與 Windows server 2022。


上一篇
Day 9 - 實現社交工程
下一篇
Day 11 - 密碼攻擊方式
系列文
讓 Hacking for Dummies 一書陪我 30 天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言