全自动无线攻击装置【翻译】

原本地址:http://www.iodigitalsec.com/fully-automatic-wireless-hacking-station/

译:92ez.com

------------------------------------------华丽丽的分割线-------------------------------------------------

本文介绍了一种一体化脱机无线攻击装置,它可以在客户端之间执行中间人攻击并且无需接入互联网或者其他外部连接或支撑。

通俗点儿说,这种便携式电池供电的装置能够自动诱骗具有无线功能的设备来连接它,像iPhones/iPads, Androids和其他手机或者笔记本电脑和台式机这些。大多数设备甚至会在用户毫不知情的情况下自动连接这个装置。此装置会提供一个运行着假冒的电子邮件和Web服务器的虚假网络并且使用某些网络欺骗来捕获任何尝试连接此装置的主机名称,用户名和密码以及GPS的详细坐标信息,并且记录这些内容。该装置可以用来劫持公司和个人的邮件登录,facebook的登录,等等。

https-activesync.png - 大小: 13.06 KB - 尺寸: 1004 x 339 - 点击打开新窗口浏览全图
imaps-smtps-outlook.png - 大小: 27.9 KB - 尺寸: 878 x 932 - 点击打开新窗口浏览全图
围绕着airbase-ng,一部分客户端漏洞研究人员在做一些概念验证的时候成立了一个有趣的项目。目前广泛应用的无线技术有一定缺陷。首先对这个项目进行说明。项目描述的是无线中间人攻击,无需受害人(主动)连接终端。我们需要创建一个无互联网接入的中间人攻击。这种攻击路轮上可以用在隧道,封闭式建筑,移动式攻击等等,而不需要移动数据卡。将树莓派改造成热点,虽然任何Linux发行版本都适合,我把我的无线设备输出功率设置成30dBm并且开始自动化流程如下:

首先,在我的rtl8187网卡上开个热点

/usr/local/sbin/airbase-ng -c 3 wlan0 –essids “/root/pen/code/scripts/essids” -P -C 60 -I 60 -vv|grep –line-buffered  “directed probe request”|tee /run/probes
首先在信道3建立一个认证热点,/root/pen/code/scripts/essids中存储了获取到的客户端请求连接的SSID的探测包,然后创建并广播这些SSID(PS:这里博主根据自己理解翻译)。现在,说的更详细一点儿,“non-hidden”类型的认证热点会定期广播“beacons”的数据块,包含SSID(无线网络名称)以及加密类型等等。这新信号通常以每100毫秒发送一次。无线客户端会发送探测数据包,里面包含了(客户端已经存储的)所有无线网络的SSID,并且会要求连接(如果他们在范围内)。
dscf0790.jpg - 大小: 544.26 KB - 尺寸: 800 x 533 - 点击打开新窗口浏览全图
dscf0794.jpg - 大小: 539.07 KB - 尺寸: 800 x 533 - 点击打开新窗口浏览全图
airbase-ng
的-P开关是(热点)对所有的探测包说“是的,那是我”,假定客户端缺失本地存储的配置文件或者没有加密的情况下就会尝试建立连接。然而在尝试建立测试的途中,苹果发布了IOS 6,有一点改变看起来像是Iphone将只发送广播探测包,而不是定向探测包,这让-P的特性失效了。就类似于设备在问“有人吗?”然后等待热点回复。然而,大多数iphone或多或少的都连接过类似于“Boingo Hotspot”、“BTOpenzone”和“BTWiFi”(这些是英国常见的免费没加密的无线热点名称),我相信“attwifi”在美国应该是很流行(PS:我大宋朝必然是各种CMCC,China-Net啊)。

然后我们等待airbase-ng的at0接口启动,在开启DHCP服务器之前我们手动设置IP范围为10.0.0.0/16 将at0自己的IP设置成10.0.0.1,这表示路由器和DNS都设置成10.0.0.1。

然后我们通过iptables来创建一个DNAT规则的条目来重定向流量,来自at0的流量都将指向他自己的10.0.0.1;

iptables -t nat -A PREROUTING -i at0 -j DNAT –to-destination 10.0.0.1
记住我们没有默认的网关,我们在设备上运行伪造服务的时候最大的问题是我们没有办法执行DNS查找,因此我们使用10.0.0.1来响应所有的DNS请求,这表示我们记录下来的日志很有可能都是没用的。


