Đánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2

Cách đây một thời gian tôi đã viết về Điều này, nhưng hơi ít ỏi và hỗn loạn. Sau đó, tôi quyết định mở rộng danh sách các công cụ trong bài đánh giá, thêm cấu trúc cho bài viết và tính đến những lời chỉ trích (cảm ơn rất nhiều Lefty để được tư vấn) và gửi nó đến một cuộc thi trên SecLab (và được xuất bản liên kết, nhưng vì tất cả những lý do hiển nhiên mà không ai nhìn thấy cô ấy). Cuộc thi đã kết thúc, kết quả đã được công bố và với lương tâm trong sạch, tôi có thể đăng nó (bài báo) trên Habré.

Công cụ Pentester ứng dụng web miễn phí

Trong bài viết này, tôi sẽ nói về các công cụ phổ biến nhất để pentest (kiểm tra thâm nhập) các ứng dụng web bằng chiến lược “hộp đen”.
Để làm điều này, chúng ta sẽ xem xét các tiện ích sẽ hỗ trợ loại thử nghiệm này. Hãy xem xét các loại sản phẩm sau:

  1. Máy quét mạng
  2. Trình quét vi phạm tập lệnh web
  3. Khai thác
  4. Tự động hóa tiêm
  5. Trình gỡ lỗi (trình dò ​​tìm, proxy cục bộ, v.v.)


Một số sản phẩm có một “đặc tính” phổ quát, vì vậy tôi sẽ phân loại chúng theo danh mục mà chúng có đặc tính riêng.оkết quả tốt hơn (ý kiến ​​chủ quan).

Máy quét mạng.

Nhiệm vụ chính là khám phá các dịch vụ mạng có sẵn, cài đặt phiên bản của chúng, xác định hệ điều hành, v.v.

NmapĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
Nmap ("Trình ánh xạ mạng") là một tiện ích mã nguồn mở và miễn phí để phân tích mạng và kiểm tra bảo mật hệ thống. Những người phản đối mạnh mẽ bảng điều khiển có thể sử dụng Zenmap, đây là GUI cho Nmap.
Đây không chỉ là một máy quét “thông minh”, nó còn là một công cụ có khả năng mở rộng nghiêm túc (một trong những “tính năng bất thường” là sự hiện diện của tập lệnh kiểm tra sự hiện diện của sâu trong nút "Mạng lưới" (được nhắc đến đây). Ví dụ sử dụng điển hình:

nmap -A -T4 localhost

-A để phát hiện phiên bản hệ điều hành, quét và theo dõi tập lệnh
-T4 cài đặt kiểm soát thời gian (càng nhiều càng nhanh, từ 0 đến 5)
localhost - máy chủ mục tiêu
Cái gì đó khó khăn hơn?

nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

Đây là tập hợp các tùy chọn từ cấu hình "quét toàn diện chậm" trong Zenmap. Phải mất khá nhiều thời gian để hoàn thành, nhưng cuối cùng cung cấp thông tin chi tiết hơn có thể tìm thấy về hệ thống mục tiêu. Hướng dẫn trợ giúp bằng tiếng Nga, nếu bạn quyết định đi sâu hơn, tôi cũng khuyên bạn nên dịch bài viết Hướng dẫn cho người mới bắt đầu về Nmap.
Nmap đã nhận được trạng thái "Sản phẩm bảo mật của năm" từ các tạp chí và cộng đồng như Linux Journal, Info World, LinuxQuestions.Org và Codetalker Digest.
Một điểm thú vị, Nmap có thể được thấy trong các bộ phim “The Matrix Reloaded”, “Die Hard 4”, “The Bourne Ultimatum”, “Hottabych” và khác.

IP-ToolsĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
IP-Tools - một loại tập hợp các tiện ích mạng khác nhau, đi kèm với GUI, “dành riêng” cho người dùng Windows.
Trình quét cổng, tài nguyên dùng chung (máy in/thư mục dùng chung), WhoIs/Finger/Lookup, ứng dụng khách telnet và nhiều hơn nữa. Chỉ là một công cụ tiện lợi, nhanh chóng và đầy đủ chức năng.

Không có điểm đặc biệt nào khi xem xét các sản phẩm khác, vì có rất nhiều tiện ích trong lĩnh vực này và chúng đều có nguyên tắc hoạt động và chức năng tương tự nhau. Tuy nhiên, nmap vẫn được sử dụng phổ biến nhất.

Trình quét vi phạm tập lệnh web

Cố gắng tìm các lỗ hổng phổ biến (SQL inj, XSS, LFI/RFI, v.v.) hoặc lỗi (không xóa tệp tạm thời, lập chỉ mục thư mục, v.v.)

Máy quét lỗ hổng bảo mật web AcunetixĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
Máy quét lỗ hổng bảo mật web Acunetix - từ liên kết, bạn có thể thấy rằng đây là máy quét xss, nhưng điều này không hoàn toàn đúng. Phiên bản miễn phí có sẵn tại đây cung cấp khá nhiều chức năng. Thông thường, người chạy máy quét này lần đầu tiên và lần đầu tiên nhận được báo cáo về tài nguyên của họ sẽ bị sốc nhẹ và bạn sẽ hiểu tại sao khi bạn làm điều này. Đây là một sản phẩm rất mạnh mẽ để phân tích tất cả các loại lỗ hổng trên một trang web và không chỉ hoạt động với các trang web PHP thông thường mà còn với các ngôn ngữ khác (mặc dù sự khác biệt về ngôn ngữ không phải là một chỉ báo). Không có điểm cụ thể nào trong việc mô tả hướng dẫn vì máy quét chỉ đơn giản là “chọn” hành động của người dùng. Một cái gì đó tương tự như “tiếp theo, tiếp theo, tiếp theo, sẵn sàng” trong quá trình cài đặt phần mềm thông thường.

NikoĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
Niko Đây là trình thu thập dữ liệu web Nguồn mở (GPL). Loại bỏ công việc thủ công thông thường. Tìm kiếm trang đích để tìm các tập lệnh chưa bị xóa (một số test.php, index_.php, v.v.), các công cụ quản trị cơ sở dữ liệu (/phpmyadmin/, /pma và những thứ tương tự), v.v., nghĩa là kiểm tra tài nguyên để tìm các lỗi phổ biến nhất thường do yếu tố con người gây ra.
Ngoài ra, nếu tìm thấy một số tập lệnh phổ biến, nó sẽ kiểm tra xem có các khai thác đã phát hành (có trong cơ sở dữ liệu) hay không.
Báo cáo các phương thức "không mong muốn" có sẵn như PUT và TRACE
Và như thế. Sẽ rất thuận tiện nếu bạn làm công việc kiểm toán viên và phân tích các trang web hàng ngày.
Trong số những điểm hạn chế, tôi muốn lưu ý tỷ lệ dương tính giả cao. Ví dụ: nếu trang web của bạn luôn đưa ra lỗi chính thay vì lỗi 404 (khi nó xảy ra), thì máy quét sẽ cho biết rằng trang web của bạn chứa tất cả các tập lệnh và tất cả các lỗ hổng từ cơ sở dữ liệu của nó. Trong thực tế, điều này không xảy ra thường xuyên, nhưng trên thực tế, điều này phụ thuộc rất nhiều vào cấu trúc trang web của bạn.
Cách sử dụng cổ điển:

./nikto.pl -host localhost

Nếu cần được ủy quyền trên trang web, bạn có thể đặt cookie trong tệp nikto.conf, biến STATIC-COOKIE.

WiktoĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
Wikto — Nikto dành cho Windows, nhưng có một số bổ sung, chẳng hạn như logic “mờ” khi kiểm tra lỗi mã, sử dụng GHDB, lấy liên kết và thư mục tài nguyên, giám sát thời gian thực các yêu cầu/phản hồi HTTP. Wikto được viết bằng C# và yêu cầu .NET framework.

cá chuồnĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
cá chuồn - trình quét lỗ hổng web từ Michal Zalewski (được gọi là lcamtuf). Được viết bằng C, đa nền tảng (Win yêu cầu Cygwin). Theo cách đệ quy (và trong một thời gian rất dài, khoảng 20 ~ 40 giờ, mặc dù lần cuối cùng nó hoạt động với tôi là 96 giờ), nó thu thập dữ liệu toàn bộ trang web và tìm ra đủ loại lỗ hổng bảo mật. Nó cũng tạo ra rất nhiều lưu lượng truy cập (vài GB vào/ra). Nhưng mọi phương tiện đều tốt, đặc biệt nếu bạn có thời gian và nguồn lực.
Sử dụng điển hình:

./skipfish -o /home/reports www.example.com

Trong thư mục “báo cáo” sẽ có một báo cáo ở dạng html, Ví dụ.

w3af Đánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
w3af — Khung kiểm tra và tấn công ứng dụng web, trình quét lỗ hổng web nguồn mở. Nó có GUI, nhưng bạn có thể làm việc từ bảng điều khiển. Chính xác hơn, nó là một khuôn khổ với một loạt các plugin.
Bạn có thể nói về những ưu điểm của nó trong một thời gian dài, tốt hơn là nên dùng thử :] Công việc điển hình với nó là chọn hồ sơ, chỉ định mục tiêu và trên thực tế là khởi chạy nó.

