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

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Shellcode: Zugriffsverletzung

Diskussion: Shellcode: Zugriffsverletzung im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo, ich möchte mich etwas mit Shellcodes beschäftigen, allerdings erhalte ich immer eine Fehlermeldung wenn ich versuche, folgendes Auszuführen. ...

Antwort
Alt 01.12.06, 17:13   #1 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard Shellcode: Zugriffsverletzung

Anzeige

Hallo,
ich möchte mich etwas mit Shellcodes beschäftigen, allerdings erhalte ich immer eine Fehlermeldung wenn ich versuche, folgendes Auszuführen.


Also ich habe folgendes Assembler Programm:

Code:
segment code
start:
 	mov dl, 'A'
	mov ah, 02h
	int 21h
	jmp start;
Dies gibt in einer Endlosschleife ein A aus (verwende WinXP). Per nasm-Win32 habe ich das Programm kompiliert. Läuft soweit ohne Probleme.
Dann per disassembler, welcher mitgeliefert wurde, lese ich die Bytes aus:

Code:
[...]
B241              mov dl,0x41
B402              mov ah,0x2
CD21              int 0x21
EBF8              jmp short 0x40
So diese Subroutine würde ich jetzt gerne unter C verwenden und habe folgendes Prog erstellt:
Code:
#include <stdio.h>

//Mein Shellcode
char code[]= "\xB2\x41\xB4\x02\xCD\x21\xEB\xF8";

int main() {
    int (*shell)();
    *(int*)&shell = (int)code;
    shell();
}
Wenn ich das nun per Dev-C++ kompiliere, erhalte ich immer folgende Meldung:

Code:
Unbehandelte Ausnahme bei 0x00402004 in c_prog.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0xffffffff.

00402000  mov         dl,41h 
00402002  mov         ah,2 
00402004  int         21h          ;Hier der Fehler

Muss ich evt. irgendwelche Register im Assembler-Code auf 0, bzw. auf einen bestimmten Wert setzen, damit es funktioniert?
Elderan ist offline   Mit Zitat antworten
Alt 01.12.06, 20:28   #2 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Zitat:
Per nasm-Win32 habe ich das Programm kompiliert. Läuft soweit ohne Probleme.
aber wohl in der NTVDM (NT Virtual DOS Machine )
Denn "int 21" sieht mir stark nach DOSe aus.
Wenn Dein C-Programm aber als win32 Programm läuft und dann versucht INT 21 auszuführen (was es dabei genau unter Windows bewirkt - k.A,), kommt es zu Fehlern.

Da muss schon ein wenig getrickst werden - falls z.B das Zielprogramm solche Ausgaberoutinen enthält, könnten diese genutzt werden (Stichworte wären: Imports, Import Adress Table usw. je nach dem wie tief Du da einsteigen willst).

Was noch nützlich sein könnte: kleinere Shellcodes kann man auch in OllyDbg schreiben. Diese können direkt kopiert und eingefügt werden (Rechtklick, "binary->binary copy").
Falls es Bugs gibt (bzw das Programm, in welches Code injeziert wurde, nicht das macht, was man möchte) kann man seinen Shellcode mit EBFE (Endlosschleife) beginnen. Wenn das Programm mit der Ausführung des Shellcodes beginnt bleibt es hängen (eine Hyperthreading CPU könnte hier von Vorteil sein ) und kann in Ruhe mit einem Debugger attached werden wobei der Debugger dann auf dem EBFE stehn bleibt und man dann in Ruhe den ganzen Ablauf verfolgen kann.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Shellcode: Zugriffsverletzung
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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Download-zugriffsverletzung bei Vista Darkholylein Windows Vista 2 17.10.08 11:27
Zugriffsverletzung - Delphi jemo. Code Kitchen 0 15.10.08 17:59
C++ Builder 6: Zugriffsverletzung benediktibk Code Kitchen 0 11.01.08 21:22
C: ANSI fscanf() verursacht Zugriffsverletzung caspar Code Kitchen 4 22.10.05 17:39
Shellcode KDSBest Code Kitchen 3 24.12.03 13:25


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