Tấn công Null Session đã xuất hiện kể từ khi Windows 2000 được sử dụng rộng rãi, tuy nhiên, hình thức tấn công này không được các quản trị viên hệ thống chú ý khi áp dụng các biện pháp bảo mật mạng. Điều này có thể dẫn đến kết cục khôn lường vì tin tặc có thể sử dụng hình thức tấn công này để lấy mọi thông tin hữu dụng cần thiết để giành quyền truy cập từ xa vào hệ thống. Mặc dù không còn mới mẻ, nhưng tấn công Null Session vẫn phổ biến và nguy hiểm như những năm trước đây. Xét về một khía cạnh nào đó, mặc dù khả năng bảo mật của các hệ thống hiện đại không phải quá yếu nhưng khi thực hiện các cuộc thử nghiệm xâm nhập trên máy tính Windows thì kết quả cho thấy Null Session vẫn là một trong những hình thức cần lưu ý.
Trong bài viết này chúng ta sẽ tìm hiểu cách thức hoạt động của tấn công Null Session và phương pháp ngăn chặn nó xảy ra trên hệ thống.
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.
Khi sử dụng lệnh NET, chúng ta có thể thay đổi tên chia sẻ kết nối tới chia sẻ quản trị IPC$. Khi đó kết quả sẽ khả quan hơn.
Lúc này, chúng ta đã thiết lập một kết nối Null Session tới máy tính nạn nhân. Tuy nhiên, chúng ta vẫn chưa có quyền truy cập quản trị trên máy tính này do đó chưa thể bắt đầu duyệt tìm ổ cứng hay lấy mật khẩu. Cần nhớ rằng, chia sẻ IPC được sử dụng để giao tiếp giữa các tiến trình, do đó quyền truy cập của chúng ta sẽ bị giới hạn xuống quyền truy cập của tên người dùng SYSTEM. Chúng ta có thể sử dụng lệnh NET để lấy nhiều thông tin hơn từ máy tính mục tiêu, tuy nhiên có nhiều công cụ tự động hóa sẽ thực hiện các công việc rắc rối này.
Ngoài ra chúng ta có thể lấy danh sách các chia sẻ trên máy tính của nạn nhân.
Phương pháp phòng vệ trước Null Session
Khi nghĩ đến tin tặc và các cuộc tấn công, có lẽ câu hỏi đầu tiên thường được nghĩ đến đó là ‘liệu hệ thống của chúng ta có điểm yếu hay không?’ Câu trả lời phụ thuộc vào hệ điều hành trên môi trường mạng. Nếu đang sử dụng hệ điều hành Windows XP, Windows Server 2003 hay Windows 2000, thì ở một mức độ nào đó câu trả lời là “có”. Hình thức tấn công này khó có thể thực hiện khi người dùng sử dụng các phiên bản hệ điều hành cao hơn, tuy nhiên Windows XP và Windows Server 2003 vẫn là những hệ điều hành được ưa chuộng nhất. Có một số phương pháp khác mà chúng ta có thể thực hiện để chặn Null Session.
Khi truy cập vào Regedit và duyệt tìm tới key HKLM/System/CurrentControlSet/Control/LSA/RestrictAnonymous thì chúng ta có thể cấu hình 3 tùy chọn bao gồm:
- 0 – Cài đặt mặc định. Truy cập Null Session không giới hạn.
- 1 – Không những loại bỏ Null Session mà còn chặn hiển thị tên người dùng và các chia sẻ.
- 2 – Loại bỏ mọi giá trị tới Null Session bằng cách chặn mọi truy cập.
Trên Windows XP và Windows Server 2003, chúng ta có thể thực hiện tác vụ tương tự trong ba Registry Key:
HKLM\System\CurrentControlSet\Control\Lsa\RestrictAnonymous
- 0 – Cài đặt mặc định. Null Session có thể được sử dụng để liệt kê các chia sẻ.
- 1 – Null Session không thể liệt kê các chia sẻ.
- 0 – Null Session có thể liệt kê danh sách người dùng.
- 1 – Cài đặt mặc định. Null Session không thể liệt kê danh sách người dùng.
- 0 – Cài đặt mặc định. Null Session không được trao đặc quyền.
- 1 – Null Session được xem là một phần của nhóm người dùng (khá nguy hiểm và có thể cho phép truy cập chia sẻ).
Chặn truy cập tại cấp độ mạng
Nếu không thể thực hiện các thay đổi trong các Registry Key được nhắc đến ở trên, thì chúng ta có thể chặn mọi truy cập với Windows Firewall hay Network Firewall. Tiến trình này có thể được thực hiện bằng cách chặn truy cập tới các cổng liên quan tới NetBIOS và SMB thông qua TCP/IP. Những cổng này bao gồm:
- Cổng TCP 135.
- Cổng UDP 137.
- Cổng UDP 138.
- Cổng UDP 139.
- Cổng TCP và UDP 445.
Lưu ý: Tiến trình chặn truy cập tới cổng cần được cân nhắc kỹ trước khi thực hiện trên nhiều cổng.
Xác định Null Session với IDS
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;Rule này sẽ không ngăn chặn các kết nối Null Session, tuy nhiên nó sẽ thông báo khi Null Session xảy ra.
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;)
Kết luận
RefLink: http://ceh.vn/ceh3/index.php?option=com_content&view=article&id=101:tim-hiu-tn-cong-null-session&catid=16:tin-bo-mt&Itemid=105