Autor |
Beitrag |
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 21.04.10 12:29
SAiBOT hat folgendes geschrieben : | die PID lässt sich leider nur auflösen wenn man mittels OpenProcess an das Processhandle kommt. |
Und warum machst du das nicht? Die PID von dem versteckten Prozess hast du doch.
|
|
baka0815
      
Beiträge: 489
Erhaltene Danke: 14
Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
|
Verfasst: Mi 21.04.10 12:47
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 21.04.10 13:14
Dann verstehe ich das Problem nicht.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mi 21.04.10 21:42
Hi
Jetzt habe ich fünf versteckte Prozesse. Ich werde das demnächst mal im Auge behalten, kannst du mir mir eventuell eine Version schicken, die an beiden Orten nach der Funktion sucht?
Edit: Ich habe die Quelle ausgemacht, es handelt sich um.. AntiVir!
Seit zwei Tagen habe ich das Problem, dass bei ca. 2000 Bytes und 10 Sekunden das Update der Virendefinitionen abbricht. Und jedes Mal, wenn ein Update fehlschlägt, habe ich einen versteckten Prozess mehr.
Wird der Updater-Prozess eventuell nicht richtig beendet, oder verbleiben irgendwelche Referenzen darauf? Die Prozesse werden im ID Bruteforce gelistet.
Mich würde interessieren, ob dies genauso ist, wenn ein Update erfolgreich verläuft - was ich leider gerade nicht testen kann.
E2: Mal mit dem Taskmanager geguckt.. Der Prozess heißt update.exe, und es wird nach Fehlschlag zunächst ein zweiter update.exe ausgeführt, bevor der Erste aus der Liste verschwindet, und von deinem Programm gefunden wird(selbe PID).
Ich bin mir der Implikationen noch nicht ganz im klaren: Was bedeutet es nun, wenn die PID beim ID-Bruteforce gelistet ist? Nach 8 Tests habe ich jetzt also 8 verschiedene PIDs gelistet.
lg,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Do 22.04.10 09:03
Luckie hat folgendes geschrieben : | Dann verstehe ich das Problem nicht. |
Wenn man trotz Debugprivileges nicht die nötigen Rechte hat, um mit OpenProcess an das handle eines Prozesses zu kommen(welches wir brauchen um näheres über den Prozess zu erfahren), dann verhindern das Kernelhooks.
Hidden hat folgendes geschrieben : | kannst du mir mir eventuell eine Version schicken, die an beiden Orten nach der Funktion sucht? |
Habe die neue Version schon hochgeladen.
Luckie hat folgendes geschrieben : |
Was bedeutet es nun, wenn die PID beim ID-Bruteforce gelistet ist? Nach 8 Tests habe ich jetzt also 8 verschiedene PIDs gelistet. |
Die Funktion geht alle möglichen PID's durch und versucht diese per OpenProcess zu "öffnen". Kriegt die Funktion ein handle oder ein "acces denied", handelt es sich um einen aktiven Prozess. Am Ende wird noch überprüft ob sich die gefundene PID auch in der Liste befindet die Process32First/Process32Next liefert, ist dem nicht so markiert HPD diesen Prozess als "versteckt". (die gleiche Methode benutzt zB. F-Secure BlackLight)
Mich würde ein Screenshot davon interessieren.
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 22.04.10 09:17
Hi
Also mit Rev.3 der 1.0-er Version bekomme ich auch jetzt noch keine genaueren Angaben. Aus dem Screenshot kannst du also nicht mehr als die PIDs sehen. Oder ein Screenshot von AntiVir?
Vielleicht schützt sich AntiVir auch mit einem Kernel-Hook
Edit:
Anhang: - updater.exe ID 2204
- Fehlschlag-> kurzzeitig 2 Prozesse gelistet: 2204, 2764
- 2204 als versteckter Prozess.
Einloggen, um Attachments anzusehen!
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Do 22.04.10 10:33
Avira hookt tatsächlich ZwOpenprocess und schützt die eigenen Prozesse ( www.delphi-forum.de/....php?p=491116#491116 ), deswegen zeigt er bei dir keinen Exenamen an  . Ich versuche mal einen kleinen Trick um derartige Schutzmechanismen zu umgehen. Versuch mal Rev. 4. Wie gesagt wäre es jetzt etwas bösartiges, hätte man den Kernelhook entfernen können und HPD erneut starten können um so mehr zu erfahren.
Hätte gern mal nen Screenshot vom HPD sollte er jetzt bei dir die Exenamen anzeigen.
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 22.04.10 10:40
nope, nur IPs.
Edit: Ich habe gerade mal von hier ein manuelles Update heruntergeladen. Auch hier verbleibt ein Zombie-Prozess.  Von einem fehlgeschlagenen Update steht zwar diesmal nichts, aber AntiVir installiert anstandslos das selbe Update 4x..
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Do 22.04.10 11:10
Ich sehe gerade in dem Link den ich zuletzt gepostet habe, geht es auch um "Zombie-Prozesse" die von Avira verursacht werden. Avira scheint dafür bekannt zu sein 
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 22.04.10 12:50
Hi
Höchst interessant: Beim Ausführen mit Adminrechten werden auf einmal keine Prozesse mehr gefunden
lg,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am Do 22.04.10 16:04, insgesamt 1-mal bearbeitet
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Do 22.04.10 15:52
Mit Adminrechten solltest du HPD schon starten, nur so kann es korrekt funktionieren  . Keine Ahnung wie es sich verhält wenn dem nicht so ist  . Auf deine neuen Ergebnisse ist auf jeden Fall mehr verlass. Habe auch Avira und bei mir findet er auch keine Zombie-Prozesse, vielleicht ist dieses Problem seitens Avira gefixt. Ich hätte mal eine IsAdmin Funktion einbauen sollen  . Danke Hidden ich werde im ersten Post zuschreiben das es Adminrechte benötigt.
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 22.04.10 16:06
Naja - eigentlich probiere ich zunächst einmal aus, ob ein Programm ohne richtig läuft. Und, da keine Fehlermeldung kam..
Der AntiVir-Prozess bleibt ja aber wohl trotzdem irgendwo bestehen/referenziert, sonst würde ich ohne Adminrechte ja nicht immer exakt die ID finden.
Meine Vermutung geht sogar so weit, dass eventuell die Prozesse anderer Nutzer deinem Programm trotz Admin nicht zugänglich sind, da unter Win7 ja auch Admins weiter eingeschränkt wurden.
lg,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Do 22.04.10 18:11
Ausgestattet mit den Debugprivileges, hat man Zugriff auf jeden Prozess, bis auf den "System" Prozess (PID: 4), selbst unter Vista/7. Vergleiche mal die PID's, die er bei dir findet, mit Prozessen die normal angezeigt werden. Um dir PID's der laufenden Prozesse anzusehen kannst du zB. den ProcessExplorer (Sysinternals) benutzen, bin mir ziemlich sicher das dies Falschmeldungen sind die dadurch entstanden sind das HPD keine Adminrechte hatte.
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 22.04.10 18:38
Auch im Taskmanager mit Adminrechten tauchen die Prozesse aber nicht auf  *zweifel*
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Do 22.04.10 18:51
Woher weißt du denn um was für Prozesse es sich handelt? Du musst die PID's vergleichen, der Taskmanager kann diese AFAIK nicht anzeigen. Der ProcessExplorer schon (siehe Screenshot).
Einloggen, um Attachments anzusehen!
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 22.04.10 19:09
Dann schau' dir mal meine Screenshots von oben an  (Ich verwende übrigens normalerweise auch den ProcessExplorer  ). Wie so ziemlich alles, was man heute kriegt, ist der zunächst unbrauchbar eingestellt. Das geht unter Ansicht/Spalten auswählen.
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Do 22.04.10 22:22
Ja ich seh... mhhh das ist wirklich merkwürdig, dass muss ich erstmal in Ruhe durchgehen.
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
AHT
      
Beiträge: 207
|
Verfasst: Fr 23.04.10 16:56
Kann das mit AntiVir bestätigen. Da scheint AntiVir ein Handle auf guardgui.exe nicht zu schließen (getestet unter Vista).
Hier die neue URL zu meinem Tool.
Das Problem scheint im Kernel zu entstehen, sonst würde das Tool eigentlich an den Handleeigentümer kommen.
Ich habe mich vor einigen Jährchen mal mit ähnlichen Techniken beschäftigt. Die PID Bruteforcing Methode weist da einige Schwachstellen auf - bin damals damit über ähnliche Probleme gestolpert. Es gibt da im Usermode einige ganz nette Möglichkeiten, solche Scans schon recht effektiv durchzuführen - an die prozesserzeugende Datei kommt man dabei natürlich nicht immer.
Bei dem CSRSS HandleTable Test (ich nehme an, du nimmst die gleiche Technik wie ich) ist folgendes zu beachten
www.paules-pc-forum....e-bei-csrss-exe.html
- ich denke, das tust du aber wohl schon.
Danke für den Link hier - sehr interessant!
________________________________________________
MfG
AHT
|
|
AHT
      
Beiträge: 207
|
Verfasst: Fr 23.04.10 17:07
Ergänzung:
Process32First... wird in der Regel nicht gehookt, sondern NtQuerySystemInformation.
Deine Technik mit NtQuerySystemInformation kannst du bestimmt noch verbessern (ungetestet).
Es gibt da noch mehr Möglichkeiten, nicht nur eine...
_____________________________________
MfG
AHT
|
|
AHT
      
Beiträge: 207
|
Verfasst: Fr 23.04.10 18:05
Nochmal ich...
Was man verbessern kann:
Auf dem Screenshot unten siehst du dein Tool und mein Tool - beide arbeiten im Usermode. Hier wurde ein Prozess mittel der DLL HideProcessNT.dll (kommt, glaube ich, auch hier aus dem Delphibereich) versteckt.
Dein Tool erkennt den Prozess (noch) nicht, meins ja.
Schaue dir unter anderem die native API (Nt/-)ZwQuerySystemInformation mal etwas genauer an - vor allen Dingen die InformationClasses, die M$ nicht dokumentiert.
[url= www.postimage.org/image.php?v=aVCkxa0] [/url]
PS: Weiter so, tolle Sache! Wenn du Anregungen für weitere solche Sachen brauchst, stehe ich zur Verfügung.
|
|