1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài báo cáo hacking Username/Password

43 648 3
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Bài báo cáo hacking Username/Password
Tác giả Thầy Nguyễn Duy, Thái Duy Tiến, Trầm Phúc Thịnh, Nguyễn Hữu Phúc
Người hướng dẫn PTs. Nguyễn Duy
Trường học Đại Học Quốc Gia Thành Phố Hồ Chí Minh - Đại Học Công Nghệ Thông Tin
Chuyên ngành Xây Dựng Chính Sách An Toàn Thông Tin
Thể loại Báo cáo lab
Thành phố TP.HCM
Định dạng
Số trang 43
Dung lượng 7,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

BÁO CÁO LAB 2 – HACKING – USERNAME/PASSWORD

MÔN HỌC: XÂY DỰNG CHÍNH SÁCH ATTT GIẢNG VIÊN: THẦY NGUYỄN DUY.

LỚP: MMT03

Sinh viên:

1 Thái Duy Tiến - 08520403 3 Nguyễn Hữu Phúc - 08520289

2 Trầm Phúc Thịnh - 08520382

Trang 2

Phần 1: Local system.

1.1 Cơ chế lưu trữ Account trên windows và kĩ thuật lấy thông tin account.

1.1.1 Cơ chế lưu trữ account.

Windows sử dụng hai phương pháp hash mật khẩu người dùng, cả hai đều cónhững điểm mạnh và điểm yếu riêng Đó là LAN Manager (LM) và NT LANManager version 2 (NTLMv2) Hàm hash (hash function) là hàm một chiều mà nếuđưa một lượng dữ liệu bất kì qua hàm này sẽ cho ra một chuỗi có độ dài cố định ởđầu ra

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

Trang 4

trong khoảng thời gian 23 giờ điểm mạnh lớn nhất trong LM hash chính là trongquá 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ởingười dùng sẽ tự động chuyển đổi tất cả thành in hoa, sau đó được chèn thêm thànhchuỗ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ạnchuỗ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ềudà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ênhổ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ứcnày được tạo ra để kế vị LM Có nhiều tải tiến, NTLMv2 được chấp nhận như mộtphương pháp thẩm định mới đáng để lựa chọn và được thực thi trong Windows NT4

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à NThash) 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” saukhi sử dụng thuật toán MD4

Trang 5

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ềudà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ậtkhẩu thành các phần nhỏ hơn (điều tạo sự dễ dàng trong việc crack).

1.1.2 Kĩ thuật lấy thông tin account.

Sử dụng phần mềm fgdump

Khi chạy fbdump, ta sẽ thấy nó hiện như sau:

Trang 6

Khi hoàn tất, một file sẽ được tạo trong cùng thư mục mà tiện ích khởi chạy, filenày gồm có danh sách tất cả các tài khoản người dùng, hash LM của họ và cả cáchash NTLMv2.

 Sử dụng Cain & Abel

Sau khi cài đặt, kích vào tab Cracker gần phía trên của màn hình kích vào tiêu đề

LM & NTLM Hashes trong panel bên trái, kích phải vào vùng trống ở phần trung tâm của màn hình và chọn Add to List, đặt hash vào một file văn bản được định

dạng theo một cách đặc biệt Lấy file có được từ fgdump add vào

Định dạng của các thành phần này sẽ là:

Username:RID:LMHash:NTLMHash:::

Trang 7

Khi thực hiện xong, kích phải vào tài khoản muốn crack mật khẩu của nó, chọn tùy

chọn Brute Force Attack, chọn LM hashes Ví dụ PassWord123 sẽ cho kết quả như sau:

Sử dụng John the Ripper:

Thực thi john-386.exe trong thư mục con /run với file có được từ fgdump

Khi hoàn tất, John the Ripper sẽ hiển thị các mật khẩu đã được crack và lưu các kếtquả vào file john.pot John the Ripper cũng có các chế độ crack khác như:

• Single Crack Mode – Sử dụng các biến tên tài khoản

Trang 8

• Wordlist Mode – Dựa vào một từ điển để đoán mật khẩu

Incremental Mode – Dựa vào tấn công kiểu brute-force

