Sử dụng Kali Linux để pentest phần 2: Các bước cơ bản để sử dụng Metasploit

Metasploit Framework:

Metasploit Framework (ở bài này mình sẽ gọi Metasploit) là một framework mã nguồn mở xây dựng từ ngôn ngữ perl sau đó đc viết lại bằng ruby phát triển nhằm sử dụng các shellcode (payload) để tấn công máy có lỗ hổng.Cùng với một số bộ công cụ bảo mật khác, Metasploit có cơ sở dữ liệu chứa hàng ngàn shellcode ,hàng ngàn exploit của các hệ điều hành,các chương trình hay dịch vụ.Trong quá trình phát triển metasploit liên tục cập nhật các Exploit...Nên càng ngày nó càng trở thành một bộ công cụ mạnh mẽ.
Metasploit framework
Metasploit framework
Từ ban đầu Metasploit framework là một bộ dự án sinh ra để kiểm thử bảo mật nhưng cũng có người sử dụng vào mục đích xấu.Thực sự thì ai muốn làm hacker (hay script kidie đi chăng nữa) thì cũng nên bỏ thời gian ra nghiên cứu kĩ về nó.



Khởi động Metasploit:

Ta có 3 cách để khởi động:
  • Show Application > Tìm Metasploit > Mở lên.
  • Từ Applications > Exploitation Tools > Metasploit.
  • Mở Terminal lên > Gõ lệnh: # msfconsole.
Khi Metasploit đang chạy bạn sẽ thấy dòng lệnh bắt đầu bằng msf> .

Sử dụng Metasploit:

Metasploit có thể là một chút khó hiểu nếu bạn chưa bao giờ sử dụng nó trước đây, nhưng một khi bạn đã quen với cách hoạt động, bạn có thể làm một số điều tuyệt vời với nó. Cơ bản của một quá trình tấn công gồm các bước sau:

Bước 1. Chọn một Exploit.

Nếu bạn muốn xem tất cả các exploit có trong database của Metasploit thì hãy gõ:
msf > show exploits
Nó sẽ hiển thị cho bạn gần như tất cả các exploit có trong database, còn nếu muốn tìm kiếm một exploit thì Metasploit cho phép bạn tìm kiếm theo nhiều cách.
help search để xem tất cả các tùy chọn:
help search
help search
Và nếu bạn muốn tìm kiếm theo tên, chỉ cần gõ search <tên-cần tìm> vào msfconsole. Các ví dụ dưới đây sẽ giúp bạn hiểu:
1) Tìm exploit cho lỗ hỏng Microsoft’s Security Bulletin MS13-069, thì ta chỉ cần lấy mã số để tìm:
msf > search MS13-069
2) Tìm theo số CVE ID:
msf > search cve:2013-3660
3) Tìm tất cả CVE ID thuộc năm nào đó:
msf > search cve:2013
4) Tìm theo một trương trình cụ thể:
msf > search unreal
Khi bạn đã tìm được exploit và muốn xem thông tin về exploit đó thì hãy dùng info:
msf > info exploit/unix/irc/unreal_ircd_3281_backdoor
info exploit/unix/irc/unreal_ircd_3281_backdoor
info exploit/unix/irc/unreal_ircd_3281_backdoor
Thông tin bao gồm tác giả, các tham số, giới thiệu và các trang web thông tin về exploit đó.
Để chọn sử dụng nó ta dùng lệnh use <exploit>, ví dụ:
msf > use exploit/unix/irc/unreal_ircd_3281_backdoor

Bước 2. Thiết lập các tham số đầu vào.

Để thiết lập một tham số cho exploit ta dùng lệnh set, cấu trúc lệnh như sau:
msf exploit() > set <tham-số> <giá-trị>
Thông thường ta sẽ có 4 loại tham số thường gặp:
  • LHOST: Local Host, địa chỉ của Kali.
  • LPORT: Local Port, cổng muốn sử dụng trên máy Kali, mặc định tự điền.
  • RHOST: Remote Host, địa chỉ IP của mục tiêu.
  • RPORT: Remote Port, cổng muốn dùng trên máy mục tiêu, mặc định tự điền.
Muốn xem lại các tham số nào cần thiết lập, hoặc đã thiết lập gì:
msf exploit() > show options
show options
show options
Vậy là ở đây ta thấy RHOST còn trống, hãy thiết lập giá trị cho nó:
msf exploit() > set RHOST 172.16.100.10
Địa chỉ IP ở trên là địa chỉ của mục tiêu nhé. Sau đó thì kiểm tra lại:
show options again
show options again
Đã thiết lập thành công rồi đấy.

Bước 3. Chọn loại mục tiêu.

Đối với exploit unreal dùng ở ví dụ trên thì chỉ có một tùy chọn mục tiêu là Automatic Target thôi, tuy nhiên với một số exploit khác sẽ có rất nhiều tùy chọn, và cũng như với tham số ta có thể xem và thiết lập giá trị cho nó:
msf exploit() > show targets
Lệnh này để hiện thị ra tất cả các loại mục tiêu được chọn và ID của từng loại.
msf exploit() > set target <ID>
Rồi thiết lập một loại mục tiêu cho exploit.

Bắt đầu khai thác.

Đơn giản với lệnh exploit thôi là ta đã bắt đầu khai thác lỗ hỏng từ mục tiêu.
msf exploit() > exploit

Lời kết:

Một quá trình khai thác cơ bản chỉ với ba bước như trên thôi, nếu các bạn còn thắc mắc chỗ nào thì hãy để lại bình luận mình sẽ giải thích thêm, mình sẽ rất vui khi nhận được các phản hồi từ các bạn. Ở bài sau mình sẽ demo trên lab về khai thác lỗ hỏng trên Windows XP, hãy chuẩn bị để thực hành nhé.

Post a Comment

6 Comments

  1. Bài viết thực sự hữu ích cho người mới học . cảm ơn tác giả :)

    ReplyDelete
  2. Làm sao để biết đc rport, rhost ví dụ như là mình ko biết ip và các các port đang mở thì phải làm sao ạ???

    ReplyDelete
  3. Ad ơi nó bị lỗi không hiện msf thì làm thế nào. Hình ảnh:
    https://whitehat.vn/attachments/untitled2-png.1517/
    https://whitehat.vn/attachments/untitled3-png.1518/

    ReplyDelete
  4. để biết được ip mục tiêu thì dùng các công cụ information gathering ,sniffing ,spoofing ,vv.... để tìm ip :v

    ReplyDelete
  5. bạn ơi cho mình hỏi mình đang dùng quyền root như muốn sang user bình thường $ thì làm như nào hả bạn

    ReplyDelete
  6. Trung Nguyễn Văn: Bạn tạo user rồi dùng lệnh # su để chuyển sang nhé

    ReplyDelete