一、ROPgadget命令
ROPgadget是一個強大的工具,可以自動尋找程序中可以被利用的gadget(一個由幾個指令構成的代碼序列,可以在攻擊中被用來執行任意代碼)。由於gadget通常被用於堆棧溢出攻擊,ROPgadget還可以根據給定的文件查找ROP鏈。以下是ROPgadget的基本命令:
$ ropgadget --binary binary_file
這個命令會輸出二進位文件中所有可利用的gadget。可以通過不同的選項來過濾gadget列表,例如:
$ ropgadget --binary binary_file --only "pop|ret"
這個命令只輸出包含”pop”或”ret”指令的gadget。這個命令也可以指定輸出符合條件的gadget數量,例如:
$ ropgadget --binary binary_file --only "pop|ret" --count 10
這個命令只輸出前10個包含”pop”或”ret”指令的gadget。
二、ROPgadget ropchain
ROP鏈是由一系列ROPgadget構成的一個代碼序列。ROP鏈的目的是滿足攻擊者的要求,例如,在堆棧溢出攻擊中,攻擊者可以構建一個ROP鏈,通過執行一系列gadget來執行任意代碼,包括獲取root許可權和執行shell命令。ROPgadget提供了一個稱為ropchain的工具,可以自動構建ROP鏈:
$ ropchain --binary binary_file --ropfile rop_file --badbytes "01 02 03"
這個命令將構建一個ROP鏈,其中使用binary_file中找到的gadget,將它們以正確的順序放在一起,然後編寫一個ROP鏈到rop_file中。badbytes選項是可選的,它用於過濾ROP鏈中不能使用的位元組。
三、ROPgadget下載
您可以在ROPgadget的官方網站上下載二進位文件和源碼:
$ wget https://github.com/JonathanSalwan/ROPgadget/archive/master.zip $ unzip master.zip
四、ROPgadget怎麼安裝
安裝ROPgadget需要Python和PyParsing模塊。您可以通過以下命令安裝:
$ sudo apt-get install python python-pip $ sudo pip install capstone pyparsing $ git clone https://github.com/JonathanSalwan/ROPgadget.git $ cd ROPgadget $ sudo python setup.py install
五、ROPgadget查找函數地址
使用ROPgadget可以快速查找函數地址,例如:
$ ropgadget --binary binary_file --only "pop|ret" | grep -E "pop eax ; ret"
這個命令將搜索binary_file中生成eax寄存器值的gadget,並列出所有包含”pop eax; ret”指令的gadget。
六、ROPgadgets
以下是一些與ROPgadget相關的有用工具:
- ROPGoblin:一個互動式的ROP鏈工具,可以用於自動化構建ROP鏈。
- ROP-Injector:一款用於在運行中的進程中注入ROP鏈的工具。
- Ropper:另一個查找gadget和構建ROP鏈的工具。
七、完整代碼:
安裝ROPgadget:
$ sudo apt-get install python python-pip $ sudo pip install capstone pyparsing $ git clone https://github.com/JonathanSalwan/ROPgadget.git $ cd ROPgadget $ sudo python setup.py install
使用ROPgadget查找函數地址:
$ ropgadget --binary binary_file --only "pop|ret" | grep -E "pop eax ; ret"
使用ROPgadget構建ROP鏈:
$ ropchain --binary binary_file --ropfile rop_file --badbytes "01 02 03"
相關工具:
- ROPGoblin: https://github.com/AndrewFasano/ROPGoblin
- ROP-Injector: https://github.com/landhb/ROP-Injector
- Ropper: https://github.com/sashs/Ropper
原創文章,作者:IGETB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330053.html