
yakit v1.4.8-0731
Plataforma de teste de penetração tudo-em-um com proxy MITM, fuzzer web, manipulador de conexão reversa e sistema de plugins para testes de segurança automatizados e exploração.
Yakit - Plataforma Interativa de Testes de Segurança de Aplicações
Ver Whitepaper • Documentação Oficial • Reportar Problemas • Acessar Site Oficial • Juntar-se à Comunidade • Arquitetura do Projeto
Introdução ao Yakit
A fusão de segurança é uma reforma nas operações e gestão de segurança das empresas sob a nova normalidade, e também uma prioridade urgente para elas.
Com base no conceito de fusão de segurança, a equipe Yaklang.io desenvolveu a linguagem vertical de segurança Yaklang. Para produtos/ferramentas que não podem ser integrados nativamente na plataforma Yak, o Yaklang permite reescrever suas "alternativas de alta qualidade". Para produtos com ecossistema completo e alto reconhecimento, o Yaklang pode compilar e fundir diretamente, fazendo as modificações necessárias no código-fonte para melhor adaptação à linguagem Yaklang. Para profissionais de segurança que não desejam programar, o Yakit fornece GUIs adequadas para todas as capacidades do Yaklang, e com as versões, a GUI se tornará mais madura.
Para tornar as capacidades de segurança do Yaklang mais próximas do uso real, escrevemos um servidor gRPC para o Yak e construímos um cliente usando esse servidor: Yakit.
Arquitetura do Projeto
Tecnologia Central: CDSL
CDSL é definido como CyberSecurity Domain Specific Language, uma linguagem de programação especializada no domínio da segurança cibernética; escrevemos uma máquina virtual de pilha para hospedar o estado de execução desta linguagem Turing-completa. Esperamos alcançar a fusão de capacidades de segurança e a unificação da plataforma subjacente por meio do "CDSL".
Para tornar o CDSL do domínio de segurança desenvolvido internamente mais próximo dos cenários de uso real, escrevemos um servidor gRPC para o Yaklang e construímos o cliente Yakit com base nesse servidor. Na prática, é através da GUI do Yakit que se controla as capacidades do motor. O servidor gRPC do Yakit facilita a implantação dos usuários, sendo independente de plataforma, podendo ser implantado remotamente ou iniciado localmente no host.
- Pode substituir 100% a plataforma de intercepção MITM do BurpSuite;
- GUI de varredura passiva MITM difícil de replicar;
- Incorpora scripts Yaklang para depuração dinâmica de tráfego; execução dinâmica de código a qualquer momento;
- Primeira ferramenta visual de fuzzing Web do mundo — Web Fuzzer;
- Loja de plugins Yakit;
- Pode executar scripts ou plugins Yaklang personalizados em qualquer etapa do teste de penetração. ... ...
Visão geral das capacidades de segurança:
Tecnologias Características
Intercepção Interativa MITM
O console MITM pode substituir 100% o BurpSuite para realizar todas as operações (baixar e instalar certificados, interceptar requisições, respostas, editar pacotes capturados, etc.). Além disso, fornece um fluxo de trabalho completo e suave: Interceptação => Histórico => Repetidor/Intruder. Intercepta dados, visualiza dados históricos no Histórico, seleciona pacotes que precisam ser "explorados" e os envia para o Web Fuzzer para operações de Repetidor/Intruder. Além desses cenários típicos, o MITM também oferece funcionalidades mais flexíveis, como varredura passiva de plugins, carregamento a quente, substituição de pacotes e marcação.
O princípio do módulo MITM do Yakit é iniciar um proxy HTTP que encaminha automaticamente o tráfego. Quando o usuário ativa a interceptação manual, o encaminhamento automático é interrompido, a requisição é bloqueada, e a requisição é desempilhada e processada (descompressão Gzip, tratamento de chunk, decodificação, etc.) para torná-la legível e exibi-la ao usuário. O usuário pode visualizar, modificar ou reproduzir a requisição. Ao reproduzir, o pacote HTTP construído pelo usuário é reparado para garantir sua validade. O motor Yak implementa manualmente a biblioteca HTTP, permitindo que os usuários personalizem pacotes de requisição e resposta malformados para exploração de vulnerabilidades em cenários especiais.
Reprodução Interativa e Fuzzing de Tráfego em Aplicações Web
O módulo Web Fuzzer suporta que o usuário envie requisições personalizadas em formato HTTP bruto. Para tornar o uso simples e intuitivo, o usuário só precisa se preocupar com os dados relevantes, enquanto o backend do Yakit faz muito trabalho. Informações no HTTP bruto que garantem a transmissão e análise dos dados são reparadas e complementadas pelo backend do Yakit, como corrigir CRLF, completar Content-Type, transmitir via chunk, completar boundary, corrigir Content-Length, etc.
Tecnologia Fuzztag
O módulo Web Fuzzer suporta tags Fuzz que integram naturalmente funções como colisão de Host, Intruder e força bruta de diretórios. Por exemplo, no cenário de brute force de um único parâmetro, como brute force de ID de usuário, pode-se usar a tag {{int(1-10)}} para gerar automaticamente os IDs. Para cenários com múltiplos parâmetros, utiliza-se o produto cartesiano como parâmetros de brute force, eliminando a necessidade, em comparação com o módulo Intruder do BurpSuite, de selecionar o modo de brute force e importar dicionários, reduzindo significativamente o caminho de operação do usuário. Claro, o módulo Web Fuzzer também suporta importação de dicionários externos, por exemplo: {{file(/tmp/username.txt)}}. Para cenários de dados mais complexos, o módulo Web Fuzzer suporta tags de carregamento a quente; por exemplo, para brute force de números de CPF de uma determinada região, pode-se inserir diretamente um script Yak no módulo Web Fuzzer para gerar dados. Enquanto o módulo Intruder do BurpSuite, nesse cenário, exigiria escrever código para gerar um dicionário e depois importá-lo.
Mais sobre fuzztag pode ser encontrado em: Visão Geral do Fuzztag
Tecnologia de Conexão Reversa e Reutilização de Protocolos de Aplicação
Muitos cenários de exploração de vulnerabilidades exigem conexões reversas de diferentes serviços de protocolo. Ferramentas tradicionais de exploração precisam escutar uma porta para cada serviço em um servidor público, por exemplo, para exploração do tipo LDAP, é necessário iniciar serviços HTTP e LDAP e então enviar a requisição de ataque. Serviços tradicionais exigem uma porta única para cada serviço. Já a tecnologia de reutilização de porta e protocolo do Yaklang pode escutar uma única porta, identificar o protocolo da requisição e responder adequadamente. As vantagens da reutilização de porta e protocolo do Yaklang incluem economia de recursos do sistema, facilidade em testes manuais e, como o princípio subjacente é identificar manualmente cabeçalhos de vários protocolos e implementá-los manualmente com base nos padrões, permite a construção flexível de pacotes de dados de vários protocolos. Por exemplo, pode-se construir pacotes malformados para exploração de vulnerabilidades, ou usar protocolos como DNS e ICMP para transportar dados, o que pode ser usado como backdoor para manutenção de acesso ou exploração em cenários onde o TCP não está disponível.
Ao mesmo tempo, o Yakit implementa um módulo de conexão reversa baseado na tecnologia de reutilização de porta e protocolo, incluindo funções de Reverse Shell, exploração de conexão reversa e detecção de conexão reversa. O Reverse Shell pode escutar uma porta especificada como receptor de shell reverso; ao receber o shell reverso, pode controlar o servidor remoto como ssh. Em necessidades tradicionais de conexão reversa em testes de penetração, usa-se o Nc para escutar portas, mas algumas teclas como backspace e setas podem gerar caracteres confusos, e o shell reverso é muito diferente do ssh nativo. Já o Reverse Shell do Yakit oferece uma experiência semelhante ao ssh nativo. Na parte de exploração de conexão reversa, pode-se escutar uma única porta, definir payloads para diferentes protocolos de callback, e ao receber uma requisição, o protocolo é identificado automaticamente e o payload correspondente é retornado, realizando a exploração. A função de detecção de conexão reversa fornece detecção de conexões reversas TCP, DNSLog e ICMP, podendo ser usada para detecção de execução de comandos.
Uso
-
Você pode acessar o site oficial para baixar e instalar
-
Consulte nossa documentação oficial para aprender e usar o Yakit
Mais conteúdo técnico pode ser encontrado em:
Juntar-se à Comunidade
Se você tiver sugestões construtivas ou relatos de bugs sobre nosso produto, sinta-se à vontade para abrir uma issue.
Ou entre em contato conosco através do WeChat oficial. Também são bem-vindas consultas sobre licenciamento comercial e cooperação.
Para entrar no grupo de discussão ou se tiver dúvidas técnicas, entre em contato e adicione o WeChat da operação para se juntar à comunidade:
WeChat da Operação:
Código QR do WeChat Oficial:
Stargazers over time
Aviso de Isenção de Responsabilidade
-
Esta ferramenta destina-se exclusivamente a atividades de construção de segurança empresarial autorizadas e aprendizado pessoal. Se você precisar testar a usabilidade da ferramenta, configure seu próprio ambiente de laboratório.
-
Ao usar esta ferramenta para testes, você deve garantir que a atividade esteja em conformidade com as leis e regulamentos locais e que tenha obtido autorização suficiente. Não scannerize alvos não autorizados.
-
É proibida a engenharia reversa, descompilação, tentativa de decifrar o código-fonte, inserir backdoors ou propagar software malicioso neste software.
-
Se você precisar usar o Yakit para fins comerciais, certifique-se de ter obtido autorização oficial; caso contrário, tomaremos as medidas cabíveis.
Se as proibições acima forem detectadas, reservamo-nos o direito de responsabilizá-lo legalmente.
Se você realizar qualquer ato ilegal durante o uso desta ferramenta, assumirá as consequências correspondentes; nós não nos responsabilizamos por qualquer responsabilidade legal ou solidária.
Antes de instalar e usar esta ferramenta, leia atentamente e compreenda completamente todos os termos.
Cláusulas de limitação, isenção de responsabilidade ou outras que envolvam seus direitos importantes podem estar em negrito, sublinhado, etc., para chamar sua atenção.
A menos que você tenha lido completamente, entendido e aceitado todos os termos deste acordo, não instale nem use esta ferramenta. O uso ou qualquer outra forma expressa ou implícita de aceitação deste acordo será considerado como sua leitura e concordância com os termos.
