Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

You do not permission to view this directory or page #5

Open
DevFil opened this issue Aug 22, 2019 · 26 comments
Open

You do not permission to view this directory or page #5

DevFil opened this issue Aug 22, 2019 · 26 comments
Labels
help wanted Extra attention is needed

Comments

@DevFil
Copy link

DevFil commented Aug 22, 2019

McDonalds update systems

@ngschaider
Copy link

ngschaider commented Aug 22, 2019

I already investigated a bit further.

Before the System updated I sniffed a couple of requests from my Android phone.
Decrypting the x-vmob-uid header I know the UID that was used to generate the plexure key.
Theoretically I should be able to decrypt the Plexure Key because I know the password (the uid) and the salt (last 8 bytes of plexure key), but I can't.

My code works because I generated a plexure key with McFux.java and also decrypted it successfully.

I really don't know if this is a problem or not.

@DevFil
Copy link
Author

DevFil commented Aug 22, 2019

Can you teach me? Because i don't know how fix it.

@aeerso
Copy link
Owner

aeerso commented Aug 22, 2019

Seems that McD updated the deviceRegistration and token generation methods.
Now they involve safetyNet on Android (I don't have a device to check if the methods have been updated as well on iOS) and they seems bound with other types of checks.

I will look into this maybe later, but I'm leaving this issue open for anyone to share infos.

@aeerso aeerso pinned this issue Aug 22, 2019
@ngschaider
Copy link

ngschaider commented Aug 22, 2019

@0xf77

Was there an update for the Android App itself?
Until now i have no clue what to Look at but If you give me some starting point i can investigate this further.

EDIT: Okay, I was wrong in my first comment. The app did receive an update. In fact it is quite a huge update (version 2.0.1) is out. Will do some reversing and report back.

@DevFil
Copy link
Author

DevFil commented Aug 23, 2019

I confirm that McDonald's has updated token generation methods and implemented SafetyNet, in this time there aren't new update in ios; i have a demostration video of the new bypass,if anyone wants to see it write me

@aeerso
Copy link
Owner

aeerso commented Aug 24, 2019

UPDATE: Since I have no hardware (moving house rn) for decompiling and search for new methods to exploit this new update, I'm tagging @ddekus and @giacomoferretti which they may have found a solution/working on it.

Still leaving this issue open for updates.

@giacomoferretti
Copy link

giacomoferretti commented Aug 24, 2019

@0xf77 Actually I have already written a working PoC to bypass the new check using SafetyNet, but I can't publish it right now. I will leave a GIF demonstrating how it works.

EDIT: Here's the video/GIF: https://imgur.com/a/hx8FCwT (Direct)

@aeerso aeerso added the help wanted Extra attention is needed label Aug 24, 2019
@ngschaider
Copy link

If you can point me to the right class which implements the safetynet and token Generation i can Reverse it and make a Pull request for this repo

@agostinofiscale
Copy link

Am i the only one getting 401.2 error? I tried on a lot of physical devices and it worked on 1/3. And on emulators it doesn't work.

@giacomoferretti
Copy link

@ddekus you can't pass SafetyNet on emulators.

@agostinofiscale
Copy link

@ddekus you can't pass SafetyNet on emulators.

Thank you for this information. I used my old phone with Magisk with patcheD SafetyNet and SSLUnpinning from Xposed to intercept request. I found that they are similiar with two new headers: X-Dif-Authorization and Digest that seems to be just a way to check other sent information. If someone else is working on this we can cooperate :)

@Lameness
Copy link

Lameness commented Aug 28, 2019

Hello guys. I need help with Doing McDonalds sweden config. I need capture and working config that crack accs. Im paying. Discord is sqreway#0442, telegram is sqreway and my mail is sweeliaz@gmail.com

@Lameness
Copy link

@giacomoferretti and the other guys. Btw i never use mail so please contact om The other stuff or send me ur guys contact details

@AceOfWands
Copy link

@ddekus you can't pass SafetyNet on emulators.

Thank you for this information. I used my old phone with Magisk with patcheD SafetyNet and SSLUnpinning from Xposed to intercept request. I found that they are similiar with two new headers: X-Dif-Authorization and Digest that seems to be just a way to check other sent information. If someone else is working on this we can cooperate :)

(Hi guys)
@ddekus can you share with me your dump of requests to android antiabuse and devicecheck?

@kaaetech
Copy link

If a campaign occurs in Denmark again I will update and release code to generate headers

@giacomoferretti
Copy link

Did you guys find something?

I can give you some help if you want.

@agostinofiscale
Copy link

@ddekus you can't pass SafetyNet on emulators.

Thank you for this information. I used my old phone with Magisk with patcheD SafetyNet and SSLUnpinning from Xposed to intercept request. I found that they are similiar with two new headers: X-Dif-Authorization and Digest that seems to be just a way to check other sent information. If someone else is working on this we can cooperate :)

(Hi guys)
@ddekus can you share with me your dump of requests to android antiabuse and devicecheck?

Sorry, i haven't dump at moment, but if you need it i can try to get it again!

Did you guys find something?

I can give you some help if you want.

I would like some help, after reversed the app i don't fully understand where digest come from .

@giacomoferretti
Copy link

Sorry for the late response!

The digest header is simply the SHA256 of the body.

@AceOfWands
Copy link

@ddekus you can't pass SafetyNet on emulators.

Thank you for this information. I used my old phone with Magisk with patcheD SafetyNet and SSLUnpinning from Xposed to intercept request. I found that they are similiar with two new headers: X-Dif-Authorization and Digest that seems to be just a way to check other sent information. If someone else is working on this we can cooperate :)

(Hi guys)
@ddekus can you share with me your dump of requests to android antiabuse and devicecheck?

Sorry, i haven't dump at moment, but if you need it i can try to get it again!

Did you guys find something?
I can give you some help if you want.

I would like some help, after reversed the app i don't fully understand where digest come from .

I'd be really grateful if you did

@coolnickname
Copy link

Wow, I didn't know there were other people reverse engineering mcdonalds. Does anyone know how to generate the X-Dif-Authorization header?

@giacomoferretti
Copy link

giacomoferretti commented Sep 8, 2019

To generate a token for the X-Dif-Authorization header you'll need:

  • A working Android Device passing the SafetyNet test
  • Some magic (Janus) to utilize the correct API KEY
  • Know how to generate the correct nonce to pass in the SafetyNet attest
  • Time and patience

@coolnickname
Copy link

So for every call that I want to make that contains the dif-auth header I need to run some code on an android device that passes safetynet? Or just once to get some type of token?

Also do you have an example to generate the nonce?

@giacomoferretti
Copy link

There are some tricks that allow you to generate only one token that you can utilize on all requests.

I will publish my code soon.

@giacomoferretti
Copy link

giacomoferretti commented Sep 18, 2019

You can read more here: https://github.com/giacomoferretti/ffapi-project/tree/master/mcmod-poc

I'm sorry if the code is difficult to read, especially in the important part where it generates the SafetyNet token.

EDIT: I don't think it's possible to generate coupons without having a real device "farming" tokens.

@coolnickname
Copy link

@giacomoferretti
Could you point me to the code that generates the dif-auth?

@giacomoferretti
Copy link

giacomoferretti commented Sep 22, 2019

@coolnickname
SafetyNet token: CouponFragment.java#L256
McDonald's request: CouponFragment.java#L95

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

9 participants