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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/ebwi11/agentsmith-hids
Повышение привилегийРазведкаБезопасность контейнеровРазведка угрозОбнаружение ВторженийРеагирование на ИнцидентыАнализ DNSArchived
GitHubebwi11/agentsmith-hids

AgentSmith-HIDS

Система обнаружения вторжений на уровне хоста (HIDS) с открытым исходным кодом на технологии Kprobe от E_Bwill.

Репозиторий
602163235 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

AgentSmith-HIDS

                        -- Название этого проекта вдохновлено фильмом «Матрица»

License Project Status: Active – The project has reached a stable, usable state and is being actively developed.

English | 简体中文

ЭТОТ РЕПОЗИТОРИЙ УСТАРЕЛ

ВЕРСИЯ РЕЛИЗА: https://github.com/bytedance/Elkeid

Об AgentSmith-HIDS

Технически AgentSmith-HIDS не является системой обнаружения вторжений на уровне хоста (HIDS) из-за отсутствия механизма правил и функций обнаружения. Однако его можно использовать как высокопроизводительный «агент сбора информации о хосте» в рамках собственного решения HIDS. Полнота информации, которую может собирать этот агент, была одним из важнейших показателей при разработке этого проекта, поэтому он был построен для работы в стеке ядра и имеет огромное преимущество по сравнению с агентами, работающими в пользовательском стеке, такими как:

  • Лучшая производительность — необходимая информация собирается в стеке ядра, что позволяет избежать дополнительных действий, таких как обход '/proc'; для повышения производительности передачи данных собранные данные передаются через общую оперативную память вместо netlink.
  • Сложность обхода — сбор информации осуществляется с помощью специально разработанного драйвера ядра, что делает практически невозможным обход обнаружения для вредоносного ПО, такого как руткиты, которые могут намеренно скрывать себя.
  • Лёгкая интеграция — AgentSmith-HIDS создан для интеграции с другими приложениями и может использоваться не только как инструмент безопасности, но и как хороший инструмент мониторинга или даже как детектор ваших активов. Агент способен собирать для вас информацию о пользователях, файлах, процессах и сетевых подключениях. Представьте, что при интеграции с CMDB вы получите комплексную карту вашей сети, хостов, контейнеров и бизнеса (даже зависимостей). А что, если у вас ещё есть инструмент аудита баз данных? Карту можно расширить, включив в неё взаимосвязи между вашими БД, пользователями БД, таблицами, полями, приложениями, сетью, хостами и контейнерами и т. д. Если подумать о возможности интеграции с системой обнаружения сетевых вторжений и/или Threat Intelligence, можно добиться ещё более высокой трассируемости. Это никогда не устаревает.
  • Стек ядра + пользовательский стек — AgentSmith-HIDS также предоставляет модуль пользовательского стека для дальнейшего расширения функциональности при совместной работе с модулем стека ядра.

Основные возможности AgentSmith-HIDS:

  • Модуль стека ядра перехватывает поведение execve, connect, внедрение процесса, создание файла, DNS-запрос, загрузку LKM через Kprobe, а также способен отслеживать контейнеры благодаря совместимости с пространством имён Linux.
  • Модуль пользовательского стека использует встроенные функции обнаружения, включая запросы списка пользователей, списка прослушиваемых портов, списка RPM-пакетов системы, заданий по расписанию.
  • AntiRootkit — из Tyton , на данный момент добавлены функции PROC_FILE_HOOK, SYSCALL_HOOK, LKM_HIDDEN, INTERRUPTS_HOOK, но работают только на ядре > 3.10.
  • Мониторинг смены учётных данных (кроме sudo/su/sshd)
  • Мониторинг входа пользователей

Сценарии/методы использования AgentSmith-HIDS (будут добавлены)

  • Как обнаружить реверс-шелл с помощью AgentSmith HIDS

О совместимости с версиями ядра

  • Ядро > 2.6.25
  • AntiRootKit > 3.10

О совместимости с контейнерами

ИсточникИмя узла
Хостhostname
Dockerимя контейнера
k8sимя пода

Состав AgentSmith-HIDS

  • Модуль стека ядра (LKM) Перехватывает ключевые функции через Kprobe для захвата необходимой информации.
  • Модуль пользовательского стека Собирает данные, захваченные модулем стека ядра, выполняет необходимую обработку и отправляет их в Kafka; Постоянно отправляет пакеты heartbeat на сервер для идентификации целостности процесса; Выполняет команды, полученные от сервера.
  • Сервер агента (опционально) Отправляет команды модулю пользовательского стека и отслеживает состояние модуля пользовательского стека.

