Perché windows 7 ultimate non può eseguire file exe? Affrontare l'errore della CPU NTVDM?

0

Ho creato un file .exe dannoso con l'uso di msfvenom nel mio ambiente locale. E ho creato un listener usando multi / handler in Metasploit

Lo mando a Windows 7, ma quando eseguo questo file dannoso di test.exe in Windows 7, mi viene mostrato un errore:

e:/test.exe
The NTVDM CPU has encountered an illegal instruction.
CS:0000 IP:0075 OP:f0 00 f0 37 05 Choose 'Close' to terminate the application.

con due opzioni "Chiudi" e "Ignora"

Quando lo ignoro, scompare semplicemente ma non ho ricevuto alcuna shell meterpreter nel mio listener.

Quale sarà il problema? Ho provato a utilizzare -e shikata_ga_nai pensando che potrebbe esserci qualche antivirus che lo blocca ma continua a mostrarmi lo stesso errore.

    
posta janu agrawal 05.12.2018 - 12:19
fonte

2 risposte

0

Una CPU può riconoscere solo determinate istruzioni, quindi un'istruzione per un tipo di CPU potrebbe non essere riconosciuta da un altro tipo. Quando ciò accade, viene sollevata una eccezione di istruzioni illegali . È l'equivalente del codice macchina di "comando sconosciuto". Significa che qualcosa nell'eseguibile non è un'istruzione adeguata per l'architettura su cui è in esecuzione, o perché lo hai compilato in modo errato o perché è stato danneggiato durante il transito. Questo potrebbe significare uno qualsiasi dei seguenti:

  • È stato commesso un errore e il programma è stato compilato per l'architettura sbagliata.

  • La corruzione si è verificata da qualche parte tra la creazione dell'eseguibile e l'esecuzione.

  • Stai provando ad eseguire il programma su una CPU non supportata.

Il mio suggerimento sarebbe di riavviare il sistema (per eliminare la cache del filesystem) e generare di nuovo il carico utile. Se ancora non riesce a eseguire, prova a utilizzare un codificatore diverso o non utilizzare affatto alcun codificatore. Se ancora non funziona e il problema è ripetibile, hai già tutte le informazioni necessarie nel messaggio di errore. Ti dice l'istruzione incriminata e dove nel codice si trova l'istruzione. Puoi disassemblare l'eseguibile e controllarlo da solo. Assicurati che l'istruzione sia legale per l'architettura su cui stai lavorando. Potresti aver bisogno di leggere un po 'sull'assemblaggio x86 per farlo.

    
risposta data 07.12.2018 - 08:42
fonte
0

NTVDM è un ambiente virtuale configurato per l'esecuzione di programmi a 16 bit. Questo è stato probabilmente compilato / creato in modo errato o rovinato durante il trasferimento.

    
risposta data 05.12.2018 - 18:45
fonte

Leggi altre domande sui tag