 Ja, also dann hallo und herzlich willkommen zu meinem Vortrag, wenn es da einen Schlagen für Dormis. Ich möchte euch heute mal ein bisschen vorstellen, wie man so ein bisschen Spaß in Windows-Netzwerken haben kann, wo man so ein paar interessante Informationen herbekommt, ein bisschen seine Rechte ausbaut und im Gegenzug dann auch natürlich, wenn ich als Administrator für sowas zuständig bin, was ich dann dagegen tun kann, dass meine Nutzer mir mein Netzwerk hochnehmen. Das Letzte ist eine echte Herausforderung. Aber first things first, ein paar Sachen zu mir. Ich bin der Rabbit at Net und ich komme aus dem schönsten Bundesland Deutschlands, Mecklenburg-Vorpommern, da, wo die ganzen Menge Leute bei uns Urlaub machen. Ich darf da arbeiten. Und mein Job ist vor allen Dingen die IT, der öffentlichen Verwaltung zu betreuen, auf Landesebene hauptsächlich sind da meine Kunden unterwegs und die betreiben halt weitgehend Windows-Netzwerke. Und das ist auch mein Themen Schwerpunkt, dass ich halt bei der Implementierung neuer Lösungen dort unterstütze, Planung für die Ausstattung mache, die Umsetzung begleite. Betrieb ist nicht so ganz mein Thema, mehr dann wieder das Troubleshooting, wenn es richtig schief gegangen ist. Gibt es auch schöne Stories und halt die gelegentliche Beratungsleistung, wenn Sie jetzt noch fragen, wie man ein bestimmtes Thema realisiert. Ganz gerne arbeite ich dabei mit der PowerShell. Das ist tatsächlich mal eine funktionierende Kommando-Zeil, die man unter Windows zur Verfügung hat und die sehr, sehr mächtig ist. Und ich benutze halt hauptsächlich um im Bereich verzeichnisses Dienst, also Microsoft Active Directory, zu automatisieren und eben halt auch die darauf aufsetzenden Gruppenrichtlinien automatisiert bereitzustellen. Wer weiß hier nicht, was Gruppenrichtlinien sind, fraut sich, okay, ich habe die Frage falsch gestellt. Wer weiß, was Gruppenrichtlinien sind? Ah, okay. Also ganz grob zusammengefasst, die meisten haben sich ja gemeldet, also ganz grob zusammengefasst. Wir sind wesentlichen einfach nur eine Einstellungs- sammlung für den PC, die ich administrativ erzwingen kann, also die lokale Einstellungen überschreiben und durch den Nutzer an der Maschine nicht mehr enderbar sind, oder zumindest nicht so einfach mehr enderbar sind und die werden über den Verzeichnissen-Dienst den Maschinen zugewiesen. Also ich kann halt einfach sagen, okay, auf diesen 10 PCs möchte ich jetzt, dass die Kennworterrichtlinie so aussieht und dann passiert das. Ja, kleiner Disklemer noch. Alles, was ich hier vorstelle, sind meine eigene Meinung, meine eigene Arbeit und es steht in keinem Zusammenhang zu meinem normalen Beruf, den ich ausübe und es sind auch nicht die Ansichten meines Arbeitgebers. Nur so kleiner Disklemer, damit es nicht da keinen Stress gibt. Ich wollte die haben. Nicht so einfach mit diesem komischen Präsentat. Ja, stellen wir uns mal vor, wir fangen neu bei einer Firma an, der Böse AG und bekommt das so als ersten Tag hin, wird uns so ein schöner Schreibtisch hingestellt, da steht ein Stuhl davor, da steht ein Rechner drauf, auf dem Rechner läuft in der Regel in irgendein Windows, was in irgendein Active Directory eingebunden ist und wir kriegen so unser Anmeldedaten. Und dann sind wir da so Standard-Benutzer und haben Mehl und unsere Anwendung, die wir eigentlich zur Arbeit brauchen, aber ist ja ein bisschen langweilig. Wir freuen eigentlich lieber lokale Atmenrechte, weil dann kann man so ein paar schöne Sachen mit dem Rechner endlich mal machen. Zum Beispiel gescheiten wir Browser installieren, weil das mitgelieferte Teil in der Regel steinalt ist und nicht funktioniert, oder der Internetzugang irgendwie komisch gefiltert wird und man vielleicht doch lieber einen anderen Proxy einstellen können möchte und solche Kleinigkeiten. Klar ist natürlich aber auch, also normalerweise brauchen wir es nicht wirklich, weil alle interessanten Informationen, wenn ich an den lokalen Schell rankomme von einem Standard-Benutzer, kann ich schon alle persönlichen Daten von ihm auslesen, aber für ein paar Sachen braucht man halt doch noch diesen stark umzuhenden Atmen-Account. Und das gucken wir uns mal an. Wie trivial das geht, sich Atmenrechte zu verschaffen. Da habe ich mal eine Kleinigkeit vor. So, ich habe jetzt so ein Standard-Vendor 7-Rechner, den ich mich jetzt anmeldet, als Mr. Roy Baer. So, und dann mache ich mir erstmal eine Schell auf und gucke mal nach, was darf ich denn hier gerade so alles? Den wollte ich haben. Und aktuell bin ich halt Mr. Roy Baer. Ich habe eine SicherheitsID, die eindeutig ist. Ich bin ein Benutzer, ich bin interaktiv angemeldet, direkt an der Konsole, ich bin authentifiziert, ich gehöre zu dieser Firma. Ich arbeite im Bereich der Produktion, also ich wurde mir tatsächlich nicht noch eine Gruppe schon von vornherein zugewiesen. Ja, aber so von Administrator steht hier nichts. Hier steht nur so etwas Komisches von Verbindlichkeit, verbindliche Beschriftung, mittlere Verbindlichkeitsstufe. Weiß jemand, was das ist? Senkt mit der User-Account-Control zusammen, also dieser Benutzerkontensteuerung. Mittlere Verbindlichkeitsstufe heißt einfach, ich kann keine administrativen Aktionen ausführen. Und das wird halt auch bei einem Kontor stehen, was das grundsätzlich könnte, aber halt den Prozess noch nicht hochgestuft hat. Ja, und ansonsten steht da unten so die Systemprivilegien, die ich habe, dass zum Beispiel die Kiste runterfahren kann. Ich darf den Rechner aus der Docking-Station rausnehmen und die Zeitzone erinnern, das war es dann auch also nichts dolles. Gut, wir wollen ab mit Rechte, wie machen wir das? Wir starten erstmal die Kiste neu. Tim ist schneller als klicken. So, dauert jetzt leider einen kleinen Augenblick. Mache jemand Pausenmusik einspielen? Oh, was passiert denn hier? Ich habe schon mal eine Windows CD eingelegt gehabt und einfach jetzt mal von der CD gebotet. Jetzt startet hier ein gestinknormales Windows Setup. Kann schon einer sich vorstellen, was das jetzt gleich wird. So, mein Windows Setup ist da, aber ich will ja die Kiste nicht neu installieren. Das bringt mir nichts, sondern ich möchte etwas modifizieren. Hoch ist eine Shell aufgeploppt. Shift F10 bringt mir eine Shell im Setup hoch, weil ich den Bedarf haben, dass ich Treiber nachladen muss oder sowas. So, jetzt muss ich erstmal rauskriegen, auf welcher Partition ist dann mein laufendes Betriebssystem installiert, was ich normalerweise boote. Und da kein Windows Explorer da ist und auch sonst kein grafisches Werkzeug. Aber Notpad kann man Notpad benutzen, um rauszukriegen, was denn hier so drauf ist. System reserviert. Okay, sehe ich jetzt keine Ordner, keine Dateien. Da liegen die Startdateien vom Betriebssystem drin. Und die ganzen tatsächlichen Programme nachher liegen auf der Partition D. Da habe ich mein Windows und mein System 32 Verzeichnis. Das wird gleich noch wichtig. So, also gehe ich jetzt auf das Laufakt D, Windows System 32 und kopiere mal eine CMD-Echse nach Joodleman-Echse. Und sag Überschreiben und gehe raus und starte die Kiste einmal neu. So, leidiges Spielchen. Boten dauert immer ein bisschen. Nein, jetzt wollen wir nicht von CD starten, sondern lassen das Betriebssystem ganz normal hochlaufen. Nächste Pause in Musik bitte. So. Wir könnten uns jetzt direkt anmelden, aber hier unten ist so ein komischer Knopf. Da drücken wir jetzt mal drauf und hoch, da popt eine Shell auf. Und die Shell ist Systemkonto. Herzlichen Glückwunsch, Sie haben jetzt volle Kontrolle über den Rechner vom Anmeldebildschirm aus. So. Torren. Sehr schön. Mit dem Befehl habe ich jetzt gerade mein Domainkonto den lokalen Administratoren hinzugefügt. Und jetzt kann ich mich ganz normal anmelden. Mal sehen, ob er mir schon hier den Gefallen tut. Natürlich erstmal nicht, das war logisch. Aber ich möchte jetzt den Prozess als Administrator ausführen. Und er fragt mich zwar jetzt noch nach der Bestätigung, was er tun möchte, weil die Benutzerkonstruktion an ist, aber er fragt mich nicht nach Benutzernahme Passwort. Und jetzt kann ich nachgucken. Ich bin Mitglied der Gruppe vor definierter Administratoren. Und ich laufe in der hohen Verbindlichkeitsstufe. Herzlichen Glückwunsch, Sie sind lokale Administrator. Das ist wirklich so trivial. Also, das haben wir gerade gemacht. Einmal von einer stinknormalen Windows CD gebotet. Wir haben uns im Setup einfach eine Konsole aufgemacht, die eine Datei ausgetauscht, neu gestartet, und haben jetzt immer noch wieder unter dem Knopf da vorne voll Zugriff auf das Systemkonto und hat uns selber zum Administrator gemacht. Es ist wirklich super trivial zu machen. Und es ist effektiv ja auch nichts Besonderes, wenn man mal genau darüber nachdenkt. Ich nutze einfach einen zweiten Installationsmedium um mein originales Betriebssystem an einer Stelle zu manipulieren. Da muss ich wohin kopieren. Hier ist der Effekt halt nur so schön, weil Microsoft net sein wollte mit den Neuzern und die erleichterte Bedienung auf den Startbildschirm auch gepackt hat. Und ich traue einfach das Programm für die erleichterte Bedienung durch die Konsole aus. Und da erfolgt halt kein weiterer Check. Damit ist das Thema durch. So, was kann man dagegen tun? Ja, gut, auch logisch, wenn ich jetzt die Festplatte selbst wenn ich das direkt mit dem TPM-Chip nur mache, der auf dem Board ist, die Diskussion, ob TPM gut ist oder nicht, bitte an anderer Stelle führen. Dann klappt das Ganze schon nicht mehr. Und die Sicherheitsrichtlinien, die in der Domäne wirken, können da auch ein Stück weit Spielverdauer spielen, wenn ich keine Festplattenverschüßlung in der Firma ausgerollt habe auf den Arbeitsplätzen. Weil ich dann zumindest die Möglichkeit habe, diese lokale Administratorengruppe regelmäßig aufzuräumen. Welche Nutzer dürfen auf diesem Rechner in der Lokale Administratorengruppe stehen und welche Rechte haben. Und das wird dann regelmäßig wieder durchgedrückt und alle Änderungen, die der Benutzer gemacht hat, eine Stelle rausgeschmissen. Allerdings werden diese Prüfungen nur zyklisch durchgeführt. Standardmäßig sind das für einen normalen Arbeitsplatz 8 Stunden. Also, wenn ich das gemacht habe, mich reingestuft habe und der Prozess ist gerade durchgekommen, habe ich 8 Stunden lang. Sowieso die Administratorenrechte über meine Gruppenmitgliedschaft und natürlich, solange meine Sitzung läuft, habe ich die Rechte sowieso, wenn mein Token weiter entgültig ist. Ich habe halt am nächsten Tag die Rechte nicht mehr. Muss es wieder neu machen. Beim Domainkontroller läuft dieser Prozess alle 5 Minuten. Das sind sie ein bisschen schneller. Ja, aber was machen wir denn nur in den anderen Fällen? Dafür gibt es auch Lösungen. Ich habe mir mal eine rausgesucht. Sagen wir mal, der Admin war clever und hat die Festplatte auf allen Rechnern verschüsselt. Dann brauche ich irgendwie eine lokale Privilege-Eskalation, um doch noch irgendwie an Admin-Rechte zu kommen. Ein kleiner Disclaimer vorweg. Das ist jetzt noch kein vollwertiger Exploit, um Rechte zu kriegen. Aber er zeigt genau, wie es funktioniert. Und zwar nehmen wir ein kleines Programm hier oben mit so einer Bombe und starten das. Das ist unser Exploit und der macht erst mal sich einen Webdav-Server lokal auf der Maschine auf. Das ist ein kleines Java-Programmchen, das ein Web-Server aufmacht und diese Web-Offering-Erweiterung drauf hat, dass ich es wie in einem Dateilspeicher lesen und schreiben kann. Parallel dazu startet mein Exploit oder startet er nicht, sondern trickert er den Viren-Scanner an. Und bittet mal den Viren-Scanner ganz freundlich. Du, da ist so ein komischer Web-Server. Der hat eine Datei. Guck mal, ob die gefährlich ist. Scan die mal bitte für mich. Wenn wir da drücken, scann, dann mach ich das doch mal und versuche jetzt auf diese Datei zuzugreifen. Der Web-Server sagt dann aber, naja, ich hätte aber gerne eine Authentifizierung. Authentifiziere dich mal bitte mit ntlm. Wir auch gut, benutzen Windows-Systemfunktionen, also authentifiziert sich der Viren-Scanner brav mit ntlm. Damit hat der Web-Server Prozess das Token des Prozesses unter dem der Viren-Scanner läuft und das ist das Systemkonto. Jetzt müssen wir nur noch diesen ntlm-Hash nehmen wiederum in unsere eigenen Anfragen einbauen und damit auf die lokale Festplatte zugreifen und können alle Dateien auf der lokalen Festplatte manipulieren. Herzlichen Glückwunsch. Damit lässt sich dann genauso ein Angriff bauen, wie wir es gerade gemacht haben, dass ich nämlich dann wieder zum Beispiel meine CMD-Exe in die Joodleman-Exe reinsetze und wieder vom Startbildschirm aus vollzukriff erlangen kann. Also Thema durch. Richtig schön finde ich halt, dass der Angriff ein Programm benutzt, das eigentlich unseren Rechner schützen soll. Er verwendet ein Viren-Scanner, ein Programm, was eigentlich dazu gedacht ist, uns zu schützen und Nutz ist dazu, um seine eigenen Rechte zu erweitern und das andere schön an dem Ding ist, es gibt zwar ein Update, mit dem man dieses Verhalten unterbinden kann, aber das kann ich nicht einfach blind in meiner Umgebung ausrollen und anschalten. Wird auch nicht gemacht. Das Update kann ich bei Bedarf einspielen, es wird nicht automatisch verteilt und dann hinterher noch hingehen und manuell eine Konfiguration von meinem SMB-Cline und meinem SMB-Server-Prozess auf der Windows-Maschine anpassen und eben sagen, diese NTLM-Methode bitte nicht mehr verwenden. Wenn ich das nicht selber als Atmen mache und gar nicht über diesen Angriff reflektiere, mir gessen gar nicht bewusst bin, ist das Ding offen wie ein Scheuentor. So und in vielen Umgebungen kann ich es noch nicht mal aktivieren. Wenn ich ältere Systeme habe in älteren Samba-Server und ja, die gibt es leider immer noch und ich habe leider tatsächlich einen Kunden der OS2-Server ohne Warp, noch bis 2017 am Laufen halten muss. Ich kann diesen Patch in der Umgebung nicht ausrollen. Ich muss es so offen stehen lassen, wie es ist. Muss ich mal kurz mal gucken? Kann ich das auch einmal kurz zeigen? Und zwar muss ich dafür mal meine andere Maschine nehmen und zwar werden wir jetzt jetzt wieder als Räuber an. So, brauchen einen Desktop und machen da wieder eine Konsole auf. So, also im Normalfall habe ich hier auf Lauf-ACC keine Möglichkeit, Dateien direkt im Stammverzeichnis abzulegen. Ich kann zwar neue Ordner anlegen, aber ich kann hier keine Datei reinpacken. Da kriege ich eine Zugriss-Fehlermähdung. So, nun möchte ich jetzt mal in die Demo reingehen. Prozessstarter. Dann baut er erstmal seinen Service auf, er hält den Scan an und hält den Scan ein bisschen hin. Mit, authentifiziere dich mal bitte. Und authentifiziere dich mal bitte noch mit ein paar mehr erweiterten Informationen, damit ich nämlich dieses Token auch richtig schön benutzen kann, um es hinterher gegen dich zu verwenden. Und dann habe ich hier auf einmal so eine kleine Dummy-Datei direkt auf meinem Lauf-ACC liegen, wo ich im Normalfall nicht hinkomme. Das könnte ich jetzt genauso mit dem Lauf-ACC anlegen. Wir können natürlich, wenn uns das alles viel zu technisch und viel zu kompliziert ist und da noch selber was größeres bauen zu müssen, es auch einfach machen und die Social Engineering-Variante nehmen. Da gibt es so kleine süße Programme, die nennen sich zum Beispiel Auto-It. Das ist ein Werkzeug, mit dem ich relativ einfach, grafische oder Konsolenanwendung zur Automatisierung von Systemprozessen erstellen kann. Wunderbar dokumentiert. Ich habe mich versteckt im Hintergrund zum Administrator machen. Da habe ich noch das Problem, wenn ich mehr so ein Programm gebaut habe, wie kriege ich es dazu, dass es jemand anderes ausführt. Ich stelle mich einfach mal blöd hin und rufe laut um Hilfe. Okay, mache ich das im Großraum Büro, wird natürlich kaum einiges reagieren. Es sei dann der Admin-Tits in Hörweite. Aber wenn mich den Telefonhörer in der Hörweite zuhört, dann habe ich auch noch eine Stelle, wo normalerweise eine Branchenanwendung liegt. Ich sage, guck mal hier, diese Branchenanwendung tut nicht mehr. Brauche ich es wichtig für mich, muss ich jeden Tag mitarbeiten. Klicke der Hälfte drauf, sieht irgendwas nicht. Komisch. Was macht man denn da? Du helbst es, melde dich doch mit unserer Behandlung. Wenn ich da einen eigenen Einstellung für den Nutzer anpassen kann oder installiere, dann bin ich der lokale Administrator. Ein hatefuler Geschichte. Das einzige, wie ich als Firma dieses Problemen stückchenweit abgefangen kreige, wäre meine Hälfte der Mitarbeiter entsprechend zu Die Leute beim Helpdes stelle ich ein, damit sie anderen Leuten helfen. Die sollen freundlich und zuvorkommend sein und Probleme lösen. Und jetzt sage ich Ihnen auf einmal, aber bitte denkt dran, dass ihr hier nicht irgendwelchen bösen Leuten Rechte gibt. Also ich gebe Ihnen eigentlich konkurrierende Anweisungen. Viel Spaß. Also ich kann ein bisschen Awareness schaffen, aber effektiv. Mit der Variante werde ich immer durch die Tür kommen. So. So viel erst mal zu dem. Wie beschaffe ich mir die lokalen Adminrechte? Jetzt gucken wir mal ein bisschen weiter. Weil ich bin in so einem schönen Domänenverbund. Da gibt es ja viel mehr Ressourcen und vor allen Dingen viel interessanterer Ressourcen. Da steht irgendwo ein Exchange Server rum, wo die ganzen Mädels durchlaufen. Da steht irgendwo ein Sharepoint der Geschäftsführung rum, wo irgendwelche Quartalszahlen liegen. Und da steht vielleicht irgendwo auch ein Nass vom Admin rum, wo er schöne Sachen drauf liegen hat. Weil irgendwo die private oder pseudo private Film- oder Musiksammlung findet sich in jeder Firma auf irgendeinem Laufwerk. Gucken wir uns mal an, was wir das so machen können. Ja, ich kenne halt zuviel Egasofirmen. Also ich sage jetzt nicht, dass das bei uns so ist. So, ich bin ja hier noch angemeldet. Und ein Tool, was ich gerne benutze, ist Rosé. Rosé ist eine kleine VB-Skript-Sammlung, die einfach mal so diverse Sachen aus meinem Verzeichnendienst dokumentiert und als HTML-Reports mir bereitstellt. Und dann kann ich einfach so eine vorgefertigte Standardreports-Datei starten und die rentiert es einmal hier durch und generiert mir diverse Berichte, die interessant sein könnten. So, die Metadaten der Domäne steht halt nicht so viel drin. Deswegen ist er schnell fertig. Aber hier steht schon mal so was drin wie die Passwort-Policy. Und eine interessante Information. Hier könnte zum Beispiel sein, dass Nutzerkonten nicht gesperrt werden, egal wie oft ich was falsch eingebe. Das könnte schon eine interessante Information sein. User und Gruppen ist eigentlich ein interessanterer Bericht. Aber da steht nämlich drin, wer ist denn so Mitglied in welchen Gruppen? Und da gibt es immer diese schöne Gruppe der Domänenadmins. Und da möchte ich eigentlich so ein Auge darauf haben, wenn ich Domänenadmin bin, bin ich Gott in dem Netzwerk. Und Domänenadmin ist standardmäßig Administrator auf allen Mitgliedsworkstations, Mitgliedservern und auf allen Domänenkontrollern. Haben wir irgendwo einen Sunny in der Nähe? Danke, Leute. Ist gerade einer zusammengefallen. Sorry. Also, das ist schon mal so eine interessante Information. Ich kriege über die Berichte auch raus, okay, so ein bisschen wie es meine Firma intern aufgebaut. Welche Bereiche gibt es so, weil die ganzen Bereichstruktur natürlich auch mit abgebildet sind im Verzeichnestdienst. Und das ist alles hier einfach schöner, HTML Text, einfach zu durchsuchen. Und einmal effektiv alles, was im AD steht und ich einfach lesen kann, ist hier abgebildet in verschiedenen Berichten. Aber wer meint, dass das ein Sicherheitsproblem ist? Er hat auch ein paar Meldungen. Die Antwort ist so ein bisschen jein, weil, ja, ich kriege hier natürlich eine ganze Menge Informationen präsentiert. Man muss sich aber mal vor Augen halten, was ein Verzeichnestdienst ist. Ein Verzeichnestdienst ist nichts weiter, als dieses große gelbe Buch, was bei einigen Leuten noch im Schrank steht, das ist nichts weiter als ein großes Telefonbuch. Und das ist zwar jetzt nicht öffentlich, aber es ist öffentlich innerhalb der Organisation. Und es muss auch häufig so öffentlich sein, weil ich die Informationen brauche, für meine tägliche Arbeit. Es geht zum Beispiel schon damit los, wenn ich einfach rauskriegen will, in welchen Bürositzen der Kollege. Die Information steht da drin. Die gleiche Frage stellt aber auch mein Rechner. Wo ist denn dieser Server und wie baue ich mit dem eine sichere Kommunikation auf? Und deswegen brauche ich halt die Informationen. Und deswegen sind auch viele Bereiche einfach lesbar. Ist natürlich für uns schön, macht uns das Leben einfacher, wenn wir uns hier durchhangeln wollen. Dann, was ich auch ganz gerne erstmal mache, ist mir ein Gruppenrichtlinienbericht von meiner lokalen Maschine ziehen. So, der dürfte jetzt unvorständig sein, weil ich nämlich was falsch gemacht habe. Entschuldigung, da muss ich nochmal raus schmeißen. Hier muss ich das jetzt tatsächlich das erste Mal meine Atmenrechte benutzen. Sonst sehe ich nämlich nicht alle Einstellungen. Sonst sehe ich nur die Einstellung, die mir als Benutzer aufgedrückt werden, aber ich sehe nicht die Einstellung, die meinem Computer aufgedrückt werden. Schon viel besser. So, und dann kriege ich auch wieder so einen schönen großen Bericht, der sich an verschiedenen Stellen aufklappen lässt. Ich kann mir wieder mal die Kennworterichtlinie auch an der Stelle rausziehen. Aber viel interessanter ist zum Beispiel so was wie, da ist eine geplante Aufgabe, die auf meinen Rechner gepusht wird. Da wird irgendwas ausgeführt unter einem anderen Benutzer. Interessant. Guck mal an, nachher, was das Ding macht. Und ich sehe zum Beispiel auch, wo die Kabel des Krips mir aufgedrückt werden und wo die herkommen. Ich sehe zum Beispiel, dass ich hier eine Start-CMD kriege und die kommt aus der Gruppenrichtlinie SW-Distriebe. Dann kann ich mich natürlich auch ein bisschen im Netzwerk umgucken. Ich habe hier unten so diesen schönen Netzwerkpunkt. Wenn ich den mal aufmache, oh ja, doch, der Server hat ein paar Freigaben, aber sind das wirklich alle Freigaben? Vermutlich mal nein, ne? Wenn er schon so fragt. Können wir doch mal so ein kleines Tool starten. Das nennt sich Shareenum und kommt von Microsoft sogar selber. Und Moment, hier stehen vier, hier stehen sechs shares. Das ist aber komisch. Es ist eigentlich triviare, was an der Stelle passiert. Windows-Administratoren haben gerne so einen Sichtschutz auf ihre Netzwerkshares. Sobald ich ein Dollarzeichen dahinter schreibe, wird es mir der Standardansicht auf den Kleins ausgefiltert. Sogenannten Admin-Shares. Ja, die sind aber auch nur ausgeblendet. Das hat nichts mit Rechten zu tun. So dass, wenn ich hier dann so ein Diplomenschere habe, aller Wahrscheinlichkeit nach auch darauf zugreifen kann, weil Diplomenschere klingt so nach Installation von Rechnern. Ja, und wenn ein Rechner gerade installiert wird, kann er sich nicht großartig anmelden und authentifizieren. Also wird da wahrscheinlich jeder angemeldete Benutzer und dann kann ich mal ein Diplomenschere ein bisschen rumsuchen, zum Beispiel nach einer Anentent-XML. Anentent-XML ist dazu da, um einem Rechner bei der Installation ein paar Parameter mitzugeben. Zum Beispiel, wie ist eine Sprachauswahl? Welche Funktionen sollen drin sein? Welche Punkt- und Betriebssysteme sollen aktiviert sein? Welche sollen deaktiviert sein? Wie kommt der Rechner in die Domäne rein? Wie ist das lokale Administrator-Passwort? All solche schönen Sachen stehen in der Anentent-XML. Und die kann ich entweder auf den Diplomenschere in der Firma finden oder ich finde sie sogar auf der Lokalmaschine selber, wenn das Setup nicht ordentlich aufgeräumt hat. Also nach Anentent-XML mal auf der Lokalen Platte suchen bei einem frisch installierten Rechner oder mal im Netz auf ein paar Shares gucken, die so verdächtige Namen haben. Wenn es kein Microsoft-Deployment-Toolkit ist, dann gibt es einen System Center Configurations Manager, der hat genauso sein Diplomenschere. Matrix24 ist in Deutschland noch gar ein eingesetztes Produkt zum Software-Deployment. Die haben das gleiche Problem, dass irgendwo die Datei rumliegt. Also findet man was. Und dann kann ich zum Beispiel mal einfach nach Domänen suchen und irgendwo muss das Ding in die Domäne gefahren werden. Finden wir auch prompt den Abschnitt. Was ist hier der Abschnitt, die für die Komponente Microsoft Windows DomainJoin untersteht einen Benutzannahme und eine Domäne und hoch ein Passwort. Im Klartext. Das muss auch so darin stehen. Es gibt auch keine Möglichkeit, das in der Anentent-XML verschlüsselt zu machen. Wenn ich einen Anentent-DomainJoin damit mache, stehen die Daten hier drin. So, wenn wir uns jetzt an den Bericht von vorne erinnern. Guck mal, ob ich den noch offen habe, leider nein. Da stand auch der Nutzer DomainJoin in der Liste drin. Nämlich in der Liste der Domänenadministratoren. Und das ist tatsächlich ein ganz gemachter Fehler. Ja, das Spielchen ist einfach. Eine älteren Version von Windows, wenn ich da in der Domäne beigetreten bin, hat er mich nach einem Administrator für den Domänenbeitritt gefragt. Das muss aber gar kein Administratorkonto sein. Das kann irgendein Dödel-Nutzer sein, weil erstmal darf jeder Standard-Nutzer 10 Rechner in die Domäne reinfahren, üblicherweise. Das ist tatsächlich das für ein automatisierten Prozessbrauch und mehr als 10 haben möchte. Dann muss dieses Konto nur das Recht haben, Computerobjekte an einer bestimmten Stelle im Verzeichnestdienst zu erstellen. Also nicht, es muss Computerobjekte im Verzeichnestdienst erstellen können, sondern in einem kleinen Ausschnitt aus dem Verzeichnestdienst. Sozusagen einem kleinen Ordner muss er dieses Recht haben und mehr nicht. Das muss man aber selber konfigurieren. Da muss man tätig werden. Es ist viel einfacher, einen Domänenadmin zu nehmen, weil er überall die Rechte hat, die man braucht, und den einfach reinzuschreiben und herzlichen Glückwunsch. Das Thema ist durch. Aber das ist nicht das Einzige, was wir hier rauskriegen können. Passwort ist auch immer ein schönes Schlagwort zum Suchen. Moment, im Shell-Setup wird das lokale Administrator-Passwort festgelegt. Gut, wir sind nicht im plaintext. Das Ding ist sicher. Da kommen wir garantiert in die Rande. Wer meint, dass das sicher ist, wenn da so ein Passwort so in einer XML-Datei steht? Okay, wer meint, dass es nicht sicher ist? Ich habe da mal was vorbereitet. So, wir nehmen uns diesen kleinen Schnipsel hier und gucke ihn den ersten Mal. So, dann bräuch ich erstmal wieder mal ein anderes. Da, da, da. Und dann habe ich damit schon ein kleines Skriptin gelegt. Und das führen wir jetzt einfach mal aus. Und pasten das Passwort da rein. Oh, Moment. Da steht auf einmal Password-Administrator-Passwort. Hat tatsächlich Charme, also der hintere Teil, der hier dran steht. Ist einfach nur nochmal der Schlüssel, wo der Wert drunter hängt. Und das kann ich einfach weglassen, sodass das Passwort tatsächlich einfach nur vorne das Passwort ist. Find ich an einer anderen Stelle auch gleich nochmal genauso wieder. Nämlich hier unten, wenn ich beim Autoadmin-Lock-On ein Benutzer angebe, der sich anmelden soll, automatisch um noch Prozeduren bei der Installation oder nach der Installation laufen zu lassen vom Betriebssystem. Steht auch wieder so ein schöner Wert drin. Und auch den kann ich mit der gleichen Datei mehr auslesen. Ich sage jetzt hier aber gleich schon mal bearbeiten. Denk nochmal aus. Noch hier kann ich das Ding ganz einfach einpasten. Und dann steht halt hier Klartext Password Password. Und das zweite Passwort kommt einfach wieder daher, dass es hier halt entsprechend eingeklammert ist. Das haben Sie aber noch mit reingenommen. So, was hat Microsoft da gemacht? Ich lese hier meinen Passwort ein, schieb das weiter an einen Befehl, das ist ein Coding Unicode GetString Convert vom Base64 so viel zum Thema Sicherheit. Ein Seiler. So viel zum Thema Unintended XML. Aber wir haben ja noch ein paar mehr Sachen. Wir haben ja noch so komische andere Laufwerke rumlegen. Nämlich zum Beispiel unser Netlock-On. Auch immer schön. Netlock-On ist eigentlich so ein Stück weit Legacy-Kram. Also braucht man heutzutage eigentlich nicht mehr. Es ist der zentrale Speicher für benutzergebundene Anmeldeskripte. Im Verzeichnisdienst kann ich jedem einzelnen Benutzerkonto sagen, du hast ein Anmeldeskript und das Anmeldeskript heißt. Und da klar kann ich mehrere Nutzer das gleiche Anmeldeskript zuweisen, aber es ist immer eine Zuweisung pro Benutzer. Und die werden üblicherweise im Netlock-On abgelegt. Und hier liegt so was rum, das heißt Atmenlock-In. Gucken wir da auch noch mal rein. Da steht so was drin wie verbinde hier erstmal irgendwie das Homeshare des Nutzers und irgendein öffentliches Verzeichnis und wenn derjenige Mitglied der Gruppe der Domänenadmins ist, dann verbinde mal das Nass mit den schicken Downloads und hoch da stehen Benutzernamen und Passwort. Das ist tatsächlich ein Fall, den ich in fast allen Umgebungen mal finde. Und zwar immer dann, wenn die Systeme nicht direkt ans Active Directory angebunden sind, dass sie irgendwie einfach so mit im gleichen Netzwerk stehen, aber keine mit angebundenen Benutzerverwaltung haben. Und es gibt tatsächlich Szenarien, wo es nicht anders zu lösen ist. Aber dann kann ich verdammt nochmal wenigstens die Zugriffsrechte auf das Skript so setzen, dass auch nur die Nutzer das Skript ausführen können, die es müssen. Und nicht wie hier, dass mal eben alle Nutzer der Domäne das Ding lesen können. Das habe ich Ihnen sowieso erzählt, aber so erzähle ich es in der Firma und das sind in Zweifel 2000er. So, und ansonsten haben wir vorhin auch gesehen, dass im Sysfold da irgendwie eine Start-CMD drin lag. Gucken wir mal, wo die genau legt. Die liegt nämlich in so einem sehr schön kryptischen Verzeichnis, Name des Domänenkontrollers Sysfold, Name der Domäne, Polices, Nagurt, Microsoft-Liebkurt. Also, wenn man in ein längerer Zeit benutzen AD Forest reinguckt und da Polices, da stehen dann irgendwie so 30.000 Ordner drinne, alle mit Guts und dann versuchen mal, irgendwas zu finden. Ist nicht möglich. Man braucht dann irgendwie eine Hilfe von einem anderen Werkzeugung erstmal rauszukriegen, okay, welcher Name steckt dahinter. Gucken wir mal die Start-CMD rein. Das Ding sieht erstmal so weit aus, ja, okay, Ausgabe abschalten, lokale Variablen einschalten, irgendwie zwei Dateien lokal auf die Festplatte kopieren und dann führen wir mal ein Skript mit einem Benutzer aus. Der heißt irgendwie ins SW und hat das Passwort auch wieder mal mit angegeben. Das sieht jetzt hier ein bisschen stark gestellt aus. Das habe ich schon gesehen. Das kommt tatsächlich in der Praxis vor. Weil früher hatte man halt nur, früher TM, hatte man halt nur die Möglichkeit beim Anmeldeskript irgendwie mal automatisch irgendwas laufen zu lassen. Und dann habe ich dieses Problem jetzt auf einmal gekriegt mit, ja, okay, der Nutzer ist halt nicht mehr lokaler Atmen und kann nicht mehr alles modifizieren, seitdem wir irgendwie so Windows NT4 oder Windows 2000 mal auf den Rechnern hatten. Unter Windows 98 war das ja alles kein Thema, da lief das ja alles. Da gab es aber auch nicht wirklich was, womit ich es verhindern konnte. Wenn man natürlich immer noch machen will, aus welchen gestellten Gründen auch immer, dann kommt so eine Konstruktion bei raus. Und selbst, wenn das hier nicht so im Klartext dran steht, sondern irgendwie für Partytool aufgerufen wird, was da hinten transigniertes Kript aufruft und irgendwas damit macht, Nütz ist einem trotzdem nichts. Weil ich habe das zweite Problem nämlich schon hier oben. Ich traue mir nicht ins Kript vom Netz auszuführen und kopiere es erstmal lokal auf die Platte, weil Hu und dem Moment, wo ich es vom Netz ausführe, könnte ja die Verbindung ausfallen. Ja, aber das Kript läuft unter dem Nutzer. Sprich, es kopiert es an ein Fahrt, wo der Nutzer rechte hat. Herzlichen Glückwunsch! Jetzt kann ich als Nutzer hingehen, mir die Datei vorab daut ein bisschen modifiziert hinpacken, mir selbst die Schreibrechte auf die Datei entziehen, sodass sie bei der nächsten Anmeldung nicht durch dieses Kript überschrieben wird. Dann schlägt dieser eine Hobbybefehl der Rest läuft weiter und mein Skript wird mit Atmenrechten zur Ausführung gebracht. Das habe ich auch schon gesehen. Und bei einer sicherheitskritischen Einrichtung, also das war nicht feierlich. Wir haben hier 8.000 Nutzern auf 4.000 Rechnern und jeder davon kann sich potenziell über diesen Weg Domänenatmenrechte verschaffen. Okay. So weit erstmal zum Thema Informationsbeschaffung. Also, was haben wir uns gerade angeguckt? Gruppenrichting-Ergebnis hat, ist ein wunderbarer Einstiegspunkt, um immer rauszukriegen. Was wird dann auf meinen Rechner zentral durchgepusht? Da sehe ich halt wirklich eine ganze Menge durchaus schicker Sachen schon drinne, eben halt auch, welche ganzen Anmeldeskripte. Und mit Gebirge-Seitechsel kann ich das halt mit lokalen Werkzeugen machen. Ich kann es mit ASOP-MSC, mit der Variante einfach machen, wo ich mich dann durchklicken kann. Und das kann ich auch schon als Standard-Nutzer machen. Dann sehe ich halt die Computereinstellung nicht. Aber ich sehe zumindest mal die ganzen Einstellungen, die auf mein Benutzerkonto runtergedrückt werden und woher sie kommen. Dann eben halt einmal geguckt, was ist mit den Networkshares los. Und ShareEnum listet mir wirklich alles auf, was in dem Netzwerkbereich durch die Gegend springt. Das erwischt nicht nur die Domänenrechner, sondern auch Workgroup-Maschinen, die im gleichen Broadcast-Domäne stehen oder auch andere Domänen, die in der gleichen Broadcast-Domäne rein Netzwerktechnisch stehen. Also da kriege ich verdammt viel mit raus, auch wenn da jemand privat sein Rechner mitgebracht hat und ans Firmennetzwerk gestöpft sind. Die sehe ich auch. Rosé ist halt wirklich ein schönes Standard-Werkzeug, um einmal effektiv das AD komplett auszulesen, schön HTML-Bericht zu haben, die ich dann ruhig durchgruppen kann. Aber auch ich keine großen Werkzeuge. Und das ist halt wirklich nur ein Skript. Das heißt, es fliegt auch unter dem Radar von sämtlichen Viermscanners. Also passiert gar nix. Ja, also anentende XML ist tatsächlich immer richtig schön, wenn ich normal für einen Domänenatmencoco oder auch mal das lokale Alpenpass vorauskriegen will und die sind in der Regel schlecht geschützt. Eben halt schon systembedingt ein schlecht authentifizierter Rechner oder gar nicht authentifizierter Rechner. Wenn Sie da anonymen Zugriff zulassen, muss diese Datei lesen können und damit kann es natürlich jeder lesen. Und das ist eine schöne Vulnerability an der Stelle. Ja, und in den Anbieteskripten halt Net-Use-Befil ist ein Klassiker, PSX-Secret auch mal gerne genommen oder ein vergleichbares Werkzeug, um Prozesse hochzustufen. Und was ich auch schon gesehen habe, Sirtuteal. Ich muss irgendwie ein Zertifikat auf eine Gruppe von Rechnern verteilen und wenn ich halt ein persönliches Zertifikat zur Anmeldung habe, dann ist das eigentlich persönlich und vereinen Nutzer gedacht. Und dementsprechend gibt es auch keine Mechanismen, mit denen ich das auf irgendeine Art und Weise sicher verteilen kann, weil das sind persönliche Dokumente, die sollen nicht verteilt werden. So, jetzt habe ich aber irgendwo so ein Werbportal, wo 10 Mitarbeiter immer mit der gleichen Kennung darauf arbeiten können sollen und so eine zertifikatsbasierte Ja, was mache ich? Ich pack dir ein Anmeldeskript, die PSX-Zerteil rein, den Transport bin und importiere das automatisch bei der Anmeldung. Wunderbar. Ich kann das Zertifikat auch gleich ausdrucken und draußen an die Tür hängen. Hat den gleichen Sicherheitseffekt. Das ist aber ja nur noch so dezente Informationsbeschaffung gewesen. Wir haben ja noch nicht wirklich was richtig, richtig Böses gemacht. Dazu kommen wir jetzt. Hat schon jemand eine Vorstellung, was Powersploitful ist? Also steckt so so Power drin, könnte von PowerShell kommen und Sploit hat das was vielleicht mit Metasploit zu tun. Das ist effektiven Post-Exploitation-Framework und damit gehen tatsächlich ein paar schicke Sachen, aus denen ich zweimal zeigen möchte, die auch schnell zum Erfolg führen. So, mache ich wieder meine Windows 7-Bixern. Die habe ich ja noch offen. Und jetzt brauchen wir eine PowerShell und die wollen wir als Administrator starten. Und jetzt müssen wir jetzt erstes mal Powersploit reinladen. Das hier Nein, ich hatte es ja vorhin unbenannt. So, was ich jetzt mache, ist eine Funktionssamlung meiner Shell hinzufügen. Ich importiere ein Modul, wo ein paar so Funktionen drin sind und jetzt kann ich mir mal anzeigen lassen, was da so schönes drin ist. Modul, Powersploit und da sind so so ein paar schöne kleine Funktionen schon mal drin. Wie zum Beispiel Get.http-Status damit kann ich mal eben so ein paar Passwörter automatisiert auf einer URL durchprobieren bis ich dann nicht mehr 404 kriege oder ich kann den Boot-Rekord manipulieren oder mich als persistenter Prozess im Nutzerkontext einnisten oder sogar im privilegierten Modus einnisten. Aber die zwei Sachen will ich gar nicht zeigen, sondern ich möchte euch GPP Password zeigen. Das Ding nutzt eine Schwachstelle in Gruppenrichtlinien aus genauer gesagt in den Gruppenrichtlinien vor Einstellungselementen. Gruppenrichtlinien sind ja normalerweise eine verbindliche Geschichte, wo ich Einstellungen fest durchdrücke. Manchmal möchte ich das aber nicht fest durchdrücken, sondern ich möchte eher den Nutzer eine sinnvolle Vorstellung geben, die er aber anpassen kann. So und dazu habe ich ein paar XML-Dateien mit in meinem Richtlinienverzeichnis rumliegen, wo ein paar schöne Sachen drin stehen. Unter anderem kann ich zum Beispiel eine geplante Task auf die Maschine schieben und wenn ich die unter dem anderen Nutzer ausführe steht der andere Nutzer hier drinnen und sein Password weil um den geplanten Task konfigurieren zu können und die Aufgabe konfigurieren zu können muss ich ja ihm mitgeben, okay das ist der Nutzer, das sind die Anmeldedaten sonst kann da keine lokale Anmeldung vornehmen und den Prozess starten. Wenn ich mich hier reingucke, ich muss ja hier den Nutzer angeben und wenn ich hier einen anderen Benutzer ausfühle werde ich nach dem Password automatisch gefragt weil ich muss ja die lokalen Anmeldedaten haben sonst kann ich keinen Prozess unter diesen Nutzer starten. Das andere ist ich möchte vielleicht einen Helpdesk-Nutzer verteilen eben ich brauche irgendwie ein Konto damit der Helpdesk was machen kann wenn die Kiste Probleme hat und wenn das ein Domain-Nutzer ist in der Helpdesk benutzt ist das in der Regel schlecht wenn das Ding Probleme mit der Domainer hat und nicht mehr reinkommt also brauche ich irgendwie einen lokalen Benutzer mit einem Password auf der Büchse der am besten Fall Admin ist und ich kann natürlich wunderbar über den Weg verteilen Problem ist nur ich kann das Password auslesen das Zeug ist sogar halbwegs ordentlich gekrüptet also die Nutzen in ihren XML-Dateien tatsächlich eine AES 128-Bit Verschlüsselung aber ich habe ein ganz einfaches Keymanagement-Problem jeder Rechner einer Domäne muss diese XML-Datei auswerten können wo kriegt er sein Schlüsselmaterial für die Auswertung her? auch wir schreiben die mal fest in den Benärteil der diese XML-Datei auswertet sprich ein bisschen Kotanalyse ich bin ein bisschen Kotanalyse ich popel einmal das Secret und dann kommt genau so was heraus dass ich überall das auslesen kann gleiche Spielchen hier oben gibt es noch eine Richtlinie wo irgendwelche Laufwerks-Mapings gemacht werden und da ist auch ein Password einmal mit Notwendig und das Password sehe ich hier natürlich auch und gibt es jetzt noch mehr Passworder da drinnen wird das schön Kommasseparät hier aufgeführt also im Befehl kriege ich hier jede Menge Scherz-Secrets ausgespuckt ohne dass ich irgendwie Aufwand treiben muss und das Schöne ist halt auch wieder, es ist ein Powershare-Skript das fliegt unter dem Radar von jedem Viren-Skript weil selbst wenn er das Standard-Skript erkennen sollte für ich halt nicht das Standard-Skript aus, sondern ändere vorher mal eine Zeile und meine Signatur ist im Eimer der Viren-Skript denkt wo und wie sieht es zwar ähnlich aus mit der Thei und ich kann es wieder ausführen es gibt auch noch einen anderen schönen nämlich und der ist richtig böse wer kennt Mimi Katz hier schon ok, jetzt wird es für dich leider langweilig ja, Live-Demo hat funktioniert ich bin begeistert so Mimi Katz liefert mir von allen angemeldeten Nutzern Körter und Hash-Werte unter anderem halt auch von unserem Monitor sehe ich jetzt wunderschön die Daten ich sehe es von meinem eigenen Nutzerkonto wenn sich jetzt noch ein anderer Nutzer angemeldet hätte werde ich genauso im Eimer ich sehe sogar das Passwort meines Computerkontos also dieses mitraute anfangende und hier hinten das Hochkomma gehört sogar auch noch mit dazu der endende Teil das ist schon richtig richtig krass wenn ich jetzt über Mimi Katz an dieser Stelle ein Benutzer finde der sich mit Atmenrechnern eine anderen Maschine anmelden kann ich mal gucken, nehmen wir mal den DC01 und ah, gut, ich müsste es wahrscheinlich unter dem starten, weil ich die Quotentius nicht an das übergeben krieg ah, kann ich jetzt so spontan leider nicht zeigen aber starte ich jetzt den Prozess neu unter einem anderen Benutzerkonto was auf einer anderen Maschine rechte hat kann ich Mimi Katz sogar remote auf die Kiste loslassen so, wenn ich jetzt diese Monitor-CMD die hier als geplanter Task läuft breitwürfig auf alle Arbeitsplätze verteilt habe ich kenne auch alle Arbeitsplätze dieses Benutzerkonto sprich, ich kann die Passworte aller anderen Arbeitsplätze mal eben von meiner Maschine auslesen so, ich habe mir noch nicht den Aufwand gemacht, das mal in ein schönes kleines Skript zu basteln, was einfach mal die Rechner sich aus dem AD auslässt was auch kein Problem ist ähm, IPAMU obwohl ich habe das Modul nicht drauf, aber ok, aber ich könnte jetzt einfach die ganzen Rechnern mehr aus dem AD auslesen und dann einfach remote einmal kurz drüber iterieren und mir das alles hinten schön in eine CSV-Datei weggeschreiben und dann habe ich ein Passwortverzeichnis in der Firma, so wenn man dann noch weiß, dass Nutzer in der Regel faul sind und die Passwörter nicht nur einmal verwenden da tun sich ganz neue Welten auf da kann man sehr viel Spaß mit haben ja, also das waren die 2 Sachen die ich aus dem Toolkit mal zeigen wollte ähm, bei den Group Policy Group Policy Preferences die ist Schwachstelle mit den Passwörtern ist mittlerweile sauber adressiert es wird einfach ein automatisches Update ausgerollt was einfach verhindertes Passwörter mehr werden können, bricht natürlich eine ganze Menge Funktualität, deswegen werden mancher Atmens vermeidenes einzuspielen das andere ist es ändert nichts an schon gemachten Einstellungen sprich, es wird nur verhindert dass die Leute das neu machen können alles was schon in die XML-Datei drin steht, steht da weiter, hinterin funktioniert auch weiterhin noch das heißt ich muss einmal noch hinterher manuell aufräumen gibt zum Beispiel von der Firma SDM Software das GP Passwort GP Preferences Passwort Remediation Tool kleines grafisches Werkzeug kann ich auf irgendeiner Büchse in meiner Umgebung installieren dann meldet er mir welche Richtlinien betroffen sind und bietet mir auch gleich die Option das aufzuräumen ja, bei Mimikats habe ich tatsächlich ein riesen Problem das einzufangen effektiv schwer bis gar nicht möglich ich muss mal meine Nutzer dazu bringen konsequent mit niedrigen Rechten zu arbeiten das hat schon wenig gefunden werben kann überhaupt an der Stelle und dass ich halt auch mit einem normalen Benutzerkonto arbeite und lieber eine Zweitanmeldung in dem seltenen Fall mal mache wo ich es brauche starten meinen Prozess einfach nur hochzustufen weil ich sowieso immer lokaler Administrator bin das andere Spielchen mithalt ich verteile irgendwelche Nutzer automatisiert auf eine Lösung bereitgestellt die Local Administrator Password Solution die ist tatsächlich sauber mal durchdesign und durchimplementiert funktioniert so ich gehe auch wieder über eine Gruppe mich hin und sage, leg mir ein Nutzer an auf diesen Rechner und er soll überall helpdesk heißen aber ich lege das Passwort nicht fest sondern das Passwort legt der Rechner selber fest und tauscht es auch regelmäßig durch damit ich mit dem Nutzer was anfangen kann kennen können also schreibt der Prozess auf dem Rechner das Passwort in eine speziell eingefügte Eigenschaft am Computerobjekt und diese Eigenschaft ist standardmäßig geschützt sodass nur der Domäneadminsi lesen kann und ich kann dann halt sagen ok auch die Leute vom helpdesk können dieses Attribut für den PC lesen und dann müssen sie halt bevor sie sich auf einem Rechner mal anmelden können einmal kurz in den Verzeichnissen das Passwort da rausholen und dann können sie sich lokal anmelden ist aber tatsächlich eine saubere Lösung wenn das helpdesk konnte auf dem lokalen PC kompromittiert ist ist es zwar da kompromittiert aber ich kann mich damit zumindest mal nicht sofort auf allen anderen PCs anmelden das nimmt das Problem schon mal ganz gut ein ja Fazit sehr viele einfach auszunutzende Möglichkeiten und sehr viel Arbeit was ich noch mal möchte auf der kleinen Seite klar ich sollte immer mit geringstmöglichen Rechten arbeiten und benutzerkontensteuerung tatsächlich auch sinnvoll einsetzen und halt wenn nicht bei aberative Privilegien brauchen ein zweites benutzerkonto dafür verwenden dann jetzt nicht so sehr relevant für den reinen Innen-Täter sondern mehr so allgemeiner Schutzhinweis primitive Firewall ist immer eine gute Idee und das ist auch der Fall der ich nicht von außen angefragt habe block ich erstmal weg ich habe den Dienst wirklich explizit freigegeben dass er von außen ansprechbar sein soll alles andere wird erstmal weggefiltert das Prozesse nach draußen reden könnte ich auf meiner Büchse laufen darüber brauche ich mir eh keine Gedanken machen denn sobald ein Prozess auf meinem Rechner läuft kommt er im Zweifelsfall eh immer raus spätestens wenn er anfängt einfach mal interessante DNS-Anfragen zu stellen die auf der Gegenseite dann ausgewertet werden können DNS-Trunnel also wenn ich DNS verbiete in meinem Netzwerk habe ich kein Netzwerk mehr da hat der Weg steht eh immer offen und ansonsten wenn der Prozess auf der Büchse läuft dann schaltet er im Zweifelsfall die Firewall aus also da habe ich dann eh verrissen wenn ich an der Stelle kompromittiert wurde schon was ich auch sehr schön finde für die Delegierung ist das GA Toolkit GA steht für Just Enough Administration und das basiert auf der PowerShell wo ich zwischen der reinen Berechtigungsebene und dem was der Nutzer machen kann die PowerShell nochmal einziehe mit einer besonderen Konfiguration wo ich sage die stehen auf folgende Befehle zur Verfügung und sie können nur auf folgende Maschinen angewendet werden so dass zwar das Benutzerkonto oder der Sicherheitskontext in dem das Skript läuft oder die Shell läuft zwar theoretisch mehr könnte der Anwender der davor sitzt aber einfach durch die PowerShell daran gehindert für diese Aktionen zu starten ist einfach nochmal eine zusätzliche Sicherheitsebene erfordert natürlich aber auch ansprechende Planung und Aufwand im Vorhinein sich zu überlegen ok wir sehen den Standardanwendungsfälle aus welchen gerechtfertigten Bedarf haben die Nutzer und wo kann ich hier tatsächlich Sachen rausnehmen ohne sie an die Wand zu fahren ja Domänenadministratoren zu benutzen die gebauten administrativen Konten von der Domänenumgebung zu benutzen es gibt noch die Sicherheitsoperatoren die mit drin sind die Printoperatoren und was es nicht noch alles da herum fliegt ist grundsätzlich ein schlechter Plan die Teile haben alle immer viel zu viele Rechte für den Anwendungsfall den ich im konkreten brauche da geht viel viel viel zu viel mit Domänenadministrator da sollte es eigentlich nur einen von geben und dessen Kennwort wird von zwei Leuten einmal festgelegt keiner kennt den Teil des anderen wird auf ein Zettel geschrieben und landet beim Geschäftsführer im Safe das wäre sicher heißt natürlich aber auch dass ich im Zweifelsfall sehr viel Spaß habe wenn ich da tatsächlich mal auf der Ebene arbeiten muss es ist natürlich auch dann ein Stückchen Inconvenience warum es nicht gemacht wird ja gut und Passwort ein Skripten gehen gar nicht das ist so absolutes No Go sorry ich habe auf der anderen Seite noch was vergessen tut mir leid, ein bisschen unstrukturiert heute ich bin bei der Absicherung des Kleins noch ein ganz großer Freund von Microsoft Enhanced Medication Experience Toolkit Riesenname, richtig schlimm was das Ding macht ist einfach Scan Standard Export Mechanismen erkennt diese und terminiert die Prozesse er sorgt zum Beispiel dafür dass es erstmal Data Execution Prevention eingeschaltet ist er sorgt dafür dass Automatic Address Space Ventimization genutzt wird er kennt ein Heapsprayer und schmeißt den Prozess raus und noch so ein paar andere häufig benutzt der Export Techniken das Ding sollte ich für alle Prozesse einsetzen die mit Informationen aus nicht vertrauenswürdigen Quellen arbeiten also in der Regel mit Informationen die nicht aus meiner Organisation kommen Office Programme da reinzusetzen den Verbraucher reinzusetzen den PDF Reader reinzusetzen gerade wenn es adobe ist ist eine sehr sinnvolle Schutzmaßnahme zu dem Ding gab es auch ein Talk beim letzten oder vorletzten Chaos Communication Congress wo ein Österreichischer Sicherheitsforscher das mal auseinandergenommen hat und es ist tatsächlich ich fange nicht alles ab das ist auch gar nicht das Ziel viel komplizierter und teurer so dass ich einfach die Schwelle die zum Erfolg führt entsprechend anhebe ich glaube drüber diskutieren dass wir gegen einen Angreifer der unbegrenzte Ressourcen hat uns nicht verteidigen können ist müßig bei Viren Scanners bin ich noch so ein bisschen zwiegespalten wir haben es auch vor dem Export gesehen dass man da wunderbar dazu nutzen kann die Kiste unsicherer zu machen und das ist bei einer ganzen Menge Produkte tatsächlich der Fall Sie haben tatsächlich aber noch ein legitimem Anwendungsfall nämlich die Verfügbarkeit meines Rechners zu erhöhen es gibt so diese 3 klassischen Schutzdimensionen Integrität, Vertraulichkeit und Verfügbarkeit Sie können nicht die Integrität meines Redes garantieren das was ja nicht manipuliert wurde mit Vertraulichkeit haben sie sowieso nichts zu tun Sie können nur dafür sorgen dass nicht irgendwelche breitwürfig abgeworfene Mallware meine Kiste platt macht einfach nur gegen den ungezielten Angriff bieten sie noch ein gewisses Schutzniveau alles andere ist eh dran vorbei da brauchen wir nicht darüber reden, da hatten wir uns keine Bedeutung halt hier schon das Beispiel wenn ich PowerSploit nehme fliegt es in der Regel sowieso unter dem Radar und selbst wenn der Teile von erkannt werden ich hatte ein Ende, ich hatte mal 30 Zeilen in dem Skript und dann fährt es nicht mehr erkannt und halt absolutes No Go Domänen Benutzer auf den Arbeitsstation die administrativen Prozesse einzusetzen für irgendwelche automatisch laufenden Skripte für irgendwelche Verwaltungsaufgaben die regelmäßig laufen es gibt dafür einfach keine Notwendigkeit bei dem Heldes-Nutzer dass der mal lokale Abendrechte braucht okay das ist ein legitimer Anwendungsfall da habe ich auch gar keine andere Lösung für das ist okay aber ich muss keinen Dienst auf einer Arbeitsstation unter einem Konto laufen lassen was Rechte auf anderen Arbeitsstationen hat und selbst wenn ich ein Prozess habe der mal auf Ressourcen in meiner Domäne zugreifen muss da muss ich einfach mal das Modell verstanden haben was in deinem Verzeichnis-Dienst steht wenn ein Prozess auf meinem Rechner läuft unter Systemkonto und der möchte jetzt mit einer anderen Maschine reden und dort auf ein falscher Zugreifen eine Lock-Datei ablegen wen muss ich dann berechtigen das Computerkonto auch ein Computer ist nichts weiter als ein normaler Nutzer im Active Directory und dem kann ich genauso Rechte auf Ressourcen erteilen wie einem normalen Nutzer und dem kann ich genauso Rechte entziehen wie einem normalen Nutzer damit wäre ich dann auch schon durch mit meinem Rand habt ihr noch Fragen, Anmerkungen, Wünsche aber gerne doch hilft das wenn man jetzt hier die Wasseraufgaben geplante Aufgaben sozusagen zu verteilen wenn man hier sozusagen um das System was ja in der Konfidurkontoin spricht ich kann also das kann ich machen genau, die Frage war gerade wenn wir jetzt geplante Aufgaben auf Arbeitsstation verteilen können können wir das Systemkonto nehmen ja na klar und das funktioniert auch absolut problemlos weil ich für das Systemkonto nie das Passwort mit angeben muss das kennt das lokale System ja schon es ist ja schon im Rechner vorhanden und ich muss es eben nicht extra beibringen ja die Frage war ob ich den exploit den ich vorhin gezeigt habe mit der CMD EXE aus dem Startbildschirm durch zum Beispiel AppLocker oder Software Ausführungsrichtlinien verhindern kann ich werde es für das eine Programm verhindert bekommen das Problem ist, dass ich dann greifen du hast jetzt hier eine Permutation ja ok, dann ist es jetzt nachher nicht mehr die CMD dann ist es dann die PowerShell dann ist es das kleine selbstgeschriebene Programm was ich vom USB Stick genommen habe ich kriege dieses Fass nicht wieder zu ok, ich werde gerade vom Sender genommen Zeit ist leider oben falls ihr noch Fragen habt einfach den Mann mit dem komischen Hemd ansprechen da kann ich dazu noch mehr erzählen vielen Dank