Rate this post

Trong phần này, chúng ta sẽ nói về các cuộc tấn công phía server. Các cuộc tấn công phía server không yêu cầu sự tương tác của người dùng. Các cuộc tấn công này có thể được sử dụng với các server web. Chúng ta cũng có thể sử dụng chúng trên một máy tính bình thường mà mọi người sử dụng hàng ngày.

Để thực hiện các cuộc tấn công này, chúng tôi sẽ nhắm mục tiêu vào thiết bị Metasploitable của mình. Lý do tại sao chúng tôi sẽ sử dụng nó với thiết bị Melasploitable của chúng tôi là nếu mục tiêu của chúng tôi sử dụng máy tính cá nhân và nếu họ không ở trên cùng một mạng với chúng tôi, thì ngay cả khi chúng tôi quản lý để lấy địa chỉ IP của họ, địa chỉ IP của họ sẽ đứng sau một bộ định tuyến. Họ có thể sẽ kết nối thông qua bộ định tuyến và do đó, nếu chúng tôi sử dụng IP để thử và xác định ứng dụng nào được cài đặt và hệ điều hành nào chạy trên nó, chúng tôi sẽ không nhận được nhiều thông tin hữu ích bởi vì chúng tôi sẽ chỉ nhận được thông tin về bộ định tuyến chứ không phải về con người. Người đó sẽ ẩn sau bộ định tuyến.

Các bài viết liên quan:

Khi chúng ta nhắm mục tiêu đến một server web, thì server sẽ có địa chỉ IP và chúng ta có thể truy cập địa chỉ IP đó trực tiếp trên internet. Cuộc tấn công này sẽ hoạt động nếu người đó có IP thực và nếu người đó ở trên cùng một mạng. Nếu chúng ta có thể ping người đó, ngay cả khi đó là một máy tính cá nhân, thì chúng ta có thể chạy tất cả các cuộc tấn công và tất cả các phương pháp thu thập thông tin mà chúng ta sẽ tìm hiểu.

Chúng tôi sẽ nhắm mục tiêu thiết bị Metasploitable của chúng tôi. Trước khi bắt đầu làm việc, chúng tôi sẽ chỉ kiểm tra cài đặt mạng. Chỉ để xác minh, nó được đặt thành NAT và nằm trên cùng một mạng với máy Kali. Cỗ máy Kali này sẽ trở thành cỗ máy tấn công của chúng tôi. Nếu chúng tôi thực hiện ifconfig trên máy Metasploitable, chúng tôi sẽ có thể thấy địa chỉ IP của nó như được hiển thị trong ảnh chụp màn hình sau:

Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng 10.0.2.4 là IP của thiết bị Metasploitable. Bây giờ, nếu chúng ta vào máy Kali, chúng ta sẽ có thể ping nó. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng khi chúng ta ping vào IP, chúng ta sẽ nhận được phản hồi từ máy. Bây giờ, chúng tôi có thể thử và kiểm tra bảo mật của nó như được hiển thị với ảnh chụp màn hình tiếp theo:

Một lần nữa, chúng ta có thể sử dụng các cuộc tấn công này và các phương pháp này chống lại bất kỳ máy tính nào mà chúng ta có thể ping. Các cuộc tấn công từ phía server hoạt động chống lại một máy tính bình thường, các trang web, server web, con người, miễn là chúng ta có thể ping chúng. Chỉ để truyền đạt ý tưởng này, chúng ta sẽ thấy cỗ máy Metasploitable. Nó chỉ là một máy ảo bình thường mà chúng ta có thể sử dụng ngay tại đây để làm bất cứ điều gì chúng ta muốn. Sử dụng lệnh -ls, chúng ta có thể liệt kê nó và thậm chí có thể cài đặt một giao diện đồ họa. Sau đó, chúng tôi sẽ có thể sử dụng nó theo cách chúng tôi sử dụng trong máy Kali. Nhưng nó có một server web. Nếu chúng ta cố gắng điều hướng đến server, chúng ta sẽ thấy rằng nó có các trang web mà chúng ta thực sự có thể đọc và duyệt. Chúng ta sẽ xem xét các trang web này và xem cách chúng ta có thể thử nghiệm chúng trong các chương sau như chúng ta có thể thấy trong ảnh chụp màn hình sau:

Mọi thứ đều là một máy tính, và nếu chúng ta có thể ping IP, chúng ta có thể sử dụng các cuộc tấn công từ phía server. Các cuộc tấn công này hầu hết hoạt động chống lại server vì server luôn có IP thực. Nếu người đó ở trong cùng một mạng với chúng tôi, thì chúng tôi cũng có thể ping họ để thực hiện tất cả các cuộc tấn công này.

Thu Thập thông tin cơ bản về tấn công phía server

Trong phần này, chúng ta sẽ thực hiện các cuộc tấn công phía server. Để làm điều này, trước tiên chúng ta sẽ sử dụng thu thập thông tin, được sử dụng để hiển thị cho chúng ta các chương trình đã cài đặt, hệ điều hành của mục tiêu, các dịch vụ đang chạy trên mục tiêu và cổng được liên kết với các dịch vụ này. Từ các dịch vụ đã cài đặt này, chúng tôi có thể thử và truy cập vào hệ thống. Chúng tôi có thể làm điều này bằng cách thử các mật khẩu mặc định.

Có rất nhiều người cài đặt dịch vụ và định cấu hình sai, vì vậy chúng tôi cũng sẽ có một ví dụ khác về vấn đề này. Vấn đề đầu tiên với các dịch vụ này là đôi khi, nhiều dịch vụ được thiết kế để cho phép ai đó truy cập từ xa vào máy tính đó, nhưng rõ ràng chúng cần phải có một số triển khai bảo mật. Mọi người thường định cấu hình sai các dịch vụ này, vì vậy chúng tôi có thể tận dụng các cấu hình sai này và giành quyền truy cập vào các máy tính này. Một vấn đề khác với các dịch vụ này là một số trong số chúng thậm chí có thể có cửa hậu. Rất nhiều trong số chúng sẽ có các lỗ hổng, như lỗi tràn bộ đệm từ xa hoặc lỗ hổng thực thi mã, và điều này sẽ cho phép chúng tôi có toàn quyền truy cập vào hệ thống máy tính.

Cách đơn giản nhất để làm điều này là thứ mà chúng ta đã thấy trước đây, Zenmap. Chúng tôi sử dụng Zenmap với IP của các trang web. Sử dụng Zenmap, chúng tôi sẽ nhận được danh sách tất cả các dịch vụ này, sau đó Google từng dịch vụ để xem chúng có chứa bất kỳ lỗ hổng nào không. Trước đây chúng ta đã thấy rằng thiết bị Metasploitable thực sự là một trang web. Nếu chúng ta muốn lấy IP của một trang web, chúng ta phải làm là ping. Ví dụ, muốn lấy IP của Facebook, chúng ta phải ping facebook.com, và chúng ta sẽ lấy được IP của họ. Bây giờ chúng ta sẽ có thể chạy Zenmap với IP Facebook và nhận danh sách tất cả các dịch vụ đang chạy trên Facebook. Tuy nhiên, trong phần này, chúng ta sẽ chạy Zenmap trên thiết bị Metasploitable, về cơ bản là một thiết bị máy tính.

Chúng tôi sẽ chạy Zenmap giống như cách chúng tôi đã làm trước đây. Để mở Zenmap, Chúng tôi sẽ mở terminal và nhập zenmap, và chúng tôi sẽ hiển thị ứng dụng. Chúng tôi có thể đặt bất kỳ IP nào mà chúng tôi muốn kiểm tra. Tuy nhiên, trong phần này, chúng ta sẽ nhập IP của mục tiêu của chúng ta, của thiết bị Metasploitable, là 10.0.2.4 trong ví dụ của chúng ta. Chúng tôi sẽ Quét và điều này sẽ cung cấp cho chúng tôi danh sách tất cả các ứng dụng đã cài đặt như được hiển thị trong ảnh chụp màn hình sau:

Khi quá trình quét kết thúc, chúng ta sẽ có các cổng mở và rất nhiều dịch vụ. Bây giờ chúng ta sẽ vào tab Đầu ra Nmap, kiểm tra từng cổng, đọc các dịch vụ là gì và Google tên của các dịch vụ.

Ví dụ, trong ảnh chụp màn hình sau, chúng ta có cổng 21 là cổng FTP. FTP là một loại dịch vụ được cài đặt để cho phép mọi người tải lên và tải xuống các tệp từ một server từ xa. Dịch vụ FTP thường sử dụng tên người dùng và mật khẩu, nhưng chúng ta có thể thấy rằng dịch vụ này đã bị định cấu hình sai và nó cho phép đăng nhập FTP ẩn danh. Vì vậy, trong phần này, chúng tôi sẽ có thể đăng nhập mà không cần mật khẩu, hãy lưu ý ảnh chụp màn hình tiếp theo:

