下面的例子是一个无线网卡设置成Master模式并且运行Honeyd的笔记本电脑的测试方法。假设你想模拟成有Web服务器进行管理的Linksys WRT54 AP,要让Honeyd模拟这个栈和Web服务器,只需运行下面的脚本:
create linksys
set linksys personality " Linux Kernel 2.4.0 - 2.5.20"
add linksys tcp port 80 "/bin/sh scripts/fakelinksys.sh"
add linksys udp open 53 open
add linksys udp open 67 open
add linksys udp open 69 open
set linksys tcp action reset
bind 192.168.1.1 linksys

远程攻击者使用工具nmap(-O检查系统指纹)将会看到如下的信息:

Remote operating system guess: Linux Kernel 2.4.0 - 2.5.20

为了模拟Linksys的Web管理接口,Honeyd需要使用fakelinksys.sh脚本来处理Web请求。fakelinksys.sh脚本如下:
#!/bin/sh
DATE=`date`
echo "== Httpd break-in attempt [$DATE] ==" >> /tmp/linksys.log
while read request
do
    LINE=`echo "$request" egrep -i "[a-z:]"`
    if [ -z "$LINE" ]
    then
        break
    fi
    echo "$request" >> /tmp/linksys.log
done
echo "==" >> /tmp/linksys.log

 

cat << _eof_
HTTP/1.0 401 Unauthorized
Server: httpd
Date: $DATE
WWW-Authenticate: Basic realm="WRT54G"
Content-Type: text/html
Connection: close

<HTML><HEAD><TITLE>401 Unauthorized</TITLE></HEAD>
<BODY BGCOLOR="#cc9999"><H4>401 Unauthorized</H4>
Authorization required.
</BODY></HTML>
_eof_

这种构架你可能可以看到攻击者会不断尝试默认口令(linksys/admin),他们还以为自己在攻击一个真实的设备呢。

5.2 FakeAP

在无线的世界里,大家对于无线扫描和无线监听称之为战争驾驶(wardriving)或者战争漫步(warwalking)。战争驾驶一般是试图发现开发的网络。迷惑这种潜在的攻击者最好的方法是模拟许多伪造网络,它们将会浪费攻击者的时间甚至失去耐心。对付一个网络相对容易,但是对付一堆迷惑的目标可能就不是那么容易了。

在Defcon X会议上,Black Alchemy以GPL协议发布了一个免费工具叫FakeAP[参考5],这个工具可以实现我们上述目的。它可以发送指定的无线网络数据以愚弄那些菜鸟攻击者。当有人在进行战争驾驶的时候,FakeAP可以发送大量的802.11b信标数据帧,并且在BSSID(MAC)、ESSID、分配的信道等字段做手脚,这时远程攻击者被动监听数据包将会发现成千上万的伪造AP。这种方法使用工具也可以轻易实现,比如在Linux下可以用:iwconfig eth1 ESSID RandomSSID channel N...来手工实现。不过现在有些新工具能够监测到这些不正常的AP,因为这些被发现的网络没有数据传输。图4显示了NetStumbler扫描到一个蜜罐的情况:

无线蜜罐的技巧Wireless Honeypot Trickery无线网译文
图4:NetStumbler扫描到一个FakeAP的蜜罐

6.0 局限性

如果你想布置蜜罐以愚弄攻击者,你必须模拟的更真实。有些黑帽子认为蜜罐没有什么可以害怕的,因为他们觉得自己比蜜罐的建造者技术更高,甚至发布了如何识别蜜罐的文章[参考7、8]。在这种公开的游戏里,道高一尺魔高一丈的较量,使得蜜罐技术也不断发展,它的隐蔽性也不断增强。

无线蜜罐和传统蜜罐一样存在隐蔽性的问题,另外无线环境还会带来其相关的问题。不过有个简单的游戏规则要记住,有经验的攻击者对“漏洞百出”的网络也是心存顾忌的:

  • 你模拟的越真实,留下可攻击的漏洞越少,那么你越可能捉住有经验的攻击者(但是这种情况入侵发生的几率会很少)
  • 你的隐蔽性做的越差,留下的破绽越多,你看到成功的攻击就越多(但是大部分会是没有经验的攻击者)

因此,你可以根据自己实际要求来确定是否使用下面选项建立无线蜜罐:

  • 信标传播;
  • WEP(用40位密钥或128位密钥,实际是104位。这样使得攻击者破解难度不同);
  • MAC过滤;
  • 802.1X验证;
  • 客户端和AP之间的无线传输;
  • 无线客户端自动连接模式打开;
  • 使用各种已知标准的无线网络(802.11b、802.11g、802.11a?)。

7.0 结论

我们没法在一个文档里对无线攻击的经验和技术介绍的面面俱到,这个文档只是帮助你如何建立自己的无线蜜罐。这种新的安全资源可以方便的对无线入侵进行有效监视,并且可以知道黑帽子是如何攻击得手的以及他们使用的相关工具。不管他们是公司的攻击者、带宽的偷窃者或者是网络恐怖分子,他们都将被发现。

结束前,我们将介绍一个著名的无线蜜罐布置真实案例:科学应用国际公司(SAIC)在华盛顿地区建立了第一个大型的无线蜜罐用来捕捉WiFi黑客[参考6],下面图5显示了布置地图:


 
(图片较大,请拉动滚动条观看)
图5:SAIC在华盛顿地区布置的无线蜜罐

参考资料

  1. [Lance Spitzner's web site : http://www.trackinghackers.com ]
  2. [Hervieux and Meurisse, Symposium Sécurité des Technologies de l'Information et des Communications, SSTIC 2003, Rennes, France, UML as a Honeypot, http://www.sstic.org/SSTIC03/resumes03.shtml#UML and http://www.sstic.org/SSTIC03/presentations/Honeypots_UML___M._Hervieux_T._Meurisse/ ]
  3. [CanSecWest 2004, Towards Evil Honeypots, when they bite back http://www.cansecwest.com ]
  4. [Honeyd project, by Niels Provos : wireless honeypots examples at http://honeyd.org/config/wireless and at http://honeyd.org/configuration.php ]
  5. [FakeAP tool, by BlackAlchemy : http://www.blackalchemy.to/project/fakeap/ ]
  6. [Wi-Fi Honeypots a New Hacker Trap, by Kevin Poulsen, http://www.securityfocus.com/news/552 ]
  7. [Local Honeypot Identification, by Joseph Corey, http://www.phrack.org/fakes/p62/p62-0x07.txt ]
  8. [Advanced Honey Pot Identification, by Joseph Corey, http://www.phrack.org/fakes/p63/p63-0x09.txt ]

举个例子,比如你配置的网络只允许DNS可以自由传输,而其它服务都是需要验证的,那么你可能捕捉到攻击者试图通过DNS数据封装访问到Internet的技巧和工具。这些工具会暴露他们通过无需验证的隧道会话自由访问Internet而使用的服务器(比如Nstxd服务器)的远程IP,这最终会成为我们控告他们的证据。如果黑帽子担心这些风险,那么他们在实施非法行动的时候会有所顾忌,从而使得无线犯罪攻击有所减少。

在这种构架上,无线客户端的布置是另外一个重要的选项。通常,大家配置的蜜罐都倾向于服务器,但是客户端可以更真实或监视某种特定的攻击。比如在无线环境里,客户端不但能够模拟无线数据传还可以监视和探测二层攻击。实际上,一些攻击者通过监听无线网络数据传输来识别存在的客户端,有时这些客户端由于没有很好的配置并且保护的很糟糕(比如家庭和公司里使用的笔记本电脑),它们就是攻击者垂涎的目标。比如,攻击者使用自己恶意AP发送比其无线环境里正常使用AP更强的无线信号,那么这个客户端可能会自动的连接到攻击者的恶意AP,攻击者就可以对它下黑手了:比如中间人攻击、拒绝服务、散播新蠕虫等等。

有一个简单的解决方案,把无线网卡设置成Master模式就可以模拟AP,这样只用一台机器就可以把蜜罐系统搭建起来,这种方式便宜而且容易管理。如果它没有连接到你的实际网络,那么即使蜜罐被攻破也不会有什么危险。而且蜜罐的交互性非常容易调整。如下图,有无线网卡的电脑使用Honeyd就可以方便的配置成一个蜜罐。

 

无线蜜罐的技巧Wireless Honeypot Trickery无线网译文
图2:简单的使用Master模式和Honeyd的无线客户端

 

另外一种可能的方法是直接修改无线AP,把它改造成一个蜜罐。这是一件非常有趣而且稍有难度的事情,Linksys的WRT54G非常便宜,而且它的源码以GPL协议公开,这样你可以修改并重建固件,使得AP达到自己的要求。对于Honeyd只需做少量的修改,并且编译成MIPS二进制使得可以在AP(运行Linux 2.4.5)上运行,这样就建立了一个非常古怪内置无线的蜜罐。也许不久就会出现类似的商业无线蜜罐。

 

无线蜜罐的技巧Wireless Honeypot Trickery无线网译文
图3:修改过固件和内置Honeyd的AP

 

有利即有弊,这种方式的AP也有可能被坏蛋利用,经过定制后被动的等待那些无线验证的无线客户端,并且反击它们。如果你对恶意蜜罐感兴趣,你可以参加由Dragos Ruiu组织的下届CanSecWest会议。

5.0 应用实例

下面将介绍两种简单的无线蜜罐构建例子。

5.1 Honeyd

模拟一个有无线接入的网络

如果你关注过著名工具Honeyd作者Niels Provos的一些工作,你将会找到一个用于无线蜜罐构架下伪装Internet路由拓扑的配置样例[参考4]。这个简单的配置展示了在无线环境下如何方便的模拟一个大型网络。这种构架在一个叫做Libre Software Meeting 2003的会议上被使用过。这种构架会让外面的攻击者认为他发现了一个大型网络,当他意识到什么也不是的时候会浪费数小时。

 虽然这些设备支持标准的安全选项和协议来对付普通攻击(加密、验证等),但是由于真实使用的安全等级以及攻击者掌握的技术水平,所以这些设备还是可能受到攻击。

本日志由 胡子 于 2008-09-06 21:35:45 发表到 技术文章 中,目前已经被浏览 1098 次,评论 0 次;

作者添加了以下标签: 无线蜜罐技巧Wireless HoneypotTrickery

首页只显示了部分日志内容,要查看日志的全部内容请阅读全文