Post

MS-17-010

MS-17-010

Introduction

MS17-010 là lỗ hổng bảo mật trong giao thức SMB (Server Message Block), thường là SMBv1, cho phép kẻ tấn công thực thi mã từ xa trên máy nạn nhân.

Lỗ hổng này còn được gọi là EternalBlue, xảy ra trên các hệ thống Windows, trải dài từ Windows XP đến Windows 10 version 1607.

Ransomware WannaCry khét tiếng năm 2017 đã lợi dụng lỗ hổng MS17-010 này để tấn công các hệ thống chưa được vá lỗi và lây lan ra toàn thế giới.

Technical Specifications

Các CVE liên quan: CVE-2017-0143, CVE-2017-0144, CVE-2017-0145, CVE-2017-0146, CVE-2017-0147, CVE-2017-0148

Cách thức tấn công: Kẻ tấn công khai thác SMB qua cổng 445 của máy nạn nhân. Attacker sẽ gửi các gói tin đặc biệt đến nạn nhân gây buffer overflow –> kích hoạt lỗ hổng, dẫn đến kẻ tấn công có thể RCE

Các phiên bản Windows bị ảnh hưởng

  • Windows XP
  • Windows 7, 8, 10 (trước khi vá)
  • Windows Server 2003, 2008, 2012, 2016

Microsoft đã phát hành bản vá cho các hệ điều hành Windows bị ảnh hưởng. Tuy nhiên, các hệ thống không được vá hoặc không cập nhật thường xuyên vẫn dễ bị khai thác.

Attack Simulation

Sử dụng công cụ metasploit để tiến hành tấn công mô phỏng

Requirement

Ta sẽ sử dụng 2 máy bao gồm:

  1. Máy attacker: Kali Linux, 192.168.174.132
  2. Máy victim: Windows 7, 192.168.174.144

Reconnaissance

Trước tiên, ta thực hiện ping giữa 2 máy để đảm bảo rằng 2 máy có thể giao tiếp được với nhau.

Để thực hiện scan lỗi SMB17-010 EternalBlue có thể thực hiện 2 cách:

  • Nmap
  • Metasploit

Cách 1: Sử dụng Nmap

Chạy nmap -sS -sV 192.168.174.144 để xác định các cổng đang mở và phiên bản của dịch vụ ở máy nạn nhân.

Scan port

Chạy nmap -sS -p 445 --script smb-vuln-ms17-010.nse 192.168.174.144 để để quét mục tiêu xem có bị lỗ hổng MS17-010 hay không

Scan Vul

=> Xác nhận tồn tại lỗ hổng MS17-010

Cách 2: Sử dụng Metasploit

Ta tiến hành các bước sau:

  1. Chạy msfconsole
  2. Chọn module quét: use auxiliary/scanner/smb/smb_ms17_010
  3. Thiết lập địa chị IP mục tiêu: set rhosts 192.168.174.144
  4. Bắt đầu quét: run

Scan Vul

Exploiting

Để thực hiện truy cập vào máy victim, ta sử dụng metasploit và dùng search ms17 để tìm các module liên quan

Search module

Ta dùng module exploit/windows/smb/ms17_010_eternalblue

Kiểm tra các giá trị của module này với lệnh show options. Có 3 giá trị mà chúng ta cần phải thay đổi đó là RHOSTs, LHOSTLPORT.

  • RHOSTs: IP của victim
  • LHOST: IP của attacker
  • LPORT

Show options

Sau khi tấn công thành công, ta có thể thực thi một số hành động sau:

  • Cài phần mềm độc hại như ransomware, trojan, hoặc backdoor để duy trì quyền truy cập vào hệ thống.
    • Ví dụ để upload file, ta dùng lệnh: upload <filename>

Upload file

  • Sử dụng lệnh shell để điều khiển máy victim từ xa.
  • Theo dõi nạn nhân: keylogging, sử dụng camera của nạn nhân

Detection and Prevention

Detection

Giám sát lưu lượng mạng: Dùng công cụ như Wireshark để kiểm tra các gói SMB có nội dung bất thường hoặc có dấu hiệu của khai thác MS17-010.

  • Kiểm tra các lưu lượng bất thường qua cổng 445

Filter

  • Có thể theo dõi tần suất gửi yêu cầu SMB

Filter

  • Xem xét các yêu cầu SMB negotiation hoặc trans2 để xác định lưu lượng có thể chứa mã khai thác

Phân tích log –> Kiểm tra các tiến trình lạ: Các cuộc tấn công thường kích hoạt các tiến trình lạ trên máy nạn nhân (như các phiên shell hoặc các phần mềm độc hại chạy ẩn).

  • Theo dõi Event Windows hoặc sử dụng Sysmon để kiểm tra các kết nối và quá trình bất thường.
    • Tìm kiếm các dấu hiệu đăng nhập, lỗi hệ thống, hoặc các hành vi đáng ngờ khác.

Event 4624 Event 4624, Logon type: 5 đã có phiên đăng nhập được thực hiện bằng service

Event 1 Sysmon, Event ID 1 - Giám sát các process mới để xem có process nào lạ được khởi chạy không

Event 10 Sysmon, Event ID 10 - Ghi nhận các truy cập đến tiến trình khác, đặc biệt là các tiến trình nhạy cảm như LSASS để lấy cắp thông tin xác thực. Đây có thể là dấu hiệu của EternalBlue khai thác thành công

Prevention

  • Sử dụng anti-virus và thường xuyên cập nhật các bản vá lỗi
  • Vô hiệu hóa giao thức SMBv1
    • Giao thức SMBv1 đã lỗi thời và không an toàn. Có thể tắt SMBv1 để giảm thiểu nguy cơ bị tấn công:
    • Windows 10 và các phiên bản mới hơn đã vô hiệu hóa SMBv1 mặc định, nhưng nên kiểm tra để đảm bảo.
  • Kiểm soát cổng 445 bằng firewall
    • Chặn cổng 445 từ bên ngoài để ngăn chặn truy cập trái phép vào giao thức SMB từ mạng bên ngoài.
    • Giới hạn quyền truy cập SMB trong nội bộ mạng và chỉ cho phép các kết nối cần thiết.
  • Backup dữ liệu thường xuyên
    • Đảm bảo backup định kỳ dữ liệu quan trọng để có thể khôi phục nhanh chóng trong trường hợp bị tấn công.

References

https://nvd.nist.gov/vuln/detail/cve-2017-0143

https://www.sentinelone.com/blog/eternalblue-nsa-developed-exploit-just-wont-die/

This post is licensed under CC BY 4.0 by the author.