Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert.

Shellcode geht nicht?!

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 ...

Antwort
Alt 08.06.11, 21:29   #1 (permalink)
 
Registriert seit: 08.06.11
Zer0c00l Leistung: Facit NTK
Likes: 0
Standard Shellcode geht nicht?!

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)
Zer0c00l ist offline   Mit Zitat antworten
Alt 09.06.11, 09:26   #2 (permalink)
 
Benutzerbild von ChiefWiggum
 
Registriert seit: 09.10.07
ChiefWiggum Leistung: 8086
ChiefWiggum eine Nachricht über ICQ schicken
Likes: 11
Standard

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.
ChiefWiggum ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 09.06.11, 13:22   #3 (permalink)
 
Registriert seit: 05.10.05
Inliferty Leistung: 8086
Inliferty eine Nachricht über ICQ schicken
Likes: 5
Standard

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.
Inliferty ist offline   Mit Zitat antworten
Alt 09.06.11, 16:28   #4 (permalink)
Themenstarter
 
Registriert seit: 08.06.11
Zer0c00l Leistung: Facit NTK
Likes: 0
Standard

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.
Zer0c00l ist offline   Mit Zitat antworten
Alt 09.06.11, 16:51   #5 (permalink)
Member of Honour
 
Benutzerbild von xrayn
 
Registriert seit: 05.03.08
xrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteronxrayn Leistung: Opteron
Likes: 246
Standard

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.
xrayn ist offline   Mit Zitat antworten
Alt 09.06.11, 21:58   #6 (permalink)
Themenstarter
 
Registriert seit: 08.06.11
Zer0c00l Leistung: Facit NTK
Likes: 0
Standard

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;
}
so wenn ich da die return funktion überschreibe mit einer root-shell bekomme ich den fehler.

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
Zer0c00l ist offline   Mit Zitat antworten
Alt 15.06.11, 13:06   #7 (permalink)
Themenstarter
 
Registriert seit: 08.06.11
Zer0c00l Leistung: Facit NTK
Likes: 0
Standard

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.
Zer0c00l ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Hacks & Crackmes » Shellcode geht nicht?!
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61