Shellcode
此条目没有列出任何参考或来源。 (2021年11月2日) |
shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制之机械码,以其经常让攻击者获得shell而得名。shellcode常常使用机器语言编写,由于现代电脑系统基本上启用NX位元保护使得机械码无法直接执行,可透过返回导向编程编写shellcode。 可在暂存器eip溢出后,塞入一段可让CPU执行的shellcode机械码,让电脑可以执行攻击者的任意指令。
分类
shellcode可以按照攻击者执行的位置分为本地shellcode和远程shellcode.
本地shellcode
本地运行的shellcode经常用于利用软件漏洞提升权限。比如在Linux下由普通权限提升至root权限。
远程shellcode
通过使用抓包程式抓取封包并查找封包内的漏洞特征,再经由C、Python、ruby (metasploit)撰写远端攻击程式,这类漏洞如果发生在内核空间,如路由器等嵌入式系统上的可载入核心模组,或是服务器讯息区块协议的实作漏洞,如永恒之蓝,则可以取得对方电脑之root或SYSTEM权限。如果漏洞发生在用户空间的程式,只能取得此处理程序的使用者权限,除非在本地运行特权提升漏洞利用,或是程序本身就有root权限。
这是一篇与软件相关的小作品。您可以通过编辑或修订扩充其内容。 |