Keyspace List for WPA on Default Routers
(12-13-2017, 12:28 AM)fart-box Wrote: ... It seems people aren't too keen about sharing their personal stash of  information around here.
My personal stash was shared in its entirety a page back or so. If I had more, I'd share. 

Back on topic, I'm following this thread closely, cheering you on from afar!
Reply
(12-14-2017, 12:51 AM)fart-box Wrote: The capital 'T', as well as the other six characters that surround it have me puzzled though. If that's supposed to be the password, I'm wondering where the capital 'T' comes from, because it's not in my character set. And if I recall, the video password was thirteen characters long, not seven, or even twelve.

Code:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#\$%&'()*+,-./:;<=>?@[]_\`{|}~\\"


This is the charset... it generates the SSID only which is vATT + 7 characters, not the password. I think there was some statistical/mathematical for even distribution with modulo 37... or maybe it was 17. There was talk of it in a Diffie-Hellman exchange video somewhere online. Would start to make sense why they used it I guess, but it doesn't explain everything yet. I wish mrfancypant's had the serial posted for the sample he shared in the very early pages of this thread with the vATT SSID and PSK.
Reply
I don't have a clue but perhaps you could try the code I linked you... I've only ran it on macOS (maybe linux? I don't remember) so I'm positive it works on a Unix system. Also one thing to note is I'm not sure whether there is a newline (or if it has any other information in it) at the end of the file containing the serial on an actual box... whether it has one or not changes the sha1 hash so this is something to consider as well. I would guess that it is possible that sha1 is used somewhere else to generate the keys but it doesn't explain (in some cases) the alternating ?d?1?d?1?d?1....
Reply
hey guys that part in my OP where i said i was going to edit the OP with new info...well I lied.
Reply
soxrok2212, if you're still working with that BASH script and wishing for a data base with MAC addresses and SN's this might help you a bit, or perhaps you already know.

NVG-599 - MAC address, converted to decimal, minus 1 = SN.

ex: MAC = 0xD404CDBE1C11 = 233117096746001, SN = 233117096746000
Reply
(01-09-2018, 01:42 AM)fart-box Wrote: soxrok2212, if you're still working with that BASH script and wishing for a data base with MAC addresses and SN's this might help you a bit, or perhaps you already know.

NVG-599 - MAC address, converted to decimal, minus 1 = SN.

ex: MAC = 0xD404CDBE1C11 = 233117096746001, SN = 233117096746000

Good to know, if I have time to look some more I'll take this into consideration.
Reply
(01-11-2018, 06:02 PM)soxrok2212 Wrote: Good to know...

Sometimes I forget, so it's worth mentioning that the formula above also works backwards, converting the SN to a MAC.

I've been playing with your BASH script again and I'm convinced it could be used to generate passwords as well, with a few minor code modifications, if we only had the proper data to pipe into sha1. SN, MAC, or ESSID just don't seem to be what it wants to eat.

I'm still working on that key-gen too. I just cant find the right number which would reduce the output to a reasonable size.
Reply
If I remember the script correctly (don't have it on hand ATM), it takes the serial and converts it back to hex which, IMO, is a waste of time since it could most likely just grab the MAC from some hardware ID.

Anyways, this means that the video network is based on the MAC address. I'm convinced the PSK is generated from the MAC address as well.


This post from mrfancypants might be of interest, and is perhaps the thing that convinces me most that the key is not random:

(06-28-2017, 03:19 AM)mrfancypants Wrote: I've finally worked out part of the algorithm for 589/599. Not enough to crack it (in fact, with what I worked out, it's totally possible that it's [effectively] uncrackable because they feed it from a RNG), but enough to understand how passwords are being constructed.

Consider the following. Actual parameters of a NVG599 off eBay:

SSID: ATTn3f64I2 
Wireless key: nyrip9=c5bgv 
Access key: 18?/72@@<3 
Second SSID: vATTvb%g?<&c
Second wireless key: #h,t)0(ZUwI0

Looks random, right? Now watch:

Code:
ssid_charset='23456789ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz'
pw_charset='abcdefghijkmnpqrstuvwxyz23456789#%+=?'
ext_charset='!"#$%&\'()*+,-./:;<=?@[]_`{|}0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
def intpw(x):
   val=0
   for n in range(0,12):
           val+=pw_charset.find(x[n])*(37**(11-n))
   if (val%8)==7:
           val+=37**12
   return val
def intssid(x):
 val=0
 for n in range(0,7):
  val+=ssid_charset.find(x[n+3])*(56**(6-n))
 return val
def int_ext(x):
   val=0
   for n in range(0,len(x)):
           val+=ext_charset.find(x[n])*(90**(len(x)-1-n))
   return val

>>> '%x' % intssid('ATTn3f64I2')
'13c2a3ea400'
>>> '%x' % intpw('nyrip9=c5bgv')
'7a7b4bbbf4f69800'
>>> '%x' % int_ext("b%g?<&c")
'1f71654cac80'
>>> '%x' % int_ext("#h,t)0")
'3d6180c00'
>>> '%x' % int_ext("(ZUwI0")
'a98a65dc0'

I'll let you meditate on this for now and I'll explain later Smile (hint: consider positions of top and bottom set bits in '7a7b...')

The problem here is the generators are a bit different, so I'm sure that the ordering of the 'seeds' are not the same as the sticker.
Reply
(01-20-2018, 08:38 PM)soxrok2212 Wrote: If I remember the script correctly...

You're correct about the script. I guess they use the serial in place of the MAC because of that one digit difference (the + 1).

And I must (although reluctantly) agree about the PSK being based on some mysterious external number as well. The keys (or passwords) seem to be randomly selected from a massive list. There is no common divisor (or seed) that is large enough to be useful to us. At least I haven't found one yet.

The generators you've mentioned are essentially the same though. The character sets are different, so the code reflects those differences, but otherwise they do exactly the same thing.

It should be noted that Mrfancypants was simply grasping at straws when he went into this, and was lucky enough (for all of us) to trip over a divisor that worked... Sometimes...

He found an exact divisor for one password (ahwur?rsb9h4 % 2^32+2 = 0), but that divisor doesn't work well on nearly any other password. Then he used that divisor as an index into the massive list of keys. That, by itself, didn't work often enough so he used a floating point to alter the result just enough to increase the odds of a good hit. He was on the right track, but then he took a short cut because that was the easy way out. I can assure you, there are far more misses than hits using his method.

So I'm thinking maybe they're using something other than sha1 when they generate the PSK. I'll experiment with that when I find the time.
Reply