I'm building a RADIUS Server to work with MS-CHAPv2 in node.js. I have a RADIUS CLient, which is the VPN Server that sends me the following in an Access-Request:
User-Name
MS-CHAP-Challenge
MS-CHAP2-Response
I tested with an actual Microsoft RADIUS server and the Access-Accept response is always with the following:
MS-MPPE-RECV-KEY: Long string
MS-MPPE-SEND-KEY: Long string
MS-CHAP2-SUCESS: Long string
I tried following the RFC material, but it's very complicated and i just need to understand:
What i'm supposed to do with the Access-Request attributes(challenge&Response) as a Server?
How am i supposed to create the 3 keys in the Access-Accept?
I've read many articles and places, including pentesting examples.
Some said there's a use of RC4,3DES, MD4, MD5, SHA1 and i don't know which to follow since it only gives 2-3 lines of explaining.
What is encrypted? How do i authenticate the user? Am i supposed to create a hash duplicate of the Challenge/Response cause it contains MD4&3DES encrypted password?
Assistance please....