Search
Write a publication
Pull to refresh
10
0
Виктор @VictorAl

Разработчик АСУНО

Send message

LoJax: первый известный UEFI руткит, используемый во вредоносной кампании

Reading time25 min
Views17K
Кибергруппа Sednit, также известная как АРТ28, Strontium и Fancy Bear, работает как минимум с 2004 года. Считается, что группа стоит за рядом резонансных кибератак. Некоторые ИБ-компании и Министерство юстиции США назвали Sednit ответственной за взлом Национального комитета Демократической партии перед выборами в США в 2016 году. Группе приписывают взлом глобальной телевизионной сети TV5Monde, утечку электронных писем Всемирного антидопингового агентства (WADA) и другие инциденты. У Sednit множество целей и широкий спектр инструментов, некоторые из которых мы уже задокументировали ранее, но в этой работе мы впервые детально опишем применение UEFI руткита.


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

DPAPI на пальцах

Reading time7 min
Views34K
Здравствуйте, хабражители!

В далеком декабре прошлого года я впервые столкнулся с Data Protection Application Programming Interface (сокращенно DPAPI). Тогда я изучал способ хранения логинов/паролей в браузере Chrome. Я обещал, что распишу эту систему подробно и на пальцах. Негоже врать, поэтому добро пожаловать под кат!

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

По следам Petya: находим и эксплуатируем уязвимость в программном обеспечении

Reading time7 min
Views10K
image

Нашумевшие события последних месяцев наглядно показывают, насколько актуальной является проблема критических уязвимостей в программном обеспечении. Массовые атаки на пользователей с помощью вирусов-шифровальщиков WannaCry и Petya осуществлялись путем удалённой эксплуатации уязвимостей нулевого дня в сетевых сервисах Windows – SMBv1 и SMBv2. Нахождение и эксплуатация уязвимостей для удаленного выполнения кода – задачка явно не из легких. Однако лучшим из лучших специалистов по информационной безопасности всё по зубам!

В одном из заданий очного тура NeoQuest-2017 необходимо было найти уязвимости в доступной по сети программе-интерпретаторе команд, и с помощью их эксплуатации выполнить код на удаленном сервере. Для доказательства взлома нужно было прочитать содержимое файлового каталога на сервере – там, по условию, размещался ключ задания. Участникам был доступен бинарный файл интерпретатора. Итак, лёд тронулся!
Читать дальше →

Продвижение видео на YouTube. SEO, аналитика, схемы и нюансы

Reading time8 min
Views240K
Всем привет!
Меня зовут Женя Заремба. Работаю в Wargaming специалистом по продвижению видео. В этой статье я бы хотел рассказать о продвижении видео на YouTube, схемах раскрутки и нюансах, которые встречаются при работе. Мы провели множество тестов, и я буду рад поделиться с вами их результатами. Под катом я расскажу все о главных факторах успеха видео, особенностях SEO на YouTube, работе с аналитикой и других приемах.
image
Читать дальше →

Перевод и озвучка фильма дома — Indie Game: The Movie Special Edition

Reading time13 min
Views14K
В августе 2014 года мы с моим другом решили, что было бы круто попробовать озвучить какой-нибудь фильм, которого ещё нет на русском. Выбор пал на продолжение документального фильма про разработчиков очень популярных в своё время инди-игр (Super Meat Boy, FEZ, Braid) — «Indie Game: The Movie Special Edition». 19 роликов суммарной длиной 01:46:55. В наличии были только английские субтитры.

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

image

Оптимизация кода: процессор

Level of difficultyHard
Reading time18 min
Views117K
Все программы должны быть правильными, но некоторые программы должны быть быстрыми. Если программа обрабатывает видео-фреймы или сетевые пакеты в реальном времени, производительность является ключевым фактором. Недостаточно использовать эффективные алгоритмы и структуры данных. Нужно писать такой код, который компилятор легко оптимизирует и транслирует в быстрый исполняемый код.

image

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

Бэкап файлов Windows-сервера своими руками

Reading time11 min
Views48K
Здесь мы рассмотрим, как сделать систему дифференциального бэкапа «из коробки» (ну почти), с привлечением минимального количества внешних модулей, в лучших традициях UNIX-way.
Будем использовать 7za.exe \ 7z, а также UNIX-like утилиту pdate.exe, чтобы со временем нам было работать также удобно, как и в ламповом *NIX, а заменой bash нам будет «простонародный» BAT. Предыстория и подробности — под катом.
Читать дальше →

Оптимизируем шаг за шагом с компилятором Intel C++

Reading time8 min
Views27K


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

Итак, весь тернистый путь компиляции и оптимизации нашего приложения можно разбить на 7 шагов. Пошагали!
Читать дальше →

Взлом Wi-Fi

Reading time7 min
Views330K

Взлом маршрутизаторов WPA/WPA2 Wi-Fi с помощью Airodump-ng и Aircrack-ng/Hashcat


Это краткое пошаговое руководство, которое демонстрирует способ взлома сетей Wi-Fi, защищённых слабыми паролями. Оно не исчерпывающее, но этой информации должно хватить, чтобы вы протестировали свою собственную сетевую безопасность или взломали кого-нибудь поблизости. Изложенная ниже атака полностью пассивна (только прослушивание, ничего не транслируется с вашего компьютера) и о ней невозможно узнать, если вы только реально не воспользуетесь паролем, который взломали. Необязательную активную атаку с деаутентификацией можно применить для ускорения разведывательного процесса. Она описана в конце статьи.
Читать дальше →

Централизованное хранилище логов для Squid Proxy или как мы логи в базу заворачивали

Reading time3 min
Views17K
image

Привет %username%,

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

Что имеем:

  1. Squid-hq
  2. Squid-br1
  3. Squid-br2
  4. Squid-br3
  5. Squid-br4
  6. Squid-db
Читать дальше →

Работа с цифровым осциллографом (освоившим только кнопку AUTO посвящается)

Reading time1 min
Views35K
Упоролся на днях и снял кЫно про использование осциллографа. Второй раз, да. Но на этот раз цифрового. За основу взял RIGOL, но в остальных все похоже. К аналоговому тоже все это относится, по крайней мере работа синхронизации в тех возможностях, что там есть.

Как удалённо отлаживать через WinDbg не включая отладочный режим Windows

Reading time4 min
Views13K
Иногда при анализе какой-нибудь платной программы малвари случается так, что она не хочет нормально работать, если в памяти есть отладчик или включён отладочный режим Windows.
В таких ситуациях помогает использование виртуальной машины с подключённым к ней отладчиком (например, GDB или IDA). Это если программа не пытается «сломаться» и в виртуальной машине тоже.
Читать дальше →

Как я нашёл баг в процессорах Intel Skylake

Reading time9 min
Views47K
Инструкторы курсов «Введение в программирование» знают, что студенты находят любые причины для ошибок своих программ. Процедура сортировки отбраковала половину данных? «Это может быть вирус в Windows!» Двоичный поиск ни разу не сработал? «Компилятор Java сегодня странно себя ведёт!» Опытные программисты очень хорошо знают, что баг обычно в их собственном коде, иногда в сторонних библиотеках, очень редко в системных библиотеках, крайне редко в компиляторе и никогда — в процессоре. Я тоже так думал до недавнего времени. Пока не столкнулся с багом в процессорах Intel Skylake, когда занимался отладкой таинственных сбоев OCaml.

Первое проявление


В конце апреля 2016 года вскоре после выпуска OCaml 4.03.0 один Очень Серьёзный Индустриальный Пользователь OCaml (ОСИП) обратился ко мне в частном порядке с плохими новостями: одно из наших приложений, написанное на OCaml и скомпилированное в OCaml 4.03.0, падало случайным образом. Не при каждом запуске, но иногда вылетал segfault, в разных местах кода. Более того, сбои наблюдались только на их самых новых компьютерах, которые работали на процессорах Intel Skylake (Skylake — это кодовое название последнего на тот момент поколения процессоров Intel. Сейчас последним поколением является Kaby Lake).

