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

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

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

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

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

Категории

Все категории
Loading categories
c-sentinel — Семантическая наблюдаемость для UNIX-систем — легковесный системный зонд на C с анализом на основе ИИ | Kitploit
Инструменты/GitHubGitHub/speytech/c-sentinel
Анализ уязвимостейСетевая безопасностьБезопасность облачных средDevSecOpsРазведка угрозАутентификацияОбнаружение ВторженийРеагирование на ИнцидентыБезопасность ИИОбнаружение АномалийАнализ Журналов
7284 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
speytech/c-sentinel

c-sentinel

Семантическая наблюдаемость для UNIX-систем — легковесный системный зонд на C с анализом на основе ИИ

РепозиторийСайт

C-Sentinel

Семантическая наблюдаемость для UNIX-систем

Легкий, портативный системный пробник, написанный на C, который захватывает «системные отпечатки» для AI-анализа неочевидных рисков. Включает интеграцию с auditd, объяснимую оценку рисков и живую веб-панель с корпоративной многоуровневой аутентификацией.

License: MIT Version

Живая демонстрация: sentinel.speytech.com

Скриншоты

Панель безопасности

Панель безопасности

Обзор нескольких хостов

Панель хостов

Профиль пользователя и настройки безопасности

Страница профиля

Двухфакторная аутентификация

НастройкаВход
Настройка 2FAВход 2FA

Персональные API-ключи

API-ключи

Функции администратора

Управление сессиями

Сессии

Журнал аудита

Журнал аудита

Безопасный вход

Страница входа

Что нового в v0.6.0

  • 👥 Многопользовательская аутентификация - Управление доступом на основе ролей (Администратор/Оператор/Наблюдатель)
  • 🔐 Двухфакторная аутентификация - Поддержка TOTP с Google Authenticator, Authy и др.
  • 🔑 Персональные API-ключи - API-ключи для каждого пользователя для автоматизации и CI/CD
  • 📋 Журнал аудита администратора - Отслеживание всех действий пользователей с фильтрацией
  • 💻 Управление сессиями - Просмотр активных сессий, отзыв доступа, принудительный выход
  • 📧 Оповещения по email и Slack - Проактивные уведомления с форматированием
  • 🎨 Современные уведомления toast - Больше никаких JavaScript-оповещений из 90-х!
  • 👁️ Режим публичной демонстрации - Доступ только для чтения для демонстрации вашей панели
  • 📱 Адаптивный дизайн для мобильных - Полная функциональность на телефонах и планшетах

Предыдущие релизы

v0.5.x: Сводка по безопасности, sparkline тренда рисков, индикатор обучения, объяснимые факторы риска, оповещения по email, история событий

v0.4.0: Интеграция с auditd, обнаружение подбора паролей, хеширование имен пользователей с сохранением конфиденциальности, привязка к процессам, оценка рисков

v0.3.0: Веб-панель, SHA256-суммы, systemd-сервис, обучение на основе базовых значений, сетевой пробник, режим наблюдения

Проблема

Современные инструменты наблюдаемости, такие как Dynatrace, Datadog и Prometheus, отлично справляются со сбором метрик и пороговым оповещением. Но они отвечают на узкий вопрос: «Находится ли эта метрика за пределами ожидаемого диапазона?»

Они испытывают трудности с:

  • Причинно-следственными рассуждениями: Почему что-то вышло из строя?
  • Синтезом контекста: Связывание изменения конфигурации на прошлой неделе с сегодняшним всплеском задержек
  • Неочевидной деградацией: То, что не «сломалось», но дрейфует к отказу
  • Контекстом безопасности: Понимание того, кто получил доступ к чему и почему это важно

C-Sentinel предлагает другой подход: захватить полный системный отпечаток, включая события безопасности, и использовать рассуждения LLM для выявления «призраков в машине».

Быстрый старт```bash

Clone and build

git clone https://github.com/williamofai/c-sentinel.git cd c-sentinel make

Quick analysis

./bin/sentinel --quick --network

Quick analysis with security events (requires root for audit logs)

sudo ./bin/sentinel --quick --network --audit

Learn baselines (automatic with --audit flag)

./bin/sentinel --learn --network

Continuous monitoring with full context

sudo ./bin/sentinel --watch --interval 300 --network --audit

root@kitploit:~
## Возможности панели управления

Веб-панель предоставляет мониторинг безопасности в реальном времени по всей вашей инфраструктуре.

### Многопользовательская аутентификация

Контроль доступа корпоративного уровня с тремя ролями:

| Роль | Разрешения |
|------|-------------|
| **Администратор** | Полный доступ: управление пользователями, просмотр журналов аудита, все операции |
| **Оператор** | Подтверждение событий, сброс счетчиков, просмотр всех данных |
| **Наблюдатель** | Доступ только для чтения к панелям и данным |

### Двухфакторная аутентификация (TOTP)

Защитите свою учетную запись с помощью отраслевого стандарта TOTP:
- Работает с Google Authenticator, Authy, Microsoft Authenticator
- Настройка по QR-коду для простой конфигурации
- Требуется при каждом входе, если включено
- Уведомления по электронной почте при включении/отключении

### Персональные API-ключи

Каждый пользователь может создавать свои собственные API-ключи для автоматизации:
- Именованные ключи (например, "CI/CD Pipeline", "Monitoring Script")
- Опциональные даты истечения срока действия
- Включение/отключение без удаления
- Отслеживание последнего использования
- Ключи наследуют разрешения роли пользователя```bash
# Use your personal API key
curl -X POST https://sentinel.example.com/api/ingest \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_your_personal_key" \
  -d @fingerprint.json

Журнал аудита администратора

Отслеживайте все действия пользователей для соответствия требованиям и безопасности:

  • События входа/выхода с IP-адресами
  • Действия по управлению пользователями (создание, обновление, удаление)
  • Изменения паролей
  • Отзыв сессий
  • Фильтрация по пользователю, типу действия и временному диапазону

Управление сессиями

Полная видимость активных сессий:

  • Просмотр, кто и откуда вошёл в систему
  • Определение устройства и браузера
  • Отзыв отдельных сессий
  • «Выйти из всех остальных» при инцидентах безопасности
  • Автоматическая очистка просроченных сессий

Сводка состояния безопасности

Простое объяснение статуса безопасности вашей системы:

«В этой системе не обнаружено проблем безопасности. Шаблоны аутентификации нормальные, сбоев не выявлено. Активность повышения привилегий не обнаружена. Общее состояние: ЗДОРОВОЕ.»

Объяснимая оценка риска

Каждый показатель риска включает факторы, объясняющие почему:

ФакторВес
10 неудачных аутентификаций (на 200% выше базового уровня – высокий)+30
Обнаружен шаблон атаки грубой силы+10
Получен доступ к 2 конфиденциальным файлам+4
Итого44

Индикатор обучения/калибровки

Система изучает, что является «нормальным» для вашего окружения:

ОбразцыСтатусЗначение
< 10🧠 ОбучениеПостроение начального базового уровня
10-50🧠 КалибровкаУточнение нормальных шаблонов
> 50(скрыто)

График тренда риска

Мини-диаграмма, показывающая историю показателей риска за 24 часа – мгновенно видно, улучшается ситуация или ухудшается.

Оповещения по электронной почте и Slack

Автоматические уведомления по email и/или Slack при:

  • Показателе риска ≥ 16 (высокий/критический)
  • Обнаружении атаки грубой силы
  • Выполнениях из /tmp или /dev/shm
  • Входе пользователя с нового IP
  • Изменении пароля или 2FA

Оповещения Slack включают форматирование с цветовой кодировкой серьёзности, кликабельными ссылками на панель управления и структурированными данными о факторах риска.

Интеграция с Auditd

C-Sentinel обобщает журналы auditd для семантического анализа безопасности.

Пример вывода```

C-Sentinel Quick Analysis

Hostname: axioma-validator Uptime: 14.5 days Load: 0.02 0.04 0.00 Memory: 49.2% used Processes: 120 total

Potential Issues: Zombie processes: 0 High FD processes: 1 Long-running (>7d): 95 Config permission issues: 0

Network: Listening ports: 26 Established connections: 14 Unusual ports: 12 ⚠

Security (audit): Auth failures: 6 ⚠ BRUTE FORCE PATTERN DETECTED Sudo commands: 81 Sensitive file access: 2 - /etc/passwd by touch - /etc/shadow by touch ⚠

Risk: high (score: 25)

root@kitploit:~
### JSON Output```json
{
  "audit_summary": {
    "enabled": true,
    "period_seconds": 300,
    "authentication": {
      "failures": 6,
      "failure_users_hashed": ["user_c4c5", "user_b91b"],
      "brute_force_detected": true
    },
    "privilege_escalation": {
      "sudo_count": 81,
      "sudo_baseline_avg": 12.5,
      "sudo_deviation_pct": 548.0,
      "su_count": 5
    },
    "file_integrity": {
      "sensitive_file_access": [
        {
          "path": "/etc/shadow",
          "access": "write",
          "count": 2,
          "process": "touch",
          "process_chain": ["touch", "bash", "sshd"],
          "suspicious": true
        }
      ]
    },
    "learning": {
      "sample_count": 42,
      "confidence": "medium"
    },
    "risk_factors": [
      {"reason": "6 auth failures (200% above baseline - high)", "weight": 18},
      {"reason": "Brute force attack pattern detected", "weight": 10}
    ],
    "risk_score": 25,
    "risk_level": "high"
  }
}

Настройка правил аудита

Для достижения наилучших результатов добавьте правила аудита для конфиденциальных файлов:```bash

Add audit rules

sudo auditctl -w /etc/passwd -p wa -k identity sudo auditctl -w /etc/shadow -p wa -k identity sudo auditctl -w /etc/sudoers -p wa -k priv_esc sudo auditctl -w /var/log/lastlog -p wa -k auth

Make permanent (add to /etc/audit/rules.d/sentinel.rules)

root@kitploit:~
### Функции конфиденциальности

- **Хеширование имён пользователей**: Имена неудачных попыток входа хешируются (например, `user_c4c5`), что позволяет обнаруживать шаблоны без раскрытия личностей
- **Без паролей**: Аргументы команд и конфиденциальные данные никогда не захватываются
- **Только имена процессов**: Полные пути очищаются для конфиденциальности

## Веб-панель

C-Sentinel включает веб-панель для мониторинга нескольких хостов в реальном времени.

### Функции

- **Многофакторная аутентификация пользователей** – управление доступом на основе ролей
- **Двухфакторная аутентификация** – TOTP с настройкой QR-кода
- **Личные API-ключи** – ключи автоматизации для каждого пользователя
- **Журнал аудита администратора** – полная история действий
- **Управление сессиями** – контроль активных сессий
- **Сводка состояния безопасности** – статус системы на простом языке
- **Спарклайн тренда риска** – визуальная история за 24 часа
- **Объяснимые факторы риска** – знайте *почему* оценка такая, какая она есть
- **Индикатор обучения** – прогресс калибровки базовой линии
- **История событий** – временная шкала с подтверждением
- **Email-оповещения** – проактивные уведомления
- **Мониторинг в реальном времени** – все хосты с одного взгляда
- **Исторические графики** – память и нагрузка за 24 часа
- **Сетевой обзор** – все прослушиваемые порты и соединения
- **Отслеживание конфигураций** – SHA256-контрольные суммы отслеживаемых файлов

### Быстрая настройка```bash
# Install dashboard
cd dashboard
sudo ./install-dashboard.sh

# Run database migration
sudo -u postgres psql -d sentinel -f migrate.sql

# Install 2FA dependencies (optional)
sudo /opt/sentinel-dashboard/venv/bin/pip install pyotp qrcode pillow

# Configure agent to report (with audit)
*/5 * * * * sudo /usr/local/bin/sentinel --json --network --audit | curl -s -X POST \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d @- https://your-dashboard.com/api/ingest

Конфигурация оповещений по email

Добавьте в ваш systemd service или environment:```bash ALERT_EMAIL_ENABLED=true ALERT_SMTP_HOST=smtp.gmail.com ALERT_SMTP_PORT=587 ALERT_SMTP_USER=[email protected] ALERT_SMTP_PASS=your-app-password ALERT_FROM=[email protected] ALERT_TO=[email protected] ALERT_COOLDOWN_MINS=60

root@kitploit:~
### Конфигурация Slack Webhook```bash
ALERT_SLACK_ENABLED=true
ALERT_SLACK_WEBHOOK=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
ALERT_SLACK_CHANNEL=#security-alerts    # Optional - override default webhook channel
ALERT_SLACK_USERNAME=C-Sentinel         # Optional - bot display name

Чтобы получить URL вебхука:

  1. Перейдите на api.slack.com/apps
  2. Создайте новое приложение → «С нуля»
  3. Включите «Входящие вебхуки»
  4. Нажмите «Добавить новый вебхук в рабочее пространство»
  5. Выберите канал и скопируйте URL вебхука

Полные инструкции по настройке см. в dashboard/README.md.

Режим публичной демонстрации

Включите публичный доступ только для чтения для демонстрации вашей панели управления:```bash Environment="DEMO_MODE=true"

root@kitploit:~
В демо-режиме:
- Вход не требуется — посетители попадают прямо на панель управления
- Доступ только для чтения (роль зрителя)
- Административные функции скрыты
- Ссылки на профиль/выход заменены ссылкой на GitHub
- Жёлтый баннер указывает на демо-режим

Отлично подходит для постов в LinkedIn, статей в блоге или для ознакомления потенциальных клиентов перед развёртыванием.

## Systemd Service

Для производственного развёртывания:```bash
# Install
sudo ./install.sh

# Enable and start
sudo systemctl enable sentinel
sudo systemctl start sentinel

# Check status
sudo journalctl -u sentinel -f

Все возможности

Цветной вывод определяется автоматически (TTY) и соответствует стандарту NO_COLOR.

Коды выхода (для CI/CD)

КодЗначение
0Проблем не обнаружено
1Предупреждения (незначительные проблемы)
2Критично (зомби, проблемы с правами, необычные порты, события высокого риска безопасности)
3

Что он собирает

Что он помечает

Системные проблемы

  • 🧟 Зомби-процессы: Всегда проблема
  • 📂 Высокое количество FD: Потенциальные утечки дескрипторов (>100 открытых)
  • ⏰ Долго работающие процессы: >7 дней без перезапуска
  • 🔓 Проблемы с правами: Конфиги с доступом на запись для всех

Сетевые проблемы

  • 🌐 Необычные порты: Службы, отсутствующие в списке общих портов
  • 📡 Новые слушатели: Порты, которые не были в базовой линии
  • ❌ Отсутствующие службы: Ожидаемые порты, которые перестали слушать

Проблемы безопасности (с --audit)

  • 🔐 Подбор паролей: Всплески ошибок аутентификации (>5 за окно)
  • 📊 Отклонение от базовой линии: Активность значительно выше нормы
  • 📝 Доступ к конфиденциальным файлам: Изменения /etc/shadow, /etc/sudoers
  • ⚠️ Подозрительные процессы: Необычный процесс обращается к конфиденциальным файлам
  • 💀 Индикаторы вредоносного ПО: Выполнения из /tmp или /dev/shm

Архитектура```

┌─────────────────────────────────────────────────────────────────┐ │ Web Dashboard │ │ • Multi-user auth (RBAC) • Two-factor authentication │ │ • Personal API keys • Session management │ │ • Admin audit log • Email & Slack alerts │ │ • Security posture summary • Risk trend sparkline │ │ • Explainable risk factors • Event history timeline │ │ • Multi-host view • Historical charts │ └─────────────────────────────────────────────────────────────────┘ ▲ │ JSON via HTTP POST │ ┌─────────────────────────────────────────────────────────────────┐ │ C Foundation (99KB) │ │ • /proc parsing • SHA256 checksums │ │ • Process analysis • Drift detection │ │ • Network probing • Baseline learning │ │ • Auditd parsing • Risk scoring │ │ • Process chains • Anomaly detection │ └─────────────────────────────────────────────────────────────────┘

root@kitploit:~
### Почему C?

| Параметр | Python | C |
|---------|--------|---|
| **Зависимости** | Требует среду выполнения Python (~100MB) | Статический бинарный файл (~99KB) |
| **Время запуска** | ~500ms запуск интерпретатора | ~1ms |
| **Память** | ~30MB базовый объём | <2MB |
| **Переносимость** | Требуется соответствующая версия Python | Работает на любой POSIX-системе |

## Сборка```bash
make              # Release build
make DEBUG=1      # Debug build with symbols
make test         # Run all tests (unit + integration)
make install      # Install to /usr/local/bin

Тестирование

C-Sentinel включает в себя комплексный набор тестов, состоящий из 128+ модульных тестов, использующих тестовый фреймворк cmocka.

Установка cmocka

Debian/Ubuntu:```bash sudo apt-get install libcmocka-dev

root@kitploit:~
**Fedora/RHEL/CentOS:**```bash
sudo dnf install libcmocka-devel

macOS (Homebrew):```bash brew install cmocka

root@kitploit:~
**FreeBSD:**```bash
sudo pkg install cmocka

OpenBSD:```bash doas pkg_add cmocka

root@kitploit:~
### Запуск тестов```bash
make test              # Run all tests (unit + integration)
make unit-test         # Run unit tests only (requires cmocka)
make integration-test  # Run integration/smoke tests only
make coverage          # Run tests with gcov coverage report
make check-cmocka      # Verify cmocka is installed correctly

Покрытие тестами

Модульные тесты охватывают:

Написание новых тестов

Тесты находятся в tests/src/ и следуют соглашениям cmocka:```c #include <stdarg.h> #include <stddef.h> #include <setjmp.h> #include <cmocka.h> #include "test_helpers.h"

static void test_example(void **state) { (void)state; assert_int_equal(1 + 1, 2); }

int main(void) { const struct CMUnitTest tests[] = { cmocka_unit_test(test_example), }; return cmocka_run_group_tests(tests, NULL, NULL); }

root@kitploit:~
Добавьте новые тестовые файлы в переменную `TEST_SOURCES` в Makefile.

## Поддержка платформ

| Платформа | Сборка | Зонд процесса | Сетевой зонд | Аудит |
|----------|-------|---------------|---------------|-------|
| Linux | ✅ | ✅ /proc | ✅ /proc/net | ✅ auditd |
| macOS | ✅ | ✅ libproc | ✅ netstat | ❌ N/A |
| FreeBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| OpenBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| NetBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| DragonFlyBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |

### Требования

- GCC или Clang с поддержкой C99
- GNU Make (gmake на BSD)
- Поддерживаемые платформы:
  - Linux (ядро 3.x+)
  - macOS (10.12+)
  - FreeBSD (12+)
  - OpenBSD (7.x)
  - NetBSD (9.x)
  - DragonFlyBSD (6.x)
- auditd (опционально, только Linux для флага `--audit`)

## Структура проекта```
c-sentinel/
├── include/
│   ├── sentinel.h        # Core data structures
│   └── audit.h           # Audit integration types
├── src/
│   ├── main.c            # CLI entry point
│   ├── prober.c          # System probing (/proc)
│   ├── net_probe.c       # Network probing
│   ├── audit.c           # Auditd log parsing
│   ├── audit_json.c      # Audit JSON serialisation
│   ├── process_chain.c   # Process ancestry walking
│   ├── baseline.c        # Baseline learning
│   ├── sha256.c          # Pure C SHA256
│   └── ...
├── dashboard/            # Flask web dashboard
├── deploy/               # Systemd service files
└── docs/
    ├── AUDIT_SPEC.md     # Audit integration design
    └── DESIGN_DECISIONS.md

