1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo password cracking

103 850 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 103
Dung lượng 2,75 MB

Nội dung

Báo cáo password cracking

Trang 1

Nhóm : GVHD:

Nguyễn Hải Đăng

Nguyễn Hồ VươngTrương Quang Minh

Trang 2

Password Crack

 I Giới Thiệu SAM

 II Tổng Quát cơ chế Mã Hóa Password Trong Windows

 III Xử Lý Logon Trong Windows

 IV.Các kiểu Tấn Công

 V DEMO

Trang 3

 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

Trang 4

System key technology

 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

Trang 5

System key

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

 Password Startup

 Store startup key on floppy disk

 Store Startup key Locally

Trang 6

SAM Registry key

 Key SAM được lưu trữ trong

HKEY_LOCAL_MACHINE được quản lí bởi Registry Editor(regedt32.exe)

 Chỉ có System mới thay đổi chỉnh sửa được

Trang 7

SAM on Storage Subsystems

 SAM và Syskey được lưu trong 2 thư mục

Trang 8

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

Trang 9

II.CƠ CHẾ MÃ HÓA PASSWORD CỦA

WINDOWS

Trang 10

MÃ HÓA PASSWORD TRONG

WINDOWS

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

Trang 11

 Còn được gọi là LM Hash.

 Được giới thiệu đầu tiên bởi các hệ điều hành cũ

như Windows 95,98…

 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

LAN Manager-compatible password:

Trang 12

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:

Password uppercase

Password được null-padded 14bytes

Được chi đôi thành 7bytes mỗi phần.

Mỗi 7bytes 8bytes DES key

Mỗi key dùng để mã hóa constand “KGS!@#$%”ciphertext

2 ciphertext được nối lại với nhauLM hash

LAN Manager-compatible password:

Trang 14

 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

LAN Manager-compatible password:

Trang 15

 Đượ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

Windows Password(NT HASH)

Trang 16

PASSWORD/U SER INFORM

NT window

s Hash

Windows Password(NT HASH)

Trang 17

III.XỬ LÝ LOGON TRONG WINDOWS

Trang 18

XỬ LÝ LOGON TRONG WINDOWS

LOCAL MACHINE LOGON DOMAIN LOGON

Trang 19

 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

Trang 20

 Gói xác thực MSV được chia thành hai phần: top 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.

XỬ LÝ LOGON TRONG WINDOWS

Trang 21

LOCAL MACHINE LOGON

process

TOP HALF BOTTOM HALF

M S V 1 _ 0

P a c k e t

1.Encrypt/hash

2.Send

SAM DATAbase

3.Quer y

4.Send stored hash password

User/password

5.compare Reply result

Trang 22

DOMAIN LOGON

Trang 23

Some LAN Authentication protocols

 LM Authentication

 NTLM Authentication

 +NTLMv1

 +NTLMv2

Trang 24

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

Nó là một challenge-response style

authentication protocol

Trang 25

 Giao thức này sử sử dụng một challenge-response trao đổi messages trình tự giữa client và server:

Trang 26

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_MESSAGE

 The CHALLENGE_MESSAGE định nghĩa một NTLM

challenge message được gửi từ server đến client, chứa challenge random

AUTHENTICATE_MESSAGE

