CompTIA Pentest+ (PT0-002) – Bài 6: Quét lỗ hổng logic
I. Quét các mục tiêu đã xác định
- Phát hiện các máy chủ mạng (network hosts)
- Quét phát hiện (discovery scan hay ping sweep) được sử dụng để tìm các máy chủ đang hoạt động và phản hồi trên mạng.
- Sử dụng các giao thức như TCP, UDP và SCTP để dò tìm (probe).
- Nếu tường lửa chặn các phương thức dò tìm tiêu chuẩn, bạn có thể thử các cách quét khác:
- TCP SYN Ping hoặc TCP ACK Ping
- UDP Ping, IP Protocol Ping và ARP Scan
Ví dụ:
- Sử dụng lệnh
nmap -sn 192.168.1.0/24
để quét mạng nội bộ, tìm tất cả các máy chủ đang hoạt động trong dải địa chỉ từ 192.168.1.1 đến 192.168.1.254. - Kết quả cho thấy có 15 thiết bị đang phản hồi, bao gồm máy tính để bàn, laptop, điện thoại và máy in.
- Tuy nhiên một số máy chủ quan trọng không xuất hiện trong báo cáo do tường lửa đã chặn gói tin ICMP.
- Chuyển sang sử dụng kỹ thuật TCP SYN Ping với lệnh
nmap -PS 192.168.1.0/24
, phát hiện thêm 2 máy chủ ẩn: máy chủ web và máy chủ cơ sở dữ liệu.
- Quét cổng (port scanning)
- Sau khi xác định được các máy chủ đang hoạt động, bước tiếp theo là quét cổng để xem máy nào có các cổng đang mở và lắng nghe kết nối.
- Các cổng phổ biến gồm cổng 25 (SMTP), cổng 53 (DNS) và cổng 80 (HTTP)
- Số lượng cổng mở trên mỗi máy chủ sẽ phụ thuộc vào số lượng dịch vụ và ứng dụng đang chạy trên máy đó.
- Quá trình quét có thể kết nối đầy đủ với máy chủ, hoặc sử dụng kỹ thuật quét ẩn (stealth scan) để tránh bị phát hiện.
Ví dụ:
Quét các cổng phổ biến trên máy chủ web comptia.academy với lệnh nmap -sV -p 21,22,25,53,80,110,143,443,3306,3389 comptia.academy
, kết quả:
- Các cổng 80 (HTTP), 443 (HTTPS) và 22 (SSH) đang mở.
- Máy chủ đang chạy web server Apache và hệ quản trị MySQL.
- Không mở các cổng dịch vụ mail như SMTP (25), POP3 (110) và IMAP (143).
- Cổng remote desktop (3389) bị lọc (filtered), có thể do tường lửa chặn.
Thông tin này giúp hacker lên kế hoạch tấn công vào các dịch vụ cụ thể đang chạy trên máy chủ.
- Kết nối đầy đủ với mục tiêu
- Quét toàn diện (full scan) hay quét kết nối TCP (TCP connect scan) sẽ sử dụng bắt tay 3 bước TCP tiêu chuẩn.
- Khi đã thiết lập kết nối, trình quét sẽ gửi gói tin TCP Reset (RST) đến máy chủ để đóng kết nối.
- Trình quét sau đó ghi nhận lại kết nối và chuyển sang cổng tiếp theo để thử kết nối đến dịch vụ khác.
- Quét toàn diện cho kết quả chính xác nhất nhưng cũng dễ bị phát hiện nhất do tạo nhiều “tiếng ồn” trên mạng.
Ví dụ:
Chạy lệnh nmap -sT -p- -oA full_scan comptia.academy
để quét toàn bộ 65535 cổng theo phương thức TCP connect. Kết quả:
- Phát hiện 3 cổng mở: 80, 443, 22
- Thời gian quét khá lâu (15 phút) do phải thực hiện bắt tay 3 bước với từng cổng
- Hệ thống giám sát an ninh của comptia.academy ghi nhận nhiều cảnh báo về quét cổng đầy đủ từ 1 IP lạ
- Kỹ thuật này khó áp dụng trong thực tế vì dễ bị phát hiện và chặn bởi các giải pháp bảo vệ
- Hoạt động ở chế độ tàng hình (stealth mode)
- Để tránh bị phát hiện, đội ngũ PenTest có thể sử dụng kỹ thuật quét tàng hình, chỉ gửi gói tin một chiều và không chờ phản hồi.
- Các kiểu quét tàng hình phổ biến:
- Quét TCP SYN (hay quét nửa mở – half-open scan)
- Quét FIN (FIN scan)
- Quét NULL (NULL scan)
- Quét XMAS Tree (XMAS Tree scan)
Ví dụ:
- Thực hiện lệnh
nmap -sS -p- -oA stealth_scan comptia.academy
để quét tàng hình theo phương thức TCP SYN. - Kết quả tương tự như quét toàn diện (full scan) nhưng thời gian nhanh hơn do chỉ gửi gói SYN và nhận SYN-ACK mà không hoàn tất bắt tay 3 bước.
- Đồng thời, hệ thống giám sát của comptia.academy không ghi nhận cảnh báo quét cổng do trình quét không tạo ra kết nối hoàn chỉnh.
- Sử dụng lệnh
nmap -sF -p- comptia.academy
, các gói tin chỉ bật cờ FIN thay vì SYN, ACK như bình thường. Hầu hết các hệ điều hành và ứng dụng không biết xử lý các gói FIN này và sẽ hồi đáp lại với RST nếu cổng đóng, giúp hacker suy luận trạng thái cổng một cách “im lặng”.
- Kiểm tra ứng dụng web
- Quá trình quét máy chủ và ứng dụng web thường bao gồm:
- Lần theo (crawling) các trang web để thu thập nội dung
- Cào dữ liệu (scraping data), kiểm tra liên kết và khám phá tài nguyên
- Kết quả quét sẽ phụ thuộc vào việc quét có xác thực (credentialed) hay không xác thực (non-credentialed).
- Quét có xác thực được thực hiện với các thông tin đăng nhập, do đó có thể thu được nhiều thông tin hơn
- Quét không xác thực sử dụng ít quyền hạn, thường chỉ tìm được các bản vá hoặc cập nhật còn thiếu.
Ví dụ:
Thực hiện quét không xác thực lên trang web comptia.edu.vn bằng công cụ OWASP ZAP:
- Phát hiện một số trang và thư mục ẩn có thể chứa thông tin nhạy cảm như /admin, /backup, /uploads
- Tìm thấy form đăng nhập và đăng ký tài khoản cho phép tấn công brute-force và tạo tài khoản ảo
- Phát hiện lỗi hiển thị mã lỗi và cấu trúc thư mục của ứng dụng khi truy cập các URL không tồn tại
- Báo cáo một số điểm yếu tiềm ẩn như sử dụng HTTP, cookie không có cờ secure/http-only, cho phép clickjacking…
Thực hiện lại quét có xác thực với tài khoản admin sau khi đã chiếm quyền điều khiển trang:
- Truy cập và tải xuống mã nguồn ứng dụng, phát hiện khóa API và một số mật khẩu được mã hóa trong file cấu hình
- Phát hiện các chức năng ẩn và giao diện quản trị dành riêng cho người dùng có đặc quyền
- Xác định được các lỗ hổng nghiêm trọng như SQL injection, remote code execution cho phép chiếm quyền server
- Tương tác với ứng dụng web
- Các trình quét web sẽ kiểm tra các thành phần:
- Trường biểu mẫu (form fields) và mã nguồn để xác định các lỗ hổng và nội dung nhạy cảm.
- Ngày nay có nhiều trình quét ứng dụng web thương mại từ các nhà cung cấp như Acunetix, Qualys và Netsparker.
- Ngoài ra cũng có các trình quét và công cụ thu thập thông tin mã nguồn mở như Arachni, w3af, ZAP được tích hợp sẵn trong Kali Linux
Ví dụ:
Sử dụng w3af để quét và tương tác với ứng dụng web trên trang comptia.academy:
- Quét nhanh (discovery) tìm thấy hàng chục URL, tham số và form đầu vào
- Thực hiện các kiểm tra chủ động (audit) đối với các điểm đã phát hiện:
- Thử các payload XSS và SQLi phổ biến vào các trường nhập liệu
- Sử dụng các vector tấn công quen thuộc như path traversal, LFI/RFI, XXE…
- Gửi các request sai định dạng hoặc có kích thước bất thường để kiểm tra xử lý ngoại lệ
- Truyền các giá trị đặc biệt như null, các ký tự đặc biệt và Unicode để phát hiện lỗi logic
- Báo cáo chi tiết cho thấy ứng dụng comptia.academy dễ bị tấn công bởi nhiều lỗ hổng phổ biến:
- Lỗi XSS cho phép đánh cắp cookie và mạo danh người dùng
- Lỗi SQL injection trên trang tìm kiếm cho phép truy xuất dữ liệu người dùng
- Lỗi unrestricted file upload trên hệ thống blog cho phép tải lên webshell
- Kiểm tra yêu cầu API
- API (Application Programming Interface) là một tập hợp các lệnh được sử dụng để gửi và nhận dữ liệu giữa các hệ thống, chẳng hạn như máy khách (client) và máy chủ (server)
- Khiến cho việc kết nối trở nên an toàn hơn vì máy khách không bao giờ tương tác trực tiếp với máy chủ.
- Đội PenTest nên tìm kiếm các thông tin lộ diện như khóa API (API key) trong mã nguồn.
(Hình minh họa khóa API trong mã nguồn)
Ví dụ:
Khi phân tích mã nguồn JavaScript trên trang web comptia.edu.vn, hacker phát hiện:
- Một số khóa API của Google Maps và Twitter đang được nhúng trực tiếp trong mã, có thể bị lạm dụng
- Địa chỉ endpoint của API nội bộ để lấy danh sách người dùng và bài viết trong hệ thống
- API xác thực người dùng sử dụng cơ chế JWT token nhưng chưa được bảo vệ đúng cách
- Dựa trên những phát hiện này, hacker lên kế hoạch tấn công:
- Sử dụng khóa API để truy cập trái phép vào các dịch vụ của bên thứ ba
- Khai thác các điểm yếu của API nội bộ như tràn bộ đệm, injection hay IDOR
- Tạo JWT token giả mạo để mạo danh người dùng và leo thang đặc quyền
- Tự động hóa việc quét lỗ hổng
- Trình quét lỗ hổng được thiết kế để kiểm tra các lỗ hổng mới và đã tồn tại, sau đó trình bày báo cáo để chuyên viên phân tích và đánh giá.
- Các phương pháp kiểm tra lỗ hổng ứng dụng được chia thành hai loại chính:
- Static Application Security Testing (SAST) được thực hiện sớm trong vòng đời phát triển phần mềm để kiểm tra mã nguồn về các lỗ hổng bảo mật.
- Dynamic Application Security Testing (DAST) được thực hiện sau khi mã nguồn được triển khai vào môi trường production.
Ví dụ:
- Trong giai đoạn phát triển ứng dụng web comptia.academy, công ty sử dụng công cụ SAST như SonarQube để quét mã Python và JavaScript.
- Mỗi khi lập trình viên đẩy (push) mã mới lên hệ thống quản lý phiên bản, SonarQube tự động quét và báo cáo các lỗi về format, dựa trên các rule lập trình an toàn
Nhờ đó mã nguồn luôn tuân thủ các thực tiễn tốt nhất về bảo mật, các lỗi cơ bản được phát hiện và xử lý sớm trước khi trở thành rủi ro trên production
Sau khi triển khai phiên bản mới của ứng dụng, công ty sử dụng các trình quét DAST như Acunetix để đánh giá bảo mật từ góc nhìn bên ngoài.
DAST giúp phát hiện các lỗ hổng mà chỉ xuất hiện khi nhiều thành phần hoạt động cùng nhau như XSS, CSRF, broken authentication…
Thông qua giao diện web, DAST mô phỏng hành vi của người dùng và hacker để tìm ra các vấn đề trong cấu hình, xử lý dữ liệu hay logic nghiệp vụ.
Các lỗ hổng tìm thấy sẽ được báo cáo và ưu tiên xử lý để tránh bị hacker khai thác.
Sử dụng các công cụ tự động
Khi sử dụng công cụ tự động, chúng phải được cập nhật liên tục mới nhất các lỗ hổng
Security Content Automation Protocol (SCAP) là một tiêu chuẩn của Hoa Kỳ
Được sử dụng để đảm bảo các ứng dụng luôn tuân thủ các yêu cầu bảo mật bắt buộc.
SCAP liên tục giám sát các hệ thống để phát hiện lỗ hổng
Ví dụ:
Công ty triển khai giải pháp SCAP Nessus để quản lý bảo mật và tuân thủ cho hệ thống comptia.academy:
Định kỳ hàng tuần, Nessus tự động quét toàn bộ máy chủ, thiết bị mạng và ứng dụng
Các lỗ hổng phát hiện được so sánh với cơ sở dữ liệu lỗ hổng tiêu chuẩn CVE và chấm điểm CVSS
Dựa trên mức độ ưu tiên, các bản vá lỗi sẽ được triển khai tự động hoặc thông qua quy trình xử lý thay đổi
Nessus cũng kiểm tra các thành phần hệ thống như tường lửa, hệ thống phát hiện xâm nhập theo các cấu hình mẫu (template) của SCAP
Các vi phạm chính sách và điểm yếu bảo mật sẽ được báo cáo hàng ngày cho bộ phận vận hành và quản lý rủi ro
Kết quả quét cũng được tổng hợp theo các tiêu chuẩn tuân thủ như NIST, HIPAA tùy theo lĩnh vực của tổ chức
II. Đánh giá lưu lượng mạng
Bắt gói tin với Wireshark
Bắt (sniff) lưu lượng là một cách thụ động để thu thập thông tin, chẳng hạn như:
Máy chủ mạng, dịch vụ và loại thiết bị
Giao thức như TCP, ARP, SMTP và HTTP
Mạng con, địa chỉ IP và MAC
Thông tin về máy chủ trong các thông điệp NBNS
Tên tài khoản người dùng trong lưu lượng Kerberos
Ví dụ:
Sử dụng Wireshark để bắt gói tin trên mạng LAN của comptia.academy:
Lọc gói tin theo giao thức DHCP, có thể thấy hostname, MAC và IP được cấp phát cho các máy trạm
Gói tin mDNS tiết lộ tên và loại các thiết bị như máy in, loa thông minh đang kết nối mạng
Theo dõi một phiên kết nối HTTP, có thể thấy một nhân viên truy cập vào trang quản trị WordPress với tài khoản admin và mật khẩu dạng base64
Gói tin Kerberos cho thấy quá trình xác thực của ứng dụng nội bộ, sử dụng mật khẩu NTLM băm
Lưu lượng SMB chứa các yêu cầu truy cập và nội dung của các tệp, thư mục trong mạng
Giám sát lưu lượng hiệu quả
Để sử dụng hiệu quả phân tích gói tin, đội ngũ sẽ cần chọn vị trí thích hợp để quan sát lưu lượng.
Một số hướng dẫn để giám sát hiệu quả lưu lượng mạng:
Giao diện của trình bắt gói tin phải ở chế độ promiscuous để thu thập tất cả lưu lượng.
Nếu đội ngũ đang kiểm tra mạng không dây, thiết bị bắt gói tin phải nằm trong vùng phủ sóng.
Ví dụ:
Để thu thập lưu lượng mạng một cách toàn diện, đội PenTest thực hiện:
Đặt máy bắt gói tin tại điểm tập trung lưu lượng như thiết bị chuyển mạch gốc (core switch), router biên và trên các VLAN chính.
Thiết lập port mirroring hoặc SPAN trên thiết bị mạng để sao chép lưu lượng đến cổng của trình bắt gói tin.
Cấu hình card mạng ở chế độ promiscuous và bắt đầu thu thập với Wireshark/tcpdump.
Với lưu lượng mạng không dây, dùng card mạng hỗ trợ chế độ monitor như Alfa AWUS036ACH kết hợp với Wireshark và Aircrack-ng.
Đặt thiết bị bắt ở gần các điểm truy cập không dây hoặc sử dụng antenne có độ khuếch đại cao để bao phủ diện rộng.
Bắt dữ liệu
Nếu lưu lượng ở dạng văn bản thô (cleartext), bạn có thể thu thập thông tin đăng nhập, tệp, hình ảnh, tin nhắn và dữ liệu của người dùng và máy khác.
Ngay cả khi phần payload (dữ liệu) được mã hóa, bạn vẫn có thể suy luận ra các thông tin quan trọng:
Địa chỉ và cổng nguồn và đích
SSID của mạng không dây và các thông điệp dạng cleartext đi kèm
Các thông điệp bắt tay (handshake) và địa chỉ IP lớp ngoài của lưu lượng VPN
Lưu lượng DHCP sẽ hiển thị địa chỉ MAC cũng như tên máy chủ dưới dạng văn bản thô.
Ví dụ:
Bắt gói tin trong vòng 1 giờ tại văn phòng comptia.academy, đội PenTest thu được hàng nghìn gói dữ liệu, bao gồm:
Thông tin đăng nhập và mật khẩu dạng base64, MD5 hash của nhiều dịch vụ và ứng dụng web
Nội dung email, tin nhắn chat Skype và Slack của nhân viên với nhau và với khách hàng
Tài liệu, hợp đồng, báo cáo tài chính được truyền qua giao thức SMB, FTP
Mật khẩu WPA2 của mạng WiFi guest được gửi qua giao thức không mã hóa
Mã 2FA dạng OTP và liên kết thiết lập lại mật khẩu của tài khoản Office 365 được gửi qua SMS và email
Thông tin thẻ tín dụng của khách hàng khi thanh toán trực tuyến với hệ thống chưa áp dụng HTTPS
Quét lỗ hổng với Nessus
Nessus là một công cụ quét mạnh mẽ có thể quét cả mạng doanh nghiệp và mạng gia đình.
Nessus có thể hoàn thành quét mạng cơ bản hoặc nâng cao, cùng với các bài quét khác để đo lường hiệu quả của các biện pháp kiểm soát bảo mật.
Khi quét hoàn tất, bạn có thể xem và phân tích kết quả
Ví dụ:
Đội PenTest sử dụng Nessus để quét mạng nội bộ của comptia.academy. Với các chính sách quét khác nhau, họ thu được:
Bản kiểm kê (inventory) các thiết bị và dịch vụ đang chạy trong mạng
Danh sách các lỗ hổng phần mềm, hệ điều hành chưa được vá với đánh giá mức độ rủi ro và hướng dẫn khắc phục
Các cảnh báo vi phạm chính sách cơ bản như mật khẩu yếu, tài khoản cũ, chia sẻ thư mục sai
Thông tin hệ thống như tên miền, kiến trúc mạng, biến môi trường có thể bị khai thác
Nessus cũng hỗ trợ quét có xác thực bằng tài khoản domain admin, cho phép đánh giá chuyên sâu hệ thống Windows:
Cấu hình bảo mật liên quan như Local Security Policy, User Rights Assignment
Các dịch vụ, ứng dụng và plugin trong máy có dấu hiệu bất thường hoặc chưa được bảo mật
Quyền truy cập và quyền hạn của từng user và group trên hệ thống tệp, registry
Để giảm thiểu tác động của Nessus, đội PenTest lên lịch quét ngoài giờ làm việc và chia nhỏ phạm vi theo từng nhánh mạng, kiểm soát số lượng gói tin quét tối đa
Cải thiện quy trình quét
Quét một mạng doanh nghiệp có thể là một quy trình tốn thời gian.
Để cải thiện hiệu quả quét, đội có thể tạo một chính sách bao gồm các thông tin đăng nhập mạng quan trọng để sử dụng cho các lần quét sau.
Ngoài quét lỗ hổng, Nessus cũng giúp đảm bảo mạng được phân đoạn đúng cách.
Phân đoạn mạng (network segmentation) tách biệt hợp lý từng phân đoạn bằng mạng con, VLAN và tường lửa để cô lập mỗi phân đoạn
Việc tách biệt mạng ngăn chúng giao tiếp với nhau.
Ví dụ:
Sau khi quét bằng các chính sách mặc định, đội PenTest tạo một chính sách quét riêng có chứa:
Tài khoản quản trị được phân quyền cho từng miền mạng như DMZ, LAN, Server Farm…
Danh sách địa chỉ IP, dải mạng và tên DNS của các thiết bị quan trọng cần quét kỹ càng
Thời gian biểu quét định kỳ hàng tuần/tháng và ngưỡng cảnh báo tự động cho từng loại lỗ hổng
Các plugin và lỗ hổng đặc thù cho hệ thống của tổ chức như SAP, PeopleSoft, Active Directory
Nessus quét từ nhiều vị trí khác nhau trong mạng và phát hiện:
Thiết bị trong mạng LAN có thể truy cập qua VLAN sang mạng DMZ, Admin do cấu hình sai Access List trên thiết bị chuyển mạch
Máy trạm nhiễm mã độc có thể kết nối qua Remote Desktop (RDP) tới máy chủ cơ sở dữ liệu
Máy chủ web bị tấn công có kết nối trực tiếp đến mạng quản lý mà không qua tường lửa
Dựa trên kết quả, đội bảo mật của comptia.academy tiến hành rà soát lại toàn bộ việc phân vùng mạng và chỉnh sửa chính sách tường lửa, ACL, VLAN để đảm bảo các mạng quan trọng như DMZ, Server Farm, Admin hoàn toàn độc lập và chỉ cho phép lưu lượng qua tường lửa với các cổng tối thiểu. - Thu thập lưu lượng ARP
Địa chỉ MAC có thể hữu ích theo một số cách Khám phá các máy chủ trên mạng.
Sử dụng địa chỉ MAC để tiến hành tấn công giả mạo ARP (ARP poisoning).
Để thu thập lưu lượng ARP, đội ngũ có thể sử dụng:
Nessus có một số plugin để liệt kê địa chỉ MAC trên các mục tiêu
Nmap với lệnh:nmap -PR -sn <mục tiêu>
Arping là công cụ có sẵn trong Kali Linux.
Ví dụ:
Sử dụng các kỹ thuật trên, đội PenTest thu được bảng ánh xạ IP và MAC của các thiết bị trên mạng comptia.academy:
IP
MAC
Thiết bị
192.168.10.1
00:0c:29:e8:93:f3
Router
192.168.10.2
00:50:56:89:09:65
Firewall
192.168.10.10
4c:ed:fb:9e:1c:8a
Máy chủ web
192.168.10.11
00:0c:29:57:ec:a5
Máy chủ email
192.168.10.20
08:00:27:cc:3f:1b
Máy trạm kế toán
192.168.10.100-110
b8:27:eb:8d:29:xx
Điện thoại IP
Dựa trên thông tin này, hacker có thể:
Giả mạo gói tin ARP Reply để đầu độc bộ nhớ cache ARP của các thiết bị, tạo điều kiện cho tấn công MITM
Lấy danh sách MAC của các điện thoại IP và tìm kiếm lỗ hổng liên quan trên ExploitDB, Metasploit
Cài đặt một thiết bị nằm vùng (rogue device) như bộ định tuyến không dây cùng dải MAC để đánh lừa nạn nhân kết nối
Sử dụng các kỹ thuật giả mạo MAC (MAC spoofing) để vượt qua các thiết lập MAC filtering của AP và switch
III. Khám phá tài sản mạng không dây
Bảo mật các điểm truy cập không dây (access point)
Mạng không dây cho phép kết nối tự do và liên lạc với thế giới bên ngoài.
Bên cạnh sự tiện lợi đó là nguy cơ kẻ tấn công tham gia vào mạng không an toàn và truy cập vào thông tin liên lạc.
Do đó, tốt nhất nên kiểm tra bảo mật của các điểm truy cập không dây (WAP – wireless access point) định kỳ
Trong quá trình trinh sát, đội PenTest sẽ tập trung vào việc tìm kiếm các WAP mở và không an toàn mà mục tiêu có thể đang sử dụng
Ví dụ:
Sử dụng laptop với card mạng không dây và phần mềm như Kismet, đội PenTest dò quét xung quanh tòa nhà của comptia.academy và phát hiện 5 mạng WiFi:
“comptia-guest”: mạng cho khách, không mật khẩu, ko mã hóa
“comptia-office”: mạng văn phòng, mã hóa WPA2-PSK, SSID ẩn
“comptia-devices”: mạng cho IoT, mã hóa WPA-PSK, tín hiệu yếu
“comptia-POS”: mạng cho hệ thống bán hàng, mã hóa WPA2-Enterprise (802.1x)
“DLink-123”: mạng cá nhân của ai đó, không mật khẩu, đang chia sẻ đĩa cứng và máy in qua SMB/DLNA
Các mạng “comptia-guest” và “DLink-123” là mục tiêu dễ dàng để khai thác. Mạng “comptia-devices” cũng có thể bị bẻ khóa do sử dụng mã hóa yếu. Trong khi đó “comptia-office” và “comptia-POS” an toàn hơn nhưng vẫn có thể bị tấn công bằng các kỹ thuật như bruteforce WPA hoặc giả mạo AP.
Wardriving để tìm điểm truy cập mở
Wardriving là kỹ thuật lái xe xung quanh để tìm kiếm các điểm truy cập mở bằng laptop hoặc smartphone.
Đội ngũ có thể sử dụng các công cụ như Aircrack-ng, Kismet hoặc Wifite để tìm kiếm WAP mở.
Cũng nên chạy phần mềm phân tích gói tin trong quá trình kiểm tra để thu thập và lưu thông tin.
Sau khi phân tích, thông tin có thể được sử dụng để tiến hành tấn công.
Ví dụ:
Đội PenTest sử dụng laptop cài Kali Linux với card không dây và ăng ten ngoài, lái xe quanh khu công nghiệp nơi comptia.academy đặt trụ sở.
Dùng Kismet để dò tìm các mạng WiFi trong vòng 5km và lọc ra các mạng đang mở hoặc sử dụng mã hóa yếu:
Mạng WiFi công cộng của toà nhà văn phòng đối diện, không mật khẩu
Mạng riêng của giám đốc một công ty gần đó, dùng mật khẩu mặc định của router “admin/admin”
Mạng của quán cà phê, có mật khẩu nhưng dễ đoán là “capherangxay”
Mạng của hệ thống camera an ninh, sử dụng mã hóa WEP dễ bẻ khóa
Bật chế độ Monitor trên card không dây và dùng airodump-ng để bắt gói tin 4 way handshake của các mạng này. Sau đó dùng aircrack-ng với từ điển rockyou.txt để bruteforce mật khẩu WPA hoặc bẻ khóa WEP.
Với các mạng không mật khẩu, dùng SSL strip để giảm cấp các kết nối HTTPS xuống HTTP và bắt thông tin đăng nhập…
Thử kết nối vào các mạng trên khi đi ngang qua tòa nhà và tiến hành các kỹ thuật tấn công sâu hơn như: DNS spoofing, fake captive portal, ARP poisoning, rogue DHCP server…
Vẽ bản đồ WAP với WiGLE
WiGLE là công cụ OSINT để hỗ trợ trong giai đoạn trinh sát
Trong giao diện WiGLE, bạn có thể:
Nhập vị trí như thành phố hoặc địa chỉ cụ thể
Chọn khoảng thời gian thích hợp
Chọn một tùy chọn như “Possible Freenet”
Sau khi chọn vị trí và đặt bộ lọc, giao diện sẽ hiển thị các dấu chấm.
Mỗi dấu chấm đại diện cho một điểm truy cập, bạn có thể phóng to để tìm hiểu thêm về AP đó.
Ví dụ:
Truy cập trang WiGLE.net, nhập “Hà Nội” và chọn các tùy chọn:
Only Show Open Wifi: chỉ hiện các mạng không mật khẩu
Encryption Off: các mạng không mã hóa
Show Remembered: các mạng đã biết từ trước
Kết quả cho thấy hàng trăm WAP không bảo mật rải rác trên khắp địa bàn HN, tập trung ở các khu trung tâm, siêu thị, bệnh viện, trường học…
Click vào một WAP gần địa chỉ của comptia.academy, hiển thị các thông tin chi tiết được thu thập bởi cộng đồng WiGLE:
SSID “HN-Freewifi”, BSSID “00:01:38:20:db:21”
Nhà sản xuất thiết bị “HuaweiTechnologies”
Vị trí chính xác 21.022834, 105.811456
Sử dụng băng tần 2.4Ghz, kênh 11
Chuẩn wifi 802.11n, không mã hóa
Cường độ tín hiệu mạnh nhất -60dBm
Phát hiện lần đầu vào 15/7/2021 và vẫn hoạt động đến nay
Với những thông tin trên, đội PenTest có thể tìm cách truy cập vật lý vào AP này để cài backdoor, keylogger, đặt thiết bị rogue AP cùng SSID để lừa người dùng kết nối…
Khuếch đại tín hiệu WiFi
Tín hiệu WiFi là một lượng công suất được sử dụng trong một điểm truy cập hoặc máy khách.
Mục tiêu là đạt được tỉ lệ tín hiệu/nhiễu (Signal-to-Noise Ratio – SNR) cao.
Cường độ tín hiệu của ăng ten không dây được đo bằng đơn vị decibel đẳng hướng (dBi – decibels per isotropic) và có thể thay đổi theo thiết kế.
Khi thực hiện wardriving hoặc pentest mạng không dây, việc khuếch đại tín hiệu có thể tạo ra sự khác biệt trong kết quả.
Ví dụ:
Nếu chỉ dùng laptop và anten tích hợp, đội PenTest nhận tín hiệu khá yếu từ AP của comptia.academy cách đó 300m do bị che chắn bởi tường và vật cản.
Lắp thêm anten ngoài có độ khuếch đại 8dBi, tín hiệu đã tăng lên rõ rệt, cho phép kết nối và bắt gói tin ổn định ở khoảng cách 500m.
Đối với AP ở xa hơn, sử dụng anten chảo (dish) 24dBi, tín hiệu tăng mạnh và có thể tiếp cận AP ở cách 2-3km.
Để tấn công vào hệ thống WiFi của tòa nhà, đội sử dụng anten định hướng Yagi 15dBi, chĩa thẳng về phía văn phòng comptia.academy. Độ khuếch đại cao và tính định hướng giúp tăng phạm vi và giảm can nhiễu từ các AP khác.
Lựa chọn thiết kế anten phù hợp
Khi tiến hành kiểm tra xâm nhập, tốt nhất nên chọn anten dựa trên nhu cầu cụ thể.
Ví dụ, có thể sử dụng các loại anten sau:
Anten định hướng (directional): phạm vi tín hiệu bị hạn chế ở một hướng cụ thể.
Anten đa hướng (omni-directional): phát tín hiệu đi mọi hướng.
Anten parabol: có bề mặt cong với một mẫu cố định, giống như tia laser.
Ví dụ:
Khi cần quét nhanh và phủ sóng toàn bộ khu vực, anten đa hướng như anten 9dBi rubber duck là phù hợp nhất. Anten này nhỏ gọn nhưng độ khuếch đại và phạm vi khá tốt.
Để bắt gói tin cụ thể và chống nhiễu hiệu quả, sử dụng anten Yagi chuyên dụng cho các băng tần như 2.4Ghz hoặc 5Ghz, với độ khuếch đại từ 9-15dBi.
Nếu cần kết nối ở cự ly xa hoặc qua nhiều vật cản, anten chảo (dish) là lựa chọn hợp lý. Anten này có độ khuếch đại rất cao từ 18-24dBi, tín hiệu tập trung như chùm tia nên phạm vi truyền đi rất xa.
Trong không gian hạn chế như văn phòng, anten panel phẳng là giải pháp gọn nhẹ nhưng vẫn đảm bảo vùng phủ rộng với độ khuếch đại 8-14dBi. - Tổng kết:
Quét lỗ hổng logic là một phần không thể thiếu của bất kỳ cuộc kiểm tra xâm nhập nào. Mục đích là tìm ra các điểm yếu tồn tại trong cấu trúc của các hệ thống, mạng, ứng dụng và thậm chí cả không dây.
Một số kỹ thuật và công cụ quét phổ biến mà Pentester cần nắm vững:
Quét mạng với Nmap để tìm máy chủ, cổng mở và dịch vụ đang chạy
Quét lỗ hổng với Nessus để phát hiện và đánh giá mức độ của các lỗ hổng phổ biến
Quét ứng dụng web với OWASP ZAP, Acunetix để tìm lỗi bảo mật phía ứng dụng
Bắt và phân tích gói tin với Wireshark để tìm thông tin nhạy cảm và đoán mật khẩu
Dùng công cụ như Cain & Abel, Ettercap, Bettercap để tấn công MITM, bắt lưu lượng mạng
Thăm dò mạng WiFi bằng bộ Aircrack-ng để tìm điểm yếu và tiến hành tấn công không dây
Qua quá trình quét lỗ hổng, đội ngũ PenTest có cái nhìn chi tiết và chính xác về bề mặt tấn công, các rủi ro cụ thể mà tổ chức đang phải đối mặt. Từ đó đưa ra khuyến nghị các biện pháp phòng vệ cần thiết, ưu tiên xử lý các vấn đề nghiêm trọng và nâng cao an ninh hệ thống tổng thể.
Tuy nhiên để trở thành một Pentester chuyên nghiệp, bên cạnh kinh nghiệm cần có nền tảng kiến thức chuyên sâu cả về lý thuyết và thực hành. Việc trang bị chứng chỉ quốc tế uy tín như CompTIA PenTest+ là một lợi thế giúp bạn được nhà tuyển dụng đánh giá cao và đạt được thành công trong nghề.
Khuyến nghị:
Để học một cách bài bản và được hỗ trợ tốt nhất, bạn nên tham gia khóa đào tạo chính thức CompTIA PenTest+ của CompTIA Vietnam tại website: https://CompTIA.edu.vn
CompTIA cũng cung cấp bộ tài liệu CertMaster bao gồm:
CertMaster Learn với nội dung lý thuyết phong phú và bài tập thực hành
CertMaster Labs để luyện tập kỹ năng PenTest trên môi trường an toàn
CertMaster Practice giúp ôn luyện và chuẩn bị tốt nhất cho kỳ thi chứng chỉ
Việc đầu tư cho việc học chất lượng và chứng chỉ hành nghề sẽ giúp bạn có được kiến thức, kỹ năng cần thiết và sự tự tin để chinh phục những thử thách của nghề Pentester đầy thú vị này.
Tài liệu tham khảo:
CompTIA PenTest+ Certification Exam Objectives (PT0-002)
Penetration Testing: A Hands-On Introduction to Hacking by Georgia Weidman
The Hacker Playbook 3: Practical Guide To Penetration Testing by Peter Kim
NIST SP 800-115 Technical Guide to Information Security Testing and Assessment
Open Source Security Testing Methodology Manual (OSSTMM)
Kali Linux Revealed: Mastering the Penetration Testing Distribution by Raphaël Hertzog
Trình bày bởi : Vinh Nguyen Trần Tường
Tài liệu hỗ trợ học tập và ôn thi Chứng Chỉ Quốc Tế CompTIA Pentest +
Trả lời