Tài Liệu Tham Khảo Advanced Penetration Testing with Kali Linux
Trong khóa học Pentest Với Kali Linux 2025 chúng tôi có chia sẽ tài liệu tham khảo "tuyệt hay" là Advanced Pentest with Kali Linux (phải đọc qua mới thấy nó hay thế nào). Đây là tài liệu tiếng Anh nhưng BQT sẽ trình bày một số thông tin tóm lược bằng tiếng Việt để các bạn học viên dễ dàng tham khảo.
Các bạn hãy hoàn thành khóa học bằng cách xem hết các bài học sau đó chuyển qua tham khảo tài liệu này.
Nội dung chính :
Tài liệu này là một hướng dẫn toàn diện về kiểm thử xâm nhập nâng cao (Advanced Penetration Testing), đặc biệt tập trung vào các kỹ thuật và chiến thuật VAPT (Vulnerability Assessment and Penetration Testing) theo định hướng ngành. Dưới đây là tóm tắt chi tiết các nội dung chính:
1. Giới thiệu về VAPT Nâng cao:
- Mục tiêu: Cung cấp kiến thức và kỹ năng thực hành cho người mới bắt đầu đến các chuyên gia CNTT để điều hướng trong bối cảnh an ninh mạng đang phát triển.
- Phạm vi: Đề cập đến các nguyên tắc cơ bản, kỹ thuật nâng cao, lập kế hoạch dự án VAPT, quản trị và khuôn khổ PPT (Con người, Quy trình và Công nghệ).
- Tiếp cận thực hành: Hướng dẫn thiết lập lab thử nghiệm VAPT, trinh sát, đánh giá lỗ hổng, pentesting mạng, khai thác ứng dụng web, kiểm thử mạng không dây, leo thang đặc quyền, vượt qua kiểm soát an ninh và viết báo cáo.
- VAPT là gì? Thực hành được ủy quyền hợp pháp để xác định các lỗ hổng kỹ thuật và logic trong hệ thống máy tính, cũng như đánh giá các biện pháp kiểm soát an ninh của tổ chức.
2. Thiết lập Lab VAPT:
- Mục đích: Tạo môi trường an toàn để thực hành, học hỏi và nâng cao kỹ năng VAPT.
- Thành phần: Hệ thống máy tính và thiết bị mạng kết nối với nhau (router, server, switch...) mô phỏng mạng thực tế với lỗ hổng và biện pháp an ninh.
- Công cụ: Sử dụng các công cụ mã nguồn mở, chẳng hạn như Kali Linux (2023.2) trong máy ảo (VMware).
- Các bước thiết lập: Bao gồm cài đặt Kali Linux, thiết lập dịch vụ mạng, ProxyChains, tùy chỉnh Kali Linux, cài đặt công cụ VAPT của bên thứ ba (MobSF, Trivy), chuẩn bị hệ thống và ứng dụng dễ bị tấn công (Metasploitable 2, BWAPP).
3. Chiến thuật Trinh sát Chủ động và Bị động:
- Tầm quan trọng: Thu thập thông tin về mục tiêu là yếu tố then chốt để xác định các bước cần thiết cho kiểm thử.
-
Trinh sát Bị động: Thu thập thông tin mà không tương tác trực tiếp với mục tiêu (khó phát hiện hơn, nhanh hơn nhưng dữ liệu có thể không đáng tin cậy).
- Công cụ và chiến thuật: WHOIS, DNS reconnaissance (nslookup, dig, dnsenum), Shodan, route mapping (traceroute), thu thập email, tên, số điện thoại, và thông tin rò rỉ mật khẩu.
- Trinh sát Chủ động: Tương tác trực tiếp với mục tiêu để thu thập thông tin (ví dụ: quét cổng).
- Công cụ và chiến thuật: Host discovery, port scanning (TCP, UDP, Stealth, FIN, Null, Xmas), quét dịch vụ và phát hiện phiên bản, fingerprinting OS, liệt kê thư mục.
4. Đánh giá và Quản lý Lỗ hổng:
- Mục đích: Trang bị cho pentester và chuyên gia bảo mật kiến thức và kỹ năng để thực hiện đánh giá lỗ hổng chuyên sâu trên các cơ sở hạ tầng máy tính khác nhau.
- Phương pháp: Sử dụng cả phương pháp thủ công và tự động (Burp Suite, Nessus, Nmap, MobSF, Trivy).
- Vòng đời quản lý lỗ hổng: Bao gồm xác định, ưu tiên, báo cáo và khắc phục lỗ hổng.
- Quản lý bản vá: Tối ưu hóa hiệu quả của các sáng kiến VA.
- Mục tiêu: Xác định và giảm thiểu các lỗ hổng trong cơ sở hạ tầng của tổ chức, tăng cường khả năng phục hồi trước các cuộc tấn công mạng.
5. Khai thác Mạng Máy tính:
- Mục tiêu: Thực hành khai thác các lỗ hổng đã xác định để đánh giá mức độ nghiêm trọng và tác động tiềm tàng.
- Công cụ chính: Metasploit và Armitage.
- Các bước: Hiểu rõ pentesting mạng, quản lý database Metasploit, tích hợp Nmap, tự động hóa Metasploit, bắt đầu với các auxiliary và exploits, khai thác thủ công, khai thác bằng Armitage.
- Khai thác dịch vụ vsFTPd: Sử dụng telnet để kích hoạt backdoor và giành quyền truy cập reverse shell.
6. Khai thác Ứng dụng Web:
- Mục tiêu: Cung cấp kiến thức về các lỗ hổng ứng dụng web và cách khai thác chúng.
- Các loại lỗ hổng: SQL injection, PHP code execution, Insecure Direct Object Reference (IDOR), Cross-Site Scripting (XSS), file upload không hạn chế, HTTP parameter pollution.
- Phát hiện WAF và Load Balancer: Thu thập thông tin đầy đủ về ứng dụng mục tiêu.
- Công cụ: Sqlmap, các công cụ và phương pháp khác nhau để khai thác từng loại lỗ hổng.
7. Khai thác Mạng Không dây:
- Mục tiêu: Đánh giá bảo mật của các mạng không dây khác nhau (Wi-Fi và Bluetooth).
- Kỹ thuật: Sử dụng Aircrack-ng suite để kiểm thử thâm nhập và khai thác mạng không dây.
- Các loại tấn công: Tấn công Man-in-the-Middle (MITM) với các điểm truy cập giả mạo, tấn công denial-of-service, vượt qua SSID ẩn, vượt qua xác thực MAC, khai thác WPA/WPA2.
- Công cụ: Airmon-ng, Airodump-ng, Aireplay-ng, Crunch.
- Lưu ý: Nên sử dụng card mạng ALFA NETWORK (AWUS036NH) để pentesting mạng không dây hiệu quả.
8. Hash Cracking và Hậu Khai thác:
- Mục tiêu: Tìm hiểu về leo thang đặc quyền, network pivoting, công cụ và kỹ thuật crack mật khẩu và hash, và các quy trình hậu khai thác.
- Các loại hash: MD5, SHA-1, SHA-256, SHA-512, NTLM, NTLMv2, bcrypt, scrypt, Kerberos.
- Công cụ crack hash: Hashcat, John the Ripper (bao gồm cả phiên bản Jumbo), các công cụ trực tuyến như CrackStation và Hashes.
- Hậu khai thác: Thực hiện các bước để duy trì quyền truy cập và di chuyển ngang trong mạng.
- Mimikatz: Sử dụng trong Meterpreter để khai thác nâng cao.
9. Vượt qua các Kiểm soát An ninh:
- Mục tiêu: Khám phá các cách vượt qua kiểm soát bảo mật mạng, Windows Defender, phần mềm diệt virus và tường lửa.
- Kỹ thuật: Spoofing địa chỉ MAC, tạo gói tùy chỉnh, các kỹ thuật evading Windows Defender, các kỹ thuật và công cụ evading antivirus (Shellter, Unicorn, Phantom-Evasion, Invoke-Stealth).
- Evasion WAF: Các chiến thuật vượt qua tường lửa ứng dụng web.
- Kỹ thuật Social Engineering: Thực hiện các cuộc tấn công phishing mô phỏng bằng Gophish.
10. Cách tiếp cận mang tính cách mạng để Viết Báo cáo:
- Tầm quan trọng: Báo cáo là một phần thiết yếu của quá trình đánh giá, đảm bảo các phát hiện được truyền đạt hiệu quả.
- Nội dung chính của báo cáo VAPT: Trang bìa, kiểm soát phiên bản, mục lục, chi tiết engagement, phương pháp và cách tiếp cận VAPT, chi tiết chuyên gia (SME), portfolio dịch vụ, chi tiết lỗ hổng, CVSS Score.
- Ví dụ về báo cáo: Báo cáo VAPT ứng dụng web và báo cáo VAPT mạng.
- CVSS: Tính điểm và sử dụng CVSS cho báo cáo VAPT.
Tài liệu này cung cấp một cái nhìn tổng quan toàn diện về các khía cạnh quan trọng của VAPT, từ lý thuyết cơ bản đến các kỹ thuật nâng cao, rất hữu ích cho những ai muốn tham gia vào lĩnh vực an ninh mạng.
Tóm tắt: Advanced Penetration Testing with Kali Linux
1. Tổng quan và Mục đích
Cuốn sách "Advanced Penetration Testing with Kali Linux" tập trung vào các chiến thuật thực tiễn, hướng đến ngành công nghiệp trong đánh giá lỗ hổng và thử nghiệm xâm nhập (VAPT). Cuốn sách cung cấp kiến thức thực hành cả về kỹ thuật tấn công và phòng thủ, sử dụng Kali Linux và các công cụ khác. Nội dung bao quát từ thiết lập môi trường ảo hóa đến các kỹ thuật khai thác và hậu khai thác nâng cao. Cuốn sách hướng đến những ai muốn vượt qua mức cơ bản của VAPT để khám phá các tình huống phức tạp hơn.
2. Các Khái niệm và Định nghĩa Cốt lõi
- Đánh giá Lỗ hổng (VA): Quá trình xác định các điểm yếu trong hệ thống. VA phát hiện các lỗi bảo mật tiềm năng nhưng không phân biệt được giữa các lỗ hổng có thể bị khai thác và những lỗ hổng không thể.
- Thử nghiệm Xâm nhập (PT): Quá trình dựa trên kết quả VA, nhằm khai thác các lỗ hổng để kiểm tra mức độ bảo mật từ góc nhìn của kẻ tấn công.
- VAPT: Kết hợp giữa việc phát hiện và khai thác các điểm yếu của hệ thống để tăng cường bảo mật.
- Kiểm thử Black Box: Thử nghiệm với thông tin tối thiểu về hệ thống mục tiêu, chẳng hạn như địa chỉ IP.
- Kiểm thử Grey Box: Thử nghiệm với một số kiến thức về hệ thống, bao gồm thông tin đăng nhập.
- Kali Linux: Một hệ điều hành Linux phổ biến trong an ninh mạng, nổi tiếng với các công cụ tấn công. Kali Purple bổ sung thêm các công cụ phòng thủ.
- Thu thập thông tin (Reconnaissance): Giai đoạn thu thập thông tin về mục tiêu trước khi thực hiện VA/PT. Có thể thực hiện qua phương pháp chủ động hoặc thụ động.
- Hàm băm (Hash Functions): Dùng để bảo vệ tính toàn vẹn dữ liệu, hỗ trợ chữ ký số và lưu trữ mật khẩu an toàn.
- Salting: Thêm giá trị ngẫu nhiên vào mật khẩu trước khi băm để tăng cường bảo mật.
- Key Stretching: Tăng cường bảo mật mật khẩu bằng cách thêm chi phí tính toán vào quá trình băm.
- Hậu khai thác (Post-Exploitation): Các hành động sau khi khai thác thành công, nhằm duy trì quyền truy cập, leo thang đặc quyền hoặc thu thập thêm dữ liệu.
3. Các Chủ đề và Kỹ thuật Chính
- Ảo hóa trong VAPT: Cho phép tạo môi trường thử nghiệm cô lập mà không ảnh hưởng đến hệ thống thực.
-
Phương pháp thu thập thông tin: Sử dụng các công cụ như
dnsenum
,Shodan
, vàtheHarvester
để thực hiện DNS reconnaissance. - Nmap: Công cụ đa năng để phát hiện máy chủ, quét cổng, nhận diện dịch vụ và phiên bản, cũng như xác định hệ điều hành.
- Kỹ thuật quét cổng: Bao gồm quét TCP, UDP, Stealth, FIN, Null và Xmas.
- Nhận diện Hệ điều hành: Phân tích phản hồi để xác định hệ điều hành mục tiêu.
- Liệt kê thư mục: Xác định các thư mục ẩn trong ứng dụng web.
-
Công cụ quét lỗ hổng:
Nessus
giúp phát hiện các lỗ hổng bảo mật trong hệ thống và ứng dụng web. - Metasploit: Khung công cụ để phát triển và thực hiện mã khai thác.
-
Tấn công SQL Injection: Sử dụng công cụ
sqlmap
để thử nghiệm các lỗ hổng SQL. - Thực thi mã PHP: Khai thác các lỗ hổng để thực thi mã từ xa trên máy chủ PHP.
-
Tấn công không dây: Bao gồm tấn công router bằng
Reaver
, bắt gói tin vớiAircrack-ng
, và vượt qua SSID ẩn bằngMDK3
. -
Bẻ khóa hàm băm: Sử dụng các công cụ như
John the Ripper
,Hashcat
để bẻ khóa mật khẩu. - Leo thang đặc quyền: Tấn công các lỗ hổng cấu hình hoặc phiên bản phần mềm để tăng quyền truy cập.
-
Di chuyển ngang (Lateral Movement): Sử dụng các kỹ thuật như
RDP
,hashdump
để xâm nhập sâu hơn vào mạng. -
Tránh phần mềm diệt virus: Sử dụng các công cụ như
Shellter
vàPhantom-Evasion
. - Làm mờ (Obfuscation): Che giấu payload để tránh bị phát hiện.
4. Các Công cụ Chính
- Hệ điều hành: Kali Linux.
- Công cụ quét mạng: Nmap, Nessus, Kismet, Aircrack-ng.
- Công cụ khai thác: Metasploit, Armitage, Shellter, Phantom-Evasion.
- Công cụ thử nghiệm web: sqlmap, OWASP ZAP, BurpSuite.
- Công cụ bẻ khóa mật khẩu: John the Ripper, Hashcat.
- Công cụ thu thập thông tin: Maltego, dnsenum.
Tài liệu cung cấp một cách tiếp cận toàn diện về thử nghiệm xâm nhập nâng cao, kết hợp giữa lý thuyết và thực hành với nhiều công cụ và kỹ thuật. Việc nhấn mạnh vào các tình huống thực tế giúp cuốn sách trở thành tài nguyên quý giá cho những ai muốn phát triển kỹ năng trong lĩnh vực VAPT. Đồng thời, cuốn sách cũng nhấn mạnh tầm quan trọng của các biện pháp phòng thủ như quản lý mật khẩu an toàn.
-
Sự khác biệt giữa Đánh giá Lỗ hổng (VA) và Thử nghiệm Xâm nhập (PT) là gì?
Đánh giá Lỗ hổng (VA) là quá trình xác định các điểm yếu trong hệ thống nhưng không phân biệt được giữa các lỗ hổng có thể bị khai thác và không thể bị khai thác. Nó chỉ đơn thuần phát hiện các lỗ hổng. Ngược lại, Thử nghiệm Xâm nhập (PT) là một quy trình tiếp nối dựa trên kết quả của VA. PT tiến xa hơn bằng cách không chỉ xác định lỗ hổng mà còn khai thác chúng để truy cập, lấy dữ liệu và đánh giá mức độ nhạy cảm của dữ liệu đã truy cập. Nói cách khác, VA tìm các "lỗ hổng", còn PT cố gắng "xâm nhập" qua các lỗ hổng đó. -
Vai trò của ảo hóa trong Đánh giá Lỗ hổng và Thử nghiệm Xâm nhập (VAPT) là gì?
Ảo hóa rất quan trọng trong VAPT vì nó cho phép các chuyên gia bảo mật tạo và quản lý nhiều môi trường ảo cô lập để thử nghiệm. Điều này giúp kiểm tra các hệ điều hành, ứng dụng, và cấu hình mạng khác nhau trên cùng một máy vật lý mà không làm ảnh hưởng đến hệ thống thực. Ngoài ra, ảo hóa cho phép tạo ảnh chụp nhanh (snapshot), giúp dễ dàng quay lại trạng thái cụ thể để kiểm tra lặp lại hoặc chia sẻ môi trường thử nghiệm giữa các thành viên trong nhóm. Nó cũng tạo điều kiện cho người thử nghiệm thực hành trong môi trường an toàn mà không lo làm hỏng hệ thống thực. -
Reconnaissance là gì và các phương pháp phổ biến nào được sử dụng?
Reconnaissance (thu thập thông tin) là quá trình thu thập thông tin về mục tiêu trước khi thực hiện VA hoặc PT. Quá trình này có thể được thực hiện qua phương pháp chủ động (active) hoặc thụ động (passive). Các phương pháp chủ động bao gồm tương tác trực tiếp với mục tiêu (như quét mạng), trong khi các phương pháp thụ động bao gồm thu thập thông tin mà không tiếp xúc trực tiếp (như sử dụng công cụ tìm kiếm hoặc hồ sơ công khai). Các phương pháp phổ biến gồm quét mạng, kỹ thuật xã hội (social engineering), web scraping, footprinting, fingerprinting và DNS reconnaissance. Mục tiêu là thu thập càng nhiều thông tin càng tốt về hệ thống, mạng, ứng dụng và nhân sự của mục tiêu để lập kế hoạch tấn công chi tiết. -
Các kỹ thuật chính trong quét máy chủ và quét cổng là gì?
Kỹ thuật khám phá máy chủ nhằm xác định các máy chủ đang hoạt động trên mạng. Điều này bao gồm các phương pháp như List Scan (liệt kê máy chủ mà không gửi gói tin), TCP SYN Ping (gửi gói SYN và chờ phản hồi SYN-ACK), và UDP Ping (gửi gói UDP và chờ thông báo ICMP không khả dụng). Quét cổng được sử dụng để xác định cổng nào trên các máy chủ đó đang mở và sẵn sàng nhận kết nối. Các kỹ thuật như quét TCP (thiết lập kết nối TCP đầy đủ), quét stealth (quét SYN nửa mở) và quét UDP được sử dụng để xác định cổng mở. Công cụ Nmap là lựa chọn phổ biến để thực hiện cả quét máy chủ và quét cổng. -
Hash mật khẩu được bảo mật như thế nào và các kỹ thuật nào được sử dụng để bẻ khóa hash?
Hash mật khẩu được bảo mật bằng cách sử dụng các thuật toán băm, biến mật khẩu thành các giá trị không thể đảo ngược. Các kỹ thuật như "salting" (thêm giá trị ngẫu nhiên vào mật khẩu trước khi băm) và "key stretching" (làm chậm quá trình băm) được sử dụng để tăng cường bảo mật và ngăn chặn các phương pháp bẻ khóa phổ biến như bảng "rainbow tables" đã được tính toán trước. Các kỹ thuật bẻ khóa hash bao gồm brute force, dictionary attack và hybrid attack. Các công cụ như Hashcat, John the Ripper, và hash-identifier được các chuyên gia bảo mật sử dụng để kiểm tra độ mạnh của mật khẩu và xác định các lỗ hổng. -
Các thành phần chính của Metasploit Framework là gì và nó được sử dụng trong PT như thế nào?
Metasploit là một khung công cụ mạnh mẽ trong thử nghiệm xâm nhập với các thành phần chính như sau:
- Auxiliary modules: Thực hiện các tác vụ hỗ trợ như quét hoặc thu thập thông tin.
- Exploit modules: Khai thác lỗ hổng trong hệ thống mục tiêu để truy cập từ xa hoặc thực thi mã.
-
Post-exploitation modules: Duy trì quyền truy cập, leo thang đặc quyền và thu thập thông tin sau khi khai thác.
Metasploit còn cung cấp tính năng cơ sở dữ liệu giúp quản lý quét và lưu trữ thông tin mục tiêu. Người thử nghiệm có thể tận dụng các module này để thực hiện khai thác tự động và thủ công nhằm kiểm tra hệ thống.
-
Tầm quan trọng của hậu khai thác và di chuyển ngang trong PT là gì, và chúng được thực hiện như thế nào?
Hậu khai thác và di chuyển ngang rất quan trọng trong PT để đánh giá tác động thực sự của vi phạm, xác định các lỗ hổng trong mạng và phát triển chiến lược cải thiện bảo mật. Các giai đoạn này diễn ra sau khi khai thác ban đầu. Di chuyển ngang liên quan đến việc di chuyển từ hệ thống đã bị xâm nhập ban đầu sang các hệ thống khác trong mạng. Điều này có thể được thực hiện bằng cách khai thác các mối quan hệ tin cậy, sử dụng công cụ như Mimikatz để lấy cắp thông tin xác thực, hoặc tận dụng các dịch vụ mạng cấu hình sai như SMB. Các hoạt động hậu khai thác cũng bao gồm thiết lập quyền truy cập lâu dài. -
Người thử nghiệm có thể vượt qua các kiểm soát bảo mật và thực hiện kỹ thuật né tránh nâng cao như thế nào?
Người thử nghiệm có thể vượt qua các kiểm soát bảo mật bằng các kỹ thuật nâng cao như:
- Tạo gói tùy chỉnh, thêm dữ liệu hoặc thay đổi độ dài gói để vượt qua tường lửa.
- Sử dụng các script trong Nmap Scripting Engine (NSE) để tự động hóa các kỹ thuật né tránh như phân mảnh gói tin hoặc thay đổi cổng nguồn.
- Dùng công cụ như Shellter để chèn mã độc với mã hóa động, hoặc Phantom-Evasion để tạo payload và che giấu.
- Áp dụng các kỹ thuật làm mờ (obfuscation) như thêm ký tự ngẫu nhiên hoặc xây dựng payload dựa trên biến để tránh bị phát hiện.
Giai đoạn đầu (Khái niệm/Cài đặt):
- Khái niệm Đánh giá Lỗ hổng & Kiểm thử Xâm nhập (VAPT) được giới thiệu: Giới thiệu sự khác biệt giữa Đánh giá Lỗ hổng (VA) và Kiểm thử Xâm nhập (PT) cùng vai trò của chúng trong bảo mật. (Chương 1)
- Thiết lập môi trường ảo: Cài đặt các môi trường ảo bằng công cụ như VMware và VirtualBox để thực hiện VAPT. (Chương 2)
- Triển khai Kali Linux: Cài đặt Kali Linux - một bản phân phối phổ biến dành cho kiểm thử bảo mật, bao gồm các phương pháp cài đặt khác nhau. (Chương 2)
- Cài đặt công cụ ban đầu: Cài đặt các công cụ chính như Trivy để quét lỗ hổng. (Chương 2)
- Giới thiệu Giai đoạn Trinh sát: Bắt đầu với khái niệm trinh sát là giai đoạn đầu tiên trong VAPT. (Chương 3)
Giai đoạn Trinh sát (Thu thập Thông tin):
- Trinh sát Chủ động và Thụ động: Khám phá các phương pháp thu thập thông tin khác nhau về mục tiêu. (Chương 3)
- Trinh sát DNS: Sử dụng công cụ như dnsenum và các tài nguyên trực tuyến như dnsdumpster.com để thu thập thông tin DNS. (Chương 3)
- Trinh sát IP: Thu thập thông tin về IP mục tiêu bằng công cụ như Shodan. (Chương 3)
- Phát hiện Host: Sử dụng Nmap để phát hiện host, hiểu các kỹ thuật ping khác nhau. (Chương 3)
- Quét cổng: Quét các host mục tiêu để tìm cổng mở bằng các kỹ thuật Nmap. (Chương 3)
- Phát hiện dịch vụ và phiên bản: Xác định các dịch vụ đang chạy trên các cổng mở và phiên bản của chúng bằng Nmap. (Chương 3)
- Nhận diện hệ điều hành (OS): Nhận diện hệ điều hành của host mục tiêu bằng Nmap. (Chương 3)
- Liệt kê thư mục: Sử dụng công cụ để tìm các thư mục và trang trên máy chủ web. (Chương 3)
Giai đoạn Đánh giá Lỗ hổng (Quét):
- Quét lỗ hổng: Giới thiệu quy trình quét lỗ hổng và các yêu cầu quan trọng. (Chương 4)
- Sử dụng Nessus: Sử dụng Nessus để quét lỗ hổng và phân tích kết quả. (Chương 4)
- Quét lỗ hổng bằng Nmap: Sử dụng Nmap với scripting để thực hiện quét lỗ hổng. (Chương 4)
- Điều chỉnh tốc độ quét: Tối ưu hóa tốc độ quét trong Nmap. (Chương 4)
Kiểm thử Xâm nhập Mạng (Tấn công):
- Giới thiệu Kiểm thử Xâm nhập Mạng: Tập trung vào khái niệm và kỹ thuật tấn công. (Chương 5)
- Giới thiệu Metasploit Framework: Khám phá Metasploit để khai thác lỗ hổng. (Chương 5)
- Quản lý cơ sở dữ liệu & workspace trong Metasploit: Thiết lập và quản lý cơ sở dữ liệu Metasploit. (Chương 5)
- Tích hợp quét Nmap với Metasploit: Sử dụng dữ liệu quét từ Nmap trong Metasploit. (Chương 5)
- Tự động hóa Metasploit: Khám phá các phương pháp tự động hóa Metasploit. (Chương 5)
- Sử dụng các module trong Metasploit: Sử dụng các module khai thác và hậu khai thác. (Chương 5)
- Khai thác thủ công: Kỹ thuật khai thác không dùng Metasploit. (Chương 5)
- Khai thác bằng Armitage: Giới thiệu công cụ GUI Armitage. (Chương 5)
Kiểm thử Xâm nhập Ứng dụng Web:
- Giới thiệu Kiểm thử Xâm nhập Web: Các khái niệm chính liên quan đến kiểm thử web. (Chương 6)
- Khai thác SQL Injection: Sử dụng SQLMap để phát hiện và khai thác lỗ hổng SQL injection. (Chương 6)
- Thực thi mã PHP: Khái niệm về thực thi mã PHP và RCE (Chương 6)
Kiểm thử Xâm nhập Mạng Không Dây:
- Giới thiệu Kiểm thử Không Dây: Các khái niệm chính về kiểm thử không dây. (Chương 7)
- Cấu hình Kali cho kiểm thử không dây: Thiết lập Kali Linux để kiểm thử không dây. (Chương 7)
- Tấn công không dây: Sử dụng các công cụ như Aircrack-ng, Kismet, Reaver. (Chương 7)
- Vượt qua SSID ẩn: Phát hiện và kết nối các mạng không dây ẩn. (Chương 7)
Giải mã Hash và Hậu khai thác:
- Khám phá hàm băm: Tìm hiểu mục đích và tính chất của hàm băm hiện đại. (Chương 8)
- Giải mã mật khẩu: Kỹ thuật giải mã mật khẩu bằng các công cụ như Hashcat, John the Ripper. (Chương 8)
- Hậu khai thác và di chuyển ngang: Duy trì quyền truy cập và di chuyển trong mạng bị xâm nhập. (Chương 8)
- Leo thang đặc quyền: Phương pháp leo thang đặc quyền trên Linux và Windows. (Chương 8)
Kỹ thuật né tránh nâng cao:
- Né tránh kiểm soát an ninh: Kỹ thuật vượt qua kiểm soát trong trinh sát mạng. (Chương 9)
- Vượt qua Windows Defender: Kỹ thuật để vượt qua bảo vệ của Windows Defender. (Chương 9)
- Tiêm mã Shellcode: Sử dụng Shellter để tiêm mã cho né tránh AV. (Chương 9)
- Làm mờ Payload: Khái niệm làm mờ payload để né tránh bảo mật. (Chương 9)
Hoàn thiện:
- Ưu tiên lỗ hổng: Hiểu hệ thống CVSS để ưu tiên lỗ hổng. (Chương 9)
- Báo cáo VAPT: Tóm tắt quy trình VAPT và tạo báo cáo. (Nhiều chương)
Dàn nhân vật
Ummed Meel:
- Vai trò: Tác giả "Advanced Penetration Testing with Kali Linux".
- Tiểu sử: Có bằng B Tech (Hons), LLB (Luật mạng), đang học M Tech về An ninh mạng tại BITS Pilani.
Darryn Brownfield:
- Vai trò: Người đánh giá sách.
- Tiểu sử: Chuyên gia kiểm thử xâm nhập với hơn 10 năm kinh nghiệm, sở hữu các chứng chỉ OSCP, PNPT, CRT, CRTP.
Công cụ & Công nghệ:
- Kali Linux, Nmap, Metasploit, Armitage, Nessus, sqlmap, Aircrack-ng, Hashcat, John the Ripper, Shellter, Trivy.
Hướng dẫn học Advanced Penetration Testing
Câu hỏi trắc nghiệm
- Sự khác biệt chính giữa Đánh giá Lỗ hổng (Vulnerability Assessment - VA) và Kiểm tra Thâm nhập (Penetration Testing - PT) là gì?
- Mô tả phương pháp kiểm tra 'hộp đen' (black box) trong VAPT.
- Ý nghĩa của việc sử dụng ảo hóa (virtualization) trong VAPT là gì?
- Reconnaissance là gì, và một số phương pháp phổ biến được sử dụng trong quá trình này?
- Giải thích mục đích của bản ghi PTR (Pointer) trong DNS.
- Liệt kê ba trạng thái cổng được Nmap nhận diện.
- OS fingerprinting là gì và nó hữu ích thế nào trong kiểm tra thâm nhập?
- Mục đích chính của các mô-đun phụ trợ (auxiliary modules) trong Metasploit là gì?
- SQL Injection là gì và nó có thể được kẻ tấn công sử dụng như thế nào?
- Giải thích khái niệm salting trong việc băm mật khẩu (password hashing).
Đáp án
- Đánh giá Lỗ hổng chỉ phát hiện các điểm yếu, trong khi Kiểm tra Thâm nhập xác định và khai thác chúng để đánh giá mức độ nhạy cảm của dữ liệu có thể truy cập được.
- Trong phương pháp 'hộp đen', người kiểm tra có rất ít thông tin về mục tiêu, thường chỉ có địa chỉ IP hoặc URL của trang web. Không có thông tin đăng nhập hoặc chi tiết nội bộ nào được cung cấp.
- Ảo hóa cho phép tạo môi trường kiểm tra cách ly với các hệ điều hành, ứng dụng, và cấu hình mạng khác nhau, đồng thời hỗ trợ quản lý ảnh chụp nhanh (snapshots) để thử nghiệm lặp lại và hợp tác.
- Reconnaissance là quá trình thu thập thông tin về mục tiêu trước khi thực hiện VAPT. Các phương pháp phổ biến bao gồm quét mạng, kỹ nghệ xã hội (social engineering), trích xuất thông tin web, footprinting, và fingerprinting.
- Bản ghi PTR là bản ghi ngược của bản ghi 'A'. Nó cung cấp tên miền tương ứng với một địa chỉ IP cụ thể.
- Ba trạng thái cổng mà Nmap nhận diện là Open (Mở), Closed (Đóng), và Filtered (Được lọc).
- OS fingerprinting nhận diện hệ điều hành trên một máy chủ mục tiêu bằng cách phân tích phản hồi từ các gói tin gửi đi. Điều này hữu ích để tìm các lỗ hổng đặc thù của hệ điều hành và xác thực kết quả quét.
- Các mô-đun phụ trợ của Metasploit thực hiện các tác vụ bổ trợ như quét mạng, đánh giá lỗ hổng, và thu thập thông tin, thường trước khi khai thác lỗ hổng.
- SQL Injection là việc chèn các câu lệnh SQL độc hại vào trường nhập liệu trên trang web để khai thác lỗ hổng của cơ sở dữ liệu, cho phép truy cập trái phép dữ liệu nhạy cảm hoặc kiểm soát máy chủ web.
- Salting là kỹ thuật thêm giá trị ngẫu nhiên vào mật khẩu trước khi băm, khiến việc giải mã bằng bảng băm tiền tính toán (precomputed hash tables) trở nên khó khăn hơn.
Câu hỏi tự luận
- Thảo luận về tầm quan trọng của cả reconnaissance chủ động và thụ động trong chiến lược VAPT toàn diện. Cung cấp ví dụ về công cụ và kỹ thuật cho từng loại.
- So sánh các kỹ thuật quét cổng khác nhau được Nmap cung cấp. Giải thích cách mỗi kỹ thuật có thể được sử dụng để xác định trạng thái của cổng.
- Mô tả các bước điển hình để khai thác lỗ hổng bằng Metasploit. Bao gồm thảo luận về các loại mô-đun được sử dụng và mục đích của chúng.
- Giải thích sự khác biệt giữa hashing, mã hóa (encryption), và mã hóa (encoding). Tại sao mỗi quy trình này lại cần thiết cho bảo mật dữ liệu và mạng?
- Chi tiết giai đoạn hậu khai thác (post-exploitation) của kiểm tra thâm nhập, bao gồm mô tả về leo thang đặc quyền (privilege escalation) và di chuyển ngang (lateral movement) cùng tầm quan trọng của chúng.
Thuật ngữ quan trọng
- Address Resolution Protocol (ARP): Giao thức dùng để xác định địa chỉ MAC (Media Access Control) gắn với địa chỉ IP trên mạng cục bộ.
- Black Box Testing: Phương pháp kiểm tra nơi người kiểm tra có rất ít thông tin trước về hệ thống mục tiêu.
-
Brute Force Attack: Phương pháp bẻ khóa mật khẩu bằng cách thử tất cả các tổ hợp ký tự có thể.
Thuật ngữ quan trọng (tiếp tục)
- BSSID (Basic Service Set Identifier): Địa chỉ MAC của một điểm truy cập không dây (wireless access point).
- CI/CD Pipeline: Chuỗi các bước tự động để xây dựng, kiểm tra, và triển khai phần mềm.
- Credential Stuffing: Loại tấn công mạng mà kẻ tấn công sử dụng các cặp tên đăng nhập và mật khẩu bị đánh cắp để cố gắng truy cập tài khoản trên các trang web hoặc dịch vụ khác.
- Dictionary Attack: Phương pháp bẻ khóa mật khẩu bằng cách sử dụng danh sách các từ và cụm từ phổ biến được xác định trước.
- DNS (Domain Name System): Hệ thống phân cấp và phi tập trung để đặt tên cho các máy tính, dịch vụ, hoặc tài nguyên khác kết nối với internet hoặc mạng riêng.
- DNS Reconnaissance: Quá trình thu thập thông tin về mục tiêu thông qua các bản ghi DNS, bao gồm thông tin về người đăng ký và quản trị viên của tên miền.
- Encoding: Quá trình chuyển đổi dữ liệu sang định dạng khác để dễ dàng truyền hoặc lưu trữ.
- Encryption: Quá trình mã hóa dữ liệu thành mã bí mật để bảo vệ nó khỏi truy cập trái phép.
- Exploit: Đoạn mã hoặc kỹ thuật tận dụng lỗ hổng để truy cập hoặc kiểm soát trái phép.
- Footprinting: Phương pháp thu thập thông tin thụ động về dấu chân số (digital footprint) của mục tiêu bằng cách sử dụng các nguồn công khai.
- Grey Box Testing: Phương pháp kiểm tra nơi người kiểm tra có một số thông tin về hệ thống mục tiêu, chẳng hạn như thông tin đăng nhập, và có thể thực hiện kiểm tra đã xác thực.
- Hash Algorithm: Một hàm toán học một chiều chuyển đổi dữ liệu có kích thước bất kỳ thành một chuỗi cố định, được gọi là hash.
- Hashcat: Công cụ mạnh mẽ để bẻ khóa mật khẩu, sử dụng sức mạnh tính toán của GPU để tăng tốc.
- Hash-Identifier: Công cụ được sử dụng để nhận diện các loại thuật toán hash khác nhau.
- Hashing: Quá trình mật mã chuyển đổi dữ liệu thành một chuỗi cố định không thể đảo ngược, thường dùng để lưu trữ mật khẩu hoặc xác thực tính toàn vẹn của dữ liệu.
- ICMP (Internet Control Message Protocol): Giao thức được các thiết bị mạng sử dụng để gửi thông báo lỗi và thông tin hoạt động.
- IP Address Spoofing: Kỹ thuật giả mạo địa chỉ IP nguồn trong gói tin mạng để che giấu danh tính của người gửi hoặc thực hiện tấn công.
- John the Ripper: Công cụ bẻ khóa mật khẩu phổ biến hỗ trợ nhiều chế độ tấn công và loại thuật toán hash.
- Key Stretching: Kỹ thuật tăng cường bảo mật băm mật khẩu bằng cách thêm chi phí tính toán để làm chậm quá trình này.
- Lateral Movement: Quá trình di chuyển trong mạng đã bị xâm nhập để truy cập các hệ thống và tài nguyên khác.
- MAC Address (Media Access Control Address): Địa chỉ duy nhất được gán cho giao diện mạng.
- Metasploit: Một framework được sử dụng trong kiểm tra thâm nhập, nghiên cứu lỗ hổng, và phát triển khai thác.
- Nessus: Công cụ quét lỗ hổng phổ biến, dùng để phát hiện các điểm yếu bảo mật trong hệ thống.
- Nmap: Công cụ quét mạng mạnh mẽ, được sử dụng để khám phá host, quét cổng, phát hiện dịch vụ, và nhận diện hệ điều hành.
- OS Fingerprinting: Quá trình nhận diện hệ điều hành trên máy chủ mục tiêu bằng cách phân tích phản hồi từ các gói tin.
- Packet Fragmentation: Kỹ thuật chia nhỏ các gói tin mạng để truyền tải nhằm vượt qua các biện pháp bảo mật.
- Penetration Testing (PT): Đánh giá bảo mật chủ động bằng cách khai thác lỗ hổng để truy cập và đánh giá hệ thống.
- Phishing: Tấn công kỹ nghệ xã hội nhằm đánh lừa người dùng cung cấp thông tin nhạy cảm như tên đăng nhập và mật khẩu.
- Port Scanning: Quá trình gửi gói tin đến một host trên các cổng khác nhau để xác định trạng thái của các cổng (mở, đóng, hoặc được lọc).
- Post-Exploitation: Giai đoạn kiểm tra thâm nhập sau khi lỗ hổng đã được khai thác, nhằm duy trì quyền truy cập, leo thang đặc quyền, hoặc trích xuất dữ liệu.
- Privilege Escalation: Quá trình giành được quyền truy cập cao hơn trong một hệ thống hoặc mạng.
- PTR Record (Pointer Record): Bản ghi DNS cung cấp tên miền tương ứng với một địa chỉ IP.
- Reconnaissance: Quá trình thu thập thông tin về mục tiêu trước khi thực hiện VAPT.
- Salting: Kỹ thuật thêm giá trị ngẫu nhiên vào mật khẩu trước khi băm, giúp khó giải mã hơn.
- SQL Injection: Lỗ hổng bảo mật web cho phép kẻ tấn công can thiệp vào các truy vấn mà ứng dụng gửi tới cơ sở dữ liệu.
- Trivy: Công cụ quét lỗ hổng container đơn giản nhưng hiệu quả, tích hợp trong các pipeline CI/CD.
- UDP (User Datagram Protocol): Giao thức không kết nối dùng để truyền các gói dữ liệu trên mạng.
- Vulnerability Assessment (VA): Quá trình xác định các điểm yếu bảo mật trong một hệ thống hoặc mạng.
- Vulnerability Assessment and Penetration Testing (VAPT): Phương pháp đánh giá bảo mật toàn diện kết hợp giữa đánh giá lỗ hổng và kiểm tra thâm nhập.
- White Box Testing: Phương pháp kiểm tra nơi người kiểm tra có đầy đủ thông tin về kiến trúc, mã nguồn và chi tiết nội bộ của hệ thống mục tiêu.
- WHOIS: Giao thức truy vấn để tìm kiếm thông tin đăng ký và chi tiết sở hữu của tên miền.
- XSS (Cross-Site Scripting): Lỗ hổng bảo mật web cho phép kẻ tấn công chèn mã độc vào các trang web để lừa người dùng khác thực thi mã đó.