Lync 2013 Mobile App Autodiscover
Hallo zusammen,
Um einem Fehler beim Login meiner Android Lync 2013 Mobile App zu finden. habe ich auf dem Lync Frontent Server Wireshark installiert um TLS Traffic zu entschlüsseln.
Hier präsentiere ich euch, was ich während meinem Reverse Engineering herausgefunden habe.
Zu diesem Test
- HTC Android 4.2.2 Lync 2013 App (Version 5.4.1106.0)
- Die App ist über WLAN mit dem internen Netzwerk verbunden
- Intern zeigen die DNS Records für "lyncdiscoverinternal.icewolf,ch" und "lyncdiscover.icewolf,ch" auf den Lync 2013 Frontend Pool
Lync 2013 Mobile App Autodiscover
Als erstes wird der Autodiscover Webservice aufgerufen. Kleiner Hinweis nebenbei User-Agent: ACOMO
https://icesrv07.corp.icewolf.ch/autodiscover/autodiscoverservice.svc/root/user?originaldomain=icewolf.ch
Der Server gibt ein "401 Unauthorized" zurück.
Jedoch steht im HTTP Header "X-MS-WebTicketURL" die URL des WebTicket Webservices
X-MS-WebTicketURL: https://icesrv07.corp.icewolf.ch/WebTicket/WebTicketService.svc
Nun verbindet sich die die App mit einem SOAP Request auf den Webticket Webservice
POST /webticket/webticketservice.svc/mex HTTP/1.1
Der Server Antwortet mit "200 OK"
Nun verbindet sich die App mit einem weiteren SOAP Request auf den Webticket Service (diesesmal ohne /mex)
POST /webticket/webticketservice.svc HTTP/1.1
Der Server Antwortet darauf mit einem "401 Unauthorized"
Nun folgt eine NTLM_NEGOTIATE von der APP
Der Server Antwortet mit einem NTLM_CHALLENGE
Nunt kann die APP sich mit NTLM am Webserver anmelden und sendet einen SOAP Request
POST /webticket/webticketservice.svc HTTP/1.1
Der Server antwortet mit einem "200 OK" und gibt dabei eine SOAP Response mit der Webticket ID (cwt)
Nun ruft die App nochmals den Autodiscover Webservice auf, und sendet die WebTicketID im HTTP Header "X-MS-WebTicket" mit
GET /autodiscover/autodiscoverservice.svc/root/user?originaldomain=icewolf.ch HTTP/1.1
Der Server antwortet mit einem "200 OK" und gibt dabei eine XML vom MIME Type "application/vnd.microsoft.rtc.autodiscover" zurück
Das XML sieht dann so aus. Darin sind alle relevanten URL's enthalten.
Weitere Informationen:
- http://www.lyncexch.co.uk/lyncdiscover-and-auto-discovery-deeper-dive/
- http://ucwa.lync.com/documentation/GettingStarted-Authentication