Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MD5 , fciv, Hashliste und andere Probleme...

Frage Entwicklung Batch & Shell

Mitglied: takitano

takitano (Level 1) - Jetzt verbinden

16.06.2012, aktualisiert 19:48 Uhr, 4825 Aufrufe, 17 Kommentare

Kann mir jemand helfen? Das Problem: einer von unseren Büro-PC-Freaks hat mal wieder trotz Verbot ein Spielprogramm auf dem Firmenrechner installiert. Aber nicht nur das - um die Routine-Prüfung umzugehen, hat er auch der Name der Start-Datei (z.B.DukeIII.exe in Taskmanage.exe) geändert und in einem anderem Verzeichnis (als Standard) installiert.

Nun da unser Script regelmäßig nur die standarte Installationsverzeichnisse von "verbotenen" Progs überprüft + nur die originale Dateinamen sucht, kann ich dieses Programm nicht mehr finden. Chef ist sauer...

Da kam mir die Idee mit MD5-Hashes - ich habe mir eine Liste von MD5-Hashes von allen "verbotenenen" Progs erstellt und als eine TXT-UTF8-Datei gespeichert. Die Datei sieht so aus (nur als Beispiel):

md5
rr2rt456j3bj3bj34ghg
tjwjg3ejng5i5i43ufri
rtzetzertrrzutrzuttz
erzruttiizlkfkjmnrtzm
....

Nun will ich den kompletten Laufwerk nach *.exe und *.dll Dateien untersuchen, diese hashen und den Hashwerte mit meiner Liste vergleichen. Danach sollten 2 Arten von Meldungen kommen:
1) Das Programm ist installiert (und Pfad woe sie sich befindet).
2) Keine Installationsdateien gefunden.

Das ganze sollte per Batch realisierbar sein.
Mit fciv hat es nicht geklappt - das Programm kann die Liste ohne Pfaden nicht überprüfen. Und wenn der Installationspfad vom User geändert wurde findet fciv die vorhandene Dateien auch nicht. Was kann ich da noch tun?

Grüße,
takitano
Mitglied: DerWoWusste
16.06.2012, aktualisiert um 20:21 Uhr
Moin.

Es gibt verschiedene Lösungsansätze. Ich beschreib mal einige andere als Deinen zuerst.
-nicht-technischer Ansatz: Lass die Kollegen etwas unterschreiben, was beschreibt, welche nicht-arbeitsrelevanten Tätigkeiten (z.B. priv. Mails lesen) erlaubt sind und welche nicht. Wer sich nicht daran hält, wird bestraft bis zur Abmahnung. Wie gut die technischen Überwachungsmöglichkeiten dann noch sein müssen, kann ich nicht beurteilen, ich schätze, eher gering.
-applocker (windows7) oder software restriction policies (vista und xp): definiere eine Liste von startbaren Anwendungen. Alle anderen werden geblockt.
-Dein Ansatz: habe ich auch schon gemacht. Ich benutze dafür ein Programm names jacksum http://www.jonelo.de/java/jacksum/index_de.html
Damit kannst Du das komplette Laufwerk hashen und Unterschiede zum vorigen Scan auflisten. Aber Vorsicht: das artet in Arbeit aus. Windows verändert ja nicht nur bei Windowsupdates ständig Dateien. Es ist aber denkbar, dass Du es auf eine Liste loslässt, die zuvor über ausführen von dir *.exe *.dll /s /b (z.B. unter c: ausführen) gewonnen hast.

Edit: achja... haben Eure Nutzer Adminrechte?
Bitte warten ..
Mitglied: Lochkartenstanzer
16.06.2012, aktualisiert um 22:52 Uhr
Moin:

mit cygwin/gnu-toolchain köntne das so gehen:

#/bin/bash 
 
find /cygwindir/ -type f -exec md5sum {} \; | tee aktuelle-md5liste.txt 
grep -f verbotene-md5.txt aktuelle-md5liste.txt | tee verbotene -dateien.txt 
lks

Nachtrag: Abmahnungen/Sanktionen sind ein probates Mittel gegen solche Eigenmächtigkeiten. Vorraussetzung ist allerdigns, daß vorher schrifich geklärt was der Mitarbeiter darf und was nicht.
Bitte warten ..
Mitglied: takitano
16.06.2012, aktualisiert um 23:08 Uhr
Danke, DerWoWusste. Jacksum habe ich früher auch benutzt, nur wurde jetzt Java von den Rechnern verbannt. Also diese Lösung passt nicht...

Ja, einige haben schon (leider) administrative Rechte (siehe Java). ;-(
Bitte warten ..
Mitglied: takitano
16.06.2012, aktualisiert um 23:09 Uhr
Lochkartenstanzer, Danke für die Lösung! Cygwin passt leider nicht - es soll schon so ein Tool a-la fciv bzw. md5 sein, nur mit der Möglichkeit die Hashwerte aus einer Liste ohne Pfade und Dateinamen abgleichen... Ich arbeite mit einem selbstgebastelten Tool (Lua-AMS) und da sind Shell/Batch-Lösungen (also reine CMD-Werkzeuge ohne Windows-Setup)- die erste Wahl.
Bitte warten ..
Mitglied: Lochkartenstanzer
16.06.2012 um 23:11 Uhr
Hi,

Also find und grep gibt es auch als reine EXE-Dateien fertig für win32. Da kannst Du das problem dann auch mit einer CMD-batch erschlagen.

lks
Bitte warten ..
Mitglied: takitano
16.06.2012 um 23:15 Uhr
Stimmt... Das konnte ich morgen mal testen. Danke für den Tipp!
Bitte warten ..
Mitglied: bastla
16.06.2012, aktualisiert um 23:34 Uhr
Hallo takitano!
Mit fciv hat es nicht geklappt - das Programm kann die Liste ohne Pfaden nicht überprüfen
Na dann eben umgekehrt - ungetestet etwa:
01.
@echo off & setlocal 
02.
set "Liste=C:\Scripts\MD5-Liste.txt" 
03.
set "Gefunden=C:\Scripts\Installiert.txt" 
04.
 
05.
del "%Gefunden%" 2>nul 
06.
for /f "delims=" %%i in ('dir /s/b/a-d C:\') do  
07.
    echo Untersuche: %%i     
08.
    for /f "skip=3" %%a in ('fciv "%%i"') do findstr /i %%a "%Liste%">nul && >>"%Gefunden%" echo %%a;%%i 
09.
)
- das wird natürlich etwas dauern ... [Edit] - daher im Zweifelsfall zuerst den Ansatz von weiter unten testen [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: takitano
16.06.2012 um 23:28 Uhr
Danke, Bastla! Werde auch morgen mal testen - die beide Lösungen (auch mit grep und find) gefallen mir sehr gut sogar!
Bitte warten ..
Mitglied: bastla
16.06.2012 um 23:34 Uhr
Hallo takitano!

Sollte aber so besser gehen:
01.
fciv C:\ -r>C:\Scripts\Hashes.txt 
02.
findstr /ibg:C:\Scripts\MD5-Liste.txt C:\Scripts\Hashes.txt>C:\Scripts\Installiert.txt
- wobei ich allerdings nicht getestet habe, wie "findstr" mit ein paar Millionen zu durchsuchenden Zeilen zurechtkommt ...

Die "MD5-Liste.txt" sollte übrigens nur die Hashes enthalten - die erste Zeile mit "md5" vorweg entfernen, da sie ansonsten auch als Suchbegriff verwendet wird.

Grüße
bastla
Bitte warten ..
Mitglied: takitano
17.06.2012, aktualisiert um 09:42 Uhr
Danke Bastla!

Deine letzte Lösung war für mich gerade richtig (das mit der Zeit ist nicht so schlimm - die Nacht ist lang... Um alle *.exe- und *.dll-Dateien auf einer 500GB-SATA-Festplatte ( nur eine Partiition C:! mit ungefähr 100 GB installierten Programmen und Bürokram (ca. 1.200.000 Dateien)) zu finden brauchte dein Script nicht mal 2 Minuten.
Bitte warten ..
Mitglied: bastla
17.06.2012, aktualisiert um 16:09 Uhr
Hallo takitano!
alle *.exe- und *.dll-Dateien ... zu finden
würde mir im Fall des Falles aber nicht genügen (wenn etwa aus der "DukeIII.exe" eine "Bericht_2012-04-04.pdf" geworden ist)

Ansonsten noch eine Anmerkung: "Blacklisting" setzt natürlich voraus, dass Du weißt, wonach Du suchen musst - insofern solltest Du die Hinweise von DerWoWusste nochmals überdenken und dabei auch gleich das Thema "Adminrechte" hinterfragen ...

Grüße
bastla
Bitte warten ..
Mitglied: Eduard121
17.06.2012 um 17:43 Uhr
Zitat von bastla:
Hallo takitano!

Sollte aber so besser gehen:
01.
fciv C:\ -r>C:\Scripts\Hashes.txt 
02.
> findstr /ibg:C:\Scripts\MD5-Liste.txt C:\Scripts\Hashes.txt>C:\Scripts\Installiert.txt 
03.
> 
- wobei ich allerdings nicht getestet habe, wie "findstr" mit ein paar Millionen zu durchsuchenden Zeilen
zurechtkommt ...

Die "MD5-Liste.txt" sollte übrigens nur die Hashes enthalten - die erste Zeile mit "md5" vorweg
entfernen, da sie ansonsten auch als Suchbegriff verwendet wird.

Grüße
bastla

Hallo Bastla,
du hast auch mir fast damit geholfen! Aber wie überprüfe ich mehrere Laufwerke von c: bis z:? Eine Art Schleife?

fciv c:\...
fciv d:\...
fciv e:\... - funktioniert nämlich nicht. Es werden nur die Ergebnisse vom Laufwerk C: gespeichert. Unterstützt fciv überhaupt gleichzeitige Suche in mehreren Laufwerken?

Grüße aus Mosklau,
Eduard
Bitte warten ..
Mitglied: bastla
17.06.2012 um 22:19 Uhr
Hallo Eduard121!

Du kannst die Daten der weiteren Laufwerke einfach mit ">>" anstatt ">" hinzufügen:
for %%i in (D E F) fciv %%i:\ -r>>C:\Scripts\Hashes.txt
Grüße
bastla
Bitte warten ..
Mitglied: SilentTom
26.11.2012 um 00:43 Uhr
Genau dafür gibt es ein kleines praktisches Programm namens MD5 FILE HASHER von Digital-Tronic.

Mit dem Programm können vollautomatische Prüfdurchläufe erstellt werden, um in zeitgesteuerten Abständen beliebige Dateien, Dateitypen und ganze Ordner zu überwachen. Dabei stehen umfangreiche Filterfunktionen und Ausnahmeregeln zur Verfügung, um beispielsweise alle EXE, SYS und DLL Dateien des Windowsordners stündlich auf Manipulationen zu untersuchen. Geänderte, gelöschte und neu erstelle Dateien werden auf Wunsch als PopUp-Meldung mitgeteilt und können zusätzlich als TXT-Datei abgespeichert werden. Das Programm erstellt von jeder Datei einen Hashwert und vergleicht diesen bei spätere Untersuchungen - absolut sichere Sache.

Das Programm gibts auf digital-tronic.de und ist in Deutsch und Englisch verfügbar. Auf YouTube sind auch Videos bzw. Tutorials online.
Bitte warten ..
Mitglied: takitano
04.02.2013, aktualisiert um 13:40 Uhr
Zitat von bastla:
Hallo Eduard121!

Du kannst die Daten der weiteren Laufwerke einfach mit ">>" anstatt ">" hinzufügen:
for %%i in (D E F) fciv %%i:\ -r>>C:\Scripts\Hashes.txt 
> 
Grüße
bastla

Hier sehe ich 2 Probleme:

1) "do" fehlt (Sorry, ich weiß - Klugsch...r.. )
2) Die Laufwerksbuchstaben werden vorher angegeben. Das ist aber ziemlich mühsam und festgelegt... Was ist wenn man NUR lokale Laufwerke und USB-Laufwerke, aber keine Netzwerklaufwerke untersuchen will (also man weiß es vorher nicht welches Buchstabe für welchen Laufwerk steht)?
Bitte warten ..
Mitglied: bastla
04.02.2013 um 16:18 Uhr
Hallo takitano!
Was ist wenn man NUR lokale Laufwerke und USB-Laufwerke, aber keine Netzwerklaufwerke untersuchen will (also man weiß es vorher nicht welches Buchstabe für welchen Laufwerk steht)?
Dann würde ich mir die passenden Laufwerksbuchstaben mit einem VBScript wie zB hier gezeigt holen ...

Grüße
bastla
Bitte warten ..
Mitglied: takitano
05.02.2013 um 11:27 Uhr
Danke Bastla!
Bitte warten ..
Ähnliche Inhalte
PHP
MD5 Verschlüsselung
Frage von gamerffPHP5 Kommentare

Hallo Forum, wie sicher findet ihr eine MD5 Verschlüsselung für einen Internen Bereich auf einer Webseite ?

Festplatten, SSD, Raid
Veränderung MD5 Summe ( nach recovery)
gelöst Frage von RobpapaFestplatten, SSD, Raid8 Kommentare

Hallo, wir haben eine Fileserver mit ca. 75 TByte unter RAID 6. Als OS läuft Windows Server 2012. Wir ...

Netzwerkgrundlagen
Windows 7 host kann über EAP-MD5 den Switch nicht erreichen
gelöst Frage von KryolytNetzwerkgrundlagen7 Kommentare

Guten Tag, ich versuche mich seit neuestem mit 802.1x und wollte eine Radius Server Lösung auf Linux ausprobieren. Mein ...

Debian
Zarafa smtp-auth via CRAM-MD5
Frage von zwirniDebian1 Kommentar

Hallo zusammen, nach tagelangen Kopfzerbrechen möchte ich mich nun an die Admin Kollegen wenden. Mein Mailservers läuft auf Debian ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 21 StundenBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 23 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...

Windows 10
Windows 10 GPO Powershell Skript Registry bearbeiten
Frage von potshockWindows 1010 Kommentare

Hi Admins, Gegeben ist ein Windows 2012 R2 Server an welchen ich Gpos für Windows 10 Clients bereitstelle. U.a. ...