Рекриптор
228 subscribers
88 photos
12 videos
3 files
263 links
Заметки на полях о практической безопасности и не только
Download Telegram
Повторение - мать учения (c)

Набор небольших статей про азы разработки малвари. Тем, кто занимается борьбой с вредоносами, нужно очень хорошо понимать, как их создают: какой инструментарий используют, как защищают от отладки и анализа в песочницах, как работают в памяти (включая "ручное" развёртывание .Net-кода), как маскируют и обфусцируют, ну и всякие прочие трюки. Не сказать, что по ссылками какие-то совсем глубокие знания, но в качестве обзора техник вполне неплохо.

https://0xpat.github.io/Malware_development_part_1/
https://0xpat.github.io/Malware_development_part_2/
https://0xpat.github.io/Malware_development_part_3/
https://0xpat.github.io/Malware_development_part_4/
https://0xpat.github.io/Malware_development_part_5/
https://0xpat.github.io/Malware_development_part_6/
https://0xpat.github.io/Malware_development_part_7/
https://0xpat.github.io/Malware_development_part_8/
https://0xpat.github.io/Malware_development_part_9/

#windows #почитать #malware #offensive
👍2
Шпаргалочка по API-функциям Windows, используемым в разного рода активностях. Интересно, например, про инжект. Заодно и техники перечислены с кратким описанием. Полезно тем, кто пишет детекторы подозрительной активности, например

#windows #почитать #антивирус #malware #offensive
👍2
У Александра Леонова на канале появился, на мой взгляд, интересный пост про антивирус для Linux. Пост отсылает нас к вопросу другого известного в IT-отрасли человека, Дмитрия Комиссарова, о том, во что бы такое перспективное проинвестировать. Про инвестиции здесь не будем, оставим это профильным экспертам, но с технической точки зрения вопрос "а зачем отдельный антивирус под Linux, когда есть ... (здесь идёт обычно вендор), у которого решение под Linux тоже имеется" кажется довольно интересным, а ответ на него не так очевиден.

Практически все современные антивирусы за весьма редким исключением развивались, как антивирусы для Windows-систем. Сейчас будет шокирующая правда от капитана Очевидность: Windows отличается от Linux кардинально. На самом деле гораздо сильнее, чем кажется на первый взгляд. Миры Windows и Linux - это не просто разные ОС, но разные парадигмы, имеющие не так уж и много точек пересечения. Это разные сценарии использования и администрирования, разные пользователи, разные подходы к разработке, существенно отличающиеся модели угроз, сценарии и техники проникновения, закрепления, повышения привилегий. Поэтому нельзя просто взять, и адаптировать под Linux изначально создававшийся под Windows антивирус, потому что он создавался в Windows-парадигме для Windows-пользователей и администраторов Windows-систем. Точнее, адаптировать можно, и многие так делают, но будет не так удобно и не так эффективно. По сути, это будет решение для галочки. Если же хочется делать действительно гармоничное решение под Linux, то получится отдельный продукт со своей командой, отдельной экспертизой, кодовой базой, техподдержкой и т.д. Отдельный продукт с нуля. Даже антивирусные базы будут (и должны) существенно отличаться. Опыт с Windows здесь даже вреден.

Кстати, об антивирусных базах и российской специфике. Многие антивирусы с большой историей в своих антивирусных базах содержат код. Часто это реализация алгоритма быстрого поиска типа Ахо-Корасик и производных, поиск в дереве хэшей и т.д. Мы об этом писали ранее. Это исторически сложившийся подход: относительно быстрый поиск, скомпилированные в код базы сложно реверсятся, сравнительно небольшие расходы памяти. В общем, плюсов хватает. Практически все Windows-антивирусы используют этот подход. Однако минусы тоже имеются. Например, как мы писали ранее в контексте инцидента с Crowd Strike, если сертифицированный антивирус скачивает апдейты с кодом, сертификат его формально протухает, ибо апдейты тоже должны быть сертифицированы. Учитывая динамику угроз, сертифицировать обновления надо пару раз в неделю. Даже с сертификацией процессов безопасной разработки звучит фантастически. Так что, если речь идёт об антивирусе для российских Linux-ов, которые на текущий момент подразумевают использование в организациях, где сертификация важна, этот нюанс с обновлениями нужно учитывать на архитектурном уровне.

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

#антивирус #linux
👍5
Интересующиеся люди нашли опечатку в нашей статье про RC4OK и расхождение с исходниками. Мы поправили, свежая версия доступна на сайте IACR. RC4OK - модификация известного алгоритма RC4, созданная основателем блокчейн-платформы Emercoin Олегом Ховайко. Моя роль в этой работе аналитическая. Алгоритм получился супер-быстрым и довольно безопасным, о чём мы писали ранее. Радует, что люди интересуются, используют, портируют.

#криптография #rc4ok
👍5
Про Telegram и корпоративные коммуникации

Сегодня французы арестовали основателя Telegram Павла Дурова. Политику и прочие не профильные для нас подобные вещи отбросим, этим пусть другие занимаются. Наше дело - технологии.

Интересно, что сейчас из каждого утюга полетело, что, дескать, теперь мессенджер ненадёжен и надо корпоративные, служебные и прочие не для лишних ушей коммуникации в нём прекращать. На самом деле любой публичный облачный мессенджер изначально небезопасен. Групповые и обычные облачные чаты, понятно, хранятся где-то в облаке и могут быть расшифрованы (в случае с Signal групповые чаты реализованы специфически через end-to-end encryption, но они жутко тормозные). Но даже в случае end-to-end encryption есть нюанс с созданием общего ключа, ибо он зачастую генерируется алгоритмом Диффи-Хеллмана (или его производными), который, как известно, подвержен атаке "человек посередине" (MITM). Именно из-за этой самой возможного митма появилась, например, инфраструктура PKI, где сертификаты открытого ключа подписываются внешним доверенным арбитром - третьей стороной, которой все участники доверяют. Где эта сторона в случае с мессенджером? Мы снова должны доверять серверной инфраструктуре, находящейся непонятно где и доступ к которой имеет непонятно кто. Ну или, как вариант, обменяться неким секретом при встрече или по другому доверенному каналу (многие ли так делают?). Эпизодическая перегенерация ключей (по типу Double Ratchet, как у Signal) - это хорошо, но всегда вопрос в безопасном формировании того самого первого общего секрета. Так что даже с секретными чатами всё не так однозначно. Это если вести речь о переписке. Есть ещё данные о геолокации, например, доступные непонятно кому. Данные об интенсивности переписки. Данные о том, что коммуникация между людьми в принципе есть.

В сухом остатке облачный мессенджер в принципе не для конфиденциальных коммуникаций, включая корпоративные. Есть неплохие корпоративные on-premise решения (тот же express messenger). Ну или совсем на худой конец - сервер Rocket Chat развернуть (его строго желательно под VPN)

#криптография #мессенджер
👍7🤔1
Интересны измышления по типу "у каждого уважающего себя синдиката свой мессенджер со своим сервером, шахматами и поэтессами". Это прям как себе приклеить на лоб что-то заметное и интересное и расхаживать с покерфейсом, откинув назад чёлку. Стоит даже удалённо получить доступ к устройству любого участника такого синдиката, и, минимум, точка входа будет известна. Как минимум, стоит внимательно к ней присмотреться. А если ещё и приложение своё, да ещё и push-уведомления по моде сделаны, то совсем красота. При удачном стечении обстоятельств можно всех членов такого синдиката выявить разом. Жаль, что синдикаты так не делают :)

#мессенджер
Про мультилинейные отображения и как они связаны с групповыми чатами

В современной криптографии есть открытая проблема: эффективные мультилинейные криптографические отображения (cryptographic multilinear maps). Определение есть в Википедии, оно там хорошее. На русском про мультилинейные отображения есть небольшая статья в Киберленинке. Билинейное криптографическое отображение (cryptographic bilinear map) отсылает нас к знаменитой схеме выработки общего секрета - протоколу Диффи-Хеллмана и производным от него. Он надёжен, но предполагает наличие двух равноправных абонентов, которые вырабатывают общий секретный сеансовый ключ, которым шифруются сообщения между абонентами. То самое сквозное шифрование (end-to-end encryption). Однако, когда появляется третий абонент и далее, мы сталкиваемся с тем, что эффективного и практичного алгоритма выработки общего секрета этими равноправными абонентами пока нет. Тут надо что-то "колхозить" и находить компромисс между удобством использования и безопасностью.

Например, можно каждому абоненту в группе по Диффи-Хеллману сгенерировать сеансовые ключи с каждым другим абонентом в группе, а своё сообщение в группе просто шифровать отдельно для каждого другого пользователя. Например, у нас чат на N абонентов. Тогда мы шифруем наше сообщение N-1 раз и отправляем его им (каждому из них) через сервер мессенджера. Так реализовано, например, в Signal, о чём можно почитать здесь. Хочется группу на 100 абонентов? Ну... Бывает. Каждое отправляемое сообщение будет шифроваться 99 раз, а на сервере будет лежать 99 копий. Но зато здесь будет работать Double Ratchet - когда каждое сообщение шифруется отдельным ключом, а сервер не будет вообще в принципе знать, что есть какая-то группа и, если кто-то в произвольный момент получил доступ к серверу, то он мало что получит в итоге.

Можно поступить проще - когда создатель группы генерирует секретный ключ для группы, отсылает его каждому участнику (или даёт информацию, чтобы участник сам его вычислил), используя сквозное шифрование, а дальше все уже спокойно общаются. Это быстрее и удобнее, но Double Ratchet здесь работать не будет, а у группы появляется роль Администратора. Тем не менее, доступа к расшифрованной переписке у сервера не будет, хотя ряд атак станут возможны. Например, получение ключа с одного из устройств при доступе к серверу позволит читать всю переписку, в том числе на этом устройстве не сохранённую.

А можно шифровать только между сервером и абонентами, когда сервер имеет доступ к исходному контенту. Это когда совсем нечего скрывать

#мессенджер #криптография
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Один из наших инициативных образовательных проектов. С лёгкой руки нашего главного специалиста по электронике назвали его "Ковальски". Ковальски будет стоять у нас в офисе и провожать взглядом проходящих мимо. Сейчас слегка подёргивается и подтормаживает, но это лечится. По сути, на видео первая отладочная версия. Из софта в этом маленьком часовом есть детектор движения, трекер, библиотека для управления приводами. Всё сделано у нас в Рекрипте. Плюс, разработанный и напечатанный на 3D-принтере корпус. 3D-принтер у нас тоже есть :)
Для чего нам это? Потестировать и обкатать имеющиеся и разрабатываемые у нас программные компоненты, повысить их качество. Протестировать и обкатать эти компоненты в связке. Крайне важно для нас, что в этом и подобных проектах под кураторством наших опытных сотрудников принимают активное участие наши самые молодые специалисты - студенты Бауманки. Учатся работать с мануалами, сопутствующей математике, писать и отлаживать код (в том числе и низкоуровневый), реверсить (да, это тоже надо), схемотехнике и вообще работать с современной электроникой (в том числе не жечь её часто 😜), да и многому другому. Всему тому, что составляет основу современной робототехники

#робототехника #ковальски #ии #видеоаналитика
👍9👀2
Отличное довольно детальное описание архитектуры оптимизирующего jit-компилятора Maglev, используемого в Chrome. На низком уровне, как мы все любим. С упором в безопасность и примером эксплуатации уязвимости CVE-2023-4069.

#почитать #реверсинг #компилятор
👍2
Хорошее и достаточно полное исследование формата антивирусных баз Windows Defender с упором на простые сигнатуры (последовательности байт, строки). Интересно, что таких сигнатур на хосте не так уж и много - несколько сотен тысяч. Это объясняется в том числе большими объёмами памяти, необходимыми для развёртывания структур быстрого поиска, которые практически во всех антивирусах сейчас древовидные. Миллионы простых сигнатур по типу описываемых в исследовании - это сложно для движков, базирующихся, например, на Ахо-Корасик и производных от него. Даже с костылями по типу списков на третьем-четвёртом уровне дерева поиска выходит всяко не очень. Кто хочет убедиться, может попробовать скормить миллион простых сигнатур опенсорсному ClamAV и поглядеть, что будет. С деревьями хэшей плюс-минус та же история. Это одна из причин появления более сложных комплексных сигнатур, выходящих по своей сложности за рамки возможностей регулярных языков. А это тоже код в антивирусных базах

#антивирус #почитать
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Наш тренировочный проект "Часовой Ковальски", о котором мы писали ранее, стал поточнее и пошустрее. Двигаться стал плавнее. Алгоритмы и модели отлаживаются в связке. Трекер уверенно сопровождает нашего датасайентиста

#ии #ковальски #видеоаналитика #робототехника
👍11😍1
Хороший мануал по поиску уязвимостей в устройствах IoT. Несмотря на фаззинг в названии, про фаззинг там не так уж и много

#offensive #iot
👍2
Сегодня Дима Щелкунов вместе с генеральным директором Рекрипта очень мило пообщались с другим Димой Щелкуновым. В результате переписки противник понёс невосполнимые моральные потери.

Хорошо в числе прочего, что мы не используем Телеграм, как и любой другой публичный облачный мессенджер, для корпоративных коммуникаций
😁9🗿1
Тема маскировки обмена с C2 с использованием легитимных известных и часто используемых сервисов не нова. Вот, к примеру, интересная и подробная статья про Cobalt Strike HTTPS Beaconing через серверы Microsoft. А конкретно - через Microsoft Graph API. Весь путь исследования: от идеи до конкретного эксплуатабельного результата.

Очередной привет адептам обнаружения обмена с С2 чисто по трафику

#offensive
👍2
Калужской Бауманке сегодня 65 лет! С чем и поздравляем!
❤‍🔥7🔥5
17 октября в Калуге пройдёт ИКТ-форум, партнёрами которого мы являемся. Расскажем про российский антивирус для Linux VR Protect, ответим на вопросы
👍5
Александр Леонов пишет, Solar купил Digital Security. Я с теплом вспоминаю и бесшабашную конфу ZeroNights, и ребят из Digital Security, с некоторыми из которых завязались практически дружеские отношения. Тогда это была очень сильная и амбициозная команда. Digital Security была одной из лучших российских школ в области offensive security, выпускники которой работают по всему миру. Надеюсь, всё у них будет хорошо
👍6
В сентябре вышла бумажная версия журнала Journal of Computer Virology and Hacking Techniques с моей статьёй про подход к созданию быстрых систем асимметричного шифрования с использованием white-box-криптографии: https://link.springer.com/article/10.1007/s11416-023-00511-z

Исходники шифра доступны здесь: https://github.com/dmschelkunov/wb_poc

В целом выпуск интересный и посвящён российским исследованиям: https://link.springer.com/journal/11416/volumes-and-issues/20-3

Никак не доходят руки переписать генератор случайных чисел на RC4OK (https://ia.cr/2023/1486)
и адаптировать исходники под Linux, но планы такие есть

#криптография #whitebox
👍7