Cách sử dụng công cụ Metasploit để tấn công mạng cơ bản nhất

Trong bài viết này, mình sẽ hướng dẫn các bạn cách sử dụng Metasploit cơ bản nhất. Mình sẽ sử dụng công cụ bảo mật này để xâm phạm máy chủ web đang chạy Struts2. Bạn cũng có thể tham khảo bài viết này để hoàn thành thử thách số 10 trong Christmas Advent of Cyber.

Cách sử dụng Metasploit cơ bản nhất

Metasploit là một framework kiểm thử thâm nhập giúp bạn dễ dàng ‘hack’ và là một công cụ khổng lồ trong ngành bảo mật. Với Metasploit, bạn có thể chọn exploit và payload của mình, sau đó thực thi đối với mục tiêu đã chọn. Metasploit đi kèm với nhiều công cụ khác như MSFVenom để tạo shellcode tùy chỉnh (khi thực thi thành công, nó sẽ cung cấp cho bạn một shell trên máy mục tiêu).

Bạn có thể tải xuống Metasploit từ Github hoặc được cài đặt sẵn trên tất cả các máy Kali Linux.

Nếu bạn không có môi trường hoặc công cụ bảo mật phù hợp, bạn có thể triển khai máy Kali Linux của riêng mình và điều khiển nó trực tiếp trong trình duyệt của bạn tại đây.

Sau khi cài đặt Metasploit, hãy nhập msfconsole trong terminal để khởi động Metasploit Framework.

Nếu bạn đã xác định một dịch vụ đang chạy và đã tìm thấy lỗ hổng của dịch vụ hoặc phần mềm đó, bạn có thể tìm kiếm tất cả các tên và module Metasploit để xem có code khai thác viết sẵn hay không.

Ví dụ: nếu bạn muốn tìm kiếm tất cả các module Metasploit cho IIS (một gói phần mềm máy chủ web dành cho Windows), thì có thể chạy lệnh sau: search iis
Cách sử dụng công cụ Metasploit để tấn công mạng cơ bản nhất 28
Chúng ta có thể chọn module bằng cách sử dụng lệnh sau: use <module_name>

Sau khi module được load, chúng ta có thể xem các tùy chọn của nó bằng cách dùng lệnh show options. Thông thường, điều này sẽ hiển thị RHOST(S) và RPORT nơi bạn chỉ định tên máy chủ/ip mục tiêu và cổng được liên kết (địa chỉ dịch vụ đang dính lỗ hổng).

Nó cũng sẽ hiển thị LHOST và LPORT, nơi bạn chỉ định chi tiết kết nối máy của bạn để payload Metasploit biết nơi kết nối trở lại. Tùy thuộc vào module, sẽ có các tùy chọn khác để sử dụng.

Nói tóm lại là:

  • RHOST: IP máy tính của bạn
  • RPORT:Port máy tính của bạn
  • LHOST: IP máy tính bị lỗ hổng bảo mật
  • LPORT: PORT máy tính bị lỗ hổng bảo mật

Cách sử dụng công cụ Metasploit để tấn công mạng cơ bản nhất 29Bạn có một ứng dụng dễ bị tấn công và module để khai thác nó. Bây giờ chúng ta cần chọn một payload tương thích với hệ thống dễ bị tấn công. Chúng ta cũng cần tính đến các loại shell khác nhau.

Chúng ta có thể có một reverse shell, đó là khi hệ thống dễ bị tấn công, nó sẽ tạo kết nối trở lại máy của bạn, máy đang lắng nghe các kết nối đến.

Chúng ta cũng có thể có một shell bình thường, nơi khi hệ thống bị tấn công, nó sẽ lắng nghe các kết nối đến và cho phép chúng ta tạo kết nối với nó.

Cách sử dụng công cụ Metasploit để tấn công mạng cơ bản nhất 30

Chúng ta có thể liệt kê tất cả các payloads khác nhau cho tất cả các nền tảng có sẵn bằng lệnh show payloads (hãy nhớ chạy lệnh này bên trong bảng điều khiển Metasploit, đây không phải là lệnh hệ thống). Bạn có thể chọn các payloads chỉ cung cấp cho bạn quyền truy cập shell hoặc thực thi các lệnh, nhưng bạn có thể sử dụng rất nhiều tính năng khác khi sử dụng Metasploit shell.

