Skip to content

rqtx/Linderhof

Repository files navigation

LINDERHOF

O projeto Linderhof tem o objetivo de ser uma biblioteca de ataques de negação de serviço refletidos/amplificados.

Build

Requisitos:

  • CMake

Para compilar basta executar o script build.sh. Os binários estarão na pasta bin do projeto. Caso não queira utilizar o script, execute após a compilação o comando:

sudo setcap cap_net_raw+ep bin/lhf

Após executar esse comando não será necessário executar o lhf como superuser.

Arquitetura

Linderhof.pdf

Oryx

UI engine.

Existem duas possíveis interfaces:

  • OryxCli

OryxCli deve ser utilizada caso queria acessar o linderhof na maquina local (API padrão).

Comandos

Opcoes_lhf.pdf

Linderhof

Core engine.

Biblioteca dos ataques. Aqui é onde montamos um plano de ataque e executamos o injetor.

Netuno

Injector engine.

Injetor de pacotes. O netuno é o gerenciador dos injetores de ataque. Com cada injetor podendo no máximo ter um throughput de 100 Mb/s.

Criando mirror

Passo 1: Criar a função de chamada do mirror

A função de chamada do mirror deve seguir o protótipo a seguir:

int ExecuteMirrorNameMirror( void *p_arg );

Sendo p_arg os argumentos necessários para executar o mirror. Após o linderhof fazer a chamada da função mirror é dever dela fazer toda a preparação do ataque, com tudo pronto deve fazer a chamada da engine de injeção Netuno.

Os arquivos do mirror devem ficar na pasta src/linderhof/hom/nome_do_mirror/.

A função de chamada será declarada em src/linderhof/hom/nome_do_mirror.h

Passo 2: Adicionar mirror ao Linderhof planner

2.1 - Adicione seu mirror no enum MirrorType em src/include/venus.h

Os passo seguintes serão executados no arquivo src/linderhof/commander/planner.c.

2.2 - Inclua o header com a função de chamada do mirror.

2.3 Atualize o switch-case da função Planner para construir o LhfPlan do seu mirror. O ponteiro atkData deve conter os argumentos que serão utilizados pelo mirror.

Passo 3: Adicionar mirror a engine UI Oryx

No arquivo src/interface/interface.c:parserAttackOpt adicione a construção do draft do seru mirror.

Observações

  • Para forjar um pacote utilize o forjador de pacotes blacksmitsh. Sua API está disponível na biblioteca common do projeto, visando o objetivo de padronizar o forjador de pacotes do projeto.
  • Caso seja necessário dentro do mirror fazer alguma chamada para as funcionalidades de alocação de memória, netio, linux capability e signals utilize a API common do projeto. Ela está disponível na biblioteca common e está incluída no header venus.h que deve ser incluído em todos os .c do projeto.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •