Витеклі токени доступу

Витеклі токени доступу

Витеклий токен без терміну дії — це постійний головний ключ.

Що таке Витеклі токени доступу?

Персональний токен доступу діє від імені облікового запису, що його створив. Пред'явіть його, і API сприйме вас як власника токена: без пароля й без другого фактора. Обмежити шкоду можуть область дії та термін дії, а класичний токен із широким доступом до організації та без терміну дії не має ні того, ні іншого. Ви візьмете токен із публічного gist, отримаєте перелік приватних репозиторіїв організації, склонуєте один із них і надішлете коміт від імені його власника. Потім відкличете токен, випустите гранулярний замінник, обмежений одним репозиторієм, і ввімкнете сканування секретів та серверний захист push.

Що ви дізнаєтесь у Витеклі токени доступу

Витеклі токени доступу — Кроки навчання

  1. Збирач gist Боба

    Боб не читає gist вручну. Він запускає невеликий збирач, який посторінково проходить публічну стрічку gist на платформі й перевіряє кожен файл на все, що схоже на облікові дані. Стрічка відкрита для будь-кого, обліковий запис не потрібен, тож у розпорядженні Боба весь потік публічних gist.

  2. Запустіть збирач

    Боб запускає збирач. Збирач завантажує публічну стрічку gist і звіряє кожен файл зі своїми шаблонами облікових даних. Більшість знайдених ключів — недійсні, прострочені чи вимкнені, але один чинний: персональний токен доступу Loomwick лежить у gist розробниці зі скриптом розгортання.

  3. Відкрийте позначений gist

    Боб відкриває gist, який позначив збирач. Допоміжний скрипт розгортання — справжній подарунок: він містить токен повністю, називає цільовий репозиторій і показує, як саме токен використовується.

  4. Що може робити токен

    Перш ніж використовувати токен на повну, Боб питає платформу, що це за токен. Він викликає API Loomwick, передаючи токен у заголовку Authorization, і відповідь описує сам токен. Токен належить звичайній розробниці, а не адміністраторові, але області дії токена надзвичайно широкі, а терміну дії немає.

  5. Перелічіть приватні репозиторії

    Тепер Боб пускає токен у роботу. Він просить API перелічити репозиторії організації, і приватні повертаються разом із публічним. Обліковий запис Loomwick Боб ніколи не мав. Достатньо самого токена.

  6. Клонуйте приватний репозиторій

    Маючи токен, Боб клонує приватний репозиторій просто на свій комп'ютер. Із gist він отримав і токен, і точну адресу цільового репозиторію. Клонування повністю завантажує billing-core: вихідний код, конфігурацію та історію.

  7. Відкрийте файл вебхука

    Навіть доступ на читання — це вже погано, але токен дозволяє й записувати. Боб відкриває файл вебхука в склонованому репозиторії, шукаючи тихе місце, куди додати власний рядок.

  8. Підкиньте зміну

    Боб додає один виклик з однорядковим коментарем. Тепер кожна подія білінгу, яку пересилає сервіс, потрапляє не лише до внутрішнього реєстру, а й до його власного колектора. Це невелика непомітна зміна, з тих, що прослизають крізь поспішне рев'ю.

  9. Закомітьте зміну

    Боб комітить правку. Повідомлення коміту схоже на безневинну дрібну правку пересилання, але diff непомітно додає його рядок для викрадення даних.

  10. Надішліть від імені розробниці

    Потім Боб надсилає (push) коміт назад у Loomwick за автентифікованою адресою репозиторію. Платформа його приймає: вона бачить у токені Майю, тож запис потрапляє в основну гілку. Витеклий токен дає не лише доступ на читання. Він наділяє всіма правами розробниці, зокрема правом змінювати те, що розгортається.

Охоплення стандартів безпеки

CWE

  • CWE-522 Insufficiently Protected Credentials
  • CWE-798 Use of Hard-coded Credentials

MITRE ATT&CK

  • T1552.001 Unsecured Credentials: Credentials In Files
  • T1078 Valid Accounts

CIS Controls

  • CIS 5 Account Management
  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.AA Identity Management, Authentication, and Access Control
  • PR.PS Platform Security