Arachni正朝著過時的態度,嘗試其下一代繼任者Ecsypno代號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-scanner.com |
| 作者 | tasos laskos(@zap0tek) |
| 嘰嘰喳喳 | @Arachniscanner |
| 版權 | 2010-2022 Ecsypno |
| 執照 | Arachni公共源許可證v1.0-(請參閱許可證文件) |
Arachni是一個功能豐富,模塊化,高性能的紅寶石框架,旨在幫助滲透測試人員和管理員評估Web應用程序的安全性。
它很聰明,它通過在掃描過程中監視和從Web應用程序的行為中學習和學習來進行訓練,並能夠使用許多因素進行薈萃分析,以便正確評估結果的可信度並智能地識別(或避免使用)錯誤的啟示。
與其他掃描儀不同,它考慮了Web應用程序的動態性質,可以檢測到穿過Web應用程序環境複雜性的路徑時引起的變化,並能夠相應地調整自身。這樣,可以無縫處理非人類無法檢測到的攻擊/輸入向量。
此外,由於其集成的瀏覽器環境,它還可以審核和檢查客戶端代碼,並支持高度複雜的Web應用程序,這些應用程序大量使用JavaScript,HTML5,DOM Manipulation和Ajax。
最後,它的用途足夠多,可以涵蓋大量用例,從簡單的命令行掃描儀實用程序到全球掃描儀的全球高性能網格,再到允許腳本審核的Ruby庫,再到多用戶多用戶多掃描網絡協作平台。
注意:儘管Arachni主要針對Web應用程序安全性,但可以通過添加自定義組件來輕鬆地用於通用刮擦,數據挖掘等。
允許Check , report和plugin開發人員輕鬆,快速地創建和部署其組件,並對他們施加的最小限制量,同時提供實現目標的必要基礎架構。
此外,鼓勵他們在統一的框架下充分利用紅寶石語言,這將提高其生產力而不扼殺他們或使任務複雜化。
此外,同一框架可以用作任何其他Ruby庫,並導致全新的掃描儀的開發,或幫助您創建高度自定義的掃描/審核場景和/或腳本掃描。
儘管該框架的某些部分非常複雜,但您將永遠不必直接處理它們。從用戶或組件開發人員的角度來看,所有內容始終顯得簡單明了,同時提供了功率,性能和靈活性。
從簡單的命令行實用程序掃描儀到直觀且用戶友好的Web界面和協作平台,Arachni遵循至少令人驚訝的原則,並為您提供大量的反饋和指導。
Arachni旨在自動檢測Web應用程序中的安全問題。它所期望的只是目標網站的URL,一段時間後它將向您介紹其發現。
autologin , login_script或proxy插件執行初始登錄時)。Arachni包括一個集成的,真正的瀏覽器環境,以便對現代Web應用程序提供足夠的覆蓋範圍,這些應用程序利用HTML5,JavaScript,DOM Manipulation,Ajax,Ajax等技術提供了足夠的覆蓋。
除了監視香草DOM和JavaScript環境外,Arachni的瀏覽器還將流行框架掛接,以使記錄的數據更易於消化:
從本質上講,這將Arachni變成DOM和JavaScript調試器,允許其監視DOM事件,JavaScript數據和執行流。結果,系統不僅可以觸發和識別基於DOM的問題,而且還會伴隨他們提供有關當時頁面狀態的大量信息。
相關信息包括:
DOMWindow )。decodeURIComponent() )。本質上,您可以訪問與您最喜歡的調試器(例如Firebug)提供的大致相同的信息,就好像您設置了一個斷點以在正確的時間進行確定問題一樣。
瀏覽器群集是協調資源瀏覽器分析的原因,並允許系統執行通常以高性能方式消耗的操作。
配置選項包括:
由於其集成的瀏覽器環境,該系統可以為現代Web應用程序提供出色的覆蓋範圍。這使其可以像人類一樣大量使用客戶端代碼(例如JavaScript)的複雜應用程序進行交互。
除此之外,它還知道哪些瀏覽器狀態更改該應用程序已被編程為處理,並能夠在程序上觸發它們,以便為一組可能的情況提供覆蓋範圍。
通過檢查所有可能的頁面及其狀態(使用客戶端代碼時)Arachni能夠提取和審核以下元素及其輸入:
<form>元素,而是通過JS代碼關聯的。<input>元素。http://example.com/#/?param=val¶m2=val2 ://example.com/#/?param=val¶m2=val2http://example.com/#/param/val/param2/val2Arachni旨在適合您的工作流程,並可以輕鬆地與現有的基礎架構集成。
根據您在整個過程中需要的控制級別,您可以選擇REST服務或自定義RPC協議。
兩種方法都使您可以:
MessagePack序列化,以效果,效率和與第三方系統集成的易用性。<form>元素,而是通過JS代碼關聯的。<input>元素。GET和POST HTTP方法審核元素。Arachni是一個高度模塊化的系統,採用多種不同類型的組成部分來履行其職責。
除了啟用或禁用捆綁組件以根據需要調整系統的行為和功能外,還可以通過添加用戶創建的組件來擴展功能,以適合幾乎所有需求。
為了有效利用可用的帶寬,Arachni僅通過使用適用的有效負載來執行基本平台指紋識別,並根據服務器端部署的技術量身定制審計過程。
目前,可以識別以下平台:
用戶還可以選擇指定額外的平台(例如DB服務器),以幫助系統提高效率。或者,可以完全禁用指紋。
最後,Arachni將始終在謹慎的一邊犯錯,並在無法識別特定平台時發送所有可用的有效載荷。
檢查是執行安全檢查和日誌問題的系統組件。
主動檢查通過其輸入參與Web應用程序。
sql_injection ) - 基於錯誤的檢測。sql_injection_differential )使用盲SQL注入。sql_injection_timing )的盲sql注入。no_sql_injection ) - 基於錯誤的漏洞檢測。no_sql_injection_differential )使用盲nosql注入。csrf )。code_injection )。code_injection_timing )注入盲代碼。ldap_injection )。path_traversal )。file_inclusion )。response_splitting )。os_cmd_injection )。os_cmd_injection_timing )注入盲os命令。rfi )。unvalidated_redirect )。unvalidated_redirect_dom )。xpath_injection )。xss )。xss_path )。xss_event )的事件屬性中。xss_tag )中的XSS。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號披露( Credit_Card )。cvs_svn_users )。private_ip )。backdoors )。htaccess_limitinteresting_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 )hsts )的Strict-Transport-Security標頭。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 ) - 分析Web應用程序與瀏覽器之間的請求和響應,以協助AJAX審核,登錄和/或限制審計範圍。autologin )。login_script )。http_dicattack )的字典攻擊者。form_dicattack )的字典攻擊者。cookie_collector ) - 在建立更改時間表的同時,跟踪cookie。waf_detector ) - 建立正常行為的基準,並使用RDIFF分析來確定惡意輸入是否會導致任何行為變化。beep_notify ) - 掃描完成時發出嗶嗶聲。email_notify ) - 在掃描結束時通過SMTP發送通知(以及可選的報告)。vector_feed ) - 在向量數據中讀取其創建要審核的元素。可用於根據矢量/元素進行極度專業/狹窄的審核。用於單位測試或其他事項。script ) - 在插件的範圍下加載並運行外部紅寶石腳本,用於調試和一般黑客。uncommon_headers ) - 日誌不常見的標題。content_types ) - 日誌輔助識別有趣(可能洩漏)文件的服務器響應的內容類型。vector_collector ) - 收集有關掃描範圍內所有看到的輸入向量的信息。headers_collector ) - 根據指定標準收集響應標題。exec ) - 在不同的掃描階段調用外部可執行文件。metrics ) - 捕獲有關掃描和Web應用程序多個方面的指標。restrict_to_dom_state ) - 根據URL片段將審核限制為單頁的DOM狀態。webhook_notify ) - 在掃描結束時通過HTTP發送Webhook有效載荷。rate_limiter ) - 費率限制HTTP請求。page_dump ) - 將頁面數據作為yaml磁盤。 默認插件將對每次掃描進行運行,並將其放置在/plugins/defaults/下。
autothrottle ) - 在掃描過程中動態調整HTTP吞吐量以最大程度地帶寬利用率。healthmap ) - 生成站點地圖,顯示每個爬行/審計URL的健康狀況插件在/plugins/defaults/meta/執行掃描結果中的分析,以確定可信度或僅添加上下文信息或一般見解。
timing_attacks ) - 當受影響的審計頁面返回異常高的響應時間時,通過計時攻擊發現的問題提供了通知。它還指出了DOS攻擊對執行重型處理的頁面的危險。discovery ) - 在適用的情況下發現誤報的可能性,在發現的問題上執行異常檢測。uniformity ) - 在許多頁面上非常脆弱的報告,這些輸入暗示缺乏輸入消毒的中心點。培訓師使Arachni可以從執行的掃描中學習,並在審計期間即時合併知識。
檢查能夠分別強迫框架從他們要誘發的HTTP響應中學習。
但是,這通常不是必需的,因為Arachni知道哪些要求更有可能發現新元素或攻擊向量,並且會相應地適應自身。
儘管如此,這可能是模糊檢查的寶貴資產。
您可以運行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 Core Libs或rake spec的核心)。Arachni公共源許可證v1.0-請參閱許可證文件以獲取更多信息。