56
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA 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

Password cracking

Embed Size (px)

Citation preview

Page 1: Password cracking

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

Page 2: Password cracking

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

Page 3: Password cracking

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.

Page 4: Password cracking

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

Page 5: Password cracking

04/13/2023 Network Security 5

SYSTEM KEY

Để kích hoạt syskey: Run -> syskey -> Update

Page 6: Password cracking

04/13/2023 Network Security 6

Page 7: Password cracking

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)

Page 8: Password cracking

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 .

Page 9: Password cracking

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

Page 10: Password cracking

04/13/2023 Network Security 10

Part 2

CƠ CHẾ MÃ HÓA PASSWORDCỦA WINDOW

Page 11: Password cracking

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.

Page 12: Password cracking

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.

Page 13: Password cracking

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:

Page 14: Password cracking

04/13/2023 Network Security 14

LAN Manager-compatible password (tt)

Page 15: Password cracking

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

Page 16: Password cracking

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

Page 17: Password cracking

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

Page 18: Password cracking

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

Page 19: Password cracking

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

Page 20: Password cracking

04/13/2023Network Security 20

Page 21: Password cracking

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

Page 22: Password cracking

04/13/2023 Network Security 22

PASSWORD/USER INFORM

NT windows Hash

Page 23: Password cracking

04/13/2023 Network Security 23

Part 3

XỬ LÝ LOGON TRONG WINDOW

Page 24: Password cracking

04/13/2023 Network Security 24

LOCAL MACHINE LOGON DOMAIN LOGON

Page 25: Password cracking

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.

Page 26: Password cracking

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.

Page 27: Password cracking

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

Page 28: Password cracking

04/13/2023 Network Security 28

Some LAN Authentication protocols

LM Authentication

NTLM Authentication+ NTLMv1+ NTLMv2

Page 29: Password cracking

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

Page 30: Password cracking

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.

Page 31: Password cracking

04/13/2023 Network Security 31

NT LAN Manager Authentication

Page 32: Password cracking

04/13/2023 Network Security 32

DOMAIN LOGON

Page 33: Password cracking

04/13/2023 Network Security 33

DOMAIN LOGON

Page 34: Password cracking

04/13/2023 Network Security 34

Part 3

CÁC KIỂU TẤN CÔNG

Page 35: Password cracking

04/13/2023 35Network Security

Dictionary Attacks

HybridAttacks

Brute FroceAttacks

Cryptanalysis Attacks

Attacks on passwords

Page 36: Password cracking

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

Page 37: Password cracking

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.

Page 38: Password cracking

04/13/2023 Network Security 38

CẤU TRÚC MỘT WORDLIST

Page 39: Password cracking

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, …

Page 40: Password cracking

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

Page 41: Password cracking

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

Page 42: Password cracking

04/13/2023 Network Security 42

CRYPTANALYSIS ATTACK

Page 43: Password cracking

Tool: Cain

Page 44: Password cracking

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 >>

Page 45: Password cracking

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.

Page 46: Password cracking

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ử.

Page 47: Password cracking

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.

Page 48: Password cracking

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.

Page 49: Password cracking

04/13/2023 Network Security 49

Rainbow tables

Page 50: Password cracking

04/13/2023 Network Security 50

Rainbow tables

hello

dc23de

Jumbo

34d23b

a….. roc

k

1. Precomputed Hash chains

2. Hash and reduce

Page 51: Password cracking

04/13/2023 Network Security 51

Example

Page 52: Password cracking

04/13/2023 Network Security 52

Algorithm followed

Page 53: Password cracking

04/13/2023 Network Security 53

Rainbow tables

Page 54: Password cracking

04/13/2023 Network Security 54

Rainbow tables

Page 55: Password cracking

Part 5

04/13/2023 55Network Security

DEMO

1. Dùng Hiren Boot CD2. Pwdump7 / pgdump3. Tool Crack File

Page 56: Password cracking

04/13/2023 56Network Security