{"id":198541,"date":"2017-12-11T15:57:00","date_gmt":"2017-12-11T14:57:00","guid":{"rendered":"http:\/\/www.borncity.com\/blog\/?p=198541"},"modified":"2023-04-24T00:24:18","modified_gmt":"2023-04-23T22:24:18","slug":"privater-schlssel-mit-microsoft-dynamics365-verteilt","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2017\/12\/11\/privater-schlssel-mit-microsoft-dynamics365-verteilt\/","title":{"rendered":"Privater Schl&uuml;ssel mit Microsoft Dynamics 365 verteilt"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2015\/01\/Schutz.jpg\" width=\"40\" align=\"left\" height=\"47\"\/>Microsoft hat ungewollt den Zugriff auf seine Kronjuwelen freigegeben, indem ein ein Wildcard-Zertifikat mit privatem Schl\u00fcssel f\u00fcr alle Dynamics 365-Instanzen verwendet wurde. Redmond brauchte dabei Monate, um auf das Thema zu reagieren und das Zertifikat zu widerrufen. <\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/ssl-vg03.met.vgwort.de\/na\/844b9ec35e7b419db13ded62facfd7c3\" width=\"1\" height=\"1\"\/>Es klingt wie Pleiten, Pech und Pannen, d\u00fcrfte aber so manchem Blog-Leser irgendwie bekannt vorkommen. Du informierst Microsoft \u00fcber irgend etwas ungereimtes und es passiert nix. <\/p>\n<h2>Worum geht es? <\/h2>\n<p>Microsoft Cloud ERP-Produkt <a href=\"https:\/\/www.microsoft.com\/de-de\/dynamics365\/dynamics-365-deutschland\" target=\"_blank\" rel=\"noopener\">Dynamics 365<\/a> verwendete verschl\u00fcsselte HTTPS-Verbindungen zu den Instanzen, die auf Azure-Servern laufen. Kunden bekommen also eine ERP-Instanz auf dem jeweiligen Azure-Server und k\u00f6nnen per RDP auf diese Instanz zugreifen. Ist ja alles in der Cloud. Das Problem: Das Unternehmen aus Redmond hat nun ein Wildcard-Zertifikat f\u00fcr alle Instanzen von Dynamics 365 verwendet und mit diesem Zertifikat den privaten TLS-Schl\u00fcssel gleich mitgeliefert. <\/p>\n<p>Matthias Gliwka hat dies beim Arbeiten mit Dynamics 365 vor einiger Zeit entdeckt, wie er in <a href=\"https:\/\/web.archive.org\/web\/20230403095231\/http:\/\/medium.com\/matthias-gliwka\/microsoft-leaks-tls-private-key-for-cloud-erp-product-10b56f7d648\" target=\"_blank\" rel=\"noopener\">diesem Medium-Beitrag<\/a> schreibt. Die Verwaltung der Dynamics 365-Instanzen erfolgt per Remote Desktop Protocol-Verbindungen (RDP). Irgendwann wollte Gliwka sich ansehen, wie Microsoft seinen Server in einer solchen gesch\u00e4ftskritischen Anwendung aufsetzt. Also verband er sich per RDP mit der Sandbox-Umgebung und schaute sich das Zertifikat an.  <\/p>\n<p><img decoding=\"async\" title=\"Dynamics 365 Zertifikat\" alt=\"Dynamics 365 Zertifikat\" src=\"https:\/\/i.imgur.com\/Rlul5zO.jpg\"\/><br \/>(Quelle: Matthias Gliwka)<\/p>\n<p>Das Wildcard-TLS-Zertifikat galt f\u00fcr alle Instanzen von *.<em>sandbox.operations.dynamics.com <\/em>und enthielt einen privaten Schl\u00fcssel. Wer diesen privaten Schl\u00fcssel besitzt, kann praktisch die Kommunikation \u00fcber Man-in-the-middle-Angriffe aller anderen Dynamics 365-Instanzen per RDP mitlesen und notfalls auch ver\u00e4ndern (z.B. Schadcode einschleusen). <\/p>\n<p>Es braucht lediglich einen Kniff, um den privaten Schl\u00fcssel zu exportieren. Wie Gliwka schreibt, verweigert der Windows Certificate-Manager zwar diesen Export. Dazu gibt es eine API-Funktion zur Pr\u00fcfung, ob ein Zertifikat exportiert werden darf. Aber mit einem kurzen C++-Programm, welches sich in die API-Funktion zur Pr\u00fcfung einklinkt, war es ihm m\u00f6glich, diesen privaten Schl\u00fcssel zu exportieren. Es gibt aber wohl auch Tools, die das erledigen k\u00f6nnen. <\/p>\n<h2>Microsoft Security Response Center (MSRC) schl\u00e4ft<\/h2>\n<p>Lange Geschichte kurzer Sinn: Gliwka informierte das Microsoft Security Response Center (MSRC) \u00fcber seine Entdeckung und glaubte, dass das  <\/p>\n<p>Problem fix behoben werde. Nach mehreren Nachfragen kam eine Antwort des MSRC, dass man nicht glaube, dass das Problem in Produktivumgebungen relevant sei \u2013 die Kommunikation ist <a href=\"https:\/\/web.archive.org\/web\/20230403095231\/http:\/\/medium.com\/matthias-gliwka\/microsoft-leaks-tls-private-key-for-cloud-erp-product-10b56f7d648\" target=\"_blank\" rel=\"noopener\">hier<\/a> nachlesbar. <\/p>\n<p>Dann kontaktierte er eine ihm bekannt Person aus der Produktgruppe, um das Thema nochmals einzuspeisen. Diese versuchte beim MSRC-Team den Fall aufzuw\u00e4rmen, was sich aber z\u00e4h gestaltete. Es gab zwar eine Mail, dass man nun das Ganze aktiv untersuche \u2013 aber auch Wochen sp\u00e4ter tat sich nichts. Irgendwann versuchte er einen Chat mit dem Microsoft-Support, um auf diesem Weg einen neuen Kontakt mit dem MSRC zu erhalten. Er bekam auch eine Telefonnummer, die zur <a href=\"https:\/\/www.msrc.org\/\" target=\"_blank\" rel=\"noopener\">Marine Spill Response Corporation<\/a> (MSRC) geh\u00f6rte. Dazu muss man wissen, dass dies eine spezielle Organisation f\u00fcr \u00d6lkatastrophen und Notfallma\u00dfnahmen in den Vereinigten Staaten ist. Die k\u00fcmmern sich zwar auch um Lecks, aber in \u00d6lleitungen \u2013 weniger um Lecks in TLS-Zertifikaten. Aber wie hei\u00dft es so sch\u00f6n: 'Sie haben sich wenigstens bem\u00fcht'. <\/p>\n<p>Ein Versuch, das Ganze nochmals per Twitter anzuschieben, ergab zwar eine Antwort, dass man das untersuche, aber kein Ergebnis.<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"de\">\n<p lang=\"en\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/msftsecresponse?ref_src=twsrc%5Etfw\">@msftsecresponse<\/a> Reported a leaked TLS private key for a cloud product &gt;45 days ago &#8211; still no response. Can you take a look? Case #40397<\/p>\n<p>\u2014 Matthias Gliwka (@cerebuild) <a href=\"https:\/\/twitter.com\/cerebuild\/status\/915697858313154560?ref_src=twsrc%5Etfw\">4. Oktober 2017<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script> <\/p>\n<p>Auch 100 Tage nach der Entdeckung war das Zertifikat in Gebrauch. Gliwka dachte erst daran, das Ganze per Blog-Beitrag \u00f6ffentlich zu machen. Dann entschloss er sich, Hanno B\u00f6ck zu kontaktieren (der verdient sich seine Meriten mit Sicherheitsthemen und schreibt h\u00e4ufiger f\u00fcr Golem). B\u00f6ck hat dann das Thema f\u00fcr Golem in <a href=\"https:\/\/www.golem.de\/news\/microsoft-dynamics-365-microsoft-leakt-wildcard-zertifikat-for-clouddienst-1712-131542.html\" target=\"_blank\" rel=\"noopener\">diesem Artikel<\/a> in deutsch aufbereitet \u2013 ich selbst bin \u00fcber drei Ecken \u00fcber <a href=\"https:\/\/www.itnews.com.au\/news\/microsoft-exposed-private-tls-key-for-dynamics-365-479542\" target=\"_blank\" rel=\"noopener\">diesen englischsprachigen Beitrag<\/a> (<a href=\"https:\/\/mspoweruser.com\/not-just-apple-microsoft-also-left-keys-kingdom-exposed\/\" target=\"_blank\" rel=\"noopener\">via<\/a>) aufmerksam geworden. <\/p>\n<p>Hanno B\u00f6ck schreibt, dass kompromittierte private Schl\u00fcssel binnen 24 Stunden zur\u00fcckgezogen werden sollen. Also meldete er \u00fcber den Bugtracker das Problem an Mozilla und informierte einen Chrome-Entwickler sowie einen Vertreter von Digicert. Damit kam Bewegung in die Geschichte, wohl auf Druck von Mozilla. Innerhalb weniger Tage wurden die Wildcard-Zertifikate zur\u00fcckgezogen. K\u00fcnftig will Microsoft die Instanzen von Dynamics 365 mit Zertifikaten ausstatten, die einen eigenen privaten Schl\u00fcssel enthalten. Sch\u00f6ne neue Welt \u2013 und wir wollen mit Industrie 4.0 alles vernetzen. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft hat ungewollt den Zugriff auf seine Kronjuwelen freigegeben, indem ein ein Wildcard-Zertifikat mit privatem Schl\u00fcssel f\u00fcr alle Dynamics 365-Instanzen verwendet wurde. Redmond brauchte dabei Monate, um auf das Thema zu reagieren und das Zertifikat zu widerrufen.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[426],"tags":[4328],"class_list":["post-198541","post","type-post","status-publish","format-standard","hentry","category-sicherheit","tag-sicherheit"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/198541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=198541"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/198541\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=198541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=198541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=198541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}