Как я взломал IBM и получил полный доступ ко многим сервисам.
Всем привет! Сегодня я расскажу о найденной уязвимости в IBM, которая позволила мне получить полный доступ ко многим сервисам.
Сначала я открыл Shodan и ввел запрос: Org:'ibm' tomcat.
Я просмотрел несколько серверов, но ничего интересного не нашел, пока не наткнулся на один сервер (назовем его x.x.x.x). Когда я запустил на нем ffuf, нашел открытый конечный пункт «logs». Я открыл браузер, чтобы посетить этот пункт, и, как и ожидалось, обнаружилось несколько папок с логами сотрудников.
Я открыл некоторые файлы, чтобы убедиться, что они содержат информацию, стоящую для отчета, и действительно нашел там токены и email-адреса сотрудников IBM. Проверив токены, оказалось, что они просрочены. Однако эти файлы не должны были быть открытыми, поэтому я решил открыть HackerOne и сообщить об этой уязвимости.
Меньше чем через день я получил ответ.
Они хотели увидеть реальную эксплуатацию данных из логов, чтобы принять мой отчет.
Я снова открыл лог-файлы для более детального анализа и заметил, что в них содержались свежие данные за текущий день. Я собрал все логи в один файл и использовал grep, чтобы извлечь все токены и проверить их.
Примечание: когда я просматривал лог-файлы, наткнулся на URL административной панели. При попытке открыть его появилась ошибка: «Отсутствует токен». Я отправил запрос через Burp и добавил заголовок под названием «token», присвоив ему случайное значение. Ответ изменился на «Токен недействителен или истек». Я привел этот пример, чтобы показать, как я проверяю токены на работоспособность.
Один из токенов оказался действительным, и мне удалось получить информацию о сотруднике.
Также я нашел учетные данные для AWS и Azure.
На этом этапе я завершил промежуточный отчет и добавил новые находки, после чего мой отчет был принят.
Затем я решил углубиться в лог-файлы, чтобы найти что-то, о чем можно сообщить в отдельном отчете. И тут я наткнулся на URL сервиса DevOps Commander. Когда я открыл его, попытался войти с логином «admin» и паролем «pass», и, к моему удивлению, это были правильные учетные данные. Я успешно вошел в систему.
Небольшое примечание: позже я обнаружил, что эти учетные данные также были скомпрометированы в логах в виде открытого текста.
Просматривая панель управления, я нашел учетные данные для сервисов, таких как GitLab, Jenkins и многих других.
На этом я остановился и сообщил об уязвимости в отдельном отчете, который также был принят.