Архив метки: Закрытие уязвимостей

Zabbix Threat Control – плагин оценки уязвимости с помощью Zabbix

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

Что делает плагин

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

Информация отображается в Zabbix в следующем формате:

  • Максимальный показатель CVSS для каждого сервера.
  • Команда для исправления всех обнаруженных уязвимостей для каждого сервера.
  • Список бюллетеней по безопасности с описаниями уязвимых пакетов, действительными для вашей инфраструктуры.
  • Список всех уязвимых пакетов в вашей инфраструктуре.

Информация о бюллетенях по безопасности и пакетах включает:

  • Индекс воздействия на инфраструктуру.
  • CVSS-оценка пакета или бюллетеня.
  • Количество затронутых серверов.
  • Подробный список затронутых хостов.
  • Гиперссылка на описание бюллетени.

Иногда невозможно обновить все пакеты на всех серверах до версии, которая устраняет существующие уязвимости.

Предложенное представление позволяет выборочно обновлять серверы или пакеты.

Этот подход позволяет исправлять уязвимости с использованием разных стратегий:

  • все уязвимости на конкретном сервере;
  • одна уязвимость во всей инфраструктуре.

Это можно сделать непосредственно из Zabbix (используя стандартную функциональность) либо по команде администратора, либо автоматически.

Как работает плагин

  • Используя Zabbix API, плагин получает списки установленных пакетов, имен и версий ОС со всех серверов в инфраструктуре (если с ними связан шаблон «Vulners OS-Report»).
  • Передача данных в Vulners
  • Получает информацию об уязвимостях для каждого сервера.
  • Обрабатывает полученную информацию, агрегирует ее и отправляет обратно в Zabbix через zabbix-sender.
  • Наконец, результат отображается в Zabbix.

Требования

На узле zabbix-сервера:

  • python 3 (только для ztc скриптов)
  • python modules: pyzabbix, jpath, requests
  • zabbix version 3.4
  • zabbix-sender utility
  • zabbix-get utility

На всех серверах, требующих сканирования уязвимостей:

  • zabbix-agent

Установка

RHEL, CentOS и другие RPM

rpm -Uhv https://repo.vulners.com/redhat/vulners-repo.rpm

На узле zabbix-сервера:

yum install zabbix-threat-control-main zabbix-threat-control-host

На всех серверах, требующих сканирования уязвимостей:

yum install zabbix-threat-control-host

Debian и другие на его основе

 wget https://repo.vulners.com/debian/vulners-repo.deb



dpkg -i vulners-repo.deb 

На узле zabbix-сервера:

apt-get update && apt-get install zabbix-threat-control-main zabbix-threat-control-host

На всех серверах, требующих сканирования уязвимостей:

apt-get update && apt-get install zabbix-threat-control-host

Сборка из исходников

На узле zabbix-сервера:

git clone https://github.com/vulnersCom/zabbix-threat-control.git

mkdir -p /opt/monitoring/zabbix-threat-control

cp zabbix-threat-control/*.py /opt/monitoring/zabbix-threat-control/

cp zabbix-threat-control/*.conf /opt/monitoring/zabbix-threat-control/

chown -R zabbix:zabbix /opt/monitoring/zabbix-threat-control

chmod 640 /opt/monitoring/zabbix-threat-control/*.conf

touch /var/log/zabbix-threat-control.log

chown zabbix:zabbix /var/log/zabbix-threat-control.log

chmod 664 /var/log/zabbix-threat-control.log

На всех серверах, требующих сканирования уязвимостей:

git clone https://github.com/vulnersCom/zabbix-threat-control.git

mkdir -p /opt/monitoring/

cp -R zabbix-threat-control/os-report /opt/monitoring/

chown -R zabbix:zabbix /opt/monitoring/os-report

Настройка

Файл конфигурации находится здесь:

/opt/monitoring/zabbix-threat-control/ztc.conf

Учетные данные Vulners

Для использования API Vulners вам нужен api-ключ.

Чтобы получить его, выполните следующие шаги:

Войдите в систему на vulners.com.

Перейдите в userinfo https://vulners.com/userinfo.

Выберите «API KEYS».

Выберите «scan» в меню областей и нажмите «Generate new key».

Вы получите api-ключ, который выглядит так:

RGB9YPJG7CFAXP35PMDVYFFJPGZ9ZIRO1VGO9K9269B0K86K6XQQQR32O6007NUK

Теперь вам нужно добавить api-ключ Vulners в свой файл конфигурации (параметр) – >VulnersApiKey

VulnersApiKey = RGB9YPJG7CFAXP35PMDVYFFJPGZ9ZIRO1VGO9K9269B0K86K6XQQQR32O6007NUK

Учетные данные Zabbix

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

URL, имя пользователя и пароль. Обратите внимание, что Пользователь должен иметь права на создание групп, хостов и шаблонов в Zabbix.

Доменное имя и порт Zabbix-сервера для передачи данных с помощью zabbix-отправителя.

Ниже приведен пример допустимого файла конфигурации:

ZabbixApiUser = yourlogin

ZabbixApiPassword = yourpassword

ZabbixFrontUrl = https://zabbixfront.yourdomain.com



ZabbixServerFQDN = zabbixserver.yourdomain.com

ZabbixServerPort = 10051

Объект Zabbix

Чтобы создать все необходимые объекты в Zabbix, запустите:

prepare.py

скрипт с параметрами:

/opt/monitoring/zabbix-threat-control/prepare.py -uvtda 

Он проверит, что утилиты zabbix-agent и zabbix-get настроены правильно и создают следующие объекты с использованием Zabbix API:

  • Шаблон, используемый для сбора данных с серверов.
  • Zabbix хосты для получения данных об уязвимостях.
  • Уязвимость устраняется действием команды.
  • Панель инструментов для отображения результатов.

Серверы, требующие сканирования на наличие уязвимостей

Zabbix-агент должен иметь возможность выполнять удаленные команды.

Для этого измените параметры в файле конфигурации zabbix-agent

/etc/zabbix/zabbix_agentd.conf

добавьте следующие параметры:

EnableRemoteCommands=1



LogRemoteCommands=1

Zabbix-агент должен иметь возможность обновлять пакеты с правами root. Для этого добавьте строку в файл /etc/sudoers

zabbix ALL=(ALL) NOPASSWD: /usr/bin/yum -y update *

zabbix ALL=(ALL) NOPASSWD: /usr/bin/apt-get --assume-yes install --only-upgrade *

Выполнение

 /opt/monitoring/os-report/report.py 

Скрипт передает имя, версию и установленные пакеты операционной системы в Zabbix.

Работает с zabbix-агентом на всех хостах, к которым связан шаблон «Vulners OS-Report».

 /opt/monitoring/zabbix-threat-control/scan.py 

Скрипт обрабатывает необработанные данные из zabbix и vulners и переносит  их в систему мониторинга с помощью zabbix-sender.

Работает с zabbix-агентом на сервере Zabbix через пункт «Service» на хосте «Vulners – Statistics».

Эти 2 скрипта выше запускаются один раз в день.

Время запуска выбирается случайным образом во время установки и не изменяется во время работы.

 /opt/monitoring/zabbix-threat-control/fix.py 

Скрипт запускает команды для исправления уязвимостей на серверах.

Выполняется как удаленная команда в действии «Vunlers» в Zabbix.

см.также:



2018-09-03T14:01:19
Закрытие уязвимостей

💉 Что такое инъекция кода в Windows

Вставка кода в виде инъекции распространена в Windows.

Приложения «вводят» фрагменты своего кода в другой процесс.

Этот метод может быть хорошим или плохим, но в любом случае это может вызвать проблемы.

Ввод кода часто называют инъекцией DLL, потому что введенный код часто представляет собой файл библиотеки DLL (dynamic link library).

Однако приложения могут внедрять другие типы кода, без связи библиотек DLL и процессов.

Какая инъекция кода используется для чего

Ввод кода используется для выполнения всех видов трюков и функциональных возможностей в Windows.

Хотя легитивные программы также используют его, он также используется вредоносными программами. Например:

  • Антивирусные программы часто вводят код в веб-браузеры. Они могут использовать его для мониторинга трафика и блокировки опасного веб-контента, например.
  • Вредоносные программы могут добавить код в ваш браузер, украсть защищенную информацию, такую как пароли и номера кредитных карт, изменить настройки браузера.
  • Stardock’s WindowBlinds, который предназначен для вашего рабочего стола, вводит код, чтобы изменить внешний вид темы оформления.
  • Stardock’s Fences меняют оформление рабочего стола Windows.
  • AutoHotkey, который позволяет создавать сценарии и назначать для них системные горячие клавиши, вводит код для этих целей.
  • Графический драйвер, такой как NVIDIA, вставляет DLL для выполнения различных задач, связанных с графикой.
  • Некоторые программы вводят библиотеки DLL для добавления дополнительных параметров меню в приложение.
  • Инструменты читов для игр для ПК часто вводят код в игры, чтобы изменить их поведение и получить несправедливое преимущество перед другими игроками.

Является ли инъекция кода плохой практикой?

Этот метод постоянно используется в самых разных приложениях в Windows.

Это единственный реальный способ выполнить множество задач. В отличии Apple iOS или Android от Google, рабочий стол Windows настолько мощный, что он предлагает такую гибкость для разработчиков.

Конечно, со всей этой мощностью возникает определенная опасность.

Ввод кода может вызвать проблемы и ошибки в приложениях.

Google говорит, что пользователи Windows, использующие браузер Chrome, на 15% чаще сталкиваются с сбоями Chrome, поэтому Google работает над блокировкой этого момента.

Microsoft отмечает, что инъекция кода может использоваться вредоносными приложениями для вмешательства в настройки браузера, которые уже заблокированы в Edge.

Сторонние библиотеки DLL загружаются в Microsoft Outlook, поэтому они вызывают так много сбоев Outlook.

Другими словами, инъекция кода – это своего рода грязный хак.

В идеальном мире существовал бы безопасный способ достижения определенных целей, без ввода кода, который не вызвал бы потенциальную нестабильность.

Тем не менее, инъекция кода сегодня является обычной частью платформы приложений Windows.

Это так или иначе происходит в фоновом режиме на вашем ПК с ОС Windows.

Мы могли бы назвать это необходимым злом. Мы оставляем эти риски за собой.

Как проверить внедренные DLL-файлы

Вы можете проверить внедрение кода в своей системе с помощью приложения Process Explorer от Microsoft.

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

Загрузите Process Explorer.

Нажмите View > Lower Pane View > DLLs или нажмите Ctrl + D.

Выберите процесс в верхней панели и посмотрите внизу загруженные DLL.

Столбец «Company name» предоставляет полезный способ фильтрации этого списка.

Например, это совершенно нормально видеть множество DLL, созданных корпорацией Microsoft,поскольку они являются частью Windows.

Также нормально видеть библиотеки DLL, сделанные той же компанией, что и рассматриваемый процесс, – «Google Inc.» в случае Chrome на скриншоте ниже.

Поэтому мы можем найти несколько DLL-файлов, сделанных «AVAST Software».

Это антивирусное программное обеспечение avast в нашей системе вводит в Chrome код, для работы библиотеки фильтров блокировки Avast Script.

Теперь вы можете произвести анализ своих процессов.

К примеру, если ваш браузер Chrome иногда выдает сбои, вы можете проверить его на внедренные сомнительные DLL и удалить их.

 

 



2018-08-28T14:05:57
Закрытие уязвимостей

Как защитить USB-порты в Linux

Как защитить USB-порты через BIOS, и мы также покажем вам, как использовать, устанавить USBguard в Linux.

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

Как защитить BIOS в Linux

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

Если мы хотим установить пароль в начале операционной системы, мы должны перезапустить или запустить, если компьютер выключен, и нажмите клавиши «Esc», «F2», «Delete» или тот, который указан производителя для доступа к BIOS. Как только мы перейдем на вкладку «Security» и перейдем к строке «Password on Boot»:

Чтобы эта опция была активной, мы должны определить пароль в строке «Set user password».

Нажатие «Enter» в этой строке и система отобразит следующий параметр, в котором мы выберем опцию «Enabled».

После того, как пароль включен, нажмите клавишу «F10», чтобы сохранить изменения.

Таким образом, когда система запускается, мы увидим следующее:

Как использовать и устанавить USBGuard на Linux

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

Эти вредоносные USB-устройства также известны как BadUSB.

Для установки USBGuard в Linux, как мы упоминали, мы будем использовать Ubuntu 17.04, и для этого мы выполним следующее:

sudo apt install usbguard

Чтобы запустить процесс авторизации USB-устройства через USBGuard, мы выполним следующие команды:

sudo usbguard generate-policy > rules.conf

sudo nano rules.conf

После открытия файла мы увидим следующее:

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

Мы можем исключить или закомментировать строки устройств, которые мы не хотим разрешать.

Чтобы авторизовать устройство, мы выполним следующие команды:

sudo install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf

sudo systemctl restart usbguard

Как проверить USBGuard на Linux

В то время, как в системе будет обнаружено любое USB-устройство, которое мы подключаем к компьютеры, оно не будет работать.

Чтобы перечислить подключенные USB-устройства, мы выполним следующее:

lsusb

Там мы увидим USB-устройство, которое мы только что подключили – Kingston Digital.

Чтобы добавить это устройство в список разрешенных устройств, мы перейдем к редактированию следующего файла:

sudo nano /etc/usbguard/rules.conf

Там мы должны добавить идентификатор USB-устройства для авторизации в последней части файла:

Сохраните изменения, используя клавиши Ctrl + O и выйдите из редактора, используя клавиши Ctrl + X.

Мы должны перезапустить службу USBGuard, запустив:

sudo systemctl restart usbguard

Теперь просто отключите и снова подключите USB, и мы можем получить доступ к нему из проводника, как обычно.

Таким образом, Linux позволяет выполнять устройства, которые соответствуют добавленному идентификатору, иначе они будут отклонены.



2018-08-28T10:46:37
Закрытие уязвимостей

✗ Dark Tequila Añejo кража информации трояном из Мексики ✗

Исследователи из Касперского выпустили информацию о кампании «Черная текила», которая нацеливается на Мексику с основной функцией кражи финансовой информации.

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

Существуют два известных метода заражения, фишинг и зараженные USB-устройства.

Модули кампании вредоноса:

  • Модуль 1, который отвечает за связь с сервером управления. Он проверяет, выполняется ли проверка сети «MITM», путем проверки сертификатов с помощью нескольких очень популярных веб-сайтов.
  • Модуль 2 – CleanUp. Если служба обнаруживает какой-либо «подозрительный» вид деятельности в среде, например, тот факт, что она запущена на виртуальной машине или что инструменты отладки работает в фоновом режиме, она выполнит этот модуль, чтобы сделать полную очистку системы, удаления службы сохранения, а также любых файлов, созданных ранее в системе.
  • Модуль 3 – Keylogger и Windows Monitor. Он предназначен для кражи учетных данных из длинного списка сайтов онлайн-банкинга, а также общих Cpanels, Plesk, онлайн-систем резервирования рейсов, Microsoft Office365, клиентов Lotus Lotus Notes, электронной почты Zimbra, Bitbucket, Amazon, GoDaddy, Register, Namecheap, Dropbox , Softlayer, Rackspace и других сервисов.
  • Модуль 4 – похититель информации, который предназначен для кражи сохраненных паролей в почтовых и FTP-клиентах, а также в браузерах.
  • Модуль 5 – USB-фильтр.Он копирует исполняемый файл на съемный диск для автоматического запуска. Это позволяет вредоносным программам перемещаться в автономном режиме через сеть жертвы, даже если только один компьютер был скомпрометирован с помощью фишинга. Когда к зараженному компьютеру подключен другой USB-порт, он автоматически заражается и готов к распространению вредоносного ПО на другую цель.
  • Модуль 6 – сторожевой таймер службы. Эта служба несет ответственность за правильную работу вредоносного ПО.

Эта кампания берет свое начало в2013 году в соответствии с данными Kaspersky и по-прежнему остается активной.

Справочные хеши:

  • 4f49a01e02e8c47d84480f6fb92700aa091133c894821fff83c7502c7af136d9
  • dce2d575bef073079c658edfa872a15546b422ad2b74267d33b386dc7cc85b47

Ссылки C2s:

  1. hxxps://46.17.97.12/website/
  2. hxxps://174.37.6.34/
  3. hxxps://75.126.60.251/store/

Рекомендации

  • Блокируйте все IOC на основе URL и IP на брандмауэре, IDS, веб-шлюзах, маршрутизаторах или других устройствах на основе периметра.
  • Используйте обновленный антивирус и убедитесь, что ваш текущий поставщик САВЗ имеет покрытие этого трояна
  • Осуществите поиск существующих признаков указанных IOC в вашей среде и почтовых системах.

 



2018-08-24T11:48:21
Закрытие уязвимостей

Rufus уязвимость

Аккуратней с руфусом

Если вы не знаете, что такое Rufus:

Rufus, в том числе его последние версии 3.0 и 3.1, позвоялет повысить права до администратора.

Во-первых, при загрузке некоторых библиотек он ищет их сначала в текущей директории.

А это часто папка Downloads. Эти библиотеки: DWMAPI.dll, UXTheme.dll, Version.dll, CryptSP.dll, NCrypt.dll,BCrypt.dll, RichEd20.dll, DSRole.dll, LogonCli.dll, DFSCli.dll, SAMCli.dll, DSRole.dll.

Во-вторых он создает незащищенные временные файлы, а потом использует их. Создает в текущей директории и в пользовательской %TEMP%. Файлы могут быть изменены/подменены непривилегированными процессами.

Эти два пути позволяют заставить Rufus запустить произвольный код, а так как сам он требует запуска с правами администратора – ну понятно.

Еще некоторые детали и PoC можно посмотреть в оригинальном посте рисечера:

http://seclists.org/fulldisclosure/2018/Aug/7

 



2018-08-14T14:54:35
Закрытие уязвимостей

Запрет монтирования каталогов хоста в Docker контейнере

Пользователь может запустить контейнер docker с монтированием каталога хоста.

Как примонтировать каталог хоста в Docker контейнер

например нам необходим каталог /home/user/db

Выполняем запуск:

 docker run ubuntu -v /home/user/db/ 

Как мы видим, это позволяет нам получать доступ к файлам хоста от пользователя root.

См. также Рекомендации по безопасности — постройте надежный контейнер Docker

Чтобы устранить эту уязвимость необходимо выполнить следующие действия:

добавляем пользователя

$ sudo adduser dockremap

Установим для него subiud и subgid

$ sudo sh -c 'echo dockremap:500000:65536 > /etc/subuid'

$ sudo sh -c 'echo dockremap:500000:65536 > /etc/subgid'

Добавляем параметр “userns-remap” для этого создадим/изменим файл (/etc/docker/daemon.json) добавив параметр

{

“userns-remap”: “default”

}

перезапускаем демона:

/etc/init.d/docker restart

Таким образом мы закрываем пользователю путь к монтированию каталогов хоста.

Как запустить Kali linux в Docker



2018-08-08T18:18:47
Закрытие уязвимостей