Metasploit payload (meterpreter) cung cấp cho bạn quyền truy cập và tương tác để không chỉ điều khiển máy thông qua shell mà còn có thể chụp ảnh màn hình của máy, dễ dàng tải lên/tải xuống tệp và nhiều thứ khác nữa. Khi bạn đang tìm kiếm payloads, hãy tìm cái có nội dung “meterpreter”. Meterpreter được triển khai hoàn toàn trong bộ nhớ và tự đưa vào các quy trình hệ thống hiện có khác.

Trong ví dụ này, mình sẽ sử dụng payload meterpreter sau: linux/x86/meterpreter/reverse_tcp – dành cho hệ thống Linux 32 bit và sẽ kết nối trở lại máy của mình. Để sử dụng payload, bạn chỉ cần dùng lệnh set PAYLOAD linux/x86/meterpreter/reverse_tcp

Nếu chúng ta nhập show options, chúng ta cũng có thể thấy các tùy chọn cho payload của mình:

Cách sử dụng công cụ Metasploit để tấn công mạng cơ bản nhất 31

Bạn có thể chọn các tùy chọn khác nhau trong Metasploit bằng cú pháp <option name> <value>. Ví dụ: trong ảnh dưới, mình đang đặt LHOST của mình thành IP máy tấn công (nhập ifconfig trong Linux shell).

Cách sử dụng công cụ Metasploit để tấn công mạng cơ bản nhất 32

Trước khi chạy module khai thác của bạn, hãy đảm bảo rằng tất cả các tùy chọn đã được thiết lập. Trong ví dụ này, chúng ta cần thiết lập RHOSTS và TARGETURI.

Để chạy module, chúng ta chỉ cần thực hiện lệnh run. Sau đó, nó sẽ khai thác máy, lắng nghe các kết nối đến và từ máy bị xâm nhập kết nối trở lại máy của bạn. Nếu tất cả đều hoạt động tốt (và bạn đã sử dụng meterpreter payload), thì nó sẽ tạo ra một phiên cho bạn:

Cách sử dụng công cụ Metasploit để tấn công mạng cơ bản nhất 33

Hậu khai thác .. Giờ đây, chúng ta có thể thực hiện các lệnh trong terminal của hệ thống, chụp ảnh màn hình, chụp ảnh màn hình webcam và nhiều thứ khác nữa.

Tóm tắt: mình đã chọn một module, đặt payload chính xác, thiết lập các tùy chọn và chạy payload.

Cách sử dụng công cụ Metasploit để tấn công mạng cơ bản nhất 34

Vài lời khuyên dành cho thử thách số 10

Struts2 là gì

Thử thách Christmas sẽ bao gồm một máy chủ web đang chạy phiên bản Apache Struts 2 dễ bị tấn công (một framework ứng dụng web mã nguồn mở cho các ứng dụng Java).

Việc của bạn là sử dụng Metasploit để khai thác nó. Tuy nhiên, trước tiên mình muốn bạn hiểu rõ tại sao framework này dễ bị tấn công.

Khi bạn ở trong container Docker

Nếu bạn chưa biết, Docker là một tập hợp nền tảng như một sản phẩm dịch vụ sử dụng ảo hóa cấp hệ điều hành để cung cấp phần mềm trong các gói được gọi là containers. Về bản chất, một máy có thể chạy một số “containers” trong môi trường trực quan hóa của riêng chúng.

Khi bạn đã khai thác máy chủ web này, bạn sẽ khai thác ứng dụng web nằm trong containers Docker, không phải trên hệ thống chính! Vì vậy, trong thực tế, bạn không có quyền truy cập vào hệ thống chính mà đang ở trong một môi trường bị cô lập.

Nó khá dễ dàng để xác định nếu bạn đang ở trong một containers, khi chạy ps aux (danh sách các tiến trình đang chạy) sẽ có một rất ít tiến trình đang chạy (dấu hiệu đầu tiên của một cái gì đó không bình thường).

Nếu bạn điều hướng đến thư mục gốc (cd /), bạn sẽ thấy một tệp environment docker – .dockerenv, một dấu hiệu lớn cho thấy bạn đang ở bên trong một container.

Có nhiều phương pháp để thoát khỏi môi trường trực quan hóa sang hệ thống chính, nhưng đối với những thách thức này, có một số thông tin đăng nhập SSH được rải rác xung quanh, bạn có thể sử dụng để SSH đơn giản vào máy sau khi đã xâm phạm container.

Ngoài ra, bạn cũng có thê xem bài Shodan trên Tryhackme tại đây.

Adblock test (Why?)


Xem Them Chi Tiet

Nhung Mon Do Cong Nghe Duoc Yeu Thich

Do Cong Nghe Phu Kien

0 nhận xét:

Đăng nhận xét