对于这一点,我想认为这将是我温习编程技巧和重新学习PERL的好主意。使用POE和sqlite3,然后我们运行一个假的DNS服务器。DNS服务器被分配了一个范围,使用199.0.0.0/8来分配IP。第一个请求分配了199.0.0.1并且记录到数据库。第二个请求分配的199.0.0.2,以此类推。如果我们已经记录了一个请求,我们会拿出我们上次记录的IP。客户端是否接受我们的DNS或者他们有自己的硬件编码,DNAT(规则)将会把所有的DNS请求重定向到我们的设备。我们的DNS表看起来可能像这样:

id ip host
1 199.0.0.1 apple.com
2 199.0.0.2 www.google.com
3 199.0.0.3 m.google.com
4 199.0.0.4 imap.gmail.com

现在,苹果和黑莓试图连接一个URL来确认网络服务,如果他们接收到的不是预期的响应,那么他们就会认为这是一个热点并且弹出一个登录页面。我们必须满足这个查询请求假装他们已经成功连接到了互联网。

下一步流程是客户端尝试连接到服务的哪个地方。我目前已经创建了支持POP3, IMAP, HTTP 和 他们SSL 版本的服务,也可以轻松的添加其他的服务。

一旦客户端发一起一个连接请求,它将会通过DNAT重定向回我们的设备。在Linux下面,我们最开始是通过socket的SO_ORIGINAL_DST选项来请求目的IP。假设客户端试图连接到199.0.0.3的IMAP服务,我们的IMAP服务器工具满足协议中的认证登陆凭证来让客户端感觉良好,以及在sqlite3数据库中查找主机名m.google.com并在响应的头信息上呈现。

这里应该会用到SSL,我们为m.google.com动态的创建一个自签名证书,并把它展示给客户端。它将弹出一个常见的只有一个主机名的SSL证书警告,非专业人员很容易就会点击接受。Iphone 4或者更高版本有一个非常烦人的特性,无论你点多少次取消,它一直会显示SSL警告框,除非你点了continue或者关闭了wifi。

img_0695.png - 大小: 77.72 KB - 尺寸: 640 x 960 - 点击打开新窗口浏览全图
这能保证几乎所有的用户都会去点continue.除了在测试的时候,一开始甚至都没意识到iphone上弹出的那个警告框是SSL证书的警告。我很惊讶这个警告强大到无话可说。(PS:应该翻译成”这警告上的文字说了等于没说“)
img_0696.png - 大小: 26.41 KB - 尺寸: 640 x 960 - 点击打开新窗口浏览全图

一旦我们有了这些凭据,这些记录在单独表中并且与用户试图请求的原始主机指向的(重定向)IP条目关联。因此我们可以在独立的没有网络连接的便携式装置上记录主机的详细信息,用户名和密码。最后,设备上还配备一个BlueNEXT GPS 接收器,所以如果他们在嗅探区域可用的话,GPS坐标信息也可以被记录。

法律不可能允许在共同场所运行这样的设备,然而,我们依然可以使用内部测试的方式在我的设备上运行这行的系统。运行这样的一个设备从家里到公司的这段距离选取一个合适的比较繁忙的公共场所只需要几分钟是时间就可以轻松的获取数以百计的密码。此外,这种设备没有与外部的互联网相连接,这就意味着无法追踪这样的设备。在我的下一篇帖子中我将谈论一些涉及到的弱点以及他们是如何被攻克!

本文链接:https://www.92ez.com/?action=show&id=6
!!! 转载请先联系non3gov@gmail.com授权并在显著位置注明作者和原文链接 !!! 小黑屋
提示:技术文章有一定的时效性,请先确认是否适用你当前的系统环境。

关键词: 无线攻击

上一篇: GSM Sniffer 初探之小试牛刀[kali linux]
下一篇: [转载]linux下ettercap嗅探工具的详细命令解释

访客评论
#1
回复 我是渣渣 2015-02-14, 10:36 PM
大牛怎么没教怎么玩的!
#2
回复 Richard 2015-02-24, 5:08 PM
待续。。。要等待多久啊:)
回复 GH05T 2015-03-02, 2:56 PM
@Richard: 已经补上了,真是不好意思
回复 Richard 2018-11-03, 4:58 PM
@GH05T: 无敌的设备竟然没人发现
发表评论

评论内容 (必填):