Tất cả những gì chúng ta phải làm là tải xuống một ứng dụng khách FTP, chẳng hạn như FileZilla. Bây giờ, chúng tôi sẽ có thể kết nối bằng địa chỉ IP này trên cổng 21. Chúng tôi cũng có thể Google một server FTP, trong trường hợp của chúng tôi là vsftpd 2.3.4 và xem liệu nó có bất kỳ sự cố nào hoặc có bất kỳ cấu hình sai nào không, hoặc nếu nó có bất kỳ khai thác thực thi mã đã biết nào. Khi chúng tôi Google điều này, chúng tôi có thể thấy rằng vsftpd 2.3.4 có một cửa sau được cài đặt với nó. Nó thực sự đi kèm với một cửa hậu khi nó được phát hành. Chúng tôi cần Google dịch vụ một và kiểm tra xem chúng có bất kỳ cấu hình sai hoặc bất kỳ khai thác nào được cài đặt hay không.

Bây giờ chúng ta sẽ xem xét cổng 512. Hãy giả sử chúng ta đã truy cập từng cái một, chúng ta không thể tìm thấy bất cứ thứ gì và chúng ta đã đến cổng 512 TCP, như được hiển thị trong ảnh chụp màn hình sau:

Bây giờ chúng tôi sẽ chuyển đến Google dịch vụ đang chạy trên cổng 512 vì chúng tôi không biết nó là gì. Sau Googling, chúng ta biết rằng netkit-rsh là một chương trình thực thi từ xa. Nếu chúng tôi quản lý để đăng nhập bằng điều này, chúng tôi sẽ có thể thực hiện các lệnh trên máy tính mục tiêu. Chương trình này sử dụng rsh rlogin, là một chương trình đi kèm với Linux. Tương tự như SSH, nó cho phép chúng ta thực hiện các lệnh từ xa trên máy tính mục tiêu.

Hãy quay lại và xem cách chúng ta có thể kết nối với dịch vụ rsh rlogin. Hãy nhìn vào gói netkit-rsh, và chúng ta có thể thấy rằng đó là Ubuntu. Máy tính đích đang chạy trên Ubuntu và chúng ta có thể thấy rằng trong đây nó sử dụng dịch vụ rsh-client để kết nối. Vì vậy, chúng ta cần cài đặt gói rsh-client để kết nối với dịch vụ đó. Nó là một chương trình khách cho một kết nối shell từ xa. Bây giờ, sử dụng lệnh sau để cài đặt rsh-client:

apt-get sẽ cài đặt nó và cấu hình nó cho chúng tôi. Khi nó được cài đặt, chúng tôi sẽ sử dụng rlogin để đăng nhập, vì trang đầu tiên cho chúng tôi biết rằng nó sử dụng chương trình rlogin để tạo điều kiện thuận lợi cho quá trình đăng nhập. Chúng tôi sẽ làm lại rlogin và nếu chúng tôi không biết cách sử dụng ứng dụng này, chúng tôi có thể sử dụng lệnh –help để xem cách sử dụng nó, như được hiển thị trong hình sau

Ở đây, những thứ quan trọng là tên người dùng (-l) và server lưu trữ là IP mục tiêu. Bây giờ chúng ta sẽ làm rlogin. Chúng tôi sẽ đặt tên người dùng là root, là người dùng có nhiều đặc quyền nhất trên hệ thống và chúng tôi sẽ đặt 10.0.2.4, là IP mục tiêu. Đây là lệnh:

Bây giờ, chúng ta đã đăng nhập vào máy Metasploitable. Nếu chúng ta thực hiện lệnh id để lấy ID, chúng ta có thể thấy rằng chúng ta đang root. Nếu chúng ta thực hiện lệnh uname -a, nó sẽ liệt kê tên máy và hạt nhân đang chạy trên máy. Chúng ta có thể thấy rằng chúng ta đang ở trong máy Metasploitable với quyền truy cập root, được hiển thị như sau:

Đây là một cách thủ công cơ bản để có được quyền truy cập vào máy tính mục tiêu bằng cách khai thác cấu hình sai của một dịch vụ đã cài đặt. Dịch vụ rlogin không được định cấu hình đúng cách. Tất cả những gì chúng tôi phải làm chỉ là Google những gì đi kèm với cổng đó, và chúng tôi đã quản lý để đăng nhập và có quyền truy cập vào máy tính mục tiêu.

Sử dụng Metasploit tấn công server

Trong phần này, chúng ta sẽ xem xét cách khai thác rất đơn giản đó là backdoor. Chúng tôi chọn cách khai thác này bởi vì chúng tôi sẽ xem xét một khuôn khổ có tên là Metasploit. Metasploit là một công cụ thực thi và phát triển khai thác.

Đầu tiên, hãy xem cách chúng ta có thể tìm ra cách khai thác đó. Một lần nữa, sử dụng cùng một phương pháp mà chúng tôi đã làm, chúng tôi quét Nmap vì chúng tôi biết rằng chúng tôi sẽ truy cập vào từng cổng và Google chúng, tìm kiếm các khai thác. Vì vậy, chúng tôi sẽ Google khai thác tên dịch vụ vsftpd 2.3.4, theo sau là khai thác. Chúng ta có thể thấy rằng các kết quả đầu tiên đến từ trang web Rapid7. Rapid7 là một công ty sản xuất khuôn khổ Metasploit, vì vậy đó là lý do tại sao chúng tôi chọn cách khai thác cụ thể này. Bây giờ sử dụng Metasploit, chúng tôi sẽ khai thác dịch vụ này. Rapid7 sẽ cho chúng ta biết rằng phiên bản 2.3.4 của FTP có thực thi lệnh cửa sau, vì vậy về cơ bản chúng ta có thể thực hiện các lệnh trên máy tính mục tiêu nếu nó đã cài đặt chương trình này. Và sử dụng Nmap, chúng ta có thể thấy rằng chương trình này đã được cài đặt, có nghĩa là chúng ta có thể thực hiện các lệnh trên máy đích.

Metasploit được thực hiện bởi Raid7. Đó là một khung công tác khổng lồ chứa một số lượng lớn các khai thác. Nó cho phép chúng tôi khai thác các lỗ hổng hoặc tạo ra các khai thác của riêng chúng tôi. Các lệnh trên Metasploit rất đơn giản. Dưới đây là một số lệnh cơ bản:

  • msfconsole: Nó được sử dụng để chạy chương trình Metasploit.
  • help: Sử dụng lệnh này, chúng ta có thể nhận được thông tin về các lệnh và mô tả về cách chúng ta có thể sử dụng chúng.
  • show: Lệnh này hiển thị các khai thác có sẵn. Chúng tôi có thể hiển thị các phụ trợ có sẵn và các trọng tải có sẵn.
  • use: Lệnh này được sử dụng để sử dụng một cái gì đó mà chúng tôi đã hiển thị. Ví dụ: chúng tôi hiển thị các khai thác và chúng tôi chọn một khai thác nhất định mà chúng tôi muốn sử dụng. Sau đó, chúng tôi sử dụng lệnh sử dụng và chúng tôi nhập tên khai thác để chạy nó.
  • set: Lệnh này được sử dụng để thiết lập các tùy chọn cụ thể để khai thác. Ví dụ, nếu chúng ta muốn đặt cổng mục tiêu, chúng tôi đặt cổng và sau đó chúng tôi nhập giá trị của cổng mà chúng tôi muốn đặt nó.
  • exploit: Cuối cùng, khi chúng ta hoàn tất cấu hình, chúng ta có thể nhập khai thác để thực thi khai thác đó.

Chúng tôi đã truy cập vào Nmap và khi chúng tôi tìm kiếm trên Google tên của dịch vụ là khai thác vsftpd 2.3.4, chúng tôi có thể thấy rằng dịch vụ này có thực thi lệnh backdoor. Bởi vì đây là trên Rapid7, lỗ hổng bảo mật có thể bị khai thác bằng cách sử dụng Metasploit và tên mô-đun mà chúng tôi sẽ sử dụng là mining.unix / ftp / vsftpd_234_backdoor để khai thác lỗ hổng này.

Bây giờ chúng ta sẽ chuyển đến bảng điều khiển của mình, chúng ta sẽ sử dụng lệnh msfconsole để khởi chạy Metasploit, và chúng ta sẽ chạy sử dụng và sau đó đặt tên của các khai thác, đó là mining.unix / ftp / vsftpd_234_backdoor:

Trong ảnh chụp màn hình sau, chúng ta có thể sử dụng exploit để chọn backdoor:

Sau đó, chúng ta sẽ sử dụng lệnh show để hiển thị các tùy chọn mà chúng ta cần thiết lập. Như chúng ta đã biết, show là một lệnh chung mà chúng ta có thể sử dụng trong một số trường hợp. Trong trường hợp này, chúng tôi sẽ sử dụng các tùy chọn hiển thị để xem tất cả các tùy chọn mà chúng tôi có thể thay đổi cho việc khai thác cụ thể này như được hiển thị trong ảnh chụp màn hình đã cho:

Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng tùy chọn thứ hai là cổng mà dịch vụ đang chạy. Nó đã được đặt thành cổng 21. Bây giờ, nếu chúng ta quay lại Nmap, chúng ta sẽ thấy rằng server hoặc máy khách FTP mục tiêu của chúng ta đang chạy trên cổng 21. Bây giờ, chúng ta chỉ cần thay đổi RHOST. RHOST là địa chỉ IP mục tiêu và chúng ta sẽ đặt RHOST và đó là địa chỉ IP của máy Metasploitable mục tiêu của chúng ta. Chúng tôi sẽ sử dụng set và sau đó chúng tôi sẽ đặt tên tùy chọn. Bây giờ chúng ta sẽ thay đổi RHOST thành 10.0.2.4. Nếu chúng ta muốn thay đổi cổng, chúng ta có thể đặt RPORT. Lệnh như sau:

Nhấn ENTER, bây giờ trong ảnh chụp màn hình tiếp theo, chúng ta có thể thấy rằng RHOST được đặt thành 10.0.2.4:

Bây giờ chúng ta sẽ hiển thị lại lệnh tùy chọn chỉ để đảm bảo rằng mọi thứ được định cấu hình chính xác và chúng ta có thể thấy trong ảnh chụp màn hình sau, RHOST đã được thay đổi thành 10.0.2.4:

Mọi thứ đã sẵn sàng. Bây giờ, chúng ta sẽ thực hiện lệnh khai thác. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng khai thác đã được chạy thành công và bây giờ chúng ta có quyền truy cập vào máy tính mục tiêu. Nếu chúng tôi thực hiện id, chúng tôi sẽ thấy rằng UID của chúng tôi là gốc:

Bây giờ về cơ bản, chúng ta đang chạy lệnh Linux ở đây, vì vậy nếu chúng ta thực hiện uname -a, chúng ta sẽ thấy rằng đây là máy Metasploitable của tôi. Nếu chúng tôi làm ls, nó sẽ liệt kê các tệp cho chúng tôi. Nếu chúng ta thực hiện pwd, nó sẽ hiển thị việc sử dụng chúng ta đang ở đâu và chúng ta có thể sử dụng lệnh Linux để làm bất cứ điều gì chúng ta muốn trên máy đích:

Đây là một cách sử dụng Metasploit rất đơn giản. Trong tương lai, chúng tôi sẽ sử dụng nó cho các hành động nâng cao hơn.

Khai thác Code Execution Vulnerability

Trong phần này, chúng ta sẽ có một cái nhìn nâng cao hơn về Metasploit và chúng ta sẽ xem cách sử dụng nó để khai thác lỗ hổng tồn tại trong một dịch vụ nhất định. Đó là một lỗ hổng thực thi mã sẽ cung cấp cho chúng tôi quyền truy cập đầy đủ vào máy tính mục tiêu. Bây giờ trở lại với kết quả của chúng ta trong Nmap, chúng ta sẽ làm điều tương tự như chúng ta đã làm trước đây. Chúng tôi sao chép tên dịch vụ và xem liệu nó có bất kỳ lỗ hổng nào không. Hiện tại, chúng ta sẽ xem xét cổng 139, có phiên bản server Samba 3.X. Cũng giống như phần trước, chúng ta sẽ vào Google và tìm kiếm khai thác Samba 3.X. Chúng tôi sẽ thấy rằng có một số kết quả, nhưng chúng tôi quan tâm đến Rapid7. Rapid7 là một công ty sản xuất khuôn khổ Metasploit, vì vậy đó là lý do tại sao chúng tôi chọn cách khai thác cụ thể này. Khai thác mà chúng tôi sẽ sử dụng là tập lệnh bản đồ tên người dùng. Nó là một lỗ hổng thực thi lệnh. Tên của lỗ hổng bảo mật là mining / multi / samba / usermap_script, vì vậy nó giống với thứ mà chúng ta đã sử dụng trước đây với backdoor xấu xa trong dịch vụ FTP. Đây chỉ là một tên khác mà chúng tôi sẽ sử dụng, như được hiển thị trong ảnh chụp màn hình sau:

Chúng tôi sẽ đến Metasploit và chạy msfconsole. Chúng ta sẽ viết một lệnh như chúng ta đã làm trong phần trước. Chúng tôi sẽ viết sử dụng và sau đó chúng tôi sẽ nhập tên khai thác mà chúng tôi muốn sử dụng. Điều tiếp theo chúng tôi sẽ làm là hiển thị các tùy chọn. Lệnh sẽ như sau:

Sử dụng những khai thác này luôn luôn giống nhau. Sự khác biệt duy nhất là các tùy chọn mà chúng tôi có thể đặt cho mỗi lần khai thác. Chúng tôi luôn chạy sử dụng và sau đó chúng tôi nhập tên khai thác, sau đó hiển thị các tùy chọn để xem chúng tôi có thể thay đổi những gì để làm việc với khai thác này. Bất cứ khi nào chúng tôi muốn chạy khai thác, chúng tôi sử dụng <tên khai thác>, và sau đó chúng tôi hiển thị các tùy chọn để xem các tùy chọn mà chúng tôi muốn cấu hình. Nhưng việc sử dụng khai thác và thiết lập các tùy chọn và chạy chúng luôn giống nhau.

Chúng ta cần thiết lập RHOST, là IP của máy tính mục tiêu. Chúng ta sẽ làm điều đó theo cách tương tự như chúng ta đã làm trong phần trước. Việc thiết lập các tùy chọn luôn giống nhau. Chính xác như chúng ta đã làm trước đây, chúng ta đang sử dụng lệnh set để đặt một tùy chọn, đó là RHOST và sau đó chúng ta sẽ đặt IP của máy tính mục tiêu, đó là 10.0.2.4. Chúng tôi sẽ chạy các tùy chọn hiển thị và như chúng ta có thể thấy trong ảnh chụp màn hình sau, RHOST sẽ được đặt chính xác theo IP được chỉ định:

Đây là nơi mọi thứ khác với phần trước. Trong phần trước, chúng ta cần một cửa sau đã được cài đặt trên máy tính mục tiêu, vì vậy tất cả những gì chúng ta phải làm là kết nối với cửa sau và sau đó chúng ta có thể chạy bất kỳ lệnh Linux nào trên máy tính đích. Trong phần này, máy tính đích không có cửa sau. Nó có một chương trình bình thường có lỗ hổng thực thi mã và tràn bộ đệm. Chương trình không có bất kỳ mã nào cho phép chúng ta chạy các lệnh Linux. Nó có một lỗ hổng nhất định sẽ cho phép chúng ta chạy một đoạn mã nhỏ và những đoạn mã nhỏ này được gọi là tải trọng. Những gì chúng ta cần làm là tạo một tải trọng và sau đó chạy nó trên máy tính mục tiêu bằng cách sử dụng lỗ hổng mà chúng tôi đã tìm thấy. Đoạn mã sẽ cho phép chúng ta làm những việc khác nhau.

Có nhiều loại trọng tải khác nhau mà chúng tôi sẽ xem xét trong tương lai và tải trọng có thể cho phép chúng tôi thực hiện các lệnh Linux. Chúng ta có thể chạy lệnh show payloads để xem các payload mà chúng ta sử dụng với cách khai thác cụ thể này. Chúng tôi có thể sử dụng các loại trọng tải khác nhau, như được hiển thị trong ảnh chụp màn hình sau:

Tải trọng là một đoạn mã nhỏ sẽ được thực thi trên máy tính mục tiêu sau khi lỗ hổng bảo mật đã bị khai thác. Khi chúng tôi khai thác lỗ hổng, mã mà chúng tôi chọn sẽ được thực thi. Bây giờ, tùy thuộc vào loại trọng tải mà chúng ta chọn, trọng tải sẽ làm điều gì đó hữu ích cho chúng ta. Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng tất cả các trọng tải đều là dòng lệnh, vì vậy chúng cho phép chúng ta chạy một lệnh trên máy tính mục tiêu, giống như lệnh Linux. Và tất cả chúng chỉ chạy trên Unix, vì mục tiêu của chúng tôi là Linux.

Có hai loại trọng tải chính:

  • Bind payloads: Chúng mở cổng trên máy tính mục tiêu và sau đó chúng tôi có thể kết nối với cổng đó.
  • Reverse payloads: Tải trọng ngược ngược lại với tải trọng ràng buộc. Họ mở cổng trong máy của chúng tôi và sau đó họ kết nối từ máy tính đích đến máy của chúng tôi. Tải trọng này rất hữu ích vì điều này cho phép chúng tôi vượt qua tường lửa. Tường lửa lọc bất kỳ kết nối nào đi đến máy mục tiêu, nhưng nếu máy đích kết nối với chúng ta và chúng ta không có tường lửa, thì chúng ta sẽ có thể vượt qua tường lửa.

