滲透測試中POC、EXP、Payload與Shellcode的區別(轉)

原文地址:https://howiezhao.github.io/2018/04/29/payload-shellcode-exp-poc/

1. POC、EXP、Payload與Shellcode

POC,全稱”Proof of Concept”,中文“概念驗證”,常指一段漏洞證明的代碼。

EXP,全稱”Exploit”,中文“利用”,指利用系統漏洞進行攻擊的動作。

Payload,中文“有效載荷”,指成功exploit之後,真正在目標系統執行的代碼或指令。

Shellcode,簡單翻譯“shell代碼”,是Payload的一種,由於其建立正向/反向shell而得名。

2. 幾點注意

PoC是用來證明漏洞存在的,Exp是用來利用漏洞的,兩者通常不是一類,或者說,PoC通常是無害的,Exp通常是有害的,有了PoC,纔有Exp。

Payload有很多種,它可以是Shellcode,也可以直接是一段系統命令。同一個Payload可以用於多個漏洞,但每個漏洞都有其自己的Exp,也就是說不存在通用的Exp。

Shellcode也有很多種,包括正向的,反向的,甚至meterpreter。

Shellcode與Shellshcok不是一個,Shellshock特指14年發現的Shellshock漏洞。

3. Payload模塊

在Metasploit Framework 6大模塊中有一個Payload模塊,在該模塊下有Single、Stager、Stages這三種類型,Single是一個all-in-one的Payload,不依賴其他的文件,所以它的體積會比較大,Stager主要用於當目標計算機的內存有限時,可以先傳輸一個較小的Stager用於建立連接,Stages指利用Stager建立的連接下載後續的Payload。Stager和Stages都有多種類型,適用於不同場景。

4. 總結

想象自己是一個特工,你的目標是監控一個重要的人,有一天你懷疑目標家裏的窗子可能沒有關,於是你上前推了推,結果推開了,這是一個PoC,於是你回去了,開始準備第二天的滲透計劃,第二天你通過同樣的漏洞滲透進了它家,仔細查看了所有的重要文件,離開時還安裝了一個隱蔽的竊聽器,這一天你所做的就是一個Exp,你在他家所做的就是不同的Payload,就把竊聽器當作Shellcode吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章