Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CQPToolkit — Фреймворк для управления устройствами QKD и управления симметричными ключами. См. [страницу проекта здесь](https://qcomms.gitlab.io/cqptoolkit/) | Kitploit
Инструменты/GitLabGitLab/qcomms/cqptoolkit
Безопасность встроенных системИнструменты шифрования/дешифрованияСетевая безопасностьКриптографияАппаратная Безопасность
GitLabqcomms/cqptoolkit

CQPToolkit

Фреймворк для управления устройствами QKD и управления симметричными ключами. См. [страницу проекта здесь](https://qcomms.gitlab.io/cqptoolkit/)

Репозиторий
61134 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

CQP Tool kit

Система предоставляет различные компоненты для интеграции QKD в систему безопасности. Она написана на C++11, но использует интерфейсы [GRPC][], поэтому может быть интегрирована с множеством различных языков.

Быстрый старт

Для запуска программного обеспечения нативно, либо:

  • загрузите и установите Ubuntu deb пакеты или
  • клонируйте исходный код, убедившись, что подмодули обновлены, и соберите локально

Для клонирования исходного кода, включая подмодули:

git clone --recurse-submodules https://gitlab.com/QComms/cqptoolkit.git
``````bash
git clone --recurse-submodules [email protected]:QComms/cqptoolkit.git

Если вы клонировали без использования --recurse-submodules, подмодули можно обновить, выполнив git submodule update --init из папки исходного кода.

Вот список зависимостей, необходимых для компиляции проекта (пожалуйста, ознакомьтесь с подробностями установки ниже):```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

**Быстрый тест**

Из папки сборки, чтобы запустить два сайта (на одном локальном компьютере) каждый с устройством QKD, сначала запустите сайт «A», запустив агент сайта и подключив к нему «фиктивный драйвер» Alice:
*(Если бинарные файлы установлены, опустите пути к командам из инструкций.)*```bash
./src/Tools/SiteAgentRunner/SiteAgentRunner -p 8000 &
./src/Drivers/DummyQKDDriver/DummyQKDDriver -r localhost:8000 -a

-n, --ipv4 / --ipv6 / --pkt)
и затем запустите сканирование:

флаг тип пример использования
tcp/1000 tcp/1000
tcp/open `tcp/Open````bash ./src/Tools/SiteAgentRunner/SiteAgentRunner -p 8001 & ./src/Drivers/DummyQKDDriver/DummyQKDDriver -r localhost:8001 -b

Это не начнет сразу создавать ключ, поскольку эта система предназначена для управления через систему управления, соединение должно быть установлено с помощью команды *SiteAgentCtl*.

- Во-первых, вы можете проверить список доступных устройств с помощью:```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -d -c localhost:8000

что по умолчанию должно дать нечто подобное этому, если SiteAgentRunner и DummyQKDDriver были запущены без указания аргумента конфигурационного файла строки JSON:```json { "url": ":8000", "devices": [ { "config": { "id": "dummyqkd__0__16_alice", "kind": "dummyqkd" }, "controlAddress": ":34219" } ] }

и порт `8001` должен выдать что-то похожее на```json
{
 "url": "<hostname>:8001",
 "devices": [
  {
   "config": {
    "id": "dummyqkd__0__16_bob",
    "side": "Bob",
    "kind": "dummyqkd"
   },
   "controlAddress": "<hostname>:38367"
  }
 ]
}
  • Теперь соединение может быть установлено путем вызова:```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -j localhost:8001
Это создаст один переход от одного сайта к другому, более сложные маршруты могут быть определены с помощью опции `-a` с JSON-строкой, определяющей путь.

Через несколько секунд должен быть доступен ключ, который можно проверить, запросив ключ.
> ПРИМЕЧАНИЕ: Параметр -k должен быть URL-адресом, указанным в деталях второго сайта, а не "localhost:8001"```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -k `hostname`:8001

Ссылку можно остановить командой unjoin:```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -u localhost:8001

> Несмотря на то, что генерация остановлена, ключ по-прежнему доступен, пока агенты сайта работают.
> Его можно запросить с помощью той же команды запроса ключа, указанной выше.

**Пример шифрования**

Запустив агенты сайта и драйверы на одном локальном компьютере, как описано выше, и после запуска ссылки для обмена ключами, можно также протестировать функции шифрования.

- Сначала запустите одну сторону "VPN" на bob, который будет слушать порт 9010 и подключаться к хранилищу ключей Bob:```
./src/Tools/QTunnelServer/QTunnelServer -p 9010 --keystore-url=`hostname`:8001

Теперь запустите сторону Алисы VPN, определив туннель для создания. Будут открыты два порта, по одному для каждой стороны на 9000 и 9001. Всё, что поступает на эти порты, будет зашифровано, передано на другую сторону, расшифровано и выведено на другой порт.``` ./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

Любое приложение, использующее TCP-соединения, может затем использовать этот порт. Netcat — это простая программа, которая будет отправлять данные через порты. Запустите одну на одной стороне:```
nc localhost 9000

и один на другом:``` nc localhost 9001

Все, что вводится на одной стороне, появится на другой после нажатия Enter. Проверка пакетов, проходящих через порты `9000` и `9001`, с помощью такого инструмента, как Wireshark, покажет, что данные зашифрованы и используется идентификатор ключа.

Могут быть созданы другие формы соединения, вместо `tcpserv`:

| Пример					    | Описание 											|
| ============================= | ===================================================== |
| tcpserv://0.0.0.0:1234		| Создается порт прослушивания на порту 1234 				|
| tcp://127.0.01:1234			| Устанавливается соединение с TCP-портом 1234 на localhost 	|
| udp://0.0.0.0:1234			| UDP-пакеты отправляются с этого порта					|
| tun://192.168.101.1/?netmask=255.255.255.0	| Создается туннельное устройство на уровне IP с IP-адресом |
| tap://192.168.101.1/?netmask=255.255.255.0	| Создается tap-устройство на уровне Ethernet |
| eth://eth0/?level=tcp         | Создается сырой сокет, уровень может быть tcp, ip или eth. 	|

# Прогресс

Запланированные и реализованные функции
Скачать инструмент