Конференция BLACK HAT USA. Разбогатеть или умереть: зарабатываем в Интернете методами Black Hat. Часть 1

Существует сайт под названием Hire2Hack, который тоже принимает заявки на «восстановление» паролей. Здесь стоимость услуги начинается от $150. Я не знаю об остальном, но вы должны предоставить им информацию о себе, потому что собираетесь им платить. Для регистрации требуется указать имя пользователя, email, пароль и так далее. Забавно то, что они принимают к оплате даже переводы по системе Western Union.



Стоит принять к сведению, что имена пользователей представляют собой очень ценную информацию, особенно когда они привязаны к адресу электронной почты. Скажите, кто из вас указывает своё настоящее имя при регистрации почтового ящика? Никто, вот это весело!

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

Поэтому злоумышленники, занимающиеся фишингом, платят большие деньги за реальные адреса пользователей. Кроме того, они используют окна восстановления паролей и логинов для майнинга действительных адресов электронной почты, используя временные атаки. Множество крупных порталов электронной коммерции и социальных сетей рассматривают кражу действительных адресов электронной почты как проблему, способную нанести большой ущерб, с тех пор как были опубликованы интересные исследования в этой области. Так что мы должны воевать на два фронта – против тайминг-атак и против утечек информации такого рода.

Превращаем электронные купоны в деньги


Джереми Гроссман: итак, мы рассмотрели три способа интернет-мошенничества и теперь поднимаем ставки. Следующий способ – это превращение в деньги электронных купонов eCoupons. Эти купоны используются для покупок по интернету. Клиент вводит свой уникальный ID, и к его покупке применяется скидка. Крупные интернет-торговцы предлагают покупателям скидочную программу, которая была поддержана AmEx.

Многие из вас знают, что купоны предоставляют скидку от нескольких до пары сотен долларов и снабжены 16-значным ID. Эти номера очень статичны и обычно идут по порядку. Сначала к одному заказу разрешалось применять только один купон, но затем, по мере роста популярности программы, эти ограничения были сняты, и сейчас с одним заказом можно использовать более 3-х купонов.



Кто-то разработал скрипт, который пробует определить тысячи возможных действительных купонов на скидку. Продавцам известны заказы на сумму свыше 50 тысяч долларов, которые вместо денег оплачивались 200 и более купонами. Согласитесь, это неплохой рождественский подарок!

Проблема оставалась незамеченной долгое время, потому что программа отлично работала, все пользовались купонами и все были довольны. Так продолжалось до тех пор, пока система планирования загруженности программы не обнаружила увеличение загрузки процессора на 90% в то время, когда люди «прокручивали» ID номера, выбирая те, что предоставляли скидку.

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

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

Заработок на фейковых аккаунтах


Трей Форд: это одна из моих любимых историй. «Реальная жизнь: взлом «Офисного пространства». Думаю, вы видели фильм про хакеров «Офисное пространство». Давайте разберёмся в этом процессе. Кто из вас пользовался онлайн-банкингом?



Отлично, все признались, что пользовались. Существует одна интересная вещь – возможность оплаты счетов онлайн по системе ACH. «Автоматизированная расчетная палата» ACH работает так. Предположим, я хочу купить у Джереми автомобиль и собираюсь перевести деньги прямо с моего счёта на его счёт. Прежде чем я проведу основной платёж, моё финансовое учреждение должно убедиться в том, что у нас всё налажено. Поэтому сначала система переводит какую-то мизерную сумму, от нескольких центов до 2 долларов, чтобы проверить, что финансовые аккаунты и адреса маршрутизации сторон в порядке и клиент получил эти деньги. После того, как они убедятся, что этот перевод осуществлён нормально, они готовы переслать полный платёж. Можно рассуждать о том, является ли это законным, соответствует ли условиям пользовательского соглашения, но скажите мне, кто из вас имеет аккаунт PayPal? А сколько человек имеют несколько PayPal ID? Вероятно, это вполне законно и соответствует Terms & Conditions.

А теперь представьте, что этот механизм можно использовать для того, чтобы заработать много денег. Мы говорим о том, чтобы использовать эффект от создания, предположим, 80 тысяч таких аккаунтов, настроив простой скрипт. Единственное, на что нужно обратить внимание – это на то, что мы начали свой рассказ с использования локального прокси, скрипта RSnake, прочего хакерского инструмента, который должен быть помочь нам заработать, но сейчас мы собираемся вернуться и показать, как сделать взлом намного проще, так, чтобы для заработка можно было бы использовать один лишь браузер.

Эта конкретная атака носит индивидуальный характер. 22-летний Майкл Ларджент из Калифорнии использовал простой скрипт, чтобы создать 58 тысяч фейковых брокерских аккаунтов. Он открыл их в системах Sсhwab, eTrade и некоторых других, присвоив фальшивым пользователям этих аккаунтов имена персонажей мультфильмов.



Для каждого из этих аккаунтов он использовал только проверочный перевод по системе ACH, не осуществляя полного перевода средств. Но он владел общим счётом, на который стекались все эти проверочные средства, а затем переводил их себе. Звучит неплохо – это небольшие деньги, но в сумме они принесли ему весьма солидный заработок. Вот так он сделал деньги, следуя идее фильма «Офисное пространство». Самое интересное то, что здесь нет ничего незаконного – он просто собирал все эти крохотные суммы, но делал это очень быстро.

На системе Google Checkout он заработал $8225, на системах eTrade и Sсhwab – ещё $50225. Затем он вывел эти деньги на кредитную карту и присвоил. Когда банк обнаружил, что все эти тысячи счетов принадлежат одному человеку, сотрудники банка позвонили ему и спросили, зачем он это сделал, разве он не понимает, что ворует деньги? На что Майкл им ответил, что не понимал и не знал, что совершает что-то противозаконное.

Это очень хороший способ наладить новые отношения с людьми из Секретной Службы, которые следуют за вами повсюду и хотят узнать о вас как можно больше. Ещё раз повторю – самое смешное в этой схеме то, что здесь не было ничего противозаконного. Его задержали на основании Patriot Act, «Патриотического Акта». Кто знает, что такое «Патриотический Акт»?

Правильно, это закон, расширяющий полномочия спецслужб в сфере противодействия терроризму. Этот парень использовал имена из мультфильмов и комиксов, поэтому они смогли задержать его за использование фальшивых имён пользователей. Так что те из присутствующих, кто использует для своих почтовых ящиков выдуманные имена, должны быть осторожны – это может быть признано незаконным!

Обвинение Secret Service строилось по четырём пунктам: компьютерное мошенничество, интернет мошенничество и почтовое мошенничество, но акт получения денег был признан совершенно законным, так как он использовал настоящий аккаунт. Я не могу сказать, правильно это было сделано или нет, этично или не этично, но в принципе всё, что делал Майкл, соответствовало Terms & Conditions, приведённым на веб-сайтах, так что, возможно, это просто была такая дополнительная функция.

Взлом банков через ASP


Джереми Гроссман: вы знаете, я много путешествую, и встречаюсь с людьми, которые технически подкованы или наоборот, совсем не разбираются в технике. И когда мы заговариваем о жизни, они спрашивают, где я работаю. Когда я отвечаю, что занимаюсь информационной безопасностью, они спрашивают, что это такое. Я объясняю, и тогда они говорят: «о, значит вы можете взломать банк»!

Итак, когда вы начинаете объяснять, как действительно можно взломать банк, вы имеете ввиду взлом через поставщиков прикладных финансовых программ ASP. Application Service Providers — это компании, предоставляющие в аренду собственное программное и аппаратное обеспечение своим клиентам – банкам, кредитным союзам, другим финансовым компаниям.



Их услугами пользуются мелкие банки и подобные компании, которым финансово не выгодно иметь собственный «софт» и «железо». Поэтому они арендуют мощности ASP, платя им помесячно или каждый год.

ASP пользуются повышенным вниманием хакеров, потому что вместо того, чтобы взломать один банк, они могут сразу взломать 600 или тысячу банков. Так что ASP представляют для плохих парней очень интересную цель.

Итак, компании ASP обслуживают целую кучу банков на основе трёх важнейших URL – параметров: идентификатора клиента client_ID, идентификатора банка bank_ID и идентификатора счёта acct_ID. Каждый клиент ASP имеет свой единственный уникальный идентификатор, который потенциально может использоваться на нескольких банковских сайтах. Каждый банк может иметь любое число пользовательских аккаунтов для каждого финансового приложения – сберегательной системы, системы проверки счёта, системы платежей и так далее, и каждое финансовое приложение имеет свой ID. При этом каждый клиентский аккаунт в этой системе приложений тоже имеет свой ID. Таким образом, у нас имеется три системы аккаунтов.

Итак, как нам одновременно взломать 600 банков? В первую очередь мы смотрим в конец строки URL такого типа: website/app.cgi?client_id=10&bank_id=100&acct_id=1000 и пытаемся заменить acct_id произвольным значением #X, после чего получаем большое, выделенное красным цветом, сообщение об ошибке такого содержания: “Account #X belongs to Bank #Y” (счёт #X принадлежит банку #Y). Далее мы берём bank_id, меняем его в браузере на #Y и получаем сообщение: “Bank #Y belong to Client #Z” (банк #Y принадлежит клиенту #Z).

Наконец, мы берём client_id, присваиваем ему #Z – и готово, мы попадаем в тот аккаунт, в который изначально хотели попасть. После того, как мы успешно взломали систему, мы можем попасть таким же образом в любой другой банковский счёт, или банк, или клиентский аккаунт. Мы можем добраться до каждого аккаунта в системе. Здесь вообще нет никакого намёка на авторизацию. Единственное, что они проверяют – это то, что вы вошли в систему под своим ID, и теперь вы свободно можете изъять деньги, совершить перевод и так далее.

Однажды один из наших клиентов, не ASP, переслал нашу информацию об этой уязвимости другому клиенту, который пользовался ASP и сообщил им, что существует проблема, которую нужно исправить. Мы сообщили им, что вероятно, придётся переписать всё приложение, чтобы ввести авторизацию и система бы проверяла, есть ли у клиента право совершать финансовые операции, и что это займёт некоторое время.



Через два дня они направили нам ответ, в котором сообщали, что всё уже исправили сами – они так исправили URL-адрес, что сообщение об ошибке больше не появляется. Конечно, это было круто, и мы решили посмотреть исходный код, чтобы увидеть, что же они сделали, использовав свою «великую» хакерскую технику. Так вот, всё что сделали – это перестали выводить сообщение об ошибке в формате HTML. В общем, у нас состоялся очень интересный разговор с этим клиентом. Они сказали, что поскольку не в состоянии решить эту проблему по быстрому, решили сделать пока так, надеясь полностью исправить уязвимость в отдалённой перспективе.

Обратный денежный перевод


Ещё один способ мошенничества, о котором я расскажу совсем коротко – это обратный денежный перевод. Эта операция совершается во многих банковских приложениях. При переводе $10000 со счёта А на счёт В формула операции логически должна работать так:

A = A — ($10,000)
B = B + ($10,000)

То есть $10000 изымается со счёта А и прибавляется к счёту В.

Интересно то, что банк не проверяет, правильную ли величину перевода вы вводите. Например, вы можете заменить положительное число отрицательным, то есть перевести _10000$ со счёта А на счёт В. При этом формула транзакции будет выглядеть так:

A = A — (-$10,000)
B = B + (-$10,000)

То есть вместо списания средств со счёта А произойдёт их списание со счёта В и зачисление на счёт А. Такое происходит время от времени и приносит интересные результаты. Внизу этого слайда вы видите ссылку на исследовательскую статью Breaking the Bank (Vulnerabilities in Numeric Processing within Financial Applications).

Там описываются похожие вещи, происходящие с ошибками округления. В этой статье компании Corsaire имеется много интересного, что послужило нам материалом для некоторых собственных решений.

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



Здесь указано, что это оплата за тестирование, проведённое нашей компанией WH, на сумму 2 доллара. Вот так мы зарабатываем деньги!

Этот чек до сих пор хранится на моём столе. За два таких тестирования мы можем получить целых 4 бакса!

Но через несколько месяцев мы услышали от конкретного заказчика, что $70000 были незаконно переведены в одну из Восточно-европейских стран. Деньги не удалось вернуть, потому что было уже поздно, и ASP потеряли своего клиента. Эти вещи случаются, но чего мы так и не узнали, потому что мы не криминалисты, это того, сколько других клиентов пострадали от этой уязвимости. Потому что всё в этой схеме снова выглядит вполне законно – вы просто изменяете вид URL-адреса.

Покупки из телемагазинов


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



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

Вот Куантина Мур-Перри, 33-летняя сертифицированная хакерша из Гринсборо, штат Северная Каролина. Я не знаю, чем она зарабатывала на жизнь раньше, но я могу сказать вам, как она начала зарабатывать деньги после случайной транзакции, которую она будто бы совершила, хотя практически немедленно отменила сделку на сайте.

На её почтовый адрес стали приходить от QVC все эти «заказанные» вещи – женские сумочки, бытовые приборы, ювелирные украшения, электроника. Что бы вы сделали, если бы вам присылали по почте то, что вы не заказывали? Правильно, ничего! Сразу видно, наши люди…

Однако вы получаете бесплатную доставку, а бесплатная доставка — это выгода! Ведь посылки уже на почте, вам не нужно их никуда отсылать. Если это стандартный бизнес-процесс, то как им можно воспользоваться? Что делать с 1800 посылками, которые приходили на её почтовый адрес с мая по ноябрь? Так вот, эта женщина выставила все эти вещи на аукционе eBay, и в результате продажи всего этого барахла её прибыль составила 412000 долларов! Как она при этом поступала – очень просто! Она говорила на почте, что кто-то заказал на её адрес все эти посылки с QVC, но ей очень трудно перепаковывать их и отсылать адресатам, поэтому пусть они отправляются в оригинальной упаковке QVC!

Как видите, это очень техничное решение! Однако QVC обеспокоился этой проблемой после того, как 2 человека, купившие товар на eBay, получили его в упаковке QVC. Федеральный суд признал эту женщину виновной в мошенничестве с почтовыми отправлениями.



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

37:40 мин



Конференция BLACK HAT USA. Разбогатеть или умереть: зарабатываем в Интернете методами Black Hat. Часть 3

Немного рекламы :)


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?

Комментарии (6)


  1. algotrader2013
    17.11.2019 19:02

    Однако QVC обеспокоился этой проблемой после того, как 2 человека, купившие товар на eBay, получили его в упаковке QVC.

    Так а в чем причина для беспокойства? Почему не предположить, что просто кто-то купил себе барахло, закинул не распаковывая, в кладовку. А потом через год случайно нашел, и понял, что оно все равно не нужно, и лучше на ебей продать?


  1. edogs
    18.11.2019 00:43

    Трей Форд
    Не уловили сути правовой основы этого случая. Да, пейпел и другие действительно лочат/переводят крошечные суммы для верификации, но эти суммы должны возвращаться назад, а не оставаться у получателя. Поэтому почему это не мошенничество — то что чувак оставлял их себе?


    1. 1tuz
      18.11.2019 02:45

      Насколько я понял, то, что делал хакер в теории могло быть сделано обычным человеком при хорошей реакции/везении, к тому же это деяние не нарушало Terms of Use


    1. vlsinitsyn
      18.11.2019 10:00

      Там фишка в том, что эти компании для подтверждения счета клиента переводят на них небольшую сумму. Т.о. создав несколько тысяч клиентов с общим счетом можно аккумулировать приходящие деньги и снять.


  1. vladkorotnev
    18.11.2019 04:06

    Прикол про банк с айдишниками в адресе напомнил один чешский сайт доставки еды, у которых в каждой строчке каталога был атрибут data-price="10.00". Как бы, хорошее решение, чтобы не таскать запросы на каждую перерисовку корзины, но ведь почему-то потом эти значения использовались и для формирования заказа...


    1. algotrader2013
      18.11.2019 12:45

      Норм решение, но по-хорошему, такие вещи надо в ядре перепроверять при заказе.


      Если вообще не отдавать с фронта цену, то при повышении цены в момент между загрузкой и заказом, с человека спишет больше, чем он ожидал. Правильно, чтобы сверило с фронта и в ядре, и отбило при несовпадении