Bond697

xfr wondercards

Dec 9th, 2011
440
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.75 KB | None | 0 0
  1. Session Start: Wed Dec 07 00:43:49 2011
  2. Session Ident: maxg
  3. [00:43] Session Ident: maxg (KottNet, Mat) ([email protected])
  4. [00:43] <maxg> I managed to send myself a self made wondercard on a retail game
  5. 01[00:44] <Mat> whoa
  6. 01[00:44] <Mat> that's awesome
  7. [00:44] <maxg> yeah, but the problem is that the attack is so complicated I have doubts it would be possible to make a public wondercard distribution system
  8. 01[00:44] <Mat> right
  9. [00:45] <maxg> basically I tried everything
  10. [00:45] <maxg> for instance contraty to what the debug messages in the rom say the comon name is actually checked on the certificate
  11. 01[00:46] <Mat> really
  12. 01[00:46] <Mat> huh.
  13. [00:46] <maxg> I suppose it wasn't in the dev stage because the dev cert has a wildcard
  14. 01[00:46] <Mat> ah, right
  15. [00:46] <maxg> the cert is for *.dev.nintendowifi.net
  16. 01[00:46] <Mat> makes sense
  17. 01[00:46] <Mat> yeah
  18. [00:47] <maxg> ok so that sucks major balls here because I had a valid cert chained on the thawte root CA which is present in the game
  19. [00:47] <maxg> and if the comon name wasn't checked it would have been so easy
  20. 01[00:47] <Mat> :(
  21. [00:48] <maxg> then I tried all sorts of signature/cert alteration but the game does the job properly and actually checks the signature against the hash of the sent certificate
  22. [00:49] <maxg> finally the only thing we're left with is the rng which seems to be the only way to bypass ssl
  23. 01[00:49] <Mat> how so?
  24. [00:49] <maxg> (except action replay but what good is a wondercard distribution server if you have an action replay)
  25. 01[00:49] <Mat> right
  26. [00:50] <maxg> basically what you have to do is stick to a seed and see the ssl session key used
  27. [00:50] <maxg> then redo the protocol on the same state with ssl disabled
  28. [00:50] <maxg> then do some replay with the master to find the write AES key
  29. 01[00:50] <Mat> ohhh
  30. 01[00:50] <Mat> i see what you're saying
  31. 01[00:51] <Mat> right
  32. 01[00:51] <Mat> ok
  33. [00:51] <maxg> and basically you can RNG abuse the game to replay an altered ssl session
  34. [00:51] <maxg> but you see the problem here, it is fully dependant on the seeding which includes the ds parameters
  35. 01[00:51] <Mat> yeah, good luck with that
  36. [00:51] <maxg> that's doable
  37. 01[00:52] <Mat> not really
  38. 01[00:52] <Mat> http://pastebin.com/7ZtSsEcT
  39. 01[00:52] <Mat> if you mean it seeds with the standard seed building function
  40. [00:52] <maxg> yeah
  41. [00:52] <maxg> yeah that's really won't do it will it
  42. 01[00:52] <Mat> not at all
  43. 01[00:52] <Mat> that's it, btw
  44. [00:52] <maxg> nice function by the way
  45. 01[00:52] <Mat> that's the entropy function
  46. 01[00:53] <Mat> that builds the sha digest array
  47. [00:53] <maxg> ok
  48. 01[00:53] <Mat> just saying
  49. [00:53] <maxg> so basically we need a new idea to make this work
  50. 01[00:53] <Mat> somehow managing to manipulate that would be pretty well impossible unless it happens as the game boots
  51. 01[00:53] <Mat> yeah, pretty much
  52. [00:54] <maxg> the problem with a session key attack is that you need a previous session with ram alteration anyway
  53. [00:54] <maxg> so basically useless for a public server
  54. 01[00:55] <Mat> right
  55. [00:56] <maxg> I even tried using CNAME in DNS to force a domain name change for the comon name
  56. [00:56] <maxg> but it didn't work
  57. 01[00:56] <Mat> damn it
  58. [00:57] <maxg> yeah
  59. [00:58] <maxg> basically there's very little to do except try a very low level attack like buffer overflow or a bug in the ssl protocol functions
  60. [00:58] <maxg> but I kinda rage quitted trying to find them in the arm9
  61. 01[00:59] <Mat> what are you looking for in the arm9, exactly?
  62. [00:59] <maxg> the comon network code
  63. 01[00:59] <Mat> you sure it's there?
  64. [01:00] <maxg> yeah without a doubt
  65. 01[01:00] <Mat> you might find this useful:
  66. 01[01:01] <Mat> http://hack.thundaga.com/arm9-white_decompressed_U.idb
  67. 01[01:01] <Mat> pop that open in ida
  68. [01:03] <maxg> but then I'll give gen 4 games a try since there's a chance they might be easier to work with
  69. 01[01:03] <Mat> that's true, actually
  70. [01:03] <maxg> a gen4 wondercard server would still be neat I guess
  71. 01[01:03] <Mat> yeah
  72. [01:04] <maxg> and then we have the trading protocol to research if you're up to it
  73. 01[01:04] <Mat> oh, forgot about that
  74. 01[01:04] <Mat> yeah
  75. [01:04] <maxg> it should be much easier I think
  76. 01[01:04] <Mat> you would think so, yes
  77. [01:27] <maxg> I even tested the nintendo CA public key for the debian openssl seeding bug but it isn't one of the weak keys :(
  78. 01[01:28] <Mat> :(
  79. 01[01:28] <Mat> unfortunate
  80. [01:28] <maxg> that would have been great way to hack the ssl though
  81. 01[01:28] <Mat> right
  82. [01:30] <maxg> anyway
  83. 01[01:30] <Mat> right
  84. 01[01:30] <Mat> later
  85. Session Close: Wed Dec 07 12:31:13 2011
  86.  
  87. Session Start: Wed Dec 07 12:31:13 2011
  88. Session Ident: maxg
  89. Session Close: Thu Dec 08 00:00:00 2011
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment