Все потоки
Поиск
Написать публикацию
Обновить
139.93

Реверс-инжиниринг *

Расковырять и понять как работает

Сначала показывать
Порог рейтинга
Уровень сложности

«Никаких секретов» или Frida для Windows

Время на прочтение5 мин
Количество просмотров15K

Доброго времени суток! В этой статье будет рассказано, как знание JavaScript и концепций работы современного программного обеспечения могут помочь в reverse engineering, а так же продемонстрировано, как можно использовать тулзу для динамической инструментации для анализа любого ПО на Linux, Windows, Android и iOS.

Читать далее

CTF-соревнования 2020 для «белых хакеров». Старт регистрации участников

Время на прочтение3 мин
Количество просмотров6.4K




В декабре OTUS при поддержке VolgaCTF и СTF.Moscow приглашает всех, кому близко направление ИБ, на онлайн-соревнования по поиску уязвимостей. Узнать подробнее и зарегистрироваться можно здесь. А пока рассказываем подробнее про формат и участие, а также вспоминаем, как прошло мероприятие в 2019 году.
Читать дальше →

Расследование: как мы помогли атакованной шифровальщиком группировки APT27 компании вернуть доступ к файлам

Время на прочтение4 мин
Количество просмотров4.9K

Экспертный центр безопасности Positive Technologies (PT Expert Security Center, PT ESC) расследовал кибератаку вируса-шифровальщика на инфраструктуру одного СМИ, вернул доступ к данным, выявил двухлетнюю деятельность известной АРТ-группировки (предположительно с азиатскими корнями) и пресек ее.

Полная версия расследования представлена по ссылке, а в этой статье мы поделимся его главными фактами.

Читать далее

«Heroes of Might and Magic IV»: баг с таверной или классика патчинга

Время на прочтение3 мин
Количество просмотров19K
Эта короткая история описывает одну из работ, проведенную в рамках проекта «Equilibris» — неофициального мода для игры «Heroes of Might and Magic IV». С точки зрения как реверс-инжиниринга, так и патчинга она не представляет особого интереса — несколько забавным оказался только лишь финал.

image

Как известно, в данной серии игр в каждой таверне игрок может нанимать лишь одного нового Героя в неделю. Однако…
Читать дальше →

Дизассемблируем циклы, написанные на Си

Время на прочтение4 мин
Количество просмотров14K

Доброго времени суток.

Сегодня мы будем смотреть дизассемблированный код инструкций if, for, while, swich, которые написаны на языке Си. Воспользуемся radare2.

Дизассемблировать код

PostgreSQL Antipatterns: DBA-детектив, или Три дела о потерянной производительности

Время на прочтение30 мин
Количество просмотров5.5K
Сегодня вместо решения абстрактных алгоритмических задач мы выступим в роли детектива, по крупицам доставшейся информации исследующего неэффективные запросы, и рассмотрим три реальных дела, встречавшихся в разное время на просторах нашего приложения СБИС, когда простота и наивность при написании SQL превращалась в дополнительную нагрузку для PostgreSQL-сервера.


Дедукция и индукция помогут нам вычислить, что же все-таки хотел получить от СУБД разработчик, и почему это получилось не слишком оптимально. Итак, сегодня нас ждут:

  • Дело о непростом пути вверх
    Разберем в live-видео на реальном примере некоторые из способов улучшения производительности иерархического запроса.
  • Дело о худеющем запросе
    Увидим, как можно запрос упростить и ускорить в несколько раз, пошагово применяя стандартные методики.
  • Дело о развесистой клюкве
    Восстановим структуру БД на основании единственного запроса с 11 JOIN и предложим альтернативный вариант решения на ней той же задачи.
Расследовать

Как устроено множество Мандельброта. Центральная кардиоида

Время на прочтение5 мин
Количество просмотров7.9K
image

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

Windows: достучаться до железа

Время на прочтение11 мин
Количество просмотров58K

Меня всегда интересовало низкоуровневое программирование – общаться напрямую с оборудованием, жонглировать регистрами, детально разбираться как что устроено... Увы, современные операционные системы максимально изолируют железо от пользователя, и просто так в физическую память или регистры устройств что-то записать нельзя. Точнее я так думал, а на самом деле оказалось, что чуть ли не каждый производитель железа так делает!

Читать далее

Идем по приборам

Время на прочтение22 мин
Количество просмотров35K


Много ли нужно, чтобы изменить пробег или залезть в память приборной панели?


Есть только один способ узнать — попробовать сделать это самому.

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

Почему множество Мандельброта устроено так, как оно устроено

Время на прочтение5 мин
Количество просмотров36K
Оболочка Мандельброта


Созерцание фракталов завораживает, особенно это относится к предмету данной статьи, который демонстрирует вдобавок ко всему еще и изрядное разнообразие. Впрочем, не менее интересно попытаться разобраться, откуда что берётся, как из одного, в сущности, (пусть и комплексного) числа рождается всё это великолепие.
Если любопытно, добро пожаловать под кат.
Читать дальше →

Вскрытие покажет: Решаем лёгкий crackme и пишем генератор ключа

Время на прочтение3 мин
Количество просмотров21K
Доброго времени суток читающий. Мне хочется рассказать тебе про алгоритм решения одного лёгкого crackme и поделиться кодом генератора. Это был один из первых crackme, который я решил.

На просторах сети найден был наш подопытный. Это сrackme. Естественно, что необходимо изучить его. Для вскрытия нам понадобиться:

  • Немного языка Assembler
  • Логика вместе с отладчиком (IDA PRO)

Лекарство изготовим из яда австралийской змеи с помощью Python. Не будем терять времени.

image

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

О декодировании протокола погодных датчиков Oregon Scientific

Время на прочтение7 мин
Количество просмотров8.8K

Лет десять назад как-то по случаю я купил простенькую погодную станцию Oregon Scientific BAR208HG. Радовала она домочадцев достаточно долго, и продолжает радовать до сих пор. Мне же со временем стало не хватать её функционала и захотелось расширить свои возможности наблюдения за погодой. И тут выяснился один неприятный факт — покупка продвинутой метеостанции от того же Oregon Scientific не давала возможности транслировать показания с её датчиков на старую станцию. Не совпадала версия протокола передачи данных. Примерно в это же время я был вовлечён в такую увлекательную авантюру, как передачу метеоданных на сервис небезызвестного Народного мониторинга. Уже на тот момент сети имелось достаточно много информации о самих погодных станциях и датчиках Oregon, о протоколе передачи данных и методах их расшифровки. Я легко нашёл и несколько готовых программ и библиотек Arduino для приёма и расшифровки сигнала. Вся эта информация показалась мне недостаточно систематизирована, местами неточна, а программы давали удовлетворительный результат только на очень коротких расстояниях. В конечном итоге я пришёл к старой истине: "Хочешь сделать что-то хорошо — сделай сам". Результатом последующих изысканий стало написание вот этой заметки, в которой хотелось бы поделиться полученными знаниями и умениями.

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

Сравниваем код модульных APT-бэкдоров

Время на прочтение7 мин
Количество просмотров2.3K


В июле 2020 года мы выпустили исследование целевых атак на государственные учреждения Казахстана и Киргизии с подробным разбором вредоносных программ, найденных в скомпрометированных сетях. Список тогда получился настолько внушительный, что одни только IoC’и заняли несколько страниц текста. В процессе расследования этих инцидентов среди прочего ВПО мы изучили образцы мультимодульных бэкдоров PlugX, которые использовались для первичного заражения локальных сетей пострадавших организаций. Применение программ этого семейства свидетельствует о возможной причастности к атакам китайских APT-групп.

Главный объект изучения сегодняшней статьи — бэкдор ShadowPad — попал в нашу вирусную лабораторию с одного из зараженных компьютеров локальной сети госучреждения Киргизии. Различные модификации этого семейства являются известным инструментом Winnti — APT-группы предположительно китайского происхождения, активной как минимум с 2012 года. В ходе экспертизы мы также обнаружили несколько модификаций PlugX, установленных на том же компьютере.

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

Ближайшие события

Пишем шеллкод под Windows на ассемблере

Время на прочтение22 мин
Количество просмотров19K
image

В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферов, обфускации шеллкодов для сокрытия их от антивирусов, внедрения кода в исполняемый файл (PE Backdooring). В качестве примера я выбрал TCP bind shellcode, т.к. на мой взгляд — это лучший пример, потому что все остальные базовые шеллкоды имеют много общего с ним. Статья будет полезна для специалистов по информационной безопасности, пентестеров, начинающих реверс-инженеров и всем, кто желает разобраться в базовых принципах работы ОС Windows. Плюсом — улучшаются навыки программирования.
Читать дальше →

stol-p1 – подставка для ноутбука и айпада в стиле Оригами

Время на прочтение3 мин
Количество просмотров6.1K
image