Khung bảo mật thần chúĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
Thần chú là một giấc mơ đã thành hiện thực. Một bộ sưu tập các công cụ bảo mật thông tin mở và miễn phí được tích hợp trong trình duyệt web.
Rất hữu ích khi thử nghiệm ứng dụng web ở mọi giai đoạn.
Việc sử dụng tập trung vào việc cài đặt và khởi chạy trình duyệt.

Trên thực tế, có rất nhiều tiện ích trong danh mục này và khá khó để chọn ra một danh sách cụ thể từ chúng. Thông thường, mỗi pentester tự xác định bộ công cụ mình cần.

Khai thác

Để khai thác lỗ hổng một cách tự động và thuận tiện hơn, các lỗ hổng được viết dưới dạng phần mềm và tập lệnh, chỉ cần truyền tham số là có thể khai thác lỗ hổng. Và có những sản phẩm loại bỏ nhu cầu tìm kiếm thủ công các cách khai thác và thậm chí áp dụng chúng một cách nhanh chóng. Thể loại này bây giờ sẽ được thảo luận.

Khung Metasploit Đánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
Khung Metasploit® - một loại quái vật trong công việc kinh doanh của chúng tôi. Anh ấy có thể làm được nhiều việc đến mức hướng dẫn sẽ bao gồm một số bài viết. Chúng ta sẽ xem xét việc khai thác tự động (nmap + metasploit). Điểm mấu chốt là: Nmap sẽ phân tích cổng chúng ta cần, cài đặt dịch vụ và metasploit sẽ cố gắng áp dụng các cách khai thác cổng đó dựa trên lớp dịch vụ (ftp, ssh, v.v.). Thay vì hướng dẫn bằng văn bản, mình sẽ chèn một video khá phổ biến về chủ đề autopwn

Hoặc chúng ta có thể đơn giản tự động hóa hoạt động khai thác mà chúng ta cần. Ví dụ:

msf > use auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > set RHOST [TARGET IP] msf auxiliary(vpn_3000_ftp_bypass) > run

Trên thực tế, khả năng của framework này rất rộng rãi, vì vậy nếu bạn quyết định tìm hiểu sâu hơn, hãy truy cập liên kết

