Những Nội Dung Chính Module 4
- Enumeration Là Gì?
- Null Session
- SNMP Enumeration
- Active Directory Enumeration
Enumeration hay Liệt kê là bước tiếp theo trong quá trình tìm kiếm thông tin của tổ chức, xảy ra sau khi đã scanning được dùng để tập hợp và phân tích tên người dùng, tên máy, tài nguyên chia sẽ cùng các dịch vụ. Quá trình này cũng chủ động truy vấn hoặc kết nối tới mục tiêu để có được những thông tin mà các hacker quan tâm.
I: Enumeration Là Gì?
Enumeration có thể được định nghĩa là quá trinh trích xuất những thông tin có được trong phần scan ra thành một hệ thống có trật tự. Những thông tin được trích xuất bao gồm những thứ có liên quan đến mục tiêu cần tấn công, như tên người dùng (user name), tên máy tính (host name), dịch vụ (service), tài nguyên chia sẽ (share).
Những kỹ thuật liệt kê được điều khiển từ môi trường bên trong.
Enumeration bao gồm cả công đoạn kết nối đến hệ thống và trực tiếp rút trích ra các thông tin. Mục đích của kĩ thuật liệt kê là xác định tài khoản người dùng và tài khoản hệ thống có khả năng sử dụng vào việc hack một mục tiêu. Không cần thiết phải tìm một tài khoản quản trị vì chúng ta có thể tăng tài khoản này lên đến mức có đặc quyền nhất để cho phép truy cập vào nhiều tài khoản hơn đã cấp trước đây.
Các kỹ thuật được sử dụng trong liệt kê có thể kể ra như:
- Kỹ thuật Win2k Enumeration : dùng để trích xuất thông tin tài khoản người dùng (user name).
- Kỹ thuật SNMP (Simple Network Management Protocol) để liệt kê thông tin người dùng.
- Kỹ thuật Active Directory Enumeration dùng trong liệt kê hệ thống Active Directory.
II: Null Session là gì?
Khi người dùng đăng nhập vào hệ điều hành, hệ thống sẽ yêu cầu chứng thực với các thông tin username và password. Sau quá trình chứng thực, một danh sách truy cập – ACL – được tải về để xác định quyền hạn của user đăng nhập. Nó một cách khác, quá trình đó tạo cho user một phiên làm việc rõ ràng. Tuy nhiên, có những dịch trong hệ điều hành được kích hoạt tự chạy, với một user ẩn danh nào đó, chẳng hạn như SYSTEM USER. Các user này không cần có password được dùng để khởi chạy các dịch vụ ví dụ dịch vụ tìm kiếm tài nguyên chia sẽ khi các bạn chọn chức năng duyệt trong Explorer, lúc này chúng ta đang sử dụng các dịch vụ thuộc dạng Null Session.
Phương thức hoạt động của Null Session
Một phiên truy cập từ xa được tạo lập khi người dùng đăng nhập từ xa vào một máy tính sử dụng một tên người dùng và mật khẩu có quyền truy cập vào tài nguyên hệ thống. Tiến trình đăng nhập này được thực hiện qua giao thức SMB (Server Message Block) và dịch vụ Windows Server. Những kết nối này hoàn toàn hợp pháp khi những thông tin đăng nhập chính xác được sử dụng.
Một Null Session xảy ra khi người dùng thực hiện kết nối tới một hệ thống Windows mà không sử dụng tên người dùng hay mật khẩu. Hình thức kết nối này không thể thực hiện trên bất kỳ hình thức chia sẻ Windows thông thường nào, tuy nhiên lại có thể thực hiện trên chia sẻ quản trị IPC (Interprocess Communication). Chia sẻ IPC được các tiến trình của Windows sử dụng (với tên người dùng là SYSTEM) để giao tiếp với các tiến trình khác qua mạng này. Chia sẻ IPC chỉ được giao thức SMB sử dụng.
Chia sẻ không yêu cầu thông tin đăng nhập IPC thường được sử dụng cho những chương trình giao tiếp
với một chương trình khác, tuy nhiên không có gì đảm bảo rằng người dùng không thể kết nối tới một
máy tính bằng kết nối IPC này. Kết nối IPC không chỉ cho phép truy cập không giới hạn vào máy tính,
mà còn trao quyền truy cập vào tất cả các máy tính trên mạng, và đây là những gì mà tin tặc cần để xâm
nhập hệ thống.
Phương thức tấn công sử dụng Null Session
Giờ đây chúng ta đã biết cách thức hoạt động của Null Session, tuy nhiên ‘liệu tin tặc có thể sử dụng hình thức tấn công này dễ dàng hay không?’ Câu trả lời là ‘khá dễ dàng’. Kết nối Null Session có thể được thiết lập trực tiếp từ một lệnh Windows mà không cần sử dụng công cụ bổ sung, đó chính là lệnh NET. Lệnh NET có thể thực hiện nhiều chức năng quản trị, khi sử dụng lệnh này chúng ta có thể tạo một kết nối tới một chia sẻ tiêu chuẩn trên máy chủ đích, tuy nhiên kết nối này sẽ thất bại do những thông tin đăng nhập không chính xác.
Công Cụ Dùng Để Tấn Công Null Session
Null Session có thể dễ dàng tấn công với công cụ có sẵn trong windows như Net, Netview. Tuy nhiên, như đã trình bày ở trên, chúng ta cần một quá trình phúc tập hơn để làm được nhiều việc, như liệt kê thư mục, user…Công cụ Nbtstat và Enum sẽ giúp chúng ta thực hiện hàng loạt các công việc phức tạp, để cuối cùng chúng ta xâp nhập được vào hệ thống. Dumpsec và Superscan là hai công cụ đồ họa hổ
trợ thực hiện các công việc này.
Chống tấn công bằng Null Session
Null Session sử dụng các cổng TCP 135, 137, 139, hay 445 vì vậy đóng các cổng này là một trong những cách để chặn các kết nối null session. Tuy nhiên, máy tính của chúng ta sẽ không thể chia sẽ tài nguyên cho người dùng khác khi đóng những cổng này. Trên các hệ thống tường lữa hay gateway của hệ thống mạng các quản trị hệ thống hay tắt chức năng NetBIOS bằng cách mở trang thuộc tính của card mạng và chọn tab WINS trong Advance TCP/IP Settings và chọn Disable NetBIOS over TCP/IP
Chặn Null Session Trong Registry
Chúng ta có thể chặn Null Session bằng cách thêm vào một khóa có kiểu REG_WORD với giá trị bằng 2 trong Registry như sau :
1. Mở regedt32, di chuyển đến HKLM\SYSTEM\CurrentControlSet\LSA.
2. Chọn Edit Add Value. Và nhập vào giá trị :
Tên : RestrictAnonymous
Kiểu : REG_WORD
Giá trị: 2
Phát Hiện Null Session với IDS
Nếu những thay đổi trong Registry hay Firewall loại bỏ chức năng của các ứng dụng mạng thì chúng ta phải sử dụng một phương pháp khác. Thay vì chặn thống kê qua Null Session, một trong những biện pháp
hữu hiệu nhất đó là phát hiện ra tấn công Null Session một cách sớm nhất để có thể triển khai những biện pháp khắc phục kịp thời như khi thực hiện một sự kiện bảo mật mạng thông thường. Nếu đang sử dụng Snort, một IDS/IPS (Hệ thống phát hiện và chặn xâm nhập mạng) phổ biến nhất hiện nay trong môi trường sản xuất, thì rule sau đây sẽ phát hiện thống kê Null Session:
alert tcp $EXTERNAL_NET any -> $HOME_NET 139 (msg:”NETBIOS NT NULL session”; flow:to_server.establshed;
content: ‘|00 00 00 00 57 00 69 00 6E 00 64 00 6F 00 77 00 73 00 20 00 4E 00 54 00 20 00 31 00 33 00 38 00 31|’; classtype:attempted-recon;)
Giải pháp cuối cùng như đã đề cập ở trên là nâng cấp hệ điều hành. Null Session chỉ dễ dàng thực hiện với hệ điều hành đời cũ trước năm 2000. Còn sau đó như Windows XP, Windows 2003 thì việc này đã
được Microsoft tích hợp trong sản phẩm. Do đó, nâng cấp hệ điều hành làm chúng ta yên tâm hơn.