Xác thực Microsoft
Trong hệ thống mạng máy tính, xác thực là quá trình xác nhận danh tính của user hay thiết bị. Khi bạn xác thực một thực thể, mục tiêu là xác thực tính chính thống của thiết bị. Tương tự, khi bạn xác thực một user, mục tiêu là xác thực user đó có phải kẻ mạo danh hay không.
Trong nền tảng Microsoft, hệ điều hành cài đặt một bộ giao thức xác thực mặc định bao gồm Kerberos, Security Account Manager (SAM), NT LAN Manager (NTLM), LM, và 1 số cơ chế xác thực khác. Những giao thức này đảm bảo quá trình xác thực user, máy tính và dịch vụ diễn ra.
Quản lí bảo mật tài khoản (SAM)
Security Account Manager (SAM) là một cơ sở dữ liệu chứa dữ liệu xác minh và các thông số khác như mật khẩu để phục vụ quá trình xác thực trong hệ điều hành Windows. Trong nền tảng Microsoft, SAM chứa mật khẩu dưới dạng hashed và các thông tin tài khoản khác.
Khi hệ điều hành đang hoạt động, cơ sở dữ liệu này bị khóa lại để tránh tiếp cận từ dịch vụ. Có nhiều thuật toán bảo mật khác được sử dụng để bảo đảm tính toàn vẹn của dữ liệu.
Microsoft Windows lưu trữ mật khẩu dưới dạng hashing LM/ NTLM. Windows XP và các phiên bản mới hơn của Microsoft không chứa giá trị LM hash, hoặc khi giá trị LM hash vượt quá 14 kí tự mà sẽ chứa giá trị trống hoặc mô hình giả (dummy).
Username: user ID: LM Hash: NTLM Hash:::
Mật khẩu dưới dạng hashed được lưu trữ dạng:
Bạn có thể tìm thấy tệp SAM trong thư mục C:\windows\system32\config\SAM
Xác thực NTLM
NT Lan Manager (NTLM) là giao thức xác thực sở hữu độc quyền của Microsoft. Trong quy trình xác thực NTLM, user gửi dữ liệu xác minh đăng nhập cho bộ kiểm soát miền (domain controller).
Bộ kiểm soát miền sẽ tạo ra thử thách “nonce” được mã hóa bằng hash của mật khẩu. Nonce này là một mã số ngẫu nhiên 16-byte mà bộ kiểm soát miền tạo ra. Bộ kiểm soát sẽ so sánh phản hồi nhận được với dữ liệu, từ đó quyết định cho phép hay từ chối việc đăng nhập. Microsoft đã nâng cấp cơ chế xác thực mặc định từ NTLM sang Kerberos.
Xác thực NTLM có hai phiên bản:
- NTLM v1 (phiên bản cũ)
- NTLM v2 (phiên bản nâng cấp)
NTLM hoạt động song song với một tầng bảo mật khác: Security Support Provider (SSP) (Hỗ trợ bảo mật)
Một số hệ điều hành và tệp chứa các mật khẩu mã hóa:
Kerberos
Microsoft Kerberos là một giao thức xác thực nâng cao. Trong Kerberos, user sẽ nhận được vé (tickets) từ Key Distribution Center (KDC). KDC hoạt động phụ thuộc vào các thành tố dưới đây:
- Server xác thực (AS)
- Server cấp vé (TGS)
Để xác thực, client phải gửi yêu cầu tới TGS để được cấp vé Tick-granting-ticket (TGT). Server xác thực client bằng cách so sánh nhận dạng user và mật khẩu với dữ liệu, từ đó gửi đi TGT và một session key. Session key sử dụng cho một phiên giữa client và server cấp vé.
Client đã được xác thực và có thể giao tiếp với TGS. Client sẽ gửi TGT cho TGS và yêu cầu vé để giao tiếp với các user khác. TGS sẽ tiếp tục gửi vé và session key. Vé và session key sử dụng cho mục đích giao tiếp trong một miền đáng tin cậy.
Password Salting
Password Salting là quá trình thêm kí tự vào mật khẩu để hoạt động một chiều. Các kí tự thêm vào gây khó khăn cho việc đảo ngược hash. Ưu điểm lớn hay chức năng cơ bản của password salting là để chống lại dictionary attacks và pre-computed attacks.
Hãy xem xét ví dụ dưới đây, trong đó một giá trị hash là của mật khẩu không salting và giá trị hash còn lại là mật khẩu trên đã được salting.
No Salt: 23d42f5f3f66498b2c8ff4c20b8c5ac826e47146
Salting: 87dd36bc4056720bd4c94e9e2bd165c299446287
Việc thêm vào mật khẩu nhiều kí tự ngẫu nhiên làm cho nó trở nên phức tạp và khó đảo ngược.
Tăng đặc quyền
Trong mục này, chúng ta sẽ tìm hiểu hành động tiếp theo sau khi truy cập vào mục tiêu. Có khá nhiều nhiệm vụ trong công đoạn này. Không phải lúc nào bạn cũng hack được tài khoản admin, đôi khi bạn chỉ sở hữu tài khoản user ít đặc quyền.
Sử dụng tài khoản đặc quyền thấp sẽ không giúp bạn hoàn thành mục tiêu. Sau khi truy cập thành công, việc đầu tiên bạn phải làm là tăng đặc quyền để có quyền truy cập cao hơn.
Mỗi hệ điều hành có những cài đặt mặc định như user, administrator, root, guest,… với mật khẩu mặc định. Người tấn công có thể dễ dàng tìm thấy lỗ hổng của những tài khoản thiết lập sẵn để khai thác. Những thiết lập và tài khoản mặc định phải được đảm bảo an toàn để chống lại những truy cập không chính thống.
Tăng đặc quyền được chia thành hai loại:
Tăng đặc quyền ngang
Tăng đặc quyền ngang xảy ra khi kẻ tấn công truy cập vào bộ tài nguyên tương tự của một user nhất định.
Hãy xem xét ví dụ sau đây, trong đó hệ điều hành có vô số user bao gồm administrator, user A, user B và các user khác với đặc quyền thấp (chỉ có thể chạy ứng dụng, không thể cài đặt hay gỡ cài đặt bất cứ ứng dụng nào). Mỗi user nhận được bộ đặc quyền giống nhau.
Bằng cách tìm ra điểm yếu hay khai thác lỗ hổng, user A sẽ tiếp cận user B và lấy quyền truy cập. Bây giờ user A sẽ có quyền kiểm soát và truy cập tài khoản user B.
Tăng đặc quyền dọc
Trong loại này, kẻ tấn công cố gắng tăng đặc quyền lên cấp cao. Tăng đặc quyền dọc xảy ra khi kẻ tấn công lấy quyền truy cập vào tài khoản admin. Đặc quyền cao hơn giúp kẻ tấn công tiếp xúc những thông tin nhạy cảm, cài đặt, chỉnh sửa, xóa tệp và chạy virus, trojans,…
Thực thi ứng dụng
Khi kẻ tấn công truy cập và tăng đặc quyền thành công, bước tiếp theo hắn sẽ chạy những ứng dụng trái phép trên hệ thống mục tiêu. Công đoạn này là sẽ tiếp cận tài nguyên hệ thống, bẻ khóa mật khẩu, dựng cửa sau và nhiều động cơ khác.
Những chương trình có thể thực thi là ứng dụng tùy biến hay phần mềm sẵn có. Công đoạn chạy ứng dụng này cũng được gọi là “Sở hữu hệ thống”. Một số thao tác khi hacker chiếm quyền hệ thống:
- Điều khiển hệ thông từ xa Remote Execute
- Cài đặt malware để thu thập thông tin
- Dựng backdoor để duy trì truy cập
- Cài đặt cracker để bẻ khóa mật khẩu và script
- Cài đặt keylogger để thu thập thông tin từ người dùng
RemoteExec
RemoteExec là một phần mềm phục vụ chạy code và script từ xa. Bên cạnh đó, phần mềm còn có thể nâng cấp tệp trong hệ thống mục tiêu thông qua mạng. Những chức năng chính như:
- Kiểm soát toàn bộ phần mềm trên hệ thống mục tiêu
- Chạy ứng dụng và script từ xa
- Thực thi ứng dụng theo kế hoạch dựa trên ngày và giờ cụ thể
- Quản lí thiết lập từ xa như chỉnh sửa đăng ký, vô hiệu hóa tài khoản, chỉnh sửa và thao tác tệp
- Kiểm soát hệ thống từ xa như tắt máy, chế độ ngủ, bật, khởi động lại hay khóa
PDQ Deploy
PDQ Deploy là một phần mềm sử dụng công cụ admin hệ thống để cài đặt và gửi bản nâng cấp đến hệ thống ở xa một cách âm thầm. Nó cho phép hay giúp admin cài đặt ứng dụng và phần mềm trên một hệ thống riêng biệt cũng như nhiều hệ thống trong mạng, bí mật triển khai hầu hết ứng dụng đến hệ thống mục tiêu, bạn có thể cài đặt, gỡ cài đặt, copy, chạy và gửi tệp.
Keylogger
Keystroke logging, Keylogging và keyboard capturing là quá trình sử dụng Keylogger quan sát hay quay lại bất cứ hành động nào của user, ví dụ như theo dõi bàn phím. Keylogger có thể là phần cứng hoặc phần mềm. Mục đích quan sát dữ liệu được nhập, ảnh chụp màn hình, nhật kí màn hình bằng cách chụp màn hình mỗi khi user click.
Phần mềm keylogger
Phần mềm ghi lại hoạt động để lấy cắp thông tin từ mục tiêu. Phần mềm Keylogger được cài đặt từ xa, hoặc kẻ tấn công sẽ gửi phần mềm cho user và user vô tình thực thi ứng dụng, bao gồm
- Application Keylogger
- Kernel Keyloggers
- Hypervisor-based Keyloggers
- Form Grabbing based Keyloggers
Phần cứng Keylogger
Phần cứng Keylogger thuộc phần cứng hoặc Keylogger cài đặt trên phần cứng bằng cách truy cập vật lí vào thiết bị. Firmware-based Keyloggers yêu cầu truy cập vật lí với máy để load phần mềm vào BIOS.
Phần cứng bàn phím như key grabber USB là một thiết bị cần được cài đặt song song với bàn phím. Phần cứng Keylogger được chia thành các loại sau:
- PC/BIOS Embedded Keyloggers
- Keyloggers Keyboard
- External Keyloggers
Anti-Keyloggers
Anti-Keyloggers là những phần mềm ứng dụng chống lại keylogging. Phần mềm này loại bỏ những nguy cơ keylogging bằng việc cung cấp bảo vệ SSL, bảo vệ khỏi keylogging, bảo vệ khỏi clipboard logging và chống lại screen logging. Một vài phần mềm Anti-Keylogger được liệt kê dưới đây:
- Zemana Anti-Keylogger (https://www.zemana.com)
- Spyshelter Anti-Keylogger software (https://www.spyshelter.com)
- Anti-Keylogger (http://anti-keyloggers.com)
Spyware
Spyware là phần mềm gián điệp thu thập thông tin user tương tác với hệ thống ví dụ như địa chỉ email, chứng thư đăng nhập và các chi tiết khác một cách bí mật. Spyware hầu hết được sử dụng để theo dõi hoạt động trên mạng của user và thông tin sẽ gửi đến hacker. Spyware giấu tệp và quy trình để tránh bị phát hiện
Phân loại
- Adware
- System Monitors
- Tracking Cookies
- Trojans
Chức năng
- Theo dõi hành động của user
- Quan sát hoạt động của user
- Ghi chép cuộc trò chuyện
- Chặn ứng dụng và dịch vụ
- Gửi nhật kí đến kẻ tấn công
- Theo dõi giao tiếp email
- Ghi chép những cổng giao tiếp
- Thu âm
- Quay video
- Định vị
- Theo dõi điện thoại