<h1> MS17-010 </h1> <h2> Table of Contents: Điểm điểm, thông số kỹ thuật của lỗ hổng MS17-010 Điều kiện khai thác được lỗ hổng MS17-010 vào máy tính nạn nhân Demo Cách thức phòng chống, nhận biết hành vi tấn công khai thác lỗ hổng. </h2> # Điểm điểm, thông số kỹ thuật của lỗ hổng MS17-010 - Tên mã: MS17-010 hay còn được gọi là EternalBlue là một lỗ hổng phần mềm trong hệ điều hành Windows của MiAcrosoft. Nó nhắm vào giao thức Windows Server Message Block (SMB), một giao thức mạng cho phép chia sẻ quyền truy cập vào các tệp, máy in và các tài nguyên khác trong mạng. - Dịch vụ bị ảnh hưởng: SMBv1 (Server Message Block version 1) - MS17-010 là lỗi "buffer overflow" (tràn bộ nhớ đệm), trong đó kẻ tấn công có thể gửi nhiều dữ liệu hơn khả năng chứa của bộ nhớ đệm SMB. Điều này làm cho các phần mã không mong muốn chạy trong bộ nhớ, giúp kẻ tấn công đưa payload vào và thực thi. - Lỗ hổng của nó được công khai qua CVE-2017-0143 đến CVE-2017-0148 là một nhóm lỗ hổng nghiêm trọng trong máy chủ Microsoft SMBv1 được sử dụng trong Windows 7, Windows Server 2008, Windows XP và thậm chí cả Windows 10 chạy trên cổng 445 - Mức độ nghiêm trọng: Rất cao - Lỗ hổng này không chỉ áp dụng cho Microsoft Windows; trên thực tế, bất kỳ thứ gì sử dụng giao thức máy chủ Microsoft SMBv1, chẳng hạn như máy in, thiết bị y tế siêu âm đều có khả năng bị tấn công. - Đã sử dụng như là một phần của Vụ tấn công WannaCry. WannaCry (cũng có tên là Wanna Decrypt0r hay WannaCrypt) là cách gọi chơi chữ của kẻ tấn công, ngụ ý rằng ai bị “dính” nó thì chỉ có nước khóc. Về mặt kỹ thuật, ransomware WannaCry khi lây nhiễm được vào máy tính sẽ mã hóa tất cả các tập tin dữ liệu trên ổ cứng bằng thuật toán mã hóa AES và RSA, nghĩa là hacker có thể giải mã trực tiếp các file bị khóa bằng một khóa giải mã duy nhất. - Mặc dù lỗ hổng đã được vá vào năm 2017, các cuộc tấn công EternalBlue vẫn diễn ra thường xuyên. Công ty bảo mật Avast ước tính rằng mỗi tháng họ chặn khoảng 20 triệu lần khai thác EternalBlue. ![image](https://hackmd.io/_uploads/S1aYRh6g1l.png) # Điều kiện khai thác được lỗ hổng MS17-010 vào máy tính nạn nhân - Dò quét cổng TCP/445 trên toàn mạng và tìm cách khai thác lỗ hổng MS17-010 và lây nhiễm qua các máy khác - Các lỗ hổng tồn tại bởi vì máy chủ SMBv1 trong các phiên bản khác nhau của Microsoft Windows chấp nhận các gói dữ liệu đặc biệt được tạo bởi những kẻ tấn công từ xa - Bản chất của SMB cho phép di chuyển ngang trong mạng. Nó cho phép kẻ tấn công phát tán phần mềm độc hại từ hệ thống này sang hệ thống khác. Điều đó có nghĩa là một khi đã vào bên trong, phần mềm độc hại có thể di chuyển qua toàn bộ mạng nếu không được phân đoạn đúng cách. # Demo Đầu tiên ta phải nhận biết được server của Microsoft đang chay thông qua 3 port điển hình là 135, 139, 445 ![image](https://hackmd.io/_uploads/SkIZo6pgye.png) Ta có 3 cách để phát hiện rằng lỗ hổng MS170-010. Đầu tiên là sử dụng kỹ năng search. Sau khi biết được version của máy chủ là gì ta sẽ xem ở version đó nó có lỗ hổng nào có sẵn không ![image](https://hackmd.io/_uploads/Sksu6ppxJl.png) ![image](https://hackmd.io/_uploads/SyrG9VWbye.png) Cách thứ 2 chính là sử dụng các script có sẵn của nmap để scan lỗ hổng đó bằng option `--script vuln` ![image](https://hackmd.io/_uploads/rkZ4Appe1l.png) Cách cuối cùng đó chính là dùng metasploit, nó có 1 option hỗ trợ scan lỗ hổng ![image](https://hackmd.io/_uploads/B1RqKaplyl.png) Sau khi xác định được chính xác nó là lỗ hổng rồi, ta sẽ tiếp tục dùng metasploit để tiến hành khai thác lỗ hổng này ![image](https://hackmd.io/_uploads/HJX0YpTeJx.png) Trình meterpreter xuất hiện sau khi thực hiện khai thác để chứng tỏ khai thác thành công, đồng thời, ta sẽ gọi được shell ![image](https://hackmd.io/_uploads/rySBJA6x1e.png) Với lệnh xác định được người dùng hiện tại của mình là `nt authority system` là quyền cao nhất. Ta có thể thao tác bất cứ thứ gì mình muốn mà không cần phải leo quyền nữa. Dưới đây là một vài thao tác. Đọc file config ![image](https://hackmd.io/_uploads/SkuBQC6eke.png) Dump password ![image](https://hackmd.io/_uploads/S1B-EATxJl.png) ![image](https://hackmd.io/_uploads/HJJA4AaeJx.png) # Cách thức phòng chống, nhận biết hành vi tấn công khai thác lỗ hổng. ## Nhận biết hành vi tấn công - Giám sát lưu lượng SMB bất thường: Lỗ hổng MS17-010 thường kèm theo các yêu cầu SMB bất thường. SOC có thể dùng các công cụ như IDS/IPS (Intrusion Detection/Prevention Systems) để phát hiện lưu lượng SMB khả nghi, đặc biệt là các yêu cầu mã hóa (suspicious encrypted requests). - Các event id 4688 (Creation process) sẽ xuất hiện ## Cách thức phòng chống - Khai thác lỗ hổng MS17-010 cần truy cập vào cổng 445, nơi dịch vụ SMB hoạt động. Nếu cổng này bị chặn từ bên ngoài (bởi tường lửa hoặc chính sách mạng), kẻ tấn công sẽ khó có thể tiếp cận để khai thác. - Vô hiệu hóa SMBv1: Nếu không cần SMBv1, việc vô hiệu hóa nó có thể bảo vệ hệ thống của bạn. - Sao lưu giữ liệu an toàn thường xuyên và có phiên bản để riêng trên thiết bị lưu trữ không nối mạng. Với lưu trữ đám mây hãy chắc chắn lấy được dữ liệu sạch từ phiên bản cũ hơn nếu chẳng may các file trên mây bị dịch vụ đồng bộ tập tin ghi đè file mã hóa từ ổ cứng. - Vá hệ thống của bạn: Áp dụng bản vá MS17–010 của Microsoft để vá lỗ hổng bảo mật. # Reference https://www.sentinelone.com/blog/eternalblue-nsa-developed-exploit-just-wont-die/