一、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/n/330053.html