📑 Table of Contents

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權限。

📚 Artikel Terkait di Wikipedia

路过式下载

eX的下載及安裝API沒有妥善檢查它的參數,並允許了下載和執行來自網路上的任意檔案。第二種則是先編寫Shellcode到記憶體,然後利用瀏覽器或是插件的漏洞執行Shellcode,當Shellcode被執行之後攻擊者就可以進行下一步的惡意行為,像是下載惡意軟體或是竊取資料。 惡意廣告 廣告欺詐 WMF文件格式漏洞

栈缓冲区溢出

失效,但本身也有缺點。首先,很容易找到方式將shellcode儲存在不受保護的記憶體區(例如heap),而且幾乎不用修改其利用方式。 就算上述方式無效,也有其他的方式。最不好處理的是所謂的Return-to-libc攻击,以此方式產生 shellcode。此攻擊方式中,會將惡意內容用一般的呼叫堆疊

Metasploit

Metasploit项目最为知名的子项目是开源的Metasploit框架,一套针对远程主机进行开发和执行“exploit代码”的工具。其他重要的子项目包括Opcode数据库、shellcode档案、安全研究等内容。 Metasploit项目知名的功能还包括反取证与规避工具,其中的某些工具已经内置在Metasploit Framework里面。

网络安全

Fork炸弹 Zip 炸弹 欺詐撥號器(英语:dialer) 恶意软件 负载 钓鱼式攻击 多型引擎 特权提升 勒索軟體 Rootkit 恐嚇軟體 Shellcode 濫發電子訊息 社会工程学 屏幕抓取(英语:Screen scrape) 间谍软件 程序错误 特洛伊木马 硬體木馬(英语:Hardware Trojan)

缓冲区溢出

(PDF) Chapter 12: Writing Exploits III (页面存档备份,存于互联网档案馆) from Sockets, Shellcode, Porting & Coding: Reverse Engineering Exploits and Tool Coding for Security

殭屍網絡

Fork炸弹 Zip 炸弹 欺詐撥號器(英语:dialer) 恶意软件 负载 钓鱼式攻击 多型引擎 特权提升 勒索軟體 Rootkit 恐嚇軟體 Shellcode 濫發電子訊息 社会工程学 屏幕抓取(英语:Screen scrape) 间谍软件 程序错误 特洛伊木马 硬體木馬(英语:Hardware Trojan)

漏洞

Fork炸弹 Zip 炸弹 欺詐撥號器(英语:dialer) 恶意软件 负载 钓鱼式攻击 多型引擎 特权提升 勒索軟體 Rootkit 恐嚇軟體 Shellcode 濫發電子訊息 社会工程学 屏幕抓取(英语:Screen scrape) 间谍软件 程序错误 特洛伊木马 硬體木馬(英语:Hardware Trojan)

多因素身份验证

Fork炸弹 Zip 炸弹 欺詐撥號器(英语:dialer) 恶意软件 负载 钓鱼式攻击 多型引擎 特权提升 勒索軟體 Rootkit 恐嚇軟體 Shellcode 濫發電子訊息 社会工程学 屏幕抓取(英语:Screen scrape) 间谍软件 程序错误 特洛伊木马 硬體木馬(英语:Hardware Trojan)