在上周末举行的首届BSides Dbulin 会议上,我发表了主题为路由器上的BadUSB (BadUSB in Routers)的演讲。演讲中描述了各种针对Netgear,TP-Link,Linksys,Asus和Mikrotik路由器的BadUSB攻击。然而,路由器因为更容易受到BadUSB的影响而更突出。
在上图中,我将Raspberry Pi Zero 插入到MikroTik hAP 的USB插口 中.这确保了路由器将通过Raspberry Pi路由所有网路流量, 从而使Pi成为中间人(man-in-the-middle)。
<iframe width="700" height="393" src="https://www.youtube.com/embed/3X7xrgan5Tk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
看起来似乎永远不会结束的PoC视频
显而易见的问题是,“怎么做?!”
答案始于MikroTik在许多路由器上支持3g和4gUSB加密狗(dongles) 。不仅仅是他们的如hAP的小路由器,还包括一些更大,机架式 的也是如此。设备被开发成默认支持第二个USB WAN接口。
树莓派,如配置 ,在图中显示为一个LTE接口。
配置了pP4wnP1 默认以太网设备描述符及用在旧式Linksys网络适配器的VID/PID的树莓派,可认为是新的WAN接口。路由器发送DHCP 请求来为新的lte1接口获取一个IP地址。树莓派的DHCP响应在第121项中包含了额外的路由指令。这些额外的指令基本描述的是“将所有的网络流量路由到lte1接口”。
路由器收到了树莓派的DHCP响应后的路由表
Samy Kamkar , Rob Fuller , P4wnP1 , 我确定其他人在其他的BadUSB攻击中使用过DHCP选项。但由于我攻击的是路由器,所以,我攻击的范围不仅仅是一台主机,而是整个局域网的主机。
然而,仍然有问题存在。树莓派不是一个实际的WAN接口,它唯一连接到互联网的方式是返回到路由器中。
路由循环
针对此问题,我的解决方案是转发所有的流量通过VPN服务器。“技巧”是在121项中不包含VPN服务器的得知。那样,树莓派可以传输数据包到远程VPN服务器上,VPN服务器可以转发数据到互联网上。
有了这个解决方案,请求和响应访问互联网来去自如。在下图中,你可以看到路由跟踪从LAN到MikroTik路由器再到树莓派,随后到VPN服务器,最终到达互联网。
每个人可能都不清楚这个问题,但这是一个重要的结果。树莓派和VPN服务器均可获得或改变所有的网络流量。在下面的图片中,客户端(左侧)浏览器访问securitybsides.com,同时,VPN服务器在Wireshark中捕获到请求和响应。
我希望这嘲讽的事情不在任何人身上应验
如果你想了解更多的技术细节,或者你自己复现攻击,请到我们的GitHub仓库 .那里你会发现额外关于硬件和软件使用及配合P4wnP1框架一起使用的payload的细节。
这种攻击的可能性并未在此结束。Raspberry Pi Zero的主要吸引力是它非常便宜。但是,尽管它非常小,但还是比传统的USB设备大。这可能会使现实世界的攻击变得不切实际。如果多投入一点钱,这种攻击应该很容易移植到如USB Armory 或Teensy 一样的看起来更像USB的设备上。
USB Armoy,如上图所示,被用在Rob Fuller的write up 中
有许多的带有USB接口的路由器应该被分析。我只研究了一小部分设备。例如,思科RV系列 看起来像是个大蛋糕。
这种攻击很有趣,但不至于 让你(担心的)睡不着觉。只需要遵循以下简单指南:
控制你的路由器的物理访问。
禁止无用USB端口。不仅仅是路由器,而是所有设备上!
定期检查设备是否有异常连接的硬件。
尽可能使用加密。
使用VPN在不了解的网络中(如,公共WiFi)。
原文地址:https://medium.com/tenable-techblog/owning-the-network-with-badusb-72daa45d1b00
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2019-5-14 09:55
被sudozhange编辑
,原因: 图片存储到本地