『壹』 網路安全乾貨知識分享 - Kali Linux滲透測試 106 離線密碼破解
前言
最近整理了一些 奇安信&華為大佬 的課件資料+大廠面試課題,想要的可以私信自取, 無償贈送 給粉絲朋友~
1. 密碼破解簡介
1. 思路
目標系統實施了強安全措施
安裝了所有補丁
無任何已知漏洞
無應用層漏洞
攻擊面最小化
社會 工程學
獲取目標系統用戶身份
非授權用戶不受信,認證用戶可以訪問守信資源
已知用戶賬號許可權首先,需要提權
不會觸發系統報警
2. 身份認證方法
證明你是你聲稱你是的那個人
你知道什麼(賬號密碼、pin、passphrase)
你有什麼(令牌、token、key、證書、密寶、手機)
你是誰(指紋、視網膜、虹膜、掌紋、聲紋、面部識別)
以上方法結合使用
基於互聯網的身份驗證仍以賬號密碼為主要形式
3. 密碼破解方法
人工猜解
垃圾桶工具
被動信息收集
基於字典暴力破解(主流)
鍵盤空間字元爆破
字典
保存有用戶名和密碼的文本文件
/usr/share/wordlist
/usr/share/wfuzz/wordlist
/usr/share/seclists
4. 字典
1. 簡介
鍵盤空間字元爆破
全鍵盤空間字元
部分鍵盤空間字元(基於規則)
數字、小寫字母、大寫字元、符號、空格、瑞典字元、高位 ASCII 碼
2. crunch 創建密碼字典
無重復字元
crunch 1 1 -p 1234567890 | more
1
必須是最後一個參數
最大、最小字元長度失效,但必須存在
與 -s 參數不兼容(-s 指定起始字元串)
crunch 4 4 0123456789 -s 9990
讀取文件中每行內容作為基本字元生成字典
crunch 1 1 -q read.txt
1
字典組成規則
crunch 6 6 -t @,%%^^ | more
-t:按位進行生成密碼字典
@:小寫字母 lalpha
,:大寫字母 ualpha
%:數字 numeric
^:符號 symbols
輸出文件壓縮
root@kali:~# crunch 4 5 -p dog cat bird
1
-z:指定壓縮格式
其他壓縮格式:gzip、bzip2、lzma
7z壓縮比率最大
指定字元集
root@kali:~# crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space -o w.txt -t @d@@ -s cdab
1
隨機組合
root@kali:~# crunch 4 5 -p dog cat bird
1
crunch 5 5 abc DEF + !@# -t ,@^%,
在小寫字元中使用abc范圍,大寫字元使用 DEF 范圍,數字使用佔位符,符號使用!@#
佔位符
轉義符(空格、符號)
佔位符
root@kali:~# crunch 5 5 -t ddd%% -p dog cat bird
1
任何不同於 -p 參數指定的值都是佔位符
指定特例
root@kali:~# crunch 5 5 -d 2@ -t @@@%%
1
2@:不超過兩個連續相同字元
組合應用
crunch 2 4 0123456789 | aircrack-ng a.cap -e MyESSID -w -
crunch 10 10 12345 –stdout | airolib-ng testdb -import passwd -
3. CUPP 按個人信息生成其專屬的密碼字典
CUPP:Common User Password Profiler
git clone https://github.com/Mebus/cupp.git
python cupp.py -i
4. cewl 通過收集網站信息生成字典
cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt
-m:最小單詞長度
-d:爬網深度
-e:收集包含email地址信息
-c:每個單詞出現次數
支持基本、摘要 身份認證
支持代理
5. 用戶密碼變型
基於 cewl 的結果進行密碼變型
末尾增加數字串
字母大小寫變化
字母與符號互相轉換
字母與數字互相轉換
P@$w0rd
6. 使用 John the Ripper 配置文件實現密碼動態變型
2. 在線密碼破解
1. hydra
簡介
密碼破解
Windows 密碼破解
Linux 密碼破解
其他服務密碼破解
圖形化界面
xhydra
HTTP表單身份認證
密碼破解效率
密碼復雜度(字典命中率)
帶寬、協議、伺服器性能、客戶端性能
鎖定閾值
單位時間最大登陸請求次數
Hydra 的缺點
穩定性差,程序時常崩潰
速度控制不好,容易觸發服務屏蔽或鎖死機制
每主機新建進程,每服務新建實例
大量目標破解時性能差
2. pw-inspector
Hydra 小工具 pw-inspector
按長度和字元集篩選字典
pw-inspector -i /usr/share/wordlists/nmap.lst -o p1.lst -l
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u -m 3 -M 5
3. mesa
Mesa 的特點
穩定性好
速度控製得當
基於線程
支持模塊少於hydra(不支持RDP)
WEB-Form 支持存在缺陷
查看支持的模塊
參數
-n:非默認埠
-s:使用SSL連接
-T:並發主機數
mesa -M ftp -q
3. 離線密碼破解
1. 簡介
身份認證
禁止明文傳輸密碼
每次認證使用HASH演算法加密密碼傳輸(HASH演算法加密容易、解密困難)
伺服器端用戶資料庫應加鹽加密保存
破解思路
嗅探獲取密碼HASH
利用漏洞登陸伺服器並從用戶資料庫獲取密碼HASH
識別HASH類型
長度、字元集
利用離線破解工具碰撞密碼HASH
優勢
離線不會觸發密碼鎖定機制
不會產生大量登陸失敗日誌引起管理員注意
2. HASH 識別工具
1. hash-identifier
進行 hash 計算
結果:
進行 hash 識別
2. hashid
可能識別錯誤或無法識別
3. HASH 密碼獲取
1. sammp2
Windows HASH 獲取工具
利用漏洞:Pwmp、fgmp、 mimikatz、wce
物理接觸:sammp2
將待攻擊主機關機
使用 Kali ISO 在線啟動此主機
發現此 windows 機器安裝有兩塊硬碟
mount /dev/sda1 /mnt
將硬碟掛載
cd /mnt/Windows/System32/config
切換目錄
sammp2 SYSTEM SAM -o sam.hash
導出密碼
利用 nc 傳輸 HASH
HASH 值:
2. syskey 工具進行密碼加密
使用 syskey 進行加密(會對 SAM 資料庫進行加密)
重啟需要輸入密碼才能進一步登錄
使用 kali iso live
獲取到 hash 值
hashcat 很難破解
使用 bkhive 破解
使用 Bootkey 利用RC4演算法加密 SAM 資料庫
Bootkey 保存於 SYSTEM 文件中
bkhive
從 SYSTEM 文件中提取 bootkey
Kali 2.0 拋棄了 bkhive
編譯安裝 :http://http.us.debian.org/debian/pool/main/b/bkhive/
在windows的 kali live 模式下,運行
sammp2 SAM key (版本已更新,不再支持此功能)
建議使用 Kali 1.x
1. Hashcat
簡介
開源多線程密碼破解工具
支持80多種加密演算法破解
基於CPU的計算能力破解
六種模式 (-a 0)
0 Straight:字典破解
1 Combination:將字典中密碼進行組合(1 2 > 11 22 12 21)
2 Toggle case:嘗試字典中所有密碼的大小寫字母組合
3 Brute force:指定字元集(或全部字元集)所有組合
4 Permutation:字典中密碼的全部字元置換組合(12 21)
5 Table-lookup:程序為字典中所有密碼自動生成掩碼
hashcat -b
hashcat -m 100 hash.txt pass.lst
hashcat -m 0 hash.txt -a 3 ?l?l?l?l?l?l?l?l?d?d
結果:hashcat.pot
hashcat -m 100 -a 3 hash -i –increment-min 6 –increment-max 8 ?l?l?l?l?l?l?l?l
掩碼動態生成字典
使用
生成文件
計算 hash 類型
結果 MD5
查看 MD5 代表的值
進行破解
2. oclhashcat
簡介
號稱世界上最快、唯一的基於GPGPU的密碼破解軟體
免費開源、支持多平台、支持分布式、150+hash演算法
硬體支持
虛擬機中無法使用
支持 CUDA 技術的Nvidia顯卡
支持 OpenCL 技術的AMD顯卡
安裝相應的驅動
限制
最大密碼長度 55 字元
使用Unicode的最大密碼長度 27 字元
關於版本
oclHashcat-plus、oclHashcat-lite 已經合並為 oclhashcat
命令
3. RainbowCrack
簡介
基於時間記憶權衡技術生成彩虹表
提前計算密碼的HASH值,通過比對HASH值破解密碼
計算HASH的速度很慢,修改版支持CUDA GPU
https://www.freerainbowtables.com/en/download/
彩虹表
密碼明文、HASH值、HASH演算法、字元集、明文長度范圍
KALI 中包含的 RainbowCrack 工具
rtgen:預計算,生成彩虹表,時的階段
rtsort:對 rtgen 生成的彩虹錶行排序
rcrack:查找彩虹表破解密碼
以上命令必須順序使用
rtgen
LanMan、NTLM、MD2、MD4、MD5、SHA1、SHA256、RIPEMD160
rtgen md5 loweralpha 1 5 0 10000 10000 0
計算彩虹表時間可能很長
下載彩虹表
http://www.freerainbowtables.com/en/tables/
http://rainbowtables.shmoo.com/
彩虹表排序
/usr/share/rainbowcrack
rtsort /md5_loweralpha#1-5_0_1000x1000_0.rt
密碼破解
r crack *.rt -h
rcrack *.rt -l hash.txt
4. John
簡介
基於 CPU
支持眾多服務應用的加密破解
支持某些對稱加密演算法破解
模式
Wordlist:基於規則的字典破解
Single crack:默認被首先執行,使用Login/GECOS信息嘗試破解
Incremental:所有或指定字元集的暴力破解
External:需要在主配配文件中用C語言子集編程
默認破解模式
Single、wordlist、incremental
主配置文件中指定默認wordlist
破解Linux系統賬號密碼
破解windows密碼
Johnny 圖形化界面的john
5. ophcrack
簡介
基於彩虹表的LM、NTLM密碼破解軟體
彩虹表:http://ophcrack.sourceforge.net/tables.php