• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

Программирование

Статья Entry Point – дело о пропавшем индексе (часть 2)

  • 5 229
  • 5
Вернёмся к первой части и вспомним, о чём тут вообще идёт речь..
Статья рассматривает, как при запуске приложения передать бразды фиктивной точке-входа EntryPoint. При этом РЕ-заголовок дискового файла не модифицируется, что пускает по ложному следу софт реверс-инженеринга типа анализаторы, дизассемблеры и отладчики. Акцент сделан на то, чтобы TLS-callback процедурой вмешаться в работу загрузчика LDR и перехватить точку-входа именно в стеке, а не в РЕ-заголовке файла, как это делают многие.

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

Статья Entry Point – дело о пропавшем индексе (часть 1)

  • 6 214
  • 2
Термин EntryPoint знаком каждому программисту – это адрес точки входа в программу, т.е. первой инструкции исполняемого кода. Компиляторы прошивают этот адрес в РЕ-заголовок по смещению 28h, а системный "загрузчик образов" потом считывает его от туда, и передаёт на него управление. Такому алгоритму следуют все LDR-загрузчики, начиная с Win98 и до наших дней. Сам загрузчик оформлен в виде функции LdrpInitializeProcess() из библиотеки Ntdll.dll.

В данной статье рассмотрим несколько способов реализации фиктивных точек EntryPoint, что позволит защитить наши программы от взлома и отладки. Например зачем выставлять на показ процедуру проверки введённого пароля, или какой-нибудь авторской техники? До тех пор пока она не станет достоянием общественности, мы сможем использовать её в своих программах снова и снова. Но как-только корабль даст течь, придётся латать дыры, на что нужно время...

Статья SEH – фильтр необработанных исключений

  • 5 565
  • 0
Во времена рассвета DOS программист имел полную власть над системой. Находясь в реальном режиме работы CPU, у нас не было никаких ограничений и мы могли использовать в программах буквально все инструкции и регистры процессора, общее число которых на Р6 стремилось преодолеть барьер в ~200 единиц. Это была отличная школа программирования, где вся ответственность за то или иное действие возлагалась полностью на наши плечи. Всё приходилось делать вручную, в том числе и обрабатывать аппаратные исключения с ошибками. Одним словом, царила атмосфера свободы и демократии, столь редкая в наши дни.

А что мы имеем сейчас в защищённом режиме? Microsoft отобрала у нас все права и вместо них вручила более 5000 системных API, но забыла толком объяснить, для чего они и как ими пользоваться. При малейщем чихе гигантская система валится в BSOD подымая в небеса тонны пыли, не забыв прихватить с собой наши не сохранённые данные. Ладно если был-бы реальный повод, так ведь может и без веских на то...

Статья Курс по созданию приложений для android [Часть 2]

  • 5 640
  • 19
Всем доброго времени суток!
Прошу прощения за задержку, были некоторые проблемы с техникой. Собственно, всё рассказал уже в комментарий первой части)

Те, кто наткнулись случайно -- настоятельно рекомендую сначала освоить первую часть! Курс по созданию приложений для android

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

