一 : 网页“黑手”如何入侵你的Windows系统
网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候。比如,当你收到一封主题为“I Love You”的邮件,兴冲冲的双击附件想欣赏一下这封“情书”的时候,却在无意当中成为了病毒的受害者和传播者;或者在浏览某个网页的时候,浏览器标题栏就变成了类似“欢迎光临……”,而默认主页也被修改,并且自己的注册表莫名其妙的被“锁定”了,即当我们运行“regedit.exe”时,系统弹出一个诸如:“注册表已被管理员所禁用,请找系统管理员联系……”等等字样;更有甚者,听说浏览网页时,自己的硬盘还可能会被悄悄格式化……太可怕了!真有这样的事吗?
当然是真的,不信,那你敢接着往下看吗?。
其实这个爱虫病毒(“I Love You”的邮件)和那些恶意破坏你系统的网页并不可怕,它们都是由几句并不复杂的VB Script代码编写而成的,只要你弄清楚其中的道理,就自然会有应付它们的办法,那时候你还会担心它们吗?本文就对破坏系统的网页“黑手”加以分析,并给出防范和修复方法,让大家都能过上“平安幸福的生活”。
说道VB Script,还得从WSH说起。
一、什么是WSH?
WSH是Windows Scripting Host(Windows脚本主机)的缩略形式。WSH这个概念最早出现于Windows 98操作系统,是一个基于32 位 Windows 平台、并独立于语言的脚本运行环境。比如:你自己编写了一个脚本文件,如后缀为 .vbs 或 .js 的文件,然后在 Windows 下双击并执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序,就是 Windows Scripting Host,程序执行文件名为 Wscript.exe (若是在DOS命令提示符下,则为 Cscript.exe)。
想知道自己的机器上有没有WSH吗?查看一下你的机器里有没有“Wscipt.exe”或者“Cscript.exe”这两个文件就可以了。如果找到,恭喜你!你已经安装了WSH。否则,自己手动安装吧:
在Windows 98环境下,WSH是作为操作系统的一个组件自动安装的,如果不慎丢失了这个组件,可以从依次打开“控制面板-->添加/删除程序--〉Windows安装程序--〉附件”,然后将“Windows Scripting Host”前的划上“√”,再确定即可完成WSH组件的安装。
二、脚本语言与WSH的关系
大家知道,脚本语言(包括JavaScript和VBscript语言等)经常会被植入网页之中(其中包括 HTML 页面客户机端和 ASP 页面服务器端)。对于植入 HTML 页面的脚本,其所需的解析引擎会由 IE 这样的网页浏览器载入;对于植入 ASP 页面的脚本,其所需的解析引擎会由 IIS(Internet Information Services)提供。而对于出现在 HTML 和 ASP 页面之外的脚本(它们常以独立的文件形式存在),就需要经由 WSH 来处理了。需要说明的是:WSH 要想正常工作,还要安装IE 3.0 或更高版本的 IE,因为 WSH 在工作时会调用 IE 中的 VBScript 和 JavaScript 解析引擎。 [未结束][iduba_page]在这些被植于网页的脚本语言中,绝大多数是与网络安全无关的。但也有少数别有用心的好事者,把一些严重危及网络安全的代码(我们常常称之为“恶意代码”,他们通常都要通过修改注册表达到“恶意”的目的!),混放在正常的脚本之中,常常让我们防不胜防。但是,如果我们了解一点关于脚本语言的知识,这些“伎俩”都是非常容易识破的。还是让我们从几个简单的实例开始吧……
三、WSH应用举例
WSH可以处理脚本程序,怎样阅读和编写WSH的脚本源文件呢?只要你有一点Basic(会VB的编程更好,呵呵)语言的基础,学会看懂WSH脚本语言的程序并不是一件难事。去C:WINDOWSSAMPLESWSH目录以下将看看吧!里面提供了几类经典的脚本例子,而且分别提供了VBScript和JavaScript两个版本,我们只要用记事本打开它们并仔细研究就不难学到一些基本的WSH应用。
你只需在记事本中依次输入以下每个实例中的代码,并保存为相应的“*.vbs”文件,双击这个文件,你就可以看到相应的效果了。
〖实例一〗效果:弹出对话框窗口“欢迎共同学习WSH”。
WScript.Echo(“欢迎共同学习WSH”)
〖实例二〗效果:在D盘根目录下建立二十个新文件夹。
dim objdir
set objdir=WScript.Createobject("Scripting.filesystemobject")
for k=1 to 20
sNewFolder="d:WSHsample" & k ‘给新的文件夹命名
objdir.Createfolder(sNewFolder)
next
〖实例三〗效果:使用 Windows Scripting Host 在c:创建一个文本文件testfile.txt
‘text.vbs 这是本文件的文件名
Set RegWsh = Wscript.CreateObject("Wscript.Shell")
RegWsh.Run ("notepad " & Wscript.ScriptFullName)
‘上面用SHELL对象启动程序
Set fs = Wscript.CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:testfile.txt", True)
a.WriteLine("这只是一次测试。请检查你的机器的c:是否有testfile.txt文件出现?")
a.Close
很简单,是吧?呵呵,是的。只要你有一点点程序设计的基础,看懂以上几个实例中的代码是非常容易的,你也可以试着编制一些类似的“脚本”实例了……
然而,正是因为脚本编程的门槛低,容易上手,所以在给我们的生活带来方便和高效的同时,也为少数“不法分子”提供了可乘之机。常见的恶意代码有什么特征呢?最根本的一条就是对系统注册表的访问。怎样利用脚本访问注册表? [未结束][iduba_page]四、用VBScript脚本访问注册表
用VBScript或者Javascript都可以编写脚本程序。鉴于VBscript语言更接近VB,相信有更多的朋友都是从BASIC语言开始学编程的。所以本文不想介绍Javascript,而重点介绍VBscript。用VBscript编写的WSH程序文件的扩展名为.vbs,该脚本程序在图形界面下是由wscript.exe文件解释执行的,一般直接双击.vbs文件即可由系统自动调用wscript.exe进行解释并执行。在字符界面(DOS方式)下则是由cscript.exe文件解释执行的,命令格式为:cscript filename.vbs。先来看看几个相关的操作和方法:
1、创建对象
用VBScript访问注册表,必须先创建一个能与操作系统沟通的对象,再利用该对象的各种方法对注册表进行操作,创建这个对象的方法和格式如下:
Set 对象变量名=WScript.CreateObject("WScript.Shell")
如:Set regwsh=WScript.CreateObject("WScript.Shell") 就可以创建一个名为“regwsh”的对象。
2、该对象常用的方法
有了以上这个对象,还要借助它的几个重要的方法,才能达到访问注册表的目的。常用的方法有:
①读注册表键值的操作RegRead
格式:object.RegRead(路径参数)
②创建/修改注册表键值的操作RegWrite
格式:RegWrite 路径参数, 值 [,值类型]
说明:当被操作的“路径参数”不存在时,创建该主键或键值;反之,则修改原有的键值。
③删除注册表键值的操作RegDelete
格式:RegDelete 路径参数
3、关于路径参数的说明
该路径参数指出了操作的对象。它由根键、主键路径和键值三部分组成,各部分表示的方法如下:
①根键
根键有两种表示方法:缩写形式(short)和完整形式(Long)。相互的对应关系为:
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
而对于 HKEY_USERS 和 HKEY_CURRENT_CONFIG 两个根键则没有缩写形式。
②主键路径
主键路径就是目标键在注册表中的主键位置,各个主键之间用""符分隔开。如:"SoftwareMicrosoftWindowsCurrentVersionPolicies"
③键值
键值参数可以省去不写。在这种情况下,整个路径参数就以""结尾。这时,所有的操作都只针对整个主键来进行,而不是该主键的某个键值。如果想对某个主键下的某个键值进行操作,则应包含这一部分,直接接在主键路径之后即可。
例如一个完整的路径参数如下所示:"HKCRSoftwareMicrosoftWindowsCurrentVersionPoliciesNoRun" [未结束][iduba_page]4、应用举例
〖应用之一〗
以下将是一个创建、读取显示、修改和删除注册表项的脚本示例。程序在每一次进行注册表的操作之前,都会给出相应的提示,建议大家在运行本程序之前,用一个窗口打开本脚本的源代码,在另一个窗口打开注册表编辑器,并找到HKEY_CURRENT_USER根键。在每一次出现提示之后,不要急于点击“确定”,按<TAB>键切换到注册表编辑窗口,按下<F5>刷新一下注册表的相关键值,并观察程序的执行情况与注册表变化之间的关系。最后切换到提示窗口,按下“确定”继续程序的执行。这样,相信大家都能立即理解并学会这几个方法的使用方法。源代码如下:
‘DEMO.vbs 这是脚本程序的文件名
Dim RegWsh,sReadKey,sPrompt,sFixprompt
sFixprompt=chr(13)&chr(10)&" 是否与写入的内容相一致?:) :-) :--)"
MsgBox "此脚本显示如何创建、读取、修改和删除注册表项。"
Set RegWsh = WScript.CreateObject("WScript.Shell")
MsgBox "创建项 HKCUMyRegKey,数值为 ‘一级键值‘"
RegWsh.RegWrite "HKCUMyRegKey", "一级键值"
sReadKey=RegWsh.RegRead("HKCUMyRegKey")
sPrompt="(默认)键值为:‘"&sReadKey&"‘"&sFixprompt
msgbox "读取的HKCUMyRegKey下"&sPrompt
MsgBox "创建项 HKCUMyRegKeyEntry,数值为 ‘二级子键‘"
RegWsh.RegWrite "HKCUMyRegKeyEntry", "二级子键"
sReadKey=RegWsh.RegRead("HKCUMyRegKeyEntry")
sPrompt="(默认)键值为:‘"&sReadKey&"‘"&sFixprompt
msgbox "读取的HKCUMyRegKeyEntry下"&sPrompt
MsgBox "修改 HKCUMyRegKeyEntry(默认)键值为:‘修改后的二级子键‘"
RegWsh.RegWrite "HKCUMyRegKeyEntry", "修改后的二级子键"
sReadKey=RegWsh.RegRead("HKCUMyRegKeyEntry")
sPrompt="(默认)键值已经修改为:‘"&sReadKey&"‘"&sFixprompt
msgbox "读取的HKCUMyRegKeyEntry下"&sPrompt
MsgBox "将数值项 HKCUMyRegKeyValue 设为字符类型(REG_SZ),数值为 1"
RegWsh.RegWrite "HKCUMyRegKeyValue", 1
MsgBox "将数值项 HKCUMyRegKeyEntry 设为 双字节型(REG_DWORD),数值为 2"
RegWsh.RegWrite "HKCUMyRegKeyEntry", 2, "REG_DWORD"
MsgBox "将数值项 HKCUMyRegKeyEntryValue1 设为 二进制类型(REG_BINARY),数值为 3" RegWsh.RegWrite "HKCUMyRegKeyEntryValue1", 3, "REG_BINARY" [未结束][iduba_page]MsgBox "以下将删除 HKCUMyRegKeyEntryValue1 数值"
RegWsh.RegDelete "HKCUMyRegKeyEntryValue1"
MsgBox "以下将删除 HKCUMyRegKeyEntry 主键"
RegWsh.RegDelete "HKCUMyRegKeyEntry"
MsgBox "以下将删除 HKCUMyRegKey 主键"
RegWsh.RegDelete "HKCUMyRegKey"
从上面的例子可以看出,用脚本访问注册表其实也很简单。当然,我们也可以将用VBScript编写的脚本代码放在网页文件(Html文档)之中,这时,一般无需对代码进行任何更改,只需要在VBScript代码的前后,分别加上<script language=vbs>和</script>即可。下面我们再举一例进行说明:
〖应用之二〗带毒网页解析
点击这里看带毒网页演示。如果提示网页上有错误,请下载到本地运行。
[说明]:在使用上面这个“〖应用之二〗带毒网页解析”例子的时候,请注意有一定的危险性。一定要事先做好注册表的备份!如果出现其他异常情况,请尽快用后文中的recover.htm进行恢复!!!
有了前面所学的知识,我们已经知道,在网页中调用脚本语言访问注册表,其实是很容易的一件事。但如果所访问的注册表的键值被蓄意的进行了恶意的修改……呵呵。我们的系统的安全性就受到了严峻的挑战。
二 : 详细讲解黑客是如何成功入侵您的个人电脑路由器的
一段时间以前一位从事信息安全的朋友请我做一件奇怪的事情。让我黑掉他的路由器。我们可以叫他 bill,出于保护隐私的原因,其它的名字和地点都会有所改变。但是供应商的名字会被保留。
入侵一个大公司很容易(也许吧)。他们的信息资源可能分布在全球各地,尽管他们会投资各种各样的防护技术,但这也仅仅是让我们很难追踪他们所有的东西而已。他们得日复一日的为所有资产严格地执行扫描-修补-重启流程,不容有失。
但是入侵个人则很困难。的确,黑帽技术在非对称的信息安全性方面有它的优势。有时只需要一个 bug(就可以成功黑掉大公司)。但是与大公司相比,个体目标暴露的攻击区域是非常的小的。此外,很多人都相信大型供应商提供的信息,以及云供应商通常会做保护人们免受攻击这样高尚的事情。
我从最基本的侦察开始。我喜欢使用 Maltego,再附加上像 checkusernames.com、knowem.com、piple search 这样的网站,以及其他工具来计算在线状态。同样还有一些比较经典的网站如 Google+,Facebook 以及 Linkedin。我们可以使用 Facebook 上的一些假资料来做这样的工作。你需要为你的目标准备好的诱饵信息,这样可以通过社交引擎提取额外的信息。
而在线状态方面,密码重置问题是非常好的“低垂的果实(唾手可得的东西)”。我见过有些 web 邮箱账户询问的信息是可以直接从目标的 Facebook 资料里面找到的。我确信大多数人甚至都不会意识到这一点,他们可能在五年前写的这些重置问题(而现在早忘了)。然而现在这些东西在这里都不管用了。要知道我的目标是个搞信息安全的书呆子,而他正期待着我。
是时候跟他决斗了。首先,我检查了他是否有在他的家庭 网络 连接上托管任何东西。他可能以前做过但没有注意。很多的应用和设备使用 UPnP 在消费级的防火墙上面打孔。有时候我们只需要一个 NAS 或媒体服务器来开启一个后门即可。为了找到他的家庭 IP 地址,我使用了一个 Skype 解析器,比如 resolvme.org。它非常棒。我扫描了他的 ip 地址(以及一些邻居的 ip)来看是否可以找到一些服务。虽然没有骰子…但我确信他认为我会这样做。
好吧,接下来,821.11。无线 网络 是一个非常棒的攻击媒介。我有两块 Radeon 6990′s的显卡在 i7 平台上,通过 WPA 哈希值咬合在一起。我使用一个马尔科夫预测字表生成器来为 oclHashcat 提供预测值。它在 8 小时内能达到 80% 的平均破解率。
所以我从 bill 的地址着手(用各种 Alfa wifi 卡)。实际上我也是知道 Bill 的地址的,可能我之前已经通过侦察或社交引擎得到了这些信息。这可不是什么秘密。在我成功的捕捉到一个 WPA 握手之后,我运行了一周的破解器,还是不行。也许对大多数人来说这是有用的,但 Bill 是个从事信息安全的家伙。他的 WPA 的 key 很可能大于 32 个字符长度。
此时你可能会想为什么我没有利用 java 0-day漏洞对他鱼叉式钓鱼然后享受我的胜利啤酒。答案很简单——我知道我的目标。他精于扫描-修复-重复的咒语。我要手上真有一个浏览器0-day 漏洞,上周就赢了。
在我参观了 Bill 的地盘后,带了一点有用的信息离开了。他的无线路由器的 MAC 地址(BSSID):06:A1:51:E3:15:E3。由于我有 OUI (MAC 的前 3 个字节),我知道这是 Netgear 的路由器。我当然也知道 Netgear 的路由器有一些问题,但 Bill 运行的是最新的固件。可这并不意味着所有的漏洞都在这个固件中被修复了。想要确定唯一的办法就是自己买一个 Netgear 路由器并亲自测试它。
要获取准确的型号也许不可能(反正从远程是不行)。消费者设备可能在不同型号间有许多变体,因为参考平台来自于 Soc 供应商,比如 Broadcom 和 Atheros。我知道 Bill 有点简朴,所以我选了 WNDR3400v3——入门级的产品。
在了解了一些该设备的一些弱点后,我做了两个 Metasploit 模块。在第一个模块,我用 一个 CSRF 漏洞发送 post 请求到 UPnP 接口 并打了个孔来访问路由器自身的远程连接服务。这个问题在很多其他设备上都存在,而且非常值得重视。
如果你能通过 CSRF 欺骗 UPnP 请求,你可以将整个 网络 闹的天翻地覆。
这是非常关键的一点。我开启了一个单独的端口。你可以从受害者的浏览器上使用 Ajax 请求为每一个子网中的 IP 配置 NAT 入口,从而有效的禁用防火墙。当然对于 UPnP 的 NAT 入口数量有很多硬限制,但是大多数设备都会允许有足够的入口来为 100 台左右的主机映射一些关键端口。
为了引诱 Bill 走到我设的陷阱上,我给他发送了一封内置链接的邮件。 Cobalt Strike 有个工具可以拷贝一封已存在的邮件(标题和所有),所以就很简单了。我需要做的仅仅是修改这个链接。那么什么邮件是每个人都会点的呢?哪怕是个从事信息安全的家伙?——邀请。
编辑:有些读者可能会怀疑为什么 Bill 会喜欢这个。哪怕简单的检查下发件人域或是链接都会发现有问题。一个好的借口是成功的关键所在。至于借口的背景,我们看 这篇文章 。在这种情况下,邀请似乎从那个下午他与某个人的会议就发出了。好吧,是还有很多非正式的工作面谈,我想这是个确认偏差——他愿意相信自己得到了这个工作。
在我发送这封邮件之前,我需要一个跟踪负载。默认情况下 telnet 端口在 Netgear 路由器上是开启的,但是服务没有响应。你必须连接到端口并发送一个特殊的解锁码。事实上存在对这个漏洞的公开利用,但我还是写了 另一个 MSF 模块 ,因为我喜欢我的 Ruby(以及 Metasploit)。
Bill 点击了这个链接。在我看到回调时,我触发了第二个模块然后通过 telnet 登陆到了路由器。在我获得路由器的 root 访问权限后,我立即更改了 DNS 设置让其指向一个由我控制的 DNS 服务器。
控制 DNS 是一件非常过瘾的事情,它有效的为你提供所需要的中间人攻击。有很多的 MITM 攻击载体,但我还是喜欢 Evilgrade ——因为其隐秘性。Evilgrade 已经问世很多年了,但仍然很棒(有一些必要的修改)。在 Bill 决定升级 notepad++ 到新版本之前我等了大概一周的时间。当他做时,他送了一个有后门的版本,这也在他的 电脑 上给我提供了一个 Meterpreter shell。我立即发了封带有截图和击键记录的邮件,几分钟后他拔去了 电脑 的插头。
最后,我得到了 6 瓶装的 Ruby 啤酒的奖励。我爱我的 Ruby!
翻译: 伯乐在线 - deathmonkey
三 : 水蛭会侵入人体吗?水蛭会在吸血时经由人的皮肤侵入人体吗?如果侵入
水蛭会侵入人体吗?
水蛭会在吸血时经由人的侵入人体吗?
如果侵入人体,人会有什么症状?会对人体有什么危害?
我母亲年轻时在农村水田插秧,腿部曾被水蛭叮吸.现在她都70岁了,被叮吸部位现在还时常奇痒无比,这是什么原因呢?
无论从哪方面来看,蚂蝗能不可能从血液中进入人体。
首先你得确认是不是蚂蝗咬的!
蚂蝗多生长在稻田、池塘、沟渠、河流等处。蚂蝗身上长有吸盆,常以吸盆叮咬在人的皮肤上吸血,同时分泌有阻止血液凝集作用的水蛭素和组织胺样的物质,使伤口麻醉、血管扩张、流血不止,并使皮肤出现水肿性的疹,稍有痛感。有 时,蚂蝗还会钻人休内的鼻腔、口腔、肛门、阴道、尿道等部位,引起相应部位的痛痒、(出血)。
一旦发现被蚂蝗叮咬住,可按如下方法处理:
(1)千万不要硬性将蚂蝗拔掉,因为越拉蚂蝗的吸盆吸得越紧,这样,一旦蚂蝗被拉断,其吸盆就会留在伤口内,容易引起感染、溃烂。
(2)可以在蚂蝗叮咬部位的上方轻轻拍打,使蚂蝗松开吸盘而掉落。也可以用烟油、食盐、浓醋、酒精、辣椒粉、石灰等滴撒在虫体上,使其放松吸盘而自行脱落。
(3)蚂蝗掉落后,若伤口流血不止;可先用干净纱布区迫仍口1--2分钟,血止后再用5%碳酸氢纳溶液洗净伤口,涂上碘酊或龙胆紫液,用消毒纱布包扎。若再出血,可往伤口上撒一些云南白药或止血粉。
(4)蚂蝗掉落后,若伤口没出血,可用力将伤口内的污血挤出,用小苏打水或清水冲洗干净,再涂以碘酊或酒精、红汞迸行消毒。
(5)若蚂蝗钻入鼻腔,可用蜂蜜滴鼻使之脱落。若不脱落,可取一盆清水,伤员屏气,将鼻孔侵入水中,不断搅动盆中之水、蚂蝗可被诱出。
(6)若蚂蝗侵入肛门、阴道、尿道等处、要仔细检查蚂蝗附着的部位,然后向虫体上滴食醋、蜂蜜、麻醉剂(如1%的卡因、2%利多卡因)。待虫体回缩后,再用镊子取出。
症状:伤口麻醉、血管扩张、流血不止,并使皮肤出现水肿性的疹,稍有痛感。
baidu : jxg661130
本文标题:
黑客如何入侵路由器-网页“黑手”如何入侵你的Windows系统 本文地址:
http://www.61k.com/1060279.html