Nhóm : GVHD: Trần Quốc Dũng Phạm Văn Tính Nguyễn Hải Đăng Nguyễn Hồ Vương Trương Quang Minh
Password Crack <ul><li>I. Giới Thiệu SAM  </li></ul><ul><li>II. Tổng Quát cơ chế Mã Hóa Password Trong Windows </li></ul><...
SAM <ul><li>SAM (security account manager) lưu trữ username và password của user.  </li></ul><ul><li>Password của user lưu...
System key technology <ul><li>System key(syskey) là 1 kĩ thuật dùng để bảo vệ file SAM của Microsoft </li></ul><ul><li>Xuấ...
System key <ul><li>Để kích hoạt syskey :Run-> syskey->update </li></ul><ul><li>Password Startup </li></ul><ul><li>Store st...
SAM Registry key <ul><li>Key SAM  được lưu trữ trong HKEY_LOCAL_MACHINE  được quản lí bởi Registry Editor(regedt32.exe) </...
SAM on Storage Subsystems <ul><li>SAM và Syskey được lưu trong  2 thư mục %systemroot%/repair, %systemroot%/system32 /conf...
SAM on Network <ul><li>Nếu computer là  1 phần của domain thì SAM  được lưu trữ trong active directory  </li></ul><ul><li>...
II.CƠ CHẾ MÃ HÓA PASSWORD CỦA WINDOWS
MÃ HÓA PASSWORD TRONG WINDOWS <ul><li>User record được lưu trữ trong cơ sở dữ liệu Security Accouts Manager(SAM) hoặc tron...
<ul><li>Còn được gọi là LM Hash. </li></ul><ul><li>Được giới thiệu đầu tiên bởi các hệ điều hành cũ như Windows 95,98… </l...
<ul><li>Password này dựa trên OEM character set </li></ul><ul><li>Chiều dài tối đa là 14 ký tự </li></ul><ul><ul><li>Các b...
LAN Manager-compatible password:
<ul><li>Khuyết điểm: </li></ul><ul><ul><ul><li>Chiều dài password<15 ký tự </li></ul></ul></ul><ul><ul><ul><li>Không phân ...
<ul><li>Được giới thiệu bởi Windows NT, để tăng tính an toàn cho password so với việc sử dụng LM hash. </li></ul><ul><li>D...
Windows Password(NT HASH) PASSWORD/USER INFORM NT windows Hash
III.XỬ LÝ LOGON TRONG WINDOWS
XỬ LÝ LOGON TRONG WINDOWS LOCAL MACHINE LOGON DOMAIN LOGON
<ul><li>Windows sử dụng LsaLogonUser API để thực hiện quá trình xác thực. </li></ul><ul><li>LsaLogonUser API gọi gói phần ...
<ul><li>Gói xác thực MSV được chia thành hai phần: top và bottom half. </li></ul><ul><ul><ul><li>Top half chạy trên máy tí...
LOCAL MACHINE LOGON process SAM DATAbase TOP HALF BOTTOM HALF M S V 1_0 Packet 1.Encrypt/hash 2.Send 3.Query 4.Send stored...
DOMAIN LOGON
Some LAN Authentication protocols  <ul><li>LM Authentication </li></ul><ul><li>NTLM Authentication </li></ul><ul><ul><ul><...
NT LAN Manager Authentication <ul><li>NTLM là một giao thức xác thực được sử dụng bởi Microsoft Windows để xác thực giữa c...
<ul><li>Giao thức này sử sử dụng một challenge-response trao đổi messages trình tự giữa client và server: </li></ul><ul><u...
<ul><li>NEGOTIATE_MESSAGE: </li></ul><ul><ul><li>The NEGOTIATE_MESSAGE định nghĩa một NTLM Negotiate message,nó được gửi t...
NT LAN Manager Authentication
<ul><li>C = 8-byte server challenge </li></ul><ul><li>random K1 | K2 | K3 = NT-Hash | 5-bytes-0  </li></ul><ul><li>R1 = DE...
NTLMv1
NTLMv2 <ul><li>CS = 8-byte server challenge, random </li></ul><ul><li>CC = 8-byte client challenge, random </li></ul><ul><...
NTLMv2
DOMAIN LOGON
DOMAIN LOGON <ul><li>Top Half MSV hướng cho request đến netlogon service(nsl) của máy hiện tại. Sau đó nsl truyền request ...
DOMAIN LOGON NetLogon service Bottom HALF SAM TOP HALF NetLogon service Logon Request 1.Send Hashed password 2.Send reques...
IV.Các kiểu tấn công
Cracking Password <ul><ul><li>Three basic types of password cracks exist: </li></ul></ul><ul><ul><ul><li>Dictionary attack...
Dictionary Attacks <ul><ul><ul><li>Dictionary password attack  là lôi những từ trong từ điển hay một danh sách từ(wordlist...
Cấu trúc một WordList
Hybrid Attacks <ul><li>Hybrid attack  cũng sử dụng một từ điển hay một danh sách từ   tương tự như  dictionary attack  như...
Brute force Attacks <ul><ul><ul><li>Brute   force attack  sử dụng những số và ký tự ngẫu nhiên để bẻ khóa password của một...
Tool:   Cain  <ul><li>Cain  là công cụ đa năng có khả năng thực hiện nhiều tác vụ khác nhau,bao gồm: password cracking, Wi...
Password Cracking in   Cain
Rainbow Attack <ul><li>Trước đây, dictionary, hybrid, and brute force là những phương pháp chính được sử dụng để khôi phục...
Rainbow Attack <ul><li>RainbowCrack technique  is the implementation of Philippe Oechslin's faster time-memory trade-off t...
Introduction <ul><li>RainbowCrack is a general propose implementation of Philippe Oechslin's faster time-memory trade-off ...
Brute force <ul><li>Cách crack hash không phức tạp lắm là brute force. </li></ul><ul><li>Với Brute force ,tất cả plaintext...
Time-memory Tradeoff <ul><li>Với time-memory trade-off,giá trị hash được tính trước và được lưu trong “rainbow table”. </l...
Xây dựng RainbowCrack <ul><li>Phần mềm RainbowCrack gồm 3 công cụ chính:  rtgen,   rtsort,   rcrack   </li></ul><ul><ul><l...
Step 1: Use rtgen program to generate rainbow tables <ul><li>rtgen hash_algorithm charset plaintext_len_min plaintext_len_...
Step 1: Use rtgen program to generate rainbow tables(cont) <ul><li>plaintext_len_min  plaintext_len_max:  hai tham số này ...
Step 1: Use rtgen program to generate rainbow tables(cont) <ul><li>chain_num:  số rainbow chain trong rainbow table </li><...
Select Good Parameters <ul><li>hash_algorithm : lm, ntlm or md5  </li></ul><ul><li>charset :alpha-numeric = or </li></ul><...
Commands <ul><li>table generation commands : rtgen md5 loweralpha-numeric 1 7 0 3800 33554432 0 rtgen md5 loweralpha-numer...
Commands(cont) <ul><li>Mỗi dòng lệnh trên tốn khoảng 4h trên Core2 Duo E7300 processor để hoàn thành  </li></ul><ul><li>Sa...
Step 2: Use rtsort program to sort rainbow tables <ul><li>Rtsort được sử dụng để sắp xếp “end point” của tất cả rainbow ch...
Step 3: Use rcrack program to lookup rainbow tables <ul><li>Rcrack được sử dụng để tìm rainbow table.  </li></ul><ul><li>N...
Step 3: Use rcrack program to lookup rainbow tables(cont) <ul><li>Crack multiple hashes,đặt tất cả hash trong file text,mỗ...
Step 3: Use rcrack program to lookup rainbow tables(cont) <ul><li>A hash dump file in pwdump format is required as input t...
V.DEMO <ul><li>Crack password trong LAN(pwdump) </li></ul><ul><li>Crack trong physical  </li></ul><ul><li>Crack pass trong...
Demo  Crack password trong LAN <ul><li>Giả sử trên máy victim ta đã biết user “minh” password là “hacker” thuộc group admi...
Demo  Crack password trong LAN <ul><li>pwdump3.exe 10.0.0.2 C:password.txt minh </li></ul><ul><li>Sau đó nhập password của...
Demo  Crack password trong LAN
Demo  Crack password trong LAN
Demo  Crack password trong LAN
Demo  Crack password trong LAN
Demo  Crack password trong LAN
Demo : Physical- lấy file SAM <ul><li>Tool : đĩa cd,usb hỗ trợ boot, Cain </li></ul><ul><li>Điều kiện : máy victim phải ch...
Demo: Physical- lấy file SAM <ul><li>Trong cain : </li></ul><ul><li>Click chọn biểu tượng dấu + </li></ul><ul><li>Chọn imp...
<ul><li>Khởi động máy tính chọn chế độ boot từ cd </li></ul><ul><li>Chọn Start mini XP để chạy winXP live Cd </li></ul><ul...
 
 
 
 
<ul><li>Boot từ cd </li></ul><ul><li>Chọn start boot Cd </li></ul><ul><li>Chọn password & resgistry tool </li></ul><ul><li...
 
 
 
 
 
 
 
Demo : Sniffer password  <ul><li>Topology :  </li></ul><ul><li>1 máy server (10.10.10.253/24) , thư mục chia sẻ Data serve...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Một số cách hạn chế password cracking. <ul><li>Làm thế nào để có một mật khẩu bảo mật. </li></ul><ul><li>Những khuyến cáo ...
Làm thế nào để có một mật khẩu bảo mật. <ul><li>Áp đặt chính sách độ dài tối thiểu của mật khẩu là 8 và tốt nhất là 15. </...
Những khuyến cáo đặt password khác. <ul><li>Đừng bao giờ sử dụng ghép hai từ với nhau để được một Password ví như: vnevne....
Những khuyến cáo đặt password khác (tt). <ul><li>Đừng bao giờ chứa Password trên máy tính của bạn. </li></ul><ul><li>Không...
Upcoming SlideShare
Loading in …5
×

Report password cracking (2)

2,691 views

Published on

more from http://it-slideshares.blogspot.com and japanese-zen-garden.blogspot.com

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,691
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
195
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Report password cracking (2)

  1. 1. Nhóm : GVHD: Trần Quốc Dũng Phạm Văn Tính Nguyễn Hải Đăng Nguyễn Hồ Vương Trương Quang Minh
  2. 2. Password Crack <ul><li>I. Giới Thiệu SAM </li></ul><ul><li>II. Tổng Quát cơ chế Mã Hóa Password Trong Windows </li></ul><ul><li>III. Xử Lý Logon Trong Windows </li></ul><ul><li>IV.Các kiểu Tấn Công </li></ul><ul><li>V. DEMO </li></ul>
  3. 3. SAM <ul><li>SAM (security account manager) lưu trữ username và password của user. </li></ul><ul><li>Password của user lưu trong SAM thì đã được mã hóa </li></ul><ul><li>Password của user acccount là sự kết hợp của 2 loại password: LAN Manager và Window NT password </li></ul><ul><li>Password lưu trong SAM có qua 2 lần mã hóa </li></ul><ul><li>Dùng OWF </li></ul><ul><li>Mã hóa theo user ID </li></ul><ul><li>User có thể thiếu 1 trong 2 loại mật khẩu. </li></ul>
  4. 4. System key technology <ul><li>System key(syskey) là 1 kĩ thuật dùng để bảo vệ file SAM của Microsoft </li></ul><ul><li>Xuất hiện đầu tiên ở Service Pack 2,nhưng được phát triển ở Service Pack 3 </li></ul><ul><li>Thuật toán mã hóa của syskey có chiều dài key 128 bit </li></ul><ul><li>Được thực hiện bởi syskey.exe </li></ul>
  5. 5. System key <ul><li>Để kích hoạt syskey :Run-> syskey->update </li></ul><ul><li>Password Startup </li></ul><ul><li>Store startup key on floppy disk </li></ul><ul><li>Store Startup key Locally </li></ul>
  6. 6. SAM Registry key <ul><li>Key SAM được lưu trữ trong HKEY_LOCAL_MACHINE được quản lí bởi Registry Editor(regedt32.exe) </li></ul><ul><li>Chỉ có System mới thay đổi chỉnh sửa được </li></ul>
  7. 7. SAM on Storage Subsystems <ul><li>SAM và Syskey được lưu trong 2 thư mục %systemroot%/repair, %systemroot%/system32 /config. </li></ul><ul><li>Window explorer chỉ truy nhập vào được 2 thư mục với quyền hạn System </li></ul><ul><li>Trong thư mục config, user không thể tương tác đến file SAM. </li></ul><ul><li>Thư mục repair, user thường có thể truy cập vào file SAM . </li></ul>
  8. 8. SAM on Network <ul><li>Nếu computer là 1 phần của domain thì SAM được lưu trữ trong active directory </li></ul><ul><li>SAM lưu trữ thông tin, quyền hạn của user và group trong domain </li></ul>
  9. 9. II.CƠ CHẾ MÃ HÓA PASSWORD CỦA WINDOWS
  10. 10. MÃ HÓA PASSWORD TRONG WINDOWS <ul><li>User record được lưu trữ trong cơ sở dữ liệu Security Accouts Manager(SAM) hoặc trong cơ sở dữ liệu Active Directory. </li></ul><ul><li>Mỗi user account được kết hợp bởi 2 password: </li></ul><ul><ul><ul><ul><li>+LAN Manager Compatible Password. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>+WinDows Password. </li></ul></ul></ul></ul>
  11. 11. <ul><li>Còn được gọi là LM Hash. </li></ul><ul><li>Được giới thiệu đầu tiên bởi các hệ điều hành cũ như Windows 95,98… </li></ul><ul><li>Hiện nay vẫn còn được sử dụng bởi windows 2000,windows xp,vista… vì lý do tương thích ngược với các hệ điều hành cũ hơn. </li></ul>LAN Manager-compatible password:
  12. 12. <ul><li>Password này dựa trên OEM character set </li></ul><ul><li>Chiều dài tối đa là 14 ký tự </li></ul><ul><ul><li>Các bước để tính LM hash: </li></ul></ul><ul><ul><ul><li>Password  uppercase </li></ul></ul></ul><ul><ul><ul><li>Password được null-padded  14bytes </li></ul></ul></ul><ul><ul><ul><li>Được chi đôi thành 7bytes mỗi phần. </li></ul></ul></ul><ul><ul><ul><li>Mỗi 7bytes  8bytes DES key </li></ul></ul></ul><ul><ul><ul><li>Mỗi key dùng để mã hóa constand “KGS!@#$%”  ciphertext </li></ul></ul></ul><ul><ul><ul><li>2 ciphertext được nối lại với nhau  LM hash </li></ul></ul></ul>LAN Manager-compatible password:
  13. 13. LAN Manager-compatible password:
  14. 14. <ul><li>Khuyết điểm: </li></ul><ul><ul><ul><li>Chiều dài password<15 ký tự </li></ul></ul></ul><ul><ul><ul><li>Không phân biệt ký tự hoa và thường. </li></ul></ul></ul><ul><ul><ul><li>Password được chia làm hai phần khiến dễ bị tấn công hơn vì Spacekey^ 14 >>spacekey^7. </li></ul></ul></ul><ul><ul><ul><li>*LM HASH là một weak password </li></ul></ul></ul>LAN Manager-compatible password:
  15. 15. <ul><li>Được giới thiệu bởi Windows NT, để tăng tính an toàn cho password so với việc sử dụng LM hash. </li></ul><ul><li>Dựa trên unicode char set. </li></ul><ul><li>Chiều dài nó có thể được nâng lên 128 ký tự. </li></ul><ul><li>Password này được tính bằng cách sử dụng thuật toán mã hóa RSA MD-4 </li></ul>Windows Password(NT HASH)
  16. 16. Windows Password(NT HASH) PASSWORD/USER INFORM NT windows Hash
  17. 17. III.XỬ LÝ LOGON TRONG WINDOWS
  18. 18. XỬ LÝ LOGON TRONG WINDOWS LOCAL MACHINE LOGON DOMAIN LOGON
  19. 19. <ul><li>Windows sử dụng LsaLogonUser API để thực hiện quá trình xác thực. </li></ul><ul><li>LsaLogonUser API gọi gói phần mềm xác thực MSV1_0. </li></ul><ul><li>MSV1_0(MSV)-gói này được giới thiệu bởi Window NT. </li></ul><ul><li>Gói MSV này ngoài hỗ trợ xác thực quá trình local logon nó còn hỗ trợ pass-through xác thực user trong những domain khác bằng việc sử dụng dịch vụ Netlogon. </li></ul>XỬ LÝ LOGON TRONG WINDOWS
  20. 20. <ul><li>Gói xác thực MSV được chia thành hai phần: top và bottom half. </li></ul><ul><ul><ul><li>Top half chạy trên máy tính đăng nhập(local machine), nó mã hóa password và chuyển nó thành : LAN Manager password và Windows password. Tùy vào local machine logon hay domain logon mà nó có những chiến lược xử lý khác nhau. </li></ul></ul></ul><ul><ul><ul><li>bottom half chạy trên máy tính chứa thông tin user account,nó truy vấn password trong SAM và so sánh với password đưa vào để quyết định kết quả của quá trình xác thực. </li></ul></ul></ul>XỬ LÝ LOGON TRONG WINDOWS
  21. 21. LOCAL MACHINE LOGON process SAM DATAbase TOP HALF BOTTOM HALF M S V 1_0 Packet 1.Encrypt/hash 2.Send 3.Query 4.Send stored hash password User/password 5.compare Reply result
  22. 22. DOMAIN LOGON
  23. 23. Some LAN Authentication protocols <ul><li>LM Authentication </li></ul><ul><li>NTLM Authentication </li></ul><ul><ul><ul><li>+NTLMv1 </li></ul></ul></ul><ul><ul><ul><li>+NTLMv2 </li></ul></ul></ul>
  24. 24. NT LAN Manager Authentication <ul><li>NTLM là một giao thức xác thực được sử dụng bởi Microsoft Windows để xác thực giữa client và server. </li></ul><ul><li>NTLM là tên một tập các security protocol của Windows </li></ul><ul><li>Nó là một challenge-response style authentication protocol. </li></ul>
  25. 25. <ul><li>Giao thức này sử sử dụng một challenge-response trao đổi messages trình tự giữa client và server: </li></ul><ul><ul><ul><li>+ NEGOTIATE_MESSAGE </li></ul></ul></ul><ul><ul><ul><li>+CHALLENGE_MESSAGE </li></ul></ul></ul><ul><ul><ul><li>+AUTHENTICATE_MESSAGE </li></ul></ul></ul>NT LAN Manager Authentication
  26. 26. <ul><li>NEGOTIATE_MESSAGE: </li></ul><ul><ul><li>The NEGOTIATE_MESSAGE định nghĩa một NTLM Negotiate message,nó được gửi từ client đến server. Yêu cầu mở một session authentication. </li></ul></ul><ul><li>CHALLENGE_MESSAGE </li></ul><ul><ul><li>The CHALLENGE_MESSAGE định nghĩa một NTLM challenge message được gửi từ server đến client, chứa challenge random </li></ul></ul><ul><li>AUTHENTICATE_MESSAGE </li></ul><ul><ul><li>Chứa respond được tính bởi client ( DES(Unicode pwd, nonce) được gửi đến server. </li></ul></ul>NT LAN Manager Authentication
  27. 27. NT LAN Manager Authentication
  28. 28. <ul><li>C = 8-byte server challenge </li></ul><ul><li>random K1 | K2 | K3 = NT-Hash | 5-bytes-0 </li></ul><ul><li>R1 = DES(K1,C) | DES(K2,C) | DES(K3,C) K1 | K2 | K3 = LM-Hash | 5-bytes-0 </li></ul><ul><li>R2 = DES(K1,C) | DES(K2,C) | DES(K3,C) </li></ul><ul><li>response = R1 | R2 </li></ul>NTLMv1
  29. 29. NTLMv1
  30. 30. NTLMv2 <ul><li>CS = 8-byte server challenge, random </li></ul><ul><li>CC = 8-byte client challenge, random </li></ul><ul><li>CC* = (X, time, CC, domain name) </li></ul><ul><li>v2-Hash = HMAC-MD5(NT-Hash, user name, domain name) </li></ul><ul><li>LMv2 = HMAC-MD5(v2-Hash, CS, CC) </li></ul><ul><li>NTv2 = HMAC-MD5(v2-Hash, CS, CC*) </li></ul><ul><li>response = LMv2 | CC | NTv2 | CC* </li></ul>
  31. 31. NTLMv2
  32. 32. DOMAIN LOGON
  33. 33. DOMAIN LOGON <ul><li>Top Half MSV hướng cho request đến netlogon service(nsl) của máy hiện tại. Sau đó nsl truyền request đến cho netlogon service của máy remote. </li></ul><ul><li>Server trả về “nonce” (16bit challenge), “nonce” và hashed password được merge với nhau và gửi lại server. </li></ul><ul><li>the Netlogon service of the authenticating machine hướng the request đến bottom half của gói MSV. </li></ul><ul><li>The bottom half of the MSV Authentication Package truy vấn the passwords trong SAM và so sánh nó để đảm bảo passwords nhập vào có hợp lện không. </li></ul>
  34. 34. DOMAIN LOGON NetLogon service Bottom HALF SAM TOP HALF NetLogon service Logon Request 1.Send Hashed password 2.Send request 3.nonce 4.Merged password 5.Send m-p query reply 6.result 7.result
  35. 35. IV.Các kiểu tấn công
  36. 36. Cracking Password <ul><ul><li>Three basic types of password cracks exist: </li></ul></ul><ul><ul><ul><li>Dictionary attacks </li></ul></ul></ul><ul><ul><ul><li>Hybrid attacks </li></ul></ul></ul><ul><ul><ul><li>Brute force attacks </li></ul></ul></ul>
  37. 37. Dictionary Attacks <ul><ul><ul><li>Dictionary password attack là lôi những từ trong từ điển hay một danh sách từ(wordlist) để thử tìm ra password của một user. </li></ul></ul></ul><ul><ul><ul><li>Dictionary attack sử dụng một từ điển định trước để tìm kiếm sự hợp nhau giữa password được mã hóa và từ trong từ điển được mã hóa </li></ul></ul></ul><ul><ul><ul><li>Dictionary attack khôi phục password của một user trong một thời gian ngắn nếu những từ trong dictionary được sử dụng đơn giản. </li></ul></ul></ul>
  38. 38. Cấu trúc một WordList
  39. 39. Hybrid Attacks <ul><li>Hybrid attack cũng sử dụng một từ điển hay một danh sách từ tương tự như dictionary attack nhưng nó thông minh hơn ở chỗ tự động gắn thêm những ký tự và số tới những từ trong từ điển để thử bẻ khóa password của user. </li></ul><ul><li>Ví dụ: </li></ul><ul><ul><li>Một user có password là password </li></ul></ul><ul><ul><li>Những biến thể: 1password, password1, p@ssword, pa44w0rd, … </li></ul></ul>
  40. 40. Brute force Attacks <ul><ul><ul><li>Brute force attack sử dụng những số và ký tự ngẫu nhiên để bẻ khóa password của một user </li></ul></ul></ul><ul><ul><ul><li>Brute force thử kiểm định mỗi bộ kết hợp của letters, numbers, and characters </li></ul></ul></ul><ul><ul><ul><li>Brute force attack trên một password được mã hóa có thể mất nhiều giờ,ngày,tháng,hoặc năm,phụ thuộc vào độ phức tạp và chiều dài của password </li></ul></ul></ul><ul><ul><ul><li>Tốc độ thành công phụ thuộc vào tốc độ công suất CPU </li></ul></ul></ul>
  41. 41. Tool: Cain <ul><li>Cain là công cụ đa năng có khả năng thực hiện nhiều tác vụ khác nhau,bao gồm: password cracking, Windows enumeration, and VoIP sniffing,… </li></ul><ul><li>Phần password cracking của chương trình có thể thực hiện là dictionary,brute force,và đặc biệt sử dụng pre-computer rainbow tables. </li></ul>
  42. 42. Password Cracking in Cain
  43. 43. Rainbow Attack <ul><li>Trước đây, dictionary, hybrid, and brute force là những phương pháp chính được sử dụng để khôi phục password hay bẻ khóa chúng. </li></ul><ul><li>Nhiều password được xem là an toàn vì thời gian để bẻ khóa chúng là khá lâu. </li></ul><ul><li>Nhân tố thời gian là cái làm cho password thấy được bảo mật. </li></ul><ul><li>Một phương pháp tương đối mới để bẻ khóa password được nảy sinh trong tư tưởng </li></ul><ul><li>-> Rainbow Attack </li></ul>
  44. 44. Rainbow Attack <ul><li>RainbowCrack technique is the implementation of Philippe Oechslin's faster time-memory trade-off technique. </li></ul><ul><li>Nó làm việc dựa trên việc tính trước tất cả password có thể có. </li></ul><ul><li>Sau khi quá trình time-consuming này hoàn thành,password và thông tin khác được mã hóa của chúng được chứa trong một file gọi là rainbow table </li></ul><ul><li>Một password được mã hóa có thể được so sánh nhanh với giá trị chứa trong table và bẻ khóa trong một vài giây. </li></ul><ul><li>Ophcrack là công cụ bẻ khóa password áp dụng kỹ thuật rainbow table. </li></ul>
  45. 45. Introduction <ul><li>RainbowCrack is a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique </li></ul><ul><li>Function of this software is to crack hash </li></ul>
  46. 46. Brute force <ul><li>Cách crack hash không phức tạp lắm là brute force. </li></ul><ul><li>Với Brute force ,tất cả plaintext đề cử và những hash tương ứng được tính 1-1(1plaintext-1hash) </li></ul><ul><li>So sánh giá trị hash được tính với hash đích </li></ul><ul><li>Nếu giống nhau thì plaintext được tìm ra </li></ul><ul><li>Ngược lại,quá trình tiếp tục cho tới khi tìm hết các plaintext đề cử. </li></ul>
  47. 47. Time-memory Tradeoff <ul><li>Với time-memory trade-off,giá trị hash được tính trước và được lưu trong “rainbow table”. </li></ul><ul><li>Sau đó,giá trị hash sẽ được tìm trong “rainbow table” bất cứ khi nào cần </li></ul><ul><li>Quá trình pre-computation cần khá nhiều thời gian để tính trước tất cả các key space có thể có như brute force </li></ul><ul><li>Nhưng một khi quá trình pre-computation hoàn thành,thì việc tìm trong bảng có thể nhanh hơn hàng trăm,hàng nghìn brute force. </li></ul>
  48. 48. Xây dựng RainbowCrack <ul><li>Phần mềm RainbowCrack gồm 3 công cụ chính: rtgen, rtsort, rcrack </li></ul><ul><ul><li>Step 1: Use rtgen program to generate rainbow tables </li></ul></ul><ul><ul><li>Step 2: Use rtsort program to sort rainbow tables generated by rtgen. </li></ul></ul><ul><ul><li>Step 3: Use rcrack program to lookup rainbow tables sorted by rtsort. </li></ul></ul>
  49. 49. Step 1: Use rtgen program to generate rainbow tables <ul><li>rtgen hash_algorithm charset plaintext_len_min plaintext_len_max table_index chain_len chain_num part_index </li></ul><ul><li>hash_algorithm : LM, NTLM, MD5,… </li></ul><ul><li>Charset : Tập hợp tất cả những ký tự có thể dùng làm plaintext trong rainbow table,được định nghĩa trong charset.txt </li></ul><ul><li>Ví dụ: </li></ul><ul><ul><li>alpha-numeric = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] </li></ul></ul><ul><ul><li>or </li></ul></ul><ul><ul><li>loweralpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789] </li></ul></ul>
  50. 50. Step 1: Use rtgen program to generate rainbow tables(cont) <ul><li>plaintext_len_min plaintext_len_max: hai tham số này định nghĩa chiều dài có thể có của tất cả plaintext trong rainbow table </li></ul><ul><li>Table _index: tăng dần từ 0 trở lên,có liên quan đến &quot;reduce function&quot; được sử dụng trong rainbow table </li></ul><ul><li>chain_len: là chiều dài của mỗi “rainbow chain” trong rainbow table. Một rainbow table chứa nhiều rainbow chain </li></ul>
  51. 51. Step 1: Use rtgen program to generate rainbow tables(cont) <ul><li>chain_num: số rainbow chain trong rainbow table </li></ul><ul><li>part_index: tham số này xác định “start point” của mội dòng rainbow chain được phát sinh </li></ul>
  52. 52. Select Good Parameters <ul><li>hash_algorithm : lm, ntlm or md5 </li></ul><ul><li>charset :alpha-numeric = or </li></ul><ul><li>loweralpha-numeric </li></ul><ul><li>plaintext_len_min : 1 </li></ul><ul><li>plaintext_len_max : 7 </li></ul><ul><li>chain_len : 3800 </li></ul><ul><li>chain_num : 33554432 </li></ul><ul><li>key space : 36^1 + 36^2 + 36^3 + 36^4 + 36^5 + 36^6 + 36^7 = 80603140212 key space is the number of possible plaintexts for the charset, plaintext_len_min and plaintext_len_max selected. </li></ul><ul><li>table size: 3 GB </li></ul><ul><li>success rate : 0.999 (99.9%) </li></ul>
  53. 53. Commands <ul><li>table generation commands : rtgen md5 loweralpha-numeric 1 7 0 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 1 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 2 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 3 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 4 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 5 3800 33554432 0 </li></ul><ul><li>Lưu ý: nếu sử dụng thuật toán LM thì charset phải là alpha-numeric.LM không bao giờ sử dụng lowercase trong plaintext </li></ul>
  54. 54. Commands(cont) <ul><li>Mỗi dòng lệnh trên tốn khoảng 4h trên Core2 Duo E7300 processor để hoàn thành </li></ul><ul><li>Sau đó phát sinh ra file &quot;md5_loweralpha-numeric#1-7_0_3800x33554432_0.rt&quot; có kích thước là 512MB </li></ul><ul><li>Cuối cùng có 6 file : </li></ul><ul><li>md5_loweralpha-numeric#1-7_0_3800x33554432_0.rt     512MB md5_loweralpha-numeric#1-7_1_3800x33554432_0.rt     512MB md5_loweralpha-numeric#1-7_2_3800x33554432_0.rt     512MB md5_loweralpha-numeric#1-7_3_3800x33554432_0.rt     512MB md5_loweralpha-numeric#1-7_4_3800x33554432_0.rt     512MB md5_loweralpha-numeric#1-7_5_3800x33554432_0.rt     512MB </li></ul>
  55. 55. Step 2: Use rtsort program to sort rainbow tables <ul><li>Rtsort được sử dụng để sắp xếp “end point” của tất cả rainbow chain trong rainbow table để cho việc tìm kiếm bảng được dễ dàng </li></ul><ul><li>rtsort md5_loweralpha-numeric#1-7_0_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_1_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_2_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_3_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_4_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_5_3800x33554432_0.rt </li></ul><ul><li>Mỗi dòng lệnh mất khoảng 1-2phút để hoàn thành </li></ul>
  56. 56. Step 3: Use rcrack program to lookup rainbow tables <ul><li>Rcrack được sử dụng để tìm rainbow table. </li></ul><ul><li>Nó chỉ nhận những rainbow table đã được sắp xếp </li></ul><ul><li>Giả sử những bảng rainbow đã được sắp xếp được đặt trong thư mục c: t,để crack ta dùng lệnh: </li></ul><ul><li>rcrack c: t*.rt -h your_hash_comes_here </li></ul><ul><li>- The first parameter specifies the path to the rainbow tables to lookup </li></ul><ul><li>- The &quot;*&quot; and &quot;?&quot; character can be used to specify multiple files. </li></ul><ul><li>- Thông thường mất khoảng 2-10s để hoàn thành,nếu plaintext nằm trong charset được chọn và chiều dài plaintext.Ngược lại thì mất khá lâu để tìm trong tất cả các bảng </li></ul>
  57. 57. Step 3: Use rcrack program to lookup rainbow tables(cont) <ul><li>Crack multiple hashes,đặt tất cả hash trong file text,mỗi hash một dòng : </li></ul><ul><li>rcrack c: t*.rt -l hash_list_file </li></ul><ul><li>Nếu rainbow table được tạo sử dụng thuật toán LM,thì chương trình rcrack đặc biệt hỗ trợ nó với tùy chọn “-f” </li></ul><ul><li>rcrack c: t*.rt -f pwdump_file </li></ul>
  58. 58. Step 3: Use rcrack program to lookup rainbow tables(cont) <ul><li>A hash dump file in pwdump format is required as input to rcrack program. The file will looks like this: </li></ul><ul><li>Administrator:500:1c3a2b6d939a1021aad3b435b51404ee:e24106942bf38bcf57a6a4b29016eff6::: Guest:501:a296c9e4267e9ba9aad3b435b51404ee:9d978dda95e5185bbeda9b3ae00f84b4::: </li></ul><ul><li>The pwdump file is the output of pwdump2, pwdump3 or other utilities. It contains both the lm hash and the ntlm hash. </li></ul><ul><li>Thuật toán LM chuyển tất cả chữ thường trong plaintext thành chữ HOA,kết quả là plaintext qua LM hash không bao giờ chứa chữ thường,trong khi thực tế plaintext có thể chứa chữ thường.Chương trình rcrack sẽ thử hiệu chỉnh trường hợp đó với NTLM hashes chứa trong file SAM và xuất ra plaintext nguồn. </li></ul>
  59. 59. V.DEMO <ul><li>Crack password trong LAN(pwdump) </li></ul><ul><li>Crack trong physical </li></ul><ul><li>Crack pass trong Lan (sniffer) </li></ul>
  60. 60. Demo Crack password trong LAN <ul><li>Giả sử trên máy victim ta đã biết user “minh” password là “hacker” thuộc group administrators(thông qua việc sniffer bằng Cain,…) </li></ul><ul><li>Đầu tiên ta dùng pwdump3.exe để lấy thông tin hash trong file SAM của máy victim. </li></ul><ul><li>pwdump3.exe IPAddr [OutputFile] [UserName] </li></ul>
  61. 61. Demo Crack password trong LAN <ul><li>pwdump3.exe 10.0.0.2 C:password.txt minh </li></ul><ul><li>Sau đó nhập password của user minh </li></ul>
  62. 62. Demo Crack password trong LAN
  63. 63. Demo Crack password trong LAN
  64. 64. Demo Crack password trong LAN
  65. 65. Demo Crack password trong LAN
  66. 66. Demo Crack password trong LAN
  67. 67. Demo : Physical- lấy file SAM <ul><li>Tool : đĩa cd,usb hỗ trợ boot, Cain </li></ul><ul><li>Điều kiện : máy victim phải cho phép boot từ thiết bị ngoại vi </li></ul><ul><li>Trong môi trường boot copy file SAM trong thư mục %systemroot%/system32/config sang thiết bị lưu trữ khác như usb … </li></ul><ul><li>Dùng tool để crack pass file SAM của victim </li></ul>
  68. 68. Demo: Physical- lấy file SAM <ul><li>Trong cain : </li></ul><ul><li>Click chọn biểu tượng dấu + </li></ul><ul><li>Chọn import hashes from SAM databse </li></ul><ul><li>Click “…” của SAM file name chọn file SAM cần crack </li></ul><ul><li>Click “…” của boot key(HEX)-> load system boot key (hoặc chọn đường dẫn đến file syskey)để lấy chuỗi hex </li></ul><ul><li>Copy chuỗi hex dán vào ô boot key -> next </li></ul><ul><li>Tiến hành crack </li></ul>
  69. 69. <ul><li>Khởi động máy tính chọn chế độ boot từ cd </li></ul><ul><li>Chọn Start mini XP để chạy winXP live Cd </li></ul><ul><li>Truy cập vào thư mục windows/system32/config của ổ đĩa local </li></ul><ul><li>Copy 2 file SAM và syskey </li></ul>Demo: Physical- lấy file SAM
  70. 74. <ul><li>Boot từ cd </li></ul><ul><li>Chọn start boot Cd </li></ul><ul><li>Chọn password & resgistry tool </li></ul><ul><li>Chọn active password changer (hoặc bất kì mục nào cũng được đều có tác dụng tương tự) </li></ul><ul><li>Chọn 1 để lấy file sam trên ổ cứng local </li></ul><ul><li>Chọn user cần crack </li></ul><ul><li>Chọn clear this user pass </li></ul><ul><li>Nhấn y , khởi động lại máy </li></ul>Demo: Physical- Phá password
  71. 82. Demo : Sniffer password <ul><li>Topology : </li></ul><ul><li>1 máy server (10.10.10.253/24) , thư mục chia sẻ Data server, user dang là user để đăng nhập vào server </li></ul><ul><li>1 máy tính cùng mạng với server(10.10.10.11/24) sniffer password của user dang trong môi trường LAN </li></ul><ul><li>Chọn id của phân vùng chứa file Sam </li></ul>
  72. 100. Một số cách hạn chế password cracking. <ul><li>Làm thế nào để có một mật khẩu bảo mật. </li></ul><ul><li>Những khuyến cáo đặt password khác. </li></ul>
  73. 101. Làm thế nào để có một mật khẩu bảo mật. <ul><li>Áp đặt chính sách độ dài tối thiểu của mật khẩu là 8 và tốt nhất là 15. </li></ul><ul><li>Yêu cầu phải có những ký tự đặc biệt, số, chữ hoa, chữ thường trong một mật khẩu. </li></ul><ul><li>Không sử dụng bất kỳ từ khóa nào trong từ điển English hay những nước khác. </li></ul><ul><li>Không sử dụng Password giống tên Username, và phải thay đổi thường xuyên. </li></ul><ul><li>Chọn Password bạn dễ dàng sử dụng mà người khác khó đoán biết được. </li></ul>
  74. 102. Những khuyến cáo đặt password khác. <ul><li>Đừng bao giờ sử dụng ghép hai từ với nhau để được một Password ví như: vnevne. </li></ul><ul><li>Không đặt Password dễ đoán. </li></ul><ul><li>Không đặt password quá ngắn. </li></ul><ul><li>Không đặt Password mà từ thường xuyên gõ đúng như: asdf;lkj. </li></ul><ul><li>Hãy thay đổi mật khẩu thường xuyên ít nhất một tháng một lần – Hãy thay đổi ngay lập tức khi phát hiện ra mật khẩu của mình bị người khác sử dụng. </li></ul>
  75. 103. Những khuyến cáo đặt password khác (tt). <ul><li>Đừng bao giờ chứa Password trên máy tính của bạn. </li></ul><ul><li>Không nói cho người khác biết mật khẩu của mình. </li></ul><ul><li>Không gửi mail và tránh đặt trùng Password trên nhiều ứng dụng. </li></ul><ul><li>Không ghi Password của mình ra cho dễ nhớ. </li></ul><ul><li>Khi gõ Password hãy cẩn thận với các loại Keyloger và người xem trộm. </li></ul>

×