Pull to refresh
57
0
GH0st3rs @GH0st3rs

Security Researcher

Send message

Разрабатываем процессорный модуль NIOS II для IDA Pro

Reading time 12 min
Views 7.9K
image

Скриншот интерфейса дизассемблера IDA Pro

IDA Pro — знаменитый дизассемблер, который уже много лет используют исследователи информационной безопасности во всем мире. Мы в Positive Technologies также применяем этот инструмент. Более того, нам удалось разработать собственный процессорный модуль дизассемблера для микропроцессорной архитектуры NIOS II, который повышает скорость и удобство анализа кода.

Сегодня я расскажу об истории этого проекта и покажу, что получилось в итоге.
Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 5

Обзор уязвимости в Winbox от Mikrotik. Или большой фейл

Reading time 6 min
Views 46K
Всем доброго времени суток, наверняка многие уже слышали про недавнюю уязвимость в роутерах Mikrotik, позволяющую извлечь пароли всех пользователей. В этой статье я бы хотел подробно показать и разобрать суть данной уязвимости.
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 27

Мобильные устройства изнутри. Что такое GPT?

Reading time 9 min
Views 17K

Что такое GPT?



1. Введение


Продолжаем рассматривать строение программной части (software) мобильных устройств (МУ). Сегодня поговорим об устройстве GPT-раздела памяти. Написать об этом меня побудила публикация Изучаем структуры MBR и GPT, вместо того, чтобы писать комментарии к ней. Я хотел бы не поругать или поправить автора, а дополнить вышеуказанную публикацию с уклоном в МУ.


Итак, GPT (GUID Partition Table) это:

  • в первую очередь название схемы разметки памяти (GPT-схема) МУ ;
  • затем уж название раздела памяти (GPT-раздел), где расположена физически эта схема;
  • ну и также название файла-образа GPT-раздела памяти (GPT-файл).

Существует две схемы разметки памяти: MBR и GPT. Каждая схема содержится в отдельном разделе памяти, называемом, соответственно, MBR или GPT.

Как устроена MBR-схема разметки можно посмотреть в [1], а GPT это другой формат описания разметки памяти — GUID (GUID Partition Table). Он является частью EFI (Extensible Firmware Interface) — стандарта UEFI, используемого вместо BIOS для загрузки разделов памяти.

Переход на другой формат позволил устранить самый существенный недостаток MBR-формата — малое число разделов. Если в MBR помещалось только 4 записи с ограничением на длину раздела и его смещение из-за того, что эти параметры описывались 32-разрядными числами, то в GPT можно разместить 128 записей о разделах. Причем их параметры уже описываются в 64-разрядной системе счисления…
Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Comments 8

Меняем PID процесса в Linux с помощью модуля ядра

Reading time 4 min
Views 11K
В этой статье мы попытаемся создать модуль ядра, способный изменить PID уже запущенного процесса в ОС Linux, а так же поэкспериментировать с процессами, получившими измененный PID.


Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Comments 20

Анализ Crackme #1 от PE_Kill

Reading time 9 min
Views 13K

Предисловие



Я уже долгое время ничего не исследую, так сказать ушел на покой. Но тут мне на глаза попалась очередная поделка немало известного в определенных кругах PE_Kill'a. Т.к. мне довелось решать его предыдущую поделку в рамках CRACKL@B Contest 2010, которая в свою очередь была довольно интересна, я решил взглянуть на его новое «детище».

Что вас ждет под катом: подделка CRC32, брут ключа для RC4, факторизация для RSA, а также использование коллизии для MD4 и генерация двух разных сообщений с одинаковыми хешеми. Всё это и многое другое под катом.
Читать дальше
Total votes 148: ↑143 and ↓5 +138
Comments 31

Иследование несложных crackme's (часть 3)

Reading time 7 min
Views 12K
Здравствуйте, Хабралюди.
Представляю вам третью часть из моего цикла статей о исследовании крякмисов. В этом топике мы поговорим с вами о ручной распаковке некоторых пакеров и о преодолении не сложных антиотладочных методов.
Читать дальше →
Total votes 45: ↑36 and ↓9 +27
Comments 49

Атака на чёрный ящик. Реверс-инжиниринг виртуализированного и мутированного кода

Reading time 14 min
Views 29K


Защита собственного программного обеспечения от реверс инжиниринга достаточно старая проблема, в своё время терзавшая сердца многих shareware разработчиков и не только. Обычно для таких целей применяют протектор, но насколько бы ни был крутой протектор, всегда найдутся люди которые его распилят и взломают. Однако последнее время протекторы стали применять технологии видоизменения кода(мутацию и виртуализацию), которые позволяют из исходного алгоритма сделать кашу, внешне напоминающую 'чёрный ящик'. И действительно встречаются люди, уверенные в том, что виртуализация и мутация исполняемого кода современными коммерческими протекторами является некой панацеей. Понятное дело что любой безопасник скорее ухмыльнётся и не согласится с таким утверждением, ведь люди знающие горькую цену безопасности любые намёки на идеальную защиту скорее всего воспримут как миф и маркетинговую сказку. В этой статье я расскажу о собственном опыте и виденье исследования чёрного ящика коммерческих протекторов и возможных атаках на него. Надеюсь понимание недостатков таких технологий, поможет вам более разумно и эффективно применять их на практике или не применять вообще.
Читать дальше →
Total votes 42: ↑40 and ↓2 +38
Comments 14