Chúng tôi sẽ sử dụng cmd/unix/reverse_netcat payload. Phần cuối cùng của các tải trọng này là ngôn ngữ lập trình hoặc công cụ sẽ được sử dụng để tạo điều kiện kết nối. Ví dụ: trong ảnh chụp màn hình trước, chúng ta có thể thấy rằng có các tải trọng được viết

trong Perl, PHP, Python, Ruby, hoặc có một công cụ được gọi là Netcat, cho phép kết nối giữa các máy tính. Payload cmd/unix/reverse_netcat là tệp mà chúng ta sẽ sử dụng giống như cách chúng ta sử dụng khai thác. Chúng tôi sẽ sử dụng nó bằng cách sử dụng lệnh set. Lệnh sẽ như sau:

Chúng tôi sẽ đặt trọng tải giống như cách chúng tôi đặt một tùy chọn. Chúng tôi hiển thị các tùy chọn để xem có tùy chọn nào khác mà chúng tôi cần đặt hay không và vì chúng tôi đã chọn tải trọng nên có nhiều tùy chọn hơn. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng có một tùy chọn được gọi là LHOST và đó là địa chỉ nghe, là địa chỉ của chính chúng ta:

Bây giờ chúng ta sẽ sử dụng ifconfig để lấy địa chỉ IP của riêng mình và địa chỉ IP của chúng ta cho ví dụ này là 10.2.0.15, được hiển thị như sau:

Chúng tôi sẽ đặt LHOST giống như cách chúng tôi đặt RHOST trước đó. Chúng tôi đặt LHOST thành 10.2.0.15. Để làm điều này, chúng ta sẽ sử dụng lệnh set và sau đó chúng ta sẽ đặt <tên tùy chọn>, và sau đó là <giá trị> mà chúng ta muốn đặt nó thành:

Sau đó, chúng tôi sẽ thực hiện các tùy chọn hiển thị và mọi thứ có vẻ ổn, như được hiển thị trong ảnh chụp màn hình tiếp theo:

Chúng tôi đang sử dụng khai thác này. RHOST được đặt thành 10.0.2.4 là OK, và sau đó LHOST được đặt thành 10.0.2.15, điều này là hoàn hảo. Chúng tôi cũng có thể đặt cổng mà chúng tôi sẽ nghe trên máy tính hiện tại của chúng tôi. Nếu muốn, chúng ta có thể đặt nó thành 80. Cổng đó được trình duyệt web sử dụng. Nếu chúng tôi đặt LPORT thành 80, máy tính mục tiêu sẽ cố gắng kết nối với chúng tôi bằng cổng 80, cổng này không bao giờ được lọc trên tường lửa vì đó là cổng mà server web hoặc trình duyệt web sử dụng. Nếu chúng tôi mở PORT 80 trên máy của mình và mục tiêu kết nối với chúng tôi trên cổng 80, thì tường lửa sẽ nghĩ rằng mục tiêu chỉ đang duyệt internet. Chúng tôi sẽ không làm điều đó ngay bây giờ vì chúng tôi có một server web đang chạy trên cổng 80 và điều đó sẽ xung đột. Chúng tôi sẽ đặt LPORT thành 5555, giống như LHOST. Một lần nữa, chúng tôi sẽ thực hiện các tùy chọn hiển thị. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng cổng được thay đổi thành 5555:

Bây giờ chúng ta sẽ chạy lệnh khai thác để chạy khai thác. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng phiên 1 đã được mở và kết nối giữa thiết bị 10.0.2.15:5555 và thiết bị 10.0.2.4:48184, là thiết bị của chúng tôi và thiết bị đích:

Chúng ta sẽ làm pwd và sau đó chúng ta làm id. Chúng ta sẽ thấy rằng chúng ta là gốc. Nếu chúng ta thực hiện uname -a, chúng ta sẽ thấy chúng ta đang ở trong máy Metasploitable. Nếu chúng tôi làm ls, chúng tôi sẽ có thể liệt kê các tệp và như vậy. Chúng ta có thể sử dụng bất kỳ lệnh Linux nào giống như chúng ta đã làm trước đây trong phần trước, được hiển thị như sau:

Cài đặt MSFC

Trong phần này, chúng ta sẽ xem xét về Cộng đồng Metasploit. Nó là một GUI web sử dụng Metasploit, nhưng nó có một số tính năng khác ngoài việc khai thác các lỗ hổng. Cộng đồng Metasploit có thể được sử dụng để khám phá các cổng đang mở, giống như Zenmap và cài đặt dịch vụ, nhưng nó không dừng lại ở đó. Nó cũng được sử dụng để ánh xạ các cổng và dịch vụ này với các khai thác hiện có trong Metasploit và các mô-đun hiện có. Từ đó, chúng ta có thể khai thác lỗ hổng bảo mật ngay lập tức bằng cách sử dụng Metasploit. Hãy xem chúng ta có thể sử dụng nó như thế nào.

Công cụ này không có trong Kali. Chúng tôi phải tải xuống. Để tải xuống, chúng tôi cần sử dụng địa chỉ email của mình vì chúng tôi sẽ cần khóa kích hoạt sản phẩm, mã này sẽ gửi đến địa chỉ email của chúng tôi. Sử dụng liên kết sau để tải xuống:

https://www.rapid7.com/products/metasploit/metasploit-community-registration.jsp

Khi chúng tôi tải xuống phần mềm này, chúng tôi sẽ điều hướng đến Màn hình nền của mình bằng lệnh cd để thay đổi thư mục. Nếu chúng tôi liệt kê các tệp hiện tại, chúng tôi sẽ có thể thấy rằng chúng tôi đã tải xuống tệp metasploit-latest-linux-x64-installer.run của trình cài đặt. Điều đầu tiên chúng ta sẽ làm là thay đổi quyền thành một tệp thực thi để chúng ta có thể thực thi tệp này. Trong Linux, để thay đổi quyền, chúng tôi sử dụng lệnh chmod, sau đó chúng tôi sẽ đặt quyền mà chúng tôi muốn đặt, đó là thực thi + x và chúng tôi sẽ đặt tên tệp, là metasploit-new-linux-x64 -installer.run. Bây giờ chúng ta sẽ khởi chạy lệnh như sau:

Nếu chúng ta thực hiện ls, chúng ta sẽ thấy rằng có văn bản sẽ được đánh dấu bằng màu xanh lá cây, có nghĩa là nó có thể thực thi được:

Để chạy bất kỳ tệp thực thi nào trong Linux, chúng ta sẽ nhập ./ và nhập tên tệp là metasploit-latest-linux-x64-installer.run. Lệnh như sau:

Việc cài đặt rất đơn giản. Có nhiều bước cài đặt khác nhau:

Bước 1: Chúng tôi nhấp vào Tôi chấp nhận thỏa thuận, sau đó chúng tôi nhấp vào Chuyển tiếp:

Bước 2: Nó sẽ hỏi chúng tôi liệu chúng tôi có muốn khởi động Metasploit như một dịch vụ mỗi khi máy khởi động hay không. Chúng ta có thể chọn Có hoặc Không, nhưng chúng ta sẽ chọn Không. Đó là lý do tại sao Metasploit UI sẽ khởi động mỗi khi máy tính của chúng ta khởi động. Nhấp vào Chuyển tiếp:

Bước 3: Sau đó, nó sẽ yêu cầu chúng tôi cung cấp CỔNG SSL sẽ được sử dụng. Bởi vì dịch vụ chạy dưới dạng GUI web, chúng tôi có thể đặt nó thành bất kỳ thứ gì chúng tôi muốn, nhưng chúng tôi sẽ để nó là 3790:

Bước 4: Nó đang yêu cầu chúng tôi cung cấp Tên server và chúng tôi sẽ giữ nó làm localhost vì nó đang được cài đặt trên localhost của chúng tôi:

Bước 5: Sau đó, nó sẽ yêu cầu chúng tôi cung cấp cổng server cơ sở dữ liệu. Chúng tôi sẽ giữ nguyên điều này. Đây là tất cả các cấu hình để chương trình chạy:

Bước 6: Bây giờ, nó đã sẵn sàng để cài đặt. Sau khi chúng tôi nhấn Forward, nó sẽ cài đặt nó cho chúng tôi và nó sẽ yêu cầu chúng tôi nhập tên người dùng và mật khẩu cho giao diện web. Đặt điều đó cũng như, chọn tên người dùng và mật khẩu, và quá trình sẽ kết thúc suôn sẻ.

Bây giờ, khi chúng ta hoàn thành trình cài đặt, chúng ta muốn chạy dịch vụ Metasploit, vì nó sẽ được cài đặt như một dịch vụ, như một server web. Khi chúng ta muốn sử dụng Metasploit Community, chúng ta sẽ phải chạy nó bằng lệnh dịch vụ giống như cách chúng ta chạy bất kỳ dịch vụ nào trong Linux. Lệnh như sau:

Khi dịch vụ đã bắt đầu, tất cả những gì chúng ta phải truy cập vào trình duyệt và điều hướng đến https. Đảm bảo đặt https chứ không phải http: // localhot /, sau đó chúng tôi nhập cổng mà Metasploit chạy trên đó, là 3790. Nhấn Enter. Bây giờ nó yêu cầu chúng tôi đăng nhập, sau đó chúng tôi phải nhập tên người dùng và mật khẩu mà chúng tôi đã chọn trong khi cài đặt chương trình, và sau đó chúng tôi sẽ có thể sử dụng nó. Chúng ta sẽ nói về đăng nhập và sử dụng công cụ trong phần tiếp theo.

Bây giờ, chúng tôi sẽ đăng nhập bằng tên người dùng và mật khẩu mà chúng tôi đã đặt khi chúng tôi cài đặt công cụ. Trong ảnh chụp màn hình ở trên hiển thị giao diện web của cộng đồng Metasploit:

MSFC Scan

Bây giờ, sau khi đăng nhập, chúng tôi có thể truy cập tài khoản và chuyển đến cài đặt người dùng của chúng tôi hoặc đăng xuất. Chúng tôi cũng có thể kiểm tra các bản cập nhật phần mềm.

Khi chúng tôi đăng nhập lần đầu tiên, nó sẽ yêu cầu chúng tôi nhập khóa kích hoạt. Khóa kích hoạt sẽ được gửi đến địa chỉ email của chúng tôi mà chúng tôi đã đặt khi chúng tôi tải xuống công cụ. Chúng tôi nên đảm bảo rằng chúng tôi nhập một địa chỉ email hợp lệ khi chúng tôi tải xuống công cụ.

Chúng tôi sẽ bắt đầu quét, và chúng tôi sẽ nhấp vào Dự án | Dự án mới. Chúng tôi sẽ gọi dự án này là metasploitable, chúng tôi sẽ để trống Mô tả và sau đó nó sẽ yêu cầu chúng tôi cung cấp phạm vi Mạng. Chúng ta có thể đặt điều đó giống như cách chúng ta đã làm với Zenmap và chúng ta có thể đặt nó thành một phạm vi. Nó thực sự có phạm vi nằm trong mạng con của chúng tôi tại thời điểm này, là 10.0.2.1 đến 254. Chúng tôi có thể quét toàn bộ mạng để tìm các lỗ hổng và khai thác, nhưng hiện tại, chúng tôi sẽ nhắm mục tiêu 10.0.2.4, đó là Máy siêu khả vi.

Bây giờ chúng ta sẽ nhấp vào Tạo dự án. Ảnh chụp màn hình sau đây hiển thị tất cả các thông số đã thảo luận:

Bây giờ, dự án đã được tạo và chúng ta sẽ bắt đầu quét nó. Chúng tôi sẽ đi vào nút quét ở bên trái của màn hình và nhấp vào đó. Để khởi chạy quá trình quét, chúng ta phải vào Show Advanced Options để thiết lập một số tùy chọn nâng cao. Nếu chúng tôi có một phạm vi, chúng tôi có thể sử dụng địa chỉ loại trừ để loại trừ một số IP. Ví dụ: nếu chúng tôi đang nhắm mục tiêu toàn bộ mạng từ 1 đến 254, chúng tôi có thể loại trừ máy tính của mình khỏi tìm kiếm bằng cách chỉ cần nhập IP của chúng tôi là 10.0.2.15. Chúng ta cũng có thể đặt đối số Nmap tùy chỉnh vì Metasploit sẽ thực sự sử dụng Nmap để tải dịch vụ và các ứng dụng đã cài đặt. Chúng ta có thể thêm các Cổng TCP bổ sung hoặc loại bỏ các cổng TCP. Một lần nữa chúng ta có thể làm như vậy. Chúng tôi thậm chí có thể thiết lập tốc độ. Chúng tôi cũng có khám phá dịch vụ UDP. Nó thực sự phát hiện ra dịch vụ được cài đặt trên cổng. Chúng tôi cũng có thể đặt thông tin xác thực. Nếu máy tính mục tiêu sử dụng một số loại xác thực, chúng tôi có thể thiết lập nó, nhưng chúng tôi ổn vì mục tiêu của chúng tôi không sử dụng bất kỳ loại xác thực nào. Chúng tôi cũng có thể đặt một thẻ cho máy tính mục tiêu.

Bây giờ, chúng tôi sẽ không gây rối với các cài đặt này. Chúng tôi sẽ giữ nguyên mọi thứ để làm cho nó trở nên đơn giản và chúng tôi sẽ khởi chạy quá trình quét. Sau khi quá trình quét này kết thúc, chúng tôi sẽ xem cách chúng tôi có thể phân tích và khám phá, đồng thời xem chúng tôi có thể làm gì với thông tin được khám phá.

Quá trình quét kết thúc và mất gần hai phút. Nếu chúng ta nhấp vào máy Metasploitable, chúng ta sẽ thấy rằng chúng ta đã phát hiện ra một hots mới, 33 dịch vụ mới được cài đặt trên đó và nó cũng được quản lý để phát hiện một lỗ hổng:

Phân tích MSFC

Bây giờ chúng ta sẽ phân tích | server lưu trữ và thấy rằng chúng tôi có IP server của mình là 10.0.2.4 và nó đã được quét chính xác. Nó có VMware, nó có server và đang chạy trên Linux 8.04:

Nếu chúng ta nhấp vào IP 10.0.2.4, chúng ta có thể thấy dịch vụ đã cài đặt như được hiển thị trong ảnh chụp màn hình sau:

Trong ảnh chụp màn hình ở trên, NAME hiển thị tên của dịch vụ. PROTO hiển thị giao thức. STATE hiển thị trạng thái của cảng. THÔNG TIN DỊCH VỤ hiển thị thông tin dịch vụ. Hãy lấy một ví dụ, dns đang chạy trên cổng 53 có chứa giao thức udp, cổng đang mở và dịch vụ là BIND 9.4.2.

Chúng tôi có thể chuyển qua các trang bằng cách sử dụng các nút mũi tên ở dưới cùng bên phải của trang. Nó sẽ hiển thị kết quả tương tự như Nmap, chỉ với GUI tốt hơn. Tab Phiên hiển thị các kết nối. Nếu chúng tôi khai thác bất cứ điều gì, chúng tôi sẽ thấy chúng trong các phiên. GUI trông như thế này:

Tab Lỗ hổng sẽ hiển thị cho chúng ta những lỗ hổng đã được phát hiện. Với Nmap, chúng tôi chỉ nhận được các dịch vụ. Nhưng trong Metasploitable, nó thực sự lập bản đồ và hiển thị cho chúng ta, nếu nó tìm thấy một lỗ hổng và nếu Metasploit có hành vi khai thác lỗ hổng đó. Chúng tôi có thể nhấp vào nó và biết thêm thông tin về lỗ hổng.

Tab Thông tin xác thực sẽ hiển thị cho chúng ta thông tin đăng nhập nếu có bất kỳ thông tin đăng nhập thú vị nào mà chương trình quản lý để tìm thấy. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng nó được quản lý để tìm tên người dùng và mật khẩu cho PostgreSQL, là postgres. Nếu chúng tôi nhấp vào biểu tượng chìa khóa bên dưới cột HỢP LỆ, nó sẽ xác thực nó cho chúng tôi. Chúng ta có thể thấy trạng thái Xác thực trong cột XÁC NHẬN:

Bây giờ, chúng ta có thể sử dụng thông tin trước đó. Chúng ta có thể tiếp tục và kết nối với cơ sở dữ liệu SQL bằng tên người dùng là postgres và mật khẩu là postgres. Hãy xem một ví dụ nhanh về điều này. Chúng ta sẽ đến Terminal trong Kali, và chúng ta sẽ sử dụng lệnh mà chúng ta đã sử dụng để kết nối với SQL, với PostgreSQL, là psql. Bây giờ chúng ta sẽ đặt lệnh -h, và sau đó chúng ta sẽ đặt IP mà chúng ta muốn kết nối. Lệnh như sau:

Bây giờ, nó sẽ yêu cầu tên người dùng và chúng ta sẽ nhập tên người dùng. Sau đó, chúng tôi sẽ nhập mật khẩu mà chúng tôi đã chụp, đó là postgres. Sau đó, chúng tôi sẽ đăng nhập vào cơ sở dữ liệu. Sau đó, chúng tôi có thể chạy bất kỳ lệnh SQL nào trên máy tính đích. SQL là ngôn ngữ được sử dụng để giao tiếp với cơ sở dữ liệu. Bây giờ, chúng tôi được quản lý để nắm bắt tên người dùng và mật khẩu cho cơ sở dữ liệu và chúng tôi có thể giao tiếp với cơ sở dữ liệu bằng ngôn ngữ SQL. Ví dụ, chúng ta sẽ chạy select current_database (); yêu cầu. Chúng ta có thể thấy rằng nó đã chọn current_database của chúng ta, còn được gọi là postgres.

Chỉ cần nhìn vào ví dụ nhanh để cho thấy rằng dữ liệu thu được là chính xác. Chúng ta sẽ thấy trong Metasploit, trong tab Captured Data, chúng ta sẽ thấy rằng không có dữ liệu được chụp từ máy tính mục tiêu. Nhưng khi chúng ta vào tab Notes, chúng ta sẽ thấy một số ghi chú thú vị, một số trong số đó về các yêu cầu HTTP cho một số phương thức mà chúng ta sử dụng. Những ghi chú này rất hữu ích cho quá trình thu thập thông tin.

Tab Chia sẻ Tệp sẽ hiển thị bất kỳ tệp nào được chia sẻ từ máy tính đích. Tab Attempts sẽ hiển thị cho chúng tôi những nỗ lực mà chúng tôi đã thực hiện trên máy tính mục tiêu. Tab Mô-đun sẽ hiển thị cho chúng tôi các mô-đun mà chúng tôi có thể được sử dụng để khai thác bất kỳ lỗ hổng nào được tìm thấy. Chúng tôi có một lỗ hổng được gọi là Java RMI Server và chúng tôi có một mô-đun để khám phá lỗ hổng này. Chúng tôi sẽ khởi chạy Exploit: Java RMI Server Insecure Default Configuration Java Code Execution, chỉ bằng cách nhấp vào Khởi chạy. Nó sẽ cho phép chúng tôi chạy khai thác từ bên trong Cộng đồng Metasploit. Bây giờ chúng ta sẽ khai thác, theo cách tương tự, chúng ta đã làm trước đây trong msfconsole. Sau khi nhấp vào Khởi chạy, chúng tôi có tên mô-đun là exploit/multi/misc/java_rmi_server, vì vậy chúng tôi sẽ chạy lệnh sử dụng exploit/multi/misc/java_rmi_server, đặt PAYLOAD, đặt LHOST, đặt RHOST và sau đó khai thác nó.

Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng nó đã chọn chính xác địa chỉ mục tiêu và chúng ta sẽ đặt Loại kết nối thành Đảo ngược và chúng tôi sẽ giữ Loại tải trọng làm Meterpreter. Meterpreter chỉ là một loại trọng tải khác. Bây giờ chúng ta sẽ chạy mô-đun bằng cách nhấp vào Chạy mô-đun:

Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng mô-đun đã chạy và đầu ra rất giống với những gì chúng ta nhận được từ bảng điều khiển Metasploit và nó nói rằng session 1 đang mở. Nó đã tạo một phiên cho chúng tôi. Bây giờ, chúng ta có thể giao tiếp với nó:

Trong ảnh chụp màn hình trước, chúng ta có thể thấy tab Phiên. Nó có số 1. Nếu chúng ta nhấp vào mà chúng ta sẽ thấy điều đó, chúng ta có một phiên đang mở và nó đang ở trên máy Metasploitable và nó đã sử dụng server Java RMI như được hiển thị trong ảnh chụp màn hình sau:

Phần 7, chúng ta sẽ xem tất cả những thứ mà chúng ta có thể làm trên máy tính.

Ở đây, Thu thập dữ liệu hệ thống được sử dụng để lấy một số dữ liệu nhạy cảm, nhưng chúng tôi sẽ không thể sử dụng dữ liệu đó vì tất cả đều dành cho phiên bản Pro và chúng tôi có phiên bản Cộng đồng. Access Hệ thống tệp được sử dụng để truy cập hệ thống tệp. Nó có một trình duyệt tệp dựa trên web, vì vậy chúng tôi có thể duyệt qua các tệp của máy tính mục tiêu. Command Shell được sử dụng để nhận Command Prompt cho Meterpreter. Nó có một trình bao lệnh Meterpreter cho phép chúng ta sử dụng tải trọng Meterpreter. Bây giờ, chúng tôi có toàn quyền truy cập vào máy tính mục tiêu và chúng tôi có thể làm bất cứ điều gì chúng tôi muốn làm trên nó. Metasploit làm mọi thứ với chúng tôi thông qua trình duyệt. Chúng tôi không phải chạy Metasploit và định cấu hình trọng tải và khai thác theo cách thủ công.

Cài đặt Nexpose

Trong phần này, chúng ta sẽ thảo luận về công cụ có tên là Nexpose. Công cụ này được thực hiện bởi Rapid7. Nexpose được tạo ra bởi chính những người đã tạo ra Metasploit và Metasploit Community. Tương tự như Cộng đồng Metasploit, nó có GUI web và nó cho phép chúng tôi phát hiện ra các lỗ hổng. Nó cũng được sử dụng để ánh xạ các lỗ hổng này với các hoạt động khai thác hiện có. Sự khác biệt giữa Cộng đồng Metasploit và Nexpose là Cộng đồng Metasploit chỉ cho chúng tôi thấy các khai thác có thể được sử dụng trong Metasploit và Nexpose cho chúng tôi thấy các khai thác đã được xuất bản ở một nơi nào đó khác ngoài Rapid7 và Metasploit. Nó cho chúng ta thấy nhiều lỗ hổng hơn và nó hoạt động trên quy mô lớn. Nó cũng giúp chúng tôi tạo một báo cáo khi kết thúc quá trình quét và chúng tôi có thể chia sẻ báo cáo này với những người kỹ thuật hoặc với những người quản lý. Nó cũng giúp chúng tôi tạo lịch quét. Ví dụ, giả sử chúng tôi đang làm việc cho một công ty cơ sở hạ tầng lớn và chúng tôi muốn thực hiện quét định kỳ hàng tuần hoặc hàng tháng, thì công cụ này rất hữu ích đối với chúng tôi.

Công cụ này không được cài đặt sẵn kali, vì vậy chúng tôi phải tải xuống. Để tải xuống, chúng tôi cần sử dụng tên công ty và địa chỉ email của công ty. Sử dụng liên kết sau để tải xuống:

https://www.rapid7.com/products/nexpose/download/

Trước khi cài đặt nó, chúng ta phải dừng dịch vụ PostgreSQL đang chạy trong Kali Linux. Sử dụng lệnh sau để dừng dịch vụ SQL:

Khi chúng ta dừng câu lệnh SQL, chúng ta sẽ thay đổi thư mục thành Tải xuống bằng lệnh cd. Nếu chúng tôi liệt kê các tệp hiện tại, chúng tôi sẽ tìm thấy tệp thiết lập Rapid7Setup-Linux64.bin. Điều đầu tiên chúng ta sẽ làm là thay đổi quyền thành một tệp thực thi để chúng ta có thể thực thi tệp này. Trong Linux, để thay đổi quyền, chúng ta sử dụng lệnh chmod, sau đó chúng ta sẽ đặt quyền mà chúng ta muốn đặt, đó là thực thi + x, và chúng ta sẽ đặt tên tệp, đó là Rapid7Setup-Linux64.bin. Lệnh như sau:

Để chạy bất kỳ tệp thực thi nào trong Linux, chúng ta sẽ nhập ./ và nhập tên tệp là Rapid7Setup-Linux64.bin. Lệnh như sau:

Một trình cài đặt sẽ bật lên, như được thấy trong ảnh chụp màn hình sau:

Sau đây là các bước cơ bản để cài đặt nó:

Bước 1: Chúng ta phải nhấp vào Next như hiển thị trong ảnh chụp màn hình ở trên. Sau đó, nó sẽ yêu cầu chúng tôi chấp nhận thỏa thuận. Nhấp vào Accept và sau đó nhấp vào Next để tiến hành cài đặt.

Bước 2: Bây giờ, nó sẽ yêu cầu chúng ta đặt cổng cho cơ sở dữ liệu sẽ được sử dụng với Nexpose. Cổng đã được đặt thành 5432, vì vậy chúng tôi sẽ không thay đổi nó. Chúng tôi sẽ nhấp vào next:

Bước 3: Bây giờ, chúng ta phải đặt Họ, Tên, Công ty, sau đó chúng ta phải nhập Tên người dùng và Mật khẩu. Sau đó nhấp vào Next:

Bước 4: Đảm bảo rằng chúng tôi không chọn hộp được hiển thị trong ảnh chụp màn hình sau. Nếu chúng ta đánh dấu vào ô này trong khi cài đặt, chúng ta sẽ gặp rất nhiều vấn đề. Chúng tôi sẽ chỉ cần cài đặt nó và sau đó khởi động nó sau khi chúng tôi muốn sử dụng nó. Chúng tôi sẽ bỏ chọn hộp này. Và đó là nó, bây giờ nó sẽ cài đặt nó cho chúng tôi:

