❶ 什麼是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\");
}
希望被採納
祝您好運!~