駭客密碼攻擊的方法與工具

駭客密碼攻擊的方法與工具

這篇文章主要說明兩種密碼攻擊的方法與相關的工具介紹。

一種是線上直接針對系統密碼作登入的嘗試,

另外一種是取得密碼檔案,針對密碼檔案的Hash值做分析。

透過這些工具也可以了解目前系統的密碼強度為何?

系統是否會在五分鐘內被破解所有的密碼?

(最後提醒,這樣的工具使用在未經授權的系統是非法的。)

 

密碼攻擊的方法

密碼攻擊的方法原則上分為兩大類。

離線分析:

這種方式指的是取得密碼檔案分析。因為密碼檔案內容通常是加密或是有 Hash,因此分析的方向主要是破解 Hash 值。優點是可以避免線上系統的一些防護措施。

這類的工具包含:

  • Hashcat
  • RainbowCrack
  • Samdump2
  • John / Johnny
  • Ohcrack
  • Crunch

線上攻擊

這種方式指的是直接對線上系統登入帳號密碼。缺點是這樣的方式很容易受到系統防護措施的影響。

例如,嘗試超過三次就禁止登入。或是被發現有大量登入的行為而IP Address被阻擋。

這類的工具包含:

  • Hydra
  • Medusa

THC-HYRDA

HYDRA 為網路密碼攻擊的必備工具,支援許多常見的網路服務。

  • afp
  • cisco
  • cisco-enable
  • cvs
  • firebird
  • ftp
  • http-get
  • http-head
  • http-proxy
  • https-get
  • https-head
  • https-form-get
  • https-form-post
  • icq
  • imap
  • imap-ntlm
  • ldap2
  • ldap3
  • mssql
  • mysql
  • ncp
  • nntp
  • oracle-listener
  • pcanywhere
  • pcnfs
  • pop3
  • pop3-ntlm
  • postgres
  • rexec
  • rlogin
  • rsh
  • sapr3
  • sip
  • smb
  • smbnt
  • smtp-auth
  • smtp-auth-ntlm
  • snmp
  • socks5
  • ssh2
  • svn
  • teamspeak
  • telnet
  • vmauthd
  • vnc

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線上密碼攻擊

#!/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)

哪一種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

HashcatGUI Screenshot

 

密碼字典檔案可以在哪裡取得呢?

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/

 

 

Leave a Reply

Your email address will not be published.