• External Mode – Dựa vào một ứng dụng khác (được người dùng cung cấp) đểđoán mật khẩu

Dùng Rainbow Table:

Bảng Rainbow Table là một bảng tra cứu có chứa các password hash cho mỗi sự kếthợp mật khẩu có thể được đưa ra để thuật toán mã hóa sử dụng Sử dụng nó nhưmột từ điển để tra cứu mật khẩu

1.2 Cơ chế lưu trữ Account trên Linux và kĩ thuật lấy thông tin account.

1.2.1 Cơ chế lưu trữ account.

Từ lịch sử xa xưa của Unix và cả Linux, mật khẩu của toàn bộ các account đã từngđược lưu ngay trong file /etc/password, file có quyền đọc bởi tất cả các accounttrong hệ thống! Đây là một kẽ hở lớn cho các kẻ phá hoại: Mặc dù các mật khẩuđều được mã hoá, nhưng việc giải mã ngược là có thể thực hiện được (và có thểthực hiện khá dễ dàng, đặc biệt vì cơ chế mã hoã mật khẩu không phải là khó phá

và ngày nay khả nǎng tính toán và xử lý của máy tính rất mạnh) Vì lí do trên, gầnđây các nhà phát triển Unix và Linux đã phải đặt riêng mật khẩu mã hoá vào mộtfile mà chỉ có account root mới đọc được: file /etc/shadow (Khi sử dụng phươngpháp này, để đảm bảo tính tương thích, nơi vốn đặt mật khẩu trong file/etc/password người ta đánh dấu "x")

Các phiên bản RedHat gần đây (ví dụ RedHat 6.x hay 7.x) chọn lựa Enable theshadow password khi cài đặt RedHat để sử dụng tính nǎng che giấu mật khẩu này(Cũng thật may vì chọn lựa này là mặc định trong hầu hết các phiên bản Linuxđang sử dụng rộng rãi hiện nay)

Tập tin /etc/passwd đóng vai trò sống còn đối với một hệ thống Unix/Linux Mọingười đều có thể đọc được tập tin này nhưng chỉ có root mới có quyền thay đổi nó.Tập tin /etc/passwd được lưu dưới dạng văn bản như hầu hết các tập tin cấu hìnhkhác của Linux Nội dung của tập tin passwd:

Mỗi tài khoản được lưu trong một dòng gồm 7 cột:

- Cột 1 : Tên người sử dụng

- Cột 2 : Mã liên quan đến mật khẩu của tài khoản và “x” đối với Linux Linux lưu

mã này trong một tập tin khác /etc/shadow mà chỉ có root mới có quyền đọc

Trang 9

- Cột 3:4 : Mã định danh tài khoản (user ID) và mã định danh nhóm (group ID)

- Cột 5 : Tên đầy đủ của người sử dụng Một số phần mềm phá password sử dụng

dữ liệu của cột này để thử đoán password

- Cột 6 : thư mục cá nhân (Home Directory)

- Cột 7 : Chương trình sẽ chạy đầu tiên sau khi người dùng đăng nhập vào hệthống

Trang 10

Dòng đầu tiên của tập tin /etc/passwd mô tả thông tin cho user root (chú ý là tất cảnhững tài khoản có user_ID = 0 đều là root), tiếp theo là các tài khoản khác của hệthống (đây là các tài khoản không có thật và không thể login vào hệ thống), cuốicùng là các tài khoản người dùng thường.

Mỗi người dùng có một mật khẩu riêng để sử dụng tài khoản của mình Mọi ngườiđều có quyền đổi mật khẩu của chính mình Người quản trị thì có thể đổi mật khẩucủa những người khác

Nội dung tập tin /etc/shadow:

Trang 11

Trong đó:

Username:passwd:last:may:must:warn:exprire:disable:reservedCột 1: username

Cột 2: password đã được encode

Cột 3: Số ngày kể từ 01/01/1970 mà password được thay đổi.Cột 4: Số ngày trước khi password có thể được thay đổi

Trang 12

Cột 5: Số ngày sau đó password phải được đổi.

Cột 6: Số ngày trước khi password expired, user sẽ được cảnh báo

Cột 7: Số ngày sau khi password expired, account sẽ bị disable

Cột 8: Số ngày từ 01/01/1970 mà account bị disabled

Cột 8: Trường dự bịUnix truyền thống lưu các thông tin liên quan tới mật khẩu người dùng trong tập tin/etc/passwd Tuy nhiên, mọi người dùng đều đọc được tập tin này do một số yêucầu cho hoạt động bình thường của hệ thống (như chuyển User ID thành tên khihiển thị trong lệnh ls chẳng hạn) và nhìn chung các người dùng đặt mật khẩu “yếu”

do đó hầu hết các phiên bản Unix mới đều lưu mật khẩu(được mã hóa) thực sựtrong một tập tin khác /etc/shadow và chỉ có root được quyền đọc tập tin này

1.2.2 Kĩ thuật lấy thông tin account.

Linux sử dụng mã hóa 1 chiều để mã hóa passwork, do đó chỉ có thể dùng phươngpháp brute force để dò ra password( loại password đơn giản) Tool được sử dụngrộng rãi là jonh the ripper

1.3 Tìm hiểu và triển khai Key logger

1.3.1 Key logger.

Keylogger là một chương trình máy tính ban đầu được viết nhằm mục đích theo dõi

và ghi lại mọi thao tác thực hiện trên bàn phím vào một tập tin nhật ký (log) để cho

người cài đặt nó sử dụng Vì chức năng mang tính vi phạm vào riêng tư của người

Trang 13

khác này nên các trình keylogger được xếp vào các phần mềm gián điệp Keyloggernhỏ gọn, sử dụng ít bộ nhớ nên khó phát hiện.

Về sau, khi keylogger phát triển cao hơn nó không những ghi lại thao tác bàn phím

mà còn ghi lại cả các hình ảnh hiển thị trên màn hình bằng cách chụp (screen-shot)hoặc quay phim (screen-capture) thậm chí còn ghi nhận cách con trỏ chuột dichuyển

Keylogger gồm 2 loại: keylogger phần cứng và keylogger phần mềm

Trang 14

• Tập tin log: nơi chứa toàn bộ những gì hook ghi nhận được.

• Ngoài ra, tùy theo loại còn có thêm chương trình bảo vệ (protect), chươngtrình xuất report…

1.3.2 Triển khai key logger (perfect keylogger).

Cài dặt xong, click để chạy Perfect Keylogger Click chuột phải chọn Option để Cài đặt Keylogger

2 ô Run on windows startup và ô Don't show program icon at startup

2 cái ô này có công dụng là khi windows khởi động thì nó cũng tự động chạy với chế độ ẩn tại ô Show / hide program icon là chế độ phím tắt

Trang 15

Ô REMOVE THE PROGRAM FROM UNINSTALLION LIST -cái này dùng để

ẩn keylog trong trình ứng dụng gỡ bỏ các chương trình cài đặt có sẵn trong windows cũng như các trình ứng dụng tương tự khác

Ở mục Logging cũng đánh dấu hết rồi nhấn vào Password để đặt mã cho con trojan để mình tiện quản lý

Trang 16

Tại ô Make screen capture screenhot every các pro chọn số phút mà chương trình

tự động chụp cảnh màn hình 1 phút hoặc vài phút hoặc có thể lâu hơn PictureQuality là chất lượng của ảnh càng cao thì càng nặng

Trang 17

Ở mục Email

ô Send logs by email: thiết lâp thời gian keylogger gửi mail

Vẫn ở mục Email

Trang 18

cliClick vào DeliverySend to: điền email để nhận logsSMTP sever điền sever email vào.Nhấn Send test để gửi thử test mail.

Trang 19

Sau khi cài đặt thành công thì ghép keylogger vào phần mềm để gửi cho victim cài đặt Và vào mail đã thiết lập để kiểm tra các file log và capture-screen mà keylogger đã ghi nhận trên máy victim.

Kết luận – cách phòng chống:

Sử dụng key logger là phương pháp rất hiệu quả để lưu lại diễn biến làm việc trênmàn hình và bàn phím của máy nạn nhân Qua đó bắt được hoạt động của nạnnhân, các thông tin về user, password Đây là phương pháp tấn công hiệu quả, tuynhiên, sự phát triển của các chương trình diệt virus, security hạn chế sự phát tán

và sử dụng các loại key logger thông thường Vì vậy phương pháp phòng chống

đề xuất như sau:

• Hạn chế sử dụng dùng chung máy tính, cài đặt mật khẩu bảo vệ cho máytính

• Không mở các tập tin lạ không rõ nguồn gốc, chú ý các file có phần mởrộng: exe, com, bat, scr, swf, zip, rar…

• Không vào các trang web lạ,

• Không click các đường link lạ

Trang 20

• Không cài các phần mềm lạ.

• Không download chương trình từ các nguồn không tin cậy

• Cài các phần mềm chống virus, spyware, trojan…mở tường lửa khi duyệtweb

• Cập nhật thường xuyên các bản vá cho hệ điều hành và các chương trìnhphòng chống

1.4 Ngữ cảnh và mục đích đạt được.

Các phương pháp trên chỉ thực hiện được khi ta có thể truy cập được các file lưu mật khẩucủa hệ điều hành Sau khi tấn công ta có thể có được mật khẩu của user từ đó ta có thể truycập được hệ thống Đây được xem là bước chuẩn bị cho việc tấn công “leo thang đặcquyền” nếu như các phương pháp trên vẫn chưa lấy được password của Administrator Vàmục đích cuối cùng cho việc tấn công này là có được password của Administrator từ đólàm chủ được hệ thống

1.5 Nhận xét và giải pháp phòng chống.

Trong phần này, chúng ta có thể thấy cơ chế lưu trữ account của 2 hệ điều hành bậc nhất

đó là Windows và Linux, mật khẩu được mã hóa 1 chiều cho nên việc giải mã là khôngthể Phương pháp tấn công chủ yếu là copy các file lưu trữ account và tiến hành bruteforce Đây là phương pháp cổ điển và luôn thành công nhưng vấn đề đặt ra là thời gian vàtốc độ xử lý của máy hacker Với password phức tạp thì thời gian có thể tính bằng năm…

đủ để làm nản lòng các hacker hay user thay đổi hoặc ngừng sử dụng account đó => khôngkhả thi Điều này cho thấy, việc đặt 1 password đủ độ phức tạp là rất cần thiết Cách đặtmật khẩu hiệu quả nhất là kết hợp giữa số, chữ hoa, chữ thường, ký tự đặc biệt và đủ đài,trên 6 kí tự

Có 2 loại sniffer đó là: active sniffer và passive sniffer

Trang 21

2.2 Các bài lab phân tích mô tả các một số kĩ thuật tấn công trong mạng local.

2.2.1 SSL strip.

SSL và HTTPS

Secure Socket Layers (SSL) hoặc Transport Layer Security (TLS) dưới sự thi hànhhiện đại hơn của nó, là các giao thức được thiết kế để cung cấp bảo mật cho truyềnthông mạng bằng phương pháp mã hóa Giao thức này dễ được kết hợp với các giaothức khác nhất để cung cấp một thực thi an toàn cho dịch vụ mà giao thức cungcấp Các ví dụ dẫn chứng ở đây gồm có SMTPS, IMAPS và HTTPS Mục tiêu tốithượng là tạo các kênh an toàn trên các mạng không an toàn

Trong phần này, chúng tôi sẽ tập trung giới thiệu vào tấn công SSL trên HTTP,được biết đến như HTTPS, vì nó là trường hợp sử dụng phổ biến nhất của SSL Cóthể không nhận ra nhưng hầu như chắc chắn bạn đang sử dụng HTTPS hàng ngày.Các dịch vụ email phổ biến nhất và các ứng dụng ngân hàng trực tuyến đều dựa vàoHTTPS để bảo đảm truyền thông giữa trình duyệt web của bạn và các máy chủ của

họ được mã hóa an toàn Nếu không sử dụng công nghệ này thì bất cứ ai với một

bộ “đánh hơi” gói dữ liệu trên mạng cũng đều có thể phát hiện ra được username,password và bất cứ thứ gì được ẩn khác

Quá trình được sử dụng bởi HTTPS để bảo đảm an toàn dữ liệu là xiết chặt cáctrung tâm có liên quan đến việc phân phối các chứng chỉ giữa máy chủ, máy khách

và hãng thứ ba được tin cậy Lấy một ví dụ về trường hợp có một người dùng đang

cố gắng kết nối đến một tài khoản email của Gmail Quá trình này sẽ gồm có mộtvài bước dễ nhận thấy, các bước này đã được đơn giản hóa trong hình 1 bên dưới

Trang 22

Hình 1: Quá trình truyền thông HTTPS

Quá trình được phác thảo trong hình 1 không phải là một quá trình chi tiết, tuynhiên về cơ bản nó sẽ làm việc như sau:

1. Trình duyệt máy khách kết nối đến https://www.mail.google.com trêncổng 80 bằng cách sử dụng HTTP

2. Máy chủ redirect phiên bản HTTPS máy khách của site này bằng cách sửdụng HTTP code 302

3. Máy khách kết nối đến https://www.mail.google.com trên cổng 443

4. Máy chủ sẽ cung cấp một chứng chỉ cho máy khách gồm có chữ ký số của

nó Chứng chỉ này được sử dụng để thẩm định sự nhận dạng của site

5. Máy khách sử dụng chứng chỉ này và thẩm định chứng chỉ này với danhsách các nhà thẩm định chứng chỉ tin cậy của nó

6. Truyền thông mã hóa sẽ xảy ra sau đó

Nếu quá trình hợp lệ hóa chứng chỉ thất bại thì điều đó có nghĩa rằng các website

đã thất bại trong việc thẩm định sự nhận dạng của nó Tại điểm này, người dùng

sẽ thấy xuất hiện một lỗi thẩm định chứng chỉ và họ vẫn có thể tiếp tục với nhữngrủi ro có thể, vì rất có thể sẽ không có sự truyền thông thực sự với website mà họnghĩ họ cần truy cập đến

Phá hủy HTTPS

Quá trình này được xem là an toàn cao cách đây một vài năm khi có một tấn công

đã công bố rằng nó có thể chiếm quyền điều khiển thành công quá trình truyềnthông Quá trình này không liên quan đến bản thân việc phá hủy (defeating) SSL,

mà đúng hơn là phá hủy “cầu nối” giữa truyền thông không mã hóa và mã hóa

Moxie Marlinspike, một chuyên gia nghiên cứu bảo mật hàng đầu đã cho rằngtrong hầu hết các trường hợp, SSL chưa bao giờ bị trực tiếp tấn công Hầu hết thờigian một kết nối SSL được khởi tạo thông qua HTTPS nên nguyên nhân có thể là

do ai đó đã redirect một HTTPS thông qua một mã đáp trả HTTP 302 hoặc họkích vào liên kết direct họ đến một site HTTPS, chẳng hạn như nút đăng nhập Ýtưởng ở đây là rằng nếu bạn tấn công một phiên giao dịch từ một kết nối không antoàn đến một kết nối an toàn, trong trường hợp này là từ HTTP vào HTTPS, bạn

sẽ tấn công cầu nối và có thể “man-in-the-middle” kết nối SSL trước khi nó xuấthiện Để thực hiện hiệu quả điều này, Moxie đã tạo một công cụ SSLstrip, chúng

ta sẽ sử dụng công cụ này dưới đây

Ngày đăng: 07/06/2014, 21:40

HÌNH ẢNH LIÊN QUAN

Hình 2: Chiếm quyền điều khiển truyền thông HTTPS Quá trình được phác thảo trong hình 2 làm việc như sau: - Bài báo cáo hacking Username/Password
Hình 2 Chiếm quyền điều khiển truyền thông HTTPS Quá trình được phác thảo trong hình 2 làm việc như sau: (Trang 23)
Hình 1: Truy vấn và đáp trả DNS - Bài báo cáo hacking Username/Password
Hình 1 Truy vấn và đáp trả DNS (Trang 33)

TỪ KHÓA LIÊN QUAN

w