前言
最近整理了壹些 奇安信&華為大佬 的課件資料+大廠面試課題,想要的可以私信自取, 無償贈送 給粉絲朋友~
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 /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. medusa
Medusa 的特點
穩定性好
速度控制得當
基於線程
支持模塊少於hydra(不支持RDP)
WEB-Form 支持存在缺陷
查看支持的模塊
參數
-n:非默認端口
-s:使用SSL連接
-T:並發主機數
medusa -M ftp -q
3. 離線密碼破解
1. 簡介
身份認證
禁止明文傳輸密碼
每次認證使用HASH算法加密密碼傳輸(HASH算法加密容易、解密困難)
服務器端用戶數據庫應加鹽加密保存
破解思路
嗅探獲取密碼HASH
利用漏洞登陸服務器並從用戶數據庫獲取密碼HASH
識別HASH類型
長度、字符集
利用離線破解工具碰撞密碼HASH
優勢
離線不會觸發密碼鎖定機制
不會產生大量登陸失敗日誌引起管理員註意
2. HASH 識別工具
1. hash-identifier
進行 hash 計算
結果:5f4dcc3b5aa765d61d8327deb882cf99
進行 hash 識別
2. hashid
可能識別錯誤或無法識別
3. HASH 密碼獲取
1. samdump2
Windows HASH 獲取工具
利用漏洞:Pwdump、fgdump、 mimikatz、wce
物理接觸:samdump2
將待攻擊主機關機
使用 Kali ISO 在線啟動此主機
發現此 windows 機器安裝有兩塊硬盤
mount /dev/sda1 /mnt
將硬盤掛載
cd /mnt/Windows/System32/config
切換目錄
samdump2 SYSTEM SAM -o sam.hash
導出密碼
利用 nc 傳輸 HASH
HASH 值:31d6cfe0d16ae931b73c59d7e0c089c0
2. syskey 工具進行密碼加密
使用 syskey 進行加密(會對 SAM 數據庫進行加密)
重啟需要輸入密碼才能進壹步登錄
使用 kali iso live
獲取到 hash 值
hashcat 很難破解
使用 bkhive 破解
使用 Bootkey 利用RC4算法加密 SAM 數據庫
Bootkey 保存於 SYSTEM 文件中
bkhive
從 SYSTEM 文件中提取 bootkey
Kali 2.0 拋棄了 bkhive
編譯安裝 :/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
計算彩虹表時間可能很長
下載彩虹表
/en/tables/
/
彩虹表排序
/usr/share/rainbowcrack
rtsort /md5_loweralpha#1-5_0_1000x1000_0.rt
密碼破解
r crack *.rt -h 5d41402abc4b2a76b9719d911017c592
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密碼破解軟件
彩虹表:/tables.php