0

我目前正在尝试编写一个函数来在 python3 中创建一个 NTLM 挑战消息。

是否有任何模块/功能可以帮助我获得创建 AV_PAIR 的值?我不太确定何时使用哪些函数来获得正确的值,我也想避免通过输入字符串参数选择。

 - 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 身份验证。

4

1 回答 1

0

我不知道有任何实现 NTLM 的 python 模块。

但我认为这种类型的经过身份验证的交易比您在这里关注的要复杂得多。如果您将起点从AV_PAIRS结构更改为,您引用的链接实际上包含更多详细信息:http Introduction: //msdn.microsoft.com/en-us/library/cc236622.aspx

也就是说,为了正确解决这个问题,您必须首先了解该struct模块,因为您需要使用它来创建 NTLM 消息标头。同时,还要了解位移和网络字节顺序/主机字节顺序,因为您也将需要它。

一个简单的练习协议是 ICMP。首先学习如何读取和写入该标题,使用struct和我提到的其他方法。当您感觉更舒服时,请尝试解决创建和阅读 NTLM 消息的问题。

希望这可以帮助。

于 2014-03-27T15:51:11.177 回答