Tuyên bốĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
Tuyên bố — OVA của GUI thể loại cyberpunk dành cho Metasploit. Trực quan hóa mục tiêu, đề xuất cách khai thác và cung cấp các tính năng nâng cao của khung. Nói chung, dành cho những người thích mọi thứ trông đẹp và ấn tượng.
Truyền hình màn hình:

Nessus® có thể sử dụng đượcĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
Máy quét lỗ hổng Tenable Nessus® - có thể làm được nhiều việc, nhưng một trong những khả năng chúng ta cần từ nó là xác định dịch vụ nào có hành vi khai thác. Phiên bản miễn phí của sản phẩm “chỉ dành cho gia đình”

Sử dụng:

  • Đã tải xuống (cho hệ thống của bạn), cài đặt, đăng ký (key được gửi đến email của bạn).
  • Đã khởi động máy chủ, thêm người dùng vào Trình quản lý máy chủ Nessus (Nút Quản lý người dùng)
  • Chúng tôi đến địa chỉ
    https://localhost:8834/

    và tải ứng dụng khách flash trong trình duyệt

  • Quét -> Thêm -> điền vào các trường (bằng cách chọn hồ sơ quét phù hợp với chúng tôi) và nhấp vào Quét

Sau một thời gian, báo cáo quét sẽ xuất hiện trong tab Báo cáo
Để kiểm tra lỗ hổng thực tế của các dịch vụ có thể bị khai thác, bạn có thể sử dụng Metasploit Framework được mô tả ở trên hoặc thử tìm cách khai thác (ví dụ: trên Khai thác-db, cơn bão gói, khám phá tìm kiếm v.v.) và sử dụng nó một cách thủ công để chống lại hệ thống của nó
IMHO: quá cồng kềnh. Tôi đã đưa anh ấy trở thành một trong những người đi đầu theo hướng này của ngành công nghiệp phần mềm.

Tự động hóa tiêm

Nhiều trình quét giây của ứng dụng web tìm kiếm nội dung tiêm, nhưng chúng vẫn chỉ là các trình quét thông thường. Và có những tiện ích đặc biệt giải quyết việc tìm kiếm và khai thác các nội dung tiêm. Chúng ta sẽ nói về họ bây giờ.

sơ đồ vuôngĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
sơ đồ vuông — tiện ích nguồn mở để tìm kiếm và khai thác các lệnh SQL. Hỗ trợ các máy chủ cơ sở dữ liệu như: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Cách sử dụng thông thường tóm tắt lại dòng:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Có đủ sách hướng dẫn, kể cả bằng tiếng Nga. Phần mềm hỗ trợ rất nhiều cho công việc của pentester khi làm việc trong lĩnh vực này.
Tôi sẽ thêm một video trình diễn chính thức:

bsqlbf-v2
bsqlbf-v2 — một tập lệnh Perl, một công cụ mạnh mẽ để tiêm Sql “mù”. Nó hoạt động cả với các giá trị nguyên trong url và với các giá trị chuỗi.
Cơ sở dữ liệu được hỗ trợ:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Ví dụ sử dụng:

./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 - Liên kết với các tham số
-bạn mù — tham số để tiêm (theo mặc định, tham số cuối cùng được lấy từ thanh địa chỉ)
-sql "chọn tên_bảng từ giới hạn imformation_schema.tables 1 offset 0" - yêu cầu tùy ý của chúng tôi đối với cơ sở dữ liệu
-cơ sở dữ liệu 1 - máy chủ cơ sở dữ liệu: MSSQL
-loại 1 — kiểu tấn công, tiêm “mù”, dựa trên phản hồi Đúng và Lỗi (ví dụ: lỗi cú pháp)

Trình gỡ lỗi

Những công cụ này chủ yếu được các nhà phát triển sử dụng khi họ gặp vấn đề với kết quả thực thi mã của mình. Nhưng hướng này cũng hữu ích cho việc pentesting, khi chúng ta có thể thay thế dữ liệu chúng ta cần một cách nhanh chóng, phân tích những gì đáp ứng với các tham số đầu vào của chúng ta (ví dụ: trong quá trình làm mờ), v.v.

