分析cve-2018-15982常用windbg命令

windbg附加IE后,设置flash模块加载断点

sxe ld Flash32_30_0_0_113.ocx

内存访问断点,Flash漏洞利用代码,通过任意地址读写,泄露一个Flash Object 虚表函数地址,
通过计算虚表函数地址,可以定位到Flash模块基址。
从Flash模块的导入表中获取kernel32.dll模块以及VirtualProtect函数地址,
通过覆盖虚表,执行VP,修改栈上的shellcode变量内存属性,再将栈变量覆盖给虚表函数
并执行

ba r 4  flash模块基址 ".if(eip<Flash模块结束地址){.echo \"shellcode\"}.else{g}"

VirtualAlloc条件断点,申请shellcode变量内存时断下

bp kernel32!VirtualAlloc ".if((poi(@esp+4*2)==6000)){.printf \"lpAddress=0x%08x dwSize=0x%08x flAllocationType=0x%08x flProtect=0x%08x\\n\",poi(@esp+4),poi(@esp+4*2),poi(@esp+4*3),poi(@esp+4*4);.echo hit!!! }.else{gc}; "

VirtualProtect条件断点,修改shellcode内存属性时断下

bp kernel32!VirtualProtect ".if((poi(@esp+4*3)==40)&(poi(@esp+4*2)==57e0)){.printf \"addr=0x%08x size=0x%08x newProtect=0x%08x\\n\",poi(@esp+4),poi(@esp+4*2),poi(@esp+4*3);.echo hit!!! }.else{gc}; "

创建进程时断下

bp ntdll!NtCreateUserProcess
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值