MCPcopy Create free account
hub / github.com/secdev/scapy / MS_CHAP2_GenerateAuthenticatorResponse

Function MS_CHAP2_GenerateAuthenticatorResponse

scapy/layers/radius.py:1482–1514  ·  view source on GitHub ↗

rfc 2759 sect 8.7

(HashNT,
                                           NTResponse,
                                           PeerChallenge,
                                           AuthenticatorChallenge,
                                           UserName)

Source from the content-addressed store, hash-verified

1480
1481
1482def MS_CHAP2_GenerateAuthenticatorResponse(HashNT,
1483 NTResponse,
1484 PeerChallenge,
1485 AuthenticatorChallenge,
1486 UserName):
1487 """
1488 rfc 2759 sect 8.7
1489 """
1490 Magic1 = bytes(bytearray([
1491 0x4D, 0x61, 0x67, 0x69, 0x63, 0x20, 0x73, 0x65, 0x72, 0x76,
1492 0x65, 0x72, 0x20, 0x74, 0x6F, 0x20, 0x63, 0x6C, 0x69, 0x65,
1493 0x6E, 0x74, 0x20, 0x73, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67,
1494 0x20, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74,
1495 ]))
1496 Magic2 = bytes(bytearray([
1497 0x50, 0x61, 0x64, 0x20, 0x74, 0x6F, 0x20, 0x6D, 0x61, 0x6B,
1498 0x65, 0x20, 0x69, 0x74, 0x20, 0x64, 0x6F, 0x20, 0x6D, 0x6F,
1499 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6E, 0x20, 0x6F, 0x6E,
1500 0x65, 0x20, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F,
1501 0x6E
1502 ]))
1503 PasswordHash = HashNT
1504 PasswordHashHash = Hash_MD4().digest(PasswordHash)
1505
1506 Digest = Hash_SHA().digest(PasswordHashHash + NTResponse + Magic1)
1507
1508 Challenge = MS_CHAP2_ChallengeHash(
1509 PeerChallenge,
1510 AuthenticatorChallenge,
1511 UserName,
1512 )
1513
1514 return Hash_SHA().digest(Digest + Challenge + Magic2)
1515
1516
1517# Answering machine

Callers 1

make_replyMethod · 0.85

Calls 4

Hash_MD4Class · 0.90
Hash_SHAClass · 0.90
MS_CHAP2_ChallengeHashFunction · 0.85
digestMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…