Français
Forum

Aider! WM_TIMER est un Scheunentor!!!

 
- page 1 -


allô Profaner..

Hat la fois quelqu'un Lust trop testen, si [...]  sous XP generell gefixt ist?

- Einen Service trop programieren ist pour pas absolument nötig, normales Programme avec RUN AS (aussi avec PrivAktivate possible) comme Admin starten et cela Angreiferprogramm dans einem Account avec eingeschränkten Rechten effectuer.
- dans cela Hauptprogramm une Minuteur insérer (doit naturellement un la fenêtre avons).
- Im Angreiferprogramm une Procédure écrivons, qui une Messagebox ausgibt, qui Proc mais pas effectuer laisser.
- avec ProcAddr qui Adresse qui Procédure ermitteln.
- avec Poster un message (ou bien peut-être SendMessage) WM_TIMER avec qui Adresse qui Procédure vom Angreiferprogramm à cela Hauptprogramm senden.

Klapp cela???

 
20.05.2005  
 



 
- page 2 -


pourquoi cela pas ging, c'est moi glaube je maintenant bien sûr:
[quote-part:16fcb7769f=Frank Abbing]allô,

qui Adresse peux eigentlich aucun virtuelle Adresse son, weil vous direct angesprungen volonté peux. je peux qui Prozedure aussi direct dans meinen Code setzten et starten.
[/quote-part:16fcb7769f]
Im eigenen Prozess ne...aucune Problem - mais im fremden? qui Code, den on effectuer veux, est sich oui im eigenen Prozessbereich et chacun Prozess verfügt sur seinen eigenen virtuellen Speicherbereich...

[quote-part:16fcb7769f=Frank Abbing]
je vermute plutôt, dass Windows testet, si qui grenier, qui fonctionnement volonté soll, zum Programme est. alors de Programme belegt wurde.
[/quote-part:16fcb7769f]
je veux espérer, qui wir pas aneinander vorbeireden:
un Prozessor oui zur Zeit aussi seulement toujours une Prozess effectuer peux, pourrait je mir sogar présenter, qui qui sich qui auszuführende Code physikalisch trop qui Zeit, à qui il eigentlich dem Prozessor comme Programmcode zum Effectuer zur Disposition stehen sollte, dans RAM-Gefilden est, dans dener il comme auszuführender Code gar rien utilise.
il faut alors den auszuführenden Code seulement einmal dans den Speicherbereich des anzugreifenden Prozesses apporter.
et maintenant venez qui Debugger ins Spiel - gemeint sommes ici APIs zum Debuggen de Programmen qui une DLL dans den Speicherbereich eines fremden Prozesses injecter peut, pas un Programme.
Zum injecter einer DLL gibt es plusieurs Opportunités - qui Autor scheint ici une Possibilité trouvé trop avons, qui seulement unzureichend sur Privilegien et Zugriffsrechte abgesichert ist. je suis mir im Augenblick mais assez sûrement, cela zumindestens qui anzugreifende Prozess sur bestimmte Sicherheitsmängel disposer doit, qui cela injecter zulassen.

[quote-part:16fcb7769f=Frank Abbing]
il y a wohl une Vielzahl à Opportunités, anderen Task une Adresse mitzuteilen.
[/quote-part:16fcb7769f]
oui, sous anderem Subclassing.
 
28.08.2005  
 



So - je crois, mir ist bien sûr geworden, comment il gemacht hat. Werde cela im prochain l'an la fois testen...
 
30.12.2005  
 



cela eigentliche Problem ist, qui chacun Prozess seinen eigenen virtuellen Speicherbereich hat. veux je alors, cela un fremder Prozess meinen Voir le texte source ausführt, doit cette Voir le texte source sich im grenier des Prozesses befinden, qui ihn effectuer soll. mais comment bekomme je Voir le texte source dans une fremden Prozess? c'est eigentlich cela kleinere Problem:
chaque Contrôle, chez dem je irgendwie Ihnhalte mittels einer Message senden peux, bietet eigentlich cet Possibilité - am einfachsten allez cela avec einem Multiedit (cela naturellement auparavant déjà im Prozess vorhanden son doit).
Mittels WM_SETTEXT läßt sich moins un Multiedit oui Text senden, qui ensuite im Éditer sichtbar et editierbar ist - mais pourquoi seulement Text, pourquoi aucun DLL avec Voir le texte source? Sende je une DLL (naturellement pas de qui Festplatte, mais aus dem grenier meines Prozesses heraus) à cela Multiedit des fremden Prozesses, est sich qui DLL ensuite im Speicherbereich des femden Prozesses et peux eh bien aussi mittels WM_TIMER angesprochen volonté (jusqu'alors seulement Trockenschwimmen, là je ne...aucune MASM peux, devrait mais marcher).
Mittels EM_GETHANDLE läßt sich ensuite cela Handle des Textes (qui DLL) im Éditer ermitteln - et eh bien venez cela eigentliche Problem, il me faut pas cela Handle, mais qui Adresse.
Mittels folgendem Voir le texte source voulons wir uns maintenant la fois quelque chose näher à Adresse kümmern - sous 2000/XP naturellement:
KompilierenMarqueSéparation
Windowstyle 31
Windowtitle "Multiedit"
Window 0,0-640,440
Def @GlobalSize(1) !"KERNEL32","GlobalSize"
Def @GlobalLock(1) !"KERNEL32","GlobalLock"
DEF @CopyMemory(3) !"kernel32","RtlMoveMemory"
Def @GlobalReAlloc(3) !"KERNEL32","GlobalReAlloc"
Def @SetParent(2) !"USER32","SetParent"
Declare edit&,Text$,ADDR&,Handle&,Text#
Dim Text#,256
LET EDIT&=@Createmultiedit(%HWND,"Test     ",20,130,200,200)
LET Text$="ABCD"
LET Handle&=@sendmessage(edit&,$BD,0,0)
Print "Handle des Edits: "+@str$(Edit&)
Settext Edit&,@STR$(Handle&)
Let Addr&=@val(@Input$("Adresse des Edits:","Addresse",""))
Let Addr&=@GlobalLock(Handle&)
@CopyMemory(Addr&,@ADDR(Text$),32)
@CopyMemory(text#,Addr&,32)
Print "Adresse: "+@str$(Addr&)
Print "Breichshandle: "+@str$(Handle&)
Print "Kopierter Text: "+@String$(Text#,0)
PrINT "Bereichgröße: "+@str$(@GlobalSize(Handle&))+" Bytes"
Dispose text#

While 0=0

    Waitinput

Wend


là Profan quelque chose verschwenderisch avec Heaps umgeht, sollte on den Voir le texte source avec Profan2Cpp compilieren.
Beim mir sieht cela ganze ensuite dans etwa so aus:

BILD 1

Im Éditer steht ici cela Handle des Textes.
eh bien starten wir [...] , choisir den Testprozess avec dem Multiedit aus et laisser uns dessen Heaps listen.

BILD 2

eh bien 1faire wir la fois so comme wäre cela Handle des Textes (chez mir 44630028) une Adresse et laisser uns cela Doubleword à cet Adresse de [...]  einmal auslesen.

BILD 3

BILD 4

Heraus venez chez mir: X1=38184920
maintenant 1faire wir wiederum so, comme wäre 38184920 et regarder sous den Heaps pour, si wir irgendwo cet Adresse trouver et laisser uns den le contenu des Heapblocks comme String représenter:

BILD 5

comment on voit, avons wir qui Adresse des Textes im Éditer trouvé! cet Adresse peux comme Offset pour qui Funktion pris volonté, qui wir mittels WM_TIMER später im fremden Prozess ansprechen voulons. en supplément doit qui Adresse qui auszuführenden Funktion ab dem Nullpunkt qui DLL addiert volonté - cela zeigt [...] (Hoffentlich) pas mal à => fertig ist qui Adresse pour WM_TIMER!

comme Administrator alles ne...aucune Problem - mais zum Lecture de Prozesspeicher besoin je PROCESS_VM_READ et PROCESS_VM_OPERATION - et comme User avec eingeschränkten Rechten habe je cet Rechte définitif pas!
...mais sous welchen Voraussetzungen ändert sich qui Adresse überhaupt??? la fois schaun:
je starte den Prozess erneut => gleiche Adresse! qui Adresse scheint alors qui prochain freiliegende Adresse trop son et wird pas zufällig gewählt.
je gebe plus que 32 marque dans cela Éditer un => neue Adresse - ist oui bien sûr, si plus zusammenhängender grenier gebraucht wird et cette à cette Stelle pas zur Disposition steht, doit sich aussi qui Adresse changement.
mais aussi alles quoi auparavant dans den Heap geschrieben wird (et sich ändert) peux cet Adresse beeinflussen. dans unserem le cas liegt qui Adresse im ersten Heap, dem Standardheap des Prozesses. regarder wir la fois pour, quoi sonst encore alles avant cette Adresse steht. ici la fois un paire Auszüge:

G : W I N N T S y s t e m 3 2 W I N M M . D L L => nom de vom Prozess geladener DLL
F:EIGENESTasks and TokenMultiedit_cppMultiedit.exe => Gestarteter Prozess avec Parametern
E G I S T R Y U S E R S - 1 - 5 - 2 1 - 8 6 1 5 6 7 5 0 1 - 1 0 6 0 2 8 4 2 9 8 - 1 9 5 7 9 9 4 4 8 8 - 1 0 0 0 => User String-SID

aussi Umgebungsvariablen eines Prozesses habe je déjà dans Heaps trouvé.
comment on ici bereits erkennt, ist qui Adresse alors Systemabhängig, avec cela ist es alors pas possible, une vernünftige Anwendung trop écrivons, qui aus einem normalen Useraccount jeden calculateur sans weiteres knackt sans ihn auparavant zig(mille)male zum Absturz trop apporter. cela pourrait qui Grund son, pourquoi Microsoft sur den Artikel, qui Ausgangspunkt cette Postings était, pas grandiose reagiert hat - qui Grundaussage cet Artikels était mais une autre, nämlich qui es insgesammt un Sicherheitsrisiko ist, Messages ungefragt à autre Programme senden trop dürfen; et dem stimme je maintenant la fois entier heftig trop...

et qui sich maintenant fragt, pourquoi je ici so viel blödsinn hingeschrieben habe:
j'ai ici plan la fois nebenbei une Possibilité zur DLL-injection aufgezeigt, qui naturellement aussi avec anderen Controls comme einem Multiedit funktioniert .

69 kB
Kurzbeschreibung: BILD 5
Hochgeladen:21.05.2006
Downloadcounter79
Download
71 kB
Kurzbeschreibung: BILD 4
Hochgeladen:21.05.2006
Downloadcounter73
Download
46 kB
Kurzbeschreibung: BILD 3
Hochgeladen:21.05.2006
Downloadcounter67
Download
66 kB
Kurzbeschreibung: BILD 2
Hochgeladen:21.05.2006
Downloadcounter59
Download
23 kB
Kurzbeschreibung: BILD 1
Hochgeladen:21.05.2006
Downloadcounter70
Download
 
21.05.2006  
 



je dois cela, quoi je ici im letzten Posting de mir gegeben habe, wohl quelque chose revidieren.
Folgende Überlegung:
qui Text des Edits landet toujours im ersten Heap. qui Startadresse des ersten Heaps (aussi ici quasi cela Handle), pourrait sur dem gleichen Betriebsystem (et cela aussi sur unterschiedlichen Rechnern) toujours à qui gleichen Stelle liegen.
j'ai chez mir sous Windows2000 la fois avec WM_TIMER quelque chose herumexperimentiert...
Zeigt paramètre quatre sur une pas auslesbaren Bereich, entsteht bien sûr une Zugriffsverletzung. Zeigt paramètre quatre mais sur auslesbare Bereiche qui keinen ausführbaren Voir le texte source enthalten, passiert scheinbar ne...aucune schwerwiegender faute.
Theorethisch devrait es alors possible son, qui Startadresse (cela Handle) des ersten Heaps comme Ausgangspunkt trop prendre et so longtemps beim Senden qui Message un Byte dazuzurechnen, jusqu'à WM_TIMER den Voir le texte source ausführt.. qui Startadresse des Heaps pourrait on de einem anderen calculateur beziehen, sur dem qui gleiche Anwendung fonctionne. Selbst avec XProfan pourrait le reste dans annehmbarer Geschwindigkeit trop régulariser son.
je suis zur Zeit à anderen Sachen tour et konnte ca malheureusement encore pas plus testen, là je ici mais genug lauffähigen Voir le texte source habe, werde je qui Chatter Attack dans prochaine Zeit la fois nachbauen. Es wird rien grandiose spektakuläres volonté et qui DLL qui fonctionnement wird, wird qui Test-DLL avec qui Messagebox son, qui mir Frank autrefois freundlicherweise programmiert hat - je möchjte quand même mais la fois informer, si je so un Programme ici überhaupt posten darf?
 
21.06.2006  
 




Frank
Abbing
Na, qui Frage allez wohl plutôt à iF.
Mich jedenfalls serait dein Test intéresser.
 
21.06.2006  
 



Bien sûr!
 
22.06.2006  
 



Mmmh - pour einiger Euphorie verliere je im Augenblick la fois wieder cela Vertrauen dans den Warheitsgehalt qui Aussagen des Artikels. qui kleinste Hürde (- qui je im Augenblick encore pas überwunden habe - ), wäre cela insérer de Nullbytes dans un Éditer sans cela droite PROCESS_VM_WRITE trop haben; là steht mais encore wesentlich plus im Wege...

Einmal à Frank: comment grand sommes qui Chancen, qui on avec cette Methode wirklich une aktuellen calculateur knacken peux? exposition dir en supplément fois le Prozesse avec TNT à, qui sur deinem calculateur im System-Account courir - car à ca va ici. vois du irgendwo une solchen Service, qui un Éditer ou bien un Multiedit besitzt???
si du dir mon anderen Artikel einmal aufmerksam durchliest et selbst avec TNT quelque chose herumexperimentierst, wirst du wohl très vite feststellen, qui alle anderen la fenêtre pour solche Aktionen pas trop gebrauchen sommes (suis alors ne...aucune Böser Bube ). quoi mich à diesem Artikel intéressé, ist qui Possibilité qui DLL-injection comme Administrator dans une Prozess, qui ne...aucune Service ist - mais selbst là vois je im Augenblick Probleme,, pour qui es encore aucun Solution gibt...
 
04.07.2006  
 



[quote-part:91bd3aedf7=Frank Abbing]Na, qui Frage allez wohl plutôt à iF.
Mich jedenfalls serait dein Test intéresser.[/quote-part:91bd3aedf7]
Mmh... - Voir le texte source werde je vorerst trop DLL-Injektionen encore pas aus qui main donner. Zumindestens cela, quoi TNT pouvoir pourrait pour euch beide mais aussi sans Probleme sans Voir le texte source nachzuvollziehen son, directe Fragen à mon Mailadresse beantworte je également volontiers.

Salut

AH
 
04.07.2006  
 



Zum Abschluß comme manifestation quoi là wirklich so alles possible gewesen ist, nochmals quoi trop diesem Thema. là je qui kleine Anwendung, qui je diesbezüglich geschrieben habe, pas so volontiers sous qui gens apporter voudrais, alors dans forme einer Animation:

840 kB
Kurzbeschreibung: So hackt on Windows
Hochgeladen:08.10.2006
Downloadcounter88
Download
 
08.10.2006  
 



Drum ist oui zum Glück aussi un altes Windows ;)
 
08.10.2006  
 




Fakt ist, cela es sur Jahre hinweg (aussi sous XP) possible gewesen ist, pour une normalen Mitarbeiter jeden Firmenrechner auszuhebeln (et cela sous XP encore besser comme sous Windows2000).
Fakt ist aussi, cela sich am Grundprinzip de Windows rien geändert hat. si encore irgendwo im OS weitere undokumentierte Messages avec gleichem Potential invisible sommes, ist également pas sûrement. EM_SETWORDBREAKPROC et autre Messages wurden meines Wissens pour encore pas einmal gefixt.
Fakt ist aussi, cela sur vielen, (aussi kommerziell genutzten) Rechnern encore veraltete Servicepacks courir - siehe meinen Test im Internetcaffee.

Shatter ist alors une Geschichte, qui on très oui c'est ca im Auge behalten sollte - justement si es um neuere Betriebsysteme allez. Besonders brisant finde je qui Geschichte, cela es pas einmal nötig ist Voir le texte source dans fremde Anwendungen sur une Message einzuschleuse - qui Possibilité Voir le texte source anzuspringen reicht toujours aus!
 
08.10.2006  
 



 
- page 3 -


je hab là sogar encore quoi oublier qc .

en supplément venez encore, cela oui peut-être. pas seulement cela Starten fremder Source périlleux son peux - c'est z.B. aussi possible, sans irgendwelche Rechte sur Messages den grenier fremder Prozesse auszulesen.
 
08.10.2006  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

8.511 Views

Untitledvor 0 min.
Peter Max Müller19.10.2017
Donnie14.04.2013
Claus de Lieth08.02.2013
Daniel Mittermeier29.09.2012
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie