版權聲明:本文可能為部落客原創文章,若标明出處可随便轉載。 https://blog.csdn.net/Jailman/article/details/77847309
中間人劫持攻擊已經屢見不鮮了,惡意攻擊者可以竊聽路由和交換機,對你目前的操作一清二楚。
除了ssl/tsl加密通信的竊聽難度較高外,其他的通路位址,内容等攻擊者都可以了如指掌。
DNS抓包是了解你通路位址的一個重要途徑,然而DNS是基于UDP,幾乎是公開透明的通信。
為了防止DNS被攻擊者抓包進而擷取我們的操作行為,我們可以使用dnscrypt來對DNS進行加密。
我們首先下載下傳dnscrpt,位址:
https://github.com/opendns/dnscrypt-win-client.git
這個軟體的功能就是将DNS的請求通過代理本地的53端口,再通過加密通信給遠端DNS伺服器的443端口處理。是以這個軟體啟動後我們要将DNS設定為127.0.0.1才能生效
為了友善需要時切換内網DNS,寫兩個切換腳本。
切換預設DNS
@echo off
rem 管理者權限運作
mode con lines=30 cols=60
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
taskkill /IM dnscrypt-proxy.exe
netsh interface ip set dns name="以太網" source=dhcp
使用加密DNS
@echo off
rem 管理者權限運作
mode con lines=30 cols=60
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
start dnscrypt-proxy.exe
netsh interface ip set dns name="以太網" source=static addr=127.0.0.1 register=primary
由于win10的限制比較嚴格,是以我們需要腳本中有以管理者身份運作的代碼。
之後我們啟動dns加密通信,然後對53的udp端口抓包就會發現沒有通信了,然後對遠端伺服器的443抓包就會發現每次通路都有資料包産生,是ssl加密的,說明DNS加密通信已經生效了。
腳本和DNSCrypt可以從以下位址下載下傳:
DNSCrypt和腳本下載下傳位址