Jump to content

Power Shell Passwort abfangen verhindern


Direkt zur Lösung Gelöst von BOfH_666,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Schönen Guten Abend,

 

vorab, das ist mein erster Forenbeitrag, also bitte verzeit mir falls ich mich hier nicht gleich von anhieb richtig verhalte.

 

So nun zu meinem Problem:

In meinem Unternhemen gibt es eine Person dessen PDF's nicht weitergegeben werden dürfen aber dennoch im Unternhemen angesehen werden sollen.

Ich habe also eine Test PDF verschlüsselt und ein PS Skript geschrieben, das die MAC Adresse des ETH Adapters abgleicht und nur wenn diese überein stimmt öffnet PS die PDF und gibt das Passwort ein.

Das funktioniert auch soweit.

Da die Eingabe über sendkeys erfolgt kann man das Passwort z.B. mit einer Textdatei abfangen, wenn man diese zur richtigen Zeit öffnet.

 

Kann ich das irgendwie verhindern, z.b. das wärend des Skriptes kein anderes Fenster geöffnet werden darf oder das das geöffnete PDF während des Skriptes immer im Vordergrund bleibt ... (Es wird btw im Browser geöffnet) ?

Ich habe nun mittlerweile einen Ganzen Tag damit verbracht danach zu googeln, habe aber keine passende Lösung für mich gefunden.

 

Hier noch mein aktueller Code:

 

# Die Mac Adresse vom Adapter namens "Ethernet" wird als Objekt ausgelesen
$MAC = Get-NetAdapter -Name Ethernet | select MacAddress

#Vergleich ob die Mac Adresse mit "Ethernet" Uebereinstimmt (Die Mac Adresse wird mit $MAC.MacAddress als Eigenschaft des Objektes einzeln aufgerufen)
if($MAC.MacAddress  -match "FF-FF-FF-FF-FF-FF" )
{
    #Das verschluesselte Dokument wird aufgerufen
    C:\Users\Public\Documents\Dokument.pdf

    #es wird ein "WScript.Shell" -Objekt erzeugt um mit sendkeys zu arbeiten
    $wshell = New-Object -com "Wscript.Shell"

    #Es wird 0.55 Sekunden abgewartet bis das Dokument geoeffnet wurde
    Start-Sleep -Seconds 0.55   


    #das Passwort wird eingegeben (~ dient als Eingabe-Taste)
    $wshell.sendkeys("@]jsH49Q0VZzcC7K&1-<~")    
}
else
{  
    #falls die MAC Adressen nicht Ueberein stimmen wird ein "ERROR" ausgegeben und das Dokument wird nicht geoeffnet
    Add-Type -AssemblyName System.Windows.Forms
    [System.Windows.Forms.MessageBox]::Show("Nice try!","ERROR",0, [System.Windows.Forms.MessageBoxIcon]::Error)
}

 

Ich hoffe Ihr könnt mir weiterhelfen.

 

Grüße Marc

 

 

Link zu diesem Kommentar

Hi,

 

jetzt guckt sich jemand das PDF an und macht einen Screenshot oder druckt es aus, oder, oder, oder. Wie willst du das verhindern? 

 

Evtl. wäre hier eher ein DMS mit entsprechendem Rechtemanagement oder gleich etwas wie AD RMS / Azure Rights Management. Aber auch hier bleibt immer noch ein Screenshot oder Handy Foto. Wer die Daten unbedingt mitnehmen / weitergeben möchte, der schafft das auch, solange er die Datei öffnen kann / darf.

 

Gruß

Jan

Link zu diesem Kommentar

Moin Jan,

 

Das ich das nicht volkommen verhindern kann ist mir klar, ich möchte es aber weitestgehend einschränken, das Snipping Tool und die Druckfunktion kann ich per GPO ausschalten.

Und wenn "nur" Fotos gemacht werden kann der "Leak" nicht zu der Person zurückverfolgt werden, der die PDF's bereit stellt. Es sind keine Firmengeheimnisse oder so. Der Bereitstellende Mitarbeiter hat nur anderen Personen versichert das die Dateien nicht weiter veröffentlicht werden.

 

Und nur wegen ein paar PDF's möchte ich ungern gleich ein DMS oder AD RMS verwenden bzw. mich da reinarbeiten.

Auch mein innerer Monk möchte dieses PowerShell Problem irgendwie gelöst bekommen.

 

Also falls du oder jemand anderes dazu eine Lösung hat wäre ich demjenigen sehr verbunden.

 

Gruß

Marc

Link zu diesem Kommentar

"Verschlüsselt" Du das Skript auch? Wenn nicht, dann kann jeder durch einen kurzen Blick in das Skript das Passwort ermitteln und somit das PDF Dokument öffnen.  Oder habe ich hier einen Denkfehler?

Besser wäre es doch die PDF eigenen Zugriffsbeschränkungen / Sicherheitseinstellungen zu verwenden. Also alle Einschränkungen bzgl. Drucken, Bearbeiten und Kopieren im PDF Dokument setzen. Dann hast Du den gleichen Effekt wie mit dem Skript mit dem Vorteil, dass Du das Passwort gezielt an berechtigte Personen weitergeben kannst. Mit der derzeitigen Lösung reicht in kurzer Blick in das Skript und jeder kann das Dokument öffnen. Und wenn Du das Skript nur an berechtigte Personen weiter gibst haben die trotzdem die Möglichkeit das Passwort aus dem Skript zu ermitteln.

Das große Problem bleibt, jeder der das Passwort hat (egal ob aus dem Skript ermittelt oder wie bei meinem Vorschlag von Dir mitgeteilt) kann das Dokument kopieren.

Link zu diesem Kommentar

Das stimmt nicht ganz - man kann durchaus aus einer exe-Datei mit etwas Aufwand ein unverschlüsseltes Passwort auslesen. Aber ich denke für Deine Anwender sollte der Schutz (evtl.) reichen. Aber das Problem bleibt, auch das Skript kann samt der PDF Datei kopiert und damit auf jedem Computer geöffnet werden. Die MAC-Adresse kann man einfach ändern (fünf Minuten googeln und es schafft jeder Laie). Was ich damit sagen will Dein Ansatz führt meiner Meinung nach in die falsche Richtung. Wenn jemand wirklich das Dokument kopieren und auf einem anderen Rechner öffnen will so kann er dies mit etwas Aufwand tun. Und wenn Du davon ausgehst dass ein Mitarbeiter das Passwort abfängt kannst Du auch davon ausgehen dass die Energie ausreicht um die MAC-Adresse zu ändern.

Mein Ansatz wäre ein technischer und organisatorischer. Ich würde die PDF Datei mit Passwort und den PDF eigenen Sicherheitseinstellungen versehen. Für jede berechtigte Person eine Kopie mit individuellem Wasserzeichen und Passwort erstellen. Des Weiteren das Dokument z.B. nur über OneDrive bereitstellen. Dort kann man das Downloaden / Kopieren und Drucken verhindern (bin mir aber nicht sicher ob das nicht ein findiger Anwender umgehen kann). Den Mitarbeiter auf das individuelle Wasserzeichen hinweisen mit dem Verbot der Weitergabe. Bei einem Leak weißt Du wer es war.

  • Like 1
  • Danke 1
Link zu diesem Kommentar

Nun, du hast wahrscheinlich recht, wobei man die MAC nicht bei jeder NIC ändern kann. Wie dem auch sei, die PDF's werden wahrscheinlich in den Jahren mehrere Hundert Personen zu Gesicht bekommen und da für jede ein individuelles Wasserzeichen und Passwort zu vergeben halte ich für zu aufwändig. Aber die OneDrive Variante klingt interessant. Ich werde die Vorschläge mal im Betrieb präsentieren und dann mal sehen wie es letztendlich umgesetzt wird.

 

Danke dafür!

 

Wäre trotzdem cool wenn jemand einen Vorschlag für PS Projekt hat :)

 

Ich lasse den Thread (wenn ich das denn entscheiden darf, werd ich schon rausfinden) mal noch bis Montag offen um zu schauen ob jemand einen Vorschlag hat und dann schließe ich ihn.

 

Gruß

Marc

Link zu diesem Kommentar

OK, verstanden. Was ich aber dann nicht verstehe ist das Grundproblem. So wie das klingt kann es sich nicht um ein schützenwertes Dokument handeln, wenn so viele Leute Zugriff erhalten. Also ich denke mit Geheimhaltung ist an einem "öffentlich Ort" nicht weit her, oder irre ich mich?

 

Nachtrag: Wenn Du bei der PS Script Lösung bleiben willst würde ich nicht die MAC Adresse verwenden sondern eine "eindeutige Hardware ID" verwenden. Leider kann ich hier nicht weiterhelfen da ich mich damit nicht beschäftig habe.  Evtl. das Passwort im Script verschlüsseln.

bearbeitet von winmadness
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...