Phòng Suite Burp
Phòng Suite Burp — một bộ tiện ích hỗ trợ kiểm tra thâm nhập. Nó ở trên Internet đánh giá tốt bằng tiếng Nga từ Raz0r (dù cho năm 2008).
Phiên bản miễn phí bao gồm:

  • Burp Proxy là proxy cục bộ cho phép bạn sửa đổi các yêu cầu đã được tạo từ trình duyệt
  • Burp Spider - nhện, tìm kiếm các tập tin và thư mục hiện có
  • Burp Repeater - gửi yêu cầu HTTP theo cách thủ công
  • Burp Sequencer - phân tích giá trị ngẫu nhiên trong biểu mẫu
  • Bộ giải mã Burp là bộ mã hóa-giải mã tiêu chuẩn (html, base64, hex, v.v.), trong đó có hàng nghìn bộ, có thể được viết nhanh chóng bằng bất kỳ ngôn ngữ nào
  • Bộ so sánh Burp - Thành phần so sánh chuỗi

Về nguyên tắc, gói này giải quyết được hầu hết các vấn đề liên quan đến lĩnh vực này.

Tay đấmĐánh giá các công cụ miễn phí để kiểm tra tài nguyên web và hơn thế nữa v2
Tay đấm — Fiddler là proxy gỡ lỗi ghi lại tất cả lưu lượng truy cập HTTP(S). Cho phép bạn kiểm tra lưu lượng truy cập này, đặt điểm dừng và “chơi” với dữ liệu đến hoặc đi.

Ngoài ra còn có cừu lửa, quái vật Wireshark và những người khác, sự lựa chọn là tùy thuộc vào người dùng.

Kết luận

Đương nhiên, mỗi pentester đều có kho vũ khí và bộ tiện ích riêng, vì đơn giản là có rất nhiều trong số chúng. Tôi đã cố gắng liệt kê một số cái tiện lợi và phổ biến nhất. Nhưng để mọi người có thể làm quen với các tiện ích khác theo hướng này thì mình sẽ cung cấp link bên dưới.

Nhiều đầu/danh sách máy quét và tiện ích khác nhau

Các bản phân phối Linux đã bao gồm một loạt các tiện ích pentesting khác nhau

cập nhật: Tài liệu BurpSuite bằng tiếng Nga từ nhóm “Hack4Sec” (đã thêm AntonKuzmin)

Tái bút Chúng tôi không thể giữ im lặng về XSpider. Không tham gia đánh giá, mặc dù nó là phần mềm chia sẻ (tôi phát hiện ra khi gửi bài viết cho SecLab, thực ra là vì điều này (không phải kiến ​​​​thức và thiếu phiên bản 7.8 mới nhất) và không đưa nó vào bài viết). Và về mặt lý thuyết, một cuộc đánh giá về nó đã được lên kế hoạch (tôi đã chuẩn bị những bài kiểm tra khó cho nó), nhưng tôi không biết liệu thế giới có nhìn thấy nó hay không.

PPS Một số tài liệu từ bài viết sẽ được sử dụng đúng mục đích trong báo cáo sắp tới tại CodeFest 2012 trong phần QA, trong đó sẽ chứa các công cụ không được đề cập ở đây (tất nhiên là miễn phí), cũng như thuật toán, thứ tự sử dụng cái gì, kết quả mong đợi, cấu hình nào sẽ sử dụng và tất cả các loại gợi ý và thủ thuật khi đang làm việc (tôi nghĩ về báo cáo hầu như mỗi ngày, tôi sẽ cố gắng nói với bạn những điều tốt nhất về chủ đề chủ đề)
Nhân tiện, đã có một bài học về bài viết này tại Ngày mở InfoSec (gắn thẻ Habré, website), có thể cướp bò hãy nhìn Vật liệu.

Nguồn: www.habr.com

Thêm một lời nhận xét