Metasploit MSFrop

用MSFrop搜索代码漏洞

在您开发针对Windows操作系统较新版本的漏洞攻击时,您会发现它们现在默认启用了数据执行保护(DEP)。DEP可防止shellcode在堆栈上执行,并迫使开发人员找到解决此问题的方法,并开发了所谓的“ 返回编程”(Return Oriented Programming,ROP

面向返回程编程(ROP)是一种计算机安全漏洞利用技术,允许攻击者在存在安全防御(如可执行空间保护和代码签名)时执行代码。

在这种技术中,攻击者获得对调用堆栈的控制来劫持程序控制流程,然后执行已经存在于机器内存中的精心挑选的机器指令序列,称为“小配件或小工具”。每个小工具通常以返回指令结束,并位于现有程序和/或共享库代码内的子例程中。将这些小工具链接在一起时,攻击者可以在采用阻止更简单攻击的防御措施的计算机上执行任意操作。

 

一个ROP,通过使用从非ASLR指令预先存在的套创造了有效载荷启用二进制文件,使你的shellcode执行。每组指令都需要以RETN指令结束,以便通过每组指令来执行ROP链,每组指令通常称为小工具。

 

Metasploit中的“msfrop”工具将搜索给定的二进制文件并返回可用的小工具。

root @ kali:#msfrop -h

选项:
    -d,--depth [size]           从返回指令向后反汇编的最大字节数
    -s,--search [regex]         搜索匹配正则表达式的小工具,匹配intel语法或原始字节
    -n,--nocolor                禁用颜色。用于管道到其他工具,如越来越少的命令
    -x,--export [filename]      将小工具导出为CSV格式
    -i,--import [filename]      从以前的集合导入小工具
    -v,--verbose                输出非常详细
    -h,--help                   显示此消息

 

使用-v开关运行msfrop会将所有找到的小工具直接返回到控制台:

root@kali:/tmp# msfrop -v metsrv.dll 
Collecting gadgets from metsrv.dll
Found 4829 gadgets

metsrv.dll gadget: 0x10001057
0x10001057:	leave
0x10001058:	ret

metsrv.dll gadget: 0x10001241
0x10001241:	leave
0x10001242:	ret

metsrv.dll gadget: 0x1000132e
0x1000132e:	leave
0x1000132f:	ret

metsrv.dll gadget: 0x1000138c
0x1000138c:	leave
0x1000138d:	ret
...略...

 

当二进制文件包含数千个小工具时,详细的msfrop输出不是特别有用,所以更有用的开关是' -x ',它允许您将小工具输出到CSV文件中,然后您可以稍后进行搜索。

root@kali:/tmp# msfrop -x metsrv_gadgets metsrv.dll 
Collecting gadgets from metsrv.dll
Found 4829 gadgets

Found 4829 gadgets total

Exporting 4829 gadgets to metsrv_gadgets
Success! gadgets exported to metsrv_gadgets
root@kali:/tmp# head -n 10 metsrv_gadgets 
Address,Raw,Disassembly
"0x10001098","5ec20c00","0x10001098: pop esi | 0x10001099: ret 0ch | "
"0x100010f7","5ec20800","0x100010f7: pop esi | 0x100010f8: ret 8 | "
"0x1000113d","5dc21800","0x1000113d: pop ebp | 0x1000113e: ret 18h | "
"0x1000117a","5dc21c00","0x1000117a: pop ebp | 0x1000117b: ret 1ch | "
"0x100011c3","5dc22800","0x100011c3: pop ebp | 0x100011c4: ret 28h | "
"0x100018b5","5dc20c00","0x100018b5: pop ebp | 0x100018b6: ret 0ch | "
"0x10002cb4","c00f9fc28d54","0x10002cb4: ror byte ptr [edi], 9fh | 0x10002cb7: ret 548dh | "
"0x10002df8","0483c20483","0x10002df8: add al, -7dh | 0x10002dfa: ret 8304h | "
"0x10002e6e","080bc20fb6","0x10002e6e: or [ebx], cl | 0x10002e70: ret 0b60fh | "
root@kali:/tmp#

 

注意:对于新版本的kali linux,msfrop或许已经不能使用了!msfrop

    A+
发布日期:2018年05月28日 12:12:57  所属分类:Metasploit
最后更新时间:2018-05-28 12:12:57
付杰
  • ¥ 388.0元
  • 市场价:388.0元
  • ¥ 69.0元
  • 市场价:69.0元
  • ¥ 169.0元
  • 市场价:299.0元
  • ¥ 149.0元
  • 市场价:299.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: