
Transforme facilmente aplicações de linha de comando single-threaded em uma aplicação rápida e multi-threaded com suporte a CIDR e glob.
Transforme facilmente aplicações de linha de comando single-threaded em uma aplicação rápida e multi-threaded com suporte a CIDR e glob.
Instale usando:
$ python3 setup.py install
As dependências serão instaladas e o Interlace será adicionado ao seu caminho como interlace.
| Argumento | Descrição |
|---|---|
| (stdin) | Passe listas de alvos de outra aplicação em formato delimitado por vírgulas, notação CIDR ou como um host individual |
| -t | Especifique um alvo ou nome de domínio em formato delimitado por vírgulas, notação CIDR ou como um host individual |
| -tL | Especifique uma lista de alvos ou nomes de domínio |
| -e | Especifique uma lista de alvos a excluir em formato delimitado por vírgulas, notação CIDR ou como um host individual |
| -eL | Especifique uma lista de alvos a excluir |
| -threads | Especifique o número máximo de threads a executar em qualquer momento (PADRÃO:5) |
| -timeout | Especifique um valor de timeout em segundos para qualquer thread única (PADRÃO:600) |
| -c | Especifique um único comando a executar sobre cada alvo ou domínio |
| -cL | Especifique uma lista de comandos a executar sobre cada alvo ou domínio |
| -o | Especifique uma variável de pasta de saída que pode ser usada em comandos como _output_ |
| -p | Especifique uma lista de variáveis de porta que podem ser usadas em comandos como _port_. Pode ser uma única porta, uma lista delimitada por vírgulas ou um intervalo usando notação de traço |
| -pL | Especifique uma lista de proxies |
| --proto | Especifique protocolos que podem ser usados em comandos como _proto_ |
| -rp | Especifique uma variável de porta real que pode ser usada em comandos como _realport_ |
| -random | Especifique um diretório de arquivos que podem ser usados aleatoriamente em comandos como _random_ |
| --no-bar / --sober | Se definido, a barra de progresso será removida |
| --no-cidr | Se definido, a notação CIDR em um arquivo de alvos não será automaticamente expandida para hosts individuais |
| --no-color | Se definido, quaisquer cores de primeiro plano ou fundo serão removidas |
| --silent | Se definido, apenas informações importantes serão exibidas e banners e outras informações serão omitidas |
| -v | Se definido, a saída detalhada será exibida no terminal |
| Exemplo | Tipo de Notação |
|---|---|
| 80 | Porta única |
| 1-80 | Notação de traço, executa um comando para cada porta de 1 a 80 |
| 80,443 | Executa um comando para ambas as portas 80 e 443 |
Tanto -t quanto -tL serão processados da mesma forma. Você pode passar alvos da mesma forma que faria ao usar o nmap. Isso pode ser feito usando notação CIDR, notação de traço ou uma lista delimitada por vírgulas de alvos. Um único arquivo de lista de alvos também pode usar diferentes tipos de notação por linha.
Alternativamente, você pode passar alvos via STDIN e nem -t nem -tL serão necessários.
As seguintes variáveis serão substituídas nos comandos em tempo de execução:
| Variável | Substituição |
|---|---|
| _target_ | Substituída pela lista expandida de alvos contra a qual a thread atual está executando |
| _cleantarget_ | Substituída pelo alvo limpo de http:// ou https:// |
| _safe-target_ | Substituída pelo alvo com automatic quoting para comandos, evitando execução de subcomandos |
| _host_ | Funciona da mesma forma que _target_, e pode ser usada de forma intercambiável |
| _output_ | Substituída pela variável de pasta de saída do Interlace |
| _port_ | Substituída pela variável de porta expandida do Interlace |
| _realport_ | Substituída pela variável de porta real do Interlace |
| _proxy_ | Substituída pela lista de proxies do Interlace |
| _random_ | Substituída pelo arquivo escolhido aleatoriamente do Interlace |
O Interlace também permite o uso de dois recursos adicionais para controlar o fluxo de execução dentro de um arquivo de comando: _blocker_ e _block:<nome>_. Os Blockers impedem a execução dos comandos listados depois deles até que todos os comandos anteriores tenham sido concluídos, e os blocos podem ser usados para forçar a execução sequencial de comandos listados dentro de um bloco, para um alvo.
Estes são executados em um nível por alvo. Se houver threads disponíveis e um blocker estiver no caminho para o alvo atual, o Interlace iniciará comandos do próximo alvo dentro de uma lista de alvos para maximizar a eficiência.
Usar esses recursos permitirá que você controle o fluxo de execução para alvos individuais de forma mais direta, a fim de evitar que comandos sejam executados fora de ordem.