예제 #1
0
	def generateKeys(self):
		'''
		Genera le chiavi a partire dai pacchetti
		'''
		#genero psk a partire dal pms (pre master secret) e dall'SSID
		pskGenerator = passphraseToPSKMap(self.pms,self.ssid)
		psk = pskGenerator.getPsk()

		#print 'PMK = ' + str(packet_printer.stringInHex(psk))
		#estraggo i due Nonce e i due macAddress
		ANonce = self.getNonce(self.p1.scapyForm)
		SNonce = self.getNonce(self.p2.scapyForm)
		AA = self.getSrcAddress(self.p1.scapyForm)
		SPA = self.getSrcAddress(self.p2.scapyForm)

		#print 'AN = ' + ANonce
		#print 'SN = ' + SNonce
		#print 'AA = ' + str(AA)
		#print 'SA = ' + str(SPA)
		#genero le chiavi di sessione
		keyGen = keyGenerator(psk,self.mex,AA,SPA,ANonce,SNonce)
		[kck,kek,tk,authenticatorMicKey,supplicantMicKey] = keyGen.getKeys()
		self.kck = kck
		self.kek = kek
		self.tk = tk
		self.authenticatorMicKey = authenticatorMicKey
		self.supplicantMicKey = supplicantMicKey
예제 #2
0
	def test_4_mia_psk(self):
		Passphrase = "H6x&@!1uLQ*()!12c0x\\f^\'?|s<SNgh-"
		SSID = 'WWWLAN'
		PSK = "3f4eb9a38ba03f3a28235fd038971be12845a57169c2801d729afa6711f6db96"
		pskGen = passphraseToPSKMap(Passphrase,SSID)
		psk = pskGen.getPsk()
		hexPsk = psk.encode("hex")
		self.assertEqual(PSK,hexPsk)
예제 #3
0
	def test_3(self):
		Passphrase = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
		SSID = 'ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ'
		PSK = "becb93866bb8c3832cb777c2f559807c8c59afcb6eae734885001300a981cc62"
		pskGen = passphraseToPSKMap(Passphrase,SSID)
		psk = pskGen.getPsk()
		hexPsk = psk.encode("hex")
		self.assertEqual(PSK,hexPsk)
예제 #4
0
	def test_2(self):
		Passphrase = "ThisIsAPassword"
		SSID = 'ThisIsASSID'
		PSK = "0dc0d6eb90555ed6419756b9a15ec3e3209b63df707dd508d14581f8982721af"
		pskGen = passphraseToPSKMap(Passphrase,SSID)
		psk = pskGen.getPsk()
		hexPsk = psk.encode("hex")
		self.assertEqual(PSK,hexPsk)
예제 #5
0
	def test_1(self):
		Passphrase = "password"
		SSID = 'IEEE'
		PSK = "f42c6fc52df0ebef9ebb4b90b38a5f902e83fe1b135a70e23aed762e9710a12e"
		pskGen = passphraseToPSKMap(Passphrase,SSID)
		psk = pskGen.getPsk()
		hexPsk = psk.encode("hex")
		self.assertEqual(PSK,hexPsk)
예제 #6
0
	def generateKeys(self):
		'''
		Genera le chiavi a partire dai pacchetti
		'''
		#genero psk a partire dal pms (pre master secret) e dall'SSID
		pskGenerator = passphraseToPSKMap(self.pms,self.ssid)
		psk = pskGenerator.getPsk()

		#print 'PMK = ' + str(packet_printer.stringInHex(psk))
		#estraggo i due Nonce e i due macAddress
		ANonce = self.p1.objectForm.payload.payload.key_nonce
		SNonce = self.p2.objectForm.payload.payload.key_nonce
		AA = self.p1.objectForm.header.source_address
		SPA = self.p1.objectForm.header.destination_address

		#genero le chiavi di sessione
		keyGen = keyGenerator(psk,self.mex,AA,SPA,ANonce,SNonce)
		[kck,kek,tk,authenticatorMicKey,supplicantMicKey] = keyGen.getKeys()
		self.kck = kck
		self.kek = kek
		self.tk = tk
		self.authenticatorMicKey = authenticatorMicKey
		self.supplicantMicKey = supplicantMicKey