Upload
huuhauit
View
2.051
Download
7
Embed Size (px)
Citation preview
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCMKHOA CÔNG NGHỆ THÔNG TIN
GVHD: TS. Phạm Văn Tính SVTH: Phan Trọng Khiêm Nguyễn Hữu Hậu Trương Phúc Hậu Trần Văn An
04/13/2023 Network Security 2
Content
Giới thiệu về SAM
Cơ chế Mã hóa trong Window
Xử lý Logon trong Window
Các kiểu tấn công
Demo
04/13/2023 Network Security 3
SAM SAM (Security Account Manager) lưu trữ username
và password của user. Password của user lưu trong SAM thì đã được mã
hóa Password của user acccount là sự kết hợp của 2 loại
password: LAN Manager và Window NT password Password lưu trong SAM có qua 2 lần mã hóa
Dùng OWF Mã hóa theo user ID User có thể thiếu 1 trong 2 loại mật khẩu.
04/13/2023 Network Security 4
SYSKEY
System key (syskey) là 1 kỹ thuật dùng để bảo vệ file SAM của Microsoft
Xuất hiện đầu tiên ở Service Pack 2,nhưng được phát triển ở Service Pack 3
Thuật toán mã hóa của syskey có chiều dài key 128 bit
Được thực hiện bởi syskey.exe
04/13/2023 Network Security 5
SYSTEM KEY
Để kích hoạt syskey: Run -> syskey -> Update
04/13/2023 Network Security 6
04/13/2023 Network Security 7
SAM Registry key
Key SAM được lưu trữ trong HKEY_LOCAL_MACHINE được quản lí bởi Registry Editor (regedt32.exe)
04/13/2023 Network Security 8
SAM on Storage Subsystems
SAM và Syskey được lưu trong 2 thư mục %systemroot%/repair, %systemroot%/system32 /config.
Window explorer chỉ truy nhập vào được 2 thư mục với quyền hạn System
Trong thư mục config, user không thể tương tác đến file SAM.
Thư mục repair, user thường có thể truy cập vào file SAM .
04/13/2023 Network Security 9
SAM on Network
Nếu computer là 1 phần của domain thì SAM được lưu trữ trong active directory
SAM lưu trữ thông tin, quyền hạn của user và group trong domain
04/13/2023 Network Security 10
Part 2
CƠ CHẾ MÃ HÓA PASSWORDCỦA WINDOW
04/13/2023 Network Security 11
MÃ HÓA PASSWORD TRONG WINDOW
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.
Mỗi user account được kết hợp bởi 2 password:+ LAN Manager Compatible Password.+ WinDows Password.
04/13/2023 Network Security 12
LAN Manager-compatible password
Còn được gọi là LM Hash.Là một trong những thuật toán hash mật khẩu đầu tiên
được sử dụng bởi các hệ điều hành Windows, chỉ có một phiên bản duy nhất được hỗ trợ cho tới khi xuất hiện NTLMv2 (NT LAN Manager version 2) sử dụng trong Windows 2000, XP, Vista và Windows 7.
Các hệ điều hành mới này vẫn hỗ trợ sử dụng các LM Hash để có khả năng tương thích. Mặc dù vậy, nó đã bị vô hiệu hóa mặc định trong Windows Vista và Windows 7.
04/13/2023 Network Security 13
LAN Manager-compatible password (tt)
Password này dựa trên OEM character set Chiều dài tối đa là 14 ký tự Các bước để tính LM hash:
04/13/2023 Network Security 14
LAN Manager-compatible password (tt)
04/13/2023 Network Security 15
pAsSWOrd PASSWORD
P A S S W O R D 0 0 0 0 0 0
P A S S W O R D 0 0 0 0 0 0
1 1 0 1 0 0 0
0
0 1 1
1 1 0 1 0 0 0 0 1 1
CONVERT 7 BYTES INTO BITS (56 BITS)
ADD A 0 BIT AFTER EVERY 7 BITS (64 BITS)
DES KEY #1
1.
2.
3.
4.
5.
DES KEY #2
04/13/2023 Network Security 16
DES KEY #1
DES KEY #2
ENCYRPT(KGS!@#$%)
ENCYRPT(KGS!@#$%)
FIRST 8 BYTES OF LM HASH SECOND 8 BYTES OF LM HASH
04/13/2023 Network Security 17
OverviewPASSWORD
P A S S W O R D 0 0 0 0 0 0
P A S S W O R D 0 0 0 0 0 0
DES KEY #1
DES KEY #2
ENCYRPT(KGS!@#$%)
FIRST 8 BYTES OF LM HASH SECOND 8 BYTES OF LM HASH
04/13/2023 Network Security 18
KHUYẾT ĐIỂM
Chiều dài password <15 ký tự Không phân biệt ký tự hoa và thường. Password được chia làm hai phần khiến dễ bị
tấn công hơn vì Spacekey^14>>spacekey^7
LM HASH là một weak password
04/13/2023 Network Security 19
VÍ DỤ
Mật khẩu PassWord123 trong thực tế được chuyển như sau:
PASSWORD123PASSWORD123000PASSWOR and D123000PASSWOR1 and D1230001E52CAC67419A9A22 and 664345140A852F61E52CAC67419A9A22664345140A852F61
04/13/2023Network Security 20
04/13/2023 Network Security 21
Window Password (NT Hash)
Đượ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.
Dựa trên unicode char set. Chiều dài nó có thể được nâng lên 128 ký tự. Password này được tính bằng cách sử dụng
thuật toán mã hóa RSA MD-4
04/13/2023 Network Security 22
PASSWORD/USER INFORM
NT windows Hash
04/13/2023 Network Security 23
Part 3
XỬ LÝ LOGON TRONG WINDOW
04/13/2023 Network Security 24
LOCAL MACHINE LOGON DOMAIN LOGON
04/13/2023 Network Security 25
XỬ LÝ LOGON TRONG WINDOW
Windows sử dụng LsaLogonUser API để thực hiện quá trình xác thực.
LsaLogonUser API gọi gói phần mềm xác thực MSV1_0.
MSV1_0(MSV)-gói này được giới thiệu bởi Window NT.
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.
04/13/2023 Network Security 26
XỬ LÝ LOGON TRONG WINDOW
Gói xác thực MSV được chia thành hai phần: top half và bottom half. + 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. + 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.
Local Machine Logon Process
04/13/2023 27Network Security
SAM Database
TOP HALF
BOTTOM HALF
MSV1_0
Packet
1.Encrypt/hash2.Send
3.Query
4.Send stored hash password
User/password
5.compare
Reply result
04/13/2023 Network Security 28
Some LAN Authentication protocols
LM Authentication
NTLM Authentication+ NTLMv1+ NTLMv2
04/13/2023 Network Security 29
NT LAN Manager Authentication
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.
NTLM là tên một tập các security protocol của Windows
NTLM là một challenge-response style authentication protocol
04/13/2023 Network Security 30
NT LAN Manager Authentication
NEGOTIATE_MESSAGE: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.CHALLENGE_MESSAGEThe CHALLENGE_MESSAGE định nghĩa một NTLM challenge message được gửi từ server đến client, chứa challenge randomAUTHENTICATE_MESSAGEChứa respond được tính bởi client (DES(Unicode pwd, nonce) được gửi đến server.
04/13/2023 Network Security 31
NT LAN Manager Authentication
04/13/2023 Network Security 32
DOMAIN LOGON
04/13/2023 Network Security 33
DOMAIN LOGON
04/13/2023 Network Security 34
Part 3
CÁC KIỂU TẤN CÔNG
04/13/2023 35Network Security
Dictionary Attacks
HybridAttacks
Brute FroceAttacks
Cryptanalysis Attacks
Attacks on passwords
04/13/2023 Network Security 36
What it could
contain :
Well known
passwords
Natural languages (single words)
Names of
persons, locations
, car makers, teams
Well known
expressions
(movie / book titles)
Dictionary attack
04/13/2023 Network Security 37
Dictionary Attacks 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.
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
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.
04/13/2023 Network Security 38
CẤU TRÚC MỘT WORDLIST
04/13/2023 Network Security 39
Hybrid AttacksHybrid 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.Ví dụ:
Một user có password là passwordNhững biến thể: 1password, password1, p@ssword, pa44w0rd, …
04/13/2023 Network Security 40
Brute force AttacksBrute force attack sử dụng những số và ký tự
ngẫu nhiên để bẻ khóa password của một userBrute force thử kiểm định mỗi bộ kết hợp của
letters, numbers, and charactersBrute 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
Tốc độ thành công phụ thuộc vào tốc độ công suất CPU
04/13/2023 Network Security 41
Brute force AttacksBrute force attack sử dụng những số và ký tự
ngẫu nhiên để bẻ khóa password của một userBrute force thử kiểm định mỗi bộ kết hợp của
letters, numbers, and charactersBrute 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
Tốc độ thành công phụ thuộc vào tốc độ công suất CPU
04/13/2023 Network Security 42
CRYPTANALYSIS ATTACK
Tool: Cain
04/13/2023 Network Security 44
Rainbow AttackTrướ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.
Nhiều password được xem là an toàn vì thời gian để bẻ khóa chúng là khá lâu.
Nhân tố thời gian là cái làm cho password thấy được bảo mật.
Một phương pháp tương đối mới để bẻ khóa password được nảy sinh trong tư tưởng
<< Rainbow Attack >>
04/13/2023 Network Security 45
Rainbow AttackRainbowCrack technique is the implementation of Philippe
Oechslin's faster time-memory trade-off technique.Nó làm việc dựa trên việc tính trước tất cả password có thể
có.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
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.
Ophcrack là công cụ bẻ khóa password áp dụng kỹ thuật rainbow table.
04/13/2023 Network Security 46
Brute force
Cách crack hash không phức tạp lắm là brute force. Với Brute force ,tất cả plaintext đề cử và những
hash tương ứng được tính 1-1(1plaintext-1hash) So sánh giá trị hash được tính với hash đích Nếu giống nhau thì plaintext được tìm ra Ngược lại,quá trình tiếp tục cho tới khi tìm hết các
plaintext đề cử.
04/13/2023 Network Security 47
Time-memory TradeoffVới time-memory trade-off, giá trị hash được tính trước và
được lưu trong “rainbow table”.Sau đó,giá trị hash sẽ được tìm trong “rainbow table” bất cứ
khi nào cần 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 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.
04/13/2023 Network Security 48
Xây dựng RainbowCrackPhần mềm RainbowCrack gồm 3 công cụ chính: rtgen, rtsort, rcrack
Step 1: Use rtgen program to generate rainbow tables Step 2: Use rtsort program to sort rainbow tables
generated by rtgen. Step 3: Use rcrack program to lookup rainbow tables
sorted by rtsort.
04/13/2023 Network Security 49
Rainbow tables
04/13/2023 Network Security 50
Rainbow tables
hello
dc23de
Jumbo
34d23b
a….. roc
k
1. Precomputed Hash chains
2. Hash and reduce
04/13/2023 Network Security 51
Example
04/13/2023 Network Security 52
Algorithm followed
04/13/2023 Network Security 53
Rainbow tables
04/13/2023 Network Security 54
Rainbow tables
Part 5
04/13/2023 55Network Security
DEMO
1. Dùng Hiren Boot CD2. Pwdump7 / pgdump3. Tool Crack File
04/13/2023 56Network Security