[Pentest] Tìm hiểu lổ hổng bảo mật OpenSSH (CVE-2016-6515)

312

Vào tháng 8/2016, cộng đồng bảo mật đã công bố về một lổ hổng ở dịch vụ OpenSSH khiến cho hệ thống Linux chạy OpenSSH có thể bị tấn công DoS/DDoS gây nghẽn tài nguyên hệ thống như CPU khiến hệ thống trì trệ trong hoạt động cung cấp dịch vụ cho người dùng.

Vậy thì chúng ta sẽ cùng có 1 bài viết nhỏ nói về lổ hổng này thử nào.

openssh-logo

1. Thông tin chung

Tên mã lỗi : CVE-2016-6515
Ngày công bố : 01/08/2016
Hình thức : DoS/DDoS
Đối tượng : dịch vụ OpenSSH
Link tham khảo : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6515

2. Miêu tả kĩ thuật

Hàm chứng thực mật khẩu trong file ‘auth-passwd.c‘ của dịch vụ ‘sshd‘ (OpenSSH) với các phiên bản OpenSSH cũ, cụ thể là dưới 7.3, không có cơ chế giới hạn độ dài mật khẩu đối quá trình chứng thực mật khẩu. Điều này vô hình chung cho phép kẻ xấu thực hiện việc tấn công vào hệ thống dịch vụ OpenSSH trên VPS/Server, 1 dạng DoS, gây ngốn tài nguyên hệ thống như CPU thông qua 1 chuỗi kí tự dài dùng để chứng thực mật khẩu.

3. Giải pháp

3.1 Nâng cấp OpenSSH từ 7.3

Như đã nói ở trên thì chúng ta cần nâng cấp dịch vụ chương trình OpenSSH lên 7.3 trở đi, mới fix được lỗi này.

3.2 Cấu hình dịch vụ ‘sshd’ trên hệ thống Linux hạn chế ảnh hưởng lại.

Bạn cần thay đổi một số cấu hình dịch vụ ‘sshd’ trên Linux tại file ‘/etc/ssh/sshd_config‘ để hạn chế tác động của phương thức tấn công này. Các bạn lưu ý là cách này chỉ ‘hạn chế’ chứ không giải quyết triệt để bằng cách nâng cấp lên phiên bản dịch vụ mới từ 7.3 trở lên nhé.

3.2.1 Login Grace Time
– Login grace time là thời gian mà hệ thống sẽ chờ đợi để kết thúc một quá trình đăng nhập từ kết nối ngoài vào hệ thống nhưng chưa hoàn thành. Bạn có thể giảm thời gian xuống thấp để tránh ảnh hưởng bởi kết nối kéo dài của kẻ tấn công.

 
3.2.2 Cấm user root login

– Thực ra thì cách tấn công này ảnh hưởng đến toàn bộ user hệ thống vì nó diễn ra trong quá trình trao đổi mật khẩu. Nhưng kẻ tấn công thì chả thể nào biết được user trên hệ thống Linux của bạn ngoại trừ user thường sử dụng luôn là ‘root‘.
– Vậy nên hãy cấu hình cấm đăng nhập bằng user root, hãy đăng nhập bằng user thường rồi ‘sudo’ lên.


3.2.3 SSH Key Authentication
– Việc tấn công lổ hổng CVE-2016-6515 chỉ ảnh hưởng đến quá trình chứng thực mật khẩu thông thường nếu trên hệ thống OpenSSH không sử dụng quá trình đăng nhập key. Tuyệt nhiên bạn nên tắt chức năng đăng nhập bằng mật khẩu và đổi sang đăng nhập bằng SSH Key vì các mục tiêu an toàn thông tin khác nhau.

 
3.2.4 Đổi port ssh
– Muốn tấn công dịch vụ SSH thì sẽ phải tấn công vào port mà dịch vụ OpenSSH đang lắng nghe kết nối. Vậy nếu vẫn để port thông dụng là ’22’ thì kẻ tấn công dễ dàng tấn công vào, thế thì ta đổi port đi thì sẽ rất khó để kẻ tấn công biết port nào là port SSH để thực hiện việc tấn công.

4. Thử nghiệm tấn công

– Bạn có thể download kịch bản code tấn công như sau : https://www.exploit-db.com/exploits/40888/ , script sẽ tấn công bằng cách gửi một data mật khẩu 9000 kí tự thông qua user root.
– Giả sử lúc này ta có đoạn code python version 2 trên với tên gọi ‘cve6515.py‘.
– Môi trường remote linux bị ảnh hưởng là môi trường chưa đáp ứng các giải pháp trên hoặc không có bất kì hệ thống IDS/IPS, firewall quá nhiệt tình lọc traffic ở giữa.

– Cài đặt module python ‘paramiko‘ hỗ trợ hoạt động tấn công.

– Giả sử ip remote cần tấn công là : 192.168.100.15. Việc tấn công sẽ duy trì suốt trong khoảng thời gian ‘LoginGraceTime‘ của hệ thống cho phép.

 
– Tạo nhiều tiến trình ngầm làm ngốn tài nguyên CPU hệ thống remote linux. Lúc này bạn đăng nhập remote linux rồi show thông tin tải hệ thống ‘uptime/top‘ để xem là thấy liền.

Hy vọng với những hệ thống nhỏ nhật các bạn nên hạn chế loại hình tấn công trông đơn giản nhưng cũng có ảnh hưởng ít nhiều như
này.

Đánh giá sao từ người đọc :
[ Tổng : 3 - Trung bình: 4.3 ]

LEAVE A REPLY