ComodoHacker

Another proof of Hack from Comodo Hacker

Mar 27th, 2011
62,228
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Some stupids still doesn't believe I pwned the Comodo, here is another proof for tiny brains who can't believe:
  2.  
  3. Here is part of decompiled TrustDLL of Comodo partner:
  4.  
  5. ClassName: ASCR
  6. Language: C#
  7.  
  8. Code:
  9.  
  10. [code]
  11.  
  12. namespace TrustDll
  13.  
  14. {
  15.        
  16.         #region Namespace Import Declarations
  17.        
  18.             using System.Collections.Specialized;
  19.             using System.IO;
  20.             using System.Net;
  21.             using System.Runtime.InteropServices;
  22.             using System;
  23.             using System.Web;
  24.            
  25.         #endregion
  26.        
  27.     public class ASCR
  28.    
  29.     {
  30.        
  31.         #region Fields
  32.             private string login;
  33.             private int numberOfTries;
  34.             private string password;
  35.             private string url;
  36.             private string url_nos;
  37.         #endregion
  38.        
  39.         #region Constructors
  40.        
  41.             public ASCR ()
  42.            
  43.             {
  44.                 this.url = "https://secure.comodo.net/products/";
  45.                 this.url_nos = "https://secure.comodo.net/products/";
  46.                 this.login = "gtadmin";
  47.                 this.password = "TRIMMEDIT";
  48.                 this.numberOfTries = 5;
  49.             }
  50.            
  51.         #endregion
  52.        
  53.         #region Methods
  54.        
  55.             public HttpWebResponse CCC_Collection_Page (string data, out string response)
  56.            
  57.             {
  58.                 HttpWebRequest httpWebRequest1;
  59.                 HttpWebResponse httpWebResponse1;
  60.                 response = "";
  61.                 int i1 = 0;
  62.                 string string1 = data.ToString ();
  63.                 while (i1 < this.numberOfTries)
  64.                 {
  65.                     try
  66.                     {
  67.                         httpWebRequest1 = ((HttpWebRequest) WebRequest.Create ((this.url_nos + "collectCustomClientCert")));
  68.                         httpWebRequest1.Timeout = 10000;
  69.                         httpWebRequest1.Method = "POST";
  70.                         httpWebRequest1.ContentType = "application/x-www-form-urlencoded";
  71.                         httpWebRequest1.ContentLength = ((long) string1.Length);
  72.                         using (StreamWriter streamWriter1 = new StreamWriter (httpWebRequest1.GetRequestStream ()))
  73.                         {
  74.                             streamWriter1.Write (string1);
  75.                             streamWriter1.Close ();
  76.                         }
  77.                         httpWebResponse1 = ((HttpWebResponse) httpWebRequest1.GetResponse ());
  78.                         response = new StreamReader (httpWebResponse1.GetResponseStream ()).ReadToEnd ();
  79.                         httpWebResponse1.Close ();
  80.                         return httpWebResponse1;
  81.                     }
  82.                     catch (Exception)
  83.                     {
  84.                         i1++;
  85.                     }
  86.                 }
  87.                 return null;
  88.             }
  89.            
  90.             public HttpWebResponse CCC_Collection_Page_NET (string data, out string response)
  91.            
  92.             {
  93.                 HttpWebRequest httpWebRequest1;
  94.                 HttpWebResponse httpWebResponse1;
  95.                 response = "";
  96.                 int i1 = 0;
  97.                 string string1 = data.ToString ();
  98.                 while (i1 < this.numberOfTries)
  99.                 {
  100.                     try
  101.                     {
  102.                         httpWebRequest1 = ((HttpWebRequest) WebRequest.Create ((this.url_nos + "download/CollectCCC")));
  103.                         httpWebRequest1.Timeout = 10000;
  104.                         httpWebRequest1.Method = "POST";
  105.                         httpWebRequest1.ContentType = "application/x-www-form-urlencoded";
  106.                         httpWebRequest1.ContentLength = ((long) string1.Length);
  107.                         using (StreamWriter streamWriter1 = new StreamWriter (httpWebRequest1.GetRequestStream ()))
  108.                         {
  109.                             streamWriter1.Write (string1);
  110.                             streamWriter1.Close ();
  111.                         }
  112.                         httpWebResponse1 = ((HttpWebResponse) httpWebRequest1.GetResponse ());
  113.                         response = new StreamReader (httpWebResponse1.GetResponseStream ()).ReadToEnd ();
  114.                         httpWebResponse1.Close ();
  115.                         return httpWebResponse1;
  116.                     }
  117.                     catch (Exception)
  118.                     {
  119.                         i1++;
  120.                     }
  121.                 }
  122.                 return null;
  123.             }
  124.            
  125.             public HttpWebResponse CCC_SignUp_Page (string data, out string response)
  126.            
  127.             {
  128.                 HttpWebRequest httpWebRequest1;
  129.                 HttpWebResponse httpWebResponse1;
  130.                 response = "";
  131.                 int i1 = 0;
  132.                 string string1 = data.ToString ();
  133.                 while (i1 < this.numberOfTries)
  134.                 {
  135.                     try
  136.                     {
  137.                         httpWebRequest1 = ((HttpWebRequest) WebRequest.Create ((this.url + "!applyCustomClientCert")));
  138.                         httpWebRequest1.Timeout = 10000;
  139.                         httpWebRequest1.Method = "POST";
  140.                         httpWebRequest1.ContentType = "application/x-www-form-urlencoded";
  141.                         httpWebRequest1.ContentLength = ((long) string1.Length);
  142.                         using (StreamWriter streamWriter1 = new StreamWriter (httpWebRequest1.GetRequestStream ()))
  143.                         {
  144.                             streamWriter1.Write (string1);
  145.                             streamWriter1.Close ();
  146.                         }
  147.                         httpWebResponse1 = ((HttpWebResponse) httpWebRequest1.GetResponse ());
  148.                         response = new StreamReader (httpWebResponse1.GetResponseStream ()).ReadToEnd ();
  149.                         httpWebResponse1.Close ();
  150.                         return httpWebResponse1;
  151.                     }
  152.                     catch (Exception)
  153.                     {
  154.                         i1++;
  155.                     }
  156.                 }
  157.                 return null;
  158.             }
  159.            
  160.             public HttpWebResponse Cert_Generation (string data, out string response)
  161.            
  162.             {
  163.                 HttpWebRequest httpWebRequest1;
  164.                 HttpWebResponse httpWebResponse1;
  165.                 response = "";
  166.                 int i1 = 0;
  167.                 string[] stringArray1 = new string[] { "loginName0x03d", this.login.ToString (), "&loginPassword0x03d", this.password.ToString (), "&", data.ToString () };
  168.                 string string1 = string.Concat (stringArray1);
  169.                 while (i1 < this.numberOfTries)
  170.                 {
  171.                     try
  172.                     {
  173.                         httpWebRequest1 = ((HttpWebRequest) WebRequest.Create ((this.url + "!AutoApplySSL")));
  174.                         httpWebRequest1.Timeout = 10000;
  175.                         httpWebRequest1.Method = "POST";
  176.                         httpWebRequest1.ContentType = "application/x-www-form-urlencoded";
  177.                         httpWebRequest1.ContentLength = ((long) string1.Length);
  178.                         using (StreamWriter streamWriter1 = new StreamWriter (httpWebRequest1.GetRequestStream ()))
  179.                         {
  180.                             streamWriter1.Write (string1);
  181.                             streamWriter1.Close ();
  182.                         }
  183.                         httpWebResponse1 = ((HttpWebResponse) httpWebRequest1.GetResponse ());
  184.                         response = new StreamReader (httpWebResponse1.GetResponseStream ()).ReadToEnd ();
  185.                         httpWebResponse1.Close ();
  186.                         return httpWebResponse1;
  187.                     }
  188.                     catch (Exception)
  189.                     {
  190.                         i1++;
  191.                     }
  192.                 }
  193.                 return null;
  194.             }
  195.            
  196.             public HttpWebResponse CSR_Validation (string CSR, out string response)
  197.            
  198.             {
  199.                 HttpWebRequest httpWebRequest1;
  200.                 HttpWebResponse httpWebResponse1;
  201.                 response = "";
  202.                 int i1 = 0;
  203.                 string string1 = ("csr0x03d" + HttpContext.Current.Server.UrlEncode (CSR) + "&responseFormat0x03d0&showErrorCodes0x03dY&showErrorMessages0x03dY&showFieldNames0x03dY&showEmpt"
  204.                 + "yFields0x03dY&showCN0x03dY&showAddress0x03dY&showPublicKey0x03dY&showKeySize0x03dY&showCSR0x03dY&product"
  205.                 + "0x03d24&countryNameType0x03dFULL");
  206.                 while (i1 < this.numberOfTries)
  207.                 {
  208.                     try
  209.                     {
  210.                         httpWebRequest1 = ((HttpWebRequest) WebRequest.Create ((this.url + "!DecodeCSR")));
  211.                         httpWebRequest1.Headers.Add ("Accept-Charset", "ISO-8859-1");
  212.                         httpWebRequest1.Method = "POST";
  213.                         httpWebRequest1.ContentType = "application/x-www-form-urlencoded";
  214.                         httpWebRequest1.ContentLength = ((long) string1.Length);
  215.                         using (StreamWriter streamWriter1 = new StreamWriter (httpWebRequest1.GetRequestStream ()))
  216.                         {
  217.                             streamWriter1.Write (string1);
  218.                             streamWriter1.Close ();
  219.                         }
  220.                         httpWebResponse1 = ((HttpWebResponse) httpWebRequest1.GetResponse ());
  221.                         response = new StreamReader (httpWebResponse1.GetResponseStream ()).ReadToEnd ();
  222.                         httpWebRequest1.Timeout = 10000;
  223.                         httpWebResponse1.Close ();
  224.                         return httpWebResponse1;
  225.                     }
  226.                     catch (Exception)
  227.                     {
  228.                         i1++;
  229.                     }
  230.                 }
  231.                 return null;
  232.             }
  233.            
  234.             public HttpWebResponse CSR_Validation_All (string CSR, int product, out string response)
  235.            
  236.             {
  237.                 HttpWebRequest httpWebRequest1;
  238.                 HttpWebResponse httpWebResponse1;
  239.                 response = "";
  240.                 int i1 = 0;
  241.                 object[] objectArray1 = new object[] { "csr0x03d", HttpContext.Current.Server.UrlEncode (CSR), "&responseFormat0x03d0&showErrorCodes0x03dY&showErrorMessages0x03dY&showFieldNames0x03dY&showEmpt"
  242.                 + "yFields0x03dY&showCN0x03dY&showAddress0x03dY&showPublicKey0x03dY&showKeySize0x03dY&showCSR0x03dY&product"
  243.                 + "0x03d", product, "&countryNameType0x03dFULL" };
  244.                 string string1 = string.Concat (objectArray1);
  245.                 while (i1 < this.numberOfTries)
  246.                 {
  247.                     try
  248.                     {
  249.                         httpWebRequest1 = ((HttpWebRequest) WebRequest.Create ((this.url + "!DecodeCSR")));
  250.                         httpWebRequest1.Headers.Add ("Accept-Charset", "ISO-8859-1");
  251.                         httpWebRequest1.Method = "POST";
  252.                         httpWebRequest1.ContentType = "application/x-www-form-urlencoded";
  253.                         httpWebRequest1.ContentLength = ((long) string1.Length);
  254.                         using (StreamWriter streamWriter1 = new StreamWriter (httpWebRequest1.GetRequestStream ()))
  255.                         {
  256.                             streamWriter1.Write (string1);
  257.                             streamWriter1.Close ();
  258.                         }
  259.                         httpWebResponse1 = ((HttpWebResponse) httpWebRequest1.GetResponse ());
  260.                         response = new StreamReader (httpWebResponse1.GetResponseStream ()).ReadToEnd ();
  261.                         httpWebRequest1.Timeout = 10000;
  262.                         httpWebResponse1.Close ();
  263.                         return httpWebResponse1;
  264.                     }
  265.                     catch (Exception)
  266.                     {
  267.                         i1++;
  268.                     }
  269.                 }
  270.                 return null;
  271.             }
  272.            
  273.             public HttpWebResponse SSL_PickUp (string data, out string response)
  274.            
  275.             {
  276.                 HttpWebRequest httpWebRequest1;
  277.                 HttpWebResponse httpWebResponse1;
  278.                 response = "";
  279.                 int i1 = 0;
  280.                 string[] stringArray1 = new string[] { "loginName0x03d", this.login.ToString (), "&loginPassword0x03d", this.password.ToString (), "&", data.ToString () };
  281.                 string string1 = string.Concat (stringArray1);
  282.                 while (i1 < this.numberOfTries)
  283.                 {
  284.                     try
  285.                     {
  286.                         httpWebRequest1 = ((HttpWebRequest) WebRequest.Create ((this.url_nos + "download/CollectSSL")));
  287.                         httpWebRequest1.Timeout = 10000;
  288.                         httpWebRequest1.Method = "POST";
  289.                         httpWebRequest1.ContentType = "application/x-www-form-urlencoded";
  290.                         httpWebRequest1.ContentLength = ((long) string1.Length);
  291.                         using (StreamWriter streamWriter1 = new StreamWriter (httpWebRequest1.GetRequestStream ()))
  292.                         {
  293.                             streamWriter1.Write (string1);
  294.                             streamWriter1.Close ();
  295.                         }
  296.                         httpWebResponse1 = ((HttpWebResponse) httpWebRequest1.GetResponse ());
  297.                         response = new StreamReader (httpWebResponse1.GetResponseStream ()).ReadToEnd ();
  298.                         httpWebResponse1.Close ();
  299.                         return httpWebResponse1;
  300.                     }
  301.                     catch (Exception)
  302.                     {
  303.                         i1++;
  304.                     }
  305.                 }
  306.                 return null;
  307.             }
  308.            
  309.             public HttpWebResponse SSL_Reissue (string data, out string response)
  310.            
  311.             {
  312.                 HttpWebRequest httpWebRequest1;
  313.                 HttpWebResponse httpWebResponse1;
  314.                 response = "";
  315.                 int i1 = 0;
  316.                 string[] stringArray1 = new string[] { "loginName0x03d", this.login.ToString (), "&loginPassword0x03d", this.password.ToString (), "&", data.ToString () };
  317.                 string string1 = string.Concat (stringArray1);
  318.                 while (i1 < this.numberOfTries)
  319.                 {
  320.                     try
  321.                     {
  322.                         httpWebRequest1 = ((HttpWebRequest) WebRequest.Create ((this.url + "!AutoReplaceSSL")));
  323.                         httpWebRequest1.Timeout = 10000;
  324.                         httpWebRequest1.Method = "POST";
  325.                         httpWebRequest1.ContentType = "application/x-www-form-urlencoded";
  326.                         httpWebRequest1.ContentLength = ((long) string1.Length);
  327.                         using (StreamWriter streamWriter1 = new StreamWriter (httpWebRequest1.GetRequestStream ()))
  328.                         {
  329.                             streamWriter1.Write (string1);
  330.                             streamWriter1.Close ();
  331.                         }
  332.                         httpWebResponse1 = ((HttpWebResponse) httpWebRequest1.GetResponse ());
  333.                         response = new StreamReader (httpWebResponse1.GetResponseStream ()).ReadToEnd ();
  334.                         httpWebResponse1.Close ();
  335.                         return httpWebResponse1;
  336.                     }
  337.                     catch (Exception)
  338.                     {
  339.                         i1++;
  340.                     }
  341.                 }
  342.                 return null;
  343.             }
  344.            
  345.             public HttpWebResponse SSL_Revoke (string data, out string response)
  346.            
  347.             {
  348.                 HttpWebRequest httpWebRequest1;
  349.                 HttpWebResponse httpWebResponse1;
  350.                 response = "";
  351.                 int i1 = 0;
  352.                 string[] stringArray1 = new string[] { "loginName0x03d", this.login.ToString (), "&loginPassword0x03d", this.password.ToString (), "&", data.ToString () };
  353.                 string string1 = string.Concat (stringArray1);
  354.                 while (i1 < this.numberOfTries)
  355.                 {
  356.                     try
  357.                     {
  358.                         httpWebRequest1 = ((HttpWebRequest) WebRequest.Create ((this.url + "!AutoRevokeSSL")));
  359.                         httpWebRequest1.Timeout = 10000;
  360.                         httpWebRequest1.Method = "POST";
  361.                         httpWebRequest1.ContentType = "application/x-www-form-urlencoded";
  362.                         httpWebRequest1.ContentLength = ((long) string1.Length);
  363.                         using (StreamWriter streamWriter1 = new StreamWriter (httpWebRequest1.GetRequestStream ()))
  364.                         {
  365.                             streamWriter1.Write (string1);
  366.                             streamWriter1.Close ();
  367.                         }
  368.                         httpWebResponse1 = ((HttpWebResponse) httpWebRequest1.GetResponse ());
  369.                         response = new StreamReader (httpWebResponse1.GetResponseStream ()).ReadToEnd ();
  370.                         httpWebResponse1.Close ();
  371.                         return httpWebResponse1;
  372.                     }
  373.                     catch (Exception)
  374.                     {
  375.                         i1++;
  376.                     }
  377.                 }
  378.                 return null;
  379.             }
  380.            
  381.         #endregion
  382.     }
  383.    
  384. }
  385.  
  386.  
  387.  
  388.  
  389. [/code]
  390.  
  391.  
  392.  
  393.  
  394. Enough said?
RAW Paste Data