Tiếp nối phần 1 "Hệ điều hành Pentest BackTrack 6 tiến hóa thành Kali Linux". Phần 2 của loạt bài viết về Kali Linux, người viết sẽ đi sâu vào các công cụ đánh giá bảo mật chuyên dụng trên Kali, thường được người viết sử dụng khi làm dự án đánh giá bảo mật.
Kali được cài đặt hơn 200 công cụ tùy theo nhu cầu đánh giá. Nếu những công cụ này không được sắp xếp và phân loại rõ ràng thì khả năng sử dụng khi thực hiện đánh giá bảo mật sẽ không tối ưu. So với BackTrack, tất cả các công cụ trên Kali đều được phân loại dựa trên mục đích sử dụng của nó. Người viết sẽ giải thích từng phân loại cùng những công cụ tiêu biểu nhất.
Phân loại đầu tiên là Information Gathering (Thu thập thông tin). Nhóm phân loại này gồm những công cụ tập trung vào việc thu thập thông tin về mục tiêu. Trong phân loại này có một số lượng lớn các công cụ được phân chia theo loại thông tin cần thu thập.
Ví dụ, OS Fingerprinting (Thu thập thông tin về hệ điều hành), Network Scanners (Dò quét cổng, dò quét mạng, dò quét phiên bản dịch vụ), SSL Analysis (Phân tích giao thức SSL), VoIP Analysis (Phân tích giao thức VoIP) và còn nhiều công cụ khác nữa.
Từ những công cụ này, chúng ta có thể chọn ra một công cụ rất nổi tiếng, cực hữu ích khi thực hiện đánh giá bảo mật hạ tầng mạng lưới điện toán, đó chính là Nmap. Đây thực sự là một công cụ thăm dò, phân tích, do thám mạng lưới rất hữu dụng.
Với Nmap, bên cạnh việc bạn có thể biết được Ports (Cổng dịch vụ) nào đang Open, Filtered hoặc Closed, bạn còn có thể xác định được phiên bản dịch vụ (Banner version) và cũng có thể thực hiện phán đoán phiên bản hệ điều hành mà mục tiêu đang sử dụng.
Hơn nữa, với các phiên bản mới của Nmap bạn có khả năng sử dụng các đoạn Scripts có sẵn của Nmap hay tự viết, được bổ sung thông qua chức năng Nmap Scripting Engine (NSE).
Tính đến thời điểm này, trên trang web chính thức của Nmap bạn có thể tìm thấy hơn 400 Scripts tùy vào nhu cầu sử dụng của bạn (Scripts được cập nhật gần đây tính đến thời điểm người viết đăng bài này là hai Scripts : Tìm các D-link Modems và Tenda Modems với sự cố "Backdoor" được cài đặt ngầm trong hai thiết bị)
Một công cụ khác cũng nổi trội không kém là theHarvester. Công cụ này dựa vào nhiều nguồn tìm kiếm như google, google-profiles, bing, Linkedin hoặc Shodan để thu thập thông tin, ví dụ: thu thập thông tin về một công ty ABC nào đó, bạn có thể tìm địa chỉ email, tên máy chủ và nhiều thông tin liên quan đến công ty đó bằng theHarvester.
Phân loại tiếp theo là Vulnerability Analysis (Phân tích lỗ hỏng). Phân loại này tập trung vào việc phát hiện các lỗ hổng bảo mật, từ lỗ hổng ứng dụng, hạ tầng, mạng lưới cho đến phần cứng chuyên dụng. Vì vậy ở đây có rất nhiều các công cụ Vulnerability Scanner (Dò quét lỗ hổng) và Fuzzers (Kiểm thử).
Trong phân loại này bạn có thể tìm thấy sqlmap. Đây là một công cụ tuyệt vời mà thực sự có thể giúp bạn tìm kiếm và khai thác các lỗ hổng SQL Injection. Với công cụ này, bạn chỉ định các ứng dụng web và các thông số bạn muốn kiểm tra, phần còn lại phần mềm sẽ tự động hóa thực hiện (Chú ý người viết không khuyến khích việc biến bạn trở thành Click-click-boy đâu nhé!).
Một công cụ quan trọng khác chính là OpenVAS. OpenVAS là một nền tảng dành cho việc phát hiện dò quét các lỗ hổng. Nó được tạo ra như một nhánh của Nessus khi Nessus trở nên thương mại hóa.
Trong phân loại Web Applications (Ứng dụng Web), bạn có thể tìm thấy những công cụ phát hiện và tấn công các lỗ hổng ứng dụng Web. Trong phân loại này có một công cụ rất đáng để bạn quan tâm, chính là Burp Suite (Có hai phiên bản Free và Pro).
Một trong những tính năng chính và cơ bản của Burp là khả năng Intercept (tạm dịch:đánh chặn) tất cả các HTTP Request được gửi đến các ứng dụng Web, nhờ đó bạn có thể chỉnh sửa, thay đổi, kiểm thử tham số và gửi đến ứng dụng.
Nhưng Burp không chỉ là một công cụ đánh chặn, mà còn là một trong những công cụ tốt nhất để thực hiện các phân tích lỗ hổng ứng dụng Web tự động hoặc thủ công.
Ví dụ, với Burp bạn có thể để tải nhiều Payloads từ một file và sửa đổi các tham số (Parameters), gửi các Payload đó đến cho các ứng dụng Web.
Điều này giúp cho bạn có thể thực hiện những cuộc tấn công Brute force, tải các payload để kiểm thử tấn công SQL Injection hoặc XSS. Giao diện của Burp khá trực quan nên bất kỳ ai cũng sẽ trở nên quen thuộc với tất cả các tính năng của nó. Bạn cũng có công cụ XSSer tương tự như Sqlmap, dùng để tìm các lỗ hổng XSS.
Kế tiếp là phân loại Password Attacks (Tấn công mật khẩu). Phân loại này tự bản thân cái tên của nó đã nói lên tất cả. Bạn có thể tìm thấy các công cụ bẻ khóa mật khẩu Offline hay khởi tạo các cuộc tấn công mật khẩu vào các giao thức. Công cụ đáng chú ý trong phân loại này là John the Ripper, oclhashcat-plus, Medusa và THC-Hydra.
Công cụ đầu tiên John the Ripper là một công cụ bẻ khóa mật khẩu khá cũ nhưng vẫn còn hữu ích. Một trong những tính năng chính của công cụ thứ hai là bạn có thể sử dụng sức mạnh của GPU để thực hiện các cuộc tấn công bẻ khóa mật khẩu.
Và cuối cùng, bằng Medusa và THC-Hydra, bạn có thể khởi tạo các cuộc tấn công Brute Force đối với các giao thức như HTTP, FTP, SSH, RDC. THC-Hydra đã công bố bài so sánh tính năng của nó so với các công cụ khác như Medusa, Ncrack. Và hiển nhiên, THC-Hydra chính là người chiến thắng (http://www.thc.org/thc-hydra/network_password_cracker_comparison.html).
Wireless Attacks (Tấn công mạng không dây). Trong phân loại này bạn có thể tìm thấy các công cụ dùng để phân tích và tấn công các giao thức mạng không dây như IEEE 802.11, RFID / NFC hay Bluetooth.
Công cụ hữu dụng nhất trong phần này để thực hiện phân tích giao thức IEEE 802.11 (WiFi) là aircrack-ng. Công cụ này cho phép bạn thực hiện nhiều kiểu tấn công khác nhau với các cơ chế xác thực (authentication) và ủy quyền (authorization) của mạng WiFi.
Sniffing/Spoofing (Nghe lén/Giả mạo) cung cấp các công cụ để intercept lưu lượng mạng trên đường truyền, Web hoặc lưu lượng VoIP. Một trong những chương trình Sniffer tốt nhất hiện nay chính là Wireshark. Với Wireshark bạn sẽ có thể intercept lưu lượng mạng và có thể xác định giao thức được sử dụng, phân tích và highlight các dữ liệu quan trọng.
Bạn cũng có thể áp dụng bộ lọc (Filter) nâng cao để lọc các dữ liệu đang bị intercept. Một công cụ thú vị khác là Dsniff. Công cụ này được chia thành nhiều ứng dụng giúp bạn intercept và xác định những loại dữ liệu nhạy cảm như mật khẩu, e-mail, PII hoặc sniff các dữ liệu đã mã hóa SSL.
Kế tiếp là phân loại Maintaining Access (Duy trì kết nối, quyền truy cập). Phân loại này tập hợp tất cả các công cụ giúp bạn duy trì khả năng truy cập đến mục tiêu, sau khi đã chiếm được quyền kiểm soát hệ thống và đánh cắp các thông tin quan trọng được lưu trữ trong đó.
Ví dụ, có rất nhiều OS Backdoor và Web Backdoor, cũng như các công cụ khác nhau để đóng gói các lưu lượng gửi đi ra ngoài trong các giao thức mà thường không được Filter trong phân loại này. Một công cụ "cổ truyền" nhưng hiệu quả biết bao ! Đó chính là netcat (ncat).
Netcat là một công cụ thực sự linh hoạt cho phép bạn thực hiện giao tiếp truyền tải giữa Client-Server. Netcat là công cụ mà tùy thuộc vào khả năng sáng tạo của bạn, nó có thể trở thành công cụ với chức năng như thu thập thông tin phiên bản HTTP (banner grab), chuyển các tập tin từ một máy tính này đến máy tính khác và nhiều thứ nữa.
Phân loại tiếp theo là Reverse Engineering (Dịch ngược mã nguồn), tập hợp tất cả các công cụ giúp cho bạn có thể debug hay phân tích mã nguồn nhị phân. Để debug mã nguồn nhị phân, chúng ta có các công cụ như ollydbgor, edb-debugger.
Công cụ đầu tiên là một chương trình debug khá mạnh mẽ nhưng nó phải được chạy thông qua chương trình giả lập Wine, điều đó cho thấy rằng nó thiết kế ra chỉ để chạy trên các hệ điều hành Windows. Vì lý do này, bạn có edb-debugger mặc dù còn khá mới mẻ nhưng vẫn hữu ích. Kế tiếp, là công cụ Radare2 (r2).
Đây là công dùng để reverse engineering cho tất cả những ai làm việc với hệ điều hành Unix, Linux. Radare2 không phải là một công cụ dễ sử dụng, học cách sử dụng nó khá khó nhưng một khi bạn biết cách sử dụng thì nó sẽ trở thành một công cụ thực sự hữu dụng. Nền tảng radare2 được hình thành bởi nhiều công cụ nhỏ như r2, Rabin, rasm hoặc rax.
Mỗi công cụ nhỏ này cho phép bạn thực hiện nhiều việc khác nhau. Ví dụ, với radare2 bạn có thể kiểm tra shellcodes, reverse engineer mã nguồn nhị phân từ các nền tảng khác nhau như pe, elf, match0 và dex hoặc các lớp java, phân tích ảnh đĩa để thực hiện điều tra số (forensis), tìm kiếm các gadget để xây dựng payload ROP (Return Oriented Programming ), debug mã nguồn nhị phân, so sánh sự khác biệt giữa các tập tin nhị phân (bindiffing) hay patch binaries.
Tất cả điều này đều có thể mở rộng khả năng xử lý thông qua các plugins mà bạn tự lập trình bằng ngôn ngữ Python, Go, Perl, Javascript ...
Kế tiếp là phân loại Stress Testing (Kiểm tra hiệu năng), bạn có thể tìm thấy những công cụ khác nhau để kiểm tra hiệu năng của Network, ứng dụng Web, WLAN hay VoIP khi xử lý một lượng lớn lưu lượng. Ví dụ, với những công cụ này bạn có thể để mô phỏng tấn công từ chối dịch vụ - DoS.
Với các công cụ trong phân loại Hardware Hacking (Tấn công các thiết bị phần cứng) bạn có thể lập trình cho các thiết bị Arduino và cũng sẽ tìm thấy các công cụ khác nhau để lập trình cho Android như Android SDK và phân tích các ứng dụng Android với các công cụ như APKTool và dex2jar
Forensic (Điều tra số) trong Kali là một phân loại rất tuyệt vời. Ở đây bạn có rất nhiều công cụ tập trung vào nhiều lĩnh vực điều tra số. Ví dụ, bạn có thể tìm thấy các công cụ để thực hiện điều tra mạng – network forensics, PDF forensics, RAM forensics và nhiều công cụ khác nữa.
Một công cụ được đánh giá cao trong phân loại này là Volatility – công cụ thu thập những chứng cứ dễ biến mất. Công cụ này được sử dụng để phân tích dữ liệu được lưu trữ trong Memory. Bạn có dùng Volatility để snapshot bộ nhớ RAM trong một thời điểm nhất định và Volatility sẽ trích xuất cho bạn rất nhiều thông tin thú vị.
Ví dụ, bạn có thể trích xuất tất cả các tiến trình đang chạy trong một thời điểm, các socket đang mở và các kết nối mạng hiện thời, LM/NTLM hash và LSA secrets, cùng nhiều thông tin khác. Nếu bạn muốn thử nghiệm chương trình này, Volatility hiện tại đang cung cấp cho bạn rất nhiều Images bộ nhớ RAM sẵn có với các dữ liệu thú vị để bạn có thể thử nghiệm trích xuất (http://code.google.com/p/volatility/wiki/PublicMemoryImages).
Cuối cùng, bạn có hai phân loại là Reporting Tools và System Services. Trong phần Reporting Tools (Các công cụ dành cho việc báo cáo), như tên gọi của nó, bạn có thể tìm thấy các công cụ để giúp bạn tạo ra những bản báo cáo sau khi hoàn tất công việc đánh giá bảo mật, dựa trên các kết quả mà bạn đã tìm thấy.
Ví dụ, công cụ recordMyDesktop, nhiệm vụ đơn giản của nó chính là tạo ra các File video ghi lại những hoạt động của bạn trên máy tính.
Một công cụ quan trọng khác không kém là TrueCrypt. Thậm chí nó không liên quan trực tiếp tới việc lập các tài liệu báo cáo, là một chuyên gia đánh giá bảo mật bạn luôn phải thực sự cẩn thận với nơi lưu trữ các kết quả đánh giá bảo mật của bạn. TrueCrypt cung cấp cho bạn khả năng lưu trữ an toàn các kết quả đánh giá bảo mật và mã hóa để không ai có thể đọc chúng ngoài bạn.
Trong phân loại System Services (Các dịch vụ hệ thống) có các dịch vụ khác nhau mà bạn có thể start/stop/restart chúng. Ví dụ, bạn có thể start dịch vụ Apache hay dịch vụ MySQL server bên trong phân loại này.
Như bạn thấy, Kali có tất cả mọi thứ mà một chuyên gia đánh giá bảo mật (Pentester) cần. Và nhờ vào sự linh hoạt của nó, nếu công cụ mà bạn cần không có trong kho vũ khí, bạn vẫn có thể dễ dàng cài đặt nó vào trong bản phân phối Kali của bạn. Có điều gì chưa rõ các bạn hãy để lại Comment ở phía dưới, DNA sẽ dành thời gian để trao đổi kỹ hơn cùng các bạn.
Nhựt Lâm
DNA Media Team
Có thể bạn quan tâm ?
• Hệ điều hành Pentest BackTrack 6 tiến hóa thành Kali Linux [P.1]
• Nền kinh tế ngầm của giới DDoS
• Cố vấn chiến lược an ninh thông tin cho Ban Cơ Yếu Chính Phủ
• Tấn công môi trường ảo hóa Vmware vSphere
• Mồi ngon của Hacker