Tài liệu này dành cho những ai mới tham gia vào lĩnh vực hacking và pentest hay đang ở giai đoạn chuẩn bị cho Security+ để tiến lên Pentest+ , CySA+ rồi SecurityX. Do đó BQT đặt tên là tài liệu Pre-SecurityX và nhóm Telegram sẽ lấy tên là SecurityX : https://t.me/+44xjFHQG1XIyMzE1
Các khóa học trên LMS nên tham khảo :
- Nhập Môn An Toàn & Bảo Mật Thông Tin + Kiểm Thử Bảo Mật
- HACKING VỚI KALI LINUX
- PENTEST VỚI METASPLOIT

Mục lục
- Overview (Tổng quan)
- System Requirements (Yêu cầu hệ thống)
- Installation and Setup of Virtual Machines (Cài đặt và Thiết lập Máy ảo)
- VMware Workstation
- Download and Set Up Metasploitable 2 (Tải xuống và Thiết lập Metasploitable 2)
- Download and Set Up Nessus (Tải xuống và Thiết lập Nessus)
- Download and Set Up Kali (Tải xuống và Thiết lập Kali)
- Configuration of Virtual Machines (Cấu hình Máy ảo)
- Metasploitable:
- Nessus:
- Set Up Nessus Scan (Thiết lập Quét Nessus):
- Settings Tab (Thẻ Cài đặt):
- Credentials Tab (Thẻ Thông tin đăng nhập):
- Plugins Tab (Thẻ Plugin):
- Kali:
- Scanning in Metasploit (Quét trong Metasploit):
- Gathering Information (Thu thập thông tin):
- The Nessus Scan (Quét Nessus):
- Research (Nghiên cứu):
- A Look at vsftpd:
- Exploiting vsftpd:
- Try Telnet:
- Exploiting rexecd:
- Rogue Shell Backdoor?:
- A Look at Samba:
- Exploiting Samba:
- A Look at UnrealIRCd:
- Exploiting UnrealIRCd:
- A Look at the VNC Server:
- Exploiting the VNC Server:
- A Look at the Java RMI Registry:
- Exploiting Java RMI Registry:
- Exploit-DB:
- Exploiting Java RMI Server:
- A Look at NFS:
- Exploiting NFS:
- A Look at ProFTPD:
- Exploiting ProFTPD:
- Metasploit Maintenance (Bảo trì Metasploit):
- Database Connectivity (Kết nối cơ sở dữ liệu):
- Clear Database (Xóa cơ sở dữ liệu):
- Additional Resources (Tài nguyên bổ sung):
- Other Vulnerable Virtual Machines (Các máy ảo dễ bị tấn công khác):
- Metasploitable 3:
- Security Scenario Generator (Trình tạo kịch bản bảo mật):
- Other Metasploit Resources (Các tài nguyên Metasploit khác):
- Hacking Practice (Thực hành hack):
- Recap (Tóm tắt):
Phần 2: Tổng quan (Overview)
Hướng dẫn này dành cho những người đã biết về Metasploit (khóa học về Metasploit thích hợp cho những ai chưa biết) và muốn tìm hiểu cách sử dụng nó, nhưng chưa chắc chắn bắt đầu từ đâu. Chúng ta sẽ cùng tìm hiểu những kiến thức cơ bản để bắt đầu. Hướng dẫn này sẽ hướng dẫn bạn thiết lập môi trường làm việc trên Windows (vẫn có thể triển khai trên Linux nhưng nhìn chung giai đoạn Pre- ta nên dùng Windows cho nhnah gọn). Bạn sẽ thiết lập các công cụ sau:
- VMware Workstation Pro / VMware Player & VirtualBox
- Metasploitable 2
- Nessus vulnerability scanner (Máy quét lỗ hổng Nessus), ở đây ta dùng OVA là máy dựng sẵn cho tiện nhưng khi thành thạo hơn các bạn hãy cài riêng trên Kali Linux, hay Windows và lưu ý ngoài Nessus thì còn nhiều tool khác rất hay trong lĩnh vực này như là OpenVas chẳng hạn)
- Kali Linux 2024.x
Sau khi cài đặt và thiết lập xong các công cụ này, chúng ta sẽ xem xét Metasploit để tìm hiểu cách truy cập vào Metasploitable 2. Tôi sẽ hướng dẫn từng bước một cách chi tiết nhất có thể để bạn dễ dàng làm theo.
Giả định
Giả định rằng bạn đã quen thuộc với những điều sau:
- Cách cài đặt phần mềm trên hệ điều hành của bạn.
- Kiến thức cơ bản về mạng và giao thức.
- Quen thuộc với dòng lệnh Linux sẽ rất hữu ích.
- Kỹ năng chỉnh sửa văn bản – ví dụ: cách sao chép và dán.
- Sự kiên nhẫn – hack có thể mất rất nhiều thời gian.
- Sẵn sàng nghiên cứu – tìm hiểu những gì bạn đang làm và cách làm.
- Tải xuống file, giải nén (zip) và tìm chúng sau đó.
- Sử dụng các chương trình như telnet, VNC, FTP và các chương trình mạng khác.
Về cơ bản, bạn nên là một người dùng máy tính “có kinh nghiệm”. Bạn không cần phải có nhiều kinh nghiệm, nhưng việc quen thuộc với các thuật ngữ sẽ giúp ích.
Tóm lại, hướng dẫn này dành cho những người đã “thành thạo máy tính”, nhưng chưa biết nhiều về Kali Linux & Metasploit.
Hãy bắt đầu nào!
Phần 3: Yêu cầu Hệ thống (System Requirements) và Cài đặt VMware (Installation)
Yêu cầu Hệ thống (System Requirements)
Hướng dẫn này hoạt động tốt nhất trên hệ thống có ít nhất 8GB RAM. Hệ thống tôi đang sử dụng để viết hướng dẫn này là máy tính xách tay chạy Windows 10 với 16GB RAM, nhưng hướng dẫn này cũng sẽ hoạt động trên Linux. Tôi đang chạy VMware trên Windows và cũng đã cài đặt song song Linux trên máy Mac, vì vậy tôi biết rằng nó sẽ hoạt động đối với cả hai mục đích đó. Tôi đề xuất sử dụng hệ điều hành 64-bit. Càng nhiều lõi CPU càng tốt và dung lượng ổ cứng được đề xuất là 64-88 GB.
Cài đặt và Thiết lập Máy Ảo (Installation and Setup of Virtual Machines)
VMware Workstation
Chúng ta sẽ thiết lập toàn bộ phòng thí nghiệm trên một máy tính vật lý có thể là Windows 10 hay Windows 11. Chúng ta sẽ thiết lập ba máy ảo trên một hypervisor. Có nhiều hypervisor khác nhau (chẳng hạn như VirtualBox), nhưng đối với hướng dẫn này, chúng ta sẽ sử dụng VMware Workstation Pro. Hiện nay Vmware Pro đã cho dùng miễn phí với nhu cầu cá nhân, cứ tải về và cài đặt thôi, khá dễ (bạn có thể xem trên kênh Youtube Security365).
Đầu tiên, hãy tải xuống VMware Workstation Pro và cài đặt nó. Bạn có thể tải xuống tại trang chính hãng hoặc nhóm Telegram Security365 (dành cho member của Cổng đào tạo an toàn thông tin online Security365)
File tải xuống khoảng vài trăm Megabyte, vì vậy sẽ mất vài phút. Sau khi tải xuống, hãy tiếp tục và cài đặt nó.
Sau khi cài đặt hoàn tất, hãy mở VMware Workstation.
Bây giờ, hãy tiếp tục thiết lập các máy ảo.
Lưu ý: Khi bạn đang chạy máy ảo trong VMware Workstation Pro, đôi khi nó có thể chiếm quyền điều khiển chuột của bạn. Nếu điều này xảy ra, hãy nhấn CTRL+ALT để nhả chuột.
Phần 4: Tải xuống và Thiết lập Metasploitable 2 (Download and Set Up Metasploitable 2)
Điều đầu tiên chúng ta cần là một hệ điều hành dễ bị tấn công mà chúng ta có thể sử dụng để học Metasploit. Hệ điều hành này ở dạng bản phân phối Linux có tên Metasploitable 2. Nó có nhiều lỗ hổng mà chúng ta có thể khai thác. Trong hướng dẫn này, chúng ta chủ yếu tập trung vào việc khai thác từ xa.
Để tải Metasploitable 2, hãy truy cập tại đây:
Nhấp vào file “Metasploitable2-latest.zip”. Tại thời điểm viết bài này, phiên bản mới nhất là 833 Megabytes. Hãy nhớ vị trí lưu file này.
Khi quá trình tải xuống hoàn tất, hãy giải nén file zip.
Để đưa Metasploitable 2 vào VMware, bạn có thể nhấp vào “File”, “Open a Virtual Machine” trên thanh tab Home. Hoặc, nếu bạn thích sử dụng phím tắt, nhấn CTRL+O cũng sẽ thực hiện điều tương tự.
Một hộp thoại sẽ xuất hiện, yêu cầu bạn chọn máy ảo mà bạn muốn mở. Điều hướng đến thư mục mà bạn đã giải nén tệp zip. Trong thư mục “Metasploitable2-Linux”, sẽ có một file có tên là “Metasploitable.vmx”. Mở nó.
Bạn sẽ thấy một mục mới xuất hiện trong giao diện chính VMware Workstation, hiển thị máy ảo Metasploitable2-Linux của chúng ta.
Điều đầu tiên chúng ta cần làm là đặt chế độ mạng là NAT. Nếu không, mọi thứ có thể không hoạt động như chúng ta mong muốn. Nhấp chuột phải vào mục “Metasploitable2-Linux”, sau đó nhấp vào “Settings”.
Cài đặt máy ảo của bạn sẽ xuất hiện. Nhấp vào “Network Adapter”. Sau đó, ở phía bên phải, chọn “Network Connection” là NAT nếu đang là Bridged.
Khi bạn đã hoàn tất, nhấp vào “Save”.
Chúng ta đã hoàn tất việc thiết lập Metasploitable 2. Sau khi cài đặt và thiết lập một số công cụ khác, chúng ta sẽ bắt đầu hack nó.
Phần 5: Tải xuống và Thiết lập Nessus (Download and Set Up Nessus)
Nessus là một trong những máy quét lỗ hổng được sử dụng rộng rãi nhất. Chúng ta sẽ sử dụng Nessus để tìm các lỗ hổng trên Metasploitable 2 cho bài thực hành này. Việc thiết lập Nessus rất được khuyến nghị. Biết cách sử dụng Nessus sẽ rất hữu ích cho bạn.
Chúng ta sẽ tải xuống file OVA của Nessus. Đây về cơ bản là một ảnh đĩa mà chúng ta sẽ nhập vào VMware Workstation. Các hypervisor khác, chẳng hạn như VirtualBox, cũng có thể nhập ảnh OVA.
Liên kết tải xuống OVA ở đây hoặc trên nhóm Telegram Security365
Tại thời điểm viết bài này, phiên bản mới nhất là “Tenable Core + Nessus (OL8) “. Trên trang, hãy tìm file có tên kết thúc bằng “.ova”. Hãy tải file xuống và nhớ vị trí đã lưu.
Để đưa Nessus vào VMware, hãy nhấp vào “File”, sau đó “Open”, và “Virtual Machine”. Hoặc, nếu bạn thích các phím tắt, hãy nhấn CTRL+O. Một hộp thoại sẽ xuất hiện, yêu cầu bạn chọn tệp bạn muốn mở. Duyệt đến nơi bạn đã lưu file OVA của Nessus và chọn nó. Nhấp vào “Open”.
Đầu tiên, nó sẽ hiển thị một màn hình nơi bạn phải chấp nhận các điều khoản, v.v. Nhấp vào “Next”.
Sau đó, nó sẽ hiển thị cho bạn một màn hình nơi bạn xác định tên và đường dẫn của máy quét Nessus của bạn. (hình ảnh)
Nó chỉ hỏi bạn muốn đặt tên cho nó là gì và nơi bạn muốn lưu nó. Sau khi bạn hài lòng, hãy nhấp vào “Import”.
Một hộp thoại tiến trình sẽ xuất hiện và hiển thị cho bạn những gì nó đang làm.
Khi hoàn tất, bạn sẽ thấy một mục nhập mới ở khung bên trái của VMware Workstation: (hình ảnh)
Như chúng ta đã làm với Metasploitable 2, chúng ta cần đặt chế độ mạng trên máy ảo này là NAT. Nhấp chuột phải vào máy ảo Nessus của bạn và nhấp vào “Settings”, như chúng ta đã làm trước đó.
(hình ảnh)
Chúng tôi cũng khuyên bạn nên thay đổi dung lượng bộ nhớ thành 4 GB (4096 MB) trong cài đặt bộ nhớ ở đầu cửa sổ đó. Ngoài ra, bạn chỉ cần một giao diện mạng, vì vậy hãy xóa các giao diện còn lại.
Khi bạn đã làm xong, hãy nhấp vào “Save”.
Phần 6: Tải xuống và Thiết lập Kali (Download and Set Up Kali)
Kali Linux có tất cả các công cụ chúng ta cần trong một gói duy nhất. Vì lý do này, chúng ta sẽ thiết lập Kali trong VMware Workstation. Chúng ta sẽ bắt đầu bằng cách tải xuống file OVA của Kali. Dung lượng tải xuống khoảng 3.3GB. Tại thời điểm viết bài này, liên kết tải xuống cho ảnh VMware là tại đây hoặc tải từ nhóm Telegram:
Bạn nên tải xuống phiên bản 64-bit nếu có thể, nhưng phiên bản 32-bit cũng sẽ hoạt động.
Để đưa Kali vào VMware, nhấp vào “File”, “Open”, và “Virtual Machine” trên thanh tab Home. Hoặc, nếu bạn thích, hãy nhấn CTRL+O. Nó sẽ thực hiện tương tự.
Một hộp thoại sẽ xuất hiện, hỏi bạn muốn mở file nào. Duyệt đến nơi bạn đã lưu file OVA Kali và chọn nó. Nhấp vào “Open”.
Nó sẽ hiển thị một hộp thoại, hỏi bạn muốn đặt tên cho máy ảo và lưu nó ở đâu. (hình ảnh)
Sau khi hài lòng, hãy nhấp vào “Import”. Một hộp thoại tiến trình sẽ xuất hiện và hiển thị những gì nó đang làm.
Khi hoàn tất, bạn sẽ thấy một mục mới ở khung bên trái của VMware Workstation: (hình ảnh)
Đầu tiên, chúng ta cần thay đổi một số cài đặt mạng. Nhấp chuột phải vào mục nhập Kali Linux và chọn “Settings”.
Cài đặt máy ảo của bạn sẽ xuất hiện. Nhấp vào “Network Adapter”. Sau đó, ở bên phải, thay đổi “Network Connection” sang NAT nếu là Bridged, như chúng ta đã làm với các máy ảo khác: (hình ảnh)
Sau khi hoàn tất, hãy nhấp vào “Save”.
Phần 7: Cấu hình Máy Ảo (Configuration of Virtual Machines)
Metasploitable 2
Metasploitable 2 đã được cấu hình sẵn để không an toàn. Chúng ta chỉ cần bật nguồn máy. Trong khung bên trái của VMware Workstation, chọn máy và nhấp vào nút phát màu xanh lá cây để bật nguồn. Bạn có thể được hỏi bạn đã di chuyển hay sao chép máy ảo. Trong trường hợp này, tùy chọn nào cũng được. Tôi đã sử dụng “I copied it”. Máy sẽ khởi động ngay lập tức.
Nessus
Chúng ta sẽ cần khởi động Nessus để cấu hình máy quét lỗi. Trong khung bên trái, hãy chọn máy Nessus và nhấp vào nút phát, giống như chúng ta đã làm với Metasploitable 2.
Khi khởi động xong, bạn sẽ thấy màn hình như sau: (hình ảnh)
Nhìn chung với cấu hình NAT thì các thông số IP sẽ được gán tự động dễ dàng, thích hợp cho người mới. Khi rành hơn các bạn cứ việc cấu hình lại IP tĩnh thích hợp, đó chỉ là vấn đề mạng căn bản.
Trong trường hợp này, chúng ta được hướng dẫn truy cập https://10.0.20.50:8000/, nhưng URL của bạn có thể khác .
Mở trình duyệt web trên hệ thống của bạn (không phải trong Kali) và truy cập URL đó. Bạn có thể nhận được cảnh báo chứng chỉ. Đừng lo lắng, bạn có thể bỏ qua nó một cách an toàn. (Không phải trong Kali).
Khi trang tải, nó sẽ cài đặt một số thứ. Bạn có thể thấy một ảnh chụp màn hình như sau: Nó yêu cầu bạn chọn ứng dụng sẽ cài đặt. Chúng ta sẽ chọn Nessus. (hình ảnh)
Xa hơn nữa, bạn sẽ cần chấp nhận thỏa thuận cấp phép. (hình ảnh)
Bên dưới đó, bạn sẽ thiết lập tài khoản quản trị. Đây là tài khoản bạn sẽ sử dụng để quản lý Nessus. Khi bạn đăng nhập vào Nessus, bạn sẽ sử dụng cổng 8834. Nhập mật khẩu, sau đó nhập lại để xác nhận. Sau khi đã nhập mật khẩu hai lần, nhấp vào “Set Password” ở cuối trang. (hình ảnh)
Trang tiếp theo sẽ hiển thị cho bạn một số tùy chọn mạng. Nếu bạn đã đi đến đây, có thể bạn không cần thay đổi bất cứ điều gì. Chấp nhận mặc định và nhấp vào “Continue” ở cuối trang.
Trang tiếp theo hiển thị một số tùy chọn bạn có thể cấu hình nếu muốn, nhưng chúng ta sẽ không đi sâu vào đó. Nhấp vào “Continue” một lần nữa.
Tại thời điểm này, Nessus sẽ thiết lập.
Khi Nessus hoàn tất việc thiết lập, nó sẽ yêu cầu bạn tạo một tài khoản quản trị để sử dụng giao diện web của Nessus. (hình ảnh)
Nhập tên người dùng và mật khẩu mong muốn của bạn, và nhấp vào “Continue”.
Trên màn hình tiếp theo, nó sẽ yêu cầu mã kích hoạt. Đừng lo, phiên bản dùng tại nhà là miễn phí. Bạn có thể lấy mã kích hoạt tại đây:
Điền tên, họ và địa chỉ email của bạn. Sau đó, nhấp vào “Register”. (hình ảnh)
Kiểm tra email bạn đã nhập để tìm thư từ Tenable. Nó sẽ chứa mã kích hoạt của bạn. Email đến từ “Nessus Registre” – noreply@nessus.org. Nếu nó không có trong hộp thư đến của bạn, hãy tìm trong thư mục spam. Có thể mất vài phút để email được gửi đến. (hình ảnh)
Sau khi nhận được email, hãy sao chép mã đăng ký trong email đó và dán vào lời nhắc Nessus yêu cầu mã này. (hình ảnh)
Nessus sau đó sẽ hiển thị một thanh tiến trình khi nó chuẩn bị các tệp cần thiết để quét tài sản của bạn. (hình ảnh)
Điều này sẽ mất vài phút. Sau khi hoàn tất, bạn sẽ thấy một trang trông như thế này: (hình ảnh)
Đây là nơi chúng ta sẽ thiết lập quá trình quét. Quá trình quét này sẽ cung cấp cho chúng ta một số thông tin hữu ích, trực tiếp về vị trí chúng ta nên bắt đầu tấn công trên hệ thống Metasploitable 3. Vì vậy, hãy thiết lập quá trình quét.
Phần 8: Thiết lập Quét Nessus (Set Up Nessus Scan) và Kali
Ở góc trên cùng bên phải, chúng ta sẽ nhấp vào “New Scan”: (hình ảnh)
Trên màn hình tiếp theo, nó cung cấp cho chúng ta một loạt các tùy chọn cho loại quét mà chúng ta muốn thực hiện. Hãy chọn “Advanced Scan” tại đây: (hình ảnh)
Điều tiếp theo chúng ta thấy là một trang cho phép chúng ta cấu hình quá trình quét. Đây là những gì chúng ta sẽ sử dụng để quét máy chủ Metasploitable 2 của chúng ta. Đây là những gì chúng ta bắt đầu: (hình ảnh)
Chúng ta sẽ xem qua từng tab này và thiết lập quá trình quét của chúng ta để cung cấp cho chúng ta thông tin liên quan về máy chủ Metasploitable 2 của chúng ta.
Tab Cài đặt (Settings Tab)
Trong tab “Settings”, chúng ta sẽ bắt đầu với phần “General”. Đặt tên cho nó, chẳng hạn như “Metasploitable 2 Linux Scan”. Thêm mô tả nếu muốn.
Trong hộp Targets, chúng ta cần biết địa chỉ IP của hệ thống Metasploitable 2. Chúng ta nên đã khởi động nó trong một bước trước đó (nếu nó chưa chạy, hãy khởi động nó ngay bây giờ).
Vào VMware Workstation và chọn mục “Metasploitable2-Linux” ở đầu bảng điều khiển bên trái: (hình ảnh)
Bạn có thể thấy một màn hình đen ở bên phải. Nhấp vào bất kỳ đâu trên màn hình đó và nhấn một phím (như Backspace) để đánh thức nó. Bây giờ bạn sẽ thấy một cái gì đó như thế này: (hình ảnh)
Chúng ta sẽ đăng nhập và lấy địa chỉ IP để chúng ta có thể đưa nó vào mục tiêu quét trong Nessus.
Chúng ta thấy rằng nó cho chúng ta biết thông tin đăng nhập. Vì vậy, đối với cả tên người dùng và mật khẩu, hãy nhập “msfadmin” (không có dấu ngoặc kép).
Khi đã đăng nhập, chạy lệnh sau:
ip addr
Lệnh này sẽ cung cấp cho chúng ta địa chỉ IP của máy này: (hình ảnh)
Trong ví dụ này, địa chỉ của máy là 10.0.20.48. Giữ địa chỉ IP này, chúng ta sẽ cần nó trong suốt phần còn lại của hướng dẫn này. Bây giờ, hãy quay lại quét Nessus và đặt địa chỉ IP đó làm mục tiêu quét. Đây là những gì chúng ta nên có cho đến nay: (hình ảnh)
Sau đó, chúng ta sẽ tiếp tục. Nhấp vào “Discovery” trong danh sách bên trái. Đây là một số nội dung bạn sẽ thấy: (hình ảnh)
Chúng ta chỉ cần chấp nhận các giá trị mặc định trên trang này, vì vậy hãy nhấp vào “Assessment” ở bên trái. Trên trang này, chúng ta muốn chọn “Perform thorough tests”, vì vậy hãy đánh dấu vào ô đó: (hình ảnh)
Sau đó, chúng ta sẽ chuyển đến phần “Report” trong các tùy chọn ở bên trái. Điều chỉnh cài đặt sao cho trông giống như sau: (hình ảnh)
Tiếp theo, nhấp vào tùy chọn “Advanced” trong danh sách bên trái. Điều duy nhất chúng ta sẽ làm ở đây là bỏ chọn “Enable safe checks”: (hình ảnh)
Trên mạng sản xuất thông thường, bạn sẽ đánh dấu vào ô này. Bạn không muốn làm sập hệ thống sản xuất khi đang quét. Nhưng đối với mục đích của chúng ta ở đây, chúng ta muốn thu thập càng nhiều thông tin càng tốt, vì vậy chúng ta sẽ bỏ chọn nó.
Kali 2024.4
Trong cửa sổ chính VMware Workstation, chọn Kali Linux và khởi động : (hình ảnh)
Bạn sẽ thấy máy ảo Kali Linux khởi động ở khung bên phải. Sau khi khởi động xong, chúng ta thấy màn hình đăng nhập: (hình ảnh)
Tên người dùng là “kali” và mật khẩu là “kali“. Sử dụng thông tin đăng nhập này để đăng nhập. Đây là nơi chúng ta sẽ thực hiện phần lớn các cuộc tấn công của mình để xem cách chúng ta có thể xâm nhập vào máy ảo Metasploitable 2.
Đầu tiên, hãy đặt cửa sổ Kali Linux ở chế độ toàn màn hình. Điều này sẽ giúp việc sử dụng dễ dàng hơn và chúng ta sẽ có thể thấy rõ hơn những gì đang diễn ra. Trên thanh công cụ VMware Workstation, nhấp vào biểu tượng “Full-Screen”: (hình ảnh)
Tiếp theo, chúng ta muốn cập nhật tất cả các gói trong Kali để có phiên bản mới nhất của mọi thứ. Để thực hiện việc này, hãy mở terminal bằng cách nhấp vào biểu tượng “Terminal” ở thanh bên trái: (hình ảnh)
Một cửa sổ terminal sẽ mở ra. Bây giờ, chúng ta cần sửa chữ ký cho các gói. Để thực hiện việc này, hãy nhập các lệnh sau vào cửa sổ terminal:
wget https://archive.kali.org/archive-key.asc
apt-key add archive-key.asc
Sẽ trông như thế này: (hình ảnh)
Bây giờ, hãy cập nhật hệ thống bằng lệnh sau:
apt-get dist-upgrade -y
Bạn sẽ thấy một số kết quả như này: (hình ảnh)
Sẽ có nhiều hơn trên màn hình, nhưng điều này sẽ cho bạn ý tưởng về những gì nó trông như thế nào. Bạn sẽ thấy nó tải xuống và cài đặt nhiều gói. Quá trình này có thể mất 10-20 phút.
Một lời nhắc sẽ xuất hiện hỏi bạn có muốn cho phép người dùng không phải superuser chụp gói tin hay không. Mặc định là “no” là được. Chỉ cần nhấn Enter.
Một lời nhắc khác xuất hiện hỏi bạn có muốn nâng cấp glibc ngay bây giờ không. Mặc định “Yes” là được. Chỉ cần nhấn Enter.
Câu hỏi tiếp theo là liệu bạn có muốn khởi động lại các dịch vụ trong khi nâng cấp gói mà không cần hỏi hay không. Thay đổi cái này thành “Yes” và nhấn Enter.
Sau đó, Kali sẽ cài đặt tất cả các gói mới. Điều này cũng sẽ mất khá nhiều thời gian.
Khi hoàn tất, bạn có thể khởi động lại hệ thống. Để làm điều này, tại dấu nhắc lệnh, nhập “reboot” và nhấn Enter.
Khi hệ thống đã khởi động lại xong, hãy đăng nhập lại như chúng ta đã làm trước đó với thông tin đăng nhập này:
- username: kali
- password: kali
Bây giờ mọi thứ đã được cập nhật, đã đến lúc mở Metasploit. Để thực hiện việc này, hãy nhấp vào biểu tượng “metasploit framework” trên thanh bên trái: (hình ảnh) hoặc từ Menu thả xuống
Lần đầu tiên bạn chạy nó, bạn sẽ thấy cơ sở dữ liệu đang được khởi tạo: (hình ảnh)
Khi bạn thấy dấu nhắc “msf >”, chúng ta đã sẵn sàng để bắt đầu.
Phần 9: Thu thập Thông tin (Gathering Information) và Quét trong Metasploit (Scanning in Metasploit)
Bước đầu tiên sẽ là thu thập thông tin về mục tiêu. Điều này thường được gọi là giai đoạn “recon” hoặc “reconnaissance”. Bạn thu thập càng nhiều thông tin càng tốt về hệ thống từ xa. Chúng ta đã bắt đầu làm điều này với quét Nessus mà chúng ta đã thiết lập và chạy trước đó.
Chúng ta cũng sẽ sử dụng Metasploit để giúp chúng ta thu thập thông tin.
Quét trong Metasploit (Scanning in Metasploit)
Điều đầu tiên chúng ta muốn làm là sử dụng nmap để quét mục tiêu để tìm kiếm thông tin hữu ích. Để làm điều này, hãy chạy lệnh sau tại dấu nhắc msf:
db_nmap -v -T4 -PA -sv --version-all --osscan-guess -A -ss -p 1-65535 <địa chỉ IP>
Trong đó <địa chỉ IP> là địa chỉ IP của hệ thống Metasploitable 2. Nó sẽ là cùng một IP mà ta đã đặt làm mục tiêu cho máy quét Nessus của chúng ta. Khi bạn chạy quét này, nó sẽ bắt đầu hiển thị các cổng mà Nessus đang quét: (hình ảnh)
Khi hoàn tất, bạn sẽ thấy một loạt kết quả đầu ra. (hình ảnh)
Thông tin này bây giờ đã được ghi vào cơ sở dữ liệu của Metasploit. Hãy xem thông tin chúng ta đã thu thập được trong Metasploit cho đến nay. Tại dấu nhắc “msf >”, hãy chạy lệnh sau:
services
Bạn sẽ thấy một cái gì đó như thế này: (hình ảnh)
Điều đó cho chúng ta thấy tất cả các cổng đang mở trên hệ thống Metasploitable 2 của chúng ta. Nó cũng cho chúng ta thấy một số thông tin về dịch vụ đang chạy trên mỗi cổng. Chúng ta sẽ phối hợp thông tin này với kết quả của quét Nessus để xem liệu có bất cứ điều gì chúng ta có thể sử dụng để truy cập vào hệ thống đó hay không. Vì vậy, hãy quay lại Nessus và xem quét của chúng ta.
Phần 10: Quét Nessus (The Nessus Scan) và Nghiên cứu (Research)
Quét Nessus (The Nessus Scan)
Nhấp vào “My Scans” ở góc trên cùng bên trái của bảng điều khiển Nessus, sau đó nhấp vào tên của bản quét của bạn: (hình ảnh)
Bạn sẽ thấy kết quả quét. Hãy tiếp tục và nhấp vào mục nhập quét: (hình ảnh)
Thao tác này sẽ đưa bạn đến một trang hiển thị mọi thứ mà Nessus đã tìm thấy. Nó sẽ trông giống như thế này: (hình ảnh)
Bây giờ, chúng ta cần tạo một bộ lọc sẽ chỉ hiển thị cho chúng ta những kết quả hữu ích nhất để truy cập vào hệ thống từ xa. Nhấp vào menu thả xuống “Filter” ngay bên dưới tab “Vulnerabilities”: (hình ảnh)
Điều đầu tiên chúng ta muốn xem là tất cả các lỗ hổng có khai thác đã biết. Nhấp vào menu thả xuống đầu tiên (có thể hiển thị “Bugtraq ID” trong đó) và chọn “Exploit Available”. Bây giờ nó sẽ trông như thế này: (hình ảnh)
Tiếp theo, chúng ta chỉ muốn biết những lỗ hổng nào được coi là rất dễ khai thác. Nhấp vào dấu cộng nhỏ ở bên phải của quy tắc đầu tiên đó. Bây giờ, chọn “CVSS Base Score”. Trong menu thả xuống thứ hai, chọn “is more than”. Trong ô cuối cùng, nhập “6”. Bây giờ nó sẽ trông như thế này: (hình ảnh)
Nhấp vào “Apply”.
Bây giờ, chúng ta chỉ thấy các kết quả sẽ có lợi nhất cho chúng ta. Giữa danh sách này và thông tin từ Metasploit, chúng ta có thể chọn một dịch vụ cụ thể để nhắm mục tiêu.
Nghiên cứu (Research)
Đây là lúc chúng ta đi sâu vào phần nghiên cứu về việc tấn công Metasploitable 2. Chúng ta phải chọn một dịch vụ mỗi lần khi chúng ta làm điều này. Theo dõi mọi thứ bạn tìm hiểu về dịch vụ đó. Bạn thậm chí có thể mở một trình soạn thảo văn bản để lưu giữ thông tin liên quan. Khi bạn đang kiểm tra một hệ thống từ xa, không có gì tệ hơn là biết rằng bạn đã học được điều gì đó về nó, nhưng không thể tìm thấy thông tin đó nữa.
Xem xét vsftpd (A Look at vsftpd)
Vì vậy, hãy bắt đầu với mục đầu tiên trong danh sách dịch vụ trong Metasploit: (hình ảnh)
Chúng ta có thể tìm hiểu gì ở đây? Chà, nó cho chúng ta biết rằng nó đang chạy vsftpd 2.3.4. Quét Nessus có cung cấp cho chúng ta thêm thông tin nào không? Chúng ta sẽ quay lại bảng điều khiển Nessus và tìm kiếm ‘vsftp’: (hình ảnh)
Nhấp vào mục ‘vsftpd Detection’ xuất hiện. Thật không may, nó không cung cấp cho chúng ta thêm chi tiết nào.
Quay lại Metasploit. Chúng ta sẽ tìm kiếm các khai thác có thể giúp chúng ta xâm nhập vào dịch vụ vsftpd. Để tìm kiếm các khai thác, chúng ta chỉ cần chạy lệnh sau:
search vsftpd
Nó sẽ trông như thế này: (hình ảnh)
Chúng ta đã tìm thấy một. Vì vậy, hãy tải nó lên và xem chúng ta có thể sử dụng nó không.
Phần 11: Khai thác vsftpd (Exploiting vsftpd) và Thử Telnet (Try Telnet)
Khai thác vsftpd (Exploiting vsftpd)
Để làm điều này, chúng ta sẽ chạy lệnh sau:
use exploit/unix/ftp/vsftpd_234_backdoor
Kết quả sẽ trông như thế này: (hình ảnh)
Để tìm hiểu cách sử dụng khai thác này, chúng ta sẽ nhập “info”: (hình ảnh)
Thông tin này cho chúng ta biết khá nhiều về plugin này. Nếu bạn muốn tìm hiểu thêm về các khai thác này, bạn nên dành thời gian để đọc về chúng. Các liên kết ở cuối ảnh chụp màn hình sẽ cho bạn biết thêm một chút về khai thác. Tìm hiểu về những gì nó làm và cách thức hoạt động. Không có đường tắt nào để trở thành một hacker giỏi. Trên thực tế, “bạn nhận được những gì bạn bỏ ra” chưa bao giờ đúng hơn với việc hack.
Ảnh chụp màn hình cho chúng ta thấy những tùy chọn nào chúng ta cần thiết lập: RHOST và RPORT. Bạn có thể thấy rằng RPORT đã được đặt thành cổng 21, là nơi vsftpd đang chạy trên hệ thống Metasploitable 2 của chúng ta. Để đặt RHOST, chúng ta sẽ sử dụng cú pháp:
set RHOST <địa chỉ IP>
Bạn sẽ nhập địa chỉ IP của hộp Metasploitable 2: (hình ảnh)
Bây giờ, chúng ta đã sẵn sàng để thử khai thác. Nhập “run” và nhấn Enter. Bạn sẽ thấy như sau: (hình ảnh)
Metasploit đang báo cáo rằng chúng ta đã hack thành công hệ thống. Bây giờ chúng ta có quyền root shell trên hộp Metasploitable 2! Để chắc chắn, hãy chạy whoami. Bạn sẽ thấy ‘root’. Điều đó có nghĩa là bạn đã đăng nhập vào hộp đó với tư cách là root!: (hình ảnh)
Thành công!
Thoải mái xem xung quanh. Kiểm tra xem những tiến trình nào đang chạy. Xem qua hệ thống file. Khi bạn hoàn tất, hãy nhập exit để quay lại Metasploit: (hình ảnh)
Bạn có thể phải nhấn Enter nhiều lần để quay lại.
Để đặt lại Metasploit cho cuộc tấn công tiếp theo, hãy nhập lệnh “back”. Lệnh này sẽ đưa bạn trở lại dấu nhắc “msf >”: (hình ảnh)
Thử Telnet (Try Telnet)
Với một số lỗ hổng trong hệ thống Metasploit 2 của chúng ta, chúng ta thậm chí không cần Metasploit. Mở một cửa sổ terminal khác trong máy ảo Kali Linux của bạn. Cách thực hiện không rõ ràng ngay từ cái nhìn đầu tiên. Bạn phải nhấp chuột phải vào biểu tượng terminal và chọn “New Window”: (hình ảnh)
Nhập telnet <địa chỉ IP>, thay thế <địa chỉ IP> bằng địa chỉ IP của hộp Metasploitable 2 của bạn. Nhấn Enter. Bạn sẽ thấy điều này: (hình ảnh)
May mắn thay, chúng ta không chỉ có thể vào được mà nó còn cho chúng ta biết tên người dùng và mật khẩu để đăng nhập! Nhập “msfadmin” (không có dấu ngoặc kép) cho tên người dùng và tương tự cho mật khẩu.
Nếu bạn thấy như sau, bạn đã vào!: (hình ảnh)
Nhưng chúng ta không phải là root. Liệu chúng ta có thể sudo để thành root không? Thực hiện lệnh sau:
sudo su
Nếu được nhắc, hãy nhập ‘msfadmin’ làm mật khẩu. Đây là gì? Bây giờ chúng ta là root!: (hình ảnh)
Chúng ta thực sự là root. Đôi khi (mặc dù không thường xuyên lắm), nó đơn giản như vậy. Để thoát khỏi shell, hãy nhập “exit” và nhấn Enter, và sau đó làm lại lần nữa: (hình ảnh)
Đó là khá đơn giản. Bạn sẽ ngạc nhiên khi thấy những thứ như thế này thường bị bỏ lại trên mạng. Một số thiết bị chuyển mạch sử dụng telnet theo mặc định và thậm chí không đặt mật khẩu.
Tốt lắm, hãy tiếp tục. Dịch vụ tiếp theo chúng ta có thể tấn công là gì?
Phần 12: Khai thác rexecd (Exploiting rexecd) và Cửa hậu Shell Độc hại (Rogue Shell Backdoor?)
Khai thác rexecd (Exploiting rexecd)
Quay lại quét Nessus trong giây lát. Hãy xem liệu có bất kỳ lỗ hổng nào dễ khai thác nào khác hay không. Đây là danh sách tôi thấy: (hình ảnh)
Mục nhập thứ tư ghi là “rexecd Service Detection”. Tôi tự hỏi đó là gì. Nhấp vào mục nhập đó. Màn hình thông tin cho mục đó ghi:
“Dịch vụ rexecd đang chạy trên máy chủ từ xa. Dịch vụ này được thiết kế để cho phép người dùng trên mạng thực thi các lệnh từ xa. Tuy nhiên, rexecd không cung cấp bất kỳ phương tiện xác thực nào tốt, vì vậy kẻ tấn công có thể lợi dụng nó để quét máy chủ của bên thứ ba.”
Tuyệt vời, làm thế nào để chúng ta tấn công nó? Chà, bạn có thể dễ dàng nghiên cứu điều đó trên mạng, điều mà tôi khuyên bạn nên làm. Bạn muốn tự làm quen với từng thứ bạn làm. Đây là cách bạn tích lũy kinh nghiệm.
Khi bạn nghiên cứu rexecd, bạn sẽ thấy rằng bạn có thể sử dụng “rlogin” để đăng nhập vào nó. Nó giống như telnet.
Hãy thử xem. Mở một terminal khác. Vì chúng ta đã biết rằng có một người dùng có tên là “msfadmin” và người dùng này có mật khẩu là “msfadmin”, chúng ta sẽ thử đăng nhập với tư cách là người dùng đó. Chạy lệnh sau:
rlogin -l msfadmin <địa chỉ IP>
Ngoại trừ việc bạn sẽ sử dụng địa chỉ IP của hệ thống Metasploitable 2 của mình. Bạn sẽ thấy điều này: (hình ảnh)
Chúng ta đã vào. Bây giờ, để trở thành root. Chạy sudo su – như chúng ta đã làm trước đó. Nếu được nhắc nhập mật khẩu, hãy sử dụng “msfadmin”. Và chúng ta lại có root!: (hình ảnh)
Rất tuyệt. Thoát ra, và hãy xem còn gì khác nữa không.
Cửa hậu Shell Độc hại? (Rogue Shell Backdoor?)
Quay lại quét Nessus: (hình ảnh)
Hãy nhìn vào mục cuối cùng. “Rogue Shell Backdoor” là gì? Nhấp vào mục nhập và cùng đọc về nó. Trên trang thông tin, nó ghi: “Một shell đang lắng nghe trên cổng từ xa mà không cần bất kỳ xác thực nào. Kẻ tấn công có thể sử dụng nó bằng cách kết nối với cổng từ xa và gửi lệnh trực tiếp.” Nếu chúng ta nhìn vào cuối trang, nó cho chúng ta biết rằng dịch vụ này đang lắng nghe trên cổng 1524.
Ồ, tôi tự hỏi liệu đây có phải là một dịch vụ khác không yêu cầu sử dụng Metasploit hay không.
Mở terminal và nhập lệnh “telnet <địa chỉ IP> 1524” (không có dấu ngoặc kép). Nó cho phép chúng ta đăng nhập với tư cách root!: (hình ảnh)
Thoát ra ngoài như bạn đã làm trước đây và chúng ta sẽ thử một cái gì đó phức tạp hơn một chút.
Quay lại kết quả quét trong Nessus.
Phần 13: Xem xét Samba (A Look at Samba) và Khai thác Samba (Exploiting Samba)
Xem xét Samba (A Look at Samba)
Mục tiếp theo trong danh sách của tôi là “Ubuntu 8.04 LTS / 10.04 LTS / 11.04 / 11.10: lỗ hổng samba (USN-1423-1)”. Tôi tự hỏi liệu chúng ta có thể làm gì với điều đó không. Quay lại bảng điều khiển Metasploit của bạn. Chúng ta sẽ nghiên cứu các khai thác có thể có.
Nhập lệnh search samba. Nó sẽ hiển thị một danh sách khá lớn: (hình ảnh)
Chúng ta có thể thử từng cái một. Nhưng trước tiên, hãy xem liệu chúng ta có thể nhận được thêm chi tiết nào từ dịch vụ đó và thu hẹp mọi thứ lại một chút không. Chúng ta sẽ quét nó để lấy càng nhiều thông tin càng tốt. Chạy lệnh sau trong Metasploit:
nmap -PA -A -sv -sT -T4 --version-all -v -p <số cổng> <địa chỉ IP>
Đặt địa chỉ IP của hộp Metasploitable 2 của bạn vào đó. Chúng ta cũng sẽ sử dụng cổng 445. Khi hoàn tất, bạn sẽ thấy như sau: (hình ảnh)
Ở trên cùng, chúng ta có thể thấy rằng phiên bản chính xác là Samba 3.0.20-Debian. Một cách tốt để xác định khai thác nào sẽ sử dụng là nghiên cứu chúng trực tuyến. Vì vậy, hãy đến với công cụ tìm kiếm yêu thích của bạn. Nhập nội dung sau làm tìm kiếm:
Samba 3.0.20 CVE
Đây là hai mục đầu tiên xuất hiện đối với tôi trong Google: (hình ảnh)
Thông thường, tôi sẽ nói rằng hãy xem qua danh sách trên cvedetails.com. Tuy nhiên, liên kết rapid7 đó cho chúng ta biết về một mô-đun khai thác lỗ hổng trong samba. Cái đó có vẻ thú vị nhất đối với tôi. Hãy xem qua cái đó. Hãy tiếp tục và nhấp vào liên kết và đọc trang đó. Chúng ta muốn tìm hiểu càng nhiều về khai thác này càng tốt.
Ở đầu trang, nó cho chúng ta biết tên mô-đun. Xuống dưới một chút, nó cho chúng ta các tham chiếu, bao gồm CVE: (hình ảnh)
Khai thác Samba (Exploiting Samba)
Tôi nhận ra rằng về cơ bản, điều này tương đương với việc tra cứu câu trả lời ở cuối sách. Tuy nhiên, chúng ta đang thực hành ở đây. Và nếu bạn tìm thấy thứ gì đó hữu ích, hãy sử dụng nó! Giả sử, trong một phút, rằng tất cả những gì chúng ta có là CVE, chúng ta sẽ học cách tìm kiếm Metasploit cho một CVE cụ thể. Vì vậy, hãy quay lại terminal Metasploit. Nhập lệnh sau:
search cve:2007-2447
Hãy xem liệu nó có khai thác nào trong đó không: (hình ảnh)
Nó có. Bây giờ, tất nhiên là nó sẽ có, bởi vì nó đến từ trang web Rapid7. Họ tạo ra Metasploit. Vì vậy, nếu có thông tin trên trang web của họ về một khai thác cho Samba, nó có thể sẽ hoạt động. Nhưng chúng ta đang thực hành nghiên cứu khai thác.
Trong Metasploit, nhập lệnh sau:
use exploit/multi/samba/usermap_script
Sau đó nhập lệnh “info” như chúng ta đã làm trước đây: (hình ảnh)
Hãy xem “References” ở dưới cùng và đọc qua để tìm hiểu càng nhiều càng tốt về khai thác này.
Chúng ta cũng có thể thấy rằng nó cần phải thiết lập RHOST. Chạy lệnh sau bằng IP của hộp Metasploitable 2 của bạn:
set RHOST <địa chỉ IP>
Bạn sẽ thấy một cái gì đó như thế này: (hình ảnh)
Bây giờ là lệnh ma thuật, “run”: (hình ảnh)
Có vẻ như chúng ta đã có kết nối. Nhập ‘whoami’ để xem chúng ta đã đăng nhập với tư cách người dùng nào. Chúng ta lại root được hộp rồi! Rất tuyệt.
Để thoát khỏi phiên này, chúng ta sẽ phải nhấn CTRL+C lần này. Nhớ nhập lệnh “back” khi bạn thực hiện xong một khai thác.
Chúng ta có thể tấn công gì khác?
Quay lại quét Nessus.
Phần 14: Xem xét UnrealIRCd (A Look at UnrealIRCd) và Khai thác UnrealIRCd (Exploiting UnrealIRCd)
Xem xét UnrealIRCd (A Look at UnrealIRCd)
Trong danh sách, có một mục nhập có tên là “UnrealIRCd Backdoor Detection”. Hãy nhấp vào mục đó. Nó ghi: “Máy chủ IRC từ xa là phiên bản của UnrealIRCd có cửa hậu cho phép kẻ tấn công thực thi mã tùy ý trên máy chủ bị ảnh hưởng.”
Đôi khi, ở góc dưới bên phải, trong phần “Reference Information”, nó sẽ cung cấp cho chúng ta một CVE. Chúng ta có thể sử dụng nó để khai thác dịch vụ. Trong trường hợp này, nó ghi “CVE-2010-2075”: (hình ảnh)
Hãy tìm kiếm nó trong Metasploit và xem nó nói gì: (hình ảnh)
Nó đã tìm thấy một cái. Hãy thử nó.
Khai thác UnrealIRCd (Exploiting UnrealIRCd)
Nhập lệnh sau:
use exploit/unix/irc/unreal_ircd_3281_backdoor
Sau đó chạy “info”: (hình ảnh)
Một lần nữa, tôi sẽ đề nghị bạn đọc từng mục trong phần “References” để bạn tìm hiểu về những gì bạn đang làm.
Chúng ta sẽ đặt RHOST như chúng ta đã làm trước đây: (hình ảnh)
Bạn biết điều gì sẽ xảy ra tiếp theo. Nhập “run” và xem nó làm gì: (hình ảnh)
Một shell root khác! Tuyệt vời!
Thoát khỏi cái này bằng CTRL+C. Chạy “back” để đặt lại shell Metasploit của chúng ta.
Cho đến nay, chúng ta đang làm khá tốt. Hãy kiểm tra quét Nessus của chúng ta và xem còn gì nữa không.
Phần 15: Xem xét Máy chủ VNC (A Look at the VNC Server) và Khai thác Máy chủ VNC (Exploiting the VNC Server)
Xem xét Máy chủ VNC (A Look at the VNC Server)
Ngay bên dưới mục UnrealIRCd Backdoor trong danh sách của tôi, nó ghi là “VNC Server ‘password’ Password”. Hãy nhấp vào nó và xem chúng ta có thể học được gì. Nó nói rằng:
“Máy chủ VNC đang chạy trên máy chủ từ xa được bảo mật bằng mật khẩu yếu. Nessus đã có thể đăng nhập bằng xác thực VNC và mật khẩu ‘password’. Kẻ tấn công từ xa, không được xác thực có thể khai thác điều này để kiểm soát hệ thống.”
Nghe có vẻ như là thứ chúng ta muốn xem xét.
VNC là một công nghệ tương tự như Remote Desktop hoặc RDP. Đối với người dùng Windows, có một số ứng dụng khách VNC miễn phí để lựa chọn, chẳng hạn như:
- TigerVNC
- TightVNC
- RealVNC
Đối với người dùng Linux, bạn có thể sử dụng:
- Remmina
- RealVNC
- TightVNC
- Vinagre
Có rất nhiều cách để cài đặt chúng, tôi không thể hướng dẫn cài đặt từng cái trên các hệ điều hành khác nhau. Nhưng như đã nêu trong phần “Giả định” ở trên, bạn nên biết cách cài đặt và sử dụng VNC. Nếu không, đừng lo lắng. Nghiên cứu nó, lấy một cái và cài đặt nó vào hệ thống máy chủ của bạn. Không phải trong một trong các máy ảo.
Khai thác Máy chủ VNC (Exploiting the VNC Server)
Sau khi đã cài đặt ứng dụng khách VNC, hãy khởi động . Chúng ta sẽ kết nối với máy chủ VNC và xem những gì ta có thể thấy.
Lưu ý trong trang chi tiết Nessus, nó cung cấp cho chúng ta mật khẩu, số cổng và địa chỉ IP. Hãy nhập thông tin đó vào ứng dụng khách VNC của chúng ta và thử kết nối. Đây là Remmina đã sẵn sàng để kết nối: (hình ảnh)
Hãy kết nối và xem chúng ta nhận được gì. (hình ảnh)
Có vẻ như chúng ta đã kết nối với máy chủ VNC đang chạy với đặc quyền root. Chúng ta lại root được rồi! Thật tuyệt. Có mật khẩu là “password” gần như không có mật khẩu. Nhắc nhở nhanh: hãy đặt mật khẩu mạnh!
Cho đến nay, chúng ta đã khá may mắn khi có quyền truy cập root vào hệ thống Metasploitable 2 của chúng ta. Hãy xem liệu chúng ta có thể tìm thấy bất cứ điều gì khác không.
Phần 16: Xem xét Java RMI Registry (A Look at the Java RMI Registry), Exploit-DB, và Khai thác Java RMI Registry (Exploiting Java RMI Registry)
Xem xét Java RMI Registry (A Look at the Java RMI Registry)
Trên cổng 1099, có vẻ như có Java RMI Registry đang chạy. Hãy xem liệu chúng ta có thể tìm hiểu thêm về nó không. Một cái nhìn thoáng qua trong quét Nessus chỉ cho thấy rằng nó đã tìm thấy dịch vụ, nhưng không cho chúng ta bất kỳ dấu hiệu nào về cách chúng ta có thể khai thác nó. Hãy thu thập thêm thông tin với nmap. Trong Metasploit, chạy lệnh sau:
db_nmap -PA -A -sV -sT -T4 --version-all -v -p 1099 <địa chỉ IP>
Sử dụng IP của hệ thống Metasploitable 2 của bạn. Đây là kết quả tôi nhận được: (hình ảnh)
Vì vậy, chúng ta không thực sự nhận được nhiều thông tin hơn những gì chúng ta đã có trước đó. Hãy tìm kiếm trong Metasploit để xem liệu chúng ta có thể tìm thấy bất cứ điều gì không. Nhập lệnh:
search rmi
Quá nhiều kết quả. Chúng ta có thể tìm kiếm gì khác? Chúng ta thử “search java-rmi” xem sao? Một kết quả xuất hiện: (hình ảnh)
Kết quả đó trông giống như dành cho trình duyệt web. Nhưng dù sao chúng ta cũng hãy xem qua. Nhập lệnh “use” như chúng ta đã làm trước đây:
use exploit/multi/browser/java_rmi_connection_impl
Sau đó nhập “info”: (hình ảnh)
Để sử dụng cái này, có vẻ như chúng ta phải khiến ai đó nhấp vào thứ gì đó trong trình duyệt của họ. Sau đó, nó sẽ kết nối trở lại dịch vụ nghe của chúng ta và cung cấp cho chúng ta một shell.
Điều này sẽ không hiệu quả với những gì chúng ta đang làm ở đây. Nhập lệnh “back” như chúng ta đã làm trước đó. Hãy tiếp tục tìm kiếm.
Hãy xem xét một cách khác mà chúng ta có thể tìm thấy các khai thác.
Exploit-DB
Có một cơ sở dữ liệu trực tuyến về các khai thác đã biết. Không phải tất cả các khai thác này đều có trong Metasploit, nhưng một số thì có. Tin tốt là chúng ta có thể tìm kiếm cơ sở dữ liệu này từ bên trong Metasploit. Để làm điều này, hãy nhập searchsploit <từ khóa tìm kiếm>.
Vì vậy, đối với trường hợp này, hãy thử như sau:
searchsploit java rmi
Có vẻ như có bốn mục: (hình ảnh)
Chúng ta sẽ tra cứu CVE cho từng mục này và thử chúng để xem liệu chúng ta có thể làm cho một trong số chúng hoạt động hay không. Sao chép toàn bộ tiêu đề của mục đầu tiên:
“Java – RMIConnectionImpl Deserialization Privilege Escalation (Metasploit)”
Bây giờ, hãy đến cơ sở dữ liệu exploit-db: https://www.exploit-db.com/
Ở góc trên cùng bên phải, có một ô tìm kiếm: (hình ảnh)
Nhấp vào đó. Một thanh tìm kiếm xuất hiện. Dán tiêu đề của mục nhập đầu tiên của chúng ta từ Metasploit và nhập captcha. Nó sẽ trông như thế này: (hình ảnh)
Bây giờ nhấp vào “Search”. Chính xác một kết quả xuất hiện: (hình ảnh)
Hãy nhấp vào nó để xem chúng ta có thể tìm hiểu những gì.
Ở gần đầu, có một hộp màu xám: (hình ảnh)
Điều này cho chúng ta biết rằng có một CVE cho nó và có vẻ như nó nằm trong Metasploit. Hãy quay lại Metasploit và tìm kiếm CVE đó: (hình ảnh)
Khai thác Java RMI Registry (Exploiting Java RMI Registry)
Nó trông rất giống với cái chúng ta đã thấy trước đây. Vì vậy, chúng ta sẽ bỏ qua nó. Thực hiện tìm kiếm như chúng ta đã làm trước đây với:
searchsploit java rmi
Chúng ta nhận được bốn kết quả tương tự. Lần này, chúng ta sẽ thử cái thứ hai: (hình ảnh)
Sao chép tên của mục nhập đó:
“Java RMI – Server Insecure Default Configuration Java Code Execution (Metasploit)”
Quay lại https://www.exploit-db.com/ và tìm kiếm nó như chúng ta đã làm với cái đầu tiên. Chúng ta nhận được một kết quả: (hình ảnh)
Nhấp vào mục nhập đó. Hãy xem chúng ta tìm thấy gì. Ở trên cùng, chúng ta thấy hộp màu xám: (hình ảnh)
Chúng ta biết rằng nó có CVE. Nó cũng xuất hiện trong Metasploit. Quay lại Metasploit.
Tìm kiếm CVE như chúng ta đã làm trước đây bằng cách nhập lệnh:
search cve:2011-3556
Hai kết quả xuất hiện. Chúng ta sẽ sử dụng khai thác (cái thứ hai): (hình ảnh)
Hãy nhập lệnh “use” của chúng ta và sau đó chạy “info” để tìm hiểu về nó: (hình ảnh)
Có vẻ như cổng đã được thiết lập. Hãy thiết lập RHOST của chúng ta và sau đó “run” nó: (hình ảnh)
Vậy bây giờ thì sao? Chà, chúng ta sẽ tương tác với phiên đó, được liệt kê là phiên “1” ở đây. Nhập lệnh:
sessions -i <số phiên>
Trong trường hợp này <số phiên> là 1. Bạn sẽ phải nhập phiên được chỉ định bởi Metasploit từ kết quả của bạn. Sau đó, khi shell meterpreter xuất hiện, chúng ta sẽ nhập “shell”. Tại thời điểm đó, chúng ta lại ở trên hệ thống Metasploitable 2: (hình ảnh)
Và một lần nữa, chúng ta là root!
Chạy “exit” hai lần để quay lại Metasploit. Nhập “back” để xóa khai thác của chúng ta.
Cái này tốn thêm một chút công sức. Mục tiêu ở đây là dạy bạn cách thực hiện nghiên cứu cần thiết để tìm ra khai thác hoạt động và sau đó cách sử dụng nó sau khi bạn đã tìm thấy nó. Một số dịch vụ này mất nhiều công sức hơn những dịch vụ khác để tìm ra khai thác hoạt động.
Hãy chạy lại “services” và chọn một cái gì đó khác: (hình ảnh)
Phần 17: Xem xét NFS (A Look at NFS) và Khai thác NFS (Exploiting NFS)
Xem xét NFS (A Look at NFS)
Còn máy chủ NFS thì sao? Hãy xem nó đã xuất gì. Mở một terminal khác trong Kali Linux. Để xem máy chủ NFS từ xa có sẵn để mount những gì, chúng ta sử dụng lệnh “showmount”. Lệnh này không được cài đặt theo mặc định trên máy ảo Kali Linux của tôi, vì vậy tôi đã phải cài đặt nó bằng lệnh sau:
apt-get install nfs-server
Sau khi hoàn tất, chúng ta có thể nhập lệnh sau:
showmount -e <địa chỉ IP>
Sử dụng IP của máy chủ Metasploitable 2 của bạn.
Nó cho thấy rằng máy chủ từ xa đang xuất thư mục gốc của hệ thống file: (hình ảnh)
Hãy mount nó và xem chúng ta có thể làm gì với nó.
Khai thác NFS (Exploiting NFS)
Đầu tiên, hãy tạo một điểm mount bằng lệnh sau:
mkdir -p /mnt/nfs
Sau đó, hãy mount hệ thống file từ xa bằng lệnh này:
mount <địa chỉ IP>:/ /mnt/nfs
Sau đó, chúng ta sẽ chuyển sang thư mục hệ thống file đó và xem có gì trên đó bằng:
cd /mnt/nfs
Và sau đó:
ls -alh --color
Đây là tất cả những gì trông như thế nào: (hình ảnh)
Vậy chúng ta có thể làm gì với điều này? Chà, nếu bạn có khóa công khai SSH, bạn có thể đặt nó vào /root/.ssh/authorized_keys và ssh trực tiếp vào hộp với tư cách root. Bạn có thể tự thêm mình làm người dùng, tạo thư mục chính, thêm khóa công khai SSH của bạn vào /home/<tên người dùng của bạn>/.ssh/authorized_keys và đưa chính bạn vào file sudoers. Một lần nữa, bạn sẽ có thể ssh vào hộp và trở thành root. Bạn có thể xem các tệp cấu hình để xem có bất kỳ thứ gì khác được cấu hình không an toàn hay không.
Chúng ta hãy unmount hệ thống file từ xa và tiếp tục. Chạy các lệnh sau để làm như vậy:
cd ~
umount /mnt/nfs
rmdir /mnt/nfs
Sau đó, bạn có thể đóng cửa sổ terminal đó.
Phần 18: Xem xét ProFTPD (A Look at ProFTPD) và Khai thác ProFTPD (Exploiting ProFTPD)
Xem xét ProFTPD (A Look at ProFTPD)
Trong danh sách dịch vụ của chúng ta, chúng ta thấy rằng ProFTPD đang chạy trên cổng 2121. Làm thế nào chúng ta có thể truy cập vào đó? Chúng ta có thể thử FTP với tư cách người dùng ẩn danh. Có rất nhiều ứng dụng khách FTP để lựa chọn. Chúng ta sẽ thực hiện bước này từ máy chủ của chúng ta, không phải một trong các máy ảo.
Đối với Windows, bạn có thể sử dụng:
- FileZilla
- WinSCP
- CuteFTP
- CoreFTP
- WISE-FTP
Và tất nhiên, còn nhiều ứng dụng khác nữa. Hãy chọn một cái.
Hoặc đối với Linux, bạn có thể sử dụng:
- gFTP
- FileZilla
- FireFTP
Hoặc bất kỳ ứng dụng nào khác mà bạn muốn. Hãy tiếp tục và cài đặt ứng dụng ưa thích của bạn.
Mở nó lên. Đầu tiên, chúng ta sẽ thử đăng nhập với tư cách người dùng ẩn danh.
Đối với máy chủ, chúng ta sẽ đặt IP của hệ thống Metasploitable 2.
Đối với Tên người dùng, chúng ta sẽ sử dụng “anonymous”.
Đối với mật khẩu, nó thường ở dạng địa chỉ email, vì vậy chúng ta sẽ sử dụng “test@test.com“.
Và đối với cổng, chúng ta sẽ nhập 2121.
Đây là giao diện của FileZilla: (hình ảnh)
Kết nối để thử. Hừm … nó nói rằng thông tin đăng nhập không chính xác. Vậy, làm thế nào để chúng ta tìm ra cách truy cập vào dịch vụ này? Tôi cá là nmap có thể giúp chúng ta. Nó có một công cụ script mà chúng ta có thể sử dụng để quét và kiểm tra các dịch vụ từ xa.
Khai thác ProFTPD (Exploiting ProFTPD)
Mở một cửa sổ terminal mới trong máy ảo Kali Linux của bạn. Chúng ta sẽ sử dụng một script FTP trong nmap để xem chúng ta có thể học được gì về dịch vụ này. Để làm điều này, hãy nhập lệnh sau:
nmap --script ftp-* <địa chỉ IP>
Việc này mất khá nhiều thời gian để chạy. Khi hoàn tất, hãy kiểm tra kết quả. Nó đã tìm thấy một số thông tin đăng nhập hợp lệ: (hình ảnh)
Đúng là nó đang quét cổng 21 thay vì cổng 2121, nhưng hãy xem liệu thông tin đăng nhập có hoạt động cho cả hai không. Quay lại ứng dụng khách FTP trong hệ thống máy chủ của bạn. Chúng ta sẽ kết nối với thông tin sau:
- tên người dùng: user
- mật khẩu: user
- máy chủ: IP máy chủ Metasploitable 2 của bạn
- cổng: 2121
Hãy thử kết nối. Nó đã hoạt động! Đây là giao diện: (hình ảnh)
Nếu bạn thử nó trên cổng 21, nó cũng hoạt động.
Còn một số lỗ hổng khác có thể khai thác trên Metasploitable 2. Tôi không muốn tước đi cơ hội luyện tập các kỹ năng mới của bạn. Do đó, tôi sẽ dừng lại ở đây. Nhưng chúng ta đã đề cập đến những điều cơ bản. Hãy xem còn gì khác và nghiên cứu cách khai thác nó.
Phần 19: Bảo trì Metasploit (Metasploit Maintenance), Tài nguyên Bổ sung (Additional Resources), Thực hành Hack (Hacking Practice) và Tóm tắt (Recap)
Bảo trì Metasploit (Metasploit Maintenance)
Khi bạn sử dụng Metasploit, bạn sẽ muốn biết một số bảo trì cơ bản để giữ cho mọi thứ hoạt động trơn tru. Hãy xem một vài điều sẽ giúp ích cho việc này.
Kết nối Cơ sở dữ liệu (Database Connectivity)
Bạn có thể kiểm tra trạng thái kết nối cơ sở dữ liệu bằng lệnh sau:
db_status
Lệnh này sẽ cho bạn biết liệu Metasploit có được kết nối với cơ sở dữ liệu hay không: (hình ảnh)
Đó là kết quả đầu ra bạn muốn thấy. Nếu nó không được kết nối, bạn có thể khởi động lại postgres. Thoát khỏi Metasploit. Khi bạn quay lại dấu nhắc shell, hãy chạy lệnh này:
service postgresql restart
Sau khi hoàn tất, hãy chạy lại “msfconsole” để quay lại Metasploit. Bạn có thể kiểm tra trạng thái của cơ sở dữ liệu một lần nữa sau khi bạn đăng nhập.
Xóa Cơ sở dữ liệu (Clear Database)
Khi bạn thu thập thông tin theo những cách chúng ta đã đề cập ở đây, nó sẽ được đưa vào cơ sở dữ liệu của Metasploit. Tại một số thời điểm, bạn có thể muốn xóa cơ sở dữ liệu đó và bắt đầu lại từ đầu. Để làm điều này, chúng ta sẽ xóa những gì được gọi là không gian làm việc của chúng ta. Thao tác này sẽ xóa thông tin máy chủ và dịch vụ, chẳng hạn. Vì vậy, chỉ làm điều này nếu bạn muốn bắt đầu lại từ đầu.
Để liệt kê các không gian làm việc hiện có, hãy nhập lệnh sau:
workspace
Xác định không gian làm việc bạn muốn xóa. Sau đó sử dụng lệnh sau:
workspace -d <tên không gian làm việc>
Nếu bạn đã xóa không gian làm việc duy nhất, một không gian làm việc mặc định khác sẽ được tạo cho bạn.
Nếu bạn muốn tạo một không gian làm việc mới, bạn có thể làm như vậy bằng lệnh sau:
workspace -a <tên không gian làm việc>
Để chuyển đổi không gian làm việc, hãy nhập lệnh này:
workspace <tên không gian làm việc>
Đây là giao diện của nó: (hình ảnh)
Tài nguyên Bổ sung (Additional Resources)
Các Máy ảo Dễ bị tấn công Khác (Other Vulnerable Virtual Machines)
Sau khi bạn đã khai thác Metasploitable 2 nhiều lần, bạn sẽ muốn thử một số máy ảo dễ bị tấn công khác. Khi bạn tiến bộ hơn và tìm hiểu thêm về hack, bạn sẽ muốn xem qua một số máy ảo sau:
- Metasploitable 3: Đây là máy ảo Windows mà bạn có thể build. Nó cũng có các lỗ hổng tích hợp. Tuy nhiên, nó không hoàn toàn dễ dàng như Metasploitable 2. Bạn sẽ phải nỗ lực nhiều hơn để khai thác nó. Để biết thêm thông tin về cách bắt đầu với nó, hãy xem tại đây: https://github.com/rapid7/metasploitable3
- Trình tạo Kịch bản Bảo mật (Security Scenario Generator): Vấn đề với Metasploitable 2 và 3 là chúng có cùng lỗ hổng mỗi khi bạn làm việc với chúng. Sau khi bạn đã làm mọi thứ bạn có thể, bạn phải chuyển sang thứ gì đó khác. Có một dự án khác tạo ra một máy ảo dễ bị tấn công khác nhau mỗi khi bạn chạy nó. Bạn sẽ nhận được rất nhiều lợi ích từ dự án này: https://github.com/SecGen/SecGen
- Các Tài nguyên Metasploit Khác (Other Metasploit Resources): Có rất nhiều tài nguyên trực tuyến tuyệt vời để học cách sử dụng Metasploit. Bạn có thể tìm kiếm trên Youtube từ khóa “metasploit” để có một số video hướng dẫn tuyệt vời. Hoặc, bạn có thể xem loạt bài gồm 11 phần sau về cách sử dụng Metasploit: (danh sách video)
Tất nhiên còn nhiều tài nguyên hơn nữa, nhưng bạn đã giỏi nghiên cứu ở thời điểm này, và tôi tin rằng bạn có thể tìm thấy chúng.
Thực hành Hack (Hacking Practice)
Đôi khi, bạn chỉ muốn thực hành mà không cần phải thực hiện tất cả các thiết lập máy ảo. Đối với những lúc như thế này, có một số trang web cung cấp cho bạn các kịch bản và mục tiêu trên trang web (ví dụ: một biểu mẫu để hack). Hãy xem qua những trang web sau:
Tóm tắt (Recap)
Chúng ta đã thiết lập một phòng thí nghiệm thử nghiệm trong VMware Workstation Pro. Chúng ta đã cài đặt và cấu hình ba máy ảo để chúng ta có thể mô phỏng môi trường trực tiếp: Metasploitable 2, Nessus và Kali Linux.
Sau đó, chúng ta đã đề cập đến việc thu thập thông tin bằng Metasploit, nmap và Nessus. Đôi khi, cái này sẽ có một số thông tin hữu ích mà cái kia có thể không có. Chúng ta đã xem xét việc nghiên cứu các khai thác từ bên trong Metasploit với ‘searchsploit’ và sau đó sử dụng thông tin đó để tìm CVE trên https://www.exploit-db.com/. Khi chúng ta tìm thấy CVE khả thi, chúng ta đã tìm kiếm nó trở lại trong Metasploit. Khi Metasploit cung cấp cho chúng ta tên plugin, chúng ta đã tải nó lên, đọc về nó, cấu hình nó và sau đó thực thi nó trên mục tiêu.
Không phải mọi thứ (gần như không có gì, thực sự) sẽ hoạt động ngay lần đầu tiên. Đừng để điều đó làm phiền bạn. Hãy tiếp tục nghiên cứu. Tìm hiểu mọi thứ bạn có thể về dịch vụ bạn đang tấn công. Cần rất nhiều thời gian, sự kiên nhẫn và thực hành. Điều đó đúng với bất cứ điều gì bạn muốn giỏi!
Chúng ta cũng đã xem xét một số máy ảo bổ sung để thực hành hack, cũng như các tài nguyên khác để tìm hiểu về Metasploit. Đối với những lúc chúng ta không muốn thiết lập máy ảo, chúng ta đã xem xét một số trang web cho phép bạn thực hành trực tiếp trên chính trang web đó.
Các cuộc tấn công mà chúng ta đã tập trung vào chủ yếu là các cuộc tấn công từ xa để root hộp một cách nhanh chóng. Cũng có các dịch vụ web dễ bị tấn công trên Metasploitable 2. Bạn có thể thực hiện SQL injection, cross-site scripting và một số cuộc tấn công khác trên đó. Nghiên cứu và hack luôn đi đôi với nhau. Bạn sẽ không thể trở thành một hacker giỏi nếu không có hàng tấn nghiên cứu.





Bình luận về bài viết này