Я не забыл моменты в своей жизни, когда задавал вопрос, а через несколько лет слыша подобный, понимал, насколько он глупый. Осознание того, что это не вопрос глупый, а я (в тот момент, когда забыл, что был когда-то таким) пришло недавно, поэтому описывать буду максимально подробно (кто частично знаком или понял какой-то момент "налету" -- просто пропустите спойлер, в случае сложностей же -- не пренебрегайте ими.

Не будем долго разглагольствовать и...

Статья TLS callback – рояль в кустах для отладчиков

  • 8 406
  • 3
Системы класса Win-NT имеют интересный тип памяти под названием "Thread Local Storage", или локальная память потока. После того как мир увидел многопоточные приложения оказалось, что родственные потоки одной программы ведут между собой нешуточную борьбу за системные ресурсы, т.к. все загружаются в единое пространство родителя. Это как дети, которые не могут поделить одну плитку шоколада. Здесь вполне очевидна ситуация, когда поток(А) записал что-то в память, а ничего не подозревающий поток(В) тут-же подмял эту область памяти под себя. В результате, программист получает клубок из змей и никакого профита.

Microsoft пыталась решить эту проблему по разному, например ввела механизмы синхронизации в виде семафоров, эвентов и прочее. Но в итоге решила выделить каждому потоку по своей/личной памяти внутри его блока окружения TEB – Thread Environment Block, и это стало наиболее разумным решением.

В данной статье TLS...

Статья NTFS-Stream, или резидентный код в камуфляжных штанах

  • 8 239
  • 13
Рассмотрим файловую систему NTFS как сущность, которой доверяем самое ценное что у нас есть – это личную информацию. Порой мы не знаем куда пристроить пароли или своего трояна так, чтобы он не выдал себя даже под пытками, ..ну или просто хотим скрыть фото зазнобы в неприглядном виде. Для решения "проблемы века", юзеры присваивают файлам атрибут скрытый, более продвинутые шифруют файлы и т.д. Но в своих закромах NTFS предлагает нам более изящные средства, причём без сторонних инструментов – нужно просто открыть и покурить её (для надёжности) несколько раз.

Здесь мы рассмотрим сразу два родственных способа маскировки.. Первый известен в узких кругах как "альтернативный NTFS-поток" ADS (Alternative Data Stream) и живёт он в системе как скрытая часть уже существующего исполнительного потока. Второй – это доставшийся нам в наследство от файловой системы HPFS (OS/2)...

Статья Учим PHP: Основы и принцип работы

  • 8 509
  • 13
Доброго времени суток, codeby.

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

1.1. Принцип работы Интернета

Сама сеть "Интернет" представляет собой множество , которые соединены друг с другом с помощью а также спутниковыми каналами и так далее. Однако, думаю почти всем известно и понятно то что одних кабелей и радиоволн для передачи информации недостаточно. Чтобы обеим сторонам осуществлять передачу информации, им необходимо придерживаться каких-нибудь правил, соглашений которые как раз и позволят нам...

Статья Курс по созданию приложений для android

  • 12 400
  • 27
Всех приветствую! Решил написать целиком курс по созданию приложений для OS Android. Хочется посмотреть, что есть в ветках grey&gold. Посмотрим на реакции).
Уроки буду выкладывать каждую неделю, возможно и чаще (если, конечно, к ним будет интерес).
В цикле статей обучу создавать приложения для android, от самого начала (примитивные приложения) до настоящего шпионского софта (сбор информации о gps, дамп смс, подключение к камере/микрофону, отправка всех данных на сервер и прочее). Закончив данный курс -- Вы сможете написать как вирус, так и полноценное полезное приложение для вашего устройства. Ограничением будет выступать только Ваша фантазия и встроенное в ваше устройство железо (хотя, если интерес будет действительно большой -- можно будет дополнить и подключением модулей на ardu/raspberry, но это уже совсем другая тема.

Данный курс рассчитан на людей любого уровня подготовки.
Даже если читающий никогда не пробовал свои силы в программировании -- всё получится! Только есть одно...

Статья ASM для х86 (5.5) RAW сокеты в XP и Win7

  • 6 434
  • 4
Возможность работы с сокетами предоставляют нам системные "Поставщики услуг". Именно поставщик ограничивает тот или иной функционал, например возможность использовать протокол ICMP или девственные RAW-сокеты. В отношении WinSock, базовых поставщиков всего двое – это библиотека mswsock.dll, со-своей подругой rsvpsp.dll (заправляет функциями NetBIOS).

Поставщик подключается к WinSock при помощи имеющегося в нём интерфейса SPI - "Service Provider Interface". После регистрации поставщика в системе, служба Winsock использует его для реализации определённых функций сокета, например setsockopt(), ioctlsocket(), connect() и прочих для тех типов адресов, которые поставщик указал в качестве им реализуемых. Тип адреса под виндой всегда одинаковый – это AF_INET...

Статья ASM для x86. (5.4) Протокол ARP

  • 5 825
  • 4
Тропа повествований привела меня к протоколу самого нижнего уровня из всех – протокол преобразования сетевых адресов ARP. Этот мир прикрыт железным куполом контролёра сетевой карты и большинству рядовых пользователей просто не нужен – пусть с ним разбираются инженеры. Но мы не входим в число рядовых, поэтому рассмотрим его с точки зрения не обывателей, а Low-Level программиста.

На самом деле, чем дальше мы по стеку отдаляемся от физических устройств типа кабель и сетевая карта, тем больше погружаемся в логическую абстракцию виртуальной памяти системы, которая уводит от реальной действительности. Например, вот как выглядит структурная схема типичного сетевого адаптера.. Он состоит из двух модулей: PHY (Physical, физический) и МАС (Medium Access Control) – их связывает независимый интерфейс MII или Media Independent Interface:

За исключением некоторых нюансов...