Дорожная карта

Завершено ✅

  • Базовый системный пробник
  • Сериализация JSON
  • Сетевое зондирование
  • Режим наблюдения и обучение базовой линии
  • Контрольные суммы SHA256
  • Служба systemd
  • Веб-панель управления
  • Интеграция с auditd
  • Оценка риска с анализом отклонений
  • Атрибуция процессов
  • Аутентификация панели управления
  • Временная шкала истории событий
  • Объяснимые факторы риска
  • Сводка состояния безопасности
  • Спарклайн тренда риска
  • Индикатор обучения/калибровки

Запланировано 📋

  • Оповещения через вебхуки Microsoft Teams
  • Пользовательские правила оповещений
  • Отчёты по безопасности в PDF
  • Разрешения на уровне хоста

Лицензия

Лицензия MIT — подробности см. в LICENSE.

Автор

William Murray — 30 лет инженерии UNIX-систем

  • GitHub: @williamofai
  • LinkedIn: William Murray
  • Веб-сайт: speytech.com

"Цель не в том, чтобы заменить инструменты мониторинга, а в том, чтобы добавить мудрости к их данным."

Скачать инструмент
Полностью откалибровано
ФункцияКомандаОписание
Быстрый анализ--quickСводка в читаемом виде
Сетевое сканирование--networkСлушающие порты и соединения
Аудит--auditСобытия безопасности (требует root)
Режим наблюдения--watch --interval 60Непрерывный мониторинг
Обучение базовой линии--learnСохранить текущее состояние как "normal"
База аудита--audit-learnИзучение нормальных шаблонов безопасности
Сравнение с базой--baselineОбнаружение отклонений
JSON вывод--jsonПолный отпечаток для LLM/панели
Цветной вывод--colorЦветной вывод в терминал
Конфигурация--configПоказать текущие настройки
Ошибка (сбой сканирования)
КатегорияДанныеНазначение
СистемаИмя хоста, ядро, время работы, нагрузка, памятьБазовый контекст состояния
ПроцессыЗаметные процессы с метаданнымиОбнаружение зомби, утечек, зависаний
КонфигиМетаданные файлов + SHA256 контрольные суммыОбнаружение криптографического дрейфа
СетьСлушатели, соединения, портыМониторинг служб
БезопасностьОшибки аутентификации, использование sudo, доступ к файламОбнаружение угроз
МодульТестыПокрытие
SHA25610тестовые векторы NIST, граничные случаи
Sanitize30Валидация ввода, предотвращение инъекций
Policy36Правила разрешения/запрета команд/путей
JSON Serialize11Форматирование вывода, экранирование
Baseline11Режим обучения, обнаружение отклонений
Config9Разбор конфигурации
Audit21Оценка рисков, анализ событий
  • Email-оповещения
  • Поддержка macOS
  • Поддержка FreeBSD (FreeBSD, OpenBSD, NetBSD, DragonFlyBSD)
  • Многопользовательская панель с ролями
  • Двухфакторная аутентификация (TOTP)
  • Персональные API-ключи
  • Журнал аудита администратора
  • Управление сессиями
  • Оповещения через вебхуки Slack
  • Режим публичной демонстрации
  • Цветной вывод в терминале