| Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert. |
Diskussion: Shellcode geht nicht?! im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige So den Code habe ich mittlerweile zum laufen gebracht, nur wie macht man es das ich ihn in eine ...
![]() |
| | #1 (permalink) |
| Registriert seit: 08.06.11 ![]() Likes: 0 | Anzeige So den Code habe ich mittlerweile zum laufen gebracht, nur wie macht man es das ich ihn in eine executable stack einschleuse?hat jemand ein tipp oder ein link für mich Geändert von Zer0c00l (09.06.11 um 08:00 Uhr) |
| | |
| | #2 (permalink) |
| per Buffer-overflow da gibt es einige gute Artikel drüber im netz, aber achte auf DEP und ASLR
__________________ Be the source always with you. | |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Stichwort für Exploits: ROP - return oriented programming DEP kannst du damit umgehen. ASLR teilweise (wenn man Glück hat mit dem Modul in dem sich das Exploit befindet) Dieses Paper fand ich imho sehr gut zu diesem Thema: http://www.ece.cmu.edu/~dbrumley/cou.../docs/aslr.pdf MfG Inliferty [Edit] Argh, glaub ich hab die Frage falsch verstanden, trotzdem lass ich den Beitrag mal stehen. | |
| | |
| | #4 (permalink) |
| Themenstarter Registriert seit: 08.06.11 ![]() Likes: 0 | Gut endlich mal jemand mit dem man sich unterhalten kann darüber und der auch versteh worum es geht. Also ok das mit dem Overflow war mir ja schon klar. Ich dachte den ASLR kann ich schon mit der methode umgehen das ich die letzte return anweisung überschreibe. ASLR war doch nur zuständig für den wechselnden Speicher? Das problem was ich jetzt habe ist doch das NX-Bit oder?? Ja ich habe es mit der Holzhammermethode versucht nur er sagt wie gesagt immer wenn er auf mein script scpringt speicherzugriffsverletzung. |
| | |
| | #5 (permalink) |
| Member of Honour ![]() Registriert seit: 05.03.08 ![]() ![]() ![]() ![]() ![]() Likes: 246 | Die Speicherzugriffsverletzung deutet darauf hin, dass du in einem nicht ausführbaren Speicher Code auszuführen versuchst. Heute umgeht man DEP so, dass man in dem Zielprogramm ein Modul X sucht, welches kein ASLR benutzt. Anschließend manipuliert man den Stack (/Stackpointer) so, dass man Code von X ausführen kann (aka ROP) und so DEP für einen bestimmten Speicherbereich deaktiviert (dafür werden von Windows Funktionen bereitgestellt) und dort sein eigentliches Payload ausführt. Das ganze ist natürlich nur möglich, wenn DEP für diesen Prozess auf OptIn gesetzt ist, bei AlwaysOn muss man mit reinem ROP vorlieb nehmen. |
| | |
| | #6 (permalink) |
| Themenstarter Registriert seit: 08.06.11 ![]() Likes: 0 | Ok das ist ja schonmal verständlich für mich. Mir geht es jetzt in erster linie nicht darum fremden code zu unterwandern, sondern erstmal ein testcode von mir. Code: #include <stdio.h>
int main(int argc, char *argv[]) {
char buffer[50];
printf("buffer is at %p\n", &buffer);
if(argc > 1)
strcpy(buffer, argv[1]);
return 1;
} wie sieht den code aus der ohne ASLR geht, ich dachte das ist eine Kernel option. und gillt für den ganzen code? Nur so zur info ich bin in linux kernel 2.6.38 |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 08.06.11 ![]() Likes: 0 | Sodas mit dem ROT hab ich glaube ich schonmal mit der Hammermethode hinbekommen. zumindesten kommt bei jeden 10 versuch mal nicht speicherzugriffsverletzung sondern gleich der prompt. Nur ich glaube ich setzte die Rücksprungadresse falsch. vorallem was mich wundert normalerweise sollt es doch einbezug von buffer(für overflow) und der return adress geben. aber das variert um arsch viel mal negativ mal positiv, da findeich keine beziehnung zuanander?? laut den tutorialssollte es doch immer den selben wert schwanken. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |