Thành viên CMGroupvn

CMGroupvn - Toward Professionalist in IT
Nguy?n Anh TúNguyễn Anh Tú
Làm việc tại FIS SRV HN.
tuna@cmgroupvn.com
Nguyễn Đức HòaNguyễn Đức Hòa
Làm việc tại FIS SRV HN.
hoand@cmgroupvn.com
Tôn Vi?t HungTôn Việt Hưng
Năm 5 khoa CNTT - ÐH BKHN.
hungtv@cmgroupvn.com
Bùi Châu PhiBùi Châu Phi
Làm việc tại FIS SRV HN
phibc@cmgroupvn.com
Nguy?n Vi?t HùngNguyễn Việt Hùng
Năm 5 khoa ÐTVT - HV KTQS.
hungnv@cmgroupvn.com
Phạm Việt DũngPhạm Việt Dũng
Năm 4 khoa CNTT - ÐH CNHN.
dungpv@cmgroupvn.com
Nguyễn Tiến AnhNguyễn Tiến Anh
Năm 5 khoa CNTT - ÐH BKHN.
anhnt@cmgroupvn.com
Nguyễn Minh TuệNguyễn Minh Tuệ
Năm 5 khoa CNTT - ÐH Thủy Lợi.
tuenm@cmgroupvn.com
Lâm Viết ThảoLâm Viết Thảo
Làm việc tại FIS SRV HN.
Hoàng Tu?n Vi?tHoàng Tuấn Việt
Năm 3 - ÐH Công nghệ
vietht@cmgroupvn.com
Tôn Huy NamTôn Huy Nam
Năm 1 - HV KTQS
namth@cmgroupvn.com

Thống kê truy cập

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterToday10
mod_vvisit_counterYesterday103
mod_vvisit_counterThis week169
mod_vvisit_counterLast week721
mod_vvisit_counterThis month557
mod_vvisit_counterLast month2892
mod_vvisit_counterAll days25637

We have: 1 guests, 1 bots online
Your IP: 38.107.191.92
 , 
Today: Sep 07, 2010
Module 7 - System Hacking PDF Print E-mail
Written by Nguyễn Minh Tuệ   
Wednesday, 19 May 2010 11:12

System Hacking part I : Cracking Passwords
Password Types
- Chỉ chứa ký tự
- Chỉ chứa số
- Chỉ chứa ký tự đặc biệt
- Chứa ký tự và số
- Chỉ chứa ký tự và ký tự đặc biệt
- Chỉ chứa ký tự đặc biệt và số
- Chứa ký tự đặc biệt, ký tự và số
Phần này chắc các bạn cũng đã rõ, vì ai cũng từng đặt password riêng cho mình và có chút kiến thức về bảo mật password rồi
Types of Password Attack
Có 4 loại password attacks
1. Passive online attacks : Nghe trộm password trao đổi trên mạng. Gồm các loại sniffing , man-in-the-middle attack và replay attack
2. Active online attacks : Đoán password Admin. Gồm automated password guessing
3. Offline attacks : Dictionary, Hybrid, Brute-Force attacks
4. Non-electronic attacks : Shoulder surfing, Keyboard Sniffing, Social Engineering
1.1 Passive Online Attack : Wire Sniffing []

- Truy cập và lưu lại lưu lượng mạng
- Đợi đến khi tiến trình xác thực xảy ra
- Tấn công Brute Force
- Cần xem xét :
o Tương đối khó để thực hiện
o tính toán phức tạp
o Có sẵn rat nhiều Tool
1.2 Passive Online Attack : Man-in-the-Middle and Replay Attacks []
- Bằng cách nào đó (somehow) cướp quyền truy cập vào đường truyền
- Đợi cho đến khi có tiến trình authentication
- Proxy authentication-traffic
- Không sử dụng brute force
- Cần xem xét:
o Tương đối khó để thực hiện (perpetrate)
o Phải có được sự tin tưởng của 1 hoặc cả hai bên
o Một vài công cụ được phổ biến rộng rãi : Network Associates Sniffer , Windump, TcpDump, Ethereal, Ettercap, Dsniff….
o Có thể bị loại bỏ
Trong slide này chú ý phân biệt Man-in-the-middle Attack và Replay Attack các bạn nhé. Và tránh nhầm lẫn giữa Rely Attack vs Replay Attack.
Dưới đây là hai khái niệm để các bạn phân biệt được MITM và Replay Attack
Replay Attack : An active attacker where you try to capture parts of a message then resend it at a later date, often with slight alterations. For example, on older Windows LAN Manager protocols, a hash of the password is sent. Therefore, anybody could right their own SMB protocol stack and replay the hash in order to break into the system.
A replay attack is a type of sniffer attack where the traffic is captured then retransmitted back at a computer.
Man-in-the-middle Attack : is a form of active eavesdropping in which the attacker makes independent connections with the victims and relays messages between them, making them believe that they are talking directly to each other over a private connection, when in fact the entire conversation is controlled by the attacker. The attacker must be able to intercept all messages going between the two victims and inject new ones, which is straightforward in many circumstances (for example, an attacker within reception range of an unencrypted Wi-Fi wireless access point, can insert himself as a man-in-the-middle).
2. Active Online Attack : Password Guessing []
- Thử các password khác nhau cho đến khi có 1 pass khớp (cách này cùi bắp quá, chắc chỉ dung cho những ai ưa thích default )
- Chỉ thành công được với :
- Password tồi (ví dụ: quá ngắn, không bao gồm cả ký tự , số, ký tự đặc biệt)
- Những điểm chứng thực mở (open authentication points)
// Open authentication points : ví dụ AP , client không cần cung cấp credentials của client
- Cần xem xét :
- Mất nhiều thời gian
- Yêu cầu lượng lớn băng thông mạng
- Dễ dàng bị phát hiện
- Vấn đề trọng tâm : bad passwords
3. Offline Attacks []: it can be done without connection to the protected resource
- Offline attacks rat tiêu tốn thời gian
- LM Hash có nhiều lỗ hổng hơn do không gian khóa nhỏ hơn và chiều dài ngắn hơn (Cái này giới thiệu qua , trong chương này mình sẽ nói rõ thêm ở những phần sau để biết được sự yếu kém của LM Hash)
- Web services are available
- Những kỹ thuật crack password distributed luôn sẵn có
- Giảm thiểu tấn công offline attacks :
- Sử dụng good password
- Xóa LM Hashes ( How to Disable LM hash)
- Attacker có được CSDL password
- Password phải được mã hóa để đảm bảo an toàn
- Cần xem xét :
- Luật Moore : Số lượng transistor trên mỗi đơn vị inch vuông sẽ tăng lên gấp đôi sau mỗi năm (Khả năng của nhiều thiết bị kỹ thuật số điện tử có liên quan chặt chẽ của pháp luật Moore: tốc độ xử lý, dung lượng bộ nhớ, cảm biến) => …… kết cục thế nào chắc các bạn cũng rõ
Nói qua chút về sự yếu kém của LM Hash : it is based on DES , the LM hash is not a true one-way function as the password can easily be determined from the hash because of several weaknesses in its implementation. First, the password characters are restricted to the ANSI character set. Second, passwords longer than 7 characters are divided into two pieces and each piece is hashed separately. Third, all lower case letters in the password are changed to upper case before the password is hashed. While there are different passwords made of up to 14 printable ASCII characters, there would be only different 7 character password pieces using the same character set. key space for each half to => a brute force attack on each half separately, modern desktop machines can crack alphanumeric LM hashes in a few hours.
3.1 Dictionary Attack []
Cố gắng thử những password khác từ 1 list ( Có rat nhiều tool hỗ trợ việc này , mình hay dùng Cain, vì nó integrate luôn trong đó đỡ phải cài thêm )
Chỉ thành công với poor password (same bad password)
Cần xem xét :
- rat nhanh
- Vấn đề trọng tâm : bad password
3.2 Hybrid Attack []
Bắt đầu với một từ điển
Thêm vào các entropy:
- Thêm 1 ký tự
- Thêm 1 số
Cần xem xét
- Tương đối nhanh
- Succeeds when entropy is poorly used (Thành công khi ít entropy được sử dụng)
3.3 Offline Attack : Brute-force Attack []
- Thử tất cả password khả thi :
- Thường thực hiện với sự phức tạp tăng dần
- LM “hash” bị tấn công đầu tiên
- Cần xem xét :
- Rất chậm ( lấy ví dụ thời gian)
- Tất cả password cuối cùng sẽ được tìm thấy
- Attack NT hash khó hơn LM hash (vì sao khó hơn đọc phần sau các bạn sẽ rõ)
3.4 Offline Attack : Pre-Computed Hashes []
Tạo ra tất cả hashes có thể
So sánh với CSDL
Lưu trữ hashes yêu cầu bộ lưu trữ lớn
- LM “hashes” : 310 TB
- NT hashes < 15 char cần 5,652,897,009 exabytes
Giải pháp : Sử dụng khoảng thời gian tradeoff
Khái niệm Time-space tradeoff đây :
Precomputed hashes are stored in memory in "rainbow tables", making a brute force attack much faster.
In short, the RainbowCrack tool is a hash cracker. A traditional brute force cracker try all possible plaintexts one by one in cracking time. It is time consuming to break complex password in this way. The idea of time-memory trade-off is to do all cracking time computation in advance and store the result in files so called "rainbow table". It does take a long time to precompute the tables. But once the one time precomputation is finished, a time-memory trade-off cracker can be hundreds of times faster than a brute force cracker, with the help of precomputed tables.
3.5 Syllable Attack / Rule-based Attack / Hybrid Attack
3.5.1 Syllable Attack []

- Là sự kết hợp của Brute Force attack và Dictionary attack
- Kỹ thuật này được sử dụng khi password là một từ không tồn tại (non-existing word) và attacker thử một vài kỹ thuật để crack nó
3.5.2 Rule-based Attack []
Có thể được sử dụng khi cracker lấy thông tin về password của người cracker muốn crack
Ví dụ : Nếu cracker biết password chứa nhiều từ và hai hoặc ba chữ số sau đó cracker thẻ một vài chương trình để tạo password phù hợp
3.5.3 Hybrid Attack:
Được xây dựng dựa trên phương thức dictionary attack
Số và ký tự được them vào từ điển
A dictionary is used and entropy is added in a simple way, such as appending a symbol or number.
Distributed Network Attack
- DNA là một kỹ thuật mới để khôi phục lại những file có password bảo vệ
- Sử dụng thiết bị trên mạng để giải mã password
- DNS Server được cài đặt ở vị trí trung tâm , nơi mà những máy chạy DNA client có thể truy cập thông qua mạng
- Đặc điểm DNA :
o Thêm user vào dictionaries
o Tối ưu password attack cho những ngôn ngữ được chỉ định
o Tùy biến từ điển người dung (customize user)
o Stealh client installation functionally (client lén lút cài đặt chức năng ) ?
o Tự động cập nhật client trong khi đang cập nhật DNA Server
o Điều khiển client thực hiện những việc nhất định
- DNA Manager điều phối attack và phân bổ những phần nhỏ của key search tới những máy trong cùng mạng
- DNA Client sẽ chạy background chỉ tiêu tốn thời gian bộ vi xử lý không được sử dụng (consuming only unused processor time)
- Chương trình kết hợp khả năng xử lý của tất cả client kết nối vào mạng và sử dụng nó để thực hiện key search (tìm kiếm khóa) trên Office 97 và 2K để giải mã chúng
Rainbow Attack (Rule-based attack)
Trong rule-based attack, bảng password hash được tạo ra trước đó (chỉ 1 lần duy nhất) và trong quá trình khôi phục tiến trình, cracker chỉ cần tra cứu hash trong những bảng tính trước (pre-computed)
Rainbow table là một bảng tra cứu đặc biệt được sử dụng trong khôi phục password plaintext từ một ciphertext
Cách thức tấn công này giảm thời gian auditing cho những password phức tạp

4. Non-Technical Attacks []
Shoulder surfing
- Xem victim gõ password của họ
- Nhẩm lại password trong khi gõ
Keyboard Sniffing
- Hardware and software is cheap and hard to detect . both can be controlled remotely
Về mặt Hardware : sử dụng thiết bị IOGear USB hub để log lại keystrokes (thao tác bấm phím) . Nhược điểm : không áp dụng được cho những người có ý thức bảo mật và thường xuyên kiểm tra máy của họ, phải trực tiếp tiếp xúc với máy target , với laptop thì ít ng sử dụng bàn phím ngoài
Một vài hình ảnh cho anh em dễ hình dung
Trước khi chưa sử dụng keylog

Hash mật khẩu LAN Manager (LM)

Hash LAN Manager 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 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 hash LM để 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.

Hash mật khẩu loại này được tính bằng một quá trình 6 bước sau:

