创建 NTLM 挑战消息 - 如何获取 AV_PAIR 值?
我现在正在尝试用python3写一个函数,来创建一个NTLM挑战消息。
有没有什么模块或函数可以帮助我获取创建AV_PAIRs所需的值?我不太确定该用哪个函数来获取正确的值,而且我也想避免通过输入字符串参数的方式。
- MsvAvNbComputerName (socket.gethostname())
- MsvAvNbDomainName
- MsvAvDnsComputerName (socket.getfqdn())
- MsvAvDnsDomainName
- MsvAvDnsTreeName
- MsvAvFlags
- MsvAvTimestamp
- MsAvRestrictions
NTLM AV_PAIR的定义: http://msdn.microsoft.com/en-us/library/cc236646.aspx
背景:我想在Windows ActiveDirectory环境下为Flask编写NTLM认证。
1 个回答
0
我不知道有没有Python模块可以实现NTLM。
不过,我觉得这种认证交易比你现在关注的内容要复杂得多。如果你把关注点从AV_PAIRS
结构改成Introduction
,你会发现你提到的链接里有更多的细节:http://msdn.microsoft.com/en-us/library/cc236622.aspx
也就是说,要正确处理这个问题,你首先得了解struct
模块,因为你需要用它来创建NTLM消息头。同时,你还得学习位移和网络字节序/主机字节序,因为这些知识也会用到。
一个简单的协议可以用来练习的是ICMP。先学会如何读取和写入这个头部,使用struct
和我提到的其他内容。当你更熟练后,再尝试创建和读取NTLM消息。
希望这对你有帮助。