A minute of Black Magic

Reading time 6 min
Views 13K

Prev


В этой статье расскажем, как научиться отлаживать и полюбить маленькую черную плату Black Magic Probe V2.1. Но для начала немного о том, что это такое и зачем она нужна.

Плата Black Magic Probe Mini V2.1 (BMPM2) разработана 1BitSquared в сотрудничестве с Black Sphere Technologies, является адаптером JTAG и SWD, предназначена для программирования и отладки микроконтроллеров ARM Cortex-M и ARM Cortex-A. Можно добавить поддержку других процессоров. Описание процесса добавления можно найти по ссылке. Стоит также отметить, что любой процессор с поддержкой ADIv5 (ARM Debug Interface v5) будет определяться платой.

Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 1

Реверс-инжиниринг первых умных часов Seiko UC-2000

Reading time 32 min
Views 31K


Где-то в конце 1983 — начале 84 года, японская компания Seiko начала продавать первые в истории компьютеризированные часы — Seiko Data-2000 и Seiko UC-2000. Data-2000 имели возможность хранить 2КБ заметок, их нужно было вводить с помощью специальной компактной клавиатуры, которая шла в комплекте. UC-2000, по сути, те же Data-2000 с корпусом другого цвета, но они уже позиционировались как часть Наручной Информационной Системы, которая, среди прочего, включала терминал UC-2200, представляющий из себя компьютер с Z80-совместимым процессором, интерпретатором Бэйсика и термопринтером, но без экрана, в качестве которого использовались часы (как это не странно). Среди прочего, терминал давал возможность загружать на часы приложения со специальных картриджей. Подробнее о линейке ранних умных часов Seiko можно почитать, например, в этой статье. В этом же посте я расскажу, как написал (возможно) первую, за более чем 33 года, программу для этих часов.
Total votes 139: ↑139 and ↓0 +139
Comments 35

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

Reading time 7 min
Views 9.9K
image

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

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

Оптимизация и автоматизация тестирования веб-приложений

Reading time 5 min
Views 19K

image


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

Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Comments 2

Гремлины и ELFийская магия: а что, если ELF-файл — это контейнер?

Reading time 5 min
Views 7.7K
Мы, дети 90-х, любим добавить в задания NeoQUEST что-нибудь олдскульное. В этом году нам вспомнились гремлины, и мы добавили их в легенду одного из заданий соревнования «Очной ставки» NeoQUEST-2017.

Однако, под внешне забавной легендой скрывается вполне себе реальная практическая задача: а что, если привычные ELF-файлы — не просто исполняемые файлы, а контейнеры, открыть которые нам предстоит? Для этого придется испытать довольно-таки обширные возможности objcopy и освежить в памяти организацию ELF-файла.

Чтобы вычислить подозрительные секции, необходимо представлять секционный и сегментный состав типичного ELF. Помимо этого, конечно, пригодится и опыт — например, общение с firmware embedded-систем вполне может подсказать подходящие идеи!

Думаете, готовы на 100%? Уверены, что гремлинам удастся вас удивить спрятанными архивами, попорченными таблицами символов, а также аудиофайлами, которые зазвучат только в руках умелого мастера! Под катом — исходники к заданию и прохождение, чтобы каждый читатель Хабра мог собственноручно попробовать пройти задание!
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 5

Атакуем DHCP

Reading time 11 min
Views 68K

LOGO


В данной статье мы расскажем, как эксплуатировать ShellShock на клиенте DHCP и получить на нем полноценный reverse или bind shell. Интернет пестрит статьями, повествующими о возможностях эксплуатации shellshock на DHCP-клиентах. Есть даже статьи о том, как получить reverse shell на DHCP-клиенте. Однако, стабильно и повсеместно работающего инструмента для получения shell мы еще не встречали. Те, кто в теме, возможно, нового здесь не увидят, но не исключено, что вам будет интересно узнать, как нам удалось автоматизировать получение reverse и bind shell в условиях фильтрации и экранирования символов на стороне DHCP-клиента. Кроме того, мы расскажем и о том, чем вообще может быть интересен протокол DHCP.

Total votes 37: ↑35 and ↓2 +33
Comments 9

Hard Reverse или особенности реверса файлов для архитектуры PowerPC Big-Endian

Reading time 5 min
Views 4.4K
Задания на reverse engineering — обязательная часть любых CTF, и NeoQUEST в этом плане не исключение. В каждое задание мы добавляем «изюминку», которая, с одной стороны, несколько затрудняет участникам прохождение задания, а с другой — позволяет на практике разобраться с тем, с чем еще не приходилось работать.

Если говорить об «изюминках», то задание online-этапа NeoQUEST-2017 планеты Endian «Спасение экипажа» — практически кекс! Добро пожаловать под кат, в самые дебри реверса: поговорим об архитектуре PowerPC Big-Endian и немного — о QEMU!

А мы напоминаем, что 29 июня в Петербурге состоится «Очная ставка» NeoQUEST-2017: доклады, воркшопы, конкурсы, призы, отличное времяпровождение и свободный вход при регистрации на сайте — всё для тебя! Подробнее о том, что войдет в программу «Очной ставки», читай тут и на сайте!
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 2

Разбор заданий конкурса WAF Bypass на PHDays VII

Reading time 7 min
Views 5K
Международный форум по информационной безопасности PHDays вновь стал площадкой для конкурса WAF Bypass. Цель конкурса — обойти защитные механизмы PT Application Firewall, чтобы добыть специальные флаги через уязвимости в подготовленных веб-приложениях. Каждое из заданий подразумевало заложенные нами варианты обхода PT Application Firewall, что, в свою очередь, стало возможным за счет отключения ряда функций безопасности. В этом году мы также решили опробовать прототип межсетевого экрана систем управления базами данных (DBFW), который анализировал SQL-трафик от приложений до баз данных (БД).
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 0

«Противостояние» PHDays VII: Новичкам везет или Грабим банки, ломаем GSM-ы

Reading time 7 min
Views 11K
В этом году мы (ЦАРКА Казахстан) в первый раз участвовали в битве Атакующих и Защитников (The Standoff) на PHDays в качестве злобных хакеров. В посте постараемся описать, как проходило мероприятие, за счет чего нам удалось выиграть и что в итоге лежало в том металлическом чемоданчике.

Вводная

Мы уже несколько лет посещаем PHDays нашей командой и в основном побеждали в мелких конкурсах. Поэтому в этом году нас интересовала только победа в основном конкурсе.

Состав

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

image
Total votes 23: ↑23 and ↓0 +23
Comments 4

Разбираем уязвимость CVE-2017-0263 для повышения привилегий в Windows

Reading time 9 min
Views 22K


Май оказался богат на интересные уязвимости в популярной операционной системе. На днях злоумышленники массово заражали компьютеры вирусом-вымогателем WannaCry, эксплуатируя недостаток безопасности в протоколе SMB и инструмент, известный как Eternalblue. Чуть ранее, 9 мая, компания Microsoft устранила CVE-2017-0263, позволяющую получить максимальные привилегии на машинах под управлением Windows 10, Windows 8.1, Windows 7, Windows Server 2008, Windows Server 2012 и Windows Server 2016.

Уязвимость CVE-2017-0263 уже использовалась в фишинговой рассылке. Письмо содержало вложенный эксплойт, который задействовал сначала некорректную обработку EPS-файлов в Microsoft Office (CVE-2017-0262) для попадания в систему, а оказавшись внутри, получал с помощью CVE-2017-0263 полные права администратора. Два года назад мы уже препарировали похожую уязвимость в Windows, а в этом материале расскажем о том, как свежая CVE-2017-0263 позволяет стать хозяином чужой рабочей станции или сервера.
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Comments 4

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

Reading time 4 min
Views 12K
Иногда при анализе какой-нибудь платной программы малвари случается так, что она не хочет нормально работать, если в памяти есть отладчик или включён отладочный режим Windows.
В таких ситуациях помогает использование виртуальной машины с подключённым к ней отладчиком (например, GDB или IDA). Это если программа не пытается «сломаться» и в виртуальной машине тоже.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 1

Шифрование в EXT4. How It Works?

Reading time 12 min
Views 24K
image Паранойя не лечится! Но и не преследуется по закону. Поэтому в Linux Kernel 4.1 добавлена поддержка шифрования файловой системы ext4 на уровне отдельных файлов и директорий. Зашифровать можно только пустую директорию. Все файлы, которые будут созданы в такой директории, также будут зашифрованы. Шифруются только имена файлов и содержимое, метаданные не шифруются, inline data (когда данные файла, не превышающие по размеру 60 байт, хранятся в айноде) в файлах не поддерживается. Поскольку расшифровка содержимого файла выполняется непосредственно в памяти, шифрование доступно только в том случае, когда размер кластера совпадает с PAGE_SIZE, т.е. равен 4К.
Читать дальше →
Total votes 53: ↑51 and ↓2 +49
Comments 24
1

Information

Rating
Does not participate
Registered
Activity

Specialization

Reverse Engineer
Lead