Arachni está indo para a obsolescência, experimente seu sucessor de última geração Ecsypno Codename SCNR!
| Versão | 1.6.1.3 |
|---|---|
| Página inicial | http://arachni-scanner.com |
| Blog | http://arachni-scanner.com/blog |
| Github | http://github.com/arachni/arachni |
| Documentação | https://github.com/arachni/arachni/wiki |
| Código documentação | http://rubydoc.info/github/arachni/arachni |
| Apoiar | http://support.arachni-scanner.com |
| Autor | Tasos Laskos (@Zap0Tek) |
| @Arachniscanner | |
| Direitos autorais | 2010-2022 ECSYPNO |
| Licença | Licença de fonte pública de Arachni v1.0 - (consulte o arquivo de licença) |
A Arachni é uma estrutura de rubi modular, modular e de alto desempenho, destinada a ajudar os testadores e administradores de penetração a avaliar a segurança dos aplicativos da Web.
É inteligente, se treina monitorando e aprendendo com o comportamento do aplicativo da web durante o processo de varredura e é capaz de realizar a meta-análise usando vários fatores para avaliar corretamente a confiabilidade dos resultados e identificar de forma inteligente (ou evitar) falsos positivos.
Ao contrário de outros scanners, ele leva em consideração a natureza dinâmica dos aplicativos da Web, pode detectar alterações causadas ao percorrer os caminhos da complexidade ciclomática de um aplicativo da Web e é capaz de se ajustar de acordo. Dessa forma, os vetores de ataque/entrada que, de outra forma, seriam indetectáveis por não-humanos, podem ser tratados perfeitamente.
Além disso, devido ao seu ambiente de navegador integrado, ele também pode auditar e inspecionar o código do lado do cliente, além de suportar aplicativos da Web altamente complicados que fazem uso pesado de tecnologias como JavaScript, HTML5, Manipulação DOM e Ajax.
Finalmente, é versátil o suficiente para cobrir muitos casos de uso, variando de um utilitário simples de scanner de linha de comando, a uma grade global de alto desempenho de scanners, a uma biblioteca de rubi, permitindo auditorias com script, a uma plataforma de colaboração da web multi-usina de vários usuários.
Nota : Apesar do fato de que o Arachni é direcionado principalmente para a segurança dos aplicativos da Web, ele pode ser facilmente usado para raspagem de fins gerais, mineração de dados etc. com a adição de componentes personalizados.
Check , os desenvolvedores report e plugin podem criar e implantar com facilidade e rapidez seus componentes com a quantidade mínima de restrições impostas a eles, enquanto fornecida com a infraestrutura necessária para atingir seus objetivos.
Além disso, eles são incentivados a aproveitar ao máximo o idioma Ruby sob uma estrutura unificada que aumentará sua produtividade sem sufocá -los ou complicar suas tarefas.
Além disso, essa mesma estrutura pode ser utilizada como qualquer outra biblioteca Ruby e levar ao desenvolvimento de novos scanners ou ajudá -lo a criar cenários de varredura/auditoria altamente personalizados e/ou digitalizações com script.
Embora algumas partes da estrutura sejam bastante complexas, você nunca terá que lidar diretamente com elas. Do ponto de vista do usuário ou de um componente de componente, tudo parece simples e direto o tempo todo, fornecendo poder, desempenho e flexibilidade.
Do scanner utilitário simples da linha de comando até a interface da Web intuitiva e amigável e a plataforma de colaboração, Arachni segue o princípio de menos surpresa e fornece muito feedback e orientação.
A Arachni foi projetada para detectar automaticamente problemas de segurança em aplicativos da Web. Tudo o que espera é o URL do site de destino e, depois de um tempo, apresentará suas descobertas.
autologin , login_script ou proxy ).A Arachni inclui um ambiente integrado de navegador real, a fim de fornecer cobertura suficiente aos aplicativos da Web modernos que usam tecnologias como HTML5, JavaScript, Dom Manipulação, Ajax, etc.
Além do monitoramento dos ambientes de baunilha e JavaScript, os navegadores de Arachni também se conectam a estruturas populares para facilitar a digerência dos dados registrados:
Em essência, isso transforma Arachni em um depurador DOM e JavaScript, permitindo que ele monitore os eventos DOM e dados de JavaScript e fluxos de execução. Como resultado, o sistema não apenas pode acionar e identificar problemas baseados em DOM, mas os acompanhará com muitas informações sobre o estado da página na época.
As informações relevantes incluem:
DOMWindow ).decodeURIComponent() ).Em essência, você tem acesso a aproximadamente as mesmas informações que seu depurador favorito (por exemplo, Firebug) forneceria, como se você tivesse estabelecido um ponto de interrupção para ocorrer na hora certa para identificar um problema.
O cluster do navegador é o que coordena a análise de recursos do navegador e permite que o sistema execute operações que normalmente consumiriam bastante tempo de maneira de alto desempenho.
As opções de configuração incluem:
O sistema pode fornecer ótima cobertura aos aplicativos modernos da Web devido ao seu ambiente integrado do navegador. Isso permite que ele interaja com aplicativos complexos que fazem uso pesado do código do lado do cliente (como JavaScript), assim como um humano faria.
Além disso, também sabe sobre quais alterações no estado do navegador o aplicativo foi programado para manipular e é capaz de acioná -las programaticamente para fornecer cobertura para um conjunto completo de cenários possíveis.
Ao inspecionar todas as páginas possíveis e seus estados (ao usar o código do lado do cliente), a Arachni é capaz de extrair e auditar os seguintes elementos e suas entradas:
<form> , mas estão associados via código JS.<input> com eventos DOM associados.http://example.com/#/?param=val¶m2=val2http://example.com/#/param/val/param2/val2A Arachni foi projetada para se encaixar no seu fluxo de trabalho e se integrar facilmente à sua infraestrutura existente.
Dependendo do nível de controle necessário sobre o processo, você pode escolher o serviço REST ou o protocolo RPC personalizado.
Ambas as abordagens permitem que você:
MessagePack para desempenho, eficiência e facilidade de integração com sistemas de terceiros.<form> , mas estão associados via código JS.<input> com eventos DOM associados.GET e POST HTTP.A Arachni é um sistema altamente modular, empregando vários componentes de tipos distintos para desempenhar suas funções.
Além de ativar ou desativar os componentes agrupados, a fim de ajustar o comportamento e os recursos do sistema, conforme necessário, a funcionalidade pode ser estendida através da adição de componentes criados pelo usuário para atender a quase todas as necessidades.
Para fazer uso eficiente da largura de banda disponível, a Arachni executa as impressões digitais de plataforma rudimentar e adapta o processo de auditoria às tecnologias implantadas do lado do servidor, usando apenas cargas úteis aplicáveis.
Atualmente, as seguintes plataformas podem ser identificadas:
O usuário também tem a opção de especificar plataformas extras (como um servidor DB) para ajudar o sistema a ser o mais eficiente possível. Como alternativa, a impressão digital pode ser completamente desativada.
Por fim, a Arachni sempre errará do lado da cautela e envia todas as cargas úteis disponíveis quando não identificar plataformas específicas.
As verificações são componentes do sistema que executam verificações de segurança e problemas de log.
As verificações ativas envolvem o aplicativo da web por meio de suas entradas.
sql_injection ) - Detecção baseada em erros.sql_injection_differential ).sql_injection_timing ).no_sql_injection ) - Detecção de vulnerabilidade baseada em erros.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 ).Verificações passivas procuram a existência de arquivos, pastas e assinaturas.
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 para sites HTTPS ( hsts ).X-Frame-Options ausentes ( 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 )Os plugins adicionam funcionalidade extra ao sistema de maneira modular, assim o núcleo permanece enxuto e facilita para qualquer um adicionar funcionalidade arbitrária.
proxy )-Analisa solicitações e respostas entre o aplicativo da web e o navegador, auxiliando em auditorias de Ajax, login-in e/ou restringindo o escopo da auditoria.autologin ).login_script ).http_dicattack ).form_dicattack ).cookie_collector ) - Acompanhe os cookies enquanto estabelece uma linha do tempo das alterações.waf_detector ) - estabelece uma linha de base do comportamento normal e usa a análise RDIFF para determinar se insumos maliciosos causam alterações comportamentais.beep_notify ) - BIPS quando a verificação terminar.email_notify ) - envia uma notificação (e opcionalmente um relatório) sobre o SMTP no final da varredura.vector_feed ) - lê os dados do vetor a partir dos quais cria elementos a serem auditados. Pode ser usado para executar auditorias extremamente especializadas/estreitas por vetor/elemento. Útil para testar unidade ou um gazilhão de outras coisas.script ) - Carrega e executa um script de rubi externo sob o escopo de um plug -in, usado para depuração e hackery em geral.uncommon_headers ) - registra cabeçalhos incomuns.content_types )-registra os tipos de conteúdo das respostas do servidor, auxiliando na identificação de arquivos interessantes (possivelmente vazados).vector_collector ) - coleta informações sobre todos os vetores de entrada vistos que estão dentro do escopo de varredura.headers_collector ) - Coleta cabeçalhos de resposta com base em critérios especificados.exec ) - chama executáveis externos em diferentes estágios de varredura.metrics ) - captura métricas sobre vários aspectos da verificação e do aplicativo da web.restrict_to_dom_state ) - restringe a auditoria ao estado dom de uma única página, com base em um fragmento de URL.webhook_notify ) - envia uma carga útil do WebHook sobre HTTP no final da varredura.rate_limiter ) - A taxa limita as solicitações HTTP.page_dump ) - Despende os dados da página no disco como YAML. Os plug -ins padrão serão executados para todas as varreduras e são colocados em /plugins/defaults/ .
autothrottle ) - Ajusta dinamicamente a taxa de transferência HTTP durante a varredura para a utilização máxima de largura de banda.healthmap ) - gera mapa de sitem Plugins Under /plugins/defaults/meta/ Execute análises nos resultados da verificação para determinar a confiabilidade ou apenas adicionar informações de contexto ou informações gerais.
timing_attacks ) - fornece um aviso para os problemas descobertos por ataques de tempo quando as páginas auditadas afetadas retornaram tempos de resposta incomumente altos para começar. Ele também aponta o perigo de ataques do DOS contra páginas que realizam processamento pesado.discovery ) - realiza a detecção de anomalias em questões registradas por verificações e avisos da descoberta sobre a possibilidade de falsos positivos, quando aplicável.uniformity ) - Relata insumos uniformemente vulneráveis em várias páginas que suportam a falta de um ponto central de higienização de entrada.O treinador é o que permite que Arachni aprenda com a varredura que executa e incorpore esse conhecimento, em tempo real, durante a auditoria.
Os cheques têm a capacidade de forçar individualmente a estrutura a aprender com as respostas HTTP que eles vão induzir.
No entanto, isso geralmente não é necessário, pois a Arachni está ciente de quais solicitações têm maior probabilidade de descobrir novos elementos ou atacar vetores e se adaptarão de acordo.
Ainda assim, isso pode ser um ativo inestimável para verificações de fuzzeiro.
Você pode executar rake spec para executar todas as especificações ou executá -las seletivamente usando o seguinte:
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
Seja avisado , as especificações principais exigirão uma besta de uma máquina devido à necessidade de testar os recursos da grade/instance multi-instance do sistema.
Nota : As especificações de verificação levarão muitas horas para serem concluídas devido aos testes de ataque de tempo.
Envie bugs usando problemas do GitHub e obtenha suporte através do portal de suporte.
(Antes de iniciar qualquer trabalho, leia as instruções para trabalhar com o código -fonte.)
Estamos felizes em aceitar a ajuda de colegas de código-monkeys e essas são as etapas que você precisa seguir para contribuir com o código:
git checkout -b <feature-name> experimental ).rake spec:core for the Core Libs ou rake spec para tudo).Licença de fonte pública de Arachni v1.0 - Consulte o arquivo de licença para obter mais informações.