Chứa respond được tính bởi client (DES(Unicode pwd,

nonce) được gửi đến server.

NT LAN Manager Authentication

Trang 28

 C = 8-byte server challenge

 random K1 | K2 | K3 = NT-Hash | 5-bytes-0

 R1 = DES(K1,C) | DES(K2,C) | DES(K3,C) K1 | K2 | K3 = LM-Hash | 5-bytes-0

 R2 = DES(K1,C) | DES(K2,C) | DES(K3,C)

 response = R1 | R2

NTLMv1

Trang 30

 CS = 8-byte server challenge, random

 CC = 8-byte client challenge, random

 CC* = (X, time, CC, domain name)

 v2-Hash = HMAC-MD5(NT-Hash, user name, domain name)

 LMv2 = HMAC-MD5(v2-Hash, CS, CC)

 NTv2 = HMAC-MD5(v2-Hash, CS, CC*)

 response = LMv2 | CC | NTv2 | CC*

Trang 31

NTLMv2

Trang 32

DOMAIN LOGON

Trang 33

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

 Server trả về “nonce” (16bit challenge), “nonce” và

hashed password được merge với nhau và gửi lại server.

 the Netlogon service of the authenticating machine

hướng the request đến bottom half của gói MSV

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

Trang 34

DOMAIN LOGON

NetLogon service

Bottom HALF

Hashed password

2.Send request 3.nonce

4.Merged password

5.Send m-p

query reply

6.r es ult 7.result

Trang 35

IV.Các kiểu tấn công

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

Trang 38

Cấu trúc một WordList

Trang 39

Hybrid Attacks

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

 Ví dụ:

Một user có password là password

Những biến thể: 1password, password1, p@ssword,

pa44w0rd, …

Trang 40

Brute force Attacks

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

Brute force thử kiểm định mỗi bộ kết hợp của letters, numbers, and

characters

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

 Tốc độ thành công phụ thuộc vào tốc độ công suất CPU

Trang 41

Tool: Cain

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

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

Trang 42

Password Cracking in Cain

Trang 43

Rainbow Attack

 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

 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

Trang 44

Rainbow Attack

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

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

Trang 48

Xây dựng RainbowCrack

Phầ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.

Trang 49

Step 1: Use rtgen program to generate rainbow tables

rtgen hash_algorithm charset plaintext_len_min

plaintext_len_max table_index chain_len chain_num

part_index

hash_algorithm: LM, NTLM, MD5,…

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

Trang 50

Step 1: Use rtgen program

 Table _index: tăng dần từ 0 trở lên,có liên quan đến

"reduce function" được sử dụng trong rainbow table

 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

Trang 51

Step 1: Use rtgen program

to generate rainbow

tables(cont)

 chain_num: số rainbow chain trong rainbow table

 part_index: tham số này xác định “start point” của

mội dòng rainbow chain được phát sinh

Trang 52

Select Good Parameters

key space is the number of possible plaintexts for the charset, plaintext_len_min and plaintext_len_max selected.

 table size: 3 GB

 success rate : 0.999 (99.9%)

Trang 53

 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

 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

Trang 55

Step 2: Use rtsort program

to sort rainbow tables

 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

 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

 Mỗi dòng lệnh mất khoảng 1-2phút để hoàn thành

Trang 56

Step 3: Use rcrack

program to lookup rainbow tables

 Rcrack được sử dụng để tìm rainbow table

 Nó chỉ nhận những rainbow table đã được sắp xếp

 Giả sử những bảng rainbow đã được sắp xếp được đặt trong

thư mục c:\rt,để crack ta dùng lệnh:

rcrack c:\rt\*.rt -h your_hash_comes_here

- The first parameter specifies the path to the rainbow tables to

lookup

- The "*" and "?" character can be used to specify multiple files.

- 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

Trang 57

Step 3: Use rcrack

program to lookup rainbow tables(cont)

 Crack multiple hashes,đặt tất cả hash trong file text,mỗi

hash một dòng :

rcrack c:\rt\*.rt -l hash_list_file

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

rcrack c:\rt\*.rt -f pwdump_file

Trang 58

Step 3: Use rcrack

program to lookup rainbow tables(cont)

 A hash dump file in pwdump format is required as input to rcrack program The file will looks like this:

 Administrator:500:1c3a2b6d939a1021aad3b435b51404ee:e24106 942bf38bcf57a6a4b29016eff6:::

Guest:501:a296c9e4267e9ba9aad3b435b51404ee:9d978dda95e51 85bbeda9b3ae00f84b4:::

 The pwdump file is the output of pwdump2, pwdump3 or other

utilities It contains both the lm hash and the ntlm hash.

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

Trang 59

 Crack password trong LAN(pwdump)

 Crack trong physical

 Crack pass trong Lan (sniffer)

Trang 60

Demo Crack password trong

LAN

 Giả sử trên máy victim ta đã biết user “minh” password là

“hacker” thuộc group administrators(thông qua việc

Trang 61

Demo Crack password trong LAN

pwdump3.exe 10.0.0.2 C:\password.txt minh

Sau đó nhập password của user minh

Trang 62

Demo Crack password trong LAN

Trang 63

Demo Crack password trong LAN

Trang 64

Demo Crack password trong LAN

Trang 65

Demo Crack password trong LAN

Trang 66

Demo Crack password trong LAN

Trang 67

Demo : Physical- lấy file

SAM

 Tool : đĩa cd,usb hỗ trợ boot, Cain

 Điều kiện : máy victim phải cho phép boot từ thiết bị ngoại vi

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

 Dùng tool để crack pass file SAM của victim

Trang 68

Demo: Physical- lấy file SAM

 Trong cain :

1.Click chọn biểu tượng dấu +

2.Chọn import hashes from SAM databse

3.Click “…” của SAM file name chọn file SAM cần

crack

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

5.Copy chuỗi hex dán vào ô boot key -> next

6.Tiến hành crack

Trang 69

 Khởi động máy tính chọn chế độ boot từ cd

 Chọn Start mini XP để chạy winXP live Cd

 Truy cập vào thư mục windows/system32/config của

ổ đĩa local

 Copy 2 file SAM và syskey

Demo: Physical- lấy file SAM

Trang 74

 Boot từ cd

 Chọn start boot Cd

 Chọn password & resgistry tool

 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ự)

 Chọn 1 để lấy file sam trên ổ cứng local

 Chọn user cần crack

 Chọn clear this user pass

 Nhấn y , khởi động lại máy

Demo: Physical- Phá

password

Trang 82

Demo : Sniffer password

Topology :

 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

 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

 Chọn id của phân vùng chứa file Sam

Trang 100

Một số cách hạn chế password

cracking.

Trang 101

Làm thế nào để có một mật khẩu bảo

 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

 Không sử dụng Password giống tên Username, và phải thay đổi thường xuyên

 Chọn Password bạn dễ dàng sử dụng mà người

khác khó đoán biết được

Trang 102

Những khuyến cáo đặt password

khác.

 Đừng bao giờ sử dụng ghép hai từ với nhau để

được một Password ví như: vnevne

 Không đặt Password dễ đoán

 Không đặt password quá ngắn

 Không đặt Password mà từ thường xuyên gõ đúng như: asdf;lkj

 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

Ngày đăng: 09/10/2014, 22:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w