За последние 25 лет мне сообщали о многих багах OCaml, но это сообщение вызывало особенное беспокойство. Почему только процессоры Skylake? В конце концов, я даже не мог воспроизвести сбои в бинарниках ОСИПа на компьютерах в моей компании Inria, потому что все они работали на более старых процессорах Intel. Почему сбои не воспроизводятся? Однопоточное приложение ОСИПа делает сетевые и дисковые операции I/O, так что его выполнение должно быть строго детерминировано, и любой баг, который вызвал segfault, должен проявлять себя при каждом запуске в том же месте кода.
Читать дальше →

Как лечат сумасшедших. 1.1 — Фармакотерапия: основы и шизофрения

Reading time18 min
Views149K
Приветствую тебя, %username%!



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

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

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

Брутим crackme#03 от korsader

Reading time6 min
Views8.7K

Вступление


У меня нет опыта в реверсе, есть некие базовые знания ассемблера, позволяющие сделать битхак условных переходов, чтобы данное приложение всегда выходило на success-path независимо от введенного значения. Но так как это слишком банально для того, чтобы быть опубликованным здесь, а до полного воспроизведения алгоритма проверки введенного ключа я еще не дорос, я решил попробовать метод брута, т.е. последовательного подбора ключей. Конечно же, я не могу сказать, что и этот способ отличается своей крутизной, но по крайней мере подробное описание этого способа не так часто встречается среди статей по реверсу.

image

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

Оптический S/PDIF для ПК своими руками

Reading time3 min
Views97K
Цифровые интерфейсы давно теснят своих аналоговых предков. Аудиосистемы среднего класса в качестве источника сигнала используют звук закодированный в одном из множества стандартов. Это может быть банальный PCM для стереозвука или семейство стандартов Dolby для их многоканальных родственников. Но сегодня мы поговорим не о способах кодирования, но о том, как именно передаётся сигнал. Существует всего два варианта — оптический и по коаксиальному кабелю. Оптика гарантирует полную электрическую развязку, коаксиальный кабель прост в подключении.
Читать дальше →

Как взрываются базовые станции

Reading time1 min
Views62K
image

С 2012 по 2014 годы в нескольких регионах России произошли взрывы на базовых станциях операторов сотовой связи. Они никак не были связаны с терактами, не было и сообщений в СМИ. Какие-то краткие упоминания об этом можно найти лишь на отраслевых форумах и в социальных сетях.
Читать дальше →

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

Reading time6 min
Views19K
Можно ли создать такой ключ реестра, который будет виден в Windows в составе активного (подключенного) реестра, но не будет виден программам, работающим с неактивным (отключенным) реестром? Оказывается, если у вас есть возможность изменить лишь одну переменную ядра (например, с помощью драйвера), то да, способ есть.
Читать дальше →

Читаем бинарные файлы iOS-приложений

Reading time7 min
Views10K

На хабре есть много статей о том, как работает рантайм Swift/Objective-C, но для еще более полного понимания того, что происходит под капотом, полезно залезть на самый низкий уровень и посмотреть, как код iOS приложений укладывается в бинарные файлы. Кроме того, безусловно, под капот приходится залезать при решении реверс-инжиниринговых задач. В этой статье мы обсудим самые простые конструкции Objective-C, а о Swift и более сложных примерах поговорим в последующих статьях.


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




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

Поэлементный разбор внутренностей простейшей микросхемы — ULN2003

Reading time2 min
Views83K
В предыдущих статьях с фотографиями кристаллов микросхем (1, 2, 3) — в комментариях писали о том, что было бы неплохо разобрать простую микросхему по деталям — чтобы было понятно «что есть что» на самом низком уровне, и где там «магический дым» прячется. Я долго не мог выбрать микросхему, в схеме которой можно было бы разобраться за несколько минут — но наконец решение было найдено: ULN2003 — массив транзисторов Дарлингтона.

Несмотря на свою простоту, микросхема до сих пор широко используется и производится. ULN2003 состоит из 21 резистора, 14 транзисторов и 7 диодов. Применяют её для управления относительно мощной нагрузкой (до 50 вольт / 0.5 ампер) от ножки микроконтроллера (или других цифровых микросхем). Каноническое применение — для управления мощными 7-и сегментными светодиодными индикаторами.
Скальпель, зажим, кипящая кислота....

Information

Rating
Does not participate
Location
Саратов, Саратовская обл., Россия
Date of birth
Registered
Activity