2013年12月21日 星期六

關於 Metasploit Framework 的 exploit, payload, auxiliary

這篇無關 metasploit 的技術,如果您已是高手,可以直接略過!
剛開始學 metasploit 時,只看著老師如何 search,然後選一個 exploit,接著set , set payload, exploit,那時候還搞不清楚 exploit payload 是什麼東東,只覺得好神! 這樣就可以入侵別人的電腦 ~~~
這種起子只有一個柄,但可以更換不同的起子頭之後自學,買了幾本書,書上把 exploit  翻成漏洞利用,把 payload 翻成載荷,結果是看了中文還是不知其意,所以想用自己的方式來理解,老師說 metasploit 像是一把可以填充各種子彈的槍,而exploit 就像子彈,可是很難跟現實連想起來,有哪一種槍是可以填充各類子彈的? 漸漸地,發覺更貼切來講,metasploit 像是執行滲透任務的瑞士刀,而exploit 是可以開啟漏洞的鑰匙,這組鑰匙可以因應不同漏洞而更換。
exploit開了漏洞的門,提著就是將payload送到目標家裡,payload可以想像成遙控機器人,透過它,可以在目標區域內進行想要的作業,發明 metasploit 的人(HD Moore)實在太聰明了,他把 exploit payload 分開,這樣就可因應不同的需要,做適當的組合應用。
雖然有了exploit payload 就可完成入侵作業,但「有時」我們想進一步探索或操控目標,auxiliary 就提供了很好的擴充性,所以auxiliary 可以想成是擴充功能,因為 auxiliary 是一群 Ruby 程式,可以在 Ruby 的解譯器上執行,所以它可以擴充對目標的作業(透過 payload 傳送到目標機器上執行),也可以擴充 metasploit 的功能(在本端的metasploit環境執行)
再次讚嘆 HD Moore 的睿智,就算不會自己開發工具,透過 metasploit  也可以做很專業的滲透測試,如果會用 Ruby,也可以自己因應特殊需求開發專用的 auxiliary,讓  metasploit  的擴展有了無限可能!
Metasploit Framework 有 msfconsole(最完整支援)、msfcli、Web 幾種操控模式,另外還有 msfpayload 及 msfencode 可以編製獨立的 palyload,利用社交工程方式傳給目標執行(當然是騙它執行囉!),上圖就是 msfconsole 執行後的畫面!
PS: 螺絲起子的圖是借自 http://tw.bid.yimg.com/pimg1/e6/a2/p0115897118-item-9314xf1x0300x0300-m.jpg ,若有侵權,請通知我移除!

1 則留言: