Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
3,33 MB
Nội dung
ĐH QUỐC GIA TP.HCM ĐH CÔNG NGHỆ THÔNG TIN BÁO CÁO LAB HACKING ĐỀ TÀI : USERNAME/PASSWORD GVHD : CH.Nguyễn Duy SV thực : Trần Hữu Đức Nguyễn Hữu Tín Ngơ Trần Vĩnh Phúc Hồng Trọng Quốc Bảo 08520094 08520407 08520288 08520026 LỜI NĨI ĐẦU Hiện có nhiều cách để công vào hệ thống mạng, có kiểu cơng kinh điển phổ biến ăn cắp tài khoản người sử dụng hệ thống Nó dùng bước trung gian kiểu cơng khác, điển hình bước leo thang đặc quyền (Priviledge Escalation) Sẽ thật nguy hiểm attacker nắm tài khoản quản trị hệ thống làm tùy ý Mật (Password) thường đường chủ đạo việc phòng chống xâm nhập bừa bãi Tuy dù kẻ cơng (attacker) khơng có truy cập vật lý (trực tiếp) đến máy tính, chúng truy vập vào máy chủ thông qua giao thức máy trạm từ xa (remote desktop) xác thực dịch vụ thông qua ứng dụng web bên ngồi Mục đích viết nhằm giới thiệu cho bạn cách mà hệ thống Windows hay Linux tạo lưu mật mã hóa, cách đánh cắp crack mật này, song song đưa số phương pháp để phòng chống MỤC LỤC Lý Thuyết : I Local System: Windows: Windows lưu mật Windows sử dụng hai phương pháp hash mật người dùng, hai có điểm mạnh điểm yếu riêng Đó LAN Manager (LM) NT LAN Manager version (NTLMv2) Hàm hash (hash function) hàm chiều mà đưa lượng liệu qua hàm cho chuỗi có độ dài cố định đầu Hash mật LAN Manager (LM) Hash LAN Manager thuật toán hash mật sử dụng hệ điều hành Windows, có phiên hỗ trợ xuất NTLMv2 sử dụng Windows 2000, XP, Vista Windows Các hệ điều hành hỗ trợ sử dụng hash LM để có khả tương thích Mặc dù vậy, bị vơ hiệu hóa mặc định Windows Vista Windows Hash mật loại tính q trình bước sau: Mật người dùng chuyển đổi thành tất ký tự in hoa Mật bổ sung thêm ký tự vào có đủ 14 ký tự Mật chia thành hai chuỗi hash có ký tự Các giá trị sử dụng để tạo hai khóa mã hóa DES, nửa thêm vào bit chẵn lẻ để tạo khóa 64 bit e) Mỗi khóa DES sử dụng để mã hóa chuỗi ASCII định sẵn (KGS!@#$%), cho kết hai chuỗi văn mật 8-byte a) b) c) d) f) Hai chuỗi văn mật 8-byte kết hợp để tạo thành giá trị 16-byte, giá trị hash LM hồn chỉnh Trong thực tế, mật “PassWord123” chuyển đổi sau: Các mật tuân theo phương pháp LM hash có số nhược điểm Nhược điểm cần kể đến mã hóa dựa vào Data Encyrption Standard (DES) DES khởi đầu từ dự án IBM vào năm 70, dự án sau bị sửa đổi NIST, bảo trợ NSA phát hành chuẩn ANSI vào năm 1981 DES cho an toàn nhiều năm sau nghiên cứu kỹ lưỡng năm 90 nhờ kích thước key 56-bit Tuy nhiên đến đầu năm 1998, Electronic Frontier Foundation thơng báo crack DES khoảng thời gian 23 Từ đó, DES xem lỗi thời từ thay Triple-DES AES Có lẽ điểm yếu lớn LM hash q trình tạo khóa (key) DES Trong q trình này, mật cấp người dùng tự động chuyển đổi tất thành in hoa, sau chèn thêm thành chuỗi có độ dài 14 ký tự (đây chiều dài tối đa cho mật theo phương pháp LM hash), tiếp chia thành hai hash ký tự Đây điểm yếu chuỗi mật mã bị chia nhỏ phép sử dụng ký tự ASCII in hoa Xét chất, thuật toán làm cho việc sử dụng ký tự khác tăng chiều dài mật trở nên vơ nghĩa, điều làm cho mật LM trở nên có “lỗ hỏng” kiểu công vét cạn (brute-force attack) Hash mật NTLMv2 NT LAN Manager (NTLM) giao thức thẩm định Microsoft, giao thức tạo để kế vị LM Có nhiều tải tiến, NTLMv2 chấp nhận phương pháp thẩm định đáng để lựa chọn thực thi WindowsNT4 Quá trình tạo NTLMv2 hash trình đơn giản nhiều với mà hệ điều hành thực hiện, dựa vào thuật tốn hash MD4 để tạo hash nhờ loạt tính tốn tốn học Thuật toán MD4 sử dụng ba lần để tạo NT hash Trong thực tế, mật “PassWord123” có kết “94354877D5B87105D7FEC0F3BF500B33” sau sử dụng thuật toán MD4 MD4 coi mạnh đáng kể so với DES cho phép mật có chiều dài dài hơn, có phân biệt ký tự in thường in hoa, không chia mật thành phần nhỏ (điều tạo dễ dàng việc crack) Có lẽ nhược điểm lớn với NTLMv2 hash Windows không sử dụng kỹ thuật salting (tạm dịch ướp muối) Salting kỹ thuật mà số ngẫu nhiên tạo để tính tốn hash cho mật Điều có nghĩa mật có hai giá trị hash khác hồn tồn, thực điều lý tưởng Trong trường hợp này, người dùng có khả tạo gọi “bảng cầu vồng” (rainbow table) Các bảng cầu vồng bảng có chứa giá trị hash cho số lượng mật số lượng ký tự Sử dụng bảng cầu vồng, bạn lấy cách đơn giản giá trị hash trích rút từ máy tính mục tiêu thực tìm kiếm Khi giá trị hash tìm thấy bảng, bạn có mật Như bạn hình dung, bảng cầu vịng chí với số lượng nhỏ ký tự trở thành lớn, có nghĩa sinh sơi, lưu trữ đánh số cho chúng nhiệm vụ khó khăn Linux : Trước Unix Linux khơng có shadow password System V Release 3.2 (1987), BSD4.3 Reno (1991) Linux (1992) ứng dụng shadowing Chúng có nguyên tắc xử lý shadow Chỉ có điểm khác biệt tên gọi hồ sơ shadow vị trí chứa hồ sơ khác Unix flavors mà thơi Ví dụ, Linux, shadow nằm /etc/shadow, BSD /etc/master.passwd, HP-UX /.secure/etc/passwd Có số UNIX tạo shadow riêng cho username Về cách "mã hố" shadow tổng thể sau Khi user cung cấp pasword chọn password, password encode với giá trị ngẫu nhiên gọi salt Giá trị salt lưu với password encoded hệ thống Khi người dùng login password mình, giá trị salt lấy từ encoded password (đã lưu hệ thống) giá trị salt dùng để encode password mà người dùng vừa gõ vào Nếu hai giá trị lưu vừa encoded trùng người dùng xác thực Quy trình encoding gọi "one way hash function" hàm crypt() sử dụng để thực thi #man crypt có cung cấp số thơng tin cụ thể Những điểm cần nắm với crypt() là: a) Crypt: hàm dùng để "mã hoá" mật khẩu, dựa tiêu chuẩn thuật toán DES b) Key: giá trị password (ở dạng string) mà người dùng gõ vào c) Salt: chuỗi string có ký tự chọn từ chuỗi [a-zA-Z0-9./] (biểu thị ký tự từ a đến z cho chữ thường chữ in số từ đến 9, thêm vào ký tự /) Từ chuỗi tạo giá trị ngẫu nhiên từ 4096 khả khác d) Các ứng dụng mở rộng thư viện dùng cho hàm có chức dùng thuật tốn khác thay DES tạo chuỗi hash lớn Nhiều người dùng cụm "encrypted password" cho trường hợp shadowed password dùng có phần thiếu xác "shadowed password" bao gồm salt (để encode password user gõ password vào) encoded string (dùng để so sánh với giá trị vừa gõ vào encode) Gọi chung "hash" (hay băm theo tiếng Việt ) Có phần tách biệt: a) Lần account tạo command passwd chạy, clear txt input encoded salt tạo để đưa vào "password" field /etc/shadow b) Khi người dùng login, clear txt string mà người dùng đưa vào encoded với salt có /etc/shadow kết dùng để so sánh vừa tạo có sẵn hệ thống (trong /etc/shadow) Nói khía cạnh bảo mật việc "dời" pass hash sang /etc/shadow nhằm khắc phục điểm yếu /etc/passwd read /etc/passwd đọc hash value để brute force Trong đó, /etc/shadow đọc với chủ quyền root Binary passwd set SUID để thực việc dùng chủ quyền root để đọc hash value /etc/shadow Keylogger: Keylogger hay "trình theo dõi thao tác bàn phím" theo cách dịch tiếng Việt chương trình máy tính ban đầu viết nhằm mục đích theo dõi ghi lại thao tác thực bàn phím vào tập tin nhật ký (log) người cài đặt sử dụng Vì chức mang tính vi phạm vào riêng tư người khác nên trình keylogger xếp vào nhóm phần mềm gián điệp Về sau, keylogger phát triển cao khơng ghi lại thao tác bàn phím mà cịn ghi lại hình ảnh hiển thị hình (screen) cách chụp (screen-shot) quay phim (screen-capture) chí cịn ghi nhận cách trỏ chuột máy tính di chuyển Keylogger bao gồm hai loại, loại keylogger phần cứng loại phần mềm Bài viết nói đến loại phần mềm Theo người lập trình, keylogger viết với có loại giúp bạn giám sát cái, người thân xem họ làm với PC, với internet, chat với người lạ Nhưng cách sử dụng chức keylogger giới khiến người ta thường hay phân loại keylogger theo mức độ nguy hiểm câu hỏi: Nhiễm vào máy không qua cài đặt/Cài đặt vào máy cực nhanh (quick install)? Có thuộc tính ẩn/giấu trình quản lí tiến trình (process manager) trình cài đặt gỡ bỏ chương trình (Add or Remove Program)? Theo dõi khơng thơng báo/PC bị nhiễm khó tự phát hiện? Có thêm chức Capturescreen ghi lại thao tác chuột? Khó tháo gỡ? Có khả lây nhiễm, chống tắt (kill process)? Cứ câu trả lời "có", cho điểm Điểm cao, keylogger vượt khỏi mục đích giám sát (monitoring) đến với mục đích thám (spying) tính nguy hiểm cao Keylogger phân loại theo số điểm: Loại số Không điểm: keylogger loại bình thường; chạy cơng khai, có thơng báo cho người bị theo dõi, với mục đích giám sát Loại số Một đến hai điểm: keylogger nguy hiểm; chạy ngầm, hướng đến mục đích thám nhiều giám sát (nguy hại đến thông tin cá nhân tài khoản cá nhân, mật khẩu, thẻ tín dụng người dùng khơng biết) Loại số Ba đến năm điểm: keylogger loại nguy hiểm; ẩn dấu hoàn toàn theo dõi phạm vi rộng, mục đích thám rõ ràng Loại số Sáu điểm: keylogger nguy hiểm nghiêm trọng, thường mang theo trojan-virus khó tháo gỡ, loại keylogger nguy hiểm Chính (và đồng thời “đồng bọn” trojan-virus) thường hay bị chương trình chống virus tìm thấy tiêu diệt Local Network : a) Giới thiệu giao thức ARP: Mỗi thiết bị hệ thống mạng có hai địa Một địa Media Access Control (MAC) địa Internet Protocol (IP) Địa MAC địa card mạng gắn vào bên thiết bị, khơng thể thay đổi Địa IP thay đổi theo người sử dụng tùy vào môi trường mạng ARP giao thức IP, chức dùng để định vị host segment mạng cách phân giải địa IP địa MAC ARP thực điều thơng qua tiến trình broadcast gói tin đến tất host mạng, gói tin chứa địa IP host cần giao tiếp Các host mạng nhận gói tin host có địa IP trùng với địa IP gói tin trả lời lại, cịn lại tự động drop gói tin ARP giao thức đơn giản, đơn có loại message sau: • • • • Arp Request: máy tính A hỏi tồn mạng: “ai có địa IP này?” Arp Reply: máy tính B trả lời máy tính A: “tơi có IP đó, địa MAC tơi là…” Reverse Arp Request: máy tính A hỏi tồn mạng: “ai có địa MAC này?” Reverse Arp Reply: máy tính B trả lời máy tính A: “tơi có MAC đó, địa IP là…” Host A gởi Arp request nhận Arp reply từ host B có thực mạng Sau tiến trình hoàn tất, Host A biết IP B có MAC Tiếp theo host A lưu lại hiểu biết lên nhớ gọi Arp table Arp table giúp host A thực Arp request đến host B lần b) Nguyên lý công: Giao thức ARP cần thiết quan trọng hệ thống mạng chúng ta, nhiên lại không đề cập đến vấn đề xác thực Khi host nhận gói tin Arp reply, hồn tồn tin tưởng sử dụng thơng tin để dụng sau mà khơng cần biết thơng tin có phải trả lời từ host mà mong muốn hay khơng ARP khơng có chế để kiểm tra việc thực tế host chấp nhận gói Arp reply mà trước khơng cần phải gởi gói tin Arp request Lợi dụng điều hacker triển khai phương thức công Denial of Service, Man In The Middle, Mac Flodding c) Man In The Middle: Giả sử hacker muốn theo dõi hostA gởi thơng tin cho hostB Đầu tiên hacker gởi gói Arp reply đến hostA với nội dung địa MAC hacker địa IP hostB Tiếp theo hacker gởi gói Arp reply tới hostB với nội dung MAC máy hacker IP hostA Như hai hostA hostB tiếp nhận gói Arp reply lưu vào Arp table Đến lúc hostA muốn gởi thơng tin cho hostB liền tra vào Arp table thấy có sẵn thơng tin địa MAC hostB nên hostA lấy thông tin sử dụng, thực chất địa MAC hacker Đồng thời máy tính hacker mở chức gọi IP Forwarding giúp chuyển tải nội dung mà hostA gởi qua hostB HostA hostB giao tiếp bình thường khơng có cảm giác bị qua máy trung gian máy hacker Trong trường hợp khác, hacker nghe thông tin từ máy bạn đến Gateway Như hàng động internet bạn bị hacker ghi lại hết, dẫn đến việc mát thông tin nhạy cảm Internet : Tấn công giả mạo (phishing, ám việc "nhử" người dùng tiết lộ thông tin mật), lĩnh vực bảo mật máy tính, hành vi giả mạo ác ý nhằm lấy thông tin nhạy cảm tên người dùng, mật chi tiết thẻ tín dụng cách giả dạng thành chủ thể tin cậy giao dịch điện tử Các giao dịch thường dùng để đánh lừa người dùng đa nghi giao dịch xuất phát từ website xã hội phổ biến, trung tâm chi trả trực tuyến quản trị mạng Tấn công giả mạo thường thực qua thư điện tử tin nhắn nhanh, hay yêu cầu người dùng nhập thông tin vào website giả mạo gần giống hệt với website thật Ngay có sử dụng chứng thực máy chủ, có phải cần vài kĩ phức tạp xác định website giả mạo Tấn công giả mạo đơn cử kĩ thuật lừa đảo qua mạng (social engineering) nhằm đánh lừa người dùng, khai thác bất tiện công nghệ bảo mật web II Mơ hình triển khai : Local System : (Attacker thao tác máy Victim) Lab 1: (Windows) B1: Boot máy với Hiren Boot, chọn WindowsXP mini B2: Vào C:\Windows\system32\config chép file sam va file system máy Attacker B3: Dùng Cain & Abel để crack file sam với boot key có file system Lab 2: (Linux) B1: Vào Recovery Mode B2: Remount file hệ thống dạng read/write B3: Chọn root shell prompt để dùng quyền root (user quyền cao nhất) B4: Down John The Ripper máy B5: Crack password /etc/shadow Lab 3: (Keylogger) B1: Cài Perfect Keylogger cấu hình B2: Victim ngồi vào máy thao tác bình thường B3: Xem file log để đánh cắp thông tin Nâng cao: (remote install) B1: Cấu hình remote install B2: Gửi file chứa keylogger cho Victim B3: Victim chạy file bị dính keylogger B4: Lấy file log từ mail để xem Local Network : (Attacker mạng LAN với Victim) Dùng phương pháp công Man-in-the-middle : (dùng Cain & Abel) B1: Bật chức Sniffer, quét máy mạng LAN B2: Tiến hành ARP poisoning B3: Thu gói tin chứa id password dạng plaintext Internet : (Attacker công Victim qua Internet) B1: Attacker gửi trang web đăng nhập giả đến victim (phishing) B2: Thông tin đăng nhập victim gửi attacker B3: Attacker lưu lại thông tin chuyển tiếp đến server bước thực chung lần B4: Server chứng thực thành công gửi lại attacker B5: Attacker gửi trả victim 10 Capture screen on mouse click : bật chế độ chụp ảnh click chuột Trong phần Configure : Capture mouse clicks only in the following windows : chụp ảnh click chuột chương trình có bảng Capture : chụp hình sử dụng chuột trái, chuột phải hay lăn Tab E-mail : Trong phần Scheduler : Try to send logs by email every : gửi log qua e-mail sau khoảng thời gian định trước Include … : bao gồm phím nhấn, chat, chụp hình, website xem 18 HTML : file log xem trực tiếp e-mail Encrypted : file log xem với log viewer Send only when log size is more than : gửi file log dung lượng lớn mức đưa Compress log files before sending (ZIP) : nén file log lại trước gửi Trong phần Delivery : nhập e-mail, SMTP server, số port, username password email, phương thức đăng nhập bấm Send test để gửi mail thử Tab FTP : gửi file log thông qua FTP server Tab Alearts : có từ khóa xuất hiện, keylogger gửi mail thông báo chụp ảnh hình 19 Tab Targets : lưu nhật ký thao tác ứng dụng cửa sổ có list Tab Notification : thơng báo cho người dùng biết họ bị giám sát B2: Victim ngồi vào máy, phím nhấn lưu lại cú click chuột New Text Document chụp lại B3: Vào log viewer để xem 20 Nâng cao: (remote install) B1: Click phải vào biểu tượng keylogger khay hệ thống chọn remote install Chọn install new or update existing keylogger on the remote computer check vào ô Notify me when the installation package will be launched chọn By e-mail để cài đặt hay cập nhật keylog từ xa, keylog cài máy Victim có mail thông báo cho Attacker biết Bấm nút browse chọn đường dẫn đến file kết hợp lại với keylogger, sau đánh đường dẫn dùng để lưu keylogger vào 21 Chọn biểu tượng gói cài đặt sau kết hợp lại Gói cài đặt có tên sau Sửa tên lại thành Winrar để tránh bị nghi ngờ B2: Gửi gói cài đặt cho Victim qua mail, qua ftp server hay link download… 22 B3: Victim tiến hành cài đặt bình thường mà khơng có dấu hiệu khả nghi nào, sau cài đặt thành cơng có mail gửi thơng báo cho Attacker B4: Attacker vào mail lấy file log Vào log viewer chọn open log, chỉnh đường dẫn đến file log vừa lấy xem kết 23 Local Network : (Attacker mạng LAN với Victim) B1: Mở Cain, chọn menu “Configure” => chọn card mạng tương ứng: Start chức sniffer : 24 Chuyển qua tab “Sniffer” add (+) host nằm mạng LAN vào danh sách: 25 B2: Chọn tab “ARP” phía click add (+) => chọn cột bên phải IP router & cột bên trái IP máy victim: 26 Start ARP poisoning : 27 B3: Qua tab “Passwords”, chờ Victim internet đăng nhập vào tài khoản yahoo, google, ……… ta thu username / password victim : 28 Internet : (Attacker công Victim qua Internet) B1: Tạo email lừa đảo trang web phising (ở yahoo) Gồm file: Index.html : giao diện trang web yahoo Checklogin.php : hàm dùng để lưu tài khoản Victim vào account.txt account.txt: tài khoản cuả Victim lưu Sau gửi link trang web cho Victim 29 30 B2: Sau nạn nhân đánh tài khoản mật tài khoản gửi qua Attacker sau chuyển thẳng đến trang thật 31 IV Nhận xét cách phòng chống : Local System : Lab + Lab 2: Ưu điểm: tốn thời gian thực hiện, Victim khó nhận bị công Nhược điểm: tốn nhiều thời gian để crack password, khó kiếm rainbow table với chiều dài khóa mã lớn phức tạp (gồm chữ,số,in hoa,viết thường,khoảng trắng ký tự đặc biệt – gọi mixalpha-numeric-symbol-space) Phòng chống: đặt password dài tốt theo tiêu chuẩn password mạnh (mixalpha-numeric-symbol-space) Lab 3: Ưu điểm: dễ cài đặt cấu hình, dễ sử dụng, có chức gửi log Attacker Nhược điểm: bị phát tiêu diệt chương trình Anti-virus Phòng chống: cài Anti-virus update thường xuyên Local Network : Ưu điểm : kiểm sốt tồn gói tin từ máy victim internet hay đâu cần qua router, từ nắm thông tin mật người dùng tài khoản yahoo, mail, google, facebook …… 32 ... Nhiều người dùng cụm "encrypted password" cho trường hợp shadowed password dùng có phần thiếu xác "shadowed password" bao gồm salt (để encode password user gõ password vào) encoded string (dùng... tạo shadow riêng cho username Về cách "mã hố" shadow tổng thể sau Khi user cung cấp pasword chọn password, password encode với giá trị ngẫu nhiên gọi salt Giá trị salt lưu với password encoded hệ... password encoded hệ thống Khi người dùng login password mình, giá trị salt lấy từ encoded password (đã lưu hệ thống) giá trị salt dùng để encode password mà người dùng vừa gõ vào Nếu hai giá trị