password cracking

Post on 21-Jun-2015

2.055 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related