shellcode是一段用於利用軟體漏洞而執行的代碼,shellcode為16進位之機械碼,以其經常讓攻擊者獲得shell而得名。shellcode常常使用機器語言編寫。可在暫存器eip溢出后,塞入一段可讓CPU執行的shellcode機械碼,讓電腦可以執行攻擊者的任意指令。
shellcode可以按照攻擊者執行的位置分為本地shellcode和遠程shellcode.
本地運行的shellcode經常用於利用軟體漏洞提升許可權。比如在
Linux下由普通許可權提升至
root許可權。
藉由抓軟體漏洞獲得特定的shellcode,再經由C或
Python撰寫遠端攻擊程式,進而取得對方電腦之root許可權。