Допустим, что вы нашли RSA Private Key, в публичном repo. Хорошо это или плохо? Можно ли им воспользоваться, если да – то, от чего он? Можно ли использовать его для SSH доступа? Куда? Или с его помощью можно управлять TLS?
Именно эти вопросы задали себе ребята из TruffleSecurity (авторы небезызвестного Trufflehog)! Из этих размышлений получился очень интересный инструмент – Driftwood.
В 2015 году Symantec выпустил Extended Validation для google.com/www.google.com, о чем Google не подозревал. Ошибка была вызвана внутренними процессами Symantec. В будущем это приведет к созданию Certificate Transparency – фактически гигантскому log, в котором содержится информация о всех выпущенных сертификатах. Log доступен для публики и используется для идентификации проблем несанкционированного выпуска сертификатов (как в случае с Google).
При чем тут Driftwood? Все просто!
🍭 При помощи Trufflehog ребята искали RSA Private Key, из которых (при соблюдении некоторых условий) можно извлечь Public Key, но для чего он?
🍭 И вот тут как раз и пригодился Certification Transparency, который стал «базой знаний», у которой можно «спросить». За это уже отвечает Driftwood
Итого – у нас на руках есть Private Key и информация о его Public-составляющей.
Что может пойти не так? Например, можно аутентифицироваться в GitHub и делать push/pull commits на правах легитимного пользователя в зависимость
А что, если человек добавил passphrase при создании ключевой пары? Ребята подумали и об этом, добавив словарь наиболее часто встречающихся паролей, что позволяет получать информацию.
Подробнее с утилитой и историей ее создания можно ознакомиться в статье, также рекомендуем посмотреть ролик, где авторы рассказывают про свое творение