參考:https://blog.csdn.net/weixin_43625577/article/details/92643949
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。之后你回去了,開始准備第二天的滲透計划,第二天你通過同樣的漏洞滲透進了它家,仔細查看了所有的重要文件,離開時還安裝了一個隱蔽的qie ting qi,這一天你所做的就是一個EXP,你在他家所做的就是不同的Payload,就把qie ting qi當作Shellcode吧!