derwowusste
Goto Top

Wie kann ich für x-beliebige Prozesse auslesen, welche DLLs diese geladen haben?

...zum Freitagnachmittag eine angenehme Frage, dachte ich mir...

Hallo Kollegen,

ich kenne process explorer und auch listdlls. Diese können mir für die meisten Prozesse das Gewünschte liefern. Für einen Dienst (hier avp.exe, Kaspersky-Virenscanner) jedoch nicht, die Ausgabe bleibt leer. Warum?

Meine Vermutung ist, dass die Tools nicht das Recht haben, diesen von Kaspersky geschützten Prozess abzufragen. Die Tools wurden mit dem Adminkonto elevated und ebenso mit dem Systemkonto ausgeführt mit dem selben Ergebnis. Wie kann ich dem Dienst, welcher die avp.exe startet, ansehen, ob ich das Recht habe, ihn derartig abzufragen?

Mit dem Kommando
sc sdshow avp
und anschließender Konvertierung der Ausgabe mit sddlparse komme ich auf:
C:\Users\io\Desktop>sddlparse D:(A;;CCLCSWRPLOCRRC;;;WD)(A;;CCLCSWRPWPDTLOC
RRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOC
RRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
SDDL: D:(A;;CCLCSWRPLOCRRC;;;WD)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLO
CRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPW
PDTLOCRSDRCWDWO;;;WD)
Ace count: 5
**** ACE 1 of 5 ****
ACE Type: ACCESS_ALLOWED_ACE_TYPE
Trustee: Everyone
AccessMask:
  ADS_RIGHT_READ_CONTROL
  ADS_RIGHT_DS_CREATE_CHILD
  ADS_RIGHT_ACTRL_DS_LIST
  ADS_RIGHT_DS_SELF
  ADS_RIGHT_DS_READ_PROP
  ADS_RIGHT_DS_LIST_OBJECT
  ADS_RIGHT_DS_CONTROL_ACCESS
Inheritance flags: 0
**** ACE 2 of 5 ****
ACE Type: ACCESS_ALLOWED_ACE_TYPE
Trustee: NT AUTHORITY\SYSTEM
AccessMask:
  ADS_RIGHT_READ_CONTROL
  ADS_RIGHT_DS_CREATE_CHILD
  ADS_RIGHT_ACTRL_DS_LIST
  ADS_RIGHT_DS_SELF
  ADS_RIGHT_DS_READ_PROP
  ADS_RIGHT_DS_WRITE_PROP
  ADS_RIGHT_DS_DELETE_TREE
  ADS_RIGHT_DS_LIST_OBJECT
  ADS_RIGHT_DS_CONTROL_ACCESS
Inheritance flags: 0
**** ACE 3 of 5 ****
ACE Type: ACCESS_ALLOWED_ACE_TYPE
Trustee: BUILTIN\Administratoren
AccessMask:
  ADS_RIGHT_DELETE
  ADS_RIGHT_READ_CONTROL
  ADS_RIGHT_WRITE_DAC
  ADS_RIGHT_WRITE_OWNER
  ADS_RIGHT_DS_CREATE_CHILD
  ADS_RIGHT_DS_DELETE_CHILD
  ADS_RIGHT_ACTRL_DS_LIST
  ADS_RIGHT_DS_SELF
  ADS_RIGHT_DS_READ_PROP
  ADS_RIGHT_DS_WRITE_PROP
  ADS_RIGHT_DS_DELETE_TREE
  ADS_RIGHT_DS_LIST_OBJECT
  ADS_RIGHT_DS_CONTROL_ACCESS
Inheritance flags: 0
**** ACE 4 of 5 ****
ACE Type: ACCESS_ALLOWED_ACE_TYPE
Trustee: NT AUTHORITY\INTERACTIVE
AccessMask:
  ADS_RIGHT_READ_CONTROL
  ADS_RIGHT_DS_CREATE_CHILD
  ADS_RIGHT_ACTRL_DS_LIST
  ADS_RIGHT_DS_SELF
  ADS_RIGHT_DS_LIST_OBJECT
  ADS_RIGHT_DS_CONTROL_ACCESS
Inheritance flags: 0
**** ACE 5 of 5 ****
ACE Type: ACCESS_ALLOWED_ACE_TYPE
Trustee: NT AUTHORITY\SERVICE
AccessMask:
  ADS_RIGHT_READ_CONTROL
  ADS_RIGHT_DS_CREATE_CHILD
  ADS_RIGHT_ACTRL_DS_LIST
  ADS_RIGHT_DS_SELF
  ADS_RIGHT_DS_LIST_OBJECT
  ADS_RIGHT_DS_CONTROL_ACCESS
Inheritance flags: 0
Ist das die richtige Stelle zum Suchen? Fehlt ein Recht?

[Edit Biber] Als Code formatiert, weil sonst so viele Smileys etwas die Ernsthaftigkeit untergraben. [/Edit]

Content-Key: 175476

Url: https://administrator.de/contentid/175476

Printed on: April 19, 2024 at 02:04 o'clock

Member: Connor1980
Connor1980 Oct 28, 2011 at 15:33:18 (UTC)
Goto Top
Hi,

vllt. verstehe ich die Frage an meinem Urlaubstag auch falsch, aber wenn ich bei mir den Process Explorer als Administrator ausführe (Win 7 Ult. x64) und mir die ekrn.exe anschaue, also den Dienst für ESET NOD32, dann wird mir dort jede Menge an dlls aufgezählt. Mach ich das gleiche ohne "als Administrator ausführen", bekomme ich keine Dateien aufgelistet und unter Properties von ekrn.exe steht im Reiter Security für User <access denied> (als Admin: NT-AUTORITÄT\SYSTEM). Soweit scheint das bei mir korrekt zu sein.

Vielleicht kann noch jemand dieses Verhalten bestätigen?

Grüße
Member: DerWoWusste
DerWoWusste Oct 28, 2011 at 15:39:30 (UTC)
Goto Top
Hi und Danke für's Nachstellen.
Ich schrieb ja, dass ich es als Admin und elevated ausführe (ebenso als Systemkonto) - daran liegt es nicht.
Member: mrtux
mrtux Oct 28, 2011 at 15:44:20 (UTC)
Goto Top
Hi !

Also manche Antivirentools installieren heute (zusätzlich zum Wächterprozess als Dienst) auch einen Kernelmode Treiber, der einen Hook setzt und alle Anfragen und (auch Speicher-) Zugriffe auf sich umbiegt (vergleichbar wie das z.B. ein Rootkit macht) daher kann es aber muss es nicht unbedingt nur an den Rechten liegen. Auch einige Kopierschutztools arbeiten so.

Sowas kannst Du dann in Echtzeit nur noch mit "Forensik-Tools" monitoren, die dann ebenfalls so oder ähnlich arbeiten oder Tools die ein Speicherabbild über die Netzwerkkarte an einen anderen Rechner zur Auswertung schicken können. In einer älteren ct wurde solche Tools schon vorgestellt, mit denen Du sehen kannst ob irgendwelche Adressen umgebogen werden oder nicht...

Und leider wiedermal nur eine allgemeine gehaltene Antwort, da wir Kaspersky schon seit einigen Jahren nicht mehr einsetzen.

mrtux
Member: DerWoWusste
DerWoWusste Oct 28, 2011 at 16:02:21 (UTC)
Goto Top
Gut. Das könnte die Erklärung sein. Ich werd einen Workaround nutzen und schlicht das Auditing auf die betroffene dll einschalten um zu sehen, ob sie noch geladen wird.

Danke