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

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

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

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

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

Категории

Все категории
Loading categories
CPLHF — Модульный Bash-инструментарий, который укрепляет системы Debian/Ubuntu для соревнований CyberPatriot, автоматизируя защиту учётных записей, межсетевого экрана, SSH, PAM и служб с ведением журналов и резервным копированием. | Kitploit
Инструменты/GitHubGitHub/whereisxuezugi/cplhf
Оборонительные ИнструментыАнализ уязвимостейСкриптинг и автоматизацияАудит конфигурацииФорензикаCTFТестирование на ПроникновениеОбучение и ОбразованиеРеагирование на Инциденты
GitHubwhereisxuezugi/cplhf

CPLHF

Модульный Bash-инструментарий, который укрепляет системы Debian/Ubuntu для соревнований CyberPatriot, автоматизируя защиту учётных записей, межсетевого экрана, SSH, PAM и служб с ведением журналов и резервным копированием.

512123 дней назадЕщё не проверено

Популярное

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

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

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

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

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

CyberPatriot Linux Hardening Toolkit

Модульный Bash-инструментарий для укрепления систем семейства Debian/Ubuntu в условиях соревновательного цейтнота. Создан и отточен за несколько сезонов CyberPatriot National Youth Cyber Defense Competition, последнее достижение — Platinum tier в дивизионе Linux на полуфинале 2025 года.

Это не универсальный фреймворк соответствия требованиям. Это автоматизатор чек-листа для шестичасового упражнения на время: он выполняет скриптуемую большую часть прохода по укреплению Linux правильно, быстро и идемпотентно, логирует всё, к чему прикасался, и оставляет решения, требующие суждения, человеку, который его запускает.

Содержание

  • Зачем это существует
  • Архитектура
  • Быстрый старт
  • Что это на самом деле делает
  • Заметки о безопасности на соревнованиях
  • Конфигурация
  • Структура репозитория
  • Тестирование
  • Средства контроля безопасности и ссылки
  • Что этот проект намеренно не делает
  • Лицензия

Зачем это существует

Раунды Linux в CyberPatriot оценивают живой образ по рубрике, которая вознаграждает довольно предсказуемый набор шагов по укреплению — гигиена учётных записей, политика паролей, настройка межсетевого экрана, экспозиция служб, права доступа к файлам, уровень патчей — в условиях жёсткого лимита времени, обычно без предварительного уведомления о том, какие именно уязвимости были заложены. Выполнение этого чек-листа вручную, правильно, под обратный отсчёт — это то место, где команды теряют лёгкие баллы из-за опечаток и забытых шагов, а не из-за незнакомого материала.

Этот инструментарий начинался как единый монолитный скрипт, написанный именно под таким давлением. Этот репозиторий — переписывание того скрипта: то же покрытие чек-листа, переструктурированное в небольшие модули с единственным назначением, которые легче читать, тестировать и осмысливать независимо, при этом каждое неочевидное решение привязано к конкретному разделу CIS Benchmark или контролю NIST SP 800-53 (см. Средства контроля безопасности и ссылки).

Архитектура

flowchart TD
    A[bin/harden.sh] --> B[lib/common.sh<br/>logging, backups, run wrapper]
    A --> C[Service-role prompts<br/>or --config file]
    A --> D[lib/packages.sh<br/>updates, attack-tool removal]
    A --> E[lib/firewall.sh<br/>default-deny + ufw]
    A --> F[lib/ssh.sh]
    A --> G[lib/services.sh<br/>samba/ftp/mail/http/mysql/dns]
    A --> H[lib/users.sh<br/>account review, hidden UID 0]
    A --> I[lib/kernel.sh<br/>sysctl hardening]
    A --> J[lib/pam.sh<br/>password policy, lockout]
    A --> K[lib/filesystem.sh<br/>permissions, cron, banners]
    A --> L[lib/monitoring.sh<br/>fail2ban, auditd, rkhunter]
    A --> M[lib/forensics.sh<br/>baseline snapshot]
    D & E & F & G & H & I & J & K & L & M --> N[(~/hardening-run/<br/>log + backups + baseline)]

Каждый модуль подключается через bin/harden.sh, который отвечает за разбор аргументов, опрос о роли служб и порядок выполнения. Модули не вызывают друг друга напрямую, и каждая команда, изменяющая состояние, в каждом модуле проходит через обёртку run() в lib/common.sh, что даёт всему проекту единое место для реализации поддержки dry-run, согласованного логирования и обработки некритичных ошибок.

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

git clone <this-repo>
cd cyberpatriot-linux-hardening
sudo ./bin/harden.sh

Вам будет задана короткая серия вопросов да/нет о роли машины (нужны ли ей Samba, FTP, SSH, веб-сервер и так далее), после чего он отработает без вмешательства по перечисленным выше модулям. Лог, полный набор резервных копий конфигураций с отметками времени и снимок базового состояния системы записываются в ~/hardening-run/.

В реальном раунде пропустите запросы подтверждения для каждого пакета и отвечайте на вопросы о роли из подготовленного файла ответов вместо ввода вживую:

cp examples/config.env.example my-machine.env
# edit my-machine.env for this box's actual role
sudo ./bin/harden.sh --config my-machine.env --auto-approve

Хотите увидеть точно, что он сделает, прежде чем он к чему-либо прикоснётся?

sudo ./bin/harden.sh --dry-run --config my-machine.env

Что это на самом деле делает

МодульДелает
lib/packages.shПолное обновление системы; автоматически удаляет взломщики паролей и инструменты эксплуатации; проверяет инструменты двойного назначения (nmap, Wireshark, netcat) и устаревшие службы (VNC, NFS, telnet) перед их удалением
lib/firewall.shЗапрет входящих по умолчанию / разрешение исходящих по умолчанию через ufw, плюс явная блокировка известного распространённого порта бэкдора
lib/ssh.shСовременные шифры/KEX/MAC, запрет входа root, ограничения соединений и сессий — или полное удаление SSH, если роль в нём не нуждается
lib/services.shSamba, FTP, почта, печать, MySQL, HTTP, DNS: каждая устанавливается и минимально укрепляется, если нужна роли, или удаляется и отсекается межсетевым экраном, если нет
lib/users.shИнтерактивный обзор существующих учётных записей (права администратора, удаление, сброс пароля), обнаружение скрытых учётных записей с UID 0 и пустых паролей
lib/kernel.shНастройки sysctl для сетевого стека и самозащиты ядра (маршрутизация от источника, ICMP-редиректы, ASLR, область ptrace, ограничение dmesg/kptr)
lib/pam.shСложность и история паролей через pam_pwquality/pam_pwhistory, блокировка учётной записи через pam_faillock, срок действия пароля в login.defs
lib/filesystem.shПрава доступа к ключевым файлам, ограничение cron/at, минимальный rc.local, юридические баннеры входа, сканирование только для чтения по SUID/доступным на запись всем/бесхозным файлам
lib/monitoring.shfail2ban и auditd по умолчанию; ClamAV и полное сканирование rkhunter/chkrootkit — по желанию (см. Заметки о безопасности на соревнованиях)
lib/forensics.shСнимок только для чтения пользователей, процессов, слушающих портов и установленных пакетов для последующего сравнения

tools/find-port-owner.sh и tools/list-nonstandard-users.sh — небольшие автономные утилиты для такой же работы по сортировке, используемые независимо от основного скрипта — см. их заголовки для использования.

Заметки о безопасности на соревнованиях

Скрипт укрепления, который ломает машину, которую должен защищать, хуже бесполезен в раунде на время. Несколько значений по умолчанию отражают это, и их стоит понять, прежде чем запускать это без присмотра:

Скачать инструмент