Help trying to MITM a closed source NRO

7TxfsjLJH

Member
OP
Newcomer
Joined
Feb 25, 2024
Messages
6
Trophies
0
Age
27
XP
20
Country
Switzerland
There's a specific website only accessible from a closed source nro on the switch that I would like see the HTTPS traffic for. The goal is to recreate the web calls to have access from a PC. I've gotten most of the way there but I'm having some trouble. It has always been helpful for me to talk to people who have an idea what I'm talking about so I thought I'd post here. Also, I really do not want to reinvent the wheel if there's something out there that can help me. I know very little C that I studied 10+ years ago so I don't really understand that part of it.


First I started off with pointing the DNS for the site to my own webserver. I added both sites (theirs and mine) to the app and started to capture the packets. There doesn't seem to be anything special, no hardcoded well known url for xlm or anything it just hits the base page with some specific headers.

Code:
GET / HTTP/1.1
Host: 10.0.0.22
Accept: */*
Accept-Encoding: deflate, gzip
Theme: 0000000000000000000000000000000000000000000000000000000000000000
UID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Version: 17.0
Revision: 3
Language: en
Stream: 1
HAUTH: 77D2259784855C5B3B77DE499957B90A
UAUTH: C5E43066E5A7C1D8CE224CD70FA9F906

Confirmed by some documentation on the nro app website,
  • UID is unique per switch
  • HAUTH is unique per domain
  • UAUTH is unique per path on that domain.

The goal is to see the HTTPS traffic so I can get Both the HAUTH and UAUTH for the website and recreate these calls in python. At first I was hopeful that the secret auth values would be the same for HTTP and HTTPS. However, they are not for my domain and I've assumed it's true for the other one. Meaning, I really do need to man in the middle. From here I only see two options.


I found misson20000's exefs_patches with some PRs for 'disable_ca_verification' and 'disable_browser_ca_verification' version 17.0.0. With these on my SD Card I setup Charles by following InternalLoss switch_tls_charles steps. This worked for the OS services but with a selfsigned SSL cert I get an untrusted ssl cert in the console of the app. I'm not sure if this is something I'm doing wrong or what but I've never seen an atmosphere nro_patches directory before. I'm booting from hekate, is there any special I need to do here?


The other option I can see is to get into homebrew, dust off the C book, and try and install my self signed SSL cert to the Switch trusted cert store. I cant link but I believe switchbrew has a section on SSL_services to import certs. To me, with my current knowledge, I dont understand what it's saying but I believe it's what I'm looking for. From here I'd use that private key on my webserver, proxy requests to the real site while capturing the requests there.

Truly, It would be nice if I could debug the NRO, step though the work it's doing so I can recreate the HAUTH and UAUTH generation in python but all the guides I'm finding are how to do similar on a PC.

The secrets for the http version of the site:
Code:
HAUTH: 2A3982D79A8D699A8E3758C0E42A21A0
UAUTH: 3A0523CAEEACF0B7EBA08ED2F24D0FC5

Anyone have some thoughts or suggestions for me? I doubt I'm the only one looking to do this so maybe there's already something out there? I'm not going to stop going down this path and my next step is to get a dev environment setup for homebrew on the switch to try and install the ssl cert and proxy the requests though my webserver.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    My biggest prob is alcohol, definitely is fattening
  • K3Nv2 @ K3Nv2:
    I know when to stop at least honestly don't get those that go and go with food
  • BigOnYa @ BigOnYa:
    Or those that order 2 big macs , large fry, ice cream sundie, then a diet coke
  • K3Nv2 @ K3Nv2:
    I might get downing two big macs but nah that's it
  • BigOnYa @ BigOnYa:
    Ok that will be $15.99, cash or charge?
  • K3Nv2 @ K3Nv2:
    My go to orders usually a mcdouble and a mcchicken and I'm happy rarely mess with fries
  • K3Nv2 @ K3Nv2:
    Pro tip ask for that clowns jizzmac sauce on your mcdouble
    +1
  • BigOnYa @ BigOnYa:
    Do they charge extra when you add sauce,etc? I know burger king used to not, but don't know nowadays
  • K3Nv2 @ K3Nv2:
    They may squrit it for free if you ask nice
    +1
  • K3Nv2 @ K3Nv2:
    Last time I got bk it was 35c per sauce fuck you king of my nutsack
    +1
  • K3Nv2 @ K3Nv2:
    I'll buy a bottle of baby rays BBQ for $2 and add it from home out of spite
    +1
  • BigOnYa @ BigOnYa:
    I like baby rays, my favorite is KC masterpiece tho. Figured all you could buy is that there.
  • K3Nv2 @ K3Nv2:
    The metro doesn't discriminate good sauce
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Baby Rays isn't that what killed the crocodile hunter?
  • Psionic Roshambo @ Psionic Roshambo:
    If only he had done an endorsement for them....
  • Psionic Roshambo @ Psionic Roshambo:
    Oy mate don't let a bad bbq sauce kill your party! Baby Rays are killing it!! The flavor hits you right in the chest!
    +1
  • Xdqwerty @ Xdqwerty:
    My phone only has 13% battery so i don't have much time left
  • Xdqwerty @ Xdqwerty:
    Now 12%
  • BigOnYa @ BigOnYa:
    Happy birthday, btw
  • Psionic Roshambo @ Psionic Roshambo:
    Time is running out for your phone!
  • Psionic Roshambo @ Psionic Roshambo:
    Sign up with Emperor Phone plan for unlimited power!!! And minutes!!!
  • AdenTheThird @ AdenTheThird:
    https://youtu.be/JmSqorj-EC0?si=vYqR8D7FZeO4N-TH
    At 1 AM, this video is the funniest thing in the world
    +1
  • K3Nv2 @ K3Nv2:
    Notes on Android got some cool new features like dropping a image in
    K3Nv2 @ K3Nv2: Notes on Android got some cool new features like dropping a image in