Арачни направляется к устаревшству, попробуйте своего преемника следующего поколения Ecsypno Codename Scnr!
| Версия | 1.6.1.3 |
|---|---|
| Домашняя страница | http://arachni-scanner.com |
| Блог | http://arachni-scanner.com/blog |
| GitHub | http://github.com/arachni/arachni |
| Документация | https://github.com/arachni/arachni/wiki |
| Кодовая документация | http://rubydoc.info/github/arachni/arachni |
| Поддерживать | http://support.arachni-canner.com |
| Автор | Tasos laskos (@zap0tek) |
| @Arachniscanner | |
| Авторское право | 2010-2022 Ecsypno |
| Лицензия | Арачни общедоступный источник лицензия v1.0 - (см. Файл лицензии) |
Arachni-это полная, модульная, высокоэффективная рубиновая структура, направленная на помощь тестерам проникновения и администраторам оценить безопасность веб-приложений.
Это умно, он тренируется, мониторинг и изучение поведения веб-приложения во время процесса сканирования и способен выполнять метаанализ, используя ряд факторов, чтобы правильно оценить надежность результатов и разумно идентифицировать (или избегать) ложных позитивах.
В отличие от других сканеров, он учитывает динамический характер веб -приложений, может обнаружить изменения, вызванные при прохождении пути цикломатической сложности веб -приложения и способны соответствующим образом скорректировать себя. Таким образом, векторы атаки/входных векторов, которые в противном случае не были бы не обнаружены нечеловеками, могут быть обработаны плавно.
Более того, из-за своей интегрированной среды браузера он также может проверять и проверять код на стороне клиента, а также поддерживать очень сложные веб-приложения, которые используют такие технологии, как JavaScript, HTML5, DOM Manipulation и Ajax.
Наконец, он достаточно универсален, чтобы охватить множество вариантов использования, от простой утилиты сканера командной строки, до глобальной высокопроизводительной сетки сканеров, до библиотеки Ruby, позволяющей проверять сценарии, до многопользовательской многоуровневой платформы веб-совместной работы.
Примечание . Несмотря на то, что Arachni в основном нацелен на безопасность веб-приложений, его можно легко использовать для соскоба, сбора данных и т. Д. С добавлением пользовательских компонентов.
Разработчики Check , report и plugin могут легко и быстро создавать и развернуть свои компоненты с минимальным количеством ограничений, налагаемых на них, в то время как обеспечивая необходимую инфраструктуру для достижения своих целей.
Кроме того, им рекомендуется в полной мере воспользоваться рубиновым языком в рамках единой рамки, которая повысит их производительность, не удушая их и не усложняя их задачи.
Кроме того, та же самая структура может быть использована как любая другая библиотека Ruby и привести к разработке совершенно новых сканеров или поможет вам создать высоко настроенные сценарии сканирования/аудита и/или сценаристы.
Хотя некоторые части структуры довольно сложны, вам никогда не придется иметь их напрямую. С точки зрения пользователя или компонента разработчика, все кажется простым и простым, при этом обеспечивая мощность, производительность и гибкость.
От простого сканера утилиты командной строки до интуитивно понятного и удобного веб-интерфейса и платформы сотрудничества, Арачни следует принципу наименьшего сюрприза и предоставляет вам много обратной связи и руководства.
Arachni предназначен для автоматического обнаружения проблем безопасности в веб -приложениях. Все, что он ожидает, это URL -адрес целевого веб -сайта, и через некоторое время он представит вам свои выводы.
autologin , login_script или proxy ).Арачни включает в себя интегрированную, реальную среду браузера, чтобы обеспечить достаточное освещение современным веб -приложениям, которые используют такие технологии, как HTML5, JavaScript, DOM Manipulation, Ajax и т. Д.
В дополнение к мониторингу средств Vanilla DOM и JavaScript, браузеры Arachni также завязывают популярные рамки, чтобы облегчить зарегистрированные данные для переваривания:
По сути, это превращает Арачни в отладчик DOM и JavaScript, позволяя ему контролировать события DOM и данные JavaScript Data и выполнение. В результате, система может не только запустить и определять проблемы на основе DOM, но и будет сопровождать их с большой информацией о состоянии страницы в то время.
Соответствующая информация включает в себя:
DOMWindow ).decodeURIComponent() ).По сути, у вас есть доступ примерно к той же информации, которую предоставил бы ваш любимый отладчик (например, Firebug), как если бы вы установили точку останова, чтобы состояться в нужное время для выявления проблемы.
Кластер браузеров-это то, что координирует анализ ресурсов браузера и позволяет системе выполнять операции, которые обычно требуют довольно много времени в высокой производительности.
Параметры конфигурации включают:
Система может обеспечить отличное освещение современным веб -приложениям из -за его интегрированной среды браузера. Это позволяет ему взаимодействовать со сложными приложениями, которые широко используют код на стороне клиента (например, JavaScript), как и человек.
В дополнение к этому, он также знает о том, какое состояние браузера изменяется, приложение было запрограммировано для обработки и способно запускать их программно, чтобы обеспечить покрытие для полного набора возможных сценариев.
Осмотрев все возможные страницы и их состояния (при использовании кода на стороне клиента) Арачни способен извлекать и проверять следующие элементы и их входы:
<form> , а вместо этого связаны с помощью кода JS.<input> элементы с связанными событиями DOM.http://example.com/#/?param=val¶m2=val2http://example.com/#/param/val/param2/val2Arachni предназначен для того, чтобы вписаться в ваш рабочий процесс и легко интегрироваться с существующей инфраструктурой.
В зависимости от уровня управления, который вам требуется в процессе, вы можете выбрать службу REST или пользовательский протокол RPC.
Оба подхода позволяют вам:
MessagePack Serialization для производительности, эффективности и простоты интеграции с сторонними системами.<form> , а вместо этого связаны с помощью кода JS.<input> элементы с связанными событиями DOM.GET , так и POST HTTP -методы.Arachni - это очень модульная система, использующая несколько компонентов различных типов для выполнения своих обязанностей.
В дополнение к включению или отключению комплексных компонентов, чтобы регулировать поведение и функции системы по мере необходимости, функциональность может быть расширена за счет добавления созданных пользователя компонентов, чтобы удовлетворить почти все потребности.
Чтобы эффективно использовать доступную полосу пропускания, Arachni выполняет рудиментарную платформу отпечатков пальцев и адаптирует процесс аудита к развернутым технологиям на стороне сервера, используя только применимые полезные нагрузки.
В настоящее время можно определить следующие платформы:
Пользователь также имеет возможность указать дополнительные платформы (например, сервер DB), чтобы помочь системе быть максимально эффективной. В качестве альтернативы, снятие отпечатков пальцев может быть отключена вообще.
Наконец, Арачни всегда будет ошибаться в осторожности и отправлять все доступные полезные нагрузки, когда он не сможет определить конкретные платформы.
Проверки - это компоненты системы, которые выполняют проверки безопасности и проблемы журнала.
Активные проверки включают веб -приложение через его входы.
sql_injection ) - обнаружение на основе ошибок.sql_injection_differential ).sql_injection_timing ).no_sql_injection ) - обнаружение уязвимости на основе ошибок.no_sql_injection_differential ).csrf ).code_injection ).code_injection_timing ).ldap_injection ).path_traversal ).file_inclusion ).response_splitting ).os_cmd_injection ).os_cmd_injection_timing ).rfi ).unvalidated_redirect ).unvalidated_redirect_dom ).xpath_injection ).xss ).xss_path ).xss_event ).xss_tag ).xss_script_context ).xss_dom ).xss_dom_script_context ).source_code_disclosure )xxe ).Пассивные проверки ищите существование файлов, папок и подписей.
allowed_methods ).backup_files ).backup_directories )common_admin_interfaces ).common_directories ).common_files ).http_put ).unencrypted_password_form ).webdav ).xst ).credit_card ).cvs_svn_users ).private_ip ).backdoors ).htaccess_limit ).interesting_responses ).html_objects ).emails ).ssn ).directory_listing ).mixed_resource ).insecure_cookies ).http_only_cookies ).password_autocomplete ).origin_spoof_access_restriction_bypass )form_upload )localstart_asp )cookie_set_for_parent_domain )Strict-Transport-Security для сайтов HTTPS ( hsts ).X-Frame-Options ( x_frame_options ).insecure_cors_policy ).insecure_cross_domain_policy_access )insecure_cross_domain_policy_headers )insecure_client_access_policy ) html ).xml ).text ).json )marshal )yaml )afr )Плагины добавляют дополнительную функциональность в систему модульным образом, таким образом, ядро остается худым и позволяет любому добавлять произвольную функциональность.
proxy )-анализирует запросы и ответы между веб-приложением и браузером, помогающим в аудитах AJAX, регистрации и/или ограничении объема аудита.autologin ).login_script ).http_dicattack ).form_dicattack ).cookie_collector ) - отслеживает файлы cookie, устанавливая временную шкалу изменений.waf_detector ) - устанавливает базовую линию нормального поведения и использует анализ RDIFF, чтобы определить, вызывают ли вредоносные входы какие -либо поведенческие изменения.beep_notify ) - звуки, когда сканирование заканчивается.email_notify ) - отправляет уведомление (и, необязательно отчет) по SMTP в конце сканирования.vector_feed ) - считывается в векторных данных, из которых он создает элементы, которые будут проверены. Может использоваться для выполнения чрезвычайно специализированных/узких аудитов на основе вектора/элемента. Полезно для тестирования единиц или за миллион других вещей.script ) - загружает и запускает внешний сценарий Ruby под применением плагина, используемого для отладки и общего хаки.uncommon_headers ) - регистрирует необычные заголовки.content_types )-регистрирует типы контента ответов на сервера, помогающие в идентификации интересных (возможно, просочившихся) файлов.vector_collector ) - собирает информацию обо всех видных входных векторах, которые находятся в рамках сканирования.headers_collector ) - собирает заголовки ответов на основе указанных критериев.exec ) - вызывает внешние исполняемые файлы на разных этапах сканирования.metrics ) - фиксирует метрики о нескольких аспектах сканирования и веб -приложения.restrict_to_dom_state ) - ограничивает аудитор для состояния DOM одной страницы на основе фрагмента URL.webhook_notify ) - отправляет полезную нагрузку Webhook через HTTP в конце сканирования.rate_limiter ) - Скорость ограничивает HTTP -запросы.page_dump ) - дают данные страницы на диск как yaml. Плагины по умолчанию будут выполняться для каждого сканирования и размещены под /plugins/defaults/ .
autothrottle ) - Динамически регулирует пропускную способность HTTP во время сканирования для максимальной использования полосы пропускания.healthmap ) - генерирует карту сайта, показывающая здоровье каждого ползанного/аудированного URL Плагины под /plugins/defaults/meta/ выполнить анализ результатов сканирования, чтобы определить достоверность или просто добавить контекстную информацию или общую информацию.
timing_attacks ) - предоставляет уведомление о проблемах, обнаруженных атаками времени, когда затронутые аудированные страницы вернули необычайно высокое время отклика с самого начала. Это также указывает на опасность атак DOS на страницы, которые выполняют тяжелую обработку.discovery ) - выполняет обнаружение аномалий по вопросам, зарегистрированным проверками Discovery, и предупреждает о возможности ложных срабатываний, где это применимо.uniformity ) - Отчеты о входных данных, которые равномерно уязвимы на ряде страниц, намекающих на отсутствие центральной точки дезинфекции ввода.Тренер - это то, что позволяет Арачни учиться на сканировании, которое он выполняет, и включать эти знания на лету на время аудита.
Проверки имеют возможность индивидуально заставить структуру учиться на ответах HTTP, которые они собираются вызвать.
Тем не менее, это обычно не требуется, поскольку Арачни знает, какие запросы с большей вероятностью раскрывают новые элементы или векторы атаки и будут соответствующим образом адаптироваться.
Тем не менее, это может быть бесценным активом для проверки Fuzzer.
Вы можете запустить rake spec , чтобы запустить все характеристики, или вы можете запустить их выборочно, используя следующее:
rake spec:core # for the core libraries
rake spec:checks # for the checks
rake spec:plugins # for the plugins
rake spec:reports # for the reports
rake spec:path_extractors # for the path extractors
Пожалуйста, будьте осторожны , основные характеристики потребуют зверя машины из-за необходимости проверить функции сетки/мульти-инстанции системы.
ПРИМЕЧАНИЕ . Чекуальные характеристики займет много часов, чтобы заполнить из-за испытаний атаки времени.
Отправьте ошибки, используя проблемы Github и получите поддержку через портал поддержки.
(Перед началом работы, пожалуйста, прочитайте инструкции по работе с исходным кодом.)
Мы рады принять помощь от коллеги-монкеров, и это шаги, которые вы должны выполнить, чтобы внести код:
git checkout -b <feature-name> experimental ).rake spec:core для основных LIBS или rake spec для всего).Арачни общедоступного источника v1.0 - см. Файл лицензии для получения дополнительной информации.