Создание простейшего фаззера для протокола MQTT buy credit card numbers cvv online, buy cc logs

В этой статье показано, насколько просто создать фаззер для протокола MQTT при помощи фреймворка Polymorph.
Автор: Santiago Hernandez Ramos
В этой статье показано, насколько просто создать фаззер для протокола MQTT при помощи фреймворка Polymorph.
Предполагается, что читатель знаком с протоколом MQTT. В противном случае рекомендую ознакомиться с сайтом http://mqtt.org/ . Вначале настроим рабочую среду для фаззинга, которая будет работать на базе Kali Linux со следующими зависимостями:
Polymorph framework
apt-get install build-essential python-dev libnetfilter-queue-dev tshark tcpdump python3-pip wireshark
pip3 install –process-dependency-links polymorph
Mosquitto
apt-get install mosquitto mosquitto-clients
Radamsa
sudo apt-get install gcc make git wget
git clone https://github.com/aoh/radamsa.git && cd radamsa && make && sudo make install
После того как все вышеперечисленные пакеты установлены, прежде, чем конструировать фаззер, необходимо протестировать брокер сообщений mosquitto, установленный на локальном хосте. Мы будем использовать два терминала. Первый клиент будет подписываться на определенную тему, второй – будет публиковать сообщение в той же самой теме. На рисунке ниже показаны результаты выполнения команд.
Рисунок 1: Тестирование клиентов
После того как коммуникация между клиентами налажена, мы воспользуемся фреймворком Polymorph для перехвата и модификации MQTT-пакетов в режиме реального времени. Конкретно в нашем случае, мы будем работать с полем msg в пакетах MQTTPublish. Модификация других полей происходит тем же самым образом. Кроме того, с целью упрощения задачи, мы будем изменять пакеты, передаваемые через протокол IPv4. В случае, если вам будут попадаться MQTT-пакеты, передаваемые через IPv6, вы можете отключить использование этого протокола при помощи следующей команды к интерфейсу loopback:
sudo sh -c ‘echo 1 > /proc/sys/net/ipv6/conf/loopback/disable_ipv6’
Чтобы получить доступ к инструментам фреймворка Polymorph, достаточно ввести в терминале следующую команду:
Рисунок 2: Интерфейс фреймворка Polymorph
С этого момента можно приступать к конструированию фаззера. Поскольку оба клиента находятся в одном месте, и нам не нужно перехватывать коммуникацию между двумя машинами, спуфинг использоваться не будет. Соответственно, для начала «прослушивания» достаточно команды capture.
Рисунок 3: Запуск перехвата пакетов
На данный момент наша задача – перехват одного из пакетов, который мы хотим модифицировать. После перехвата фреймворк преобразует пакет в шаблон, с которым мы в дальнейшем будем работать. Во время сниффинга необходимо отсылать сообщение MQTTPublish другому клиенту.
После пересылки нажимаем Ctrl-C для завершения сниффинга и вводим команду show для просмотра перехваченных пакетов на экране.
Рисунок 4: Список шаблонов перехваченных пакетов
Как видно на рисунке выше, у большинства пакетов присутствует слой Raw. Сей факт означает, что, скорее всего, при помощи основных инструментов не удалось перехватить и корректно проанализировать нужные нам пакеты. При помощи команды dissect мы будем использовать более продвинутые анализаторы, которые позволяют посмотреть скрытые части пакетов.
Рисунок 5: Перечень шаблонов перехваченных пакетов, обработанных более продвинутыми анализаторами
Теперь, когда у нас появилось более четкое понимание о назначении каждого байта в перехваченных пакетах, нужно выбрать шаблон (template), соответствующий тому пакету, который мы хотим модифицировать. Для получения более детальной информации можно воспользоваться командой wireshark, чтобы открыть одноименное приложение, а для доступа к выбранному шаблону – командой template.
Рисунок 6: Детальный анализ трафика при помощи wireshark
Теперь мы находимся в контексте выбранного шаблона. Далее при помощи команды show можно посмотреть различные слои, поля и типы, используемые в шаблоне. Концепция шаблона – наиболее важная абстракция фреймворка Polymorph, который позволяет получить доступ к перехваченным пакетам в режиме реального времени при помощи простейшего кода, используемого для обработки пакетов. Более того, при сохранении сессии все условные функции и структуры фреймворка сохраняются в специальном хранилище.
Затем выполнение переходит к условным функциям, которые подразделяются на три категории: предусловные (precondition), постусловные (postcondition) и выполняемые (execution). Когда пользователь вводит команду intercept в контексте текущего шаблона, на машине, где находится фреймворк Polymorph, перенаправление пакетов приостанавливается на уровне ядра и начинается пересылка утилите, которая осуществляет обработку. Для каждого перехваченного пакета будут выполняться условные функции, определяемые пользователем.
Рассмотрим пример того, как работают условные функции. Добавляем предусловную функцию для текущего шаблона при помощи команды precs -a test_condition.
Если вы используете редактор pico, не путайте пробелы и табуляции. Для выравнивания кода лучше использовать пробелы. Вы также можете указать редактор из переменной PATH при помощи опции –e:
def test_precondition(packet):
print(“The next packet arrive:”)
print(packet.raw)
return packet
Введите «y» для сохранения кода на диске, а затем введите команду precs -s для просмотра функции, добавленной в качестве предусловия.
Рисунок 7: Просмотр добавленной функции
Далее вводим команду intercept:
Рисунок 8: Запуск перехвата пакетов
Теперь мы можем в режиме реального времени наблюдать передачу и обработку пакетов, а также работу функции, которую мы добавили в качестве предусловия. Всю схему можно протестировать, если отправить сообщение MQTTPublish от MQTT-клиента к брокеру сообщений.
Условные функции – еще одна важная абстракция фреймворка, которая работает следующим образом. Когда пакет перехватывается в режиме реального времени, условные функции, заданные пользователем, выполняются в определенном порядке. Вначале выполняются предусловные функции из секции preconditions в том порядке, в котором добавил пользователь. Затем очередь доходит до выполняемых функции из секции executions. В самом конце выполняются постусловные функции из секции postconditions. Если в любой момент любая функция вернула значение None, выполняемая цепочка прерывается, и пакет отправляется в текущем состоянии. С другой стороны, если возвращается пакет, полученный в качестве аргумента, выполнение цепочки условных функций продолжается. Следует помнить, что пакет, полученный в качестве аргумента, представляет собой пакет, перехваченный в режиме реального времени в текущий момент.
После того как мы уяснили логику работы условных функций, выходим из режима перехвата, нажав комбинацию клавиш Ctrl-C, после чего система будет просто перенаправлять пакеты и не будет осуществлять отсылку на обработку фреймворку Polymorph. Теперь добавим несколько условных функций в секции preconditions, executions и postconditions, которые будут запускаться для каждого перехваченного пакета. Чтобы удалить текущую условную функцию, которую мы добавили, воспользуйтесь командой precs -d test_condition.
Preconditions
В секцию preconditions будут добавлены две функции:
precs -a global_vars -e editor
precs -a filter_mqttpublish -e editor
Первая предусловная функция global_vars создает глобальную переменную, которая будет оставаться константой для всех перехваченных пакетов. В этой переменной будут храниться тестовые сценарии, используемые для обработки пакетов MQTTPublish.
def global_vars(packet):
try:
packet.fuzz_cases
except:
setattr(packet, ‘fuzz_cases’, [])
return packet
Вторая предуслованя функция filter_mqttpublish будет фильтровать входящие пакеты таким образом, что вся последующая цепочка условных функций будет выполняться только в том случае, если в поле msgtype находится значение 48. Обратите внимание, что благодаря использованию абстракции на базе шаблона, фреймворк Polymorph знает позицию поля msgtype среди байтов перехваченного пакета и, соответственно, может легко получить доступ к нужному байту.
def filter_mqttpublish(packet):
try:
if packet[‘RAW.MQTT’][‘msgtype’] == 48:
return packet
except:
return None
Executions
Функция в секции executions чуть сложнее, чем две предыдущих, но в целом остается все такой же простой. Код, показанный ниже, выполняет следующие задачи:
def insert_value(packet):
import subprocess
from os import listdir
from os.path import join
from scapy.all import IP
from scapy.contrib.mqtt import MQTT
# Building a Scapy packet
pkt = IP(packet.raw[14: ])
# Retrieving the fuzzing case
if not packet.fuzz_cases:
valid_cases = “valid_cases”
dpath = “fuzz_cases”
subprocess.check_call([“radamsa”,
“-o”,
join(dpath, “fuzz-%n.%s”),
“-n”,
“58”,
“-r”,
valid_cases])
packet.fuzz_cases = [open(join(dpath, f), ‘rb’).read()
for f in listdir(dpath)]
# Inserting the value and recalculating some fields
del pkt[‘IP’].len
del pkt[‘IP’].chksum
del pkt[‘TCP’].chksum
del pkt[‘MQTT’].len
del pkt[‘MQTTPublish’].length
pkt[‘MQTTPublish’].topic = packet.fuzz_cases.pop()
pkt.show2()
packet.raw = bytes(pkt)
return packet
Теперь у нас есть все для того, чтобы создать фаззер на базе фреймворка Polymorph для протокола MQTT. Чтобы запустить нашу конструкцию, нужно создать две директории, на которые должна ссылаться переменная PATH и которые будут использоваться фреймворком Polymorph. Первая папка – valid_cases, вторая – fuzz_cases. Эти директории будут использоваться функцией Radamsa для чтения тестовых сценариев и преобразования в такие сценарии, которые могут быть пригодны для эксплуатации уязвимости. Новые сценарии добавляются, как показано на рисунке ниже:
Рисунок 9: Примеры тестовых сценариев
Как только сценарии добавлены, переключаемся в контекст шаблона и запускаем команду intercept. Затем при помощи MQTT-клиента отсылаем сообщение, которое, по возможности, должны быть длинными, чтобы не возникло проблем с порядковыми номерами в сессиях, используемых в стеке протоколов TCP/IP.
Рисунок 10: Пример отсылки длинных сообщений
Рисунок 11: Параметры пакетов
Мы можем отслеживать изменения пакетов и появление значений, отсылаемых функцией Radamsa, в режиме реального времени. Теперь нужно организовать простейший цикл в Bash, внутри которого будут проверяться все тестовые значения. Кроме того, мы можем запустить тестирование внутри отладчика для сбора и последующего анализа возникающих исключений.
#!/bin/bash
while true; do
mosquitto_pub -t `python3 -c “print(‘A’*10000)”` -m ‘hello’
done
Команда save, запущенная из контекста шаблона, позволяет экспортировать шаблон. Последующий импорт во фреймворк Polymorph на другой машине выполняется при помощи команды polymorph -t template.json. Таким образом, вы сможете делиться шаблонами со своими коллегами. Мой шаблон можно скачать, используя ссылку ниже:
https://gist.github.com/shramos/2b98867d2c344b36bfee6a7c799fbb8f
В статье мы расскажем о наиболее интересных стартапах в области кибербезопасности, на которые следует обратить внимание.
Хотите узнать, что происходит нового в сфере кибербезопасности, – обращайте внимание на стартапы, относящиеся к данной области. Стартапы начинаются с инновационной идеи и не ограничиваются стандартными решениями и основным подходом. Зачастую стартапы справляются с проблемами, которые больше никто не может решить.
Обратной стороной стартапов, конечно же, нехватка ресурсов и зрелости. Выбор продукта или платформы стартапа – это риск, требующий особых отношений между заказчиком и поставщиком . Однако, в случае успеха компания может получить конкурентное преимущество или снизить нагрузку на ресурсы безопасности.
Ниже приведены наиболее интересные стартапы (компании, основанные или вышедшие из «скрытого режима» за последние два года).
Компания Abnormal Security, основанная в 2019 году, предлагает облачную платформу безопасности электронной почты, которая использует анализ поведенческих данных для выявления и предотвращения атак на электронную почту. Платформа на базе искусственного интеллекта анализирует поведение пользовательских данных, организационную структуру, отношения и бизнес-процессы, чтобы выявить аномальную активность, которая может указывать на кибератаку. Платформа защиты электронной почты Abnormal может предотвратить компрометацию корпоративной электронной почты, атаки на цепочку поставок , мошенничество со счетами, фишинг учетных данных и компрометацию учетной записи электронной почты. Компания также предоставляет инструменты для автоматизации реагирования на инциденты, а платформа дает облачный API для интеграции с корпоративными платформами, такими как Microsoft Office 365, G Suite и Slack.
Копания Apiiro вышла из «скрытого режима» в 2020 году. Ее платформа devsecops переводит жизненный цикл безопасной разработки «от ручного и периодического подхода «разработчики в последнюю очередь» к автоматическому подходу, основанному на оценке риска, «разработчики в первую очередь», написал в блоге соучредитель и генеральный директор Идан Плотник . Платформа Apiiro работает, соединяя все локальные и облачные системы управления версиями и билетами через API. Платформа также предоставляет настраиваемые предопределенные правила управления кодом. Со временем платформа создает инвентарь, «изучая» все продукты, проекты и репозитории. Эти данные позволяют лучше идентифицировать рискованные изменения кода.
Axis Security Application Access Cloud – облачное решение для доступа к приложениям , построенное на принципе нулевого доверия. Он не полагается на наличие агентов, установленных на пользовательских устройствах. Поэтому организации могут подключать пользователей – локальных и удаленных – на любом устройстве к частным приложениям, не затрагивая сеть или сами приложения. Axis вышла из «скрытого режима» в 2020 году.
BreachQuest, вышедшая из «скрытого режима» 25 августа 2021 года, предлагает платформу реагирования на инциденты под названием Priori. Платформа обеспечивает большую наглядность за счет постоянного отслеживания вредоносной активности. Компания утверждает, что Priori может предоставить мгновенную информацию об атаке и о том, какие конечные точки скомпрометированы после обнаружения угрозы.
Cloudrise предоставляет услуги управляемой защиты данных и автоматизации безопасности в формате SaaS. Несмотря на свое название, Cloudrise защищает как облачные, так и локальные данные. Компания утверждает, что может интегрировать защиту данных в проекты цифровой трансформации. Cloudrise автоматизирует рабочие процессы с помощью решений для защиты данных и конфиденциальности. Компания Cloudrise была запущена в октябре 2019 года.
Cylentium утверждает, что ее технология кибер-невидимости может «скрыть» корпоративную или домашнюю сеть и любое подключенное к ней устройство от обнаружения злоумышленниками. Компания называет эту концепцию «нулевой идентичностью». Компания продает свою продукцию предприятиям, потребителям и государственному сектору. Cylentium была запущена в 2020 году.
Компания Deduce , основанная в 2019 году, предлагает два продукта для так называемого «интеллектуального анализа личности». Служба оповещений клиентов отправляет клиентам уведомления о потенциальной компрометации учетной записи, а оценка риска идентификации использует агрегированные данные для оценки риска компрометации учетной записи. Компания использует когнитивные алгоритмы для анализа конфиденциальных данных с более чем 150 000 сайтов и приложений для выявления возможного мошенничества. Deduce заявляет, что использование ее продуктов снижает ущерб от захвата аккаунта более чем на 90%.
Автоматизированная платформа безопасности и соответствия Drata ориентирована на готовность к аудиту по таким стандартам, как SOC 2 или ISO 27001. Drata отслеживает и собирает данные о мерах безопасности, чтобы предоставить доказательства их наличия и работы. Платформа также помогает оптимизировать рабочие процессы. Drata была основана в 2020 году.
FYEO – это платформа для мониторинга угроз и управления доступом для потребителей, предприятий и малого и среднего бизнеса. Компания утверждает, что ее решения для управления учетными данными снимают бремя управления цифровой идентификацией. FYEO Domain Intelligence («FYEO DI») предоставляет услуги мониторинга домена, учетных данных и угроз. FYEO Identity будет предоставлять услуги управления паролями и идентификацией, начиная с четвертого квартала 2021 года. FYEO вышла из «скрытого режима» в 2021 году.
Kronos – платформа прогнозирующей аналитики уязвимостей (PVA) от компании Hive Pro , основанная на четырех основных принципах: предотвращение, обнаружение, реагирование и прогнозирование. Hive Pro автоматизирует и координирует устранение уязвимостей с помощью единого представления. Продукт компании Artemis представляет собой платформу и услугу для тестирования на проникновение на основе данных. Компания Hive Pro была основана в 2019 году.
Израильская компания Infinipoint была основана в 2019 году. Свой основной облачный продукт она называет «идентификация устройства как услуга» или DIaaS , который представляет собой решение для идентификации и определения положения устройства. Продукт интегрируется с аутентификацией SSO и действует как единая точка принуждения для всех корпоративных сервисов. DIaaS использует анализ рисков для обеспечения соблюдения политик, предоставляет статус безопасности устройства как утверждается, устраняет уязвимости «одним щелчком».
Компания Kameleon , занимающаяся производством полупроводников, не имеет собственных фабрик и занимает особое место среди поставщиков средств кибербезопасности. Компания разработала «Блок обработки проактивной безопасности» (ProSPU). Он предназначен для защиты систем при загрузке и для использования в центрах обработки данных, управляемых компьютерах, серверах и системах облачных вычислений. Компания Kameleon была основана в 2019 году.
Облачная платформа безопасности данных Open Raven предназначена для обеспечения большей прозрачности облачных ресурсов. Платформа отображает все облачные хранилища данных, включая теневые облачные учетные записи, и идентифицирует данные, которые они хранят. Затем Open Raven в режиме реального времени отслеживает утечки данных и нарушения политик и предупреждает команды о необходимости исправлений. Open Raven также может отслеживать файлы журналов на предмет конфиденциальной информации, которую следует удалить. Компания вышла из «скрытого режима» в 2020 году.
Компания Satori, основанная в 2019 году, называет свой сервис доступа к данным “DataSecOps”. Целью сервиса является отделение элементов управления безопасностью и конфиденциальностью от архитектуры. Сервис отслеживает, классифицирует и контролирует доступ к конфиденциальным данным. Имеется возможность настроить политики на основе таких критериев, как группы, пользователи, типы данных или схема, чтобы предотвратить несанкционированный доступ, замаскировать конфиденциальные данные или запустить рабочий процесс. Сервис предлагает предварительно настроенные политики для общих правил, таких как GDPR , CCPA и HIPAA .
Компания Scope Security недавно вышла из «скрытого режима», будучи основана в 2019 году. Ее продукт Scope OmniSight нацелен на отрасль здравоохранения и обнаруживает атаки на ИТ-инфраструктуру, клинические системы и системы электронных медицинских записей . Компонент анализа угроз может собирать индикаторы угроз из множества внутренних и сторонних источников, представляя данные через единый портал.
Основным продуктом Strata является платформа Maverics Identity Orchestration Platform . Это распределенная мультиоблачная платформа управления идентификацией. Заявленная цель Strata – обеспечить согласованность в распределенных облачных средах для идентификации пользователей для приложений, развернутых в нескольких облаках и локально. Функции включают в себя решение безопасного гибридного доступа для расширения доступа с нулевым доверием к локальным приложениям для облачных пользователей, уровень абстракции идентификации для лучшего управления идентификацией в мультиоблачной среде и каталог коннекторов для интеграции систем идентификации из популярных облачных систем и систем управления идентификацией. Strata была основана в 2019 году.
SynSaber , запущенная 22 июля 2021 года, предлагает решение для мониторинга промышленных активов и сети. Компания обещает обеспечить «постоянное понимание и осведомленность о состоянии, уязвимостях и угрозах во всех точках промышленной экосистемы, включая IIoT, облако и локальную среду». SynSaber была основана бывшими лидерами Dragos и Crowdstrike.
Traceable называет свой основной продукт на основе искусственного интеллекта чем-то средним между брандмауэром веб-приложений и самозащитой приложений во время выполнения. Компания утверждает, что предлагает точное обнаружение и блокирование угроз путем мониторинга активности приложений и непрерывного обучения, чтобы отличать обычную активность от вредоносной. Продукт интегрируется со шлюзами API. Traceable была основана в июле 2020 года.
Компания Wiz, основанная командой облачной безопасности Microsoft, предлагает решение для обеспечения безопасности в нескольких облаках, рассчитанное на масштабную работу. Компания утверждает, что ее продукт может анализировать все уровни облачного стека для выявления векторов атак с высоким риском и обеспечивать понимание, позволяющее лучше расставлять приоритеты. Wiz использует безагентный подход и может сканировать все виртуальные машины и контейнеры. Wiz вышла из «скрытого режима» в 2020 году.
Работает на CMS “1С-Битрикс: Управление сайтом”
buy credit card numbers cvv online buy cc logs

Author: wpadmin