Хук Execve

Реализован перехватом sys_execve()/sys_execveat()/compat_sys_execve()/compat_sys_execveat(), пример:

{
    "uid":"0",
    "data_type":"59",
    "run_path":"/tmp",
    "exe":"/opt/ltp/testcases/bin/growfiles",
    "argv":"growfiles -W gf26 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 128-32768:128 -R 512-64000 -T 4 -f gfsmallio-35861 -d /tmp/ltp-Ujxl8kKsKY ",
    "pid":"35861",
    "ppid":"35711",
    "pgid":"35861",
    "tgid":"35861",
    "comm":"growfiles",
    "nodename":"test",
    "stdin":"/dev/pts/1",
    "stdout":"/dev/pts/1",
    "sessionid":"3",
    "sip":"192.168.165.1",
    "sport":"61726",
    "dip":"192.168.165.128",
    "dport":"22",
    "sa_family":"1",
    "pid_tree":"1(systemd)->1384(sshd)->2175(sshd)->2177(bash)->2193(fish)->35552(runltp)->35711(ltp-pan)->35861(growfiles)",
    "tty_name":"pts1",
    "socket_process_pid":"2175",
    "socket_process_exe":"/usr/sbin/sshd",
    "SSH_CONNECTION":"192.168.165.1 61726 192.168.165.128 22",
    "LD_PRELOAD":"/root/ldpreload/test.so",
    "user":"root",
    "time":"1579575429143",
    "local_ip":"192.168.165.128",
    "hostname":"test",
    "exe_md5":"01272152d4901fd3c2efacab5c0e38e5",
    "socket_process_exe_md5":"686cd72b4339da33bfb6fe8fb94a301f"
}

Хук Bind

Реализован перехватом sys_bind(), пример:

{
    "uid":"0",
    "data_type":"49",
    "sa_family":"2",
    "exe":"/usr/bin/python2.7",
    "pid":"109640",
    "ppid":"215496",
    "pgid":"109640",
    "tgid":"109640",
    "comm":"python",
    "nodename":"n225-117-018",
    "sip":"0.0.0.0",
    "sport":"8000",
    "res":"0",
    "sessionid":"30",
    "user":"root",
    "time":"1587540231936",
    "local_ip_str":"10.225.117.18",
    "hostname_str":"n225-117-018",
    "exe_md5":"4f458165a2129ba549f1b6605ee87e74"
}

Хук Connect

Реализован перехватом tcp_v4_connect()/tcp_v6_connect()/ip4_datagram_connect()/ip6_datagram_connect(), пример:

{
    "uid":"0",
    "data_type":"42",
    "sa_family":"2",
    "connect_type":"4",
    "dport":"1025",
    "dip":"180.101.49.11",
    "exe":"/usr/bin/ping",
    "pid":"6294",
    "ppid":"1941",
    "pgid":"6294",
    "tgid":"6294",
    "comm":"ping",
    "nodename":"test",
    "sip":"192.168.165.153",
    "sport":"45524",
    "res":"0",
    "sessionid":"1",
    "user":"root",
    "time":"1575721921240",
    "local_ip":"192.168.165.153",
    "hostname":"test",
    "exe_md5":"735ae70b4ceb8707acc40bc5a3d06e04"
}

Хук DNS-запроса

Реализован перехватом udp_recvmsg()/udpv6_recvmsg(), пример:

{
    "uid":"0",
    "data_type":"601",
    "sa_family":"2",
    "dport":"53",
    "dip":"192.168.165.2",
    "exe":"/usr/bin/ping",
    "pid":"6294",
    "ppid":"1941",
    "pgid":"6294",
    "tgid":"6294",
    "comm":"ping",
    "nodename":"test",
    "sip":"192.168.165.153",
    "sport":"53178",
    "qr":"1",
    "opcode":"0",
    "rcode":"0",
    "query":"www.baidu.com",
    "sessionid":"1",
    "user":"root",
    "time":"1575721921240",
    "local_ip":"192.168.165.153",
    "hostname":"test",
    "exe_md5":"39c45487a85e26ce5755a893f7e88293"
}

Хук создания файла

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