-70%

Оформить подписку на «Хакер»:

3000 руб

на 1 год

920 руб

на 1 месяц

Xakep #258. NPM Hijacking

Зна­ешь ли ты, сколь­ко интер­пре­тато­ров Node.js работа­ет на тво­ем ком­пе? А сколь­ко в них дыр? В этом выпуске мы расскажем и покажем, как работает NPM Hijacking — уязвимость Node.js, которая нашлась во многих популярных приложениях, среди которых Discord и VS Code.

Также в номере:

  • Изучаем, как средства защиты ловят и классифицируют малварь
  • Обманываем инсталлятор MSI методом для ленивых
  • Эксплуатируем новую опасную уязвимость в форуме vBulletin
  • Восстанавливаем в Linux информацию с «убитой» флешки
  • Разграничиваем права в БД на примере Oracle и PostgreSQL
  • Исследуем товары в даркнете, связанные с пандемией коронавируса
Содержание
(Подписчикам доступно 20 статей)

COVER STORY

NPM Hijacking

Встраиваем произвольный код в приложения на Node.js

С веб‑стра­ниц JavaScript при­шел на сер­веры, а с сер­веров — на дес­кто­пы, и ста­рые баги заиг­рали новыми крас­ками. В этой статье я покажу, как работает NPM Hijacking (Planting) — уязвимость Node.js, которая нашлась во многих популярных приложениях, среди которых Discord и VS Code.

ВЗЛОМ

Хеш четкий и хеш нечеткий

Как средства защиты ловят и классифицируют малварь

Создатели вредоносных программ используют массу разных методов, чтобы скрыть свои творения от антивирусных средств и статических-динамических анализаторов. Однако и антивирусы для поиска «родственных» семплов разрабатывают продвинутые алгоритмы хеширования. Сегодня мы расскажем, как работают эти алгоритмы, — с подробностями и наглядными примерами.

Ломаем инсталлятор

Как обмануть инсталлятор MSI методом для ленивых

Как гласит народная мудрость, театр начинается с вешалки, а программа — с инсталляции. Но что делать, если инсталлятор не желает запускаться или, хуже того, не хочет устанавливать приложение? Любой читатель «Хакера» уверенно скажет: ломать! И будет прав. Сегодня мы поговорим о том, как сделать это просто, быстро и без лишних усилий.

Фундаментальные основы хакерства

Как идентифицировать структуры и объекты в чужой программе

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

Сканирование уязвимостей

Глава из книги «Kali Linux. Тестирование на проникновение и безопасность»

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

Секрет виджета

Эксплуатируем новую опасную уязвимость в форуме vBulletin

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

ПРИВАТНОСТЬ

iOS 14 глазами параноика

Как Apple защищает приватность пользователей в новой версии iOS

Впервые за долгое время свежая версия iOS вышла «сама по себе», независимо от нового поколения iPhone. В этой статье мы поговорим о том, что было сделано программистами Apple для защиты частной жизни пользователей, а также о том, что было анонсировано в ранних бетах, но в окончательную сборку не вошло.

Нецензурный Tor

Как Tor Project борется за свободу слова

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

ТРЮКИ

Сверкай, ПК!

Делаем кастомный корпус для компьютера с мини-экраном и LED-подсветкой

Прошли те времена, когда компьютер был грязно-белой офисной коробкой. Нынешние пекарни сверкают огнями и радуют глаз владельца. Однако сборка игрового ПК из готовых деталей — не наш путь! В этой статье я расскажу, как создать полностью кастомный фигурный корпус mini-ITX, снабдив его подсветкой и встроенным экраном.

Данным — жить!

Восстанавливаем в Linux информацию с «убитой» флешки

Восстановление данных с неработающих флешек — частая просьба, с которой обращаются к «тыжпрограммисту». Давай посмотрим, что можно сделать с «убитой» флешкой, применяя такие утилиты, как TestDisk и PhotoRec, а потом и без них — используя Hex-редактор и голову на плечах.

Секреты Synology

Обходим ограничения и расширяем возможности популярных NAS

Synology — отличное решение для организации домашнего или корпоративного NAS. Местная операционная система, DSM, продумана и отлично оптимизирована, а установка пакетов от независимого сообщества разработчиков позволит заметно расширить функционал в сторону, не предусмотренную разработчиками.

КОДИНГ

Введение в Row Level Security

Разбираем разграничение прав в БД на примере Oracle и PostgreSQL

Есть разные способы показать пользователю только те данные, которые ему нужны. Row level security — один из самых универсальных, простых и надежных. Прочитав эту статью, ты поймешь, что это несложно, и научишься организовывать разграничение доступа к записям средствами самой БД без особого ущерба для производительности.

Неочевидный Kotlin

Советы, трюки, подводные камни программирования для Android

Kotlin — один из самых грамотно спроектированных, понятных и логичных языков последних лет. На Kotlin можно начать создавать приложения для Android, не изучая язык, но достигнуть мастерства одной лишь практикой вряд ли получится. Эта статья — сборник советов, которые помогут лучше понять особенности языка и программировать более эффективно.

Погружение в ассемблер

Учимся работать с памятью

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

Погружение в ассемблер

Работаем с большими числами и делаем сложные математические вычисления

Как ты знаешь, регистры процессора 8088 — 16-битные. Однако при необходимости ты можешь работать через эти регистры не только с 16-битными числами, но и с числами большей разрядности: и с 32-битными, и даже более крупными. В этой статье я сначала расскажу как, а затем мы нарисуем знаменитый фрактал — множество Мандельброта.

GEEK

Коронавирус в даркнете

Что и почем продают на черном рынке в связи с пандемией

С началом пандемии в даркнете стали продавать самые разные товары, которые помогают не подхватить COVID-19 или ослабить ход болезни (а некоторые вообще пророчат исцеление). Давай вместе глянем, чем нынче барыжат на теневых форумах, а также посмотрим на цены и сравним их с обычными магазинными.

Самые злые ботнеты

Как появлялись и гибли крупнейшие армии вредоносных программ

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

UNITS

Титры

Кто делает этот журнал