Pull to refresh
0
0
Send message

Асинхронное программирование (полный курс)

Reading time2 min
Views102K

Методы асинхронного программирования


Асинхронное программирование за последнее время стало не менее развитым направлением, чем классическое параллельное программирование, а в мире JavaScript, как в браузерах, так и в Node.js, понимание его приемов заняло одно из центральных мест в формировании мировоззрения разработчиков. Предлагаю вашему вниманию целостный и наиболее полный курс с объяснением всех широко распространенных методов асинхронного программирования, адаптеров между ними и вспомогательных проемов. Сейчас он состоит из 23 лекций, 3 докладов и 28 репозиториев с множеством примеров кода на github. Всего около 17 часов видео: ссылка на плейлист.

Читать дальше →

Введение в IDAPython

Reading time13 min
Views22K


На русском языке (и на Хабре, в частности) не так много статей по работе с IDAPython, попытаемся восполнить этот пробел.


Для кого. Для тех, кто уже умеет работать в IDA Pro, но ни разу не писал скрипты на IDAPython. Если вы уже имеете опыт написания скриптов под IDAPython, то вряд ли найдёте здесь что-то новое.


Чего здесь не будет. Мы не будем учить программированию на Python и базовой работе в IDA Pro.

Читать дальше →

Ваш цифровой след: Погружение в форензику Windows

Level of difficultyEasy
Reading time17 min
Views7.9K

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

Может показаться, что для решения большинства из этих задач специальных знаний не требуется и достаточно простого владения компьютером на уровне уверенного пользователя. Что ж, может, так и есть. Хотите знать наверняка? Добро пожаловать под кат. 

Читать далее

Организация памяти процесса

Reading time8 min
Views142K
image
Управление памятью – центральный аспект в работе операционных систем. Он оказывает основополагающее влияние на сферу программирования и системного администрирования. В нескольких последующих постах я коснусь вопросов, связанных с работой памяти. Упор будет сделан на практические аспекты, однако и детали внутреннего устройства игнорировать не будем. Рассматриваемые концепции являются достаточно общими, но проиллюстрированы в основном на примере Linux и Windows, выполняющихся на x86-32 компьютере. Первый пост описывает организацию памяти пользовательских процессов.
Читать дальше →

Некоторые малоизвестные фичи, фокусы и причуды языка C

Reading time19 min
Views33K

В этом посте разобраны некоторые фокусы, причуды и фичи языка C (некоторые из них – весьма фундаментальные!), которые, казалось бы, могут сбить с толку даже опытного разработчика. Поэтому я потрудился сделать за вас грязную работу и (в произвольном порядке) собрал некоторые из них в этом посте. Примеры сопровождаются ещё более вольными краткими пояснениями и/или листингами (некоторые из них цитируются).

Конечно же, здесь я не берусь перечислять абсолютно всё, так как факты из разряда «функция nan() не может устанавливать errno, поскольку в определённых ситуациях поведёт себя как strtod()» не слишком интересны.

ВНИМАНИЕ: сам факт попадания тех или иных вещей в эту подборку  не означает автоматически, что я рекомендую или, наоборот, не рекомендую ими пользоваться! Некоторые из приведённых примеров никогда не должны просачиваться за пределы списков наподобие этого, тогда как другие примеры невероятно полезны! Уверен, что могу положиться на ваш здравый смысл, дорогие читатели.

Читать далее

Анатомия Hello World на языке C

Level of difficultyMedium
Reading time15 min
Views32K

Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы.

Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.
Читать дальше →

RPC и способы его мониторинга

Level of difficultyMedium
Reading time19 min
Views52K

Всем привет!

Мы - команда исследователей-аналитиков киберугроз в компании R-Vision. Одной из наших задач является исследование возможных альтернативных и дополнительных источников событий для более точного детектирования атак.

И сегодня мы затронем такую тему мониторинга RPC. В статье мы рассмотрим возможные варианты логирования удаленных вызовов функций и процедур Microsoft Remote Procedure Call (MS-RPC), связанных с актуальными и популярными на сегодняшний день атаками.

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

Читать далее

LAN-party для пентестеров: прорываемся к домен контроллеру через розетку

Level of difficultyMedium
Reading time7 min
Views20K


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


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

Читать дальше →

Токены. От появления до продвижения в Active Directory

Level of difficultyMedium
Reading time18 min
Views16K

О токенах, используемых в операционных системах семейства Windows слышали многие, ведь они являются важным звеном, участвующим в контексте безопасности всей операционной системы. Данная статья является результатом моих наработок о токенах. В ходе написания данного материала я ставил перед собой следующие вопросы: откуда берутся токены? как устроены токены? как это работает на практике?

Читать далее

Первый MSI вымогатель: Magniber. История и анализ сложнейшего шифровальщика. Часть 2

Reading time11 min
Views2.4K

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

Напомню, что Magniber является достаточно старым вирусом, который пришел к нам из Южной Кореи. Если раньше вредоносная кампания была сосредоточена в основном на мелких и средних компаниях, то сейчас злоумышленники атакуют всех и вся. На данный момент вымогатель маскируется под разные типы файлов ( .Ink, .iso, .js, .exe), но в рамках анализа у нас классический представитель, подражающий Установщику Windows.

Читать далее

Владивосток: далёкий, праворульный, но всё равно «нашенский»

Reading time23 min
Views11K

Потрясающий город. Живой и зелёный. Сопки, острова и море вокруг просто ласкают взгляд, уставший от плоскости средней полосы. Гордо взмывают ввысь вантовые мосты. Чувствуется дыхание Азии. Совсем не таким я представлял наш рубежный город на Тихом океане и конец Транссиба. Но рельеф города, придающий ему столь неповторимый вид, и место расположения накладывают очень большие ограничения на градостроительную деятельность, развитие транспорта и систему водоснабжения. Во многом именно с ним связано превращение Владивостока в автомобильную столицу, бытовые неурядицы 1990-х гг. и значимость проведения саммита АТЭС в 2012 г. Но обо всём по порядку.
Читать дальше →

UAC Bypass и вариации на тему детектирования. Часть 1

Reading time13 min
Views10K

Привет, Хабр!

Сегодня мы хотим рассказать о возможных вариантах обхода контроля учётных записей пользователей (UAC) и способах их детектирования.

Если коротко, UAC (User Account Control) – механизм, поддерживаемый всеми последними версиями Windows, который призван предотвратить несанкционированныадминистративные действия, потенциально опасные для системы. UAC Bypass является достаточно распространённой атакой среди вредоносного ПО. Из последних ярких примеров – червь Raspberry Robin, который использует утилиту fodhelp.exe. Малварь, обнаруженный Microsoft в сетях сотен организаций, способен обходить User Account Control (UAC) в зараженных системах с помощью легитимных инструментов Windows. Поэтому мы решили не проходить UAC Bypass стороной, а подробно его изучить.

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

Но для начала предлагаем ознакомиться с самим механизмом работы UAC немного глубже. Если для вас UAC не нуждается в представлении, то можете сразу переходить к разделу Способы обхода UAC.

Читать далее

ICMP-туннели. Что это и с чем едят?

Reading time6 min
Views15K

Наши клиенты часто спрашивают нас о том, какие виды туннелирования трафика мы детектируем и блокируем с помощью UserGate NGFW. Давайте разберемся в том, что такое ICMP-туннелирование и как его определять.

Echo Request

Декодирование JPEG для чайников

Reading time9 min
Views279K

[FF D8]


Вам когда-нибудь хотелось узнать как устроен jpg-файл? Сейчас разберемся! Прогревайте ваш любимый компилятор и hex-редактор, будем декодировать это:


Jpeg file in hex editor


Специально взял рисунок поменьше. Это знакомый, но сильно пережатый favicon Гугла: Google favicon


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


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


[FF D8] — маркер начала. Он всегда находится в начале всех jpg-файлов.


Следом идут байты [FF FE]. Это маркер, означающий начало секции с комментарием. Следующие 2 байта [00 04] — длина секции (включая эти 2 байта). Значит в следующих двух [3A 29] — сам комментарий. Это коды символов ":" и ")", т.е. обычного смайлика. Вы можете увидеть его в первой строке правой части hex-редактора.

Читать дальше →

Платежные системы простыми словами. Как устроены и зачем нужны Mastercard, Visa, МИР и прочие

Reading time11 min
Views105K

Россия уже больше года живет без Visa и Mastercard. За это время все мы успели четко понять, что платежные системы - это не просто логотипы на банковских картах. В этой статье разбираем, как работают платежные системы, что конкретно они делают, и почему не стоит недооценивать их значимость для экономики.

Читать далее

Моделируем кибератаки на энергосистемы и пытаемся разобраться с «гусями» в сети

Level of difficultyMedium
Reading time10 min
Views5.3K

Привет, Хабр! Когда-то у нас выходил материал по применению протокола SV на электроэнергетических объектах, в котором мы обещали разбор протокола GOOSE. Итак, время пришло.

В этом материале напомним читателям, зачем нужен этот протокол, кто его использует, как выглядят и из чего состоят GOOSE-сообщения. Покажем пример обмена устройствами таким трафиком, а также как, имея программно-аппаратный комплекс для моделирования в реальном времени, создать модель энергосистемы и провести опыт моделирования GOOSE-spoofing атаки на защищающие ее терминалы РЗА.

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

Читать далее

Kerberoasting v2

Reading time8 min
Views30K

В статье «Итоги внутренних пентестов — 2020» от Positive Technologies сообщается, что в 61% внутренних тестирований на проникновение успешно применялась атака Kerberoasting. Это мотивировало меня разобраться в атаке, а также ответить на следующие вопросы: почему Kerberoasting так часто эксплуатируется и какие практики по защите существуют и успешно применяются на текущий момент. 

Перед тем как перейти к сути атаки, полезно получить общее представление о том, как именно устроена проверка подлинности Kerberos.

Проверка подлинности

В проверке подлинности Microsoft по Kerberos участвуют:

Key Distribution Center (KDC) – Центр распространения ключей Kerberos, одна из служб безопасности Windows server. Работает на контроллере домена (DC);

Клиент, который хочет пройти проверку подлинности и получить доступ к сервису;

Сервер, к сервису которого пользователь хочет получить доступ.

Разберемся более подробно

Golden Ticket: разбираем атаку и методы ее детекта

Reading time24 min
Views37K

Привет, Хабр! Сегодня мы хотим поговорить об атаке с применением известной техники Golden Ticket (Золотой билет). О том, что лежит в основе Golden Ticket атак и какие механизмы их реализации существуют, написано уже много. Поэтому в этой статье мы сфокусируемся на способах детектирования.

Те, кто хорошо знаком с Active Directory (AD), согласятся, что несмотря на то, что протокол аутентификации Kerberos, по-прежнему остается одним из самых безопасных, архитектурные особенности системы активно используются злоумышленниками для проведения кибератак. В том числе и с помощью Golden Ticket, которая нацелена на уязвимые системные настройки, слабые пароли или распространение вредоносного ПО. Атаки с использованием Золотых билетов весьма опасны. Злоумышленник не только нарушает обычные рабочие процессы аутентификации, но и получает неограниченный доступ к любой учетной записи или ресурсу в домене AD.

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

Читать далее

Типовые сценарии внедрения NGFW

Reading time9 min
Views20K


Disclaimer


В данной статье приводятся лишь примеры типовых сценариев внедрения NGFW. Не стоит брать предложенные схемы за готовый шаблон. В реальной жизни, почти каждое внедрение уникально. Есть много подводных камней, на которые нужно обратить внимание перед планированием топологии сети. Но в целом, все варианты будут “крутиться” вокруг нескольких концептов. Их мы и постараемся обсудить.

Типовая архитектура сети с точки зрения ИБ


Прежде чем описывать варианты внедрения NGFW, мне бы хотелось обсудить несколько типичных сценариев использования средств сетевой защиты. Мы рассмотрим наиболее распространенные средства, которые есть практически в каждой компании (конечно же максимально упрощенно и поверхностно, иначе получится целая книга). Чаще всего на практике можно встретить три самых распространенных варианта:
Читать дальше →

Что делает центральный процессор, когда ему нечего делать

Reading time10 min
Views73K

Мужик приходит устраиваться работать на стройку. Его спрашивает мастер:
— Что делать умеешь?
— Могу копать…
— А что еще?
— Могу не копать…

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


Неактивным процессор может быть не только для экономии энергии, но и в результате возникновения особых ситуаций, в процессе выполнения протоколов инициализации или как итог намеренных действий системных программ. Почему это интересно? При написании программных моделей (в том числе виртуальных машин) компьютерных систем, необходимо корректно моделировать переходы между состояниями виртуальных процессоров. В работе системных программ регулярно возникают ситуации, когда по тем или иным причинам ЦПУ должен «притормозить». Умение корректно использовать и моделировать эти ситуации зависит от знания и понимания спецификаций.


В статье фокус делается на программной стороне вопроса состояний процессора. Я не буду концентрироваться на деталях реализации (напряжения, пины, частоты и т.д.), так как 1) они существенно различаются между поколениями и моделями процессоров даже одной архитектуры, тогда как программный интерфейс остаётся обратно совместимым; 2) они не видны напрямую программам и ОС. Это попытка просуммировать информацию, разбросанную по многим страницам справочника Intel IA-32 and Intel 64 Software Developer Manual.


Начнём с простой и всем знакомой ситуации — процессор включён, бодр и весел.

Читать дальше →

Information

Rating
Does not participate
Registered
Activity