Saturday, June 7, 2014

So sánh Kali Linux và Back Track!

Trong những năm qua BackTrack là hệ điều hành được sử dụng nhiều nhất bởi các chuyên gia đánh giá bảo mật. BackTrack bắt đầu xuất hiện vào năm 2006 và trong 7 năm qua nó đã không ngừng cải tiến để đạt được một vị trí nhất định trong cộng đồng bảo mật trên khắp toàn thế giới.
Vì vậy, ngày nay thật khó để tìm thấy một người nào đó quan tâm đến an toàn thông tin mà chưa từng nghe về BackTrack.

backtrackoct2113

Tháng 3 năm 2013, Offensive Security đã tiến thêm một bước mới khi công bố phiên bản tiến hóa của hệ điều hành BackTrack, tên của nó là Kali (được xem như phiên bản BackTrack 6), Kali là tên nữ thần của người Hindu, hàm ý sự biến đổi và khả năng hủy diệt hay có lẽ là tên một môn võ thuật của người Philippine ...
Để qua một bên chuyện tên với tuổi, DNA nghĩ rằng Kali Linux là một OS rất hữu ích đối với những chuyên gia đánh giá bảo mật, một OS tập hợp và phân loại gần như tất cả các công cụ thiết yếu mà bất kỳ một chuyên gia đánh giá bảo mật nào cũng cần sử dụng đến khi tác nghiệp.

pass-the-hash-kali-linux-e1373911294640

Ưu điểm và Nhược điểm:

Cố gắng "bới lông tìm vết" những nhược điểm của Kali là một nhiệm vụ vô cùng khó khăn nên DNA sẽ bắt đầu bằng cách giới thiệu qua một số ưu điểm của nó. Nói về ưu điểm của Kali là nói về những thay đổi giữa BackTrack và Kali.
DNA giả sử rằng các bạn đã biết về BackTrack và khả năng của nó. Đối với những người chưa biết BackTrack, nói một cách ngắn gọn BackTrack là một bản phân phối Linux dựa trên nền tảng hệ điều hành Ubuntu, với nhiều công cụ bảo mật được phân loại rõ ràng để sử dụng.
Vậy tại sao BackTrack lại tiến hóa thành Kali? Sau đây là những thay đổi bên trong Kali và cũng chính là những ưu điểm của nó:
Kali phát triển trên nền tảng hệ điều hành Debian
Điều này có nghĩa Kali có rất nhiều ưu điểm. Đầu tiên là các Repository (Kho lưu trữ phần mềm) được đồng bộ hóa với các Repository của Debian nên có thể dễ dàng có được các bản cập nhật vá lỗi bảo mật mới nhất và các cập nhật Repository. Duy trì cập nhật (up-to-date) đối với các công cụ Penetration Test là một yêu cầu vô cùng quan trọng.
Một lợi thế khác là mọi công cụ trong Kali đều tuân theo chính sách quản lý gói của Debian. Điều này có vẻ không quan trọng nhưng nó đảm bảo rõ ràng về mặt cấu trúc hệ thống tổng thể, nó cũng giúp cho chúng ta có thể dễ dàng hơn trong việc xem xét hoặc thay đổi mã nguồn của các công cụ.
Tính tương thích kiến trúc
kai-linux-galaxy-note-10.1
Một ưu điểm quan trọng trong Kali là nó đã cải tiến khả năng tương thích với kiến trúc ARM. Từ khi Kali xuất hiện, nhiều phiên bản ấn tượng đã được tạo ra. Bạn nghĩ gì về việc build Kali trên một Raspberry Pi hoặc trên Samsung Galaxy Note ? Khá tuyệt vời, bạn có nghĩ vậy không ☺ ?
Hỗ trợ mạng không dây tốt hơn
Một trong những vấn đề được các nhà phát triển Kali chú trọng nhiều nhất, chính là sự hỗ trợ cho một số lượng lớn phần cứng bên trong các thiết bị mạng không dây hay USB Dongles. Một yêu cầu quan trọng khi các chuyên gia bảo mật thực hiện đánh giá mạng không dây.
Khả năng tùy biến cao
Kali rất linh hoạt khi đề cập đến giao diện hoặc khả năng tuỳ biến hệ thống. Đối với giao diện, giờ đây người dùng đã có thể chọn cho mình nhiều loại Desktops như GNOME, KDE hoặc XFCE tùy theo sở thích và thói quen sử dụng.
Dễ dàng nâng cấp giữa các phiên bản Kali trong tương lai
Đối với bất cứ ai sử dụng Kali, đây là một tính năng quan trọng khi bảo trì hệ điều hành Kali. Với BackTrack, bất kỳ lúc nào khi phiên bản mới được công bố thì chúng ta đều phải cài lại mới hoàn toàn (Ngoại trừ phiên bản R2 lên R3 năm ngoái).
Giờ đây với Kali, nhờ vào sự chuyển đổi sang nền tảng hệ điều hành Debian, Kali đã dễ dàng hơn trong việc âng cấp hệ thống khi phiên bản mới xuất hiện, người dùng không phải cài lại mới hoàn toàn nữa.
Vô số tài liệu hướng dẫn
Một điều quan trọng khác cũng không kém, đó là Kali có rất nhiều tài liệu hướng dẫn trên Internet (như Chuyên Trang Pentest của DNA chẳng hạn), giúp cho bạn có thể hiểu rõ về Kali, biết cách sử dụng những công cụ chuyên dụng khi thực hiện công việc đánh giá bảo mật.
Như bạn thấy, Kali không chỉ là một phiên bản mới của BackTrack, mà nó chính là một sự tiến hóa thực thụ. Về khuyết điểm, thật khó khi phải nói người viết đã không tìm thấy bất kỳ hạn chế nào liên quan đến việc sử dụng Kali cho công việc đánh giá bảo mật.
Mục đích của các nhà phát triển Kali là duy trì và cung cấp các bản cập nhật mới nhất để Kali trở thành sự lựa chọn tốt nhất cho bất cứ ai tìm kiếm một hệ điều hành Pentest, một hệ điều hành dành cho công việc đánh giá bảo mật chuyên nghiệp.

Khám phá Kali Linux!

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.
kalicateories
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.
dredd-nmap-trailer-screenshot-1589x805
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.
nmap-bt6
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.
theharvester-bt6
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é!).
sqlmap-kl
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.
burpsuite-pro
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.
thc-hydra-bt6
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.
wireshark185
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.
r2-bt6
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  System Services. Trong phầnReporting 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.
<<Nguồn http://dnasecurity.com.vn/>>