PS:以前寫的一個文章,如今發現結構內容排版不是太好,致使閱讀體驗太差,影響傳播和SEO,因此如今整理拆分一下,從小處寫起,前端
本系列介紹了兩個關於智能路由器的hack技術,供你們賞玩一下。linux
本文提到的兩個基於網絡的hack技術:nginx
基本本質上就是路由器設備的兩個主要網絡功能:git
可是用於軟件開發的正途,就變換成下面的說法:github
因爲你們可能對 惡做劇 比較興趣一些,因此就從hack的角度把內容抽取出來寫吧。web
OpenWrt 能夠被描述爲一個嵌入式的 Linux 發行版,(主流路由器固件有 dd-wrt,tomato,openwrt三類)而不是試圖創建一個單一的、靜態的系統。OpenWrt的包管理提供了一個徹底可寫的文件系統,從應用程序供應商提供的選擇和配置,並容許您自定義的設備,以適應任何應用程序 [1] 。編程
智能路由器也就是智能化管理的路由器,一般具備獨立的操做系統,能夠由用戶自行安裝各類應用,自行控制帶寬、自行控制在線人數、自行控制瀏覽網頁、自行控制在線時間、同時擁有強大的USB共享功能,真正作到網絡和設備的智能化管理 [2]。瀏覽器
近幾年,智能硬件設備蓬勃發展,智能路由器也開始從實驗室走了出來,開始商業化,目前市場上已經出現了各類主流品牌廠商的智能路由器。例如國內的:極路由,小米路由器,華爲智能路由系列……安全
用戶只需以較低的價格就能夠入手體驗到硬件配置良好齊全的智能網絡硬件設備了。bash
[1] | Openwrt-百度百科 |
[2] | 智能路由器-百度百科 |
備註
如今市場上的商用路由器,價格上遠低於一臺主機電腦,而後網絡功能齊全,且帶有大容量的硬盤,只要刷成openwrt以後,就能夠擁有本身的私有的git服務器或者文件服務器了。
在正式開始實驗以前,要作一些準備工做:
具體的openwrt支持硬件設備列表見 官方文檔 [3] 。
關於各類品牌的路由器如何刷ROM,能夠到網上找各類教程,本文主要側重openwrt後的應用,故刷機過程略去。
備註
本文是在小米官網購買的 小米路由mini ,而後根據教程刷成基於 openwrt 訂製的 pandorabox
刷機成功後,就能夠經過PC機遠程路由了,就像遠程一臺普通的linux服務器同樣,遠程登陸後,路由器終端界面提示以下:
基本的文件操做,網絡操做等命令和普通Linux相似。同時openwrt也能夠經過軟件倉庫安裝應用軟件,具體參見 openwrt軟件包管理 [4]。
例如,安裝 nginx 應用程序:
opkg install nginx
上面對openwrt的基本知識進行了簡單介紹,後面開始一些綜合應用了。
[3] | Openwrt Table of Hardware <http://wiki.openwrt.org/toh/start> |
[4] | openwrt軟件包管理 <http://wiki.openwrt.org/doc/packages> |
關於DNS的定義,在此再也不贅述。其功能簡單來講:就是網絡應用程序在向某個域名請求內容時,其實並非直接向真實的主機發送,而是先向域名服務器進行查詢,獲得對應的IP地址,而後才指向具體的主機上的服務進行請求。
基於以上的原理,如何進行DNS劫持就變得很容易了:只須要修改機器的DNS解析,就能夠設計出本身想要的網絡集羣組合了。
有兩種方式進行修改:
修改本機hosts,不使用額外的DNS服務器
創建DNS服務器並進行解析設置
直接修改上網設備因爲對當事人的私有設備進行了比較深刻的入侵,門檻較高,因此可行性不高。還不如把對方引誘到本身的網絡領地,即接入到本身的WIFI或者有線網絡裏面。
能夠經過DNS服務器及網關配置,實現同一路由器(網關)下全部機器的網絡統一配置。
在linux系統中使用 dnsmasq 配置一臺DNS應用服務器。
而後在網關上設置相應的DNS服務器,新的主機接入到此網關(物理表現爲路由器)以後,由DHCP分配IP地址和DNS服務器地址。過程以下圖所示:
對於智能路由器來講,自己就至關於一臺linux主機,因此能夠直接在本機上安裝DNS服務器,並設置DHCP。 通常狀況下,openwrt裏面自然集成了dnsmasq。
對 /etc/config/network 文件進行編輯,就能夠設置DHCP,修改相應的代碼段:
config interface 'lan' …… option dns '127.0.0.1 223.5.5.5 223.6.6.6'
固然對於不熟悉linux的同窗來講,也能夠經過openwrt提供的web管理界面進行設置,在此略去不表。
通過上述配置,後續全部鏈接到此路由下面的設備,都由路由統一分配DNS服務器了。
全部鏈接在此路由器上的設備,不論是移動設備,仍是服務器仍是PC都有統一的網絡配置。
若是要對整個局域網進行網絡修改,只需登陸DNS服務器(此處就是智能路由器)。
修改 /etc/hosts 加上域名IP映射記錄,而後執行下述命令重啓dnsmasq服務便可:
/etc/init.d/dnsmqsq restart
在客戶機上執行 ping命令檢查一下相應的域名,通過特殊指向的域名返回的都是路由器配置的IP地址了(非特殊設定的,由備用DNS服務器來進行解析,因此其它公網服務仍然正常)。
基本上,只要如上圖鏈接到了你的智能路由器的全部上網設備,都已經在你的掌控之下了,你想劫持就能劫持了。
具體的操做手段以下:
例如,修改路由器的hosts映射:
127.0.0.1 www.baidu.com
而後在瀏覽器輸入 百度 的域名,出來的就是下圖(本機已經事先安裝了nginx的web服務器了):
使用瀏覽器的前端調試工具能夠看出此域名的實際解析主機已經再也不是 百度 的真實服務器,而是nginx的默認主頁:
若是hack作一個高仿的 百度 主頁,再作一些簡單的搜索引擎,那麼基於目前都依靠百度來做爲互聯網導航的廣大小白網民來講,殺傷力仍是蠻巨大的。
說明
其實對於喜歡hack技術的人來講,上面的技術其實就是 」DNS劫持技術「 了。稍微再加一點東西,就能夠作成假裝度很高的釣魚網站,再加一點社會工程學和人類心理學的知識(將上網設備引誘到你的網絡領域來),就能產生比較強的破壞力了。因此懂技術的同窗請不要作違法的事;不懂技術的同窗請注意防範此類的hack技術,不要輕易將設備接入陌生人的網絡領地。
技術加一點社會工程學,hack作以下事情:
盜取支付信息
例如:將提交密碼的服務器修改爲hack服務器
免費WIFI,無密碼
即便用戶不是小白,是IT從業人員,記得支付寶的域名,而後輸入了域名,確認進入瞭如出一轍的支付頁面,進行登陸
用戶發現進入支付寶頁面後,即便輸入正確的密碼也沒法登陸進去,因而放棄
而後hacker已經獲取了用戶的相應的用戶名及密碼了,進行後續工做
DNS劫持和頁面複製,可讓用戶在瀏覽器輸入了正確的域名,並且瀏覽器顯示瞭如出一轍的 真實 頁面,只是你輸入帳號密碼後,不能登陸而已。
QQ詐騙
可能你們以爲手段比較低端,可是做爲一個還算資深的IT從業人員,我的仍是有過相應的經歷。
事件1
有人在QQ上發消息,說QQ空間有難以想象的照片,習慣性點擊過去,是QQ空間相冊界面,和登陸彈出框。相冊封面內容很吸引人,可是我仍是出於職業習慣,看了一下瀏覽器的域名,發現不是QQ空間域名,因而笑了笑,關閉了窗口。
事件2
好久沒有聯繫的一個朋友,在QQ忽然向我發消息:麻煩你給我爸爸打個電話說我手機掉廁所了,讓他給我匯500塊錢過來一下,急。首先這不是讓我直接匯款,緊急間,我差點給打了電話,差點成爲對方做爲博取別人信任的籌碼了。還好,我並不知道他的爸爸的電話,遲疑的一瞬間讓我清醒了一下,讓他說他爸爸的名字,結果他說不出來。。。。
因此,上述方法其實不必定低端,一旦加入高深的社會工程學和人類心理學的知識,產生的社會危害仍是蠻大的。還有,上面的那些信息的分析和收集過程,是能夠經過編程自動化實現的,線下只須要不斷的設局,就會有必定的轉化率的。
其它的也再也不說,偏離本文主旨了,但願可以引發你們的網絡安全意識就行了吧。
後面再補充一點東西后,整理後續內容「Openwrt智能路由器的網絡數據抓包和監控」,以增長你們的公共上網安全意識。
做者: | Harmo哈莫 |
---|---|
做者介紹: | https://zhengwh.github.io |
技術博客: | http://www.cnblogs.com/beer |
Email: | dreamzsm@gmail.com |
QQ: | 1295351490 |
時間: | 2015-10 |
版權聲明: | 歡迎以學習交流爲目的讀者隨意轉載,可是請 【註明出處】 |
支持本文: | 若是文章對您有啓發,能夠點擊博客右下角的按鈕進行 【推薦】 |