Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CQPToolkit — Framework para controlar dispositivos QKD e gerenciar chaves simétricas. Veja a [página do projeto aqui](https://qcomms.gitlab.io/cqptoolkit/) | Kitploit
Ferramentas/GitLabGitLab/qcomms/cqptoolkit
Segurança de Sistemas EmbarcadosFerramentas de Criptografia/DescriptografiaSegurança de RedeCriptografiaSegurança de Hardware
GitLabqcomms/cqptoolkit

CQPToolkit

Framework para controlar dispositivos QKD e gerenciar chaves simétricas. Veja a [página do projeto aqui](https://qcomms.gitlab.io/cqptoolkit/)

Ver Repositório
6129há 4 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

CQP Tool kit

O sistema fornece vários componentes para integrar QKD em um sistema de segurança. É escrito em C++11, mas usa interfaces [GRPC][], portanto pode ser integrado com muitas linguagens diferentes.

Início Rápido

Para executar o software nativamente, siga uma das opções:

  • baixe e instale os pacotes deb do Ubuntu ou
  • clone o código-fonte, garantindo que os submódulos sejam atualizados e construa localmente

Para clonar o código-fonte incluindo submódulos:```bash git clone --recurse-submodules [email protected]:QComms/cqptoolkit.git

> Se você clonou sem usar `--recurse-submodules`, os submódulos podem ser atualizados executando `git submodule update --init` a partir da pasta de origem.

Aqui está uma lista de dependências necessárias para compilar o projeto (leia mais abaixo para mais detalhes sobre a instalação):```bash
sudo apt install pkg-config ca-certificates file build-essential cmake ninja-build libusb-1.0-0-dev libcurl4-openssl-dev \
	libcrypto++-dev libcap-dev uuid-dev libssl-dev libsqlite3-dev libprotobuf-dev libgrpc++-dev \
	libssl-dev protobuf-compiler protobuf-compiler-grpc checkinstall
mkdir build-cqptoolkit
cd build-cqptoolkit
cmake -G Ninja ../cqptoolkit && ninja

Teste rápido

A partir da pasta de compilação, para executar dois sites (no mesmo computador local) cada um com um dispositivo QKD, primeiro inicie o site "A" iniciando um agente de site e conectando um "dummy driver" Alice a ele: (Se os binários foram instalados, omita os caminhos para os comandos das instruções.)```bash ./src/Tools/SiteAgentRunner/SiteAgentRunner -p 8000 & ./src/Drivers/DummyQKDDriver/DummyQKDDriver -r localhost:8000 -a

ENTRADA:```bash
./src/Tools/SiteAgentRunner/SiteAgentRunner -p 8001 &
./src/Drivers/DummyQKDDriver/DummyQKDDriver -r localhost:8001 -b

Isso não começará a produzir chave imediatamente, pois este sistema foi projetado para ser controlado por um sistema de gerenciamento; a conexão precisa ser estabelecida com o comando SiteAgentCtl.

  • Primeiro, você pode verificar a lista de dispositivos disponíveis com:```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -d -c localhost:8000
o que deve produzir algo semelhante a isto por padrão, se *SiteAgentRunner* e *DummyQKDDriver* forem iniciados sem especificar um argumento de arquivo de string de configuração JSON:```json
{
 "url": "<hostname>:8000",
 "devices": [
  {
   "config": {
    "id": "dummyqkd__0__16_alice",
    "kind": "dummyqkd"
   },
   "controlAddress": "<hostname>:34219"
  }
 ]
}

e a porta 8001 deve produzir algo semelhante a```json { "url": ":8001", "devices": [ { "config": { "id": "dummyqkd__0__16_bob", "side": "Bob", "kind": "dummyqkd" }, "controlAddress": ":38367" } ] }

- Agora, a conexão pode ser feita chamando:```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -j localhost:8001

Isso criará um único salto de um site para o próximo, novamente, rotas mais complexas podem ser definidas usando a opção -a com uma string JSON especificando o caminho.

Após alguns segundos, deve haver uma chave disponível que pode ser testada solicitando uma chave.

NOTA: O parâmetro -k deve ser a url mostrada nos detalhes do segundo site, não "localhost:8001"```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -k hostname:8001

O link pode ser interrompido com o comando unjoin:```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -u localhost:8001

Observe que a chave ainda está disponível mesmo que a geração tenha parado, desde que os agentes do site estejam em execução. Ela pode ser solicitada com o mesmo comando de solicitação de chave acima.

Exemplo de criptografia

Com os agentes do site e drivers lançados no mesmo computador local conforme descrito acima e após ter iniciado o link para troca de chaves, também é possível testar os recursos de criptografia.

  • Primeiro, inicie um lado da "VPN" no bob, que escutará na porta 9010 e se conectará ao repositório de chaves do Bob:``` ./src/Tools/QTunnelServer/QTunnelServer -p 9010 --keystore-url=hostname:8001
- Agora inicie o lado Alice da VPN, definindo o túnel a ser criado. Duas portas serão abertas, uma para cada lado nas portas 9000 e 9001, qualquer coisa que entrar nessas portas será criptografada, transferida para o outro lado, descriptografada e entregue na outra porta.```
./src/Tools/QTunnelServer/QTunnelServer --keystore-url=`hostname`:8000 --remote=localhost:9010 --start-node=tcpsrv://0.0.0.0:9000 --end-node=tcpsrv://0.0.0.0:9001

Qualquer coisa que use comunicações tcp pode então usar esta porta, netcat é um programa simples que enviará dados pelas portas, inicie um de cada lado:``` nc localhost 9000

e um no outro:```
nc localhost 9001

Qualquer coisa digitada de um lado aparecerá do outro quando Enter for pressionado. Inspecionar os pacotes que viajam pelas portas 9000 e 9001 com uma ferramenta como o Wireshark mostrará os dados sendo criptografados e o ID da chave usado.

Outras formas de conexão podem ser criadas, em vez de tcpserv:

| Exemplo | Descrição | | ============================= | ===================================================== | | tcpserv://0.0.0.0:1234 | Uma porta de escuta é criada na porta 1234 | | tcp://127.0.01:1234 | Uma conexão à porta TCP 1234 no localhost é feita | | udp://0.0.0.0:1234 | Pacotes UDP são enviados desta porta | | tun://192.168.101.1/?netmask=255.255.255.0 | Um dispositivo de túnel de nível IP é criado com um endereço IP | | tap://192.168.101.1/?netmask=255.255.255.0 | Um dispositivo tap de nível Ethernet é criado | | eth://eth0/?level=tcp | Cria um socket bruto, o nível pode ser tcp, ip ou eth. |

Progresso

Funcionalidades planeadas e concluídas

Baixar ferramenta