作者:Fooying
原文鏈接:https://www.fooying.com/talk-about-poc-framework-and-pocsuite/
時間:2015年9月7日
編者按——
今天分享的是一篇舊文,來自 Fooying,2015年他在知道創宇404實驗室負責 Pocsuite 時寫下了這篇文章,文中 Sebug 為 Seebug漏洞平臺前身。
先說明下,本文僅代表我自己的觀點,從自己多年搞安全自動化、安全研究角度聊聊,先做聲明,再寫文章,怕自己控制不住自己情緒,哈哈。
在知乎上看到有人提問說對于我們開源 Pocsuite 怎么看(關于知道創宇的 Pocsuite 開源你怎么看? - 知道創宇),我做了回答,想想,寫一篇文章,順便談談我對 Pocsuite 開放的想法。
先來說說國內的幾款框架
就我目前知道的國內的幾個可以提交 PoC 的平臺有 Beebeeto、Tangscan、Bugscan 以及我們自己的 Sebug。時間的先后順序就不提了,因為搞不準哪個平臺早就內部在測試,我在這里要是說誰先出的,到時說不定就說錯了,所以這個先后順序就不說了。
分別來看看
首先是 Beebeeto,Beebeeto 誕生于我們公司的實習生宿舍,記得去年的時候,我有段時間臨時住在公司實習生宿舍,然后那時候蘑菇想到 Beebeeto 的點子,幾個人還一起討論各種策略,想各種名字,最終名字也是由蘑菇想出來,然后開發平臺,最終推出 Beebeeto。
Beebeeto 平臺本身就不多做討論,來看看 Beebeeto 的框架,分別有 Beebeeto-framework 和 Beehive,跟 Pocsuite 一樣,前者是基礎的 PoC 編寫 SDK,而后者是一個調用利用框架,兩者都是開源的。Beebeeto 的兩個框架的結合起來與 Pocsuite 類似,同時基本 SDK 也分為 verify 和 attack 模式。
Beebeeto 的框架本身我就不做評價了,經常有人問我,Sebug 跟 Beebeeto 有啥區別,存不存在競爭關系啥的,其實 Beebeeto 本身專注于 PoC,而對于 Sebug,PoC 只是一部分,而且蘑菇本身是我們團隊的,所以我就不多做評價。
然后還有 Tangscan,Tangscan 目前框架的目的主要是方便大家基于框架編寫 PoC 然后提交到 Tangscan 平臺,也是開源的,模式大同小異,目前開源部分只看到基本的 SDK,沒有看到調用部分,大概的看了 Tangscan,也是有 verfiy 和 Attack 模式,多多少少都類似。
然后就是 bugscan,目前是四葉草團隊運營,就我下載的 SDK 來看,里面有個基本類文件是common.pyc,是編譯過后的文件,所以也就算不上開源,bugscan 有個挺好的點,就是他們的框架追求使用 Python 自帶庫,這樣就不用安裝額外的庫了,同時也方便跨平臺,這種產品的追求,必須贊一下。
其實,漏洞盒子也推出了一個網藤掃描器好像,但是沒有開放相關的框架,所以這里就不多說了。
最后再來說說我們的 Pocsuite 然后談談我對 Pocsuite 的想法,因為現在整個漏洞社區都是我在負責,其中也包括 Pocsuite 的發展之類的。
先介紹下 Pocsuite 把,在這之前先夸夸我們負責 Pocsuite 開發的幾位同學,還有歷史上團隊里給 Pocsuite 做過貢獻的所有同學,以及幾位圈內朋友對 Pocsuite 的建議等,特別是有一位朋友,還不讓我透露名字,也不讓寫入感謝列表。
然后用一句話來介紹下 Pocsuite,Pocsuite 是 知道創宇安全研究團隊打造的一款基于漏洞與 PoC 的遠程漏洞驗證框架。
在8月22日的 KCon 黑客大會當天公布了我們的漏洞社區計劃,同時也宣布開放了我們的 PoC 標準,開源了 Pocsuite。其實 Pocsuite 的開源,我代表了我們一種態度,把一些我們內部的東西開放共享給大家。
說實在,搞安全的團隊,應該多多少少有這樣一個框架或者至少有一個寫 PoC 的基礎類,為什么?因為當 PoC 寫多了,你總能總結出一些相通的東西,然后整理成一個基礎類或者框架的東西。 知道創宇安全研究團隊成立于公司創立之初,也就是2007年,基本也是在沒多久應該就有了 Pocsuite,只是當初可能不叫這個名字,也只是一個基礎類而已。這么多年來,我們一直在打磨這款框架,大家可以看到我們我們團隊在每次漏洞的應急中都很及時,除了有 ZoomEye 的能力之外,當然也少不了 Pocsuite 的功勞。 PoC 的編寫在我們安全研究團隊是每個人必備的技能之一。
現在類似的框架肯定不止我們一個,比如上面說的 Tangscan、Beebeeto、bugscan 等等,這些平臺我不多做評價,不過大家應該都有一套自己的框架,而跟這三者有什么區別呢?可能有的同學會問,別人都搞了,你們再搞有啥意義?其實我們不在乎別人是出于什么目的開發了這樣一款框架,我們的目的很簡單,我可以很明白的告訴大家,我們當然希望大家都基于這個框架寫 PoC,這樣的話,當然是有利于我們(其實同樣利于別人,因為我們最終把 PoC 開放了),我們從來不否認說開放這樣一個框架是有利于我們,本身開放博得好的名聲,這也算一種好處,或者其他的;但是同樣的,越多的 PoC 基于這個框架編寫,越利于 PoC 的傳播,以及大家拿到 PoC 后的閱讀和學習成本會越來越低。用我自己之前說過的話來總結,希望這框架既然開放了,就真正的是大家所想用的,希望能站在大家的角度,站在白帽子的角度,真的做好這款框架,讓它真正的好用,為大家所用,而不僅僅是站在我們的角度。至于別人搞了,為什么我們還搞?我想不存在這樣的問題,因為我們這框架早就有了,只是現在開放、開源出來了而已,我們希望把我們團隊的東西、能力更多的開放給大家,僅此而已。而且,拋開這個問題不說,我想多幾個框架也好,這樣能不斷互相促進嘛。
這框架由兩部分組成,第一部分,也是其他比如 Tangscan、Beebeeto、bugscan 都有的,即 PoC 編寫的 SDK,第二部分也就是自動化的調用測試,讓大家都有測試漏洞的能力。關于說有同學提到,只有基于 Pocsuite 寫的 PoC 越多,才能發揮威力,我想不是問題,先不說現在社區在發展,很多同學提交了基于 Pocsuite 的 PoC,本身我們內部一直以來都是基于 Pocsuite 進行 PoC 開發,這些 PoC 目前大家已經能在 Sebug 上看到部分,其他的我們也有考慮慢慢的開放出去。
另外,說真的,我們是真心的希望把我們自己的能力開放給大家,考慮部分安全人員可能沒有編碼能力,我們開發了支持 JSON 文件的 PoC 的形式,不用編寫代碼,寫一個 JSON 文件,設置一些項的值就可以是一個 PoC,這應該是我們創新的,以上幾個平臺都沒有的。目的就是為了方便大家編寫 PoC,因為說實在的,這樣一個功能的支持對于我們團隊來說沒有意義,因為大家都會編碼寫 PoC,但我們還是開發出這樣一個功能,理由很簡單,Pocsuite 不止是我們的框架,也是一個開源項目,就像我上面說的,希望這個框架是真正大家所想用的,大家在寫 PoC 的時候自然而然能基于這個框架編寫,所以我們不會只站在我們角度去開發 Pocsuite,我們最終的目的是讓這個框架好用、易用、易懂。
其實,昨天有看到有同學給我截圖某個甲方安全團隊的某位同學在朋友圈發言說我們的框架跟他們有 80% 相似的,說被模仿也是一種認可,這個我不做評價,只想說幾點事實:你們都沒開源,我們去哪里抄你們?我們這個框架很早就有了,那時候你們都還沒開始搞這方面的事呢。然后,不知道這位同學是不是新來的,不知道他知不知道我們團隊曾經把我們的整套 PoC 包含 Pocsuite 同步過給他們,然后不要拿了不認賬,后來的翻臉就不多說,反正事實是怎樣就怎樣,昨天看到朋友截圖我也只是回了句,呵呵。
其實我就順便吐槽下,實際上,要去討論誰先誰后有啥意義,借用 COS 的話,什么誰先誰后,勝者為王,努力做好自己,打造每一個細節的最佳用戶體驗,用心做好產品是關鍵!而我們也將用心打造好 Pocsuite。
最后,歡迎更多的人加入這個框架的開發,歡迎有能力的同學參與進 Pocsuite 發展路線的討論以及進行代碼的貢獻,大家如果有什么意見,隨時可以通過 Sebug 群等渠道反饋給我!
另外,以上有什么講的不對的地方,歡迎大家反饋給我!
然后附上 Pocsuite 項目地址:https://pocsuite.org
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1570/
暫無評論