169 похожих чатов

Товарищи, а вот есть допустим dependency confusion, и сборка

совершается либо на серверах облачных провайдеров, либо у кого-то на своей рабочей тачке, но вне офиса компании, как в таком случае определить что атака стриггерилась успешно, а не просто npm свои тесты гоняет на твой пакет?
То есть я получаю имя пользователя, путь до домашней диры, путь до пакета, но этого недостаточно чтобы точно определить что триггернулось именно на тачке, принадлежащей тестируемой компании
при этом понятно что прокидывать бэкшелл как-то не этично, как и качать всякие внутренние файлы
есть у кого мысли, как можно ещё определять что тачка это тачка компании?

22 ответов

13 просмотров

Ну вообще, у компании должен быть скоуп описан. Сотрудника ломать из его дома кстати тоже не оч круто. У крупняка есть свои AS выходные, как правило легко понять, что они.

Я вытаскивал process.env, там обычно есть всякие штуки, которые, указывают на компанию. Например почта, локальные домены, пути.

Все dependencies confusion, которые у меня были, как раз срабатывали только на тачках сотрудников.

Yegꙮr-Yegꙮr Автор вопроса

А как дошло у тебя висит пакет? У меня через пару часов удаляют из npm.

Yegꙮr-Yegꙮr Автор вопроса
Yegꙮr-Yegꙮr Автор вопроса
Bo0oM (в отпуске)
Ну вообще, у компании должен быть скоуп описан. Со...

Я понимаю что as свои, но мне кажется что это не отменяет того, что где-то в порядке бреда может стрельнуть на ip амазона

Yegꙮr Yegꙮr
И такое принимают?

Но там и айпишники были компании

Yegꙮr-Yegꙮr Автор вопроса
edit name
А как дошло у тебя висит пакет? У меня через пару ...

а пробовал несколько версий пакетов пуллить?

Сутки максимум висит

edit name
Сутки максимум висит

Мб на process.env тригерит. Попробую как нибудь обфусцировать

Проксимов Прксимович
Там ведь и пароли всякие могут храниться.

Да. Такое только 1 раз было. Там токенов штук 50 было

кстати, интересно как оно должно выглядеть с обратной стороны. Ведь по идее нужно провести расследование какие креды/токены могли потенциально утечь и все их обновить. Насколько это нормальная практика со стороны компании?

Paul Axe
кстати, интересно как оно должно выглядеть с обрат...

по идее - да, конечно. На практике это очень сложно. Я очень много раз получал доступ ко всем репам в корп гитлабах или подобному, например. Там тысячи секретов. Уверен, что все никто не обновлял

Maksim Khazov
по идее - да, конечно. На практике это очень сложн...

а ещё сложнее с клиентскими кредами/токенами. Если я получил доступ к хосту с ними, никто же клиентов не заставит их обновлять

Paul Axe
а ещё сложнее с клиентскими кредами/токенами. Если...

Ну, в теории можно сбросить всем принудительно и разослать сообщение об этом. Даже пару раз видел такое

в ряде кейсов-практически никак. Тот же самый вектор может выстрелить и когда разработчик захотел поднять локально тестовый стенд у себя дома, так и на прод сервере. В нашей практике был как раз такой кейс, когда выстрелило сначала на проде, а потом еще раз, когда разработчик с целью проверки присланной баги, запустил сборку у себя. Адекватные багбаунти программы проверят саму возможность того что данный пакет мог попасть на прод, и заплатят по максимуму, если такая возможность есть. Если нет, в ряде случаев в программе МРГ(VK) будет использоваться пункт правил: RCE in dev. infrastructure / isolated or virtualized single-purpose process (e.g. image conversion) Баунти конечно пониже, но будет.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта