最近几年,无线技术迅猛发展,现在无论在公司还是家庭都在广泛使用。人们已经对那些技术产生了很大的依赖性,以至于无线设备随处可见,从网络设备到笔记本电脑、照相机等等。 http://anheng.com.cn/news/article.php?articleid=653
虽然这些设备支持标准的安全选项和协议来对付普通攻击(加密、验证等),但是由于真实使用的安全等级以及攻击者掌握的技术水平,所以这些设备还是可能受到攻击。
有时,黑帽子发现公司无线网络非常脆弱甚至没有安全性,他们能够以此为撕破口,进一步渗透到内部的机器来窃取信息或者作为跳板攻击Internet上其它机器以隐藏自己的踪迹。这些威胁可以穿越外部物理屏障(比如来自停车场,公司下的街道、窗口)或者就在你的内部环境,因为攻击者使用手持PDA或笔记本电脑,加上无线网卡和扫描软件就可以发现网络。
这篇文章主要介绍无线环境(WiFi相关技术)下蜜罐的建设以及对付黑帽子群体的策略。
1.0 无线密码的介绍 http://anheng.com.cn/news/article.php?articleid=653
Internet上有大量关于无线技术、无线威胁、无线安全和蜜罐技术的优秀资源,本文不再覆盖相关细节,主要关注核心主题:无线蜜罐。我们假设阅读此文的读者有无线网络、无线安全以及蜜罐方面相关的知识。 http://anheng.com.cn/news/article.php?articleid=653
首先我们会介绍一下什么是无线蜜罐,然后将通过两个简单的技术样例来详细介绍它的原理以及如何设计构建。在结束前,我们将介绍这种架构的一些局限性。
2.0 定义
Honeynet项目的领导者Lance Spitzner对蜜罐的定义是这样的:“蜜罐是一种用来引诱未经验证或非法访问的信息系统资源。”[参考1] http://anheng.com.cn/news/article.php?articleid=653
所以无线蜜罐就可以简单的认为是等待攻击者或恶意用户访问的无线资源。
3.0 目的 http://anheng.com.cn/news/article.php?articleid=653
为什么我们要使用无线蜜罐?这取决于你的网络和对安全的需要。当你使用无线蜜罐后,你会对它产生的好处感兴趣的。在黑帽子团体里,有很多人喜欢攻击无线网络,因为对无线网络的攻击有如下几个特点:
安全:在攻击的时候无需实际的物理连接,可以保持较远的距离,所以被发现的时候可以跑开;
简单:现在到处都有大量开放或者不安全的AP(酒店、机场、公共区域无线服务点,还有SOHO无线网络等)。这种设备越来越便宜,而且数量越来越多;
技术新:无线网络的攻击比较有吸引力和挑战性;
隐蔽:对于黑客和网络恐怖分子来说,无线网络是一个理想的作案平台。随机使用开放AP连接网络,增加了攻击的隐蔽性,被捉获的可能性很小。
但是很多管理员常常认为,针对无线的攻击使得攻击者在位置上必须靠近网络设备,所以无线攻击的危险性要小于Internet的攻击。而且他们坚信这些攻击很少发生。但是对许多公司来说,无线网络被攻破带来的后果是非常严重的。
无线蜜罐可以帮助你的网络得到受攻击的真实统计数据,包括攻击频率、攻击者的技术水平、攻击得手次数以及使用的方法。无线蜜罐同样可以保护你的网络,因为它的迷惑性使得攻击者花费大量精力对付伪造的目标,而且不易发现你网络的真实构架。
4.0 理论与实践 http://anheng.com.cn/news/article.php?articleid=653
怎样在无线环境里愚弄那些坏小子呢?要回答这个问题,你得思考你需要解决哪些威胁,然后制定实施计划。
4.1 无线活动性 http://anheng.com.cn/news/article.php?articleid=653
首先,攻击者会试图扫描或**无线网络,所以你可以发送伪造的数据包让攻击者认为你这儿有一个无线网络(看后面FakeAP)。配置伪装的无线资源是一件很有趣的事情,特别是模拟蜜罐的数据传输。但是目前可以自动或者容易使用的这方面公开的工具还很少,不过我们可以使用以下的脚本来模拟AP和它的客户端之间的网络会话,也可以用tcpreplay来发送已经记录下来的数据包。 http://anheng.com.cn/news/article.php?articleid=653
法国的Honeynet项目有时使用Perl脚本来对一些随机的会话和命令进行对话。来自ENSEIRB的学生在对UML和蜜罐进行一些研究后,在2003年6月的法国SSTIC会议上提出这个想法。[参考2]
下面的两个脚本提供了自动进行会话和执行命令的功能,可以用来模拟无线数据传输:
#!/usr/bin/perl
# initiated by Micha?l HERVIEUX, Thomas MEURISSE
# example of script to simulate an automatic FTP session
# feel free to modify it and add random activity
# launch it from your clients (use cron, etc)
use Net::FTP;
$ftp = Net::FTP->new("192.168.16.98");
if ($ftp == NULL)
{
print "Could not connect to server.\n";
exit(9);
}
if ($ftp->login("barbu1", "StEugede"))
{
$ftp->cwd("/home/rpm/");
$ftp->get("Readme.1st");
$ftp->quit();
}
else
{
print "Could not login.\n";
exit(7);
} http://anheng.com.cn/news/article.php?articleid=653
#!/usr/bin/perl
# initiated by Micha?l HERVIEUX, Thomas MEURISSE
# example of script to simulate an automatic SSH session
# feel free to modify it and add random activity
# launch it from your clients (use cron, etc) http://anheng.com.cn/news/article.php?articleid=653
use Net::SSH:erl;
my $ssh = Net::SSH:erl->new("192.168.16.98",protocol => 2);
$ssh->login("misc","m4gRul3Z");
$ssh->cmd("who");
$ssh->cmd("uname -a");
# ?
相比有线网络,对于保持蜜罐活动性来说无线网络模拟数据传输非常重要,因为攻击者往往需要看到有数据传输才可以实施他们的攻击。绕过802.1X,绕过MAC地址过滤,破解WEP密钥,看见信标,看见了客户端连接数据桢里的SSID,而这一切必须有数据传输才能进行分析。
4.2 无线构架
首先,你起码有一个设备来提供无线接入。如果你选择真实的AP,那么把它安全的接入一个有线网络(至少有一台电脑),这个伪造的网络必须有一些可见的资源来吸引攻击者,还有一些不可见的资源来记录数据和检测入侵(捕获数据)。为了监视2层无线的攻击,必须有一个不可见的处于Monitor模式的无线客户端来捕获数据,Kismet软件可以实现这个目的。下面的图1展示了一个架构的样例: