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

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

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

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

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

Категории

Все категории
Loading categories
malcom — Malcom - Анализатор коммуникаций вредоносного ПО | Kitploit
Инструменты/GitHubGitHub/tomchop/malcom
Сетевая криминалистикаАнализ вредоносных программРазведка угроз
GitHubtomchop/malcom

malcom

Malcom - Анализатор коммуникаций вредоносного ПО

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

Популярное

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

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

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

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

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

Malcom - Анализатор коммуникаций вредоносного ПО

Malcom — это инструмент, предназначенный для анализа сетевых коммуникаций системы с использованием графических представлений сетевого трафика и их перекрёстной сверки с известными источниками вредоносного ПО. Это удобно при анализе того, как определённые виды вредоносных программ пытаются взаимодействовать с внешним миром.

  • Что такое Malcom?
  • Краткое руководство
  • Установка
  • Параметры конфигурации
  • Экземпляр Docker
  • Краткое примечание о перехвате TLS
  • Окружение
  • Ленты
  • Технические характеристики
  • План развития
  • Отказ от ответственности
  • Лицензия

Что такое Malcom?

Malcom может помочь вам:

  • обнаруживать центральные серверы управления и контроля (C&C)
  • понимать пиринговые сети
  • наблюдать за инфраструктурами DNS fast-flux
  • быстро определить, является ли сетевой артефакт «известно-вредоносным»

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

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

Если вам нужна помощь или вы хотите внести свой вклад, присоединяйтесь к списку рассылки или попробуйте связаться с кем-нибудь в IRC (#malcom на freenode.net, там довольно тихо, но кто-нибудь всегда есть). Также вы можете написать мне в Twitter @tomchop_

Вот пример графа для хоста tomchop.me nodes-tomchop.png

Вид набора данных (отфильтровано только для отображения IP-адресов) dataset-view.png

Краткое руководство

  • Установите
  • Убедитесь, что mongodb и redis-server запущены
  • Повысьте свои привилегии до root (да, я знаю, см. отказ от ответственности)
  • Запустите веб-сервер, используя конфигурацию по умолчанию с ./malcom.py -c malcom.conf (или посмотрите опции с ./malcom.py --help) ** Для примера конфигурационного файла вы можете скопировать malcom.conf.example в malcom.conf ** Порт по умолчанию — 8080 ** Альтернативно, запустите ленты из celery. См. раздел ленты для подробностей о том, как это сделать.

Установка

Malcom написан на Python. При наличии необходимых библиотек вы сможете запустить его на любой платформе. Я настоятельно рекомендую использовать виртуальные окружения Python (virtualenv), чтобы не испортить системные библиотеки.

Следующее было протестировано на Ubuntu Server 14.04 LTS:

  • Установите git, python, библиотеки libevent, mongodb, redis и другие зависимости.

      $ sudo apt-get install build-essential git python-dev libevent-dev mongodb libxml2-dev libxslt-dev zlib1g-dev redis-server libffi-dev libssl-dev python-virtualenv
    
  • Клонируйте Git-репозиторий:

      $ git clone https://github.com/tomchop/malcom.git malcom
    
  • Создайте виртуальное окружение и активируйте его:

      $ cd malcom
      $ virtualenv env-malcom
      $ source env-malcom/bin/activate
    
  • Получите и установите scapy:

      $ cd .. 
      $ wget http://www.secdev.org/projects/scapy/files/scapy-latest.tar.gz
      $ tar xvzf scapy-latest.tar.gz
      $ cd scapy-2.1.0
      $ python setup.py install
    
  • Всё ещё находясь в виртуальном окружении, установите необходимые пакеты Python из файла requirements.txt:

      $ cd ../malcom
      $ pip install -r requirements.txt
    
  • Для работы геолокации IP необходимо загрузить базу данных Maxmind и извлечь файл в каталог malcom/Malcom/auxiliary/geoIP. Вы можете получить бесплатную (и, следовательно, более или менее точную) базу данных Maxmind по следующей ссылке: http://dev.maxmind.com/geoip/geoip2/geolite2/:

      $ cd Malcom/auxiliary/geoIP
      $ wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
      $ gunzip -d GeoLite2-City.mmdb.gz
      $ mv GeoLite2-City.mmdb GeoIP2-City.mmdb
    
  • Запустите веб-сервер из каталога malcom, используя ./malcom.py. Для интерфейса прослушивания и портов смотрите ./malcom.py --help.

    • Для начала вы можете скопировать файл malcom.conf.example в malcom.conf и выполнить ./malcom.py -c malcom.conf

Параметры конфигурации

База данных

По умолчанию Malcom попытается подключиться к локальному экземпляру mongodb и создать свою собственную базу данных с именем malcom. Если это вас устраивает, можете пропустить следующие шаги. В противном случае вам нужно отредактировать раздел database вашего файла malcom.conf.

Установка другого имени для вашей базы данных Malcom

По умолчанию Malcom будет использовать базу данных с именем malcom. Вы можете изменить это поведение, отредактировав файл malcom.conf и установив директиву name в разделе database по своему усмотрению.

    [database]
    ...
    name = my_malcom_database
    ...
Удаленная(ые) база(ы) данных

По умолчанию Malcom попытается подключиться к localhost, но ваша база данных может находиться на другом сервере. Чтобы изменить это, просто установите директиву hosts. Вы можете использовать имена хостов или IPv4/v6 адреса (только не забудьте заключать IPv6-адреса в [ и ], например [::1]).

Если вы хотите использовать отдельную базу данных на хосте my.mongo.server, просто установите:

    [database]
    ...
    hosts = my.mongo.server
    ...

Вы также можете указать порт, который прослушивает mongod, указав его после имени/адреса вашего сервера, разделив их символом :

    [database]
    ...
    hosts = localhost:27008
    ...

А если вы используете ReplicaSet, объединяющий my.mongo1.server и my.mongo2.server, просто установите:

    [database]
    ...
    hosts = my.mongo1.server,my.mongo2.server
    ...
Использование аутентификации

Возможно, вы настроили свои экземпляры mongod таким образом, чтобы они требовали аутентификацию при подключении. В этом случае вам необходимо указать имя пользователя, которое драйвер будет использовать для подключения к вашему экземпляру mongod. Для этого просто добавьте директиву username в раздел database файла malcom.conf. Возможно, вам также потребуется установить пароль с помощью директивы password. Если у пользователя нет пароля, просто проигнорируйте (т.е. закомментируйте) директиву password.

    [database]
    ...
    username = my_user
    password = change_me
    ...

Если пользователь не привязан к базе данных malcom, а к другой (например, к базе данных admin для администратора), вам нужно будет установить директиву authentication_database с именем этой базы данных.

    [database]
    ...
    authentication_database = some_other_database
    ...
Случай реплика-сета

При использовании реплика-сета вам может потребоваться убедиться, что вы подключены к правильному. Для этого добавьте директиву replset, чтобы заставить драйвер mongo проверить имя реплика-сета.

    [database]
    ...
    replset = my_mongo_replica
    ...
Скачать инструмент