-: Cho đến nay chúng ta đã thấy cách chúng
ta có thể sử dụng dịch vụ có
mật khẩu mặc định hoặc dịch vụ chưa được định cấu hình
chính xác hoặc dịch vụ đi kèm với cửa sau để có được
quyền truy cập đầy đủ vào máy tính mục tiêu.
Chúng ta cũng đã thấy cách sử dụng cơ bản Metasploit
bằng cách sử dụng, để kết nối với một cửa sau đã
được cài đặt trên dịch vụ FTP.
Hôm nay 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 chúng ta sử dụng nó để chạy lỗ hổng
bảo mật 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 toàn
quyền truy cập vào máy tính mục tiêu.
Vì vậy, quay lại kết quả của chúng tôi ở đây với Nmap và chúng tôi sẽ làm điều
tương tự như chúng tôi đã làm trong một thời
gian, chúng tôi sao chép tên dịch vụ và xem
nó có bất kỳ lỗ hổng nào không.
Vì vậy, hôm nay chúng ta sẽ xem xét cổng cụ thể này,
139, có phiên bản máy chủ Samba 3. X.
Vì vậy, 3. cái gì đó thật sự.
Vì vậy, chúng tôi sẽ duyệt
qua Google giống như chúng tôi
đã làm trong các video trước và chúng tôi sẽ tìm kiếm
Samba 3. X khai thác.
Bây giờ như bạn có thể thấy, có một số kết quả.
Người mà chúng tôi quan tâm, những người
đến từ Rapid 7 vì như tôi đã nói, đây là những người
tạo ra Metasploit, vì vậy những khai thác mà bạn
thấy ở đó có thể được sử dụng thông qua Metasploit.
Vì vậy, chúng tôi có hai ví dụ ở đây,
bây giờ tôi đã thực sự thử cả hai.
Cái đầu tiên không hoạt động, vì vậy có một
chút thử nghiệm và lỗi trong việc này và cái thứ hai là Maps
Script của người dùng.
Đó là một lỗ hổng thực thi lệnh, như bạn có thể thấy ở đây.
Vì vậy, tên của lỗ hổng là thế này.
Vì vậy, nó giống như 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 cái tên khác mà chúng tôi sẽ sử dụng.
Vì vậy, tôi sẽ truy cập Metasploit và tôi
đã chạy bảng điều khiển MSF, vì vậy bạn có
thể thấy rằng bảng điều khiển đang chạy ở đây cho tôi.
Vì vậy, tôi sẽ sử dụng, giống như chúng tôi đã làm
trước đây, ngày hôm qua và sau đó tôi sẽ đặt tên của khai thác mà
tôi muốn sử dụng.
Sau đó, điều tiếp theo mà chúng tôi thường làm là hiển thị các tùy chọn như
chúng tôi đã làm ngày hôm qua.
Vì vậy, tôi sẽ thực hiện các tùy chọn hiển thị.
Vì vậy, việc sử dụng các khai thác này luôn luôn giống nhau,
điểm khác biệt duy nhất là các tùy chọn mà bạn có thể đặt cho
mỗi lần khai thác.
Vì vậy, bạn luôn sử dụng và sau đó bạn đặt tên khai thác và sau
đó bạn hiển thị các tùy chọn để xem bạn có thể thay đổi những gì để
làm việc với khai thác này.
Vì vậy, trong tương lai, bạn có thể sẽ có được những kỳ tích khác
với những gì tôi có.
Vì vậy, mỗi khi bạn muốn chạy một khai thác,
bạn thực hiện sử dụng tên khai thác và sau đó bạn hiển thị các tùy chọn
để xem các tùy chọn mà bạn 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.
Vì vậy, tôi sẽ chỉ cho bạn một vài ví dụ sẽ bao
gồm khá nhiều thứ mà bạn muốn làm trong tương lai.
Vì vậy, một lần nữa, chúng ta cần thiết lập R-Host là IP của máy tính mục
tiêu và chúng ta sẽ làm điều đó giống như cách chúng ta đã làm
trước đây.
Như tôi đã nói, việc thiết lập các tùy chọn luôn giống nhau.
Vì vậy, chúng tôi sẽ đặt R-HOST và
sau đó chúng tôi sẽ đặt IP của máy tính mục
tiêu là 10. 20. 14. 204.
Vì vậy, chính xác như chúng tôi đã làm trước đây, chúng tôi
đang sử dụng tập hợp để đặt một tùy chọn là R-HOST.
Vì vậy, chúng tôi sẽ thực hiện các tùy chọn chương trình của chúng tôi.
Và như bạn có thể thấy bây giờ R-HOST đã được đặt chính xác.
Những gì chúng ta cần làm bây giờ là, đây là nơi mọi thứ
khác với bài giảng trước.
Trong bài giảng trước, chúng ta đã sử dụng một backdoor đã được cài đặt
sẵn trên máy tính đích nên tất cả những gì chúng ta phải
làm là kết nối với backdoor và sau đó chúng
ta có thể chạy bất kỳ lệnh nào, lệnh Linux nào trên máy tính đích.
Trong video hôm nay, máy tính đích không
có backdoor, nó có chương trình bình thường bị tràn
bộ đệm hoặc lỗ hổng thực thi mã.
Vì vậy, 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 số lỗ hổng nhất định sẽ cho phép chúng
ta chạy một đoạn mã nhỏ.
Những đoạn mã nhỏ này được gọi là tải trọng.
Vì vậy, những gì chúng ta cần làm, chúng ta cần 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 ta đã tìm thấy.
Đoạn mã đó sẽ cho phép chúng ta làm những việc khác nhau.
Vì vậy, tải trọng là thứ cho phép chúng ta làm những
việc có ích cho chúng ta.
Bây giờ tải trọng có thể cho phép chúng tôi thực hiện các lệnh Linux
và có loại trọng tải khác mà chúng tôi sẽ xem xét trong
tương lai.
Vì vậy, để thấy rằng các tải trọng mà bạn có thể sử dụng
với khai thác cụ thể này, tất cả những gì bạn phải làm
là chạy các tải trọng hiển thị.
Và đây là những tải trọng os loại khác nhau mà bạn có thể sử dụng.
Bây giờ tôi sẽ nói về vấn đề này một lần nữa, vì vậy trọng
tải là những đ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 đã được khai thác.
Vì vậy, khi chúng tôi khai thác lỗ hổng, mã mà chúng
tôi chọn ở đây sẽ được thực thi và tùy thuộc vào loại trọng
tải chúng tôi chọn, trọng tải đó sẽ làm điều gì đó hữu ích
cho chúng tôi.
Vì vậy, ngay bây giờ bạn có thể thấy rằng tất cả các trọng tải
đều là cmd, viết tắt của lệnh, vì vậy chúng cho phép bạn
chạy các lệnh trên máy tính mục tiêu, giống như các lệnh của Linux.
Và tất cả chúng đều chỉ chạy trên Unix và điều đó không sao
cả vì mục tiêu của chúng tôi là Linux.
Và có hai loại chính, có tải trọng ràng
buộc và có tải trọng ngược.
Các tải trọng ràng buộc, tất cả những gì họ làm là mở một cổng trên
máy tính mục tiêu và sau đó chúng tôi kết nối với cổng đó.
Ngược lại, họ làm ngược lại.
Vì vậy, họ mở một cổng trong máy tính của tôi và sau đó họ
kết nối từ máy tính đích đến máy tính của tôi.
Điều này hữu ích vì ngược lại cho phép chúng tôi vượt qua tường
lửa, vì vậy tường lửa sẽ 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 mục tiêu kết nối với tôi và tôi
không có tường lửa, thì tôi sẽ có thể vượt
qua bức tường lửa.
Vì vậy, tôi sẽ sử dụng cmd Unix đảo ngược hoặc
thực sự tôi sẽ sử dụng netcat đảo ngược cmd Unix.
Phần cuối cùng của các tải trọng này là công cụ sắp xếp ngôn ngữ
và chương trình sẽ được sử dụng để
tạo điều kiện kết nối.
Vì vậy, ví dụ, chúng ta có thể thấy có trọng tải được
viết bằng perl trong ruby hoặc bằng python, php hoặc sử dụng netcat
là một công cụ cho phép kết nối giữa các máy tính.
Vì vậy, đây là cái mà tôi sẽ sử dụng và tôi sẽ sử dụng
nó giống như cách bạn sử dụng khai thác.
Vì vậy, tôi sẽ nói, thực sự xin lỗi, tôi sẽ sử dụng
nó bằng lệnh set.
Vì vậy, giống như cách bạn sử dụng set và option,
chúng ta sẽ đặt payload, vì vậy, giống như một option, cho tên payload
mà chúng ta vừa chọn.
Bây giờ tôi sẽ thực hiện các tùy chọn hiển thị để xem có tùy chọn
nào khác mà tôi cần đặt không.
Và có, bởi vì chúng tôi đã chọn một trọng tải nên bây giờ
có nhiều lựa chọn hơn.
Vì vậy, có một tùy chọn được gọi là L-HOST
và đó là địa chỉ nghe là địa chỉ của riêng tôi.
Vì vậy, tôi sẽ lấy địa chỉ IP của riêng mình bằng cách sử dụng if config.
Và địa chỉ của riêng tôi là 10. 20. 14. 203.
Vì vậy, tôi sẽ đóng nó
và tôi sẽ đặt L-HOST.
Vì vậy, nó giống như cách mà chúng tôi đặt R-Host trước
đó, chúng tôi đặt L-HOST.
Làm 10.
20.
Vì vậy, trước đây chúng tôi thường đặt R-HOST để đặt tùy chọn này,
bây giờ chúng tôi đặt L-HOST để đặt tùy chọn cụ thể này.
Vì vậy, thiết lập thực sự đơn giản, thiết lập, bạn đặt tên
tùy chọn và sau đó đặt giá trị mà bạn muốn đặt nó.
Sau đó, tôi sẽ hiển thị các tùy chọn và
bây giờ mọi thứ có vẻ ổn.
Vì vậy, chúng tôi đang sử dụng khai thác này, R-HOST được đặt thành này, điều
này không sao cả.
Và sau đó L-HOST được đặt thành điều này là hoàn hảo.
Và sau đó, bạn cũng có thể đặt cổng mà bạn
sẽ nghe, trên máy tính hiện tại của bạn.
Bạn thực sự có thể đặt nó thành 80 nếu bạn muốn,
đó là cổng được sử dụng bởi các trình duyệt web.
Vì vậy, nếu bạn đặt L-PORT thành 80, máy tính mục tiêu
sẽ cố gắng kết nối với bạn bằng cổng 80 không bao giờ được lọc trên
tường lửa vì đó là cổng mà trình duyệt web hoặc máy
chủ web sử dụng.
Vì vậy, bất cứ khi nào bạn truy cập một trang web, bạn thực sự truy cập cổng
80 trên trang web đó.
Vì vậy, nếu bạn mở cổng 80 trên máy của mình và mục
tiêu kết nối với bạn trên 80, thì tường lửa sẽ nghĩ
rằng mục tiêu chỉ duyệt Internet.
Tôi sẽ không làm điều đó bây giờ vì tôi có một máy chủ web đang
chạy trên cổng 80 và điều đó sẽ xung đột.
Vì vậy, tôi sẽ chỉ đặt L-PORT
thành 555 chỉ cho bạn, chỉ để thấy rằng bạn có thể thay đổi bất
kỳ tùy chọn nào bằng cách sử dụng cùng một cách được đặt,
tên tùy chọn và sau đó là giá trị.
Vì vậy, tôi sẽ hiển thị các tùy chọn một lần nữa.
Và như bạn có thể thấy, điều này đã được thay đổi thành 5555
và tôi sẽ khai thác để chạy khai thác.
Bây giờ như bạn có thể thấy,
nó cho tôi biết rằng một phiên đã được mở.
Và kết nối là giữa thiết bị này và thiết bị này.
Đó là mục tiêu và thiết bị của tôi.
Vì vậy, tôi sẽ làm một pwd và,
hoặc tôi làm một id.
Bạn sẽ thấy rằng tôi là người chủ, do đó tôi làm một uname -a.
Bạn sẽ thấy tôi đang ở trong máy Metasploitable
và nếu tôi thực hiện lệnh ls, tôi sẽ có thể liệt kê các tệp, v.v.
Tôi 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 các video khác.