Mật khẩu người dùng được chuyển đổi thành tất cả các ký tự in hoa.
Mật khẩu được bổ sung thêm các ký tự 0 vào cho tới khi có đủ 14 ký tự.
Mật khẩu mới được chia thành hai hash có 7 ký tự.
Các giá trị này được sử dụng để tạo hai khóa mã hóa DES, mỗi nửa đều được thêm vào một bit chẵn lẻ để tạo các khóa 64 bit.
Mỗi khóa DES sẽ được sử dụng để mã hóa một chuỗi ASCII định sẵn (KGS!@#$%), cho kết quả ra trong hai chuỗi văn bản mật 8-byte.
Hai chuỗi văn bản mật 8-byte này sẽ được kết hợp để tạo thành một giá trị 16-byte, giá trị này chính là một hash LM hoàn chỉnh.
Trong thực tế, mật khẩu “PassWord123” sẽ được chuyển đổi như sau:

PASSWORD123
PASSWORD123000
PASSWOR and D123000
PASSWOR1 and D1230001
E52CAC67419A9A22 and 664345140A852F61
E52CAC67419A9A22664345140A852F61

Các mật khẩu tuân theo phương pháp LM hash có một số nhược điểm. Nhược điểm đầu tiên cần kể đến là sự mã hóa ở đây dựa vào Data Encyrption Standard (DES). DES khởi đầu từ một dự án của IBM vào những năm 70, dự án sau đó bị sửa đổi bởi NIST, được bảo trợ bởi NSA và được phát hành như một chuẩn ANSI vào năm 1981. DES được cho là khá an toàn trong nhiều năm sau những nghiên cứu kỹ lưỡng trong những năm 90 nhờ kích thước key 56-bit của nó. Tuy nhiên đến đầu năm 1998, Electronic Frontier Foundation thông báo là đã có thể crack DES trong khoảng thời gian 23 giờ. Từ đó, DES được xem như đã lỗi thời và cũng từ đó nó được thay thế bằng Triple-DES và AES. Tuy nhiên đây cũng là các chuẩn mã hóa đã có nạn nhân thiệt mạng với sức mạnh tính toán hiện đại và có thể bị crack một cách dễ dàng.

Có lẽ điểm mạnh lớn nhất trong LM hash chính là trong quá trình tạo các khóa (key) DES. Trong quá trình này, một mật khẩu được cấp bởi người dùng sẽ tự động chuyển đổi tất cả thành in hoa, sau đó được chèn thêm thành chuỗi có độ dài 14 ký tự (đây là chiều dài tối đa cho mật khẩu theo phương pháp LM hash), tiếp đó được chia thành hai hash 7 ký tự. Đây là một điểm yếu khi bạn chuỗi mật mã bị chia nhỏ và chỉ được phép sử dụng các ký tự ASCII in hoa. Xét về bản chất, thuật toán này làm cho việc sử dụng các ký tự khác cũng như tăng chiều dài mật khẩu trở nên vô nghĩa, đó chính là điều làm cho các mật khẩu LM trở nên hổng đối với các cố gắng crack lặp lại nhiều lần (brute-force).

Hash mật khẩu NTLMv2

NT LAN Manager (NTLM) là một giao thức thẩm định của Microsoft, giao thức này được tạo ra để kế vị LM. Có nhiều tải tiến, NTLMv2 được chấp nhận như một phương pháp thẩm định mới đáng để lựa chọn và được thực thi trong Windows NT 4.

Quá trình tạo một NTLMv2 hash (từ lúc này trở về sau chúng ta viết tắt là NT hash) là một quá trình đơn giản hơn nhiều với những gì mà hệ điều hành thực hiện, nó dựa vào thuật toán hash MD4 để tạo hash nhờ một loạt các tính toán toán học. Thuật toán MD4 được sử dụng ba lần để tạo NT hash. Trong thực tế, mật khẩu “PassWord123” sẽ có kết quả là “94354877D5B87105D7FEC0F3BF500B33” sau khi sử dụng thuật toán MD4.
MD4 được coi là mạnh hơn đáng kể so với DES vì nó cho phép mật khẩu có chiều dài dài hơn, có sự phân biệt giữa các ký tự in thường và in hoa, không chia mật khẩu thành các phần nhỏ hơn (điều tạo sự dễ dàng trong việc crack).

Có lẽ phàn nàn lớn nhất với các NTLMv2 hash là rằng Windows không sử dụng kỹ thuật mang tên salting (tạm được dịch là ướp muối). Salting là một kỹ thuật mà trong đó một số ngẫu nhiên được tạo ra để tính toán hash cho mật khẩu. Điều này có nghĩa rằng cùng một mật khẩu có thể có hai giá trị hash khác nhau hoàn toàn, đây thực sự là điều lý tưởng.

Trong trường hợp này, người dùng có khả năng tạo những gì được gọi là các “bảng cầu vồng” (rainbow table). Các bảng cầu vồng này không phải là các bảng được trang điểm rực rỡ; mà chúng thực sự là các bảng có chứa các giá trị hash cho số lượng mật khẩu có thể đối với một số lượng ký tự nào đó. Sử dụng bảng cầu vồng, bạn có thể lấy một cách đơn giản giá trị hash được trích rút được từ máy tính mục tiêu và thực hiện một tìm kiếm. Khi giá trị hash được tìm thấy trong bảng, bạn sẽ có mật khẩu. Như những gì bạn có thể hình dung, một bảng cầu vòng thậm chí chỉ với một số lượng nhỏ các ký tự cũng có thể trở thành rất lớn, có nghĩa rằng sự sinh sôi, lưu trữ và đánh chỉ số cho chúng sẽ là một nhiệm vụ khó khăn.

to be continue........

Note: Có sưu tầm thêm nguồn tài liệu bên ngoài

TueNM is a member of CMgroupvn

Last Updated on Wednesday, 26 May 2010 22:05
 

Add comment


Security code
Refresh