Arachni는 노후화로 향하고 있으며 차세대 후속 업체 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-scanner.com |
| 작가 | Tasos Laskos (@zap0tek) |
| 지저귀다 | @arachniscanner |
| 저작권 | 2010-2022 ECSYPNO |
| 특허 | Arachni Public Source 라이센스 v1.0- (라이센스 파일 참조) |
Arachni는 침투 테스터와 관리자가 웹 응용 프로그램의 보안을 평가할 수 있도록 돕는 기능이 풍부하고 모듈 식 고성능 루비 프레임 워크입니다.
스캔 프로세스 중에 웹 응용 프로그램의 동작을 모니터링하고 학습하여 스캔하고 학습하고 결과의 신뢰성을 올바르게 평가하고 거짓 양성을 식별 (또는 피)하기 위해 여러 가지 요소를 사용하여 메타 분석을 수행 할 수 있습니다.
다른 스캐너와 달리 웹 애플리케이션의 동적 특성을 고려하고 웹 응용 프로그램의 주기적 복잡성의 경로를 여행하는 동안 발생하는 변경 사항을 감지 할 수 있으며 그에 따라 스스로 조정할 수 있습니다. 이런 식으로, 비인간이 감지 할 수없는 공격/입력 벡터는 원활하게 처리 될 수 있습니다.
또한 통합 브라우저 환경으로 인해 클라이언트 측 코드를 감사하고 검사 할 수있을뿐만 아니라 JavaScript, HTML5, DOM 조작 및 AJAX와 같은 기술을 많이 사용하는 매우 복잡한 웹 응용 프로그램을 지원할 수 있습니다.
마지막으로, 간단한 명령 라인 스캐너 유틸리티, 스캐너의 글로벌 고성능 그리드, 스크립트 감사, 멀티 스캔 웹 협업 플랫폼에 이르기까지 다양한 사용 사례를 다루기에 충분합니다.
참고 : Arachni는 대부분 웹 응용 프로그램 보안을 대상으로한다는 사실에도 불구하고 사용자 지정 구성 요소를 추가하여 범용 스크래핑, 데이터 마이닝 등에 쉽게 사용할 수 있습니다.
Check , report 및 plugin 개발자는 목표를 달성하는 데 필요한 인프라를 제공하면서 부과 된 최소 금액으로 구성 요소를 쉽고 신속하게 작성하고 배포 할 수 있습니다.
또한, 그들은 통합 된 프레임 워크에서 루비 언어를 최대한 활용하여 생산성을 강화하거나 작업을 복잡하게하지 않고 생산성을 높일 수 있습니다.
또한 동일한 프레임 워크는 다른 Ruby 라이브러리로 활용 될 수 있으며 새로운 스캐너의 개발로 이어지거나 고도로 사용자 정의 된 스캔/감사 시나리오 및/또는 스크립트 스캔을 만들 수 있습니다.
프레임 워크의 일부는 상당히 복잡하지만 직접 처리 할 필요는 없습니다. 사용자 또는 구성 요소 개발자의 관점에서 모든 것이 간단하고 간단하게 보이면서 전원, 성능 및 유연성을 제공합니다.
간단한 명령 줄 유틸리티 스캐너에서 직관적이고 사용자 친화적 인 웹 인터페이스 및 협업 플랫폼에 이르기까지 Arachni는 최소한의 놀라움 원칙을 따르며 많은 피드백과 지침을 제공합니다.
Arachni는 웹 응용 프로그램의 보안 문제를 자동으로 감지하도록 설계되었습니다. 예상되는 것은 대상 웹 사이트의 URL이며 잠시 후 그 결과를 제시 할 것입니다.
autologin , login_script 또는 proxy 플러그인을 통해 초기 로그인이 수행 된 경우).Arachni는 HTML5, JavaScript, DOM 조작, AJAX 등과 같은 기술을 사용하는 최신 웹 애플리케이션에 충분한 범위를 제공하기 위해 통합 된 실제 브라우저 환경이 포함되어 있습니다.
Arachni의 브라우저는 바닐라 돔 및 자바 스크립트 환경의 모니터링 외에도 인기있는 프레임 워크에 연결되어 기록 된 데이터를 쉽게 소화 할 수 있도록합니다.
본질적으로 이것은 Arachni를 DOM 및 JavaScript 디버거로 바꾸어 DOM 이벤트 및 JavaScript 데이터 및 실행 흐름을 모니터링 할 수 있습니다. 결과적으로 시스템은 DOM 기반 문제를 유발하고 식별 할 수있을뿐만 아니라 당시 페이지의 상태에 관한 많은 정보와 함께 제공됩니다.
관련 정보는 다음과 같습니다.
DOMWindow ).decodeURIComponent() ).본질적으로, 당신은 당신은 당신이 좋아하는 디버거 (예 : Firebug)가 문제를 식별하기 위해 적절한 시간에 발생하는 중단 점을 설정 한 것처럼 제공하는 거의 동일한 정보에 액세스 할 수 있습니다.
브라우저 클러스터는 리소스 브라우저 분석을 조정하고 시스템이 일반적으로 고성능 방식으로 시간이 많이 걸리는 작업을 수행 할 수 있도록합니다.
구성 옵션은 다음과 같습니다.
이 시스템은 통합 브라우저 환경으로 인해 최신 웹 애플리케이션에 큰 적용 범위를 제공 할 수 있습니다. 이를 통해 인간과 마찬가지로 클라이언트 측 코드 (예 : JavaScript)를 많이 사용하는 복잡한 응용 프로그램과 상호 작용할 수 있습니다.
그 외에도, 응용 프로그램이 처리하도록 프로그래밍 된 브라우저 상태 변경 사항을 알고 있으며 가능한 전체 시나리오에 대한 적용 범위를 제공하기 위해 프로그래밍 방식으로 트리거 할 수 있습니다.
Arachni는 가능한 모든 페이지와 해당 상태를 검사하여 다음 요소와 입력을 추출하고 감사 할 수 있습니다.
<form> 요소에 속하지 않고 JS 코드를 통해 연결되는 입력 및 버튼 그룹.<input> 요소.http://example.com/#/?param=val¶m2=val2http://example.com/#/param/val/param2/val2Arachni는 워크 플로에 맞고 기존 인프라와 쉽게 통합하도록 설계되었습니다.
프로세스에 필요한 제어 수준에 따라 나머지 서비스 또는 사용자 정의 RPC 프로토콜을 선택할 수 있습니다.
두 가지 접근 방식 모두 다음을 수행 할 수 있습니다.
MessagePack 직렬화 성능, 효율성 및 타사 시스템과의 통합 용이성.<form> 요소에 속하지 않고 JS 코드를 통해 연결되는 입력 및 버튼 그룹.<input> 요소.GET 및 POST http 방법을 모두 사용하여 요소를 감사 할 수 있습니다.Arachni는 고도로 모듈 식 시스템으로, 의무를 수행하기 위해 고유 한 유형의 여러 구성 요소를 사용합니다.
필요에 따라 시스템의 동작 및 기능을 조정하기 위해 번들 된 구성 요소를 활성화 또는 비활성화하는 것 외에도 거의 모든 요구에 맞게 사용자가 만든 구성 요소를 추가하여 기능을 확장 할 수 있습니다.
사용 가능한 대역폭을 효율적으로 사용하기 위해 Arachni는 초보 플랫폼 지문을 수행하고 해당 페이로드 만 사용하여 감사 프로세스를 서버 측 배포 된 기술에 맞게 조정합니다.
현재 다음 플랫폼을 식별 할 수 있습니다.
또한 시스템이 가능한 한 효율적으로 도움을주기 위해 추가 플랫폼 (DB 서버와 같은)을 지정할 수있는 옵션도 있습니다. 또는 지문이 완전히 비활성화 될 수 있습니다.
마지막으로, Arachni는 항상주의를 기울이고 특정 플랫폼을 식별하지 못할 때 사용 가능한 모든 페이로드를 보냅니다.
점검은 보안 검사 및 로그 문제를 수행하는 시스템 구성 요소입니다.
활성 점검은 입력을 통해 웹 응용 프로그램을 사용합니다.
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 )을 사용한 블라인드 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 ).cvs_svn_users ).private_ip ).backdoors ).htaccess_limit ).interesting_responses _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 )-웹 앱과 AJAX 감사, 로그인 및/또는 감사 범위를 제한하는 브라우저 간의 요청 및 응답을 분석합니다.autologin ).login_script ).http_dicattack )의 사전 공격자.form_dicattack ).cookie_collector ) - 변경 타임 라인을 설정하면서 쿠키를 추적합니다.waf_detector ) - 정상적인 동작의 기준을 설정하고 RDIFF 분석을 사용하여 악의적 인 입력이 행동 변경을 유발하는지 확인합니다.beep_notify ) - 스캔이 완료되면 경고음이 울립니다.email_notify ) - 스캔이 끝날 때 SMTP에 대한 알림 (및 선택적으로 보고서)을 보냅니다.vector_feed ) - 감사 할 요소를 생성하는 벡터 데이터를 읽습니다. 벡터/요소 기준으로 매우 전문적이고 좁은 감사를 수행하는 데 사용할 수 있습니다. 단위 테스트 또는 다른 것들에 유용합니다.script ) - 플러그인의 범위에서 외부 루비 스크립트를로드하고 실행하며 디버깅 및 일반 해커에 사용됩니다.uncommon_headers ) - 로그 드문 헤더.content_types )-흥미로운 (유출 된) 파일을 식별하는 데 도움이되는 컨텐츠 유형의 서버 응답을 기록합니다.vector_collector ) - 스캔 범위 내에있는 모든 입력 벡터에 대한 정보를 수집합니다.headers_collector ) - 지정된 기준에 따라 응답 헤더를 수집합니다.exec ) - 다른 스캔 단계에서 외부 실행 파일을 호출합니다.metrics ) - 스캔 및 웹 응용 프로그램의 여러 측면에 대한 메트릭을 캡처합니다.restrict_to_dom_state )로 제한 - URL 조각을 기반으로 감사를 단일 페이지의 DOM 상태로 제한합니다.webhook_notify ) - 스캔이 끝날 때 HTTP를 통해 WebHook 페이로드를 보냅니다.rate_limiter ) - 속도 제한 HTTP 요청.page_dump ) - 덤프 페이지 데이터를 yaml로 디스크로 덤프합니다. 모든 스캔마다 기본 플러그인이 실행되며 /plugins/defaults/ 아래에 배치됩니다.
autothrottle ) - 최대 대역폭 활용을 위해 스캔하는 동안 HTTP 처리량을 동적으로 조정합니다.healthmap ) - 각 크롤링/감사 URL의 건강을 보여주는 Siteemap을 생성합니다. 아래의 플러그인 /plugins/defaults/meta/ 스캔 결과에 대한 분석을 수행하여 신뢰성을 결정하거나 컨텍스트 정보 또는 일반적인 통찰력을 추가합니다.
timing_attacks ) - 영향을받는 감사 페이지가 비정상적으로 높은 응답 시간을 반환했을 때 타이밍 공격으로 발견되지 않은 문제에 대한 통지를 제공합니다. 또한 중대한 처리를 수행하는 페이지에 대한 DOS 공격의 위험을 지적합니다.discovery ) - Discovery Checks에 의해 기록 된 문제와 해당되는 경우 잘못된 긍정적 인 가능성에 대한 경고에 대한 이상 탐지를 수행합니다.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 for the Core Libs 또는 rake spec 의 Core).Arachni Public Source License v1.0- 자세한 내용은 라이센스 파일을 참조하십시오.