Bước 5: Sau khi cài đặt thành công, chúng ta ấn chọn Finish:

Nexpose Scan

Bây giờ Nexpose đã được cài đặt thành công. Hãy xem cách chúng ta có thể chạy nó và công cụ này hoạt động như thế nào. Nexpose sử dụng cơ sở dữ liệu của riêng nó, vì vậy điều đầu tiên chúng ta sẽ làm là tắt cơ sở dữ liệu của Kali Linux. Nếu cả hai cơ sở dữ liệu của chúng ta chạy trên cùng một cổng, chúng sẽ xung đột với nhau. Bây giờ, chúng tôi sẽ dừng dịch vụ postgresql. Chúng ta nên nhớ rằng, trước khi chạy Nexpose, chúng ta tắt cơ sở dữ liệu của mình. Lệnh dừng cơ sở dữ liệu của chúng tôi như sau:

Bây giờ, chúng ta sẽ điều hướng đến vị trí mà chúng ta đã cài đặt Nexpose. Trừ khi chúng tôi thay đổi vị trí trong quá trình cài đặt. Nexpose sẽ được cài đặt trong thư mục opt / Raid7 / nexpose /. Tệp chạy server được lưu trữ trong thư mục nsc và tệp chúng tôi muốn chạy được gọi là nsc.sh.

Để chạy bất kỳ tệp thực thi nào, chúng ta sẽ nhập ./ và nhập tên tệp là nsc.sh. Lệnh như sau:

Chạy lệnh này lần đầu tiên có thể mất một chút thời gian. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng công cụ đã tải thành công. Nó cho chúng tôi biết rằng chúng tôi có thể điều hướng đến nó bằng cách sử dụng URL https: // localhost: 3780:

Bây giờ chúng tôi sẽ khởi chạy trình duyệt của mình và sao chép URL mà nó vừa cung cấp cho chúng tôi. Sau đó, nó sẽ yêu cầu chúng tôi nhập Tên người dùng và Mật khẩu mà chúng tôi đã tạo khi cài đặt công cụ:

Sau khi đăng nhập thành công, nó sẽ yêu cầu chúng ta nhập mã khóa sản phẩm như được hiển thị trong ảnh chụp màn hình sau:

Chúng tôi biết rằng đó là phiên bản Miễn phí và khi chúng tôi tải xuống công cụ, chúng tôi phải điền vào biểu mẫu. Trong biểu mẫu đó, chúng tôi phải đặt địa chỉ email của mình. Công cụ này đã gửi khóa sản phẩm đến email của chúng tôi, vì vậy chúng tôi sẽ đi đến email của mình và lấy khóa sản phẩm và dán nó. Sau khi dán, bấm vào KÍCH HOẠT BẰNG PHÍM. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng quá trình kích hoạt đã thành công và nó chỉ hiển thị cho chúng ta thông tin về giấy phép.

Chúng ta sẽ vào Trang chủ từ menu bên trái. Sau đó, chúng tôi sẽ thêm một mục tiêu, và sau đó chúng tôi sẽ thực hiện một bài kiểm tra. Để làm điều này, điều đầu tiên chúng ta sẽ làm là nhấp vào Tạo và nhấp vào Trang web để thêm mục tiêu:

Chúng tôi sẽ đặt Tên thành metasploitable:

Bây giờ chúng ta sẽ chuyển đến tab ASSETS và chúng ta sẽ thêm mục tiêu. Mục tiêu có thể là một phạm vi. Chúng tôi có thể thêm một IP cụ thể giống như cách chúng tôi đã thêm nó khi chúng tôi thực hiện những thứ thâm nhập mạng với Zenmap. Trong ví dụ này, chúng tôi đang nhắm mục tiêu máy Metasploitable. Chúng tôi sẽ thêm mục tiêu của máy Metasploitable, là 10.0.2.4 và chúng tôi sẽ thêm mục tiêu này vào một nhóm có tên là test:

Bây giờ, trong tab AUTHENTICATION , nếu mục tiêu sử dụng một số loại xác thực, không ai có thể truy cập mục tiêu trừ khi họ cần xác thực với một số loại dịch vụ như dịch vụ FTP, Telnet, xác thực web HTTP hoặc server SQL. Chúng tôi có thể chọn nó từ tab AUTHENTICATION, nhập tên miền, tên người dùng và mật khẩu. Bằng cách đó, khuôn khổ sẽ có thể xác thực với dịch vụ đó và kiểm tra tính bảo mật của server của chúng tôi. Nhưng server của chúng tôi không sử dụng bất kỳ loại xác thực nào, vì vậy chúng tôi không cần nó. Nếu chúng tôi đang nhắm mục tiêu một ứng dụng web có trang đăng nhập, chẳng hạn như Gmail, thì chúng tôi sẽ không có quyền truy cập vào hầu hết các tính năng của Gmail trừ khi chúng tôi đăng nhập bằng tên người dùng và mật khẩu nhất định. Sử dụng tính năng này, chúng tôi có thể đăng nhập và sau đó kiểm tra tính bảo mật của mục tiêu của chúng tôi.

Tab TEMPLATES được sử dụng để chọn kiểu quét. Nó có nhiều kiểu quét giống như Zenmap. Chúng tôi đã thấy trong Zenmap, chúng tôi đã quét nhanh, quét nhanh và quét cường độ cao. Nó giống nhau. Mỗi hồ sơ là khác nhau, và nó quét những thứ khác nhau. Trong phần này, chúng ta sẽ sử dụng kiểu quét là Full audit enhanced logging without Web Spider:

Web Spider là một công cụ được sử dụng để tìm tất cả các tệp và thư mục trong mục tiêu của chúng tôi. Chúng tôi sẽ thử kiểm tra Toàn bộ mà không có Web Spider và đó là kiểm toán mặc định. Chúng tôi sẽ quét các cổng ICMP, TCP và UDP. Chúng tôi đang để nó như cũ.

Chúng ta sẽ giữ nguyên tab ENGINE cũng có nghĩa là nó sẽ sử dụng local engine, được cài đặt thay vì sử dụng engine được cung cấp bởi Rapid7. Tab Alert được sử dụng để thiết lập cảnh báo tùy chỉnh để khi tìm thấy lỗ hổng, chúng tôi sẽ nhận được thông báo. Bây giờ chúng ta sẽ xem xét tab SCHEDULE. Đó là một tính năng thực sự thú vị. Bây giờ, giả sử chúng ta đang làm việc trong một công ty liên tục đẩy mã, mã mới mỗi ngày hoặc có thể chúng ta làm một bài kiểm tra ngày hôm nay và mọi thứ chúng ta đang làm đều tốt. server web của chúng tôi, các chương trình của chúng tôi, mọi thứ đều được cập nhật và không có lỗ hổng nào trong đó. Giả sử có thể ngày mai ai đó phát hiện ra lỗ hổng bảo mật mới với một chương trình mà chúng tôi đang sử dụng trên server web của mình hoặc có thể chúng tôi đã đẩy một mã dễ bị tấn công mới vào dự án của mình. Chúng tôi không an toàn nữa. Tính năng này cho phép chúng tôi lập lịch kiểm tra này để nó chạy hàng giờ, hàng tuần hoặc hàng tháng tùy thuộc vào mức độ quan trọng của nó. Vì vậy, chúng ta sẽ đi vào Create Schedule và tạo một lịch trình. Trong lịch biểu này, chúng ta có thể đặt Start Date và có thể đặt Frequency thành Every Day.

Chúng tôi tạo lịch trình đó và sau đó quá trình quét sẽ chạy mọi khoảng thời gian mà chúng tôi chỉ định. Chúng tôi có thể lấy nó để tạo báo cáo cho chúng tôi.

Phần quan trọng nhất là chúng tôi đặt mục tiêu của mình trong tab ASSETS. Sau đó, chúng tôi chọn một mẫu từ tab TEMPLATES. Chúng tôi đã định cấu hình cả hai tab này, chúng tôi sẽ nhấp vào SaveScan, thao tác này sẽ lưu cấu hình này và bắt đầu quét cho chúng tôi. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng quá trình khám phá nội dung của chúng ta đang được tiến hành và sau đó, chúng ta sẽ nói về kết quả mà chúng ta nhận được:

Nexpose analysis

Khi quá trình quét kết thúc, chúng tôi đang ở trang Thông báo. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng chúng ta đã quét một nội dung và nội dung đó đang chạy trên Ubuntu. Kỹ năng mà chúng ta cần để thâm nhập vào tài sản này là Người mới làm quen:

Như chúng ta có thể thấy trong ảnh chụp màn hình trước, Nexpose cho chúng ta thấy nhiều thông tin hơn cho Metasploit. Nexpose là một khung quản lý lỗ hổng nâng cao hơn nhiều.

Chúng ta có thể thấy trong ảnh chụp màn hình sau, chúng tôi đã quét một mục tiêu là METASPLOITABLE, trang web là global và nó đang chạy trên Ubuntu Linux 8.04. Chúng tôi không phát hiện thấy phần mềm độc hại nào, 175 lần khai thác và 306 lỗ hổng bảo mật. Với Metasploit, chúng tôi chỉ phát hiện ra 1 lỗ hổng có thể khai thác và 8 mô-đun có thể được sử dụng. Nhưng trong Nexpose, chúng tôi đã phát hiện ra 306 lỗ hổng. Trong điều này, chúng tôi đã phát hiện ra nhiều lỗ hổng và cách khai thác hơn sử dụng Metasploit.

Chúng ta có thể thấy rằng có một yếu tố rủi ro. Chúng tôi cũng có thể xem Lần cuối cùng mà quá trình quét đã được thực hiện. Nếu chúng ta scroll, chúng ta có thể thấy OPERATING SYSTEM mà chúng ta đã phát hiện ra đó là Ubuntu Linux 8.04. Chúng ta có thể thấy SOFTWARE  được cài đặt trên máy tính đích:

Sau khi chúng tôi đã xâm nhập được vào nó, sẽ rất hữu ích khi tìm thấy các khai thác cục bộ có thể được sử dụng để tăng đặc quyền của chúng tôi. Ví dụ: nếu chúng tôi có một người dùng bình thường và chúng tôi muốn trở thành root, thì chúng tôi có thể sử dụng tràn bộ đệm cục bộ để tăng đặc quyền của chúng tôi hoặc để thực hiện các loại nội dung khác. Trong quá trình khai thác, chúng rất hữu ích.

Nếu chúng ta đi xuống, chúng ta có thể thấy các SERVICES được cài đặt trên máy tính đích. Chúng ta có thể thấy rằng các dịch vụ khác nhau đang chạy như HTTP, DNS, v.v.

Nếu chúng ta nhấp vào bất kỳ dịch vụ nào trong số này, chúng ta sẽ thấy thêm thông tin về chúng. Ví dụ: nếu chúng ta nhấp vào dịch vụ HTTP, chúng ta sẽ nhận được mô tả về nó và các cổng đang chạy trên nó. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng HTTP đang chạy trên cổng 80 và cổng 8180:

Bây giờ, hãy cuộn lên và nếu chúng ta muốn xem xét kỹ hơn các lỗ hổng, chúng ta có thể truy cập trang Vulnerabilities:

Trong ảnh chụp màn hình trước, chúng ta có thể thấy rằng chúng ta có một biểu đồ về các lỗ hổng được phân loại dựa trên yếu tố rủi ro và dựa trên trình độ kỹ năng để khai thác các lỗ hổng này. Ở phía bên trái, chúng được phân loại dựa trên yếu tố rủi ro và ở phía bên phải, chúng được phân loại dựa trên trình độ kỹ năng. Khi cuộn xuống, chúng ta có thể thấy danh sách tất cả các lỗ hổng và chúng ta có thể chuyển đổi giữa chúng bằng các mũi tên:

Một lần nữa, nếu có sự khai thác, chúng tôi sẽ thấy nó dưới biểu tượng khai thác và nếu có bất kỳ phần mềm độc hại nào, chúng tôi sẽ thấy bên dưới biểu tượng phần mềm độc hại. Hiện tại, tất cả các lỗ hổng hàng đầu được liệt kê đều không có công cụ khai thác mà chúng được sắp xếp dựa trên mức độ rủi ro.

Trong ảnh chụp màn hình trước đó, chúng ta có thể thấy rằng chúng ta đã phát hiện ra mật khẩu VNC là “mật khẩu”. Chúng tôi có thể truy cập và cố gắng kết nối bằng VNC. VNC là một dịch vụ tương tự như Remote Desktop. Nó sẽ hiển thị cho chúng ta Màn hình nền và cho phép chúng ta có toàn quyền truy cập vào máy tính mục tiêu, giống như Máy tính từ xa. Nó cho chúng tôi biết rằng mật khẩu để đăng nhập là mật khẩu. Cũng có một Dịch vụ Shell Backdoor cửa sau đang chạy và chúng tôi đã sử dụng nó.

Bây giờ, chúng ta sẽ xem xét một cái gì đó có thể khai thác được. Chúng ta sẽ nhấp vào biểu tượng khai thác để sắp xếp chúng theo cách khai thác và chúng ta có thể thấy rằng tất cả chúng đều có biểu tượng M, có nghĩa là chúng có thể được khai thác bằng cách sử dụng Metasploit:

Trong ảnh chụp màn hình ở trên, chúng ta có thể sử dụng Dịch vụ vỏ từ xa và Dịch vụ đăng nhập từ xa mà chúng ta đã xem qua. Bây giờ, chúng ta sẽ nhấp vào một cái gì đó mà chúng ta chưa từng thấy trước đây, ví dụ: Người dùng và Mật khẩu Tomcat mặc định. Trong ảnh chụp màn hình sau, chúng ta có thể thấy mô tả về lỗ hổng này:

Trong ảnh chụp màn hình sau, chúng ta có thể thấy cổng đang chạy là 8180 và chúng ta có thể thấy lý do tại sao nó cho rằng mục tiêu cụ thể này dễ bị khai thác này:

Nếu chúng ta cuộn xuống, nó sẽ cho chúng ta thấy cách chúng ta có thể khai thác nó:

Trong ảnh chụp màn hình ở trên, có ba mô-đun khác nhau có thể được sử dụng để khai thác nó, nhưng nó không thực sự phải khai thác nó. Đôi khi chúng tôi chỉ thấy các mô-đun có thể được sử dụng để xác minh sự tồn tại của khai thác này.

Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy Tên mô-đun, chúng ta có thể chỉ cần sao chép và dán vào Metasploit, nơi chúng ta có thể chạy các tùy chọn hiển thị và sau đó sử dụng để khai thác theo cách giống như chúng ta đã làm trong phần Metasploit cơ bản. Nếu chúng ta cuộn xuống thêm, chúng ta có thể thấy TÀI LIỆU THAM KHẢO về cách khai thác cụ thể:

Ở dưới cùng, nó sẽ hiển thị cho chúng ta CÁC BIỆN PHÁP KHẮC PHỤC về cách chúng ta có thể khắc phục lỗi khai thác này:

Đối với lỗ hổng này, chúng tôi sẽ thay đổi mật khẩu quản trị viên và không sử dụng cấu hình mặc định.

Bây giờ chúng ta sẽ nhấp vào tab Báo cáo để tạo báo cáo cho mỗi lần quét mà chúng ta thực hiện:

Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng có ba loại mẫu khác nhau cho các báo cáo. Bên trong Tạo báo cáo, chúng ta có thể thấy có Báo cáo kiểm toán có rất nhiều thông tin chi tiết cho người lập trình. Ngoài ra còn có Báo cáo điều hành chứa ít thông tin hơn và là chế độ dành cho những người cấp cao nhất như người quản lý không có nhiều kinh nghiệm về công cụ kỹ thuật. Chúng ta có thể chọn bất kỳ mẫu nào mà chúng ta muốn và đặt tên cho nó. Trong ảnh chụp màn hình trước đó, chúng tôi sẽ gọi báo cáo này là báo cáo siêu phù hợp. Nếu chúng ta cuộn một chút, chúng ta có thể chọn định dạng mà chúng ta muốn:

Trong ảnh chụp màn hình trước đó, nó được đặt thành PDF. Bây giờ, chúng tôi sẽ nhấp vào Chọn Quét, sau đó chọn quét mục tiêu mà chúng tôi muốn tạo báo cáo và chọn file phù hợp:

Bây giờ, hãy nhấp vào LƯU & CHẠY BÁO CÁO để tạo báo cáo.

Chúng tôi cũng có thể lập lịch báo cáo tự động mỗi khi quét xong. Ví dụ: nếu chúng tôi đang quét hàng tuần, chúng tôi cũng có thể tạo một báo cáo hàng tuần. Bây giờ, chúng ta chỉ có thể tải xuống báo cáo bằng cách nhấp vào báo cáo và hãy xem nó trông như thế nào:

Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng nó có ngày, nó có tiêu đề, nó có tất cả các khai thác đã được tìm thấy, nhưng đây là báo cáo điều hành. Nó chứa các chi tiết nhỏ về việc khai thác và nhiều nội dung đồ họa hơn để cho các giám đốc điều hành thấy những rủi ro đã được tìm thấy và mức độ nghiêm trọng của chúng:

Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng Nexpose cho chúng ta thấy chi tiết hơn nhiều và nó cao cấp hơn nhiều. Nó hướng tới cơ sở hạ tầng lớn hơn, các công ty lớn hơn, nơi chúng ta cần luôn đảm bảo mọi thứ đều được cập nhật, mọi thứ đã được cài đặt và không có bất kỳ sự khai thác nào.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now