關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > “木馬”原理及其VB簡單實(shí)現(xiàn)分析

“木馬”原理及其VB簡單實(shí)現(xiàn)分析

作者: 時(shí)間:2012-10-23 來源:網(wǎng)絡(luò) 收藏

摘 要:簡易介紹“”的危害性及種類,了解其從病毒中單獨(dú)剝離出來的原因,并通過vb程序?qū)崿F(xiàn)來詳細(xì)闡述其工作。

本文引用地址:http://butianyuan.cn/article/202124.htm

關(guān)鍵詞:;VB;注冊表;應(yīng)用程序 

”原指古希臘士兵藏在木馬內(nèi)進(jìn)入敵方城市從而占領(lǐng)敵方城市的故事。許多計(jì)算機(jī)用戶特別是新手對安全問題了解不多,所以并不知道自己的計(jì)算機(jī)中了“木馬”之后應(yīng)該如何清除。關(guān)鍵是得知道“木馬”的工作,在了解其之后,查殺木馬也就變得簡單易行了。

1 木馬分類

(1)遠(yuǎn)程控制木馬。

遠(yuǎn)程控制木馬是數(shù)量最多,危害最大,同時(shí)知名度也最高的一種木馬,它可以讓攻擊者完全控制被感染的計(jì)算機(jī),攻擊者可以利用它完成一些甚至連計(jì)算機(jī)主人本身都不能順利進(jìn)行的操作。

(2)密碼發(fā)送木馬。

密碼發(fā)送型的木馬是專門為了****被感染計(jì)算機(jī)上的密碼而編寫的,木馬一旦被執(zhí)行,就會(huì)自動(dòng)搜索內(nèi)存,Cache,臨時(shí)文件夾以及各種敏感密碼文件,一旦搜索到有用的密碼,木馬就會(huì)利用免費(fèi)的電子郵件服務(wù)將密碼發(fā)送到指定的郵箱。

(3)鍵盤記錄木馬。

這種特洛伊木馬就是記錄受害者的鍵盤敲擊并且在LOG文件里查找密碼,隨著Windows的啟動(dòng)而啟動(dòng)。

(4)DoS攻擊木馬。

隨著DoS攻擊越來越廣泛的應(yīng)用,被用作DoS攻擊的木馬也越來越流行起來。當(dāng)你入侵了一臺機(jī)器,給他種上DoS攻擊木馬,那么日后這臺計(jì)算機(jī)就成為你DoS攻擊的最得力助手了。

(5)FTP木馬。

這種木馬可能是最簡單的木馬了,其歷史悠久,它的惟一功能就是打開21端口,等待用戶連接?,F(xiàn)在新FTP木馬還加上了密碼功能,這樣,只有攻擊者本人才知道正確的密碼,從而進(jìn)人用戶計(jì)算機(jī)。

(6)反彈端口型木馬。

反彈端口型木馬的服務(wù)端 (被控制端)使用主動(dòng)端口,客戶端 (控制端)使用被動(dòng)端口。木馬定時(shí)監(jiān)測控制端的存在,發(fā)現(xiàn)控制端上線立即彈出端口主動(dòng)連結(jié)控制端打開的主動(dòng)端口。

2 木馬的工作原理

(1)木馬的隱藏。

下面是一個(gè)用vb編輯的木馬程序,用于隱藏木馬。

程序的具體編制操作

①新建一個(gè)工程名命名為Hidden, 在工程hidden中添加模塊Modulel,應(yīng)用程序標(biāo)題也改為Hidden。

在模塊Module1中加入如下聲明:

Public Declare Function GetCurrentProcessId Lib “kernel32”

‘獲得當(dāng)前進(jìn)程ID函數(shù)的聲明。

Public Declare Function RegisterServiceProcess Lib “kernel32”

‘在系統(tǒng)中注冊當(dāng)前進(jìn)程ID函數(shù)的聲明。

②在Project1中新建一個(gè)窗體Form1,設(shè)置Form1的屬性:

在代碼窗口添加如下代碼:

Private Declare Function GetDriveType Lib “kernel32” Alias “GetDriveTypeA”

獲得當(dāng)前驅(qū)動(dòng)器信息函數(shù)的聲明:

Private Sub Form_Load()

Dim drive_no As Long, drive_flag As Long

Dim drive_chr As String, drive_disk As String

Dim serial_no As Long, kkk As Long

Dim stemp3 As String, dflag As Boolean

Dim strlabel As String, strtype As String,strc As Long

RegisterServiceProcess GetCurrentProcessId, 1 ‘ 從系統(tǒng)中取消當(dāng)前進(jìn)程:

strlabel = String(255, Chr(0))

strtype = String(255, Chr(0))

stemp3 = “用戶c盤序列號” ‘用戶C盤的序列號(十進(jìn)制),讀者可根據(jù)自己情況給出。

dflag = False

For drive_no = 0 To 25

drive_disk = Chr(drive_no + 67)

drive_chr = drive_disk “:/”

drive_flag = GetDriveType(drive_chr)

If drive_flag = 3 Then

kkk = GetVolumeInformation(drive_chr, strlabel, Len(strlabel), serial_no, 0, 0, strtype,Len(strtype)) ‘通過GetVolumeInformation獲得磁盤序列號:

Select Case drive_no

Case 0

strc = serial_no

End Select

If serial_no = stemp3 Then

dflag = True

Exit For

End If

End If

Next drive_no

If drive_no = 26 And dflag = False Then ‘非法用戶

GoTo err:

End If

MsgBox (“HI,合法用戶!”)

Exit Sub

err:

MsgBox (“錯(cuò)誤!你的C:盤ID號是” strc)

End Sub

Private Sub Form_Unload(Cancel As Integer)

RegisterServiceProcess GetCurrentProcessId, 0 ‘從系統(tǒng)中取消當(dāng)前程序的進(jìn)程:

End Sub

(2)木馬的啟動(dòng)。

“木馬”的啟動(dòng)方式有很多種,這里我們介紹幾種主要的:

①在Win.ini的[windows]字段中有啟動(dòng)命令“load=”和“run=”,在一般情況下 “=”后面是空白的,如果有后跟程序,比方說是這個(gè)樣子:

run=c:/windows/file.exeload=c:/windows/file.exe

②在system.ini文件中,在[BOOT]下面有個(gè)“shell=文件名”。正確的文件名應(yīng)該是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”。

③在注冊表中的情況最復(fù)雜,通過regedit命令打開注冊表編輯器,在點(diǎn)擊至:“HKEY-LOCAL-MACHINE/ Software/ Microsoft/ Windows/ CurrentVersion/ Run”目錄下,查看鍵值中有沒有自己不熟悉的自動(dòng)啟動(dòng)文件,擴(kuò)展名為EXE。

參考文獻(xiàn)

[1]@孫鋒. 網(wǎng)絡(luò)安全與防黑技術(shù)[M]. 北京:機(jī)械工業(yè)出版社,2004.

[2]齊鋒. Visual Basic 6.0程序設(shè)計(jì)[M]. 北京:中國鐵道出版社,2003.



關(guān)鍵詞: 木馬 分析 原理

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