das ende des buffer overflow? |
||
---|---|---|
#0
| ||
23.08.2006, 20:03
Member
Beiträge: 5291 |
||
|
||
23.08.2006, 20:07
...neu hier
Themenstarter Beiträge: 9 |
#17
exploits hab ich glaub ich nicht gepostet, aber zumindest das programm das da ist, dass angeblich jmp esp finden soll macht bei mir auch nur segmention fault. komische sache
|
|
|
||
23.08.2006, 20:12
Member
Beiträge: 5291 |
#18
Hab mal nen ptrace gemacht hilft das?
http://www.ninth-art.de/files/got_jmpesp-trace.log __________ E-Mail: therion at ninth-art dot de IRC: megatherion @ Freenode |
|
|
||
23.08.2006, 20:13
...neu hier
Themenstarter Beiträge: 9 |
#19
also, hab das programm in suse probiert da funktioniert es, sagt mir JMP %ESP und dann die adresse, aber sonst funktioniert es nicht. wenn jeder suse hätte dann könnte man damit was anfangen
|
|
|
||
23.08.2006, 20:14
Member
Beiträge: 5291 |
#20
Zitat b_m_l posteteEntweder das oder SuSE ist schon wieder veraltet und das wurde scho gefixt bzw. abgeändert irgendwie. __________ E-Mail: therion at ninth-art dot de IRC: megatherion @ Freenode |
|
|
||
24.08.2006, 14:30
Member
Beiträge: 44 |
#21
So Leute,
also ich hab die Files jetzt auch mal durchgearbeitet und sämtliche Beispiele nachvollzeihen können. linux-gate.so.1 ist ja eine Library, die vom Kernel (2.6'er) her kommt. Sie nutzt die von Intel entwickelten sysenter und sysexit befehle, da systemcalls via interrupts langsam sind (und bei schnelleren Maschienen immer stärker ins gewicht fallen). Da das ganze unter Linux für jeden Prozess zur verfügung stehen soll haben die Kernelentwickler 'n wenig getrickst und dieses sharedobject an eine feste stelle im Speicher verfrachtet. (Quasi die vorletzte Seite im Speicher, bei mir an 0xffffe000, bei dir b_m_l nach deinem posting auch an der stelle, und beim Xepher an: 0xffffffffff600000 (64Bit Checker was? ) ) So, damit haben wir code im Speicher, dessen adresse sich nicht ändert. Izik geht jetzt hin und baut sich 'n kleines C-tool, das nach bestimmten instruktionen in dem code sucht und als besonder sinnvoll findet er JMP %ESP. Das ist tatsächlich genail, weil ja hier der Stack angesprungen wird und wenn da der Shellcode liegt, bäng Ziel erreicht. Zitat anstatt ner statischen ret-add würd ich nen JMP ESP befehl nehmenNich ganz, du nimmst als Rücksprungaddresse die Adresse, an der sich ein JMP %ESP befindet. Noch Fragen? grüße, frosch03 |
|
|
||
24.08.2006, 15:05
Member
Beiträge: 5291 |
#22
Zitat So, damit haben wir code im Speicher, dessen adresse sich nicht ändert. Izik geht jetzt hin und bautJo aber wie oben scho gesagt funktionieren die Tools ja nicht oder? __________ E-Mail: therion at ninth-art dot de IRC: megatherion @ Freenode |
|
|
||
24.08.2006, 18:38
Member
Beiträge: 44 |
#23
Also bei mir funzen die einwandfrei...
Ihr müsst halt die Adresse anpassen von der an gesucht wird. Weil wenn du mit der 0xffffe000 arbeitest, dann wirste irgendwo im Speicher landen, der natürlich nicht dem Prozess gehört, was dann wieder zu nem segfault führen dürfte... |
|
|
||
25.08.2006, 01:28
...neu hier
Themenstarter Beiträge: 9 |
#24
bei mir nur unter ner etwas älteren suse version, sonst funktioniert da nix, sonst wärs ja so einfach wie es in den tutorials beschrieben ist und ich hätte das problem nicht
|
|
|
||
25.08.2006, 01:35
Member
Beiträge: 44 |
#25
Echt verwirrend, ich hab jetzt auf zwei Debian-Rechnern keine Probleme gehabt...
Aber die Idee ist mal echt faszinierend ;-) |
|
|
||
In jedem Fall gibt es sie nicht im file system selbst - so wie ich das jetzt kapiert hab.
Übrigens die ganzen exploits die du oben gelistet hast produzieren bei mir alle segmentation fault.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode