日韩在线不卡一区二区三区四区五区,欧美视频一区二区三,欧美视频中文字幕一区二区,高端 精品 国产 探花,亚欧无吗一二三四五六区
RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何利用JavaScript緩存遠程竊取Wi-Fi密碼

這篇文章將為大家詳細講解有關如何利用JavaScript緩存遠程竊取Wi-Fi密碼,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

鞏義網(wǎng)站建設公司成都創(chuàng)新互聯(lián),鞏義網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為鞏義上千余家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的鞏義做網(wǎng)站的公司定做!

如何利用JavaScript緩存遠程竊取Wi-Fi密碼

我一直想在這個小項目上花一些時間做一些研究,但是由于生活所迫讓我總是一直繁忙?,F(xiàn)在我終于可以抽出一些時間了繼續(xù)研究這種攻擊技術了,我將在本文中闡述我的研究成果。

很久以前,我學習了Vivek Ramachandran講解的“無線局域網(wǎng)安全Megaprimer課程”(課程非常好,強烈推薦),順便說一下,在我做旅行的時候,我住的那些不同的酒店都會提供Wi-Fi。毋庸置疑,我的大腦開始變得瘋狂,因此我一直在思考獲取Wi-Fi密碼的“非常規(guī)”的方法。

Can't turn my brain off, you know.?It's me.
We go into some place,?and all I can do is see the angles.?– Danny Ocean (Ocean's Twelve)

我即將描述的想法非常簡單,可能也不是什么新的思路了。盡管如此,對我來說這是一種有趣的方式,讓我將放在架子上一直吃灰的Raspberry Pi重新用了起來。

思路描述

我們的想法是利用網(wǎng)絡瀏覽器的緩存來竊取Wi-Fi密碼。因為我需要為項目起一個名字,所以我在開發(fā)完這個項目后將其命名為“Dribble”:-)。Dribble 會創(chuàng)建一個虛假的Wi-Fi接入點,并等待客戶端連接它。當客戶端連接時,dribble會攔截對JavaScript頁面執(zhí)行的每個HTTP請求,并在響應中注入惡意JavaScript代碼。新響應的HTTP頭也會被更改,以便惡意的JavaScript代碼被緩存并強制在瀏覽器中保留。當客戶端與虛假接入點斷開連接并重新連接到家庭路由器時,惡意JavaScript代碼將激活,從路由器竊取Wi-Fi密碼并將密碼發(fā)送給攻擊者。 很簡單,對吧?

為了達到這個攻擊目的,我必須弄清楚這三件事:

如何創(chuàng)建虛假接入點

  • 1.如何強迫人們連接到這個偽造的熱點

  • 2.惡意的JavaScript代碼應如何從路由器竊取密碼

  • 3.如何創(chuàng)建虛假的無線接入點

這非常簡單,偽造的方法也包含在無線局域網(wǎng)安全Megaprimer課程中,并且有許多不同的github存儲庫和gist上的代碼可以用來創(chuàng)建一個虛假的訪問點。因此,我不會過多地描述細節(jié),但為了完整起見,讓我們討論一下我使用的方法。我之前使用 hostapd 創(chuàng)建過Wi-Fi接入點,DNSmasq 作為DHCP服務器和DNS中繼服務器,并使用 iptables 創(chuàng)建NAT網(wǎng)絡。下面的bash腳本將創(chuàng)建一個非常簡單的不受任何密碼保護的Wi-Fi訪問點。我在代碼中添加了一些注釋,希望能提高可讀性。

#!/bin/bash
# the internet interface
internet=eth0
# the wifi interface
phy=wlan0
# The ESSID
essid="TEST"
# bring interfaces up
ip link set dev $internet up
ip link set dev $phy up
##################
# DNSMASQ
##################
echo "
interface=$phy
bind-interfaces
# Set default gateway
dhcp-option=3,10.0.0.1
# Set DNS servers to announce
dhcp-option=6,10.0.0.1
dhcp-range=10.0.0.2,10.0.0.10,12h
no-hosts
no-resolv
log-queries
log-facility=/var/log/dnsmasq.log
# Upstream DNS server
server=8.8.8.8
server=8.8.4.4
" > tmp-dnsmasq.conf
# start dnsmasq which provides DNS relaying service
dnsmasq --conf-file=tmp-dnsmasq.conf
##################
# IPTABLES
##################
# Enable Internet connection sharing
# configuring ip forwarding
echo '1' > /proc/sys/net/ipv4/ip_forward
# configuring NAT
iptables -A FORWARD -i $internet -o $phy -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $phy -o $internet -j ACCEPT
iptables -t nat -A POSTROUTING -o $internet -j MASQUERADE
##################
# HOSTAPD
##################
echo "ctrl_interface=/var/run/hostapd
interface=$phy
# ESSID
ssid=$essid
driver=nl80211
auth_algs=3
channel=11
hw_mode=g
# all mac addresses allowed
macaddr_acl=0
wmm_enabled=0" > tmp-hotspot.conf
# Start hostapd in screen hostapd
echo "Start hostapd in screen hostapd"
screen -dmS hostapd hostapd tmp-hotspot.conf

如何強迫人們連接到偽造的熱點

免責聲明:由于各種原因,我故意將本節(jié)的內(nèi)容留在高級別的描述中而沒有提供任何代碼。但是,如果我的方法能得到足夠多的關注并且確實有人對此感興趣,我可能會進行更深入的討論,或許會提供一些代碼和實踐指南。??

根據(jù)你的目標,可能有不同的方法嘗試讓某人連接到虛擬接入點。我們來討論兩種情況:

在這種情況下,目標連接到受密碼保護的Wi-Fi,可能是攻擊者試圖訪問的受密碼保護的Wi-Fi。在這種情況下,有幾件事情要進行嘗試,但首先讓我討論有關Wi-Fi是如何工作的內(nèi)容。深受大家喜愛的802.11標準有許多有趣的功能,其中有一個我發(fā)現(xiàn)…非常有趣。802.11定義了一個特殊的數(shù)據(jù)包,無論是加密,密碼,基礎設施或任何內(nèi)容,如果把這個數(shù)據(jù)包發(fā)送到客戶端則只會斷開該客戶端與接入點的連接。如果你發(fā)送一次,客戶端將斷開連接并立即重新連接,用戶甚至不會注意到發(fā)生了什么。但是,如果你繼續(xù)發(fā)送這種數(shù)據(jù)包,客戶端最終會放棄重新連接,也就是說,你實際上可以阻塞Wi-Fi連接,用戶可能會注意到他沒有連接到接入點。通過濫用此特性,你可以簡單地強制客戶端斷開與其連接的合法訪問點的網(wǎng)絡連接?;谶@一點,可以做兩件事:

1.攻擊者可以使用與目標連接的訪問點相同的ESSID創(chuàng)建虛假訪問點,但沒有密碼。在這種情況下,攻擊者應該希望一旦用戶意識到他沒有連接到接入點,他就會嘗試再次手動連接。因此,目標將找到具有相同ESSID的兩個網(wǎng)絡,需要密碼的那個會有“鎖”的圖標,而另一個不需要密碼的則沒有這個圖標。用戶可能首先嘗試連接到帶有“鎖”圖標的那個,但這不會起作用,因為攻擊者已經(jīng)干擾用戶連接到這個熱點了,并且可能他也可能嘗試沒有“鎖”圖標的那個…畢竟它具有相同的名稱他非常想要連上網(wǎng)絡……對嗎?

2.另一個有趣的行為也可以用來強迫用戶連接虛假的熱點,無論何時,如果客戶端沒有連接到接入點,那么客戶端都會不斷的發(fā)送尋找先前已知的ESSID的信標數(shù)據(jù)包。如果目標已連接到未受密碼保護的接入點,并且可能是用戶自己的行為,則攻擊者可以簡單地創(chuàng)建一個虛假接入點,與目標訪問的未受保護接入點的ESSID相同即可。因此,客戶端將會愉快地連接到虛假接入點。

在這種情況下,目標沒有連接到任何Wi-Fi接入點,可能是因為目標是智能手機而且目標用戶正在街上行走。但是,有可能Wi-Fi網(wǎng)卡仍處于打開狀態(tài)且設備仍在尋找已知的Wi-Fi ESSID。再次,如前所述,目標可能已連接到某個未受密碼保護的Wi-Fi接入點。因此,攻擊者可以使用目標已連接過的接入點的ESSID來創(chuàng)建虛假接入點,就像之前那樣,Wi-Fi客戶端將愉快地連接到虛假接入點。

創(chuàng)建并注入惡意載荷

現(xiàn)在我要說的是一個“略新”的思路(至少對我而言):弄清楚惡意JavaScript代碼應該如何訪問路由器并竊取Wi-Fi密碼。請記住,受害者將連接到虛擬接入點,這顯然給了攻擊者一些機會,但仍有一些事情需要考慮清楚。

作為攻擊測試的目標路由器,我使用了家用Wi-Fi路由器,特別是我的ISP免費提供的D-Link DVA-5592。不幸的是,目前我還沒有其他可以測試的設備,所以我必須用它做好準備。

我們現(xiàn)在討論的是惡意JavaScript代碼。我們的目標是讓這些惡意代碼對路由器執(zhí)行請求,這意味著它必須對本地IP地址執(zhí)行請求。說到這里,你應該已經(jīng)想到了諸如Same-Origin-Policy和X-Frame-Option之類的關鍵字。

同源-策略

讓我借用MDN網(wǎng)絡文檔中的定義:

同源策略是一種關鍵的安全機制,它限制了從一個源加載的文檔或腳本與來自另一個源的資源交互。它有助于隔離潛在的惡意文檔,減少可能的攻擊媒介。https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
換句話說:如果域A包含JavaScript代碼,則該JavaScript代碼只能訪問域A中的信息或域A的子域。它無法訪問域B中的信息。

X-Frame-Option

讓我再次從MDN Web文檔中借用這個字段的定義:

X-Frame-Option 是一個HTTP響應頭可用于指示瀏覽器是否應該允許在,