On Monday 13 June 2005 03:29, Dominik Fritz wrote: [....]
Den Domainnamen habe ich sowohl schon angegeben als auch weggelassen ohne einen Unterschied zu bemerken. Ich habe mir jetzt auch die Challenge noch mal angeschaut und ich kann da eigentlich nichts ungewöhnliches entdecken. Anscheinend läuft es erst beim NTLMSSP_AUTH schief.
NTLMSSP NTLMSSP identifier: NTLMSSP NTLM Message Type: NTLMSSP_CHALLENGE (0x00000002) Domain: IRF Flags: 0x02810205 NTLM Challenge: D1D8875EBD13AE96 Reserved: 0000000000000000 Address List Length: 132 Maxlen: 132 Offset: 62 Domain NetBIOS Name: IRF Server NetBIOS Name: I61MS1 Domain DNS Name: [...] Server DNS Name: [...] List Terminator Content-Length: 27\r\n Content-Type: text/html\r\n \r\n Line-based text data: text/html
Das sieht eigentlich gut aus. Dann kann ich nur noch raten. Es sieht danach aus, als ob die KNTLM-Klasse das letzte Paket falsch generiert. Leider bin ich kein Experte in NTLM-Authentifizierung, ich habe das nur so mit drangebacken als ich Negotiate-Authentifizierung implementiert habe. Merkwürdig ist, dass der Username um 1 Byte verschoben ist, als ob irgendein Offset nicht stimmt. Wie gesagt, ich kann da leider nicht gross weiterhelfen. Der Autor von KNTLM ist gyurco@freemail.hu, vielleicht hat der noch eine Idee. Ansonsten gibt's in der Distribution von libntlm (von der KNTLM glaube ich abstammt) ein kleines Test-Programm, dass ein AUTH-Paket aus einer Challenge berechnen kann. Und auf der libntlm-Webseite (http://josefsson.org/libntlm) gibt's auch jede Menge weiterführende Literatur zu dem Thema. Ich kann hier als Referenz und zum Vergleich auch noch mal die auseinandergepflückte NTLM-Response aus meinem AUTH-Paket einfügen (interne Namen ersetzt): NTLM Response: E28588B9CF49D93785B5D6444791A43C0101000000000000... Length: 288 Maxlen: 288 Offset: 64 NTLMv2 Response: E28588B9CF49D93785B5D6444791A43C010100000000000 0... HMAC: E28588B9CF49D93785B5D6444791A43C Header: 0x00000101 Reserved: 0x00000000 Time: Jun 7, 2005 20:50:57.000000000 Client challenge: 0BEED186F0CAB2AA Unknown: 0x00000000 Name: NetBIOS domain name, MYDOMAIN Name type: NetBIOS domain name (2) Name len: 14 Name: MYDOMAIN Name: NetBIOS host name, SOMETH-74BF20F1 Name type: NetBIOS host name (1) Name len: 30 Name: SOMETH-74BF20F1 Name: DNS domain name, mydomain.rentec.com Name type: DNS domain name (4) Name len: 36 Name: mydomain.rentec.com Name: DNS host name, someth-74bf20f1.mydomain.rentec.com Name type: DNS host name (3) Name len: 68 Name: someth-74bf20f1.mydomain.rentec.com Name: End of list Name type: End of list (0) Name len: 0 Domain name: MYDOMAIN Length: 14 Maxlen: 14 Offset: 352 User name: kuenne Length: 12 Maxlen: 12 Offset: 366 Host name: NULL Eigentlich sollte das "End-of-List" ja das Ende der Response kennzeichnen, so dass ich mir gar nicht erklären kann, wieso Domainname und Username verschoben sind. Ich hoffe, Du findest noch eine Lösung des Rätsels, würde mich ja auch interessieren. Gruss, Karsten. -- The human animal differs from the lesser primates in his passion for lists of "Ten Best". -- H. Allen Smith