Việc kiểm thử giúp các tổ chức và doanh nghiệp đánh giá mức độ an toàn của hệ thống của họ và khắc phục/vá các lỗ hổng bảo mật để ngăn chặn các tin tặc khỏi khai thác chúng. Bài viết này liệt kê một số công cụ hỗ trợ công việc kiểm thử cho các chuyên gia bảo mật.

Kiểm thử xâm nhập (Penetration Testing) là quá trình điều tra, tấn công và đột nhâp vào một hệ thống thông tin nhằm phát hiện các lỗ hổng và điểm yếu bảo mật trên hệ thống đó. Kiểm thử giúp tổ chức và doanh nghiệp đánh giá mức độ bảo mật của hệ thống của họ và sửa chữa những lỗ hổng bảo mật để ngăn chặn những kẻ tấn công khỏi tận dụng chúng.

Cùng tìm hiểu một số công cụ hỗ trợ kiểm thử xâm nhập phổ biến mà các chuyên gia bảo mật thường sử dụng.

Trinh sát (Recon)

Để khai thác một lỗ hổng, chuyên gia phải biết lỗ hổng nằm ở đâu trong hệ thống, các công cụ sau đây giúp phục vụ đánh giá lâm sàng một hệ thống và phát hiện những vị trí có lỗ hổng tiềm năng:

Nmap/Zenmap

nmap (the Network MAPper) là một công cụ miễn phí, mã nguồn mở, hoạt động trên cả 3 nền tảng Linux, Windows và Mac. Công dụng chủ yếu của Nmap là quét các cổng giao tiếp (port) của một hệ thống mạng. Nmap còn hỗ trợ xác định và giám sát các chương trình/dịch vụ chay trên từng cổng, danh sách máy (hosts) trong mạng, hệ điều hành đang của từng máy và cổng, tường lửa đang được sử dụng, v.v.

nmap dễ sử dụng và đặc biệt quan trọng là có tài liệu tham khảo và hướng dẫn rất chi tiết. Nhưng với ai không muốn sử dụng chương trình command line thì vẫn có thể sử dụng nmap trên giao diện đồ họa thông qua chương trình Zenmap.

Burp Suite

Burp Suite là một phần mềm kiểm thử xâm nhập phổ biến dành cho các ứng dụng web (web application). Chủ yếu được sử dụng để bắt chặn và sửa đổi các HTTP request của ứng dụng web. Burp Suite còn có các tính năng chuyên sâu khác như liệt kê thông tin của mục tiêu (enumeration), quét và phát hiện lỗ hổng bảo mật tự động, tấn công brute-force/fuzzing, quét và liệt kê API, v.v.

Ngoài ra, Burp Suite còn có thể thêm nhiều chức năng khác thông qua cửa hàng tiện ích mở rộng BApp, duy trì bởi cộng đồng Burp.

Tuy đại đa số các tính năng nâng cao bị khóa đằng sau phiên bản có bản quyền Burp Suite Professional, phiên bản miễn phí Burp Suite Community vẫn quá đủ cho việc phân tích ứng dụng web.

dirsearch/gobuster

dirsearch và gobuster là hai chương trình phục vụ quét đường dẫn ứng dụng web, rất hữu ích cho việc tìm và mở rộng phạm vi tấn công trên mục tiêu.

Tấn công (Attack)

Khi xác định được một mục tiêu tiềm năng, bước tiếp theo trong quá trình kiểm thử là tìm cách tấn công và khai thác mục tiêu để chứng minh điểm yếu trong hệ thống. Các công cụ sau đây hỗ trợ người kiểm thử thăm dò mục tiêu bằng nhiều kiểu tấn công khác nhau.

wfuzz/dalfox/sqlmap

Đây là 3 chương trình chuyên về một cách tấn công nhất định.

Fuzzing là kỹ thuật brute force bằng cách sinh dữ liệu đặc biệt cho hệ thống xử lý, nhằm gây lỗi và tạo hành vi không xác định. wfuzz (Web FUZZ) là chương trình tấn công fuzzing chuyên về ứng dụng web, sử dụng để tìm tài nguyên ẩn, tìm lỗ hổng injection (XSS, SQL, LDAP, v.v.), brute force dữ liệu form, v.v.

XSS (Cross Site Scripting) là một trong những tấn công phổ biến và dễ bị tấn công nhất, được người tấn công thực hiện bằng cách chèn mã độc vào các đoạn script để chúng chạy ở client người dùng. XSS thường được sử dụng để đánh cắp/mạo danh người dùng và đột nhập vào hệ thống bỏ qua cơ chế xác thực.

dalfox là phần mềm miễn phí mã nguồn mở chuyên về tấn công, quét và phân tích lỗ hổng XSS tự động.

SQLi (SQL Injection) là một kiểu tấn công cho phép người thực thi chạy những câu lệnh SQL nguy hiểm trên cơ sở dữ liệu của hệ thống. Tùy vào các cấu hình cơ sở dữ liệu mà ảnh hưởng của tấn công SQLi có thể từ lộ dữ liệu thông tin nhạy cảm cho đến người tấn công sở hữu quyền chạy code tùy ý trên cả hệ thống (Remote Code Execution - RCE)

sqlmap là phần mềm chuyên về tấn công và khai thác lỗ hổng SQL Injection, với nhiều chức năng từ thu thập thông tin mục tiêu, đánh cắp dữ liệu trong cơ sở dữ liệu cho tới chiếm quyền thực thi trên hệ điều hành của hệ thống.

Metasploit

Thay vì một công cụ chuyên biệt cho một kiểu lỗ hổng nhất đinh, Metasploit là một khung phần mềm (framework) sử dụng để tấn công và khai thác một loạt các loại lỗ hổng trên nhiều nền tảng khác nhau. Phát triền bởi Rapid7 và liên tục nhận sự đóng góp từ cộng đồng mã nguồn mở, Metasploit luôn có những lỗ hổng và bộ mã tấn công mới nhất cho người sử dụng.

john the ripper/hashcat

john the ripper và hashcat là hai phần mềm phá hash và thu hồi mật khẩu được ưa chuộng nhất hiện nay. hashcat là phần mềm mới hơn và hỗ trợ tính toán qua GPU đòi hỏi người dùng phải tự nhận dạng thuật toán hash, còn john the ripper tuy cũ hơn nhưng vì vậy hiệu năng của nó đã được chứng thực bởi cộng đồng an toàn thông tin và dễ sử dụng hơn.

Phân tích (Analysis)

Công việc kiểm thử không chỉ dừng lại ở ứng dụng web, mà còn có thể bao gồm cả phân tích hoạt động ứng dụng desktop/malware và đánh giá mã nguồn. Các ứng dụng sau đây phục vụ cho các hoạt động này.

Wireshark

Wireshark đi một tầng sâu hơn so với Burp Suite bằng cách đọc trực tiếp gói tin (packet). Vì thế Wireshark có thể sử dụng cho bất kỳ ứng dụng nào có thể kết nối tới Internet và dùng để xác định các vấn đề liên quan đến tương tác giữa máy tính/chương trình và mạng internet như: mất kết nối, kết nối chậm, hoặc tìm các truy cập bất thường. Wireshark hỗ trợ cả phân tích tĩnh và phân tích thời gian thực, do đó rất tiện lợi cho sử dụng.

Semgrep

Semgrep là ứng dụng phân tích mã nguồn nhằm phát hiện các lỗ hổng tiềm tàng trong codebase trước khi ứng dụng được xây dựng và deploy. Bên cạnh đó, nó còn có thể làm đẹp code dựa theo đúng tiêu chuẩn để giúp codebase dễ đọc và dễ debug hơn trong tương lai.

IDA

IDA (the Interactive DisAssembler) là chương trình dịch ngược cho phép thu hồi mã assembly và một phần mã nguồn gốc từ một chương trình thực thi, đồng thời hỗ trợ debug để phân tích động quá trình họat động của một chương trình. Rất quan trọng cho việc phân tích malware và tìm khóa dữ liệu cứng tiềm tàng trong chương trình.

IDA bản miễn phí có thể xem là đủ dùng cho các phần mềm x64, nhưng để sử dụng các bộ kiến trúc tập lệnh nâng cao hơn hoặc sử dụng các kiến trúc vi xử lý khác thì cần phải có bản Professional.

Chia sẻ bài viết này