stol-p1 — проект Оригами подставки для работы на ноутбуке и планшете, который я разрабатываю с ребятами последние 7 месяцев. Он имеет 5 разных позиции для удобной работы за ноутом.

В нём имеется:

  • Держатель для стакана

  • Беспроводная зарядка

  • Держатель для планшета и книжек

  • LED лампа

  • Анти соскальзывающая поверхность

  • Складная подставка

image

stol-p1 – это мой самый амбициозный проект который я когда либо делал, мы с друзьями попытались сделать что то по настоящему крутое, что могло бы пригодиться в доме или в офисе. Под катом можете посмотреть подробное описание.
Читать дальше →

Аппаратный взлом жёсткого диска

Время на прочтение14 мин
Количество просмотров129K

Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Address). Компьютер, к которому подключен жёсткий диск (hard drive, HD), может считывать и записывать данные в эти сектора. Обычно используется файловая система, абстрагирующая все эти сектора до файлов и папок.

Неспециалисту может показаться, что оборудование HD должно быть довольно простым: достаточно всего лишь устройства, подключаемого к порту SATA, которое может позиционировать свои головки чтения/записи и считывать или записывать данные на пластины. Однако их работа намного сложнее: разве жёсткие диски не занимаются обработкой сбойных блоки и атрибутов SMART, и не имеют кэша, с которым тоже каким-то образом нужно работать?

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

Обратная отладка виртуальных машин в QEMU

Время на прочтение7 мин
Количество просмотров6.4K

Обратная отладка - это как прокрутить фарш назад. Как запихнуть желток и белок обратно в скорлупу. Как сделать доллар по 6 рублей. В общем, она помогает нам находить источники сбоев в программах, перемещаясь "назад во времени" от места их возникновения.

Читать далее

Как я Дота-лигу открывал. Часть 3

Время на прочтение9 мин
Количество просмотров4.7K


Читать сначала: Как я Дота-лигу открывал. Часть 1
Продолжение: Как я Дота-лигу открывал. Часть 2
Ответвление: Как я продолжил дело Дота-лиги

Год 2008-й, середина осени. В результате вооруженного переворота у меня отобрали лигу, и теперь я стал абсолютно свободен от каких-либо обязанностей. Мне больше не надо следить за ботами, за серверами, за лигой, за админами и думать над её развитием. Наконец-то я могу изучать интересные мне технологии! Я начал ковырять PHP, и придумывать следующий проект…
Читать дальше →

Укрощение Горыныча 2, или Символьное исполнение в Ghidra

Время на прочтение8 мин
Количество просмотров5.8K


С удовольствием и даже гордостью публикуем эту статью. Во-первых, потому что автор — участница нашей программы Summ3r of h4ck, Nalen98. А во-вторых, потому что это исследовательская работа с продолжением, что вдвойне интереснее. Ссылка на первую часть.


Добрый день!


Прошлогодняя стажировка в Digital Security не оставила меня равнодушной к компании и новым исследованиям, так что в этом году я взялась поработать над проектом так же охотно. Темой летней стажировки «Summer of Hack 2020» для меня стала «Символьное исполнение в Ghidra». Нужно было изучить существующие движки символьного исполнения, выбрать один из них и реализовать его в интерфейсе Ghidra. Казалось бы, зачем, ведь в основном движки представляют собой самостоятельные решения? Этот вопрос будет возникать до тех пор, пока не попробовать то, что автоматизирует действия и сделает их наглядными. Это и стало целью разработки.


Статья в какой-то степени является еще и продолжением статьи моего наставника, Андрея Акимова, о решении Kao’s Toy Project с Triton. Только сейчас нам не придется писать ни строчки кода – решить крякми можно будет практически двумя кликами.


Итак, начнем по порядку.

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

Loki 1.8: досье на молодой и подающий надежды Data Stealer

Время на прочтение12 мин
Количество просмотров4.6K


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

Опасные письма, замаскированную под обращение министра здравоохранения Республики Казахстан, перехватила система Threat Detection System (TDS) Group-IB. Во вложении письма находились документы, при запуске которых на компьютер устанавливалась вредоносная программа из семейства Loki PWS (Password Stealer), предназначенная для кражи логинов и паролей с зараженного компьютера. В дальнейшем злоумышленники могут использовать их для получения доступа к почтовым аккаунтам для финансового мошенничества, шпионажа или продать на хакерских форумах.

В этой статье Никита Карпов, аналитик CERT-GIB, рассматривает экземпляр одного из самых популярных сейчас Data Stealer’ов — Loki.
Читать дальше →

Вклад авторов