
Проверяет всех мейнтейнеров всех пакетов NPM и Pypi на наличие перехватываемых пакетов через перерегистрацию домена.
Этот инструмент проверяет каждого мейнтейнера из каждого пакета в реестрах NPM и Python Pypi на наличие незарегистрированных доменов или незарегистрированных MX-записей на этих доменах. Если домен не зарегистрирован, вы можете захватить домен и инициировать сброс пароля учётной записи, если на ней не включена двухфакторная аутентификация. Это позволяет вам перехватить пакет и делать с ним что угодно.
Пожалуйста, не используйте его в незаконных целях, используйте его только для проверки пакетов и отправки их в программы bug bounty.
Я связался с командой безопасности NPM по этому поводу, но их не интересует подобный тип уязвимости.
Также обратите внимание, что мейнтейнеры, возвращаемые API, не всегда отражают реальных мейнтейнеров, но часто вам может повезти.
Сначала загрузите индекс пакетов! Это может занять много времени, так как сервер чрезвычайно медленный (занимает более 30 минут):
wget https://skimdb.npmjs.com/registry/_all_docs
После этого просто запустите инструмент с помощью ./hijagger npm. Чтобы увидеть все опции, используйте ключ --help. Результат также автоматически сохраняется в output.txt. Из-за большого количества пакетов инструмент, скорее всего, будет работать несколько дней.
Чтобы легко находить совпадения в выводе, используйте grep по HIT. Цветовая маркировка основана на количестве загрузок пакета за последний год.
Инструмент выполняет много DNS- и whois-запросов, поэтому я рекомендую запускать его с выделенного сервера, чтобы не рисковать блокировкой вашего частного IP-адреса.
Этот режим работает точно так же, как режим NPM, но API pypi не возвращает количество загрузок для пакета. Эти данные доступны только через Google BigQuery, но это сильно всё усложняет, поэтому счётчики загрузок и цвета на основе загрузок не реализованы для пакетов Pypi.
./hijagger pypi