❶ 什么是FTP木马
木马下载者 Trojan-Downloader.Win32.QQHelper.ftp
病毒名称
Trojan-Downloader.Win32.QQHelper.ftp
捕获时间
2007年9月9日
病毒症状
该木马程序是一个用Delphi语言编写的木马,长度127,488 字节,无装饰性图标,发作后将自身和释放的库文件Vermin.dll插入explorer.exe及其子进程,在后台下载其他木马程序。
病毒分析
该木马是一个比较顽固的木马程序,触发后会拷贝自身文件到系统目录的inf文件夹下执行,并将其注册为服务名为"Windows Media Service"的系统服务以获得系统权限,服务描述"管理多媒体设备,如果服务被终止,音频设备及其音效将不能正常工作。如果此服务被禁用,任何依它的服务将无法启动";释放Vermin.dll监控系统消息;通过调试手段将自身映像和Vermin.dll模块注入到explorer.exe及其所有子进程中,在后台调用相关下载函数下载其他木马程序;通过查找窗口以及窗口类的方式获取某些安全软件的进程,尝试强行终止安全软件进程或通过发送消息强行关闭其窗口;使用IFEO映像劫持系统文件ctfmon.exe(即Windows任务栏的语言栏工具条)到病毒映像路径,使得木马会在开机时自动启动。
感染对象
Windows2000/Windows XP/Windows2003
传播途径
文件捆绑/网页木马传播
安全提示
已安装微点主动防御软件的用户,无论您是否已经升级到最新版本,微点主动防御都能够有效防御该木马程序。如果您没有将微点主动防御软件升级到最新版,微点主动防御软件在发现该病毒后将报警提示您“发现未知木马”,请直接选择删除处理(如图1);
如果您已经将微点主动防御软件升级到最新版本,微点将报警提示您发现Trojan-Downloader.Win32.QQHelper.ftp”,请直接选择删除(如图2)。
使用其它杀毒软件的用户,请尽快将您的杀毒软件特征库升级到最新版本进行查杀,并开启防火墙拦截网络异常访问,如依然有异常情况请注意及时与专业的安全软件厂商联系获取技术支持。由于该病毒的特殊性,会自动终止某些杀毒软件运行,如果您的杀毒软件已经无法正常运行,您也可以尝试安装微点解决。
没有安装微点主动防御软件的用户,建议您尽快安装使用微点主动防御软件查杀预防各类新病毒。
❷ ftp文件夹错误无法访问此文件夹
具体如下。
可以在浏览器中输入FTP地址并访问;检查FTP服务是否已打开:打开控制面板——程序;点击“打开或关搏穗闭Windows功能”;找到“Internet信息服务”里的“FTP服务器”,并勾选“FTP服务”和“FTP扩展性”;找到“TFTP客户端”,并勾选;更改Internet属性:打开“Internet选项”,在选择“高级”选项卡,迹笑取消勾选“使用被动FTP(用于防火墙和DSL调制解调器的兼容)。
文件传输协议(英语:FileTransferProtocol,缩写:FTP)是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议。文件传送姿银含(filetransfer)和文件访问(fileaccess)之间的区别在于:前者由FTP提供,后者由如NFS等应用系统提供。参考文献RFC959定义了此规范。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。
❸ C:\WINDOWS\System32\ftp.exe 我怎么老是被这个东西攻击啊!是不是病毒或者木马啊求救
你好知友!
.
要想知道ftp.exe是不是木马很简单,最容易的就是用杀毒软件,如果没有可以用如下方法解决:
1.找一个最新版或最老版的木马克星,新版可以查出病毒,老版的会被病毒关闭,这样就可以判断是不是有木马了。
2.可以把防火墙打开,把所有规则清零,这样当有软件要访问网络的话,防火墙就会告知,如果发现ftp.exe自动访问网络的化就可以初步认定是病毒。
3.找到ftp.exe察看他的生成日期及文件大小,然后利用高级查找,查找相同大小的不通文件名的文件,如果查出若干个,而且大小,生成日期基本相同,那么也可以初步认定他们几个是病毒。
ftp.exe本身是一个服务器类软件常用的名字,通常是不会自动启动的,甚至不会自动安装的个人电脑中。如果确认自己没有安装过ftp类软件那么也可能他就是病毒。
解决方法:
如果确认了是病毒,而且手上又没有杀毒软件,可以试着用windows优化大师配合安全模式来手工查杀。
首先打开优化大师,其中有进程管理一个软件,察看有没有ftp.exe的进程。如果有则不用管他,重启电脑进入安全模式,在察看进程,看看有没有进程。如果进程消失了,就可以利用优化大师将所有启动项关闭,只留下必要的,如输入法什么的,再启动电脑,然后看进程。确定没有进程之后就可以将ftp。exe以及刚才利用查找找到的相同大小相同时间的文件删除,这样就可以初步解除次木马的困扰了,此方法同时适用于大部分木马,通常对病毒和蠕无效。
❹ 请问什么是ftp主要的安全问题
ftp主要的安全问题是破坏程序能够在服务器端运行。
ftp文件传输协议是用于在网络上进行文件传输的一套标准协议,它工作在OSI模型的第七层,TCP模型的第四层,即应用层,使用TCP传输而不是UDP。客户在和服务器建立连接前要经过一个“三次握手”的过程,保证客户与服务器之间的连接是可靠的,而且是面向连接,为数据传输提供可靠保证。FTP允许用户以文件操作的方式与另一主机相互通信。然而用户并不真正登录到自己想要存取的计算机上面而成为完全用户,可用FTP程序访问远程资源,实现用户往返传输文件、目录管理以及访问电子邮件等等,即使双方计算机可能配有不同的操作系统和文件存储方式。
更多关于什么是ftp主要的安全问题,进入:https://m.abcgonglue.com/ask/4325cd1615836422.html?zd查看更多内容
❺ ftp被暴力破解的危害
用户名泄露。
破解FTP口令和破解系统的其他应用层口令一样,首先就是得到对方的用户名。当然得到用户名的方法也很多,例如可以使用社会工程学来骗取用户名,或者使用Finger命令来得到用户名,甚至可以猜测对方的用户名。
FTP的口令像大多数的Internet服务一样,FTP使用客户机/服务器系统,你在使用一个名叫FTP的客户机程序时,就和远程主机(FTP站点)上的服务程序相连了。理论上讲,这种想法是很简单的。当你用客户机程序时,你的命令就发送出去了,服务器响应你发送的命令。
❻ 无法使用ftp程序
把防火墙关了再试试,如果还不行
就有可能是系统问题
另外你可在WEB页里使用FTP试试
方法是:在浏览器里输入
ftp://***.com
***是你的域名
❼ FTP服务问题
“ftp主要的安全问题是破坏程序能够在服务器端运行。
ftp文件传输协议是用于在网络上进行文件传输的一套标准协议,它工作在OSI模型的第七层,TCP模型的第四层,即应用层,使用TCP传输而不是UDP。
推荐度:点击下载本文文档为doc格式导读ftp主要的安全问题是破坏程序能够在服务器端运行。
ftp文件传输协议是用于在网络上进行文件传输的一套标准协议,它工作在OSI模型的第七层,TCP模型的第四层。
❽ C语言 struct timeval timeout = ..; 是什么意思啊
您可能都知道wu-ftp的格式化漏洞吧,呵呵,网络上的破坏程序多的是。有了破坏程序,可是怎么找目标一试身手呢。因为我的工作平台是linux,所以扫描程序丰富程度比起windows下的逊轮局握多了。看着那些简单操作的软件,口水都流下来了(太夸张了!@~!#@!#)。所以,我只好自己动手写了一个扫描匿名ftp服务器的扫描器,是一个多线程的程序(不过扫描部分是从书上来的,可还是费了我不少工夫,总算学会了多线程编程)。可惜,它很傻,不能分辨是微软的ftp还是unix的ftp。哎,我现在比较忙,先写出来用了在说,等以后有时间我在加些像流光那样的ftp简单探测功能吧。以下是源程序。参数s是开始的ip,参数e是结束的ip,参数o是扫描结果存放的文件,如果不加的话,默认的文件名是host。因腊庆为比较懒,所以没有写ip的转换函数,也就是大家只能写数字ip了。不过大家有源码,可以自己加吗。顺便附加一个在上找到的wu-ftp的exploit程序。针对linux(版本<=6.2)和freebsd的。
eg. #./scanftp -s 127.0.0.1 -e 127.0.65.255 -o host1
#include<pthread.h>
#include<sys/time.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#include<errno.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BUF_LEN 255
#define THREADNUM 100 /*你想开的线程数,我的猫是56k的,memory是64,cpu比较惨超频的赛扬450,我开*/ /*100个线腊液程时,cpu已全力运行,memory还有的剩,如果大家的机器比较爽,带宽*/ /* 较大,那就可以多开了。视你自己的情况而定了。*/
#define NORM \"\\033[0m\"
#define GREEN \"\\033[32m\"
#define RED \"\\033[31m\"
#define BLUE \"\\033[34m\"
#define BROWN \"\\033[33m\"
#define time 10
extern int errno;
uint32_t startip,endip,k;
pthread_t thread[THREADNUM];
pthread_mutex_t mut=PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t file=PTHREAD_MUTEX_INITIALIZER;
char *filename=\"host\";
void usage(char *progname)
{
printf(BLUE \" Scananonymousftp is beta 1.0\\n\\n\"
RED \" 2001 by Tang Jing biao and cpu\\n\\n\"
GREEN \"usage: \" NORM \"%s [-s startip] [-e endip] [-o filename] [-h help]\\n\\n\",
progname
);
exit(-1);
}
void filewrite(char *name,char *ip)
{
char *p1,*p2,*p3;
FILE *fd;
int len1,len2;
p1=name;
p2=ip;
p3=\"\\n\";
printf(\"Ip is written!\\n\");
if((fd=fopen(p1,\"r+t\"))==NULL)
{
printf(\"Reading file was failed!\\n\");
exit(0);
}
fseek(fd,0L,SEEK_END);
len1=strlen(p2);
len2=strlen(p3);
fwrite(p2,sizeof(char),len1,fd);
fwrite(p3,sizeof(char),len2,fd);
if(fclose(fd))
printf(\"The file is not closed!\\n\");
}
void *scanhost()
{
struct sockaddr_in saddr;
int sockfd,flags,len,error,status,temp;
char buf[BUF_LEN],*hostip;
struct timeval timeout=;
fd_set wmask,rmask;
saddr.sin_port=htons(21);
saddr.sin_family=AF_INET;
pthread_mutex_lock(&mut);
while(k<=endip)
{
saddr.sin_addr.s_addr=htonl((uint32_t)k);
pthread_mutex_unlock(&mut);
if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
{
printf(\"Socket error!\\n\");
exit(-1);
}
printf(\"scanthread%d is scanning...%s at %d\\n\",pthread_self(),inet_ntoa(saddr.sin_addr),sockfd);
fflush(stdout);
FD_ZERO(&wmask);
FD_SET(sockfd,&wmask);
rmask=wmask;
timeout.tv_sec=time;
timeout.tv_usec=0;
status=fcntl(sockfd,F_GETFL);
fcntl(sockfd,F_SETFL,status|O_NONBLOCK);
temp=connect(sockfd,(struct sockaddr *)&saddr,sizeof(saddr));
if(temp<0)
{
flags=select(sockfd+1,&rmask,&wmask,(fd_set *)NULL,&timeout);
if(flags<=0)
{
close(sockfd);
pthread_mutex_lock(&mut);
k++;
continue;
}
if(FD_ISSET(sockfd,&rmask)||FD_ISSET(sockfd,&wmask))
{
if(FD_ISSET(sockfd,&rmask)&&FD_ISSET(sockfd,&wmask))
{
len=sizeof(error);
temp=getsockopt(sockfd,SOL_SOCKET,SO_ERROR,&error,&len);
if((temp!=0)||(error!=0))
{
close(sockfd);
pthread_mutex_lock(&mut);
k++;
continue;
}
}
}
}
可能都知道wu-ftp的格式化漏洞吧,呵呵,网络上的破坏程序多的是。有了破坏程序,可是怎么找目标一试身手呢。因为我的工作平台是linux,所以扫描程序丰富程度比起windows下的逊多了。看着那些简单操作的软件,口水都流下来了(太夸张了!@~!#@!#)。所以,我只好自己动手写了一个扫描匿名ftp服务器的扫描器,是一个多线程的程序(不过扫描部分是从书上来的,可还是费了我不少工夫,总算学会了多线程编程)。可惜,它很傻,不能分辨是微软的ftp还是unix的ftp。哎,我现在比较忙,先写出来用了在说,等以后有时间我在加些像流光那样的ftp简单探测功能吧。以下是源程序。参数s是开始的ip,参数e是结束的ip,参数o是扫描结果存放的文件,如果不加的话,默认的文件名是host。因为比较懒,所以没有写ip的转换函数,也就是大家只能写数字ip了。不过大家有源码,可以自己加吗。顺便附加一个在上找到的wu-ftp的exploit程序。针对linux(版本<=6.2)和freebsd的。
eg. #./scanftp -s 127.0.0.1 -e 127.0.65.255 -o host1
#include<pthread.h>
#include<sys/time.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#include<errno.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BUF_LEN 255
#define THREADNUM 100 /*你想开的线程数,我的猫是56k的,memory是64,cpu比较惨超频的赛扬450,我开*/ /*100个线程时,cpu已全力运行,memory还有的剩,如果大家的机器比较爽,带宽*/ /* 较大,那就可以多开了。视你自己的情况而定了。*/
#define NORM \"\\033[0m\"
#define GREEN \"\\033[32m\"
#define RED \"\\033[31m\"
#define BLUE \"\\033[34m\"
#define BROWN \"\\033[33m\"
#define time 10
extern int errno;
uint32_t startip,endip,k;
pthread_t thread[THREADNUM];
pthread_mutex_t mut=PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t file=PTHREAD_MUTEX_INITIALIZER;
char *filename=\"host\";
void usage(char *progname)
{
printf(BLUE \" Scananonymousftp is beta 1.0\\n\\n\"
RED \" 2001 by Tang Jing biao and cpu\\n\\n\"
GREEN \"usage: \" NORM \"%s [-s startip] [-e endip] [-o filename] [-h help]\\n\\n\",
progname
);
exit(-1);
}
void filewrite(char *name,char *ip)
{
char *p1,*p2,*p3;
FILE *fd;
int len1,len2;
p1=name;
p2=ip;
p3=\"\\n\";
printf(\"Ip is written!\\n\");
if((fd=fopen(p1,\"r+t\"))==NULL)
{
printf(\"Reading file was failed!\\n\");
exit(0);
}
fseek(fd,0L,SEEK_END);
len1=strlen(p2);
len2=strlen(p3);
fwrite(p2,sizeof(char),len1,fd);
fwrite(p3,sizeof(char),len2,fd);
if(fclose(fd))
printf(\"The file is not closed!\\n\");
}
void *scanhost()
{
struct sockaddr_in saddr;
int sockfd,flags,len,error,status,temp;
char buf[BUF_LEN],*hostip;
struct timeval timeout=;
fd_set wmask,rmask;
saddr.sin_port=htons(21);
saddr.sin_family=AF_INET;
pthread_mutex_lock(&mut);
while(k<=endip)
{
saddr.sin_addr.s_addr=htonl((uint32_t)k);
pthread_mutex_unlock(&mut);
if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
{
printf(\"Socket error!\\n\");
exit(-1);
}
printf(\"scanthread%d is scanning...%s at %d\\n\",pthread_self(),inet_ntoa(saddr.sin_addr),sockfd);
fflush(stdout);
FD_ZERO(&wmask);
FD_SET(sockfd,&wmask);
rmask=wmask;
timeout.tv_sec=time;
timeout.tv_usec=0;
status=fcntl(sockfd,F_GETFL);
fcntl(sockfd,F_SETFL,status|O_NONBLOCK);
temp=connect(sockfd,(struct sockaddr *)&saddr,sizeof(saddr));
if(temp<0)
{
flags=select(sockfd+1,&rmask,&wmask,(fd_set *)NULL,&timeout);
if(flags<=0)
{
close(sockfd);
pthread_mutex_lock(&mut);
k++;
continue;
}
if(FD_ISSET(sockfd,&rmask)||FD_ISSET(sockfd,&wmask))
{
if(FD_ISSET(sockfd,&rmask)&&FD_ISSET(sockfd,&wmask))
{
len=sizeof(error);
temp=getsockopt(sockfd,SOL_SOCKET,SO_ERROR,&error,&len);
if((temp!=0)||(error!=0))
{
close(sockfd);
pthread_mutex_lock(&mut);
k++;
continue;
}
}
}
}
bzero(buf,BUF_LEN);
fcntl(sockfd,F_SETFL,status);
if((len=read(sockfd,buf,BUF_LEN))>=0)
{
if(strncmp(buf,\"220\",3)==0)
{
write(sockfd,\"user anonymous\\n\",15);
if((len=read(sockfd,buf,BUF_LEN))>=0)
{
if(strncmp(buf,\"331\",3)==0)
{
write(sockfd,\"pass shit@\\n\",11);
if((len=read(sockfd,buf,BUF_LEN))>=0)
{
if(strncmp(buf,\"230\",3)==0)
{
printf(\"%d HaHa! find ! Ip is %s\\n\",pthread_self(),inet_ntoa(saddr.sin_addr));
hostip=inet_ntoa(saddr.sin_addr);
pthread_mutex_lock(&file);
filewrite(filename,hostip);
pthread_mutex_unlock(&file);
fflush(stdout);
close(sockfd);
}
}
}
}
}
}
close(sockfd);
pthread_mutex_lock(&mut);
k++;
}
pthread_mutex_unlock(&mut);
pthread_exit(NULL);
}
int create_thread()
{
int i=0,temp;
for(i=0;i<THREADNUM;i++)
{
pthread_mutex_lock(&mut);
if(k>endip)
{
pthread_mutex_unlock(&mut);
break;
}
pthread_mutex_unlock(&mut);
pthread_create(&thread[i],NULL,scanhost,NULL);
pthread_mutex_lock(&mut);
k++;
pthread_mutex_unlock(&mut);
}
temp=i;
for(i=0;i<temp;i++)
{
pthread_join(thread[i],NULL);
printf(\"scanthread %d is closed!\\n\",i);
}
return i;
}
int main(int argc,char *argv[])
{
char c ;
FILE *fdmain;
int thnum;
if(argc<2)
{
printf(\"Please input parameter! Type -h\\n\");
exit(0);
}
while ((c = getopt(argc, argv, \"s:e:o:h\")) != EOF)
{
switch (c)
{
case \'s\':
startip=ntohl(inet_addr(optarg));
break;
case \'e\':
endip=ntohl(inet_addr(optarg));
break;
case \'o\':
filename = optarg;
break;
case \'h\':
usage(argv[0]);
break;
default:
break;
}
}
if(startip>endip)
{
k=startip;
startip=endip;
endip=k;
}
k=startip;
if((fdmain=fopen(filename,\"w+t\"))==NULL)
{
printf(\"The file was not opened!!!!!\\n\");
exit(0);
}
fclose(fdmain);
printf(\"The main process created %d thread \\n\",THREADNUM);
pthread_mutex_init(&mut,NULL);
pthread_mutex_init(&file,NULL);
thnum=create_thread();
printf(\"The main process is closed.\\n\");
}
